# ChangeLog for app-text/texlive-core
# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/app-text/texlive-core/ChangeLog,v 1.231 2015/07/30 15:50:29 aballier Exp $

  30 Jul 2015; Alexis Ballier <aballier@gentoo.org> texlive-core-2015.ebuild,
  metadata.xml:
  make luajittex optional, bug #542620

  22 Jul 2015; Anthony G. Basile <blueness@gentoo.org>
  texlive-core-2014-r4.ebuild:
  Stable for ppc, bug #550840.

  16 Jul 2015; Alexis Ballier <aballier@gentoo.org> texlive-core-2015.ebuild:
  disable more cjk stuff that need ptexenc with its useflag, bug #555068

  16 Jul 2015; Alexis Ballier <aballier@gentoo.org> texlive-core-2015.ebuild:
  raise deps on split packages to texlive 2015 ones

*texlive-core-2015 (16 Jul 2015)

  16 Jul 2015; Alexis Ballier <aballier@gentoo.org> +texlive-core-2015.ebuild:
  bump to texlive 2015

  15 Jul 2015; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2014-r4.ebuild:
  fix build with kpathsea from texlive 2015

  12 Jul 2015; Mikle Kolyada <zlogene@gentoo.org> texlive-core-2014-r4.ebuild:
  x86 stable wrt bug #550840

  12 Jul 2015; Agostino Sarubbo <ago@gentoo.org> texlive-core-2014-r4.ebuild:
  Stable for amd64, wrt bug #550840

*texlive-core-2014-r4 (28 Apr 2015)
*texlive-core-2012-r3 (28 Apr 2015)
*texlive-core-2013-r3 (28 Apr 2015)

  28 Apr 2015; Anthony G. Basile <blueness@gentoo.org>
  +texlive-core-2012-r3.ebuild, +texlive-core-2013-r3.ebuild,
  +texlive-core-2014-r4.ebuild, -texlive-core-2012-r2.ebuild,
  -texlive-core-2013-r2.ebuild, -texlive-core-2014-r2.ebuild:
  Fix bump 2012/2013/2014 for bug #510770.

  11 Mar 2015; Justin Lecher <jlec@gentoo.org>
  -files/texlive-core-2014-format-security.patch, texlive-core-2014-r3.ebuild:
  Move format-security patch into patch tarball

*texlive-core-2014-r3 (09 Mar 2015)

  09 Mar 2015; Justin Lecher <jlec@gentoo.org>
  +files/texlive-core-2014-format-security.patch, +texlive-core-2014-r3.ebuild:
  Drop incomplete installation of pythontex and import fedora patch for format-
  security, #512410

  09 Mar 2015; Justin Lecher <jlec@gentoo.org> metadata.xml,
  texlive-core-2014-r2.ebuild:
  Drop unnecessary die usage

*texlive-core-2014-r2 (28 Feb 2015)
*texlive-core-2013-r2 (28 Feb 2015)
*texlive-core-2012-r2 (28 Feb 2015)

  28 Feb 2015; Anthony G. Basile <blueness@gentoo.org>
  +texlive-core-2012-r2.ebuild, +texlive-core-2013-r2.ebuild,
  +texlive-core-2014-r2.ebuild:
  Bump 2012/2013/2014 for bug #510770

  04 Nov 2014; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2011-r6.ebuild, -texlive-core-2011-r7.ebuild:
  remove old

*texlive-core-2014-r1 (04 Nov 2014)

  04 Nov 2014; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2014-r1.ebuild:
  use system libpaper, part of bug #528214

*texlive-core-2014 (03 Nov 2014)

  03 Nov 2014; Alexis Ballier <aballier@gentoo.org> +texlive-core-2014.ebuild:
  bump to texlive 2014

  11 Oct 2014; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2013-r1.ebuild:
  add subslot dep on icu, bug #522664 by Andreas K. Hüttel

  09 Mar 2014; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2013-r1.ebuild:
  bump harfbuzz dep and require the graphite useflag too, bug #483544

  11 Sep 2013; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2013-r1.ebuild:
  bump dvipsk/ps2pkm deps, bug #482728

  11 Sep 2013; Christoph Junghans <ottxor@gentoo.org>
  texlive-core-2013-r1.ebuild:
  added prefix support (bug #484140)

*texlive-core-2013-r1 (27 Aug 2013)

  27 Aug 2013; Alexis Ballier <aballier@gentoo.org> -texlive-core-2013.ebuild,
  +texlive-core-2013-r1.ebuild:
  revision bump to push recent changes

  27 Aug 2013; Alexis Ballier <aballier@gentoo.org> texlive-core-2013.ebuild:
  handle KanjiMaps too when stripping updmap.cfg, bug #481130

  27 Aug 2013; Alexis Ballier <aballier@gentoo.org> texlive-core-2013.ebuild:
  tests work these days even if they do not have a good coverage, enable them

  27 Aug 2013; Alexis Ballier <aballier@gentoo.org> texlive-core-2013.ebuild:
  block pre-2013 texlive-basic, bug #482530

  14 Aug 2013; Alexis Ballier <aballier@gentoo.org> texlive-core-2013.ebuild:
  Depend on harfbuzz[icu], bug #481054 by Mikael Magnusson

  05 Jul 2013; Tobias Klausmann <klausman@gentoo.org> texlive-core-2013.ebuild:
  Keyworded on alpha, bug #475124

  03 Jul 2013; Alexis Ballier <aballier@gentoo.org> texlive-core-2013.ebuild:
  Force grep -H behavior since we rely on this. Might fix bug #475626.

  03 Jul 2013; Alexis Ballier <aballier@gentoo.org> texlive-core-2013.ebuild:
  Bump kpathsea dep to be sure texmf-update has been installed from there

  02 Jul 2013; Alexis Ballier <aballier@gentoo.org> texlive-core-2013.ebuild:
  bump cairo and pixman deps here too

*texlive-core-2013 (28 Jun 2013)

  28 Jun 2013; Alexis Ballier <aballier@gentoo.org> +texlive-core-2013.ebuild:
  Bump to TeX Live 2013

  30 May 2013; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2012-r1.ebuild:
  tc-export RANLIB too, by Michael Mair-Keimberger (iamnr3), bug #465746

  25 Apr 2013; Agostino Sarubbo <ago@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for sh, wrt bug #449298

  22 Apr 2013; Agostino Sarubbo <ago@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for s390, wrt bug #449298

  21 Apr 2013; Agostino Sarubbo <ago@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for sparc, wrt bug #449298

  21 Apr 2013; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2012-r1.ebuild:
  Fix bundled icu build on sparc, bug #466700. Patch ported from icu upstream.

  21 Apr 2013; Agostino Sarubbo <ago@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for arm, wrt bug #449298

  20 Apr 2013; Agostino Sarubbo <ago@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for alpha, wrt bug #449298

  19 Apr 2013; Agostino Sarubbo <ago@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for ia64, wrt bug #449298

  18 Apr 2013; Agostino Sarubbo <ago@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for ppc64, wrt bug #449298

  18 Apr 2013; Agostino Sarubbo <ago@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for ppc, wrt bug #449298

  18 Apr 2013; Agostino Sarubbo <ago@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for x86, wrt bug #449298

  18 Apr 2013; Agostino Sarubbo <ago@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for amd64, wrt bug #449298

  18 Apr 2013; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2012-r1.ebuild:
  Trivial patch to increase one temporary buffer size to avoid FORTIFY_SOURCE
  warnings. Bug #465748

  17 Apr 2013; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2012-r1.ebuild:
  add slot dep on poppler too

  17 Apr 2013; Jeroen Roovers <jer@gentoo.org> texlive-core-2012-r1.ebuild:
  Stable for HPPA (bug #449298).

  12 Apr 2013; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2012-r1.ebuild:
  EAPI 5, slot dep on libpng, create build dir in src_unpack

*texlive-core-2012-r1 (18 Feb 2013)

  18 Feb 2013; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2012-r1.ebuild:
  Fix double slashes issues with updmap, bug #428350

  30 Jul 2012; Jeroen Roovers <jer@gentoo.org> texlive-core-2012.ebuild:
  Fix building on HPPA (big-endian problem, see bug #265232 and bug #414271).

  27 Jul 2012; Alexis Ballier <aballier@gentoo.org> texlive-core-2012.ebuild:
  disable uptex and euptex without USE=cjk too, bug #428258

*texlive-core-2012 (27 Jul 2012)

  27 Jul 2012; Alexis Ballier <aballier@gentoo.org> +texlive-core-2012.ebuild:
  bump to TeX Live 2012

  26 Jul 2012; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2010-r4.ebuild, -texlive-core-2011-r5.ebuild:
  remove old

  26 Jul 2012; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2011-r7.ebuild:
  Add patch from upstream to build with kpathsea from TeX Live 2012.

  17 Jun 2012; Raúl Porcel <armin76@gentoo.org> texlive-core-2011-r6.ebuild:
  alpha/ia64/s390/sh/sparc stable wrt #408993

*texlive-core-2011-r7 (30 May 2012)

  30 May 2012; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2011-r7.ebuild:
  import upstream patch to improve DE guessing in texdoc, bug #418183

  25 May 2012; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2011-r6.ebuild:
  Add patch by Rafał Mużyło to build with poppler 0.20, bug #416989

  09 May 2012; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2011-r6.ebuild:
  keyword ~amd64-fbsd

  06 May 2012; Raúl Porcel <armin76@gentoo.org> texlive-core-2011-r5.ebuild:
  ia64/s390/sh/sparc stable wrt #395735

  04 May 2012; Jeff Horelick <jdhore@gentoo.org> texlive-core-2010-r4.ebuild,
  texlive-core-2011-r5.ebuild, texlive-core-2011-r6.ebuild:
  dev-util/pkgconfig -> virtual/pkgconfig

  30 Mar 2012; Markus Meier <maekke@gentoo.org> texlive-core-2011-r6.ebuild:
  arm stable, bug #408993

  25 Mar 2012; Brent Baude <ranger@gentoo.org> texlive-core-2011-r6.ebuild:
  Marking texlive-core-2011-r6 ppc64 for bug 408993

  25 Mar 2012; Brent Baude <ranger@gentoo.org> texlive-core-2011-r6.ebuild:
  Marking texlive-core-2011-r6 ppc for bug 408993

  23 Mar 2012; Jeroen Roovers <jer@gentoo.org> texlive-core-2011-r6.ebuild:
  Stable for HPPA (bug #408993).

  21 Mar 2012; Thomas Kahle <tomka@gentoo.org> texlive-core-2011-r6.ebuild:
  marked x86 per bug 408993

  21 Mar 2012; Agostino Sarubbo <ago@gentoo.org> texlive-core-2011-r6.ebuild:
  Stable for amd64, wrt bug #408993

  20 Mar 2012; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2011-r6.ebuild:
  drop zlib minimal dep per
  http://tug.org/pipermail/tldistro/2012q1/000182.html

  04 Mar 2012; Tobias Klausmann <klausman@gentoo.org>
  texlive-core-2011-r5.ebuild:
  Stable on alpha, bug #395735

  03 Mar 2012; Brent Baude <ranger@gentoo.org> texlive-core-2011-r5.ebuild:
  Marking texlive-core-2011-r5 ppc64 stable for bug 395735

  02 Mar 2012; Brent Baude <ranger@gentoo.org> texlive-core-2011-r5.ebuild:
  Marking texlive-core-2011-r5 ppc stable for bug 395735

*texlive-core-2011-r6 (13 Feb 2012)

  13 Feb 2012; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2011-r6.ebuild:
  import a patch from macports to fix xetex formats recognition with zlib
  1.2.6, bug #401763

  29 Jan 2012; Markus Meier <maekke@gentoo.org> texlive-core-2011-r5.ebuild:
  arm stable, bug #395735

  17 Jan 2012; Pawel Hajdan jr <phajdan.jr@gentoo.org>
  texlive-core-2011-r5.ebuild:
  x86 stable wrt bug #395735

  16 Jan 2012; Agostino Sarubbo <ago@gentoo.org> texlive-core-2011-r5.ebuild:
  Stable for amd64, wrt bug #395735

  28 Dec 2011; Jeroen Roovers <jer@gentoo.org> texlive-core-2011-r5.ebuild:
  Stable for HPPA (bug #395735).

  07 Nov 2011; Alexis Ballier <aballier@gentoo.org> -files/texmf-update2008,
  -texlive-core-2008-r7.ebuild, -texlive-core-2008-r8.ebuild,
  -texlive-core-2009-r1.ebuild, -texlive-core-2009-r2.ebuild,
  -files/texmf-update2009:
  remove old

*texlive-core-2011-r5 (02 Nov 2011)

  02 Nov 2011; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2011-r4.ebuild, +texlive-core-2011-r5.ebuild:
  make a revbump to force rebuild with new patches

  02 Nov 2011; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2011-r4.ebuild:
  add upstream patches from branch 2011

  12 Oct 2011; Raúl Porcel <armin76@gentoo.org> texlive-core-2010-r4.ebuild,
  texlive-core-2011-r4.ebuild:
  Add append-ldflags for alpha

  04 Oct 2011; Jeroen Roovers <jer@gentoo.org> texlive-core-2010-r4.ebuild:
  Stable for HPPA (bug #355085).

  18 Sep 2011; Raúl Porcel <armin76@gentoo.org> texlive-core-2010-r4.ebuild:
  alpha/ia64/s390/sh/sparc stable wrt #355085

*texlive-core-2011-r4 (19 Aug 2011)

  19 Aug 2011; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2011-r3.ebuild, +texlive-core-2011-r4.ebuild:
  revbump ~arch version

  19 Aug 2011; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2010-r4.ebuild, texlive-core-2011-r3.ebuild:
  add patch to fix textrels, bug #195688 by Magnus Granberg

  14 Aug 2011; Markus Meier <maekke@gentoo.org> texlive-core-2010-r4.ebuild:
  arm stable, bug #355085

  12 Aug 2011; Kacper Kowalik <xarthisius@gentoo.org>
  texlive-core-2010-r4.ebuild:
  ppc/ppc64 stable wrt #355085

  12 Aug 2011; Thomas Kahle <tomka@gentoo.org> texlive-core-2010-r4.ebuild:
  x86 stable per bug 355085

  09 Aug 2011; Markos Chandras <hwoarang@gentoo.org>
  texlive-core-2010-r4.ebuild:
  Stable on amd64 wrt bug #355085

*texlive-core-2011-r3 (04 Aug 2011)

  04 Aug 2011; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2011-r2.ebuild, +texlive-core-2011-r3.ebuild:
  Add texlive.infra module, required by updmap now, by Thomas Witt in bug
  #377609; missing dep on perl-getopt-long for updmap too

  31 Jul 2011; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2011-r2.ebuild:
  bump luatex dep in par with texlive meta ebuild, should fix bug #377065

*texlive-core-2011-r2 (31 Jul 2011)

  31 Jul 2011; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2011-r1.ebuild, +texlive-core-2011-r2.ebuild:
  do not "build" biber, its a prebuilt binary -> not for us, well see about
  making an ebuild for it later, by Rafał Mużyło in bug

*texlive-core-2011-r1 (30 Jul 2011)
*texlive-core-2010-r4 (30 Jul 2011)

  30 Jul 2011; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2010-r3.ebuild, +texlive-core-2010-r4.ebuild,
  -texlive-core-2011.ebuild, +texlive-core-2011-r1.ebuild:
  push changes into new revisions

  30 Jul 2011; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2010-r3.ebuild, texlive-core-2011.ebuild:
  Add patch from upstream to fix off-by-one error causing pdftex not to default
  to pdf output... by Martin von Gagern in bug #374147

  28 Jul 2011; Alexis Ballier <aballier@gentoo.org> texlive-core-2011.ebuild:
  disable eptex with use=-cjk too, should fix bug #376765

  28 Jul 2011; Alexis Ballier <aballier@gentoo.org> texlive-core-2011.ebuild:
  bump a bit the version requirements

*texlive-core-2011 (28 Jul 2011)

  28 Jul 2011; Alexis Ballier <aballier@gentoo.org> +texlive-core-2011.ebuild:
  bump to TeX Live 2011

  11 Jul 2011; Alexis Ballier <aballier@gentoo.org> files/texmf-update2010:
  fix mktemp usage on fbsd

*texlive-core-2010-r3 (06 Jul 2011)

  06 Jul 2011; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2010-r1.ebuild, -texlive-core-2010-r2.ebuild,
  +texlive-core-2010-r3.ebuild:
  revision bump to force a rebuild

  06 Jul 2011; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2010-r2.ebuild:
  I mistakenly lost the xetex math patch with the last patchset... readd it now

*texlive-core-2010-r2 (28 Jun 2011)

  28 Jun 2011; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2010-r2.ebuild:
  disable largefile again as it seems to cause problems on some arches, require
  a kpathsea version with largefile support disabled

  18 May 2011; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2010-r1.ebuild:
  fix build with long flag strings, bug #349085

*texlive-core-2010-r1 (01 Mar 2011)

  01 Mar 2011; Alexis Ballier <aballier@gentoo.org> -texlive-core-2010.ebuild,
  +texlive-core-2010-r1.ebuild:
  revbump it to force a rebuild

  01 Mar 2011; Alexis Ballier <aballier@gentoo.org> texlive-core-2010.ebuild:
  Add a patch to fix xetex math mode in 64 bits, reported by Faustus
  <orlovm@cs.bgu.ac.il>, bug #356701

  17 Feb 2011; Alexis Ballier <aballier@gentoo.org> texlive-core-2010.ebuild:
  Add a patch from debian to fix a2ping invocation wrt its shebang, part of bug
  #289818

  16 Feb 2011; Alexis Ballier <aballier@gentoo.org> texlive-core-2010.ebuild:
  use etexmf-update

  16 Feb 2011; Alexis Ballier <aballier@gentoo.org> texlive-core-2010.ebuild:
  Import a fix from upstream to fix build with libpng 1.5, bug #355105

  30 Oct 2010; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2010.ebuild:
  Import icu patch to fix building on arm, bug #343351

*texlive-core-2010 (24 Oct 2010)

  24 Oct 2010; Alexis Ballier <aballier@gentoo.org> +files/texmf-update2010,
  +texlive-core-2010.ebuild:
  Bump to the 2010 version; with a reworked texmf-update script by Markus
  Oehme <veelai@jonglieren-jena.de> not to regenerate the formats or font
  maps when it is not needed.

*texlive-core-2009-r2 (20 Jun 2010)

  20 Jun 2010; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2009-r2.ebuild:
  Bump with security fixes for bug #324019

*texlive-core-2008-r8 (20 Jun 2010)

  20 Jun 2010; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2008-r8.ebuild:
  revision bump with security fixes for bug #324019

  15 May 2010; Samuli Suominen <ssuominen@gentoo.org>
  texlive-core-2008-r7.ebuild:
  Update libpng14 patch for 2008; extra chunk was required for XeTeX_ext.c
  and "png_libpng_ver".

  15 May 2010; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2009.ebuild:
  remove old

  14 May 2010; Samuli Suominen <ssuominen@gentoo.org>
  texlive-core-2008-r7.ebuild:
  Backport libpng14 patch to 2008.

  08 Mar 2010; Samuli Suominen <ssuominen@gentoo.org>
  texlive-core-2009-r1.ebuild:
  Fix building with libpng14.

  10 Feb 2010; Samuli Suominen <ssuominen@gentoo.org>
  texlive-core-2009.ebuild, texlive-core-2009-r1.ebuild:
  Fix poppler depend from obsolete virtual/ to app-text/.

*texlive-core-2009-r1 (01 Feb 2010)

  01 Feb 2010; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2009-r1.ebuild:
  Copy texmf files after make install so that we do not get out of date
  files, fixes texdoc warnings reported by Daniel Oehry <oda@gmx.li>, bug
  #302683

*texlive-core-2009 (11 Jan 2010)

  11 Jan 2010; Alexis Ballier <aballier@gentoo.org> +files/texmf-update2009,
  +texlive-core-2009.ebuild:
  Bump to 2009

  14 Oct 2009; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2008-r5.ebuild, -texlive-core-2008-r6.ebuild:
  remove old

  20 Sep 2009; nixnut <nixnut@gentoo.org> texlive-core-2008-r7.ebuild:
  ppc stable #264598

  30 Aug 2009; Brent Baude <ranger@gentoo.org> texlive-core-2008-r7.ebuild:
  Marking texlive-core-2008-r7 ppc64 for bug 264598

  29 Aug 2009; Jeroen Roovers <jer@gentoo.org> texlive-core-2008-r7.ebuild:
  Stable for HPPA (bug #264598).

  28 Aug 2009; Raúl Porcel <armin76@gentoo.org>
  texlive-core-2008-r7.ebuild:
  alpha/arm/ia64/s390/sh/sparc stable wrt #264598

  27 Aug 2009; Steve Dibb <beandog@gentoo.org> texlive-core-2008-r7.ebuild:
  amd64 stable, bug 264598

  27 Aug 2009; Christian Faulhammer <fauli@gentoo.org>
  texlive-core-2008-r7.ebuild:
  stable x86, security bug 264598

*texlive-core-2008-r7 (27 Aug 2009)

  27 Aug 2009; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2008-r7.ebuild:
  Add upstream fix for bibtex crash, bug #264598

  19 Aug 2009; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r5.ebuild, texlive-core-2008-r6.ebuild:
  Update lzma deps to allow xz-utils, bug #279871

*texlive-core-2008-r6 (06 Aug 2009)

  06 Aug 2009; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2008-r6.ebuild:
  Add a patch so that xdvipdfmx doesnt try to free a non malloced pointer,
  bug #276415

  03 Aug 2009; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r5.ebuild:
  Add patch to fix building with autoconf 2.64, bug #279687

  20 Jun 2009; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007-r13.ebuild, -files/texmf-update:
  remove old

  10 Jun 2009; Alexey Shvetsov <alexxy@gentoo.org>
  texlive-core-2008-r5.ebuild:
  Add ~mips love

  08 Jun 2009; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r5.ebuild:
  Add patches for glibc 2.10 + gcc 4.4 combo (bug #271052 by Jussi Kosunen)
  and implicit declarations (bug #264884, by OKUMURA N. Shin-ya).

  22 May 2009; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r5.ebuild:
  Add a fix for getline conflicts, glibc 2.10, by Constantin Baranov, bug
  #270430

  08 May 2009; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2008-r4.ebuild:
  remove unused version

  03 May 2009; Brent Baude <ranger@gentoo.org> texlive-core-2008-r5.ebuild:
  Marking texlive-core-2008-r5 ppc64 and ppc for bug 264601

  03 May 2009; Raúl Porcel <armin76@gentoo.org>
  texlive-core-2008-r5.ebuild:
  alpha/arm/ia64/s390/sh/sparc stable wrt #264601

  01 May 2009; Markus Meier <maekke@gentoo.org> texlive-core-2008-r5.ebuild:
  amd64/x86 stable, bug #264601

  01 May 2009; Jeroen Roovers <jer@gentoo.org> texlive-core-2008-r5.ebuild:
  Stable for HPPA (bug #264601).

*texlive-core-2008-r5 (29 Apr 2009)

  29 Apr 2009; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2008-r5.ebuild:
  Add xpdf patch for bug #264601 and set var/cache/fonts world writable by
  default, bug #266680

  18 Mar 2009; Brent Baude <ranger@gentoo.org> texlive-core-2008-r4.ebuild:
  Marking texlive-core-2008-r4 ppc stable for bug 253551

  18 Mar 2009; Raúl Porcel <armin76@gentoo.org>
  texlive-core-2008-r4.ebuild:
  alpha/arm/ia64/s390/sh stable wrt #253551

  13 Mar 2009; Brent Baude <ranger@gentoo.org> texlive-core-2008-r4.ebuild:
  Marking texlive-core-2008-r4 ppc64 stable for bug 235551

  11 Mar 2009; Markus Meier <maekke@gentoo.org> texlive-core-2008-r4.ebuild:
  amd64 stable, bug #253551

  10 Mar 2009; Raúl Porcel <armin76@gentoo.org>
  texlive-core-2008-r4.ebuild:
  Add ~arm/~s390/~sh

  07 Mar 2009; Christian Faulhammer <fauli@gentoo.org>
  texlive-core-2008-r4.ebuild:
  x86 stable, bug 253551

  06 Mar 2009; Jeroen Roovers <jer@gentoo.org> texlive-core-2008-r4.ebuild:
  Stable for HPPA (bug #253551).

  27 Feb 2009; Ferris McCormick <fmccor@gentoo.org>
  texlive-core-2008-r4.ebuild:
  Sparc stable, part of Bug #253551.

  29 Nov 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r4.ebuild:
  Incoporate patches from Ryan Hill <dirtyepic@gentoo.org>, bug #249224, fix
  gcc 4.4 build and Vladimir Rapatskiy <rapatsky@gmail.com>, bug #247982,
  eliminate xpdf deprecated char* coversion warnings

*texlive-core-2008-r4 (20 Nov 2008)

  20 Nov 2008; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2008-r3.ebuild, +texlive-core-2008-r4.ebuild:
  push changes

  20 Nov 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r3.ebuild:
  Add updmap.d to CONFIG_PROTECT_MASK too as suggested by Dirk Heinrichs in
  bug #246668

  15 Nov 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r3.ebuild:
  Block dvibook for the 2008 version too, thanks Diego, bug #246957

  14 Nov 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r3.ebuild:
  put language.dat.d and language.def.d in CONFIG_PROTECT_MASK too, refs bug
  #246378

*texlive-core-2008-r3 (26 Oct 2008)

  26 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2008-r2.ebuild, +texlive-core-2008-r3.ebuild:
  push changes

  26 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r2.ebuild:
  Include more dvipdfmx files to get the proper configuration file, bug
  #244284

*texlive-core-2008-r2 (18 Oct 2008)

  18 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2008-r1.ebuild, +texlive-core-2008-r2.ebuild:
  push changes

  18 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r1.ebuild:
  Include .doc and .src tarballs too, my mistake... bug #242358

  18 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r1.ebuild:
  Set LC_ALL to C in order to avoid problems with locales that don't have
  the same alphabetical order as ascii. Bug #242430

  18 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r1.ebuild:
  Bump patchset to include parallel make fix for bug #242142

  17 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008-r1.ebuild:
  Install doc into kpathsea not kpathesa (typo) thanks ulm for noticing this

*texlive-core-2008-r1 (16 Oct 2008)

  16 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2008.ebuild, +texlive-core-2008-r1.ebuild:
  push changes

  16 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008.ebuild:
  Disable largefile support for now as it appears to break with weird errors
  such as bug #242074

  06 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r13.ebuild, texlive-core-2008.ebuild:
  remove vntex block, its gone

  02 Oct 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008.ebuild:
  Add tk useflag and don't install texdoctk if its off, bug #234604

  18 Sep 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2008.ebuild:
  Use EAPI 1 and slot deps for freetype.

*texlive-core-2008 (09 Sep 2008)

  09 Sep 2008; Alexis Ballier <aballier@gentoo.org> +files/texmf-update2008,
  +texlive-core-2008.ebuild:
  Bump to 2008

  28 Aug 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r13.ebuild:
  block dvibook, they collide, thanks to Ulrich Müller, bug #235703

  12 Jul 2008; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007-r12.ebuild:
  remove old

  06 Jul 2008; Stephanie Lockwood-Childs <wormo@gentoo.org>
  texlive-core-2007-r13.ebuild:
  stable on ppc (bug #229993)

  02 Jul 2008; Santiago M. Mola <coldwind@gentoo.org>
  texlive-core-2007-r13.ebuild:
  amd64 stable wrt bug #229993

  01 Jul 2008; Raúl Porcel <armin76@gentoo.org>
  texlive-core-2007-r13.ebuild:
  alpha/ia64 stable wrt #229993

  01 Jul 2008; Jeroen Roovers <jer@gentoo.org> texlive-core-2007-r13.ebuild:
  Stable for HPPA (bug #229993).

  29 Jun 2008; Christian Faulhammer <opfer@gentoo.org>
  texlive-core-2007-r13.ebuild:
  stable x86, bug 229993

  29 Jun 2008; Markus Rothe <corsair@gentoo.org>
  texlive-core-2007-r13.ebuild:
  Stable on ppc64; bug #229993

  29 Jun 2008; Ferris McCormick <fmccor@gentoo.org>
  texlive-core-2007-r13.ebuild:
  Sparc stable, Bug #229993, good over a month now.

  29 Jun 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild, texlive-core-2007-r13.ebuild:
  block dev-tex/dvi2tty, they collide

*texlive-core-2007-r13 (13 May 2008)

  13 May 2008; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2007-r13.ebuild:
  Revision bump with updated default config files so that we can search in
  global font cache even if VARTEXFONTS is overridden to tell it to write
  fonts somewhere else

  12 May 2008; nixnut <nixnut@gentoo.org> texlive-core-2007-r12.ebuild:
  Stable on ppc wrt bug 220651

  12 May 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild:
  ed is a build time dep only

  11 May 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild:
  Add missing flex build dep, thanks Diego, bug #221371

  16 Apr 2008; Peter Volkov <pva@gentoo.org> texlive-core-2007-r12.ebuild:
  amd64 stable, bug #215735.

  09 Apr 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild:
  Add an elog message about texmfind as suggested by EvaSDK

  08 Apr 2008; Raúl Porcel <armin76@gentoo.org>
  texlive-core-2007-r12.ebuild:
  alpha/ia64/sparc stable wrt #215735

  08 Apr 2008; Jeroen Roovers <jer@gentoo.org> texlive-core-2007-r12.ebuild:
  Stable for HPPA (bug #215735).

  06 Apr 2008; Markus Rothe <corsair@gentoo.org>
  texlive-core-2007-r12.ebuild:
  Added ~ppc; bug #195815

  06 Apr 2008; Markus Rothe <corsair@gentoo.org>
  texlive-core-2007-r12.ebuild:
  Stable on ppc64; bug #215735

  01 Apr 2008; Christian Faulhammer <opfer@gentoo.org>
  texlive-core-2007-r12.ebuild:
  stable x86, bug 215735

  13 Mar 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild:
  Add a patch by Hanno Meyer-Thurow to fix build with gcc 4.3, bug #213144

  10 Mar 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild:
  unzip is not a runtime dep, only a build dep

  10 Mar 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild:
  ruby is needed for context, not for all texlive

  02 Mar 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild:
  Adapt build mpost at compile time patch according to Karl's comments

  10 Feb 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild:
  keyword ~x86-fbsd

  10 Feb 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild:
  add a link to the migration guide

  09 Feb 2008; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r12.ebuild:
  Fix parallel make issue for bug #209362

*texlive-core-2007-r12 (09 Feb 2008)

  09 Feb 2008; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007-r11.ebuild, +texlive-core-2007-r12.ebuild:
  add a patch for icu security fix, it is unclear whether this affects xetex
  or not but better safe than sorry

  18 Dec 2007; Jeroen Roovers <jer@gentoo.org> texlive-core-2007-r11.ebuild:
  Marked ~hppa (bug #195815).

*texlive-core-2007-r11 (14 Dec 2007)

  14 Dec 2007; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007-r10.ebuild, +texlive-core-2007-r11.ebuild:
  Push changes

  14 Dec 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r10.ebuild:
  Symlink mf from mf-nowin when X useflag is off, some scripts expect it to
  exist. Thanks to Diego for spotting it.

  11 Dec 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r10.ebuild:
  remove cstetex references, its being removed, part of bug #196673

  07 Dec 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r10.ebuild:
  remove bin-detex and bin-dialog texmf modules, they dont install anything
  that is not provided by other packages

  07 Dec 2007; Alexis Ballier <aballier@gentoo.org>
  -files/2007/texmf.d/00header.cnf, -files/2007/texmf.d/05searchpaths.cnf,
  -files/2007/texmf.d/10standardpaths.cnf,
  -files/2007/texmf.d/15options.cnf, -files/2007/texmf.d/20sizes.cnf,
  -files/2007/texmf.d/25misc.cnf, texlive-core-2007-r10.ebuild:
  Make a tarball of texmf.d files

  07 Dec 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r10.ebuild:
  build mpost at compile time, thanks to Rafał Mużyło <galtgendo@o2.pl> for
  reporting, bug #201187

*texlive-core-2007-r10 (03 Dec 2007)

  03 Dec 2007; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007-r9.ebuild, +texlive-core-2007-r10.ebuild:
  remove bin-dvipdfmx package, it is provided by app-text/dvipdfmx, thanks to
  Jie Luo <clotho67@gmail.com>, bug #201051

*texlive-core-2007-r9 (02 Dec 2007)

  02 Dec 2007; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007-r8.ebuild, +texlive-core-2007-r9.ebuild:
  push changes

  02 Dec 2007; Alexis Ballier <aballier@gentoo.org> files/texmf-update,
  texlive-core-2007-r8.ebuild:
  let texmf-update handle dvips config.ps through /etc/texmf/dvips.d

  02 Dec 2007; Alexis Ballier <aballier@gentoo.org>
  -files/2007/tetex-3.0-CVE-2007-0650.patch,
  -files/2007/tetex-3.0_p1-xpdf-CVE-2007-3387.patch,
  -files/2007/xpdf-3.02pl2.patch,
  -files/2007/texlive-core-2007-bump_makeindex_limitations.patch,
  -files/2007/texlive-core-2007-dvips_bufferoverflow.patch,
  -files/2007/texlive-core-2007-icu-xetex-execstacks.patch,
  -files/2007/texlive-core-2007-libteckit-asneeded.patch,
  -files/2007/texlive-core-2007-mpware.patch, texlive-core-2007-r8.ebuild:
  make a patchset tarball

  21 Nov 2007; Alexis Ballier <aballier@gentoo.org>
  +files/2007/texlive-core-2007-bump_makeindex_limitations.patch,
  texlive-core-2007-r8.ebuild:
  bump makeindex limitations, will allow much longer paths to be used, bug
  #199590

  18 Nov 2007; Alexis Ballier <aballier@gentoo.org>
  files/2007/texmf.d/05searchpaths.cnf:
  set VARTEXFONTS to the correct value; its overwritten by texmf-update but
  better safe than sorry if we want to drop this at some point

*texlive-core-2007-r8 (11 Nov 2007)

  11 Nov 2007; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007-r7.ebuild, +texlive-core-2007-r8.ebuild:
  remove cjk-utils from here, dev-tex/cjk-latex takes care of these

  10 Nov 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r7.ebuild:
  block cjk-latex for now as they collide

*texlive-core-2007-r7 (10 Nov 2007)

  10 Nov 2007; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007-r6.ebuild, +texlive-core-2007-r7.ebuild:
  remove ps2eps from here, will give it its own ebuild

*texlive-core-2007-r6 (07 Nov 2007)

  07 Nov 2007; Alexis Ballier <aballier@gentoo.org>
  +files/2007/xpdf-3.02pl2.patch, -texlive-core-2007-r5.ebuild,
  +texlive-core-2007-r6.ebuild:
  security fix for libxpdf, bug #196735

*texlive-core-2007-r5 (06 Nov 2007)

  06 Nov 2007; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007-r3.ebuild, -texlive-core-2007-r4.ebuild,
  +texlive-core-2007-r5.ebuild:
  fixes for buffer overflow in dviljk, bug #198229

  02 Nov 2007; Alexis Ballier <aballier@gentoo.org>
  files/2007/texmf.d/10standardpaths.cnf:
  fix TEXMFDOCDIR, make it use SELFAUTO variables

*texlive-core-2007-r4 (30 Oct 2007)

  30 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  +texlive-core-2007-r4.ebuild:
  revision bump for removal of tex4ht, it has its own ebuild

*texlive-core-2007-r3 (28 Oct 2007)

  28 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007-r2.ebuild, +texlive-core-2007-r3.ebuild:
  push changes

  28 Oct 2007; Alexis Ballier <aballier@gentoo.org> files/texmf-update:
  more selective patterns for texmf-update to decide what to merge to
  texmf.cnf (*.cnf), fmtutil.cnf (*.cnf), updmap.cfg (*.cfg)

  28 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007-r2.ebuild:
  Ship an updated config.ps, see bug #195815 comment 51, or alternatively:
  http://tug.org/texlive/bugs.html

  28 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  files/2007/texmf.d/20sizes.cnf, +files/2007/texmf.d/25misc.cnf,
  texlive-core-2007-r2.ebuild:
  add more values to the config files, this should fix a few issues with stack
  size exceeded

  27 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  files/2007/texmf.d/05searchpaths.cnf:
  Make use of SELFAUTO variables in texmf.cnf file, so that we'll be closer to
  upstream's config file and it will be more robust if installed in another
  directory

  27 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  files/2007/texmf.d/05searchpaths.cnf:
  add a warning about modifying TEXMFSYSVAR

  26 Oct 2007; Ferris McCormick <fmccor@gentoo.org>
  texlive-core-2007-r2.ebuild:
  Add ~amd64 --- part of Bug #195815

  25 Oct 2007; Markus Rothe <corsair@gentoo.org>
  texlive-core-2007-r2.ebuild:
  Added ~ppc64; bug #195815

  25 Oct 2007; Raúl Porcel <armin76@gentoo.org>
  texlive-core-2007-r2.ebuild:
  Add ~alpha/~ia64 wrt #195815

  25 Oct 2007; Ferris McCormick <fmccor@gentoo.org>
  texlive-core-2007-r2.ebuild:
  Add ~sparc --- Bug #195815

  25 Oct 2007; Christian Faulhammer <opfer@gentoo.org>
  texlive-core-2007-r2.ebuild:
  keyworded ~x86, bug 195815

*texlive-core-2007-r2 (22 Oct 2007)

  22 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  +files/2007/texlive-core-2007-dvips_bufferoverflow.patch,
  -texlive-core-2007-r1.ebuild, +texlive-core-2007-r2.ebuild:
  Add a patch from upstream to prevent buffer overflow with too long hrefs
  using dvips -z

*texlive-core-2007-r1 (21 Oct 2007)

  21 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  -texlive-core-2007.ebuild, +texlive-core-2007-r1.ebuild:
  push changes

  21 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007.ebuild:
  cosmetics, use dosym instead of ln

  21 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007.ebuild:
  remove the chown on the texmf tree, other texmf packages dont do it anyway
  and it wasnt chowning texmf-dist; will reenable it if it is really needed,
  but it shouldnt

  20 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007.ebuild:
  also remove texmf-dist/doc when doc useflag is off, will save a few bits

  20 Oct 2007; Alexis Ballier <aballier@gentoo.org> files/texmf-update:
  No need to run texlinks in texmf-update anymore now that we have etexlinks

  20 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007.ebuild:
  make use of the new etexlinks helper function, bug #196246

  19 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  +files/2007/texmf.d/00header.cnf, +files/2007/texmf.d/10standardpaths.cnf,
  -files/2007/texlive-core-2007-gentoo-texmf-site.patch,
  +files/2007/texmf.d/05searchpaths.cnf, +files/2007/texmf.d/15options.cnf,
  +files/2007/texmf.d/20sizes.cnf, texlive-core-2007.ebuild:
  Ship our own texmf.cnf defaults, greatly based on texlive's dvd one, this
  should fix bug #196167

  15 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  texlive-core-2007.ebuild:
  block tex4ht, texlive provides it

*texlive-core-2007 (14 Oct 2007)

  14 Oct 2007; Alexis Ballier <aballier@gentoo.org>
  +files/2007/tetex-3.0-CVE-2007-0650.patch,
  +files/2007/tetex-3.0_p1-xpdf-CVE-2007-3387.patch,
  +files/2007/texlive-core-2007-gentoo-texmf-site.patch,
  +files/2007/texlive-core-2007-icu-xetex-execstacks.patch,
  +files/2007/texlive-core-2007-libteckit-asneeded.patch,
  +files/2007/texlive-core-2007-mpware.patch, +files/texmf-update,
  +metadata.xml, +texlive-core-2007.ebuild:
  Initial import
