diff options
author | 2013-05-12 17:56:14 +0000 | |
---|---|---|
committer | 2013-05-12 17:56:14 +0000 | |
commit | 435f9ec3da7332a806b9b19145a799ac415d9f08 (patch) | |
tree | 845f1bc7307d4d8d2129f1460f40cfee3c0f3052 /media-libs/fontconfig | |
parent | Stable for amd64 wrt bug #469470 (diff) | |
download | historical-435f9ec3da7332a806b9b19145a799ac415d9f08.tar.gz historical-435f9ec3da7332a806b9b19145a799ac415d9f08.tar.bz2 historical-435f9ec3da7332a806b9b19145a799ac415d9f08.zip |
Version bump, also include upstream patches that will be in 2.10.93 and incorporate a fix to bug #466432 making fedora patch not needed.
Package-Manager: portage-2.1.11.63/cvs/Linux x86_64
Manifest-Sign-Key: 0xA188FBD4
Diffstat (limited to 'media-libs/fontconfig')
11 files changed, 1204 insertions, 17 deletions
diff --git a/media-libs/fontconfig/ChangeLog b/media-libs/fontconfig/ChangeLog index 009af5499344..c50692149e0c 100644 --- a/media-libs/fontconfig/ChangeLog +++ b/media-libs/fontconfig/ChangeLog @@ -1,6 +1,20 @@ # ChangeLog for media-libs/fontconfig # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/fontconfig/ChangeLog,v 1.170 2013/04/29 14:42:34 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/fontconfig/ChangeLog,v 1.171 2013/05/12 17:56:03 pacho Exp $ + +*fontconfig-2.10.92 (12 May 2013) + + 12 May 2013; Pacho Ramos <pacho@gentoo.org> + +files/fontconfig-2.10.92-automake-1.13.patch, + +files/fontconfig-2.10.92-closing-fp.patch, + +files/fontconfig-2.10.92-fix-check.patch, + +files/fontconfig-2.10.92-fix-woff.patch, + +files/fontconfig-2.10.92-ft-face.patch, + +files/fontconfig-2.10.92-ft-face2.patch, + +files/fontconfig-2.10.92-native-fonts.patch, + +files/fontconfig-2.10.92-use-glob.patch, +fontconfig-2.10.92.ebuild: + Version bump, also include upstream patches that will be in 2.10.93 and + incorporate a fix to bug #466432 making fedora patch not needed. 29 Apr 2013; Michal Gorny <mgorny@gentoo.org> metadata.xml: Add multilib@ as the co-maintainer for multilib conversion. diff --git a/media-libs/fontconfig/Manifest b/media-libs/fontconfig/Manifest index 04236389a38a..cd474667a36b 100644 --- a/media-libs/fontconfig/Manifest +++ b/media-libs/fontconfig/Manifest @@ -2,37 +2,35 @@ Hash: SHA256 AUX fontconfig-2.10.2-docbook.patch 648 SHA256 d4b5acc1fe079071cbe7b886769dc561d6318f9193c1e32ed2cca9720a3c346e SHA512 b0adb7c406445c25c96c5dc37af9e6fcc8c75a0752af255465673812bdc332ce43439a100c056744ace0dd5b3350596eedd612489c33d19a6f6cd182c08e2961 WHIRLPOOL b2cfd619aff49024190409c33bd5ff3754b88e5c04a30df52c90bf0ab9b4ce5cd5727423939b70538760bb1e7a02325d76426cf94bdb9e8eb165966b40767197 +AUX fontconfig-2.10.92-automake-1.13.patch 4236 SHA256 130c3f824d6cb4bb251acff1d290140f4a72c99524aca1523d48572a9c831a45 SHA512 2be9f76684c16a2c136649262af6c9f4f362a6cc91dd782d644da7bdbb958a9058b65f245ee36e2327226b695fc86982ab6243eea15f3b274b9181d272f1a142 WHIRLPOOL 7e1655fa20b2b026772cbb4d5891a37f2c0277a1f45e130105f34a51de59b33f913a995c57c07ab201cd4d43bcc1a99fac5c0b109c5949e136d2b12e336bcc91 +AUX fontconfig-2.10.92-closing-fp.patch 513 SHA256 e558fc4295d2038a30e2f12d9377d212885742c53e29f96b7bb7bdfc37be5b19 SHA512 2b5190e36a57034bf77efdd673bfe3aeb284acd0030f2305820a3b5e070567fba6d98b11f287743cb075b521b0eb468d40b5239502b3b04cafe1e11f6ecf496b WHIRLPOOL 951b3a85a9b34bbb5a6f2ab43998a326c11c92062742bd6b14ea3422df6aec72e1c30e04cc1ee1f1bfd1e5f9cbdf6564d5a21cb0c32237aafc553ea0dc324769 +AUX fontconfig-2.10.92-fix-check.patch 3765 SHA256 93efdab5d254ed6ce3613050c79598888d515b33a0a020f2434abdd9bcedbc47 SHA512 568c3f42b3f6000c6012c3c6cbac58585926a55498900d4e619258fa30b6faf3626306a5fda5c348e8e53a13f5cd1216cab77ebae14fb6480174ed5e6db89d8a WHIRLPOOL d8a94510f36983aa118f6515e9d28d41a5858295dd2a10a5d7aad8ee7dfd09b9ecdab17adc5013f3db77b3d46edc11aa0d08064f176b4b7512f2d76fd575fed4 +AUX fontconfig-2.10.92-fix-woff.patch 3884 SHA256 8ef41c69d5a87fd4d180a86fa80160277bb13fba020d547724698128590f60a1 SHA512 38b40fd954b3aa571661cea03e58ff2314c0fee55559db3abb6f2d705e7ea8ae9b9ad8a707791f2cd831220ae38926893ee4df3fd5c3a1beffb144e0e5e7e73d WHIRLPOOL 9977efd914c67eae1fad0dcfdc65d445d445678ac1cccde4dac2d383ed55c7382aa223ee3f7d24d72bc8126b1c2bb8241ad82b00f4250598e24623ce35e2da5d +AUX fontconfig-2.10.92-ft-face.patch 3694 SHA256 387b94433c273c9ab2e26a55cbb1c99dd1f0d2849de45ea8e9c16180e9ccfd93 SHA512 43f11beefbb7e4a7cf639985e7908d558dcdfd418fe03426ce658eb4bd5364f02cc48e3da21b4cc8d86fd3454fa0a8042b7bfbdd4c5c2d2fc8b93efbeb631a4f WHIRLPOOL 8bdcdfcc69c00b4b601ba0986b16dabeb9e8bcf235a654b3ba21a39e333be06b0473d3ec84fd0e0dbc55b80386a3a26b29cf14403fd7ddca2344e1d1c53233b6 +AUX fontconfig-2.10.92-ft-face2.patch 4571 SHA256 4f1dd509f0834b55fd9c8ac21a2dde3fb4b2d0af62f8f7e85aeacf4ab3b039e9 SHA512 1f36a230c2d11c53ec2e5f6326455a535357bf726f0f8e149c57f08e992454f2995709c3a5fa1a73a0928e5db758f3837993eab000ed5e33b7a15f1235938da3 WHIRLPOOL 96e70867faa3332d3f18327d97ab04af5f7f0eab142c1f1c27893707e6a789ec43eb2669680537e31aaa169b2f0067a4dfac1b7303ddbedf86f6027747655d78 +AUX fontconfig-2.10.92-native-fonts.patch 2223 SHA256 d0d17ddbb5a20ef259eb33757904e076291a817312e94deb6d8f7b7cd064a3ce SHA512 1d7051c9f86c3b03264ee3472796eeeb6a118fcefd95736530fbbbf5a11be8cb588d7cce8a35b5b2c465e828198775b9d2048e6999d83b76271dfe3b1db075fb WHIRLPOOL 89544e1b85fdc6f11fec9fed31d8264970b48be15e984d10bee2df3dad99cad08a07c81cb54cc2637e0a466857b8a07256bc1fd998ed944be5153521dab3fc6b +AUX fontconfig-2.10.92-use-glob.patch 3711 SHA256 1a099e418cbea3947a60d933dd8799062ec8398916186f76eecdbbbfd0aa7eb6 SHA512 26cd86e3d63138d6161766a4e8c8593c4e76037d0bd20617fc4ccef6c21549a54532e947e1360e70a079a54306d8cf42c4fbe46c56de6e134ceae5dfe6be4465 WHIRLPOOL 62b123d9334c793bc0d56d0b1600d4bf8efd0b8b5449b8801b2158edf559bbd99b9848ef16305434b593ac128ff672f24e01e4d94fb40b1fecea299421140622 AUX fontconfig-2.3.2-docbook.patch 506 SHA256 c6480dcf19fec22126a9205fa3d9b317e5a97613f86218cf1926a2a07848afd5 SHA512 8c5bc39c6d5c3b0457c626c678c0a7c94c5e5a4f041b5b2a42df04701750961e24950135d2e6df4d4e1c64a7f28e50a2533ab154d7226cf0a63db0853149f64f WHIRLPOOL 84de35d8f5755a10eb170b2f54afc5b89f4c1757b10f053adc9b5e96aebcd5bbfc47d16963f01a2b3bc0f791a736439b3317f823221794f9fc93e5c57162734f AUX fontconfig-2.7.1-latin-reorder.patch 1701 SHA256 cd27212a9e8a3045106fd427f2e5079ea348789c8760e7af443c2745479c8f82 SHA512 8fc514649e40ecd0c52e4fef9479e0945baa3aaa396335650bf827a983f6d9187b0f66ab97bf5b11b14917518b2e955b0a1bca126a336feafbebf754ff646d5d WHIRLPOOL e6e90c38c7ce04e297c48f5b9859c5e9230a59e9722dacde5ddd434cca8fbd33fab55f704df540eea3f3efd6ee05884987e6ce5da544d2b41f869e47ce3d259d AUX fontconfig-2.8.0-urw-aliases.patch 509 SHA256 4a1e122dd3b140765163ca72eba8c2c52daa9e9459ddbcb6a2eba9a5bebe76d4 SHA512 774c57a28e10eb666c18e69dd7cf59fe1110fe13bbbade185dbd21be4917d4d7fb632be56805b2739ea9b47ee96560c8dd1d3d1916fed56ac32a16757a911f7e WHIRLPOOL 11d7056d1830a7e48aea00a22bb81397c9025f59817fd476dc26083e7ac2603aefd2ace261dfd04df78b6caa8d9c07f66027f37438b4677a7efe28b3cff260b6 DIST fontconfig-2.10.2.tar.bz2 1412488 SHA256 8ea8ef56738fd95f0be611015f89614fd4dec79ddac6b3ff26bc4a8338569952 SHA512 817ce375f987abb6ea01294c22754e194a9b795697e9fe01d454af87010665b22a416d0c857ceac6aab17351cc85fd0915f51d2a8702a00f851e08f65dd840bf WHIRLPOOL a213c2af9ef1e0ccf19ba8c7119cb1d85e06ec048cf66c933fc9c552b7c642b42636714d214dcbd9794024af123189fcbb73dc4968ba2135b66b6191c05d919e DIST fontconfig-2.10.91.tar.bz2 1507887 SHA256 a4727954e950c0b8ae71580e2328bf54457d835ff3023ae4bd7221f9073e63ee SHA512 a239b33c4404db2db769cd294e672a7c8577266252eb2828f1838e1a2952a6fbb1646d7946ac5f299e9399b0428c8333ab0bf984b855188ee2c244f16a844b6d WHIRLPOOL 1db43a01c772aaedf1d0402a38fa51035c7b269bb419bde864a219869d231b11a0b1f0e44d62c5153927b047949b2c91f08622d2ca03466b9a76226e23e3d63a +DIST fontconfig-2.10.92.tar.bz2 1525585 SHA256 1162059927120f2321f12917189b524e6b2f09e11ac643278d0bb82634035b22 SHA512 b09996f1715a1d563cfc95a986847d0895fff96fb8a5db4b006a560764654db749675ed5d4ca2369296c0f6d2c21581e63892df2883d021ff6b92ede04788a1b WHIRLPOOL 75164908ce454c26583afde9575e4dac2985dd947f8abaf3a5173777fc738c11430c72674c342ae9445f2a749d0414b7d291032203f62e2cb5d6db5b119f14f5 DIST fontconfig-2.8.0.tar.gz 1548409 SHA256 fa2a1c6eea654d9fce7a4b1220f10c99cdec848dccaf1625c01f076b31382335 SHA512 a110e72cc631f1e374324a02f6ba9526b89a547cafe2ae27b9913938b19018843b2940084d62f0dfaf38a6919dea6974fb98422d3908026f6873d5fba17c55a0 WHIRLPOOL cb7c5c461bcb0a0f6ef93d24a10506512beb99233a1f81d904321577c4023e38c7090806c616b8224689400fc4e2209e26aa20aa1f0ad84b2fcad5477061a003 DIST fontconfig-2.9.0.tar.gz 1682774 SHA256 ca7e25071cf044bdcdaf7c48845243c115b9269b4e369c6bd78a29e71f01b41a SHA512 1e91132141756c7455b97fb4d7773b8c0812d98d0c0f5f137c728d6f03cb4601a7f2857c246bd63619d47a8d9aeceb475a16dd625bfc085e235e85b04d29014f WHIRLPOOL a3814b4b2a1b86cedde702545defbcfbca7d3d61ecf512f37a09b5c4041ebb317aadcde1553be534e70d30c212729f547b50cbcd3102226fa92a7c75a7e55620 EBUILD fontconfig-2.10.2-r1.ebuild 4141 SHA256 a170432d907abfd34a6fa4067bb31ecc9d902d4befda8cafd32777637b8b2568 SHA512 73822b066b40e047d07f9465b9ea89cf48716723477182afcf1fc764032fe67b0c205881141791b7e543dc0d01e0069ae4917895257915aa3e20d024e74a36f2 WHIRLPOOL 2784305a0948ed827b22f0c49033f17451970440f9194a35fc5e6fa764e84f04c20d8c2250b48a2635bade96778202bd94b7a06d28fab7d31c5807c11c3f3b4f EBUILD fontconfig-2.10.2.ebuild 3943 SHA256 6528a0c5be7f4a0abb590f7a15e8d97df5093f677de641804638ad0c180a5413 SHA512 e7b119d8bda01bd6ecbc01e43baeaf486ad86298c26f263fbd77ffab75a5f710474b4b81392ea8934fc83d67726c02fe0f88934b76877b61566b35ed65c6b57f WHIRLPOOL 0810614452832ed22abb2168b89b3c93b1eacc4d4b9ece4fde26be2442e586be483688282f0064a91b683d873486135afb9f9f5c93083f636f541ef0a75014fd EBUILD fontconfig-2.10.91.ebuild 4137 SHA256 c9ed36ecefd2c107f14232aa0c5223b9d9a49a5ac08b3a94d57483827678369d SHA512 ebe14fdc84b1f97c7e05d240c97219ad25344db3d9ac98023a7f286b59f44e79eab2b84a941901dc71c7ac0a5a48852afa18db0a86771883846830d1ac4a9e97 WHIRLPOOL a0745657709ee8001add8ccaea0e4dd0cf92fedd770e15b8a36b48174b85ded7ebeb081c516333c28fc39c2b9d6f868a5d309ee09b1773da66b27e6885ce51a7 +EBUILD fontconfig-2.10.92.ebuild 4455 SHA256 5d5b425b76b79bd067ffc6dd907358c6a6d7000f9c1ad64d74fda93178b1e4e7 SHA512 a58e6ad7e70fcde1fea3490889d01ada9c79022304fc0f996f3029d98b11c4de1da2feb96cb899eab751efd8ba340a9c480a275948ce80a7fe1109249e635c59 WHIRLPOOL 7711c298e12a963ab48e8c3d38ace7b2edcc521aa5e831c1f0a6938019196ab5d1c22e60b177a4eb70e8be88d4f380c67545cabc85138a05b7f11c69f52cb839 EBUILD fontconfig-2.8.0-r1.ebuild 3979 SHA256 41cc191c9e0763037801dcc0c8d8c753ce3ec5f236cec906a2e21a6140e5306f SHA512 5f0e19e48f9a7ca5ea863f2dd6c1afdcc2de2433a06da0ce69e5b6fcb769c757ebf2dcfaa500fc6532862af100501d5162678a1f7ce11256a871520350956556 WHIRLPOOL 7aca6d65eba1a31ab29ade2dbe39f6fc85d6542bed47aaadd3bfa38f5708aacf60b357a8f2df61b16da7e654e91a16b345cf17997de775099bad91680d305c92 EBUILD fontconfig-2.8.0-r2.ebuild 4097 SHA256 bef5159f77106a962ab71c9649f09da4edcbf1b97689056bd41d6abb3d0cd72b SHA512 2870976af6b62fec207efd4836f3870345372716c46c1cf5466f1f697b8f3fea9a1185918240f182eb0ce39d5c85aee8a62e1b29236a8e707fa40c04f08a29f6 WHIRLPOOL ad2f48f5c86d75adca42e936589707b3b2e1a4faff6cc34b26e2ee574e1b73713ff5d57da35927ed8e0545044d98679ef5dbd715c38870f69d3ead0771c0bcd3 EBUILD fontconfig-2.9.0.ebuild 4081 SHA256 6c897b70cec26bf69f8fd6344e62fa5204b4cd46860c1e5ea7cfa961c8b22b14 SHA512 7495d2a674d407d3ba535288b444034a3a7a9465eab1b89807e4f59366f0a8b548d0db973858026e58c4e633e0652ad7ffe9c0f5ba8037e207ede9082e84694b WHIRLPOOL 0d9a1b4d4dbd2c4e6fb790d5dea3e369ec112468843af9ce0c7a5f0dce0af1f411544b13dfeb4dceb4cfe9c1d5507dd304349ba33fc57a8a761ed47bc834ad18 -MISC ChangeLog 27086 SHA256 7387ccee9d848184ea28e0d3da6f36b19b3f0fca175a202517abfb77cc1c0715 SHA512 6ccbc2a9133fa82ca073cb41fce5a8eb185dce3f6ecd6d60a8a568ab4726fef29f391c564acdd66aa7f38c9c0f1f8aa94344285b26b916441d33e1c86158a6af WHIRLPOOL a65023ea4d54328ea03d75b39b5647cc16886df167ba041b32912f5d50ab53c3852612e52f98eaf31e96b4f5f644ba9363f8e434b0b9f37c10350d80c55052b8 +MISC ChangeLog 27699 SHA256 c7d38b841589beee04055927604207b4691070fdb417083b332d73132f737eda SHA512 ccc2c3d88f56decbc5ef0dd6472df333314f887e47e604e419e54103613653e697050a908612890ba89005efa2bee956e80c39d538dcf4376d8e38866a7b3b59 WHIRLPOOL 395b27193c711b1f9d3786fd8411080a98252a9c418ac1b90dc26f6e92f12d11418cf1f85fce581817a8ba804cdcd6a90eb57225ce6ec6f6b7ec1143383f163e MISC metadata.xml 727 SHA256 90e4744ccb449b368e08690f44e02d4d8812b2a85223fb28943e5cbfd9bc1cbc SHA512 57e7f4ccb02227afe7ff2a9e2ad78a7ad54932d900a82c470bf0a71056357e8393d27c73e7f9f78940d8dc35d83182a14a0ca8feffe4c08a029c158ba343724d WHIRLPOOL fb47925fc948cac4a70befbf369a1cafcc94b00b607e07709692288fca5dd4fadb2e8e2e0b1e495d92ed3746d9fa9d45fd45d6aa4dea403617aa78b13e8b4f89 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (GNU/Linux) -iQJ8BAEBCABmBQJRfobfXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w -ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRGRDhEM0MyMERDMzNBMkYzQzJFRTI3QjE5 -NjI3RjQ1NkY5REE3NjQzAAoJEJYn9Fb52nZDs7sP/02mG4f96zXB22ia5RBnvjwt -ejaLP4+4Il7fxyX5Mi+IMqOCEskNjw5MsOq5BN7Ct6uCYO3YKzd9VWDDcVkgCGz3 -St8cMArJE8/nbGzhMfJ/58VOhBTxRVq4gthy4fihK3FI9tRGMzWOTirIudptF5jB -o1pTcbwHeDyipJR9m6rUutzMhBiPLzS3c55Aam80SkYY8rmXzBH42kXi7dsMQcBQ -baVXpmMcDENtYYjslYZFgOqCSth56UDvJiMSQmqjJCnhOr66S2xzJKlvKZjBYASn -PFNCeeamhBuWwATK0CJYXrDrt1PTH3j63s6AFcA8ify+7hvOZ4fTCeJm1sWB0Od3 -3Qiop9vQnP13o9WJcDbf2v+WtKEGFIi/ihcfPtEDHXu12x4pa6hVXZUs5Pgjo0cY -LT+d1QfXCsSq/vegenNZbyHGv96EGssYHLOA3yEx/YGGQiJmWHem+zrmVydf7cpm -1S1RvFPFwbKIN14XeGnQVK7kxzYfIQBqfwZaSgwA/MzRflLTaC2lpnpSFjbvExK9 -H+2ToXb0zK+VEuC37VuAJENE7GK0mHGMnF3BtqOTOlwju1l95wGvhwueGLLgBOsV -9oRvHrFE/aFDHJXiccleWg2np8PIaBqUiwfjvsN97aCW94wD2F3X1V1sytBDREyr -snHFkeda+npMor17Mmz5 -=czFh +iEYEAREIAAYFAlGP17UACgkQCaWpQKGI+9QdpwCeJV3Jb/t+qcblrG7xXqAZkT88 +6HQAn1rYW1O8RFoGRRvPVqxGfdhYxS9y +=Mk50 -----END PGP SIGNATURE----- diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-automake-1.13.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-automake-1.13.patch new file mode 100644 index 000000000000..02b89fa99e56 --- /dev/null +++ b/media-libs/fontconfig/files/fontconfig-2.10.92-automake-1.13.patch @@ -0,0 +1,152 @@ +From 18bf57c70aafcad031c0b43756b754dcaf6a756a Mon Sep 17 00:00:00 2001 +From: Sebastian Freundt <hroptatyr@fresse.org> +Date: Sun, 07 Apr 2013 00:02:58 +0000 +Subject: build-chain, replace INCLUDES directive by AM_CPPFLAGS + +As of automake-13.1 the INCLUDES directive is no longer supported. +An automake run will return with an error. + +This changeset simply follows automake's advice to replace INCLUDES +by AM_CPPFLAGS. +--- +diff --git a/Tools.mk b/Tools.mk +index 56766da..f0fa0ec 100644 +--- a/Tools.mk ++++ b/Tools.mk +@@ -32,7 +32,7 @@ TOOL=./$(DIR)$(EXEEXT_FOR_BUILD) + + EXTRA_DIST = $(TARG) $(TMPL) $(TSRC) $(DIST) + +-INCLUDES = \ ++AM_CPPFLAGS = \ + -I$(builddir) \ + -I$(srcdir) \ + -I$(top_builddir)/src \ +@@ -43,7 +43,7 @@ INCLUDES = \ + $(WARN_CFLAGS) + + $(TOOL): $(TSRC) $(ALIAS_FILES) +- $(AM_V_GEN) $(CC_FOR_BUILD) -o $(TOOL) $< $(INCLUDES) ++ $(AM_V_GEN) $(CC_FOR_BUILD) -o $(TOOL) $< $(AM_CPPFLAGS) + + $(TARG): $(TMPL) $(TSRC) $(DEPS) + $(AM_V_GEN) $(MAKE) $(TOOL) && \ +diff --git a/fc-cache/Makefile.am b/fc-cache/Makefile.am +index 7f7d1b1..0e10786 100644 +--- a/fc-cache/Makefile.am ++++ b/fc-cache/Makefile.am +@@ -36,7 +36,7 @@ uninstall-local: + -$(RM) -rf "$(DESTDIR)$(fc_cachedir)" + endif + +-INCLUDES=-I${top_srcdir} -I${top_srcdir}/src $(WARN_CFLAGS) ++AM_CPPFLAGS=-I${top_srcdir} -I${top_srcdir}/src $(WARN_CFLAGS) + + bin_PROGRAMS=fc-cache + +diff --git a/fc-cat/Makefile.am b/fc-cat/Makefile.am +index b426723..04c1cc4 100644 +--- a/fc-cat/Makefile.am ++++ b/fc-cat/Makefile.am +@@ -27,7 +27,7 @@ FC_CAT_SRC=${top_srcdir}/fc-cat + + SGML = ${FC_CAT_SRC}/fc-cat.sgml + +-INCLUDES=-I${top_srcdir} $(WARN_CFLAGS) ++AM_CPPFLAGS=-I${top_srcdir} $(WARN_CFLAGS) + + bin_PROGRAMS=fc-cat + +diff --git a/fc-list/Makefile.am b/fc-list/Makefile.am +index b2c499d..c58540e 100644 +--- a/fc-list/Makefile.am ++++ b/fc-list/Makefile.am +@@ -29,7 +29,7 @@ SGML = ${FC_LIST_SRC}/fc-list.sgml + + bin_PROGRAMS=fc-list + +-INCLUDES=-I${top_srcdir} $(WARN_CFLAGS) ++AM_CPPFLAGS=-I${top_srcdir} $(WARN_CFLAGS) + + BUILT_MANS=fc-list.1 + +diff --git a/fc-match/Makefile.am b/fc-match/Makefile.am +index 0e9e8fd..84afb8b 100644 +--- a/fc-match/Makefile.am ++++ b/fc-match/Makefile.am +@@ -29,7 +29,7 @@ FC_MATCH_SRC=${top_srcdir}/fc-match + + SGML = ${FC_MATCH_SRC}/fc-match.sgml + +-INCLUDES=-I${top_srcdir} $(WARN_CFLAGS) ++AM_CPPFLAGS=-I${top_srcdir} $(WARN_CFLAGS) + + BUILT_MANS=fc-match.1 + +diff --git a/fc-pattern/Makefile.am b/fc-pattern/Makefile.am +index 92b0433..c456247 100644 +--- a/fc-pattern/Makefile.am ++++ b/fc-pattern/Makefile.am +@@ -29,7 +29,7 @@ FC_PATTERN_SRC=${top_srcdir}/fc-pattern + + SGML = ${FC_PATTERN_SRC}/fc-pattern.sgml + +-INCLUDES=-I${top_srcdir} $(WARN_CFLAGS) ++AM_CPPFLAGS=-I${top_srcdir} $(WARN_CFLAGS) + + BUILT_MANS=fc-pattern.1 + +diff --git a/fc-query/Makefile.am b/fc-query/Makefile.am +index b3ea1e6..73b3f11 100644 +--- a/fc-query/Makefile.am ++++ b/fc-query/Makefile.am +@@ -29,7 +29,7 @@ FC_QUERY_SRC=${top_srcdir}/fc-query + + SGML = ${FC_QUERY_SRC}/fc-query.sgml + +-INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS) ++AM_CPPFLAGS=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS) + + BUILT_MANS=fc-query.1 + +diff --git a/fc-scan/Makefile.am b/fc-scan/Makefile.am +index 2063405..471a42f 100644 +--- a/fc-scan/Makefile.am ++++ b/fc-scan/Makefile.am +@@ -29,7 +29,7 @@ FC_SCAN_SRC=${top_srcdir}/fc-scan + + SGML = ${FC_SCAN_SRC}/fc-scan.sgml + +-INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS) ++AM_CPPFLAGS=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS) + + BUILT_MANS=fc-scan.1 + +diff --git a/fc-validate/Makefile.am b/fc-validate/Makefile.am +index 54edec2..782cead 100644 +--- a/fc-validate/Makefile.am ++++ b/fc-validate/Makefile.am +@@ -29,7 +29,7 @@ FC_VALIDATE_SRC=${top_srcdir}/fc-validate + + SGML = ${FC_VALIDATE_SRC}/fc-validate.sgml + +-INCLUDES=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS) ++AM_CPPFLAGS=-I${top_srcdir} $(FREETYPE_CFLAGS) $(WARN_CFLAGS) + + BUILT_MANS=fc-validate.1 + +diff --git a/src/Makefile.am b/src/Makefile.am +index 9fd7dd8..066cc03 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -70,7 +70,7 @@ uninstall-ms-import-lib: + + endif + +-INCLUDES = \ ++AM_CPPFLAGS = \ + -I$(top_srcdir) \ + -I$(top_srcdir)/src \ + $(FREETYPE_CFLAGS) \ +-- +cgit v0.9.0.2-2-gbebe diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-closing-fp.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-closing-fp.patch new file mode 100644 index 000000000000..2f0083f39ed8 --- /dev/null +++ b/media-libs/fontconfig/files/fontconfig-2.10.92-closing-fp.patch @@ -0,0 +1,21 @@ +From 9299155b5247255d6b6687448173056c3ca8d09b Mon Sep 17 00:00:00 2001 +From: Akira TAGOH <akira@tagoh.org> +Date: Tue, 09 Apr 2013 02:34:35 +0000 +Subject: Ensure closing fp on error + +--- +diff --git a/src/fchash.c b/src/fchash.c +index 827b20f..4ea5f37 100644 +--- a/src/fchash.c ++++ b/src/fchash.c +@@ -220,7 +220,7 @@ FcHashGetSHA256DigestFromFile (const FcChar8 *filename) + + ret = FcHashInitSHA256Digest (); + if (!ret) +- return NULL; ++ goto bail0; + + while (!feof (fp)) + { +-- +cgit v0.9.0.2-2-gbebe diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-fix-check.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-fix-check.patch new file mode 100644 index 000000000000..ea07c0c02a35 --- /dev/null +++ b/media-libs/fontconfig/files/fontconfig-2.10.92-fix-check.patch @@ -0,0 +1,143 @@ +From 03216ccf4ca0808f9c7b9513efcaeb7f4058b575 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH <akira@tagoh.org> +Date: Wed, 10 Apr 2013 09:41:22 +0000 +Subject: Bug 63329 - make check fails: .. contents:: :depth: 2 + +Add back FcHashGetSHA256DigestFromFile() and fall back to it +when font isn't SFNT-based font because FT_Load_Sfnt_Table +fails with FT_Err_Invalid_Face_Handle. +--- +diff --git a/src/fcfreetype.c b/src/fcfreetype.c +index 22064b3..5e8990d 100644 +--- a/src/fcfreetype.c ++++ b/src/fcfreetype.c +@@ -1666,17 +1666,29 @@ FcFreeTypeQueryFace (const FT_Face face, + goto bail1; + + err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len); +- if (err != FT_Err_Ok) +- goto bail1; +- alen = (len + 63) & ~63; +- fontdata = malloc (alen); +- if (!fontdata) +- goto bail1; +- err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)fontdata, &len); +- if (err != FT_Err_Ok) ++ if (err == FT_Err_Ok) ++ { ++ alen = (len + 63) & ~63; ++ fontdata = malloc (alen); ++ if (!fontdata) ++ goto bail1; ++ err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)fontdata, &len); ++ if (err != FT_Err_Ok) ++ goto bail1; ++ memset (&fontdata[len], 0, alen - len); ++ hashstr = FcHashGetSHA256DigestFromMemory (fontdata, len); ++ } ++ else if (err == FT_Err_Invalid_Face_Handle) ++ { ++ /* font may not support SFNT. falling back to ++ * read the font data from file directly ++ */ ++ hashstr = FcHashGetSHA256DigestFromFile (file); ++ } ++ else ++ { + goto bail1; +- memset (&fontdata[len], 0, alen - len); +- hashstr = FcHashGetSHA256DigestFromMemory (fontdata, len); ++ } + if (!hashstr) + goto bail1; + if (!FcPatternAddString (pat, FC_HASH, hashstr)) +diff --git a/src/fchash.c b/src/fchash.c +index 1ef1e16..92585a6 100644 +--- a/src/fchash.c ++++ b/src/fchash.c +@@ -204,6 +204,68 @@ FcHashGetSHA256Digest (const FcChar8 *input_strings, + } + + FcChar8 * ++FcHashGetSHA256DigestFromFile (const FcChar8 *filename) ++{ ++ FILE *fp = fopen ((const char *)filename, "rb"); ++ char ibuf[64]; ++ FcChar32 *ret; ++ size_t len; ++ struct stat st; ++ ++ if (!fp) ++ return NULL; ++ ++ if (FcStat (filename, &st)) ++ goto bail0; ++ ++ ret = FcHashInitSHA256Digest (); ++ if (!ret) ++ goto bail0; ++ ++ while (!feof (fp)) ++ { ++ if ((len = fread (ibuf, sizeof (char), 64, fp)) < 64) ++ { ++ long v; ++ ++ /* add a padding */ ++ memset (&ibuf[len], 0, 64 - len); ++ ibuf[len] = 0x80; ++ if ((64 - len) < 9) ++ { ++ /* process a block once */ ++ FcHashComputeSHA256Digest (ret, ibuf); ++ memset (ibuf, 0, 64); ++ } ++ /* set input size at the end */ ++ v = (long)st.st_size * 8; ++ ibuf[63 - 0] = v & 0xff; ++ ibuf[63 - 1] = (v >> 8) & 0xff; ++ ibuf[63 - 2] = (v >> 16) & 0xff; ++ ibuf[63 - 3] = (v >> 24) & 0xff; ++ ibuf[63 - 4] = (v >> 32) & 0xff; ++ ibuf[63 - 5] = (v >> 40) & 0xff; ++ ibuf[63 - 6] = (v >> 48) & 0xff; ++ ibuf[63 - 7] = (v >> 56) & 0xff; ++ FcHashComputeSHA256Digest (ret, ibuf); ++ break; ++ } ++ else ++ { ++ FcHashComputeSHA256Digest (ret, ibuf); ++ } ++ } ++ fclose (fp); ++ ++ return FcHashSHA256ToString (ret); ++ ++bail0: ++ fclose (fp); ++ ++ return NULL; ++} ++ ++FcChar8 * + FcHashGetSHA256DigestFromMemory (const char *fontdata, + size_t length) + { +diff --git a/src/fcint.h b/src/fcint.h +index a662dbf..8919958 100644 +--- a/src/fcint.h ++++ b/src/fcint.h +@@ -818,6 +818,10 @@ FcFontSetSerialize (FcSerialize *serialize, const FcFontSet * s); + FcPrivate FcChar8 * + FcHashGetSHA256Digest (const FcChar8 *input_strings, + size_t len); ++ ++FcPrivate FcChar8 * ++FcHashGetSHA256DigestFromFile (const FcChar8 *filename); ++ + FcPrivate FcChar8 * + FcHashGetSHA256DigestFromMemory (const char *fontdata, + size_t length); +-- +cgit v0.9.0.2-2-gbebe diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-fix-woff.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-fix-woff.patch new file mode 100644 index 000000000000..a3600c0186ba --- /dev/null +++ b/media-libs/fontconfig/files/fontconfig-2.10.92-fix-woff.patch @@ -0,0 +1,157 @@ +diff --git a/src/fcfreetype.c b/src/fcfreetype.c +index 8a037c0..5e8990d 100644 +--- a/src/fcfreetype.c ++++ b/src/fcfreetype.c +@@ -1104,7 +1104,10 @@ FcFreeTypeQueryFace (const FT_Face face, + char psname[256]; + const char *tmp; + +- FcChar8 *hashstr; ++ FcChar8 *hashstr = NULL; ++ char *fontdata = NULL; ++ FT_Error err; ++ FT_ULong len = 0, alen; + + pat = FcPatternCreate (); + if (!pat) +@@ -1662,12 +1665,34 @@ FcFreeTypeQueryFace (const FT_Face face, + if (!FcPatternAddBool (pat, FC_DECORATIVE, decorative)) + goto bail1; + +- hashstr = FcHashGetSHA256DigestFromFile (file); ++ err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len); ++ if (err == FT_Err_Ok) ++ { ++ alen = (len + 63) & ~63; ++ fontdata = malloc (alen); ++ if (!fontdata) ++ goto bail1; ++ err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)fontdata, &len); ++ if (err != FT_Err_Ok) ++ goto bail1; ++ memset (&fontdata[len], 0, alen - len); ++ hashstr = FcHashGetSHA256DigestFromMemory (fontdata, len); ++ } ++ else if (err == FT_Err_Invalid_Face_Handle) ++ { ++ /* font may not support SFNT. falling back to ++ * read the font data from file directly ++ */ ++ hashstr = FcHashGetSHA256DigestFromFile (file); ++ } ++ else ++ { ++ goto bail1; ++ } + if (!hashstr) + goto bail1; + if (!FcPatternAddString (pat, FC_HASH, hashstr)) + goto bail1; +- free (hashstr); + + /* + * Compute the unicode coverage for the font +@@ -1756,6 +1781,10 @@ FcFreeTypeQueryFace (const FT_Face face, + bail2: + FcCharSetDestroy (cs); + bail1: ++ if (hashstr) ++ free (hashstr); ++ if (fontdata) ++ free (fontdata); + FcPatternDestroy (pat); + bail0: + return NULL; +diff --git a/src/fchash.c b/src/fchash.c +index 827b20f..92585a6 100644 +--- a/src/fchash.c ++++ b/src/fchash.c +@@ -220,7 +220,7 @@ FcHashGetSHA256DigestFromFile (const FcChar8 *filename) + + ret = FcHashInitSHA256Digest (); + if (!ret) +- return NULL; ++ goto bail0; + + while (!feof (fp)) + { +@@ -261,5 +261,60 @@ FcHashGetSHA256DigestFromFile (const FcChar8 *filename) + + bail0: + fclose (fp); ++ + return NULL; + } ++ ++FcChar8 * ++FcHashGetSHA256DigestFromMemory (const char *fontdata, ++ size_t length) ++{ ++ char ibuf[64]; ++ FcChar32 *ret; ++ size_t i = 0; ++ ++ ret = FcHashInitSHA256Digest (); ++ if (!ret) ++ return NULL; ++ ++ while (i <= length) ++ { ++ if ((length - i) < 64) ++ { ++ long v; ++ size_t n; ++ ++ /* add a padding */ ++ n = length - i; ++ if (n > 0) ++ memcpy (ibuf, &fontdata[i], n); ++ memset (&ibuf[n], 0, 64 - n); ++ ibuf[n] = 0x80; ++ if ((64 - n) < 9) ++ { ++ /* process a block once */ ++ FcHashComputeSHA256Digest (ret, ibuf); ++ memset (ibuf, 0, 64); ++ } ++ /* set input size at the end */ ++ v = length * 8; ++ ibuf[63 - 0] = v & 0xff; ++ ibuf[63 - 1] = (v >> 8) & 0xff; ++ ibuf[63 - 2] = (v >> 16) & 0xff; ++ ibuf[63 - 3] = (v >> 24) & 0xff; ++ ibuf[63 - 4] = (v >> 32) & 0xff; ++ ibuf[63 - 5] = (v >> 40) & 0xff; ++ ibuf[63 - 6] = (v >> 48) & 0xff; ++ ibuf[63 - 7] = (v >> 56) & 0xff; ++ FcHashComputeSHA256Digest (ret, ibuf); ++ break; ++ } ++ else ++ { ++ FcHashComputeSHA256Digest (ret, &fontdata[i]); ++ } ++ i += 64; ++ } ++ ++ return FcHashSHA256ToString (ret); ++} +diff --git a/src/fcint.h b/src/fcint.h +index c45075e..8919958 100644 +--- a/src/fcint.h ++++ b/src/fcint.h +@@ -818,9 +818,14 @@ FcFontSetSerialize (FcSerialize *serialize, const FcFontSet * s); + FcPrivate FcChar8 * + FcHashGetSHA256Digest (const FcChar8 *input_strings, + size_t len); ++ + FcPrivate FcChar8 * + FcHashGetSHA256DigestFromFile (const FcChar8 *filename); + ++FcPrivate FcChar8 * ++FcHashGetSHA256DigestFromMemory (const char *fontdata, ++ size_t length); ++ + /* fcinit.c */ + FcPrivate FcConfig * + FcInitLoadOwnConfig (FcConfig *config); diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face.patch new file mode 100644 index 000000000000..1df404846330 --- /dev/null +++ b/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face.patch @@ -0,0 +1,144 @@ +From c93a8b8b54afe33e5ecf9870723543cb4058fa94 Mon Sep 17 00:00:00 2001 +From: Akira TAGOH <akira@tagoh.org> +Date: Tue, 09 Apr 2013 03:46:30 +0000 +Subject: Obtain fonts data via FT_Face instead of opening a file directly + +--- +diff --git a/src/fcfreetype.c b/src/fcfreetype.c +index 8a037c0..1eecfdb 100644 +--- a/src/fcfreetype.c ++++ b/src/fcfreetype.c +@@ -1662,7 +1662,7 @@ FcFreeTypeQueryFace (const FT_Face face, + if (!FcPatternAddBool (pat, FC_DECORATIVE, decorative)) + goto bail1; + +- hashstr = FcHashGetSHA256DigestFromFile (file); ++ hashstr = FcHashGetSHA256DigestFromFace (face); + if (!hashstr) + goto bail1; + if (!FcPatternAddString (pat, FC_HASH, hashstr)) +diff --git a/src/fchash.c b/src/fchash.c +index 4ea5f37..043d94b 100644 +--- a/src/fchash.c ++++ b/src/fchash.c +@@ -29,6 +29,9 @@ + #include "fcint.h" + #include <stdio.h> + #include <string.h> ++#include <ft2build.h> ++#include FT_TRUETYPE_TABLES_H ++#include FT_TRUETYPE_TAGS_H + + #define ROTRN(w, v, n) ((((FcChar32)v) >> n) | (((FcChar32)v) << (w - n))) + #define ROTR32(v, n) ROTRN(32, v, n) +@@ -204,41 +207,50 @@ FcHashGetSHA256Digest (const FcChar8 *input_strings, + } + + FcChar8 * +-FcHashGetSHA256DigestFromFile (const FcChar8 *filename) ++FcHashGetSHA256DigestFromFace (const FT_Face face) + { +- FILE *fp = fopen ((const char *)filename, "rb"); +- char ibuf[64]; ++ char ibuf[64], *buf = NULL; + FcChar32 *ret; +- size_t len; +- struct stat st; ++ FT_Error err; ++ FT_ULong len = 0, alen, i = 0; + +- if (!fp) ++ err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len); ++ if (err != FT_Err_Ok) + return NULL; +- +- if (FcStat (filename, &st)) ++ alen = (len + 63) & ~63; ++ buf = malloc (alen); ++ if (!buf) ++ return NULL; ++ err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)buf, &len); ++ if (err != FT_Err_Ok) + goto bail0; ++ memset (&buf[len], 0, alen - len); + + ret = FcHashInitSHA256Digest (); + if (!ret) + goto bail0; + +- while (!feof (fp)) ++ while (i <= len) + { +- if ((len = fread (ibuf, sizeof (char), 64, fp)) < 64) ++ if ((len - i) < 64) + { + long v; ++ int n; + + /* add a padding */ +- memset (&ibuf[len], 0, 64 - len); +- ibuf[len] = 0x80; +- if ((64 - len) < 9) ++ n = len - i; ++ if (n > 0) ++ memcpy (ibuf, &buf[i], n); ++ memset (&ibuf[n], 0, 64 - n); ++ ibuf[n] = 0x80; ++ if ((64 - n) < 9) + { + /* process a block once */ + FcHashComputeSHA256Digest (ret, ibuf); + memset (ibuf, 0, 64); + } + /* set input size at the end */ +- v = (long)st.st_size * 8; ++ v = len * 8; + ibuf[63 - 0] = v & 0xff; + ibuf[63 - 1] = (v >> 8) & 0xff; + ibuf[63 - 2] = (v >> 16) & 0xff; +@@ -252,14 +264,18 @@ FcHashGetSHA256DigestFromFile (const FcChar8 *filename) + } + else + { +- FcHashComputeSHA256Digest (ret, ibuf); ++ FcHashComputeSHA256Digest (ret, &buf[i]); + } ++ i += 64; + } +- fclose (fp); ++ if (buf) ++ free (buf); + + return FcHashSHA256ToString (ret); + + bail0: +- fclose (fp); ++ if (buf) ++ free (buf); ++ + return NULL; + } +diff --git a/src/fcint.h b/src/fcint.h +index c45075e..703b983 100644 +--- a/src/fcint.h ++++ b/src/fcint.h +@@ -47,6 +47,8 @@ + #include "fcdeprecate.h" + #include "fcmutex.h" + #include "fcatomic.h" ++#include <ft2build.h> ++#include FT_FREETYPE_H + + #ifndef FC_CONFIG_PATH + #define FC_CONFIG_PATH "fonts.conf" +@@ -819,7 +821,7 @@ FcPrivate FcChar8 * + FcHashGetSHA256Digest (const FcChar8 *input_strings, + size_t len); + FcPrivate FcChar8 * +-FcHashGetSHA256DigestFromFile (const FcChar8 *filename); ++FcHashGetSHA256DigestFromFace (const FT_Face face); + + /* fcinit.c */ + FcPrivate FcConfig * +-- +cgit v0.9.0.2-2-gbebe diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face2.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face2.patch new file mode 100644 index 000000000000..62735675275c --- /dev/null +++ b/media-libs/fontconfig/files/fontconfig-2.10.92-ft-face2.patch @@ -0,0 +1,177 @@ +From fc5a589abad0e8285f7d95007ebda76536e8fa7d Mon Sep 17 00:00:00 2001 +From: Akira TAGOH <akira@tagoh.org> +Date: Tue, 09 Apr 2013 08:18:43 +0000 +Subject: Revert the previous change and rework to not export freetype API outside fcfreetype.c + +--- +diff --git a/src/fcfreetype.c b/src/fcfreetype.c +index 1eecfdb..22064b3 100644 +--- a/src/fcfreetype.c ++++ b/src/fcfreetype.c +@@ -1104,7 +1104,10 @@ FcFreeTypeQueryFace (const FT_Face face, + char psname[256]; + const char *tmp; + +- FcChar8 *hashstr; ++ FcChar8 *hashstr = NULL; ++ char *fontdata = NULL; ++ FT_Error err; ++ FT_ULong len = 0, alen; + + pat = FcPatternCreate (); + if (!pat) +@@ -1662,12 +1665,22 @@ FcFreeTypeQueryFace (const FT_Face face, + if (!FcPatternAddBool (pat, FC_DECORATIVE, decorative)) + goto bail1; + +- hashstr = FcHashGetSHA256DigestFromFace (face); ++ err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len); ++ if (err != FT_Err_Ok) ++ goto bail1; ++ alen = (len + 63) & ~63; ++ fontdata = malloc (alen); ++ if (!fontdata) ++ goto bail1; ++ err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)fontdata, &len); ++ if (err != FT_Err_Ok) ++ goto bail1; ++ memset (&fontdata[len], 0, alen - len); ++ hashstr = FcHashGetSHA256DigestFromMemory (fontdata, len); + if (!hashstr) + goto bail1; + if (!FcPatternAddString (pat, FC_HASH, hashstr)) + goto bail1; +- free (hashstr); + + /* + * Compute the unicode coverage for the font +@@ -1756,6 +1769,10 @@ FcFreeTypeQueryFace (const FT_Face face, + bail2: + FcCharSetDestroy (cs); + bail1: ++ if (hashstr) ++ free (hashstr); ++ if (fontdata) ++ free (fontdata); + FcPatternDestroy (pat); + bail0: + return NULL; +diff --git a/src/fchash.c b/src/fchash.c +index 043d94b..1ef1e16 100644 +--- a/src/fchash.c ++++ b/src/fchash.c +@@ -29,9 +29,6 @@ + #include "fcint.h" + #include <stdio.h> + #include <string.h> +-#include <ft2build.h> +-#include FT_TRUETYPE_TABLES_H +-#include FT_TRUETYPE_TAGS_H + + #define ROTRN(w, v, n) ((((FcChar32)v) >> n) | (((FcChar32)v) << (w - n))) + #define ROTR32(v, n) ROTRN(32, v, n) +@@ -207,40 +204,28 @@ FcHashGetSHA256Digest (const FcChar8 *input_strings, + } + + FcChar8 * +-FcHashGetSHA256DigestFromFace (const FT_Face face) ++FcHashGetSHA256DigestFromMemory (const char *fontdata, ++ size_t length) + { +- char ibuf[64], *buf = NULL; ++ char ibuf[64]; + FcChar32 *ret; +- FT_Error err; +- FT_ULong len = 0, alen, i = 0; +- +- err = FT_Load_Sfnt_Table (face, 0, 0, NULL, &len); +- if (err != FT_Err_Ok) +- return NULL; +- alen = (len + 63) & ~63; +- buf = malloc (alen); +- if (!buf) +- return NULL; +- err = FT_Load_Sfnt_Table (face, 0, 0, (FT_Byte *)buf, &len); +- if (err != FT_Err_Ok) +- goto bail0; +- memset (&buf[len], 0, alen - len); ++ size_t i = 0; + + ret = FcHashInitSHA256Digest (); + if (!ret) +- goto bail0; ++ return NULL; + +- while (i <= len) ++ while (i <= length) + { +- if ((len - i) < 64) ++ if ((length - i) < 64) + { + long v; +- int n; ++ size_t n; + + /* add a padding */ +- n = len - i; ++ n = length - i; + if (n > 0) +- memcpy (ibuf, &buf[i], n); ++ memcpy (ibuf, &fontdata[i], n); + memset (&ibuf[n], 0, 64 - n); + ibuf[n] = 0x80; + if ((64 - n) < 9) +@@ -250,7 +235,7 @@ FcHashGetSHA256DigestFromFace (const FT_Face face) + memset (ibuf, 0, 64); + } + /* set input size at the end */ +- v = len * 8; ++ v = length * 8; + ibuf[63 - 0] = v & 0xff; + ibuf[63 - 1] = (v >> 8) & 0xff; + ibuf[63 - 2] = (v >> 16) & 0xff; +@@ -264,18 +249,10 @@ FcHashGetSHA256DigestFromFace (const FT_Face face) + } + else + { +- FcHashComputeSHA256Digest (ret, &buf[i]); ++ FcHashComputeSHA256Digest (ret, &fontdata[i]); + } + i += 64; + } +- if (buf) +- free (buf); + + return FcHashSHA256ToString (ret); +- +-bail0: +- if (buf) +- free (buf); +- +- return NULL; + } +diff --git a/src/fcint.h b/src/fcint.h +index 703b983..a662dbf 100644 +--- a/src/fcint.h ++++ b/src/fcint.h +@@ -47,8 +47,6 @@ + #include "fcdeprecate.h" + #include "fcmutex.h" + #include "fcatomic.h" +-#include <ft2build.h> +-#include FT_FREETYPE_H + + #ifndef FC_CONFIG_PATH + #define FC_CONFIG_PATH "fonts.conf" +@@ -821,7 +819,8 @@ FcPrivate FcChar8 * + FcHashGetSHA256Digest (const FcChar8 *input_strings, + size_t len); + FcPrivate FcChar8 * +-FcHashGetSHA256DigestFromFace (const FT_Face face); ++FcHashGetSHA256DigestFromMemory (const char *fontdata, ++ size_t length); + + /* fcinit.c */ + FcPrivate FcConfig * +-- +cgit v0.9.0.2-2-gbebe diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-native-fonts.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-native-fonts.patch new file mode 100644 index 000000000000..05e9ee90d904 --- /dev/null +++ b/media-libs/fontconfig/files/fontconfig-2.10.92-native-fonts.patch @@ -0,0 +1,73 @@ +From 8fd0ed60a62cb7f36b2ade1bd16a66671eaf79da Mon Sep 17 00:00:00 2001 +From: Akira TAGOH <akira@tagoh.org> +Date: Mon, 01 Apr 2013 09:16:28 +0000 +Subject: Bug 62980 - matching native fonts with even :lang=en + +Fix the matcher modified by 4eab908c8679a797ac7016b77a93ee41bb11b0fc +to deal with both strong and weak of FC_LANG as the same location in the score +--- +diff --git a/src/fcmatch.c b/src/fcmatch.c +index 68f39ae..2d7b798 100644 +--- a/src/fcmatch.c ++++ b/src/fcmatch.c +@@ -227,9 +227,10 @@ typedef enum _FcMatcherPriorityDummy { + #undef FC_OBJECT + + #undef PRI1 +-#define PRI1(n) \ +- PRI_ ## n ## _STRONG, \ +- PRI_ ## n ## _WEAK ++#define PRI1(n) \ ++ PRI_ ## n, \ ++ PRI_ ## n ## _STRONG = PRI_ ## n, \ ++ PRI_ ## n ## _WEAK = PRI_ ## n + + typedef enum _FcMatcherPriority { + PRI1(HASH), +@@ -237,9 +238,8 @@ typedef enum _FcMatcherPriority { + PRI1(FOUNDRY), + PRI1(CHARSET), + PRI_FAMILY_STRONG, +- PRI_LANG_STRONG, + PRI_POSTSCRIPT_NAME_STRONG, +- PRI_LANG_WEAK, ++ PRI1(LANG), + PRI_FAMILY_WEAK, + PRI_POSTSCRIPT_NAME_WEAK, + PRI1(SPACING), +@@ -910,8 +910,7 @@ FcFontSetSort (FcConfig *config FC_UNUSED, + * If this node matches any language, go check + * which ones and satisfy those entries + */ +- if (nodeps[f]->score[PRI_LANG_STRONG] < 2000 || +- nodeps[f]->score[PRI_LANG_WEAK] < 2000) ++ if (nodeps[f]->score[PRI_LANG] < 2000) + { + for (i = 0; i < nPatternLang; i++) + { +@@ -935,13 +934,6 @@ FcFontSetSort (FcConfig *config FC_UNUSED, + } + patternLangSat[i] = FcTrue; + satisfies = FcTrue; +- /* adjust score to ensure it's not more than 10000.0 +- * which would means the lang didn't satisfy the requirements +- */ +- if (nodeps[f]->score[PRI_LANG_STRONG] > 10000.0) +- nodeps[f]->score[PRI_LANG_STRONG] = 10000.0; +- if (nodeps[f]->score[PRI_LANG_WEAK] > 10000.0) +- nodeps[f]->score[PRI_LANG_WEAK] = 10000.0; + break; + } + } +@@ -949,8 +941,7 @@ FcFontSetSort (FcConfig *config FC_UNUSED, + } + if (!satisfies) + { +- nodeps[f]->score[PRI_LANG_STRONG] = 10000.0; +- nodeps[f]->score[PRI_LANG_WEAK] = 10000.0; ++ nodeps[f]->score[PRI_LANG] = 10000.0; + } + } + +-- +cgit v0.9.0.2-2-gbebe diff --git a/media-libs/fontconfig/files/fontconfig-2.10.92-use-glob.patch b/media-libs/fontconfig/files/fontconfig-2.10.92-use-glob.patch new file mode 100644 index 000000000000..e2040fcd4b10 --- /dev/null +++ b/media-libs/fontconfig/files/fontconfig-2.10.92-use-glob.patch @@ -0,0 +1,164 @@ +From f6244d2cf231e1dc756f3e941e61b9bf124879bb Mon Sep 17 00:00:00 2001 +From: Akira TAGOH <akira@tagoh.org> +Date: Wed, 08 May 2013 02:57:49 +0000 +Subject: Use the glob matching for filename + +Regex is expensive to compare filenames. we already have the glob matching +and it works enough in this case. + +Prior to this change, renaming FcConfigGlobMatch() to FcStrGlobMatch() and moving to fcstr.c +--- +diff --git a/src/fccfg.c b/src/fccfg.c +index 7da50b5..fcdf73e 100644 +--- a/src/fccfg.c ++++ b/src/fccfg.c +@@ -2211,57 +2211,13 @@ FcConfigGlobAdd (FcConfig *config, + } + + static FcBool +-FcConfigGlobMatch (const FcChar8 *glob, +- const FcChar8 *string) +-{ +- FcChar8 c; +- +- while ((c = *glob++)) +- { +- switch (c) { +- case '*': +- /* short circuit common case */ +- if (!*glob) +- return FcTrue; +- /* short circuit another common case */ +- if (strchr ((char *) glob, '*') == 0) +- { +- size_t l1, l2; +- +- l1 = strlen ((char *) string); +- l2 = strlen ((char *) glob); +- if (l1 < l2) +- return FcFalse; +- string += (l1 - l2); +- } +- while (*string) +- { +- if (FcConfigGlobMatch (glob, string)) +- return FcTrue; +- string++; +- } +- return FcFalse; +- case '?': +- if (*string++ == '\0') +- return FcFalse; +- break; +- default: +- if (*string++ != c) +- return FcFalse; +- break; +- } +- } +- return *string == '\0'; +-} +- +-static FcBool + FcConfigGlobsMatch (const FcStrSet *globs, + const FcChar8 *string) + { + int i; + + for (i = 0; i < globs->num; i++) +- if (FcConfigGlobMatch (globs->strs[i], string)) ++ if (FcStrGlobMatch (globs->strs[i], string)) + return FcTrue; + return FcFalse; + } +diff --git a/src/fcint.h b/src/fcint.h +index 8919958..65bf333 100644 +--- a/src/fcint.h ++++ b/src/fcint.h +@@ -1090,6 +1090,10 @@ FcPrivate int + FcStrMatchIgnoreCaseAndDelims (const FcChar8 *s1, const FcChar8 *s2, const FcChar8 *delims); + + FcPrivate FcBool ++FcStrGlobMatch (const FcChar8 *glob, ++ const FcChar8 *string); ++ ++FcPrivate FcBool + FcStrUsesHome (const FcChar8 *s); + + FcPrivate FcChar8 * +diff --git a/src/fcmatch.c b/src/fcmatch.c +index 2d7b798..84c9a9a 100644 +--- a/src/fcmatch.c ++++ b/src/fcmatch.c +@@ -196,12 +196,10 @@ FcCompareFilename (FcValue *v1, FcValue *v2) + return 0.0; + else if (FcStrCmpIgnoreCase (s1, s2) == 0) + return 1.0; +- else if (FcStrRegexCmp (s2, s1)) ++ else if (FcStrGlobMatch (s1, s2)) + return 2.0; +- else if (FcStrRegexCmpIgnoreCase (s2, s1)) +- return 3.0; + else +- return 4.0; ++ return 3.0; + } + + #define PRI_NULL(n) \ +diff --git a/src/fcstr.c b/src/fcstr.c +index 339a346..3a32031 100644 +--- a/src/fcstr.c ++++ b/src/fcstr.c +@@ -459,6 +459,50 @@ FcStrMatchIgnoreCaseAndDelims (const FcChar8 *s1, const FcChar8 *s2, const FcCha + return w1.src - s1 - 1; + } + ++FcBool ++FcStrGlobMatch (const FcChar8 *glob, ++ const FcChar8 *string) ++{ ++ FcChar8 c; ++ ++ while ((c = *glob++)) ++ { ++ switch (c) { ++ case '*': ++ /* short circuit common case */ ++ if (!*glob) ++ return FcTrue; ++ /* short circuit another common case */ ++ if (strchr ((char *) glob, '*') == 0) ++ { ++ size_t l1, l2; ++ ++ l1 = strlen ((char *) string); ++ l2 = strlen ((char *) glob); ++ if (l1 < l2) ++ return FcFalse; ++ string += (l1 - l2); ++ } ++ while (*string) ++ { ++ if (FcStrGlobMatch (glob, string)) ++ return FcTrue; ++ string++; ++ } ++ return FcFalse; ++ case '?': ++ if (*string++ == '\0') ++ return FcFalse; ++ break; ++ default: ++ if (*string++ != c) ++ return FcFalse; ++ break; ++ } ++ } ++ return *string == '\0'; ++} ++ + const FcChar8 * + FcStrStrIgnoreCase (const FcChar8 *s1, const FcChar8 *s2) + { +-- +cgit v0.9.0.2-2-gbebe diff --git a/media-libs/fontconfig/fontconfig-2.10.92.ebuild b/media-libs/fontconfig/fontconfig-2.10.92.ebuild new file mode 100644 index 000000000000..010ff52b821f --- /dev/null +++ b/media-libs/fontconfig/fontconfig-2.10.92.ebuild @@ -0,0 +1,144 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/fontconfig/fontconfig-2.10.92.ebuild,v 1.1 2013/05/12 17:56:03 pacho Exp $ + +EAPI=5 +AUTOTOOLS_AUTORECONF=yes + +inherit autotools-multilib readme.gentoo + +DESCRIPTION="A library for configuring and customizing font access" +HOMEPAGE="http://fontconfig.org/" +SRC_URI="http://fontconfig.org/release/${P}.tar.bz2" + +LICENSE="MIT" +SLOT="1.0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~arm-linux ~x86-linux" +IUSE="doc static-libs" + +# Purposefully dropped the xml USE flag and libxml2 support. Expat is the +# default and used by every distro. See bug #283191. + +# Note: replace emul-linux dep when expat becomes multilib-aware +# (and add [${MULTILIB_USEDEP}] on it then!) +RDEPEND=" + >=media-libs/freetype-2.2.1[${MULTILIB_USEDEP}] + >=dev-libs/expat-1.95.3 + abi_x86_32? ( + amd64? ( app-emulation/emul-linux-x86-baselibs[development] ) + !<=app-emulation/emul-linux-x86-xlibs-20130224 ) +" +DEPEND="${RDEPEND} + virtual/pkgconfig + doc? ( + app-text/docbook-sgml-utils[jadetex] + =app-text/docbook-sgml-dtd-3.1* + ) +" +PDEPEND="app-admin/eselect-fontconfig + virtual/ttf-fonts +" +PATCHES=( + "${FILESDIR}"/${PN}-2.7.1-latin-reorder.patch # 130466 + "${FILESDIR}"/${PN}-2.10.2-docbook.patch # 310157 + # Apply upstream patches that will be included in 2.10.93 + "${FILESDIR}"/${P}-native-fonts.patch + "${FILESDIR}"/${P}-automake-1.13.patch + "${FILESDIR}"/${P}-closing-fp.patch + "${FILESDIR}"/${P}-ft-face.patch + "${FILESDIR}"/${P}-ft-face2.patch + "${FILESDIR}"/${P}-fix-check.patch + "${FILESDIR}"/${P}-use-glob.patch +) + +pkg_setup() { + DOC_CONTENTS="Please make fontconfig configuration changes using + \`eselect fontconfig\`. Any changes made to /etc/fonts/fonts.conf will be + overwritten. If you need to reset your configuration to upstream defaults, + delete the directory ${EROOT}etc/fonts/conf.d/ and re-emerge fontconfig." +} + +src_configure() { + local myeconfargs=( + $(use_enable doc docbook) + # always enable docs to install manpages + --enable-docs + --localstatedir="${EPREFIX}"/var + --with-default-fonts="${EPREFIX}"/usr/share/fonts + --with-add-fonts="${EPREFIX}"/usr/local/share/fonts + --with-templatedir="${EPREFIX}"/etc/fonts/conf.avail + ) + + autotools-multilib_src_configure +} + +src_install() { + autotools-multilib_src_install + + # XXX: avoid calling this multiple times, bug #459210 + install_others() { + # stuff installed from build-dir + autotools-utils_src_compile \ + DESTDIR="${D}" -C doc install-man + + insinto /etc/fonts + doins "${BUILD_DIR}"/fonts.conf + } + multilib_foreach_abi install_others + + #fc-lang directory contains language coverage datafiles + #which are needed to test the coverage of fonts. + insinto /usr/share/fc-lang + doins fc-lang/*.orth + + dodoc doc/fontconfig-user.{txt,pdf} + + if [[ -e ${ED}usr/share/doc/fontconfig/ ]]; then + mv "${ED}"usr/share/doc/fontconfig/* "${ED}"/usr/share/doc/${P} + rm -rf "${ED}"usr/share/doc/fontconfig + fi + + # Changes should be made to /etc/fonts/local.conf, and as we had + # too much problems with broken fonts.conf we force update it ... + echo 'CONFIG_PROTECT_MASK="/etc/fonts/fonts.conf"' > "${T}"/37fontconfig + doenvd "${T}"/37fontconfig + + # As of fontconfig 2.7, everything sticks their noses in here. + dodir /etc/sandbox.d + echo 'SANDBOX_PREDICT="/var/cache/fontconfig"' > "${ED}"/etc/sandbox.d/37fontconfig + + readme.gentoo_create_doc +} + +pkg_preinst() { + # Bug #193476 + # /etc/fonts/conf.d/ contains symlinks to ../conf.avail/ to include various + # config files. If we install as-is, we'll blow away user settings. + ebegin "Syncing fontconfig configuration to system" + if [[ -e ${EROOT}/etc/fonts/conf.d ]]; then + for file in "${EROOT}"/etc/fonts/conf.avail/*; do + f=${file##*/} + if [[ -L ${EROOT}/etc/fonts/conf.d/${f} ]]; then + [[ -f ${ED}etc/fonts/conf.avail/${f} ]] \ + && ln -sf ../conf.avail/"${f}" "${ED}"etc/fonts/conf.d/ &>/dev/null + else + [[ -f ${ED}etc/fonts/conf.avail/${f} ]] \ + && rm "${ED}"etc/fonts/conf.d/"${f}" &>/dev/null + fi + done + fi + eend $? +} + +pkg_postinst() { + einfo "Cleaning broken symlinks in "${EROOT}"etc/fonts/conf.d/" + find -L "${EROOT}"etc/fonts/conf.d/ -type l -delete + + readme.gentoo_print_elog + + if [[ ${ROOT} = / ]]; then + ebegin "Creating global font cache" + "${EPREFIX}"/usr/bin/fc-cache -srf + eend $? + fi +} |