Drop incomplete installation of pythontex and import fedora patch for format-security...
authorJustin Lecher <jlec@gentoo.org>
Mon, 9 Mar 2015 14:27:48 +0000 (14:27 +0000)
committerJustin Lecher <jlec@gentoo.org>
Mon, 9 Mar 2015 14:27:48 +0000 (14:27 +0000)
Package-Manager: portage-2.2.18/cvs/Linux x86_64
Manifest-Sign-Key: 0xB9D4F231BD1558AB!

app-text/texlive-core/ChangeLog
app-text/texlive-core/Manifest
app-text/texlive-core/files/texlive-core-2014-format-security.patch [new file with mode: 0644]
app-text/texlive-core/texlive-core-2014-r3.ebuild [new file with mode: 0644]

index c3cac71d1cedf36bf216caf82c1b98eebe91208e..9d49446d48d35d2c164fbfc4b5467851a88de925 100644 (file)
@@ -1,6 +1,13 @@
 # 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.220 2015/03/09 12:17:39 jlec Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-text/texlive-core/ChangeLog,v 1.221 2015/03/09 14:27:47 jlec Exp $
+
+*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:
index fc37c5ae1f8fd721cbc462f2e4af0fb3f4274b65..f3f8d5158684d6b4741bc2dbbf2fac925c7dfc53 100644 (file)
@@ -1,6 +1,7 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA512
 
+AUX texlive-core-2014-format-security.patch 7475 SHA256 efdea128a60ab2c7009ce02d0191966be176aa9985e930e406ed19add7d9eef8 SHA512 e99a42f705121c7fdde97f39e2a02630b115b5068dc086534dadcc1aad5c0e8f2e8dbdc723905abeac2933050b447ab4647f82964e5a0d280ee4abfa643564a5 WHIRLPOOL 598648e0e2e41dec0fd06e7cbb41e894382c9b7689de70d20d34cd823a219767747c75e41d52df0176c6cf5c823391d49d462ca90423f6e536c2d0234ec40ff8
 AUX texmf-update2010 5163 SHA256 b19566f0c8032a7f24ee0ead26d627e306ee360aa8a5948a1256bc2760f89856 SHA512 e89bb321b438a70c23db587ac092cb8a98c783157c42bf1df80dce00e10c58741b5a6c685a3ee5511b61f4a2a98b833faf3d6d8f8dc24ab2e4a4342875d8454c WHIRLPOOL c62b97abaadf95b1452851ac88a7575001ca09f4e26f8e582f6fffde0b90c5fdafc0d78f3ec030152bd34a7cec44e5ae2ad2bab46d978dabb90a69d4b6f95b41
 DIST texlive-20120701-source.tar.xz 131904044 SHA256 9666617d5dac3e82578e696835cc9f251ee0a56d162d86dff08659ac5dcb6c81 SHA512 0e8653aa21094e079900d17256f0768ac5514690a3725d96923d5fdc7633484d611441df1af8c674b38b9ce6a8845a9004976cd00635742dfc6837aa433caf5f WHIRLPOOL 9d570a1bd58cca8baed399ab53eb767c7c3db607c00363ce563e14dfccdd235703c538e6a651aa7f2934adf21f8477775f1547f9e7f3d957b89af644c89bcb57
 DIST texlive-20130530-source.tar.xz 179963948 SHA256 a905832e4c04dd1cb16db4bb7baacb78fbc19682bd33ac2697a3a85ce78d79d4 SHA512 4aa85273a675af2453f09777b7cb348c18add77410d72f562c6586f6814d4e7c34b6f3690e3453020654fb0a265339fcabf590d9155367d52846224499af334c WHIRLPOOL 3affaf25d3936505d971599092964b0f0e97d107d22dbac6a85ad547e1d2726a6a09c5075fecb0c6ff8c88bc1bd09d78f95902f76eb76c608f8a7bc42dd6bc33
@@ -12,6 +13,7 @@ DIST texlive-core-patches-42.tar.xz 2508 SHA256 e3b4d4de520ff58420a7b695491ffd78
 DIST texlive-core-patches-43.tar.xz 3468 SHA256 01d9b08947a8fb8699724c90307a2450394f3de78ea269d7e5494c67f30dadd4 SHA512 bf169aa8cc7b01fdfe8a24f7f51aae430c9b1dccf0ba8daa365bca72fe68735d4b604ffbffd4c2e5198180bbf3eb789be5c36ee304e33b6f59896c0b3564ce03 WHIRLPOOL e38cedc8da12b1b0d48a64a7b57ebac0e440240dfebe27872c359faa1ad828b1cc1450a662e9cf9751c882d69edfd566e8a01ed0ee486114fdcd8e3d8b0374bd
 DIST texlive-core-patches-44.tar.xz 2752 SHA256 e5699150b1ccb4784990bd0c796337b24b38cbd0ab8d2461f1aec5db07932a9a SHA512 a23cbd60ae6c80ea28e76ae5687f7ea73514e0dc9629012176ce8229ba4bd693227f3ceb7ea407e6df086030882b6cec7d69ac302a6f3e64fa1c9f171de3b472 WHIRLPOOL b30995744fdf06a462348b93657e06ee8720dee5559f8dffc3144b90a18d2264eb170316b4de943d4285647f78ece05f95c83e00b80e0f4dfd287bf28f0de3ca
 DIST texlive-core-patches-45.tar.xz 2876 SHA256 0da1bd87ffa453cda9e23f68e5ecd26742049839e13efc0ca8be488bf0919880 SHA512 08d2643bc6215198d5eec586f892005be930248d491ae83a2c4f6b573ff7281db1d2d36e98eed8db15d29c669e8f5ca3041d9308633502302202f43da351927d WHIRLPOOL d86c2e52ad392bcbf1f2e5049ecd3fb7ce4f7e4dd57394f977bcaca94d81672b46699c0d78c7e72ef0ecc6829c46f9efadc137be56683bfe449a001c8772edaf
+DIST texlive-core-patches-46.tar.xz 2840 SHA256 133a6970b931713f243aa1ca64364379e613576ed3d417e88b39777cd43fdccc SHA512 f6658e6b6e1d43d1e9740696ae0c00e2a8247c5070f50973ee36e59f427d0020c0a5c90d1e178456dd77f93b683333744a9832b2138958848ee3ff2aac441389 WHIRLPOOL bdd4c323ecde7478aca57c30ee06ee3a8ad03c87aff3eff21ad08355429a371287bb0104ef3b6f02549eb2a554c82729689dcc106ecc6ca1869859baf206166c
 DIST texlive-module-a2ping-2012.tar.xz 31124 SHA256 37b769091af7c7c9f95c52f92cbc26b22f72dc0de5ecb0e9e37cf1482438605a SHA512 b4f74f037d1113d204d3f0e34c8418e354ae002ab09e8c326458bf7c9c9a9bfa3211317e03bb7e69d7f2e83a2b22851410287477176dab5288dacf5a9ec4a8a6 WHIRLPOOL 5e76ab0e818c3e20d8211c35230a9ee1084f1de830c988b1ed9707036481582540aa97c6ee9e31b0dd1ee2a8346dc3b81197d8c0489563122bba2dd7dffe5fe1
 DIST texlive-module-a2ping-2013.tar.xz 31124 SHA256 a50f2714269e1725a05584d2e1b0b822f082c7291a989d37976b8666f69e8e09 SHA512 bc05c8610e58bacb6001fd41f848d12f8e77837b5e24d32f7af1c9939778d92aeac7ee07969f22e86c72a8850650ad1d06341681503d8d8699dbf6db1de4be62 WHIRLPOOL c4ebb0c3bb4db9d176fbadfd06753509965aa7d1d89be69ded9cc4488b1629fbd7584f2fed70b9633ead1341fb88de006b7f840446f142ec25eaeeb8cd7577d5
 DIST texlive-module-a2ping-2014.tar.xz 31124 SHA256 18c8686e9d443af0e3b6d4feaaa42996b1fa2f03a07dce0e19d10226b7bc8839 SHA512 d5b65f04a96b7206624fd80fae4a04779fd31995247ed4b04d3ddb7197aeb3373d6b3679f674e29fb39e7022f37115fab2a3f5fc7304b3c6c133456242fef8bb WHIRLPOOL a6a8c93836825b07930a61c35d37b657479025d217b4d006021724a1b85c9afa4b6dffa0ba1d96bc0bdcaa3fd72274c11ea401d8387d1bcedbd20df2fde31cbd
@@ -353,25 +355,26 @@ EBUILD texlive-core-2013-r1.ebuild 11630 SHA256 6c0f1fd2ab68ca0b5cc1e99852d0c5d0
 EBUILD texlive-core-2013-r2.ebuild 11630 SHA256 7db516011338ee74694cb31339bdb584ae8272f27b2d839d4522e25a0079a0bc SHA512 494299ef585e5d342666aa53f467ffce4bb1e35918e23cb8a6c3c7324ed6698f94484675f391ef4f9edac0a34b1af35c9d985e77e38894609479f039130d4489 WHIRLPOOL fd0b3c6d60b7a345c876fb93193c2f32c70d24116834d0f759d3f156f4dc47ebc33ea5d09bf1620226ec257a9dc90f418844ccfc185cf1f23e87348b215f75d4
 EBUILD texlive-core-2014-r1.ebuild 11010 SHA256 f4dc0070805201d7100c7fd02af0866205de96d632a52fc0ead17c6f23ed55b5 SHA512 b6f50f664d6762e269b5cbf563de00ce419d55ba3652618045e1fa611e806f7747ea5b837d74cee156aca85c4b67a43340862227777a490a692b9dd2a5a192cf WHIRLPOOL 17f9a543ce5d0c5f3076ba78eff99e3b1d5d748e1c94d93d0bf9c39807af3589763622b1ef566dde4bf371e33fb9ca3d9e2cf97e06ddbf5fa7b0eabb5b63f9b2
 EBUILD texlive-core-2014-r2.ebuild 10817 SHA256 163d0c9be0a8ed76bc731964a672ed44d57fd593f9c23ee8ecdeeac9f563681e SHA512 69574555b8e6c48559e5573cc24184b7ac6baa4288da575ab03ae13bc5f6646841101dcdde07c441554b9180b013636a13316719bc2f3a197f930d12038c98b9 WHIRLPOOL 93fd1c3c7ec845159c1c715aef5f36c58772ad924bebd476600041ec8ae157770290293cec0b7fb376c06866906775b359499425253a15ad0725ddbc148b574c
+EBUILD texlive-core-2014-r3.ebuild 10867 SHA256 ae4d3d9c328ab777d8815c6f3b0976436056e537796393fc6b60cb6b517dd1df SHA512 aeee9c79a47884907d8d073913aa4b18e40c7960eeb1f002882939f6001deb4eb7d6825ca3cede4906eef5848c3f4f015b1fcbc9219372d1afffc74704cc1e60 WHIRLPOOL f98c00ef2a8f23883ef8f33193736b44b3aa2eb3c2353118ba7ebe77ca8930b518569e386ee62fb4bf63160f5b128984d04b8fbe35803bbba3f326606c284e18
 EBUILD texlive-core-2014.ebuild 10961 SHA256 114ee434dfae05bb8ceeb5c3f23ceaa9d8ea75222dfaa1454f3ec47b63db93ba SHA512 f9ec9b36b8d94ca498cfcc97fb2826e601e5defc00e601fdf53f4b07904e18d91435e51e2bd14cadc205bba0f94cd6702f6084f7d32a61627fb24890f152ac0e WHIRLPOOL b287b8db22418fb6b4df2bb508743f8d7901c50f6c36c84ab5e159d4caddf3182f33319c99991fc02fc94326d38cf0d41b3c223323f165030278863b6e71fa90
-MISC ChangeLog 34904 SHA256 05f90433351344f5612902313129de7a426b5ac3678f9b2f0506b8f391fd7e27 SHA512 7bd6b0fd7d9f5b0a0f0454a69f54504849aaab48813d8b27c2305123cbf3e992701532fb3230624e0ea7d7baf1556b2e37ec660f63cb294849ef68defba8b1aa WHIRLPOOL 9c45f4bab1d94126e594703364cc21267290f94c9f9fb86811d3b43f2633b52534a700d6a2653e5168296f1819bc522a4e236a1593c79b3e6cc0bcb83ce485aa
+MISC ChangeLog 35169 SHA256 5af85527b5170af41979c6be9c491c4004c5884c14193cbad6815620416cd4a4 SHA512 ec3eb9ad380b0e2ae7ea7ec52564095feb8bb68b0a5ba467a6712a3fa519b3668911a9c51c95a1d7ac5dab7bff0a2452328f49b61b34dea56ef12258e8aad114 WHIRLPOOL 3eaec666e21ea40dfb8aa8737a201dfe4236979fc70e93a97ce685fe9b4f1e9d2822173b7a3bb99f653a3ce7e73b2980ca7ad13230dc33a6637ceae54091597b
 MISC metadata.xml 460 SHA256 753a65eced4f57be9d1a7bf0b5ec47602b8cae9af975e423adabd6dcaa27d179 SHA512 d0dc8da34ce7d482396d8890359e112d6813ec67bd5f8f3e26f5dac10a5c11ec5c295ab6efed7129a28d5316946e555581d3ba616806ccdb0e020cd2e523ce85 WHIRLPOOL 4f69cdc5d5b8ddea9ec159df7f75cb4c345962176cecc8fefd5761b9f0c209caf447fc131fccaba224cbe9b4faaab2db24bd4cae271e078bf6079bd0def5ef31
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0
 
-iQJ8BAEBCgBmBQJU/Y9kXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
+iQJ8BAEBCgBmBQJU/a3kXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
 ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQyQ0JDQjFGMzBDQ0UxMjFGNENDNDgxMDdC
-OUQ0RjIzMUJEMTU1OEFCAAoJELnU8jG9FVirKbYP/0Zu3m6LX7XzH6I5nFhrHWYl
-oZm9cKObZxdP1zLBcvGTrGhTHDXq6FyOWtkImGIzubNVd7JJxVfUx/Ebv9030Z/I
-/TIPHILoCLfwX0iOuVBIxwNo67yVGm+0Sp+fQYneLHbvxVb4Dz04UXNBrdYgFU6M
-eX0VDWu088CiP/CQZXiV9nWYbVFsDsszNlUZ5eI+51z2ObP8ZuKJc0uomgxMIyHx
-BqC83xSQcnM4BgBOCyqS6OqEwQCRq0MBmIr4Q+sJ8OsnARMhznRxO+DNbLEr9J9K
-5hjgi7KdMlQzsTBMTrVO8YPTVv1F2quda9GhAzI/whtayWaRxf3fHV+/jjz5/ygL
-yiR2oh3EODVbPOTnqt0lRDoB/xlL6Cw1MyQC6UlXSA+sWjc9vGeqqTUzy0leHADN
-wNM8M+qRJBZIPSB5vcEUtyNw3cjcfpptW/MAUeK9yqbn+8xRq2aZVI9Fy+cwqfsi
-+RxxgiSJTZi7IruT+JhPOGD66b8aiM41D+/s57BPJqaOd5SF2rzp5fKmJbKNnlFQ
-OwNI2PXgC04OhpE/TeV6yKQslI1wgSWxOqlOiiDa/LSiNDaeSZJ8uj40KL/55b8L
-giiLrik/kTS9EfYNjuSJweA6pb5Okf2HOI2Cu5HaZIGwMJXAJGLfT10Vp/zwUPxa
-iAaH1mNEM2OzSKcSeyXY
-=FOVz
+OUQ0RjIzMUJEMTU1OEFCAAoJELnU8jG9FVirY1EP/0GQ6O4jLpGFfXjZgFlLnn+b
+mUzbMGvr5v7iNen472E/+72kCDNl/FQ5U695RedQzUGj8BWzw3H8KWJfoB4+vJb0
+QY093U7IhQYnHvrbxdldVyXEQ99qMddh453+EpJiNf3QEg3QP2Kn6HHiSjjIrua9
+emykuDKtoWgPqJw4TtSV7XJNaZzTLZ9A5DSuTq0uBK4OJudEWyD5OfYDEjrMcRJO
+PB52oa70lVg8O3pXuZbIwaJKpunZZ88TkVbY3OLvyNERrXPUVa49HGEEjPwojIHe
++UO9x5ivIxay1ZfZ3iXFnBAOK2C5IB7U6m8wUGhYgizH7y9E9Xzh5mg+B4zVXmmy
+q8z/gh6jkq9y9FTg4RYJqss5AVgYbmNB0wHGd8J+d9hIyZ2JV1g2fDVTGGALh4QS
+MCAKpuxmwlITq5EZVRn4JILTMHdQfWw2AMb++xPXedflUH7DkfswXLst2TjluvAX
+2sNmdclVz/9dUGAT4ZOKixLNJGw7mLlqGdIqEa3XMv+y95hFffcX/MIQwOFkfUq5
+zNwAaannjJ2esgIlQu0BEnF08GLbW2N5bcO8KGS299VHmn47xESoYRJkJ6lxpaEs
+XMlfkHV1vR+QIDdy8tkdnruMUfT96uvGvR09XFW28SH4iQmwP8DJDZKNcAjfFG1J
+C7NvB0OjvHYcz62BJ3kI
+=+g0y
 -----END PGP SIGNATURE-----
diff --git a/app-text/texlive-core/files/texlive-core-2014-format-security.patch b/app-text/texlive-core/files/texlive-core-2014-format-security.patch
new file mode 100644 (file)
index 0000000..1c1c85c
--- /dev/null
@@ -0,0 +1,193 @@
+diff -up source/texk/devnag/src/devnag.c.format source/texk/devnag/src/devnag.c
+--- source/texk/devnag/src/devnag.c.format     2013-12-22 17:03:35.000000000 +0100
++++ source/texk/devnag/src/devnag.c    2013-12-26 20:13:56.390766885 +0100
+@@ -2395,7 +2395,7 @@ void put_macro(short macro) {
+ void err_ill(const char *str) {
+    fprintf(stderr, "Error: illegal character(s) \"%s\" detected at line %d:\n",
+         str, linenumber);
+-   fprintf(stderr, inbuf);
++   fprintf(stderr, "%s", inbuf);
+    exit(1);
+ }
+ 
+diff -up source/texk/dvidvi/dvidvi.c.format source/texk/dvidvi/dvidvi.c
+--- source/texk/dvidvi/dvidvi.c.format 2013-12-22 17:03:36.000000000 +0100
++++ source/texk/dvidvi/dvidvi.c        2013-12-26 20:13:56.390766885 +0100
+@@ -327,7 +327,7 @@ static void stringdvibuf(integer p, inte
+  *   Print a usage error messsage, and quit.
+  */
+ static void usage(void) {
+-   (void)fprintf(stderr,banner);
++   (void)fprintf(stderr,"%s",banner);
+    (void)fprintf(stderr,"Usage:  dvidvi [options] input[.dvi] [output]\n");
+    (void)fprintf(stderr,"where options are:\n");
+    (void)fprintf(stderr,"    [-f n] first page printed     [-l n] last page printed\n");
+@@ -806,7 +806,7 @@ default:
+       } /* else argument with '-' */
+    }  /* for */
+    if (*iname == 0) {
+-       (void)fprintf(stderr, banner) ;
++       (void)fprintf(stderr, "%s", banner) ;
+        error("! no input file specified");
+    }
+    /* Inserted by djc@dsmail.hmi.de 3.8.1994 */
+@@ -817,7 +817,7 @@ default:
+    }
+ 
+    if (*oname != 0 && !quiet) {
+-       (void)fprintf(stderr, banner) ;
++       (void)fprintf(stderr, "%s", banner) ;
+        (void)fprintf(stderr, "%s -> %s\n",iname,oname);
+        temp = nextstring ;
+    }
+diff -up source/texk/dvi2tty/dvi2tty-5.3.4/DVI.format source/texk/dvi2tty/dvi2tty-5.3.4/DVI
+diff -up source/texk/ps2pkm/objects.h.format source/texk/ps2pkm/objects.h
+--- source/texk/ps2pkm/objects.h.format        2013-12-22 17:03:29.000000000 +0100
++++ source/texk/ps2pkm/objects.h       2013-12-26 20:13:56.390766885 +0100
+@@ -232,7 +232,7 @@ struct xobject {
+ /*SHARED*/
+ /* NDW: personally, I want to see status and error messages! */
+ #define IfTrace0(condition,model)                                 \
+-        {if (condition) printf(model);}
++        {if (condition) printf("%s",model);}
+ #define IfTrace1(condition,model,arg0)                            \
+         {if (condition) printf(model,arg0);}
+ #define IfTrace2(condition,model,arg0,arg1)                       \
+diff -up source/texk/web2c/cwebboot.cin.format source/texk/web2c/cwebboot.cin
+--- source/texk/web2c/cwebboot.cin.format      2013-12-22 17:03:30.000000000 +0100
++++ source/texk/web2c/cwebboot.cin     2013-12-26 20:13:56.390766885 +0100
+@@ -1090,7 +1090,7 @@ void
+  fatal(const char*s,const char*t)
+ #line 1182 "cwebdir/common.w"
+ {
+-if(*s)printf(s);
++if(*s)printf("%s",s);
+ err_print(t);
+ history= fatal_message;exit(wrap_up());
+ }
+diff -up source/texk/web2c/cwebdir/common.c.format source/texk/web2c/cwebdir/common.c
+--- source/texk/web2c/cwebdir/common.c.format  2013-12-22 17:03:31.000000000 +0100
++++ source/texk/web2c/cwebdir/common.c 2013-12-26 20:13:56.391766888 +0100
+@@ -1063,7 +1063,7 @@ void
+ fatal(s,t)
+ char*s,*t;
+ {
+-if(*s)printf(s);
++if(*s)printf("%s",s);
+ err_print(t);
+ history= fatal_message;exit(wrap_up());
+ }
+diff -up source/texk/web2c/cwebdir/common.w.format source/texk/web2c/cwebdir/common.w
+--- source/texk/web2c/cwebdir/common.w.format  2013-12-22 17:03:31.000000000 +0100
++++ source/texk/web2c/cwebdir/common.w 2013-12-26 20:13:56.391766888 +0100
+@@ -1180,7 +1180,7 @@ concatenated to print the final error me
+ fatal(s,t)
+   char *s,*t;
+ {
+-  if (*s) printf(s);
++  if (*s) printf("%s",s);
+   err_print(t);
+   history=fatal_message; exit(wrap_up());
+ }
+diff -up source/texk/web2c/cwebdir/cweave.w.format source/texk/web2c/cwebdir/cweave.w
+--- source/texk/web2c/cwebdir/cweave.w.format  2013-12-22 17:03:31.000000000 +0100
++++ source/texk/web2c/cwebdir/cweave.w 2013-12-26 20:13:56.392766891 +0100
+@@ -1784,7 +1784,7 @@ void
+ print_cat(c) /* symbolic printout of a category */
+ eight_bits c;
+ {
+-  printf(cat_name[c]);
++  printf("%s",cat_name[c]);
+ }
+ 
+ @ The token lists for translated \TEX/ output contain some special control
+diff -up source/texk/web2c/omegafonts/error_routines.c.format source/texk/web2c/omegafonts/error_routines.c
+--- source/texk/web2c/omegafonts/error_routines.c.format       2013-12-22 17:03:30.000000000 +0100
++++ source/texk/web2c/omegafonts/error_routines.c      2013-12-26 20:13:56.392766891 +0100
+@@ -36,7 +36,7 @@ void
+ lex_error_0(const_string fmt)
+ {
+     fprintf(stderr, "line %d (lexing): ", line_number);
+-    fprintf(stderr, fmt);
++    fprintf(stderr, "%s", fmt);
+     fprintf(stderr, "\n");
+ }
+ 
+@@ -68,7 +68,7 @@ void
+ yyerror(const_string fmt)
+ {
+     fprintf(stderr, "line %d (parsing): ", line_number);
+-    fprintf(stderr, fmt);
++    fprintf(stderr, "%s", fmt);
+     fprintf(stderr, "\n");
+ }
+ 
+@@ -77,7 +77,7 @@ void
+ warning_0(const_string fmt)
+ {
+     fprintf(stderr, "line %d (warning): ", line_number);
+-    fprintf(stderr, fmt);
++    fprintf(stderr, "%s", fmt);
+     fprintf(stderr, "\n");
+ }
+ 
+@@ -125,7 +125,7 @@ void
+ fatal_error_0(const_string fmt)
+ {
+     fprintf(stderr, "line %d (fatal): ", line_number);
+-    fprintf(stderr, fmt);
++    fprintf(stderr, "%s", fmt);
+     fprintf(stderr, "\n");
+     exit(1);
+ }
+@@ -161,7 +161,7 @@ void
+ internal_error_0(const_string fmt)
+ {
+     fprintf(stderr, "line %d (internal): ", line_number);
+-    fprintf(stderr, fmt);
++    fprintf(stderr, "%s", fmt);
+     fprintf(stderr, "\n");
+     exit(2);
+ }
+diff -up source/texk/web2c/omegafonts/out_routines.c.format source/texk/web2c/omegafonts/out_routines.c
+--- source/texk/web2c/omegafonts/out_routines.c.format 2013-12-22 17:03:30.000000000 +0100
++++ source/texk/web2c/omegafonts/out_routines.c        2013-12-26 20:13:56.392766891 +0100
+@@ -383,5 +383,5 @@ out_digits(unsigned counter)
+ void
+ out(const_string sval)
+ {
+-      fprintf(file_output, sval);
++      fprintf(file_output, "%s", sval);
+ }
+diff -up source/texk/web2c/tiedir/tie.c.format source/texk/web2c/tiedir/tie.c
+--- source/texk/web2c/tiedir/tie.c.format      2013-12-22 17:03:31.000000000 +0100
++++ source/texk/web2c/tiedir/tie.c     2013-12-26 20:13:56.392766891 +0100
+@@ -27,14 +27,14 @@
+  \
+ 
+ #define term_out stdout
+-#define print(a)fprintf(term_out,a)
++#define print(a)fprintf(term_out,"%s",a)
+ #define print2(a,b)fprintf(term_out,a,b)
+ #define print3(a,b,c)fprintf(term_out,a,b,c)
+ #define print_c(v)fputc(v,term_out);
+ #define new_line(v)fputc('\n',v)
+ #define term_new_line new_line(term_out) \
+ 
+-#define print_ln(v){fprintf(term_out,v);term_new_line;} \
++#define print_ln(v){fprintf(term_out,"%s",v);term_new_line;} \
+ 
+ #define print2_ln(a,b){print2(a,b);term_new_line;}
+ #define print3_ln(a,b,c){print3(a,b,c);term_new_line;} \
+diff -up source/texk/web2c/tiedir/tie.w.format source/texk/web2c/tiedir/tie.w
+--- source/texk/web2c/tiedir/tie.w.format      2013-12-22 17:03:31.000000000 +0100
++++ source/texk/web2c/tiedir/tie.w     2013-12-26 20:13:56.393766894 +0100
+@@ -465,7 +465,7 @@ for terminating an output line and writi
+ @d new_line(v)  fputc('\n',v) /* start new line */
+ @d term_new_line  new_line(term_out)
+       /* start new line of the terminal */
+-@d print_ln(v)  {fprintf(term_out,v);term_new_line;}
++@d print_ln(v)  {fprintf(term_out,"%s",v);term_new_line;}
+       /* `|print|' and then start new line */
+ @d print2_ln(a,b)  {print2(a,b);term_new_line;} /* same with two arguments */
+ @d print3_ln(a,b,c)  {print3(a,b,c);term_new_line;}
diff --git a/app-text/texlive-core/texlive-core-2014-r3.ebuild b/app-text/texlive-core/texlive-core-2014-r3.ebuild
new file mode 100644 (file)
index 0000000..a5f02e7
--- /dev/null
@@ -0,0 +1,341 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-text/texlive-core/texlive-core-2014-r3.ebuild,v 1.1 2015/03/09 14:27:47 jlec Exp $
+
+EAPI=5
+
+#TL_UPSTREAM_PATCHLEVEL="1"
+PATCHLEVEL="46"
+TL_SOURCE_VERSION=20140525
+
+inherit eutils flag-o-matic toolchain-funcs libtool texlive-common
+
+MY_PV=${PN%-core}-${TL_SOURCE_VERSION}-source
+
+DESCRIPTION="A complete TeX distribution"
+HOMEPAGE="http://tug.org/texlive/"
+SLOT="0"
+LICENSE="GPL-2 LPPL-1.3c TeX"
+
+SRC_URI="mirror://gentoo/${MY_PV}.tar.xz"
+
+# Fetch patches
+SRC_URI="${SRC_URI} mirror://gentoo/${PN}-patches-${PATCHLEVEL}.tar.xz"
+#      mirror://gentoo/texlive-core-upstream-patches-${TL_UPSTREAM_PATCHLEVEL}.tar.xz"
+
+TL_CORE_BINEXTRA_MODULES="
+       a2ping adhocfilelist asymptote bundledoc ctanify ctanupload ctie cweb
+       de-macro dtl dtxgen dvi2tty dviasm dvicopy dvidvi dviljk dvipos findhyph
+       fragmaster hyphenex installfont lacheck latex-git-log latex2man
+       latexfileversion latexpand latexindent ltxfileinfo ltximg listings-ext
+       match_parens mkjobtexmf patgen pdfcrop pdftools pfarrei pkfix pkfix-helper
+       purifyeps seetexk sty2dtx synctex texcount texdef texdiff texdirflatten
+       texdoc texliveonfly texloganalyser texware tie tpic2pdftex typeoutfileinfo
+       web collection-binextra
+       "
+TL_CORE_BINEXTRA_DOC_MODULES="
+       a2ping.doc adhocfilelist.doc asymptote.doc bundledoc.doc ctanify.doc
+       ctanupload.doc ctie.doc cweb.doc de-macro.doc dtxgen.doc dvi2tty.doc
+       dvicopy.doc     dviljk.doc dvipos.doc findhyph.doc fragmaster.doc
+       installfont.doc latex-git-log.doc latex2man.doc latexfileversion.doc
+       latexpand.doc latexindent.doc ltxfileinfo.doc ltximg.doc listings-ext.doc
+       match_parens.doc mkjobtexmf.doc patgen.doc pdfcrop.doc pdftools.doc
+       pfarrei.doc pkfix.doc pkfix-helper.doc purifyeps.doc sty2dtx.doc synctex.doc
+       texcount.doc texdef.doc texdiff.doc texdirflatten.doc texdoc.doc
+       texliveonfly.doc texloganalyser.doc texware.doc tie.doc tpic2pdftex.doc
+       typeoutfileinfo.doc web.doc
+       "
+TL_CORE_BINEXTRA_SRC_MODULES="
+       adhocfilelist.source hyphenex.source listings-ext.source mkjobtexmf.source
+       pfarrei.source texdef.source
+       "
+
+TL_CORE_EXTRA_MODULES="tetex hyphen-base texconfig gsftopk texlive.infra ${TL_CORE_BINEXTRA_MODULES}"
+TL_CORE_EXTRA_DOC_MODULES="tetex.doc texconfig.doc gsftopk.doc texlive.infra.doc ${TL_CORE_BINEXTRA_DOC_MODULES}"
+TL_CORE_EXTRA_SRC_MODULES="${TL_CORE_BINEXTRA_SRC_MODULES}"
+
+for i in ${TL_CORE_EXTRA_MODULES}; do
+       SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.tar.xz"
+done
+
+SRC_URI="${SRC_URI} doc? ( "
+for i in ${TL_CORE_EXTRA_DOC_MODULES}; do
+       SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.tar.xz"
+done
+SRC_URI="${SRC_URI} )"
+SRC_URI="${SRC_URI} source? ( "
+for i in ${TL_CORE_EXTRA_SRC_MODULES}; do
+       SRC_URI="${SRC_URI} mirror://gentoo/texlive-module-${i}-${PV}.tar.xz"
+done
+SRC_URI="${SRC_URI} )"
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
+IUSE="cjk X doc source tk xetex"
+
+TEXMF_PATH=/usr/share/texmf-dist
+
+MODULAR_X_DEPEND="X? (
+                               x11-libs/libXmu
+                               x11-libs/libXp
+                               x11-libs/libXpm
+                               x11-libs/libICE
+                               x11-libs/libSM
+                               x11-libs/libXaw
+                               x11-libs/libXfont
+       )"
+
+COMMON_DEPEND="${MODULAR_X_DEPEND}
+       !app-text/ptex
+       !app-text/tetex
+       !<app-text/texlive-2007
+       !app-text/xetex
+       !<dev-texlive/texlive-basic-2014
+       !<dev-texlive/texlive-metapost-2011
+       !app-text/dvibook
+       !dev-tex/luatex
+       !app-text/dvipdfm
+       !app-text/dvipdfmx
+       !app-text/xdvipdfmx
+       sys-libs/zlib
+       >=media-libs/libpng-1.2.43-r2:0=
+       >=app-text/poppler-0.12.3-r3:=
+       >=x11-libs/cairo-1.12
+       >=x11-libs/pixman-0.18
+       dev-libs/zziplib
+       app-text/libpaper
+       xetex? (
+               >=media-libs/harfbuzz-0.9.20[icu,graphite]
+               >=dev-libs/icu-50:=
+               app-text/teckit
+               media-libs/fontconfig
+               media-gfx/graphite2
+       )
+       media-libs/freetype:2
+       >=dev-libs/kpathsea-6.2.0
+       cjk? ( >=dev-libs/ptexenc-1.3.2_p20140525-r1 )"
+
+DEPEND="${COMMON_DEPEND}
+       virtual/pkgconfig
+       sys-apps/ed
+       sys-devel/flex
+       app-arch/xz-utils"
+
+RDEPEND="${COMMON_DEPEND}
+       >=app-text/ps2pkm-1.5_p20130530
+       >=app-text/dvipsk-5.993_p20130530
+       >=dev-tex/bibtexu-3.71_p20130530
+       virtual/perl-Getopt-Long
+       tk? ( dev-perl/perl-tk )"
+
+S="${WORKDIR}/${P}_build"
+B="${WORKDIR}/${MY_PV}"
+
+src_unpack() {
+       unpack ${A}
+       mkdir -p "${S}" || die "failed to create build dir"
+}
+
+RELOC_TARGET=texmf-dist
+
+src_prepare() {
+       cd "${WORKDIR}"
+       # From texlive-module.eclass.
+       grep -H RELOC tlpkg/tlpobj/* | awk '{print $2}' | sed 's#^RELOC/##' > "${T}/reloclist"
+       { for i in $(<"${T}/reloclist"); do  dirname $i; done; } | uniq > "${T}/dirlist"
+       for i in $(<"${T}/dirlist"); do
+               [ -d "${RELOC_TARGET}/${i}" ] || mkdir -p "${RELOC_TARGET}/${i}"
+       done
+       for i in $(<"${T}/reloclist"); do
+               mv "${i}" "${RELOC_TARGET}"/$(dirname "${i}") || die "failed to relocate ${i} to ${RELOC_TARGET}/$(dirname ${i})"
+       done
+
+       mv "${WORKDIR}"/texmf* "${B}" || die "failed to move texmf files"
+
+       cd "${B}"
+       #EPATCH_MULTI_MSG="Applying patches from upstream bugfix branch..." EPATCH_SUFFIX="patch" epatch "${WORKDIR}/gentoo_branch2011_patches"
+       EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches"
+
+       epatch "${FILESDIR}"/${P}-format-security.patch
+
+       elibtoolize
+}
+
+src_configure() {
+       # It fails on alpha without this
+       use alpha && append-ldflags "-Wl,--no-relax"
+
+       # Too many regexps use A-Z a-z constructs, what causes problems with locales
+       # that don't have the same alphabetical order than ascii. Bug #242430
+       # So we set LC_ALL to C in order to avoid problems.
+       export LC_ALL=C
+       tc-export CC CXX AR RANLIB
+       ECONF_SOURCE="${B}" \
+               econf -C \
+               --bindir="${EPREFIX}"/usr/bin \
+               --datadir="${S}" \
+               --with-system-freetype2 \
+               --with-system-zlib \
+               --with-system-libpng \
+               --with-system-xpdf \
+               --with-system-poppler \
+               --with-system-teckit \
+               --with-teckit-includes="${EPREFIX}"/usr/include/teckit \
+               --with-system-kpathsea \
+               --with-kpathsea-includes="${EPREFIX}"/usr/include \
+               --with-system-icu \
+               --with-system-ptexenc \
+               --with-system-harfbuzz \
+               --with-system-icu \
+               --with-system-graphite2 \
+               --with-system-cairo \
+               --with-system-pixman \
+               --with-system-zziplib \
+               --with-system-libpaper \
+               --without-texinfo \
+               --disable-dialog \
+               --disable-multiplatform \
+               --enable-epsfwin \
+               --enable-mftalkwin \
+               --enable-regiswin \
+               --enable-tektronixwin \
+               --enable-unitermwin \
+               --with-ps=gs \
+               --disable-psutils \
+               --disable-t1utils \
+               --enable-ipc \
+               --disable-biber \
+               --disable-bibtex-x \
+               --disable-dvipng \
+               --disable-dvipsk \
+               --disable-chktex \
+               --disable-lcdf-typetools \
+               --disable-pdfopen \
+               --disable-ps2eps \
+               --disable-ps2pkm \
+               --disable-detex \
+               --disable-ttf2pk2 \
+               --disable-tex4htk \
+               --disable-cjkutils \
+               --disable-xdvik \
+               --disable-xindy \
+               --enable-luatex \
+               --disable-dvi2tty \
+               --disable-dvisvgm \
+               --disable-vlna \
+               --enable-shared \
+               --disable-native-texlive-build \
+               --disable-largefile \
+               $(use_enable xetex) \
+               $(use_enable cjk ptex) \
+               $(use_enable cjk eptex) \
+               $(use_enable cjk uptex) \
+               $(use_enable cjk euptex) \
+               $(use_enable cjk mendexk) \
+               $(use_enable cjk makejvf) \
+               $(use_enable tk texdoctk) \
+               $(use_with X x)
+}
+
+src_compile() {
+       tc-export CC CXX AR RANLIB
+       emake SHELL="${EPREFIX}"/bin/sh texmf="${EPREFIX}"${TEXMF_PATH:-/usr/share/texmf-dist}
+
+       cd "${B}" || die
+       # Mimic updmap --syncwithtrees to enable only fonts installed
+       # Code copied from updmap script
+       for i in `egrep '^(Mixed|Kanji)?Map' "texmf-dist/web2c/updmap.cfg" | sed 's@.* @@'`; do
+               texlive-common_is_file_present_in_texmf "$i" || echo "$i"
+       done > "${T}/updmap_update"
+       {
+               sed 's@/@\\/@g; s@^@/^MixedMap[     ]*@; s@$@$/s/^/#! /@' <"${T}/updmap_update"
+               sed 's@/@\\/@g; s@^@/^Map[  ]*@; s@$@$/s/^/#! /@' <"${T}/updmap_update"
+               sed 's@/@\\/@g; s@^@/^KanjiMap[     ]*@; s@$@$/s/^/#! /@' <"${T}/updmap_update"
+       } > "${T}/updmap_update2"
+       sed -f "${T}/updmap_update2" "texmf-dist/web2c/updmap.cfg" >    "${T}/updmap_update3"\
+               && cat "${T}/updmap_update3" > "texmf-dist/web2c/updmap.cfg"
+}
+
+src_install() {
+       dodir ${TEXMF_PATH:-/usr/share/texmf-dist}/web2c
+       emake DESTDIR="${D}" texmf="${ED}${TEXMF_PATH:-/usr/share/texmf-dist}" run_texlinks="true" run_mktexlsr="true" install
+
+       cd "${B}" || die
+       dodir /usr/share # just in case
+       cp -pR texmf-dist "${ED}/usr/share/" || die "failed to install texmf trees"
+       cp -pR "${WORKDIR}"/tlpkg "${ED}/usr/share/" || die "failed to install tlpkg files"
+
+       # When X is disabled mf-nowin doesn't exist but some scripts expect it to
+       # exist. Instead, it is called mf, so we symlink it to please everything.
+       use X || dosym mf /usr/bin/mf-nowin
+
+       docinto texk
+       cd "${B}/texk"
+       dodoc ChangeLog README
+
+       docinto dviljk
+       cd "${B}/texk/dviljk"
+       dodoc ChangeLog README NEWS
+
+       docinto makeindexk
+       cd "${B}/texk/makeindexk"
+       dodoc ChangeLog NOTES README
+
+       docinto web2c
+       cd "${B}/texk/web2c"
+       dodoc ChangeLog NEWS PROJECTS README
+
+       use doc || rm -rf "${ED}/usr/share/texmf-dist/doc"
+
+       dodir /etc/env.d
+       echo 'CONFIG_PROTECT_MASK="/etc/texmf/web2c /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d"' > "${ED}/etc/env.d/98texlive"
+       # populate /etc/texmf
+       keepdir /etc/texmf/web2c
+
+       # take care of updmap.cfg and language.d files
+       keepdir /etc/texmf/{updmap.d,language.dat.d,language.def.d,language.dat.lua.d}
+
+       mv "${ED}${TEXMF_PATH}/web2c/updmap.cfg" "${ED}/etc/texmf/updmap.d/00updmap.cfg" || die "moving updmap.cfg failed"
+
+       # Remove fmtutil.cnf, it will be regenerated from /etc/texmf/fmtutil.d files
+       # by texmf-update
+       rm -f "${ED}${TEXMF_PATH}/web2c/fmtutil.cnf"
+       # Remove bundled and invalid updmap.cfg
+       rm -f "${ED}/usr/share/texmf-dist/web2c/updmap.cfg"
+
+       texlive-common_handle_config_files
+
+       keepdir /usr/share/texmf-site
+
+       # the virtex symlink is not installed
+       # The links has to be relative, since the targets
+       # is not present at this stage and MacOS doesn't
+       # like non-existing targets
+       dosym tex /usr/bin/virtex
+       dosym pdftex /usr/bin/pdfvirtex
+
+       # Rename mpost to leave room for mplib
+       mv "${ED}/usr/bin/mpost" "${ED}/usr/bin/mpost-${P}"
+       dosym "mpost-${P}" /usr/bin/mpost
+
+       # Ditto for pdftex
+       mv "${ED}/usr/bin/pdftex" "${ED}/usr/bin/pdftex-${P}"
+       dosym "pdftex-${P}" /usr/bin/pdftex
+}
+
+pkg_postinst() {
+       etexmf-update
+
+       elog
+       elog "If you have configuration files in ${EPREFIX}/etc/texmf to merge,"
+       elog "please update them and run ${EPREFIX}/usr/sbin/texmf-update."
+       elog
+       ewarn "If you are migrating from an older TeX distribution"
+       ewarn "Please make sure you have read:"
+       ewarn "http://www.gentoo.org/proj/en/tex/texlive-migration-guide.xml"
+       ewarn "in order to avoid possible problems"
+       elog
+       elog "TeXLive has been split in various ebuilds. If you are missing a"
+       elog "package to process your TeX documents, you can install"
+       elog "dev-tex/texmfind to easily search for them."
+       elog
+}