From 752d6256e5204b958b0ef7905675a940b5e9172f Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Thu, 12 May 2022 16:42:50 +0300 Subject: gentoo resync : 12.05.2022 --- media-libs/freetype/Manifest | 21 +- .../files/freetype-2.10.3-sizeof-types.patch | 31 --- .../freetype-2.11.0-COLR_missing_blend_mode.patch | 58 ----- ...freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch | 26 -- .../files/freetype-2.11.0-quiet_noop.patch | 41 ---- .../freetype-2.12.0-cffgload_segfault_fix.patch | 31 +++ media-libs/freetype/freetype-2.11.0-r1.ebuild | 252 -------------------- media-libs/freetype/freetype-2.11.0-r2.ebuild | 253 -------------------- media-libs/freetype/freetype-2.11.1.ebuild | 244 ------------------- media-libs/freetype/freetype-2.12.0-r1.ebuild | 261 +++++++++++++++++++++ media-libs/freetype/freetype-2.12.0.ebuild | 258 -------------------- media-libs/freetype/freetype-2.12.1.ebuild | 257 ++++++++++++++++++++ 12 files changed, 555 insertions(+), 1178 deletions(-) delete mode 100644 media-libs/freetype/files/freetype-2.10.3-sizeof-types.patch delete mode 100644 media-libs/freetype/files/freetype-2.11.0-COLR_missing_blend_mode.patch delete mode 100644 media-libs/freetype/files/freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch delete mode 100644 media-libs/freetype/files/freetype-2.11.0-quiet_noop.patch create mode 100644 media-libs/freetype/files/freetype-2.12.0-cffgload_segfault_fix.patch delete mode 100644 media-libs/freetype/freetype-2.11.0-r1.ebuild delete mode 100644 media-libs/freetype/freetype-2.11.0-r2.ebuild delete mode 100644 media-libs/freetype/freetype-2.11.1.ebuild create mode 100644 media-libs/freetype/freetype-2.12.0-r1.ebuild delete mode 100644 media-libs/freetype/freetype-2.12.0.ebuild create mode 100644 media-libs/freetype/freetype-2.12.1.ebuild (limited to 'media-libs/freetype') diff --git a/media-libs/freetype/Manifest b/media-libs/freetype/Manifest index 68068df9fba1..85eb05d2d504 100644 --- a/media-libs/freetype/Manifest +++ b/media-libs/freetype/Manifest @@ -1,21 +1,12 @@ -AUX freetype-2.10.3-sizeof-types.patch 1038 BLAKE2B bb49e7d4195346b67f37c16f9f31e3d5b658398afa7209c5d7c89dbbf90c98385d0827960545b83573425c6be8e4615311f76d93e40ff6237977bfe160639587 SHA512 64e3cc7820bd0b8816ad34108fa174da90f2a0b8f96a3c94425900ba5f5eb8b01074fdfa3bee699815d7eb74ec44cf043239a932a228c2971557fad0caec912f -AUX freetype-2.11.0-COLR_missing_blend_mode.patch 2304 BLAKE2B 002fa132591422fc4ef9180dd2ee667d42d57cc5be08e253dec182a345280e42ec15f2dd8d30891e13d168bf0da77279216b4fdc8e56c4e59a11f3f3438525b9 SHA512 4e55f43b86f2d54867dd62558b7a02312e82581a9469395ef24f8b6f0ec2e9ec14776a828c2520970758d8d67cec0c659087e48b8ed3ae30c77a725a92a9ffc1 -AUX freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch 681 BLAKE2B addd6b85be20b48b92af7f21dafab7014fae110163ed7d6a9341d958505d46a76dc131a54b1c954f3157737429b3b4a87ea0c7c621bfb3cb8f4f101ae2ce9398 SHA512 36060458da10c1afeaf3303010235e2b9adfd0273a7b8c0c0b5e4d4c30a3eac79485919613de892a1b0f2637d5f98fd5314477e833b78819421f134d6cdf40a3 -AUX freetype-2.11.0-quiet_noop.patch 1304 BLAKE2B 57276cf6480a4807e8e9704e5a9ea5d3a0d288e8af17f935e2911932fbe517d845b68abb503cfde697f6e6778a14c44334482d8917914817ec4c7f454dc005eb SHA512 f7261da6d457ce1c9ecd49d17a251f349f2786a3d12e42555a605a95b73573fdba90e70855b38e2c79ab6f4dabb8a8e6a3d1abc9fc8ca87d3ba29a04f9ee802f +AUX freetype-2.12.0-cffgload_segfault_fix.patch 886 BLAKE2B 504ce78a28163b57d8fca45bfea2f1a13ba3b522176bba99b80f06759612bdbd996877e6336adcd2ef158820f711d8fcf834bef14cdeecf1cfdafe1ddd4eaf8c SHA512 bc1573a0d2c50606ea8b4ac8731011d0c93c67874a8a215092eb4900e23c03087fc7357dc03d22671571bd9f601c76bc716beb0fa82629d9c35266109f76671d AUX freetype-2.12.0-librsvg_automagic.patch 2213 BLAKE2B b5e0b7e5c57650b7371fde47ab87be7e18385e7190a5c9e2d14a285a91e035427c44dde12a988fa993ca782e5f8396b9bbe0418078c9462b442852a911ec8f05 SHA512 cdce3b4b40f4ce1ef7ed3d58a0f1a916ba81f0788a4e6136fe53ba84ed53e48f91e5f670d3ef1dfbd367cd741dc366d88da6e1f34bdcf0b082324dd69d94f584 -DIST freetype-2.11.0-COLR_v1_clipbox.patch.xz 3940 BLAKE2B 45b84b1070a9a9e1e13058ce7200555f4f9e26df4fe25eab4a644869df86f267cc91bfcf2ab10a9f0673be51504f05eec730300dee13ca34bb6f8afdc32ee354 SHA512 bf0cc00b3f27cb3408881cec46654be57b96b099cfd3df06e33b94aa47f35a7c9499a9935837be0f652d4f17ab2b6c78bc1fcef328754cde64f0b139d00ceb29 -DIST freetype-2.11.0.tar.xz 2256640 BLAKE2B ed14b566b8ac31a85dde4c8d26dd8b001f6a2cb506cfafd550b31bb90a3f592376d6f9f6bbe1b6c21e27e4ad23d0eafa7ea886211174b978e101fb6a77261324 SHA512 bf1991f3c382832586be1d21ae73c20840ee8546807ba60d0eb0215134545656c0c8de488f27357d4a4f6497d7cb540998cda98ec59061a3e640036fb209147d -DIST freetype-2.11.1.tar.xz 2270728 BLAKE2B 15cc03e7b8ba93b2f240b0eee3f1cc07bca77d9ef67a1971d44d6c061a0dff2b13737fa417f7f2dc4e7e6df660223325931f69a107a6b2eaf14425fc71b7ca7b SHA512 0848678482fbe20603a866f02da82c91122014d6f815ba4f1d9c03601c32e3ceb781f721c2b4427b6117d7c9742018af8dbb26566faf018595c70b50f8db3f08 DIST freetype-2.12.0.tar.xz 2340352 BLAKE2B 09227c883e52b4e4aefd68d8e4bfaf36eed0c4d92d22d6f5f88e2a69a94be6040ecff7285ca92f30cd9ce71a4af0ffa74141f3263f7a75e29d87b8a4fe27bf08 SHA512 d2426b46ef56268f5030951840a73be9a626129c6fc6ad2ab06e572c9325d0192f47b007798c2ffa3608fe50e296ad129ac41312b1fd3f8864d7e55e8c237c54 -DIST freetype-doc-2.11.0.tar.xz 2070604 BLAKE2B a45fa2e97574868fc4f08c646cb815152dde462538a32fddfc5ddccb32343286765f3952b9fc8b66204dfeb62470d4fada1a2338c377efa1c716ab9c5885fd60 SHA512 5bddaec4f237a9f6e63dbed5f65d0b5ffe0a414ea2d6e1c3bb1142baf5535cee7e7c282b6af8c630e772ffc196b8c4bf8e18bc21a72749a09b6af388287c7301 -DIST freetype-doc-2.11.1.tar.xz 2038348 BLAKE2B 2248d16bb12b29294226a67a10328c61b064c8e0ad7fb5f004c2e6da1237175f03d51a48d5df03a3de3bbe935307e573014c079c31468c9f59416bc4e9057a9c SHA512 c5e19d98425491682edc58230c48390925cc4b466169f655cf3b8575ba787a70feecdeb7a16224b132dcc32f17b041483d84056cda8e3132d98b531e46a26c36 +DIST freetype-2.12.1.tar.xz 2471916 BLAKE2B c4737dc0c6e44e0a911545d604fdb2e8e8b3f5185d3f5dfe4e4561ee2d75b3e5a31afcbb2089306fec4b31ba10324a6ec6499c3735b2b7591c71e96fee4ed278 SHA512 6482de1748dc2cc01e033d21a3b492dadb1f039d13d9179685fdcf985e24d7f587cbca4c27ed8a7fdb7d9ad59612642ac5f4db062443154753295363f45c052f DIST freetype-doc-2.12.0.tar.xz 2038684 BLAKE2B ac5197f1a31a4c29a218c0a35af4658a289afbea9ad6b5a200dd0518d63a1b647467b3c460b72863a4048269c249ca2fbc83146ba3de6594e00bfa88a701d979 SHA512 49d2ab0f39bafefe18da5bdc28aa11103caa2c130767179945e10183b7efe79b1ee6319e101dd86b7aacd2975d4b206edaf42129dd2516c2424a1d9954c946c6 -DIST ft2demos-2.11.0.tar.xz 257316 BLAKE2B fa59eeeba502733db940965a1affe8fc9ecefd68d3d31dd8c8a94b769310d53975403f7a7c4c6ca6f381b10f9b3057698bd09fff9adafa26981192478d3ca602 SHA512 9c5727bf479afafc1c765a131875b88b0e656d1db986f95c021b0386f5c4cc6135db7584a5d553363dcf52dfc9c9199cd1f3da2cc6644f58de85848b058fd531 -DIST ft2demos-2.11.1.tar.xz 257240 BLAKE2B 1d620af52e76d1152a0a6aeeb0036d2423e498e371b75c01c408cc0974845abfe2f3f562ad638ca5640ec1b24023d7a47e1688743ca738c2bb1ceea6ee05cfcf SHA512 93d68daefa8a49b4fc987a7356133299fe2a8e012415ea09ad7616ececcfd978fdf9fc7a2d855f7488f51a497d019acb89ef5774484babae66357b3083a883c5 +DIST freetype-doc-2.12.1.tar.xz 2038632 BLAKE2B 81225caf1a2c586a8a282a22eaaf23412270d19002bc5b07e94d946d41d089f798724982e354d1701488de37c35bf68f36de88796565f0ebaa3f9fb35c51f532 SHA512 276b91b93e375096bc0f9fa76408a6ea9fa89d4d06e9c9179f88d27d41df3f3bc0ce6939ea7a3fd7c93cb694e78fd6bfb154e969188279e2bca82dcc3afd108d DIST ft2demos-2.12.0.tar.xz 263612 BLAKE2B d0cc154084a28a965798ba34c00368d70163d748f52fe360a6bd920bc9b6b962492efe05b7206b9bc4c4fd4770aa7db4279a287d6ba65a81daf7fc2b7a679a96 SHA512 70176ad89eab0121e9f5610f777da7e2f8478e24fbe9aded7f7fc3d7685019d40a0d0d6b586f3499f8589a2923082e3a9bc8ddc66482b8898642230bff5eaae2 -EBUILD freetype-2.11.0-r1.ebuild 7398 BLAKE2B e4cdd82b1241ebce56f26477bf6557192fba0420da1b1b6adc6c268bd26cfbeab506f3c82df07d843e5ad8173d653f45a891485d7662bdfe9a344d2f9cf478c2 SHA512 ef9c9bb1e172c89c9f1db6e005e69fa0ef7031accf4a82be4b76d73968b92ded8cb80bd5075cb676c26b58c2db90f2e99162b13ebd15f9c1361f56373f40aced -EBUILD freetype-2.11.0-r2.ebuild 7451 BLAKE2B e672e09cf5521eb9a7c345b38b3b28858d12629b2906811d1afd40cd882ce26414506c60a7d315692b524d1fb6d4471fb9c90dc136e942aeab3323188e3947f8 SHA512 a508bef0b6221eb6902cdb632af9a73953bf630923797d70a21287a93f8cd2afa1a08a75f5d48c31c4bfbcc3b368494c8969d2a84daf26f57255bd792a22e813 -EBUILD freetype-2.11.1.ebuild 7099 BLAKE2B 5ab262853bedba65e8ca456dda75263a7a2851d86d640cec35dcf650940d23729c49400c5f7e4af531aebfb6e2128e1e30abfe70d80c7949dbf35333ce252bec SHA512 599adba85e1a3526bc9135b1384db9898971fca4de7fbe8df2b47f52605955603bb4ec2a3a158505f449fe46a2af2ba98ed78c7f3197a035fe3ec876b6b14df7 -EBUILD freetype-2.12.0.ebuild 7492 BLAKE2B fcc365d9d8fe42e5b145ae577782f40d0a00a3592ec82b9f8fe1195a2290508651fab32f9c02cd62131a48195db727b62558b48b20599f08080238d38f648a9b SHA512 3dea41ca1c7bfd9d7f7b6fa190fc64bb120f9a6441b5deae1bbf4d365d282e623a7120230ee3ca8cd272332a4150be082df3f579296de709f1f15d45cc1150d0 +DIST ft2demos-2.12.1.tar.xz 263656 BLAKE2B fd48dc68bd832e7532e9fae869a19699ab3337e599118bb9f1b76c3bcdcecec3cd3f55f7387508d29baf85b8de4a549aaa0e8af34d988743b1737458e255bdcf SHA512 cd9356152a64d807c75b797d005ca1dd0bde69cc2fadedec101d125cb54b2aaff1f7afa2f20839caba7db66325df7c11ed4883b7e906110356b28d9900caaae7 +EBUILD freetype-2.12.0-r1.ebuild 7567 BLAKE2B 4754c8239a201e8ed1fb307887c6ac513aae84521b2632a99a176e43d16596a1d2ddfb260a598ae11a935d512e9f09dbae652f95f0bb06b49ea411dd26266fe5 SHA512 0dd511f51361c3d6aef8dd4da09d2ca53c704bdd7dd57e91191f884f7e1f5af681c0237a7da8ee1c792a979978104f7f6653cd08897fd43ebd079413efc041a8 +EBUILD freetype-2.12.1.ebuild 7447 BLAKE2B 1caec0c5febded8d74a03454388b7854ff893491bbed4b2f7bc3e78adcea022e10461b7d4ee7fba94f5775ca9dab76d90508c420564ea2b61c1b434b1d5600fc SHA512 0683f7a1916e754649ba2ae993bbb3a8f83dbe91b4668b164008b0cabca728748e735e4cc6f32e9c63de907bd1102a5176650bd48ad2102856533b5bda75563b EBUILD freetype-9999.ebuild 7107 BLAKE2B 49c7d1ac429480f097baceba37ba0953b0a7a81a68636a9facee191643e8dce6c794f96e2250e5a17a72972bc8fcc400c24bb7f88f34162176490ab251d8076a SHA512 c4ecfed508b10a050c4d5957583d5fb370110f06753b1d439feedea1f859d11520a6dd2b7c26a0b3d0513ec2d6b6dd40dd13cf143531c548d9f533aa72384730 MISC metadata.xml 1361 BLAKE2B ec4f7fc1bd3a16f507b0ff18a637849744a5e470a26037a2ef7e0e9a6537408184ca722a003340128f962bcda1cedc044e411c58e5d315602095e1997dccc920 SHA512 16112a7dbc2231ebe0b9cecfd3b91bd966d49de1e04eb72694ef0a22c9495e6a91ac31da7bd027ce90fcda08ca10144d24c4e28b798a1074af147ab0f8b007c7 diff --git a/media-libs/freetype/files/freetype-2.10.3-sizeof-types.patch b/media-libs/freetype/files/freetype-2.10.3-sizeof-types.patch deleted file mode 100644 index ea02a15df115..000000000000 --- a/media-libs/freetype/files/freetype-2.10.3-sizeof-types.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 56e6ee69d298c0d150e2b76d2cfa2306e901df40 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Sun, 11 Oct 2020 08:59:08 +0200 -Subject: [PATCH] Prevent apps from using the autoconf sizeof branch. - -Use #error to make sure that any app trying to enable that branch fails -miserably. This guarantees the code to be multilib-friendly and also -removes the header differences triggering QA errors. ---- - builds/unix/ftconfig.h.in | 5 +---- - 1 file changed, 1 insertion(+), 4 deletions(-) - -diff --git a/builds/unix/ftconfig.h.in b/builds/unix/ftconfig.h.in -index 00b5a8226..020593a95 100644 ---- a/builds/unix/ftconfig.h.in -+++ b/builds/unix/ftconfig.h.in -@@ -45,10 +45,7 @@ - #undef FT_USE_AUTOCONF_SIZEOF_TYPES - #ifdef FT_USE_AUTOCONF_SIZEOF_TYPES - --#undef SIZEOF_INT --#undef SIZEOF_LONG --#define FT_SIZEOF_INT SIZEOF_INT --#define FT_SIZEOF_LONG SIZEOF_LONG -+#error "Unsupported code branch enabled. Please report a bug to bugs.gentoo.org." - - #endif /* FT_USE_AUTOCONF_SIZEOF_TYPES */ - --- -2.28.0 - diff --git a/media-libs/freetype/files/freetype-2.11.0-COLR_missing_blend_mode.patch b/media-libs/freetype/files/freetype-2.11.0-COLR_missing_blend_mode.patch deleted file mode 100644 index af24a09ef213..000000000000 --- a/media-libs/freetype/files/freetype-2.11.0-COLR_missing_blend_mode.patch +++ /dev/null @@ -1,58 +0,0 @@ -From e40ae7569aa4ef591f66ff9066df2f91de75bb77 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Dominik=20R=C3=B6ttsches?= -Date: Mon, 9 Aug 2021 13:44:55 +0300 -Subject: [PATCH] [sfnt] Add missing blend mode 'plus' to 'COLR' v1. - -* include/freetype/ftcolor.h (FT_Composite_Mode): Add missing blend mode -'plus' after it was added to the spec. ---- - include/freetype/ftcolor.h | 33 +++++++++++++++++---------------- - 1 file changed, 17 insertions(+), 16 deletions(-) - -diff --git a/include/freetype/ftcolor.h b/include/freetype/ftcolor.h -index b98289917..cbd2d85bb 100644 ---- a/include/freetype/ftcolor.h -+++ b/include/freetype/ftcolor.h -@@ -740,22 +740,23 @@ FT_BEGIN_HEADER - FT_COLR_COMPOSITE_SRC_ATOP = 9, - FT_COLR_COMPOSITE_DEST_ATOP = 10, - FT_COLR_COMPOSITE_XOR = 11, -- FT_COLR_COMPOSITE_SCREEN = 12, -- FT_COLR_COMPOSITE_OVERLAY = 13, -- FT_COLR_COMPOSITE_DARKEN = 14, -- FT_COLR_COMPOSITE_LIGHTEN = 15, -- FT_COLR_COMPOSITE_COLOR_DODGE = 16, -- FT_COLR_COMPOSITE_COLOR_BURN = 17, -- FT_COLR_COMPOSITE_HARD_LIGHT = 18, -- FT_COLR_COMPOSITE_SOFT_LIGHT = 19, -- FT_COLR_COMPOSITE_DIFFERENCE = 20, -- FT_COLR_COMPOSITE_EXCLUSION = 21, -- FT_COLR_COMPOSITE_MULTIPLY = 22, -- FT_COLR_COMPOSITE_HSL_HUE = 23, -- FT_COLR_COMPOSITE_HSL_SATURATION = 24, -- FT_COLR_COMPOSITE_HSL_COLOR = 25, -- FT_COLR_COMPOSITE_HSL_LUMINOSITY = 26, -- FT_COLR_COMPOSITE_MAX = 27 -+ FT_COLR_COMPOSITE_PLUS = 12, -+ FT_COLR_COMPOSITE_SCREEN = 13, -+ FT_COLR_COMPOSITE_OVERLAY = 14, -+ FT_COLR_COMPOSITE_DARKEN = 15, -+ FT_COLR_COMPOSITE_LIGHTEN = 16, -+ FT_COLR_COMPOSITE_COLOR_DODGE = 17, -+ FT_COLR_COMPOSITE_COLOR_BURN = 18, -+ FT_COLR_COMPOSITE_HARD_LIGHT = 19, -+ FT_COLR_COMPOSITE_SOFT_LIGHT = 20, -+ FT_COLR_COMPOSITE_DIFFERENCE = 21, -+ FT_COLR_COMPOSITE_EXCLUSION = 22, -+ FT_COLR_COMPOSITE_MULTIPLY = 23, -+ FT_COLR_COMPOSITE_HSL_HUE = 24, -+ FT_COLR_COMPOSITE_HSL_SATURATION = 25, -+ FT_COLR_COMPOSITE_HSL_COLOR = 26, -+ FT_COLR_COMPOSITE_HSL_LUMINOSITY = 27, -+ FT_COLR_COMPOSITE_MAX = 28 - - } FT_Composite_Mode; - --- -GitLab - diff --git a/media-libs/freetype/files/freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch b/media-libs/freetype/files/freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch deleted file mode 100644 index f602866f591a..000000000000 --- a/media-libs/freetype/files/freetype-2.11.0-COLR_v1_clipbox_minor_fix.patch +++ /dev/null @@ -1,26 +0,0 @@ -From fed5521016227bf8cc4475f66450a9963568d162 Mon Sep 17 00:00:00 2001 -From: Werner Lemberg -Date: Mon, 9 Aug 2021 19:27:34 +0200 -Subject: [PATCH] * src/sfnt/ttcolr.c (tt_face_get_color_glyph_clipbox): Minor - fix. - ---- - src/sfnt/ttcolr.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/sfnt/ttcolr.c b/src/sfnt/ttcolr.c -index 2f3e8846d..68807127f 100644 ---- a/src/sfnt/ttcolr.c -+++ b/src/sfnt/ttcolr.c -@@ -863,7 +863,7 @@ - - format = FT_NEXT_BYTE( p1 ); - -- if ( format < 0 || format > 1 ) -+ if ( format > 1 ) - return 0; - - /* `face->root.size->metrics.x_scale` and `y_scale` are factors */ --- -GitLab - diff --git a/media-libs/freetype/files/freetype-2.11.0-quiet_noop.patch b/media-libs/freetype/files/freetype-2.11.0-quiet_noop.patch deleted file mode 100644 index 46206465ffaf..000000000000 --- a/media-libs/freetype/files/freetype-2.11.0-quiet_noop.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 6e9d8d314ff6ab23177b9162c0b96616460bb84e Mon Sep 17 00:00:00 2001 -From: Alexei Podtelezhnikov -Date: Fri, 20 Aug 2021 16:01:32 -0400 -Subject: [PATCH] [base] Restore quiet no-op rendering of bitmap glyphs. - -Fixes #1076. - -* src/base/ftobjs.c (FT_Render_Glyph_Internal): Discard an error when -rendering a bitmap glyph. ---- - src/base/ftobjs.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/base/ftobjs.c b/src/base/ftobjs.c -index 342ac4a27..7b40c6421 100644 ---- a/src/base/ftobjs.c -+++ b/src/base/ftobjs.c -@@ -4703,7 +4703,7 @@ - else - renderer = FT_Lookup_Renderer( library, slot->format, &node ); - -- error = FT_ERR( Unimplemented_Feature ); -+ error = FT_ERR( Cannot_Render_Glyph ); - while ( renderer ) - { - error = renderer->render( renderer, slot, render_mode, NULL ); -@@ -4719,6 +4719,11 @@ - /* format. */ - renderer = FT_Lookup_Renderer( library, slot->format, &node ); - } -+ -+ /* it is not an error if we cannot render a bitmat glyph */ -+ if ( FT_ERR_EQ( error, Cannot_Render_Glyph ) && -+ slot->format == FT_GLYPH_FORMAT_BITMAP ) -+ error = FT_Err_Ok; - } - } - --- -GitLab - diff --git a/media-libs/freetype/files/freetype-2.12.0-cffgload_segfault_fix.patch b/media-libs/freetype/files/freetype-2.12.0-cffgload_segfault_fix.patch new file mode 100644 index 000000000000..6578475f4d7f --- /dev/null +++ b/media-libs/freetype/files/freetype-2.12.0-cffgload_segfault_fix.patch @@ -0,0 +1,31 @@ +From 978eefee5401abee6bf702c6bcde9afb47893145 Mon Sep 17 00:00:00 2001 +From: Georg Brandl +Date: Tue, 12 Apr 2022 11:43:37 +0000 +Subject: [PATCH] * src/cff/cffgload.c (cff_slot_load) [FT_CONFIG_OPTION_SVG]: + Fix segfault. + +This can happen if the function is called with `size` being `NULL`. + +Fixes #1147. +--- + src/cff/cffgload.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/cff/cffgload.c b/src/cff/cffgload.c +index 5c15c804b..7586b886f 100644 +--- a/src/cff/cffgload.c ++++ b/src/cff/cffgload.c +@@ -370,8 +370,8 @@ + SFNT_Service sfnt; + + +- if ( size->root.metrics.x_ppem < 1 || +- size->root.metrics.y_ppem < 1 ) ++ if ( size && (size->root.metrics.x_ppem < 1 || ++ size->root.metrics.y_ppem < 1 ) ) + { + error = FT_THROW( Invalid_Size_Handle ); + return error; +-- +GitLab + diff --git a/media-libs/freetype/freetype-2.11.0-r1.ebuild b/media-libs/freetype/freetype-2.11.0-r1.ebuild deleted file mode 100644 index c9d88a7e1080..000000000000 --- a/media-libs/freetype/freetype-2.11.0-r1.ebuild +++ /dev/null @@ -1,252 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic libtool multilib-build multilib-minimal toolchain-funcs - -DESCRIPTION="High-quality and portable font engine" -HOMEPAGE="https://www.freetype.org/" -IUSE="X +adobe-cff brotli bzip2 +cleartype-hinting debug fontforge harfbuzz infinality +png static-libs utils" - -if [[ "${PV}" != 9999 ]] ; then - SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.xz - mirror://nongnu/freetype/${P/_/}.tar.xz - utils? ( mirror://sourceforge/freetype/ft2demos-${PV}.tar.xz - mirror://nongnu/freetype/ft2demos-${PV}.tar.xz ) - doc? ( mirror://sourceforge/freetype/${PN}-doc-${PV}.tar.xz - mirror://nongnu/freetype/${PN}-doc-${PV}.tar.xz )" - SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${P}-COLR_v1_clipbox.patch.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" - IUSE+=" doc" -else - inherit autotools git-r3 -fi - -LICENSE="|| ( FTL GPL-2+ )" -SLOT="2" - -RDEPEND=" - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - brotli? ( app-arch/brotli[${MULTILIB_USEDEP}] ) - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) - harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] ) - png? ( >=media-libs/libpng-1.2.51:0=[${MULTILIB_USEDEP}] ) - utils? ( - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXau-1.0.7-r1[${MULTILIB_USEDEP}] - >=x11-libs/libXdmcp-1.1.1-r1[${MULTILIB_USEDEP}] - ) - )" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.10.3-sizeof-types.patch # 459966 - "${WORKDIR}"/${P}-COLR_v1_clipbox.patch - "${FILESDIR}"/${P}-COLR_v1_clipbox_minor_fix.patch - "${FILESDIR}"/${P}-COLR_missing_blend_mode.patch -) - -_egit_repo_handler() { - if [[ "${PV}" == 9999 ]] ; then - local phase="${1}" - case ${phase} in - fetch|unpack) - :; - ;; - *) - die "Please use this function with either \"fetch\" or \"unpack\"" - ;; - esac - - local EGIT_REPO_URI - EGIT_REPO_URI="https://git.sv.nongnu.org/r/freetype/freetype2.git" - git-r3_src_${phase} - if use utils ; then - EGIT_REPO_URI="https://git.sv.nongnu.org/r/freetype/freetype2-demos.git" - local EGIT_CHECKOUT_DIR="${WORKDIR}/ft2demos-${PV}" - git-r3_src_${phase} - fi - else - default - fi -} - -src_fetch() { - _egit_repo_handler ${EBUILD_PHASE} -} - -src_unpack() { - _egit_repo_handler ${EBUILD_PHASE} - - if [[ "${PV}" == 9999 ]] ; then - # Need to copy stuff from dlg subproject (#758902) - local dlg_inc_dir="${S}/subprojects/dlg/include/dlg" - local dlg_src_dir="${S}/subprojects/dlg/src/dlg" - local dlg_dest_dir="${S}/include" - mkdir -p "${dlg_dest_dir}/dlg" || die - cp "${dlg_inc_dir}"/{dlg,output}.h "${dlg_dest_dir}/dlg" || die - cp "${dlg_src_dir}"/* "${dlg_dest_dir}" || die - fi -} - -src_prepare() { - if [[ "${PV}" == 9999 ]] ; then - # Do NOT automagically mess with submodules!!! - sed '/setup: copy_submodule/d' -i builds/toplevel.mk || die - # inspired by shipped autogen.sh script - eval $(sed -n \ - -e 's/^#define *\(FREETYPE_MAJOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ - -e 's/^#define *\(FREETYPE_MINOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ - -e 's/^#define *\(FREETYPE_PATCH\) *\([0-9][0-9]*\).*/\1=\2/p' \ - include/freetype/freetype.h || die) - FREETYPE="${FREETYPE_MAJOR}.${FREETYPE_MINOR}" - [[ "${FREETYPE_PATCH}" != 0 ]] && FREETYPE+=".${FREETYPE_PATCH}" - pushd builds/unix &>/dev/null || die - sed -e "s;@VERSION@;${FREETYPE};" \ - < configure.raw > configure.ac || die - # eautoheader produces broken ftconfig.in - AT_NOEAUTOHEADER="yes" AT_M4DIR="." eautoreconf - unset FREETYPE_MAJOR FREETYPE_MINOR FREETYPE_PATCH FREETYPE - popd &>/dev/null || die - fi - - default - - # This is the same as the 01 patch from infinality - sed '/AUX_MODULES += \(gx\|ot\)valid/s@^# @@' -i modules.cfg || die - - enable_option() { - sed -i -e "/#define $1/ { s:/\* ::; s: \*/:: }" \ - include/${PN}/config/ftoption.h \ - || die "unable to enable option $1" - } - - disable_option() { - sed -i -e "/#define $1/ { s:^:/* :; s:$: */: }" \ - include/${PN}/config/ftoption.h \ - || die "unable to disable option $1" - } - - # Will be the new default for >=freetype-2.7.0 - disable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" - - if use infinality && use cleartype-hinting ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )" - elif use infinality ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 1" - elif use cleartype-hinting ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" - fi - - # Can be disabled with FREETYPE_PROPERTIES="pcf:no-long-family-names=1" - # via environment (new since v2.8) - enable_option PCF_CONFIG_OPTION_LONG_FAMILY_NAMES - - # See https://freetype.org/patents.html (expired!) - enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING - - if ! use adobe-cff ; then - enable_option CFF_CONFIG_OPTION_OLD_ENGINE - fi - - if use debug ; then - enable_option FT_DEBUG_LEVEL_TRACE - enable_option FT_DEBUG_MEMORY - fi - - if use utils ; then - cd "${WORKDIR}/ft2demos-${PV}" || die - # Disable tests needing X11 when USE="-X". (bug #177597) - if ! use X ; then - sed -i -e "/EXES\ +=\ ftdiff/ s:^:#:" Makefile || die - fi - cd "${S}" || die - fi - - # we need non-/bin/sh to run configure - if [[ -n ${CONFIG_SHELL} ]] ; then - sed -i -e "1s:^#![[:space:]]*/bin/sh:#!${CONFIG_SHELL}:" \ - "${S}"/builds/unix/configure || die - fi - - elibtoolize --patch-only -} - -multilib_src_configure() { - append-flags -fno-strict-aliasing - type -P gmake &> /dev/null && export GNUMAKE=gmake - - local myeconfargs=( - --disable-freetype-config - --enable-biarch-config - --enable-shared - $(use_with brotli) - $(use_with bzip2) - $(use_with harfbuzz) - $(use_with png) - $(use_enable static-libs static) - - # avoid using libpng-config - LIBPNG_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libpng)" - LIBPNG_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libpng)" - ) - - case ${CHOST} in - mingw*|*-mingw*) ;; - # Workaround windows mis-detection: bug #654712 - # Have to do it for both ${CHOST}-windres and windres - *) myeconfargs+=( ac_cv_prog_RC= ac_cv_prog_ac_ct_RC= ) ;; - esac - - export CC_BUILD="$(tc-getBUILD_CC)" - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - default - - if multilib_is_native_abi && use utils ; then - einfo "Building utils" - # fix for Prefix, bug #339334 - emake \ - X11_PATH="${EPREFIX}/usr/$(get_libdir)" \ - FT2DEMOS=1 TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" - fi -} - -multilib_src_install() { - default - - if multilib_is_native_abi && use utils ; then - einfo "Installing utils" - emake DESTDIR="${D}" FT2DEMOS=1 \ - TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" install - fi -} - -multilib_src_install_all() { - if use fontforge ; then - # Probably fontforge needs less but this way makes things simplier... - einfo "Installing internal headers required for fontforge" - local header - find src/truetype include/freetype/internal -name '*.h' | \ - while read header ; do - mkdir -p "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die - cp ${header} "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die - done - fi - - dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,INSTALL.UNIX,*.txt,PROBLEMS,TODO} - if [[ "${PV}" != 9999 ]] && use doc ; then - docinto html - dodoc -r docs/* - fi - - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/media-libs/freetype/freetype-2.11.0-r2.ebuild b/media-libs/freetype/freetype-2.11.0-r2.ebuild deleted file mode 100644 index 27f4cfde1ab2..000000000000 --- a/media-libs/freetype/freetype-2.11.0-r2.ebuild +++ /dev/null @@ -1,253 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic libtool multilib-build multilib-minimal toolchain-funcs - -DESCRIPTION="High-quality and portable font engine" -HOMEPAGE="https://www.freetype.org/" -IUSE="X +adobe-cff brotli bzip2 +cleartype-hinting debug fontforge harfbuzz infinality +png static-libs utils" - -if [[ "${PV}" != 9999 ]] ; then - SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.xz - mirror://nongnu/freetype/${P/_/}.tar.xz - utils? ( mirror://sourceforge/freetype/ft2demos-${PV}.tar.xz - mirror://nongnu/freetype/ft2demos-${PV}.tar.xz ) - doc? ( mirror://sourceforge/freetype/${PN}-doc-${PV}.tar.xz - mirror://nongnu/freetype/${PN}-doc-${PV}.tar.xz )" - SRC_URI+=" https://dev.gentoo.org/~polynomial-c/${P}-COLR_v1_clipbox.patch.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" - IUSE+=" doc" -else - inherit autotools git-r3 -fi - -LICENSE="|| ( FTL GPL-2+ )" -SLOT="2" - -RDEPEND=" - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - brotli? ( app-arch/brotli[${MULTILIB_USEDEP}] ) - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) - harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] ) - png? ( >=media-libs/libpng-1.2.51:0=[${MULTILIB_USEDEP}] ) - utils? ( - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXau-1.0.7-r1[${MULTILIB_USEDEP}] - >=x11-libs/libXdmcp-1.1.1-r1[${MULTILIB_USEDEP}] - ) - )" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}"/${PN}-2.10.3-sizeof-types.patch # 459966 - "${WORKDIR}"/${P}-COLR_v1_clipbox.patch - "${FILESDIR}"/${P}-COLR_v1_clipbox_minor_fix.patch - "${FILESDIR}"/${P}-COLR_missing_blend_mode.patch - "${FILESDIR}"/${P}-quiet_noop.patch #820500 -) - -_egit_repo_handler() { - if [[ "${PV}" == 9999 ]] ; then - local phase="${1}" - case ${phase} in - fetch|unpack) - :; - ;; - *) - die "Please use this function with either \"fetch\" or \"unpack\"" - ;; - esac - - local EGIT_REPO_URI - EGIT_REPO_URI="https://git.sv.nongnu.org/r/freetype/freetype2.git" - git-r3_src_${phase} - if use utils ; then - EGIT_REPO_URI="https://git.sv.nongnu.org/r/freetype/freetype2-demos.git" - local EGIT_CHECKOUT_DIR="${WORKDIR}/ft2demos-${PV}" - git-r3_src_${phase} - fi - else - default - fi -} - -src_fetch() { - _egit_repo_handler ${EBUILD_PHASE} -} - -src_unpack() { - _egit_repo_handler ${EBUILD_PHASE} - - if [[ "${PV}" == 9999 ]] ; then - # Need to copy stuff from dlg subproject (#758902) - local dlg_inc_dir="${S}/subprojects/dlg/include/dlg" - local dlg_src_dir="${S}/subprojects/dlg/src/dlg" - local dlg_dest_dir="${S}/include" - mkdir -p "${dlg_dest_dir}/dlg" || die - cp "${dlg_inc_dir}"/{dlg,output}.h "${dlg_dest_dir}/dlg" || die - cp "${dlg_src_dir}"/* "${dlg_dest_dir}" || die - fi -} - -src_prepare() { - if [[ "${PV}" == 9999 ]] ; then - # Do NOT automagically mess with submodules!!! - sed '/setup: copy_submodule/d' -i builds/toplevel.mk || die - # inspired by shipped autogen.sh script - eval $(sed -n \ - -e 's/^#define *\(FREETYPE_MAJOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ - -e 's/^#define *\(FREETYPE_MINOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ - -e 's/^#define *\(FREETYPE_PATCH\) *\([0-9][0-9]*\).*/\1=\2/p' \ - include/freetype/freetype.h || die) - FREETYPE="${FREETYPE_MAJOR}.${FREETYPE_MINOR}" - [[ "${FREETYPE_PATCH}" != 0 ]] && FREETYPE+=".${FREETYPE_PATCH}" - pushd builds/unix &>/dev/null || die - sed -e "s;@VERSION@;${FREETYPE};" \ - < configure.raw > configure.ac || die - # eautoheader produces broken ftconfig.in - AT_NOEAUTOHEADER="yes" AT_M4DIR="." eautoreconf - unset FREETYPE_MAJOR FREETYPE_MINOR FREETYPE_PATCH FREETYPE - popd &>/dev/null || die - fi - - default - - # This is the same as the 01 patch from infinality - sed '/AUX_MODULES += \(gx\|ot\)valid/s@^# @@' -i modules.cfg || die - - enable_option() { - sed -i -e "/#define $1/ { s:/\* ::; s: \*/:: }" \ - include/${PN}/config/ftoption.h \ - || die "unable to enable option $1" - } - - disable_option() { - sed -i -e "/#define $1/ { s:^:/* :; s:$: */: }" \ - include/${PN}/config/ftoption.h \ - || die "unable to disable option $1" - } - - # Will be the new default for >=freetype-2.7.0 - disable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" - - if use infinality && use cleartype-hinting ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )" - elif use infinality ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 1" - elif use cleartype-hinting ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" - fi - - # Can be disabled with FREETYPE_PROPERTIES="pcf:no-long-family-names=1" - # via environment (new since v2.8) - enable_option PCF_CONFIG_OPTION_LONG_FAMILY_NAMES - - # See https://freetype.org/patents.html (expired!) - enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING - - if ! use adobe-cff ; then - enable_option CFF_CONFIG_OPTION_OLD_ENGINE - fi - - if use debug ; then - enable_option FT_DEBUG_LEVEL_TRACE - enable_option FT_DEBUG_MEMORY - fi - - if use utils ; then - cd "${WORKDIR}/ft2demos-${PV}" || die - # Disable tests needing X11 when USE="-X". (bug #177597) - if ! use X ; then - sed -i -e "/EXES\ +=\ ftdiff/ s:^:#:" Makefile || die - fi - cd "${S}" || die - fi - - # we need non-/bin/sh to run configure - if [[ -n ${CONFIG_SHELL} ]] ; then - sed -i -e "1s:^#![[:space:]]*/bin/sh:#!${CONFIG_SHELL}:" \ - "${S}"/builds/unix/configure || die - fi - - elibtoolize --patch-only -} - -multilib_src_configure() { - append-flags -fno-strict-aliasing - type -P gmake &> /dev/null && export GNUMAKE=gmake - - local myeconfargs=( - --disable-freetype-config - --enable-biarch-config - --enable-shared - $(use_with brotli) - $(use_with bzip2) - $(use_with harfbuzz) - $(use_with png) - $(use_enable static-libs static) - - # avoid using libpng-config - LIBPNG_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libpng)" - LIBPNG_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libpng)" - ) - - case ${CHOST} in - mingw*|*-mingw*) ;; - # Workaround windows mis-detection: bug #654712 - # Have to do it for both ${CHOST}-windres and windres - *) myeconfargs+=( ac_cv_prog_RC= ac_cv_prog_ac_ct_RC= ) ;; - esac - - export CC_BUILD="$(tc-getBUILD_CC)" - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - default - - if multilib_is_native_abi && use utils ; then - einfo "Building utils" - # fix for Prefix, bug #339334 - emake \ - X11_PATH="${EPREFIX}/usr/$(get_libdir)" \ - FT2DEMOS=1 TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" - fi -} - -multilib_src_install() { - default - - if multilib_is_native_abi && use utils ; then - einfo "Installing utils" - emake DESTDIR="${D}" FT2DEMOS=1 \ - TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" install - fi -} - -multilib_src_install_all() { - if use fontforge ; then - # Probably fontforge needs less but this way makes things simplier... - einfo "Installing internal headers required for fontforge" - local header - find src/truetype include/freetype/internal -name '*.h' | \ - while read header ; do - mkdir -p "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die - cp ${header} "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die - done - fi - - dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,INSTALL.UNIX,*.txt,PROBLEMS,TODO} - if [[ "${PV}" != 9999 ]] && use doc ; then - docinto html - dodoc -r docs/* - fi - - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/media-libs/freetype/freetype-2.11.1.ebuild b/media-libs/freetype/freetype-2.11.1.ebuild deleted file mode 100644 index e2ef9bdbfa37..000000000000 --- a/media-libs/freetype/freetype-2.11.1.ebuild +++ /dev/null @@ -1,244 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit flag-o-matic libtool multilib-build multilib-minimal toolchain-funcs - -DESCRIPTION="High-quality and portable font engine" -HOMEPAGE="https://www.freetype.org/" -IUSE="X +adobe-cff brotli bzip2 +cleartype-hinting debug fontforge harfbuzz infinality +png static-libs utils" - -if [[ "${PV}" != 9999 ]] ; then - SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.xz - mirror://nongnu/freetype/${P/_/}.tar.xz - utils? ( mirror://sourceforge/freetype/ft2demos-${PV}.tar.xz - mirror://nongnu/freetype/ft2demos-${PV}.tar.xz ) - doc? ( mirror://sourceforge/freetype/${PN}-doc-${PV}.tar.xz - mirror://nongnu/freetype/${PN}-doc-${PV}.tar.xz )" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" - IUSE+=" doc" -else - inherit autotools git-r3 -fi - -LICENSE="|| ( FTL GPL-2+ )" -SLOT="2" - -RDEPEND=" - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - brotli? ( app-arch/brotli[${MULTILIB_USEDEP}] ) - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) - harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] ) - png? ( >=media-libs/libpng-1.2.51:0=[${MULTILIB_USEDEP}] ) - utils? ( - X? ( - >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] - >=x11-libs/libXau-1.0.7-r1[${MULTILIB_USEDEP}] - >=x11-libs/libXdmcp-1.1.1-r1[${MULTILIB_USEDEP}] - ) - )" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig -" - -_egit_repo_handler() { - if [[ "${PV}" == 9999 ]] ; then - local phase="${1}" - case ${phase} in - fetch|unpack) - :; - ;; - *) - die "Please use this function with either \"fetch\" or \"unpack\"" - ;; - esac - - local EGIT_REPO_URI - EGIT_REPO_URI="https://gitlab.freedesktop.org/freetype/freetype.git" - git-r3_src_${phase} - if use utils ; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/freetype/freetype-demos.git" - local EGIT_CHECKOUT_DIR="${WORKDIR}/ft2demos-${PV}" - git-r3_src_${phase} - fi - else - default - fi -} - -src_fetch() { - _egit_repo_handler ${EBUILD_PHASE} -} - -src_unpack() { - _egit_repo_handler ${EBUILD_PHASE} - - if [[ "${PV}" == 9999 ]] ; then - # Need to copy stuff from dlg subproject (#758902) - local dlg_inc_dir="${S}/subprojects/dlg/include/dlg" - local dlg_src_dir="${S}/subprojects/dlg/src/dlg" - local dlg_dest_dir="${S}/include" - mkdir -p "${dlg_dest_dir}/dlg" || die - cp "${dlg_inc_dir}"/{dlg,output}.h "${dlg_dest_dir}/dlg" || die - cp "${dlg_src_dir}"/* "${dlg_dest_dir}" || die - fi -} - -src_prepare() { - if [[ "${PV}" == 9999 ]] ; then - # Do NOT automagically mess with submodules!!! - sed '/setup: copy_submodule/d' -i builds/toplevel.mk || die - # inspired by shipped autogen.sh script - eval $(sed -n \ - -e 's/^#define *\(FREETYPE_MAJOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ - -e 's/^#define *\(FREETYPE_MINOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ - -e 's/^#define *\(FREETYPE_PATCH\) *\([0-9][0-9]*\).*/\1=\2/p' \ - include/freetype/freetype.h || die) - FREETYPE="${FREETYPE_MAJOR}.${FREETYPE_MINOR}" - [[ "${FREETYPE_PATCH}" != 0 ]] && FREETYPE+=".${FREETYPE_PATCH}" - pushd builds/unix &>/dev/null || die - sed -e "s;@VERSION@;${FREETYPE};" \ - < configure.raw > configure.ac || die - # eautoheader produces broken ftconfig.in - AT_NOEAUTOHEADER="yes" AT_M4DIR="." eautoreconf - unset FREETYPE_MAJOR FREETYPE_MINOR FREETYPE_PATCH FREETYPE - popd &>/dev/null || die - fi - - default - - # This is the same as the 01 patch from infinality - sed '/AUX_MODULES += \(gx\|ot\)valid/s@^# @@' -i modules.cfg || die - - enable_option() { - sed -i -e "/#define $1/ { s:/\* ::; s: \*/:: }" \ - include/${PN}/config/ftoption.h \ - || die "unable to enable option $1" - } - - disable_option() { - sed -i -e "/#define $1/ { s:^:/* :; s:$: */: }" \ - include/${PN}/config/ftoption.h \ - || die "unable to disable option $1" - } - - # Will be the new default for >=freetype-2.7.0 - disable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" - - if use infinality && use cleartype-hinting ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )" - elif use infinality ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 1" - elif use cleartype-hinting ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" - fi - - # Can be disabled with FREETYPE_PROPERTIES="pcf:no-long-family-names=1" - # via environment (new since v2.8) - enable_option PCF_CONFIG_OPTION_LONG_FAMILY_NAMES - - # See https://freetype.org/patents.html (expired!) - enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING - - if ! use adobe-cff ; then - enable_option CFF_CONFIG_OPTION_OLD_ENGINE - fi - - if use debug ; then - enable_option FT_DEBUG_LEVEL_TRACE - enable_option FT_DEBUG_MEMORY - fi - - if use utils ; then - cd "${WORKDIR}/ft2demos-${PV}" || die - # Disable tests needing X11 when USE="-X". (bug #177597) - if ! use X ; then - sed -i -e "/EXES\ +=\ ftdiff/ s:^:#:" Makefile || die - fi - cd "${S}" || die - fi - - # we need non-/bin/sh to run configure - if [[ -n ${CONFIG_SHELL} ]] ; then - sed -i -e "1s:^#![[:space:]]*/bin/sh:#!${CONFIG_SHELL}:" \ - "${S}"/builds/unix/configure || die - fi - - elibtoolize --patch-only -} - -multilib_src_configure() { - append-flags -fno-strict-aliasing - type -P gmake &> /dev/null && export GNUMAKE=gmake - - local myeconfargs=( - --disable-freetype-config - --enable-shared - --with-zlib - $(use_with brotli) - $(use_with bzip2) - $(use_with harfbuzz) - $(use_with png) - $(use_enable static-libs static) - - # avoid using libpng-config - LIBPNG_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libpng)" - LIBPNG_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libpng)" - ) - - case ${CHOST} in - mingw*|*-mingw*) ;; - # Workaround windows mis-detection: bug #654712 - # Have to do it for both ${CHOST}-windres and windres - *) myeconfargs+=( ac_cv_prog_RC= ac_cv_prog_ac_ct_RC= ) ;; - esac - - export CC_BUILD="$(tc-getBUILD_CC)" - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - default - - if multilib_is_native_abi && use utils ; then - einfo "Building utils" - # fix for Prefix, bug #339334 - emake \ - X11_PATH="${EPREFIX}/usr/$(get_libdir)" \ - FT2DEMOS=1 TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" - fi -} - -multilib_src_install() { - default - - if multilib_is_native_abi && use utils ; then - einfo "Installing utils" - emake DESTDIR="${D}" FT2DEMOS=1 \ - TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" install - fi -} - -multilib_src_install_all() { - if use fontforge ; then - # Probably fontforge needs less but this way makes things simplier... - einfo "Installing internal headers required for fontforge" - local header - find src/truetype include/freetype/internal -name '*.h' | \ - while read header ; do - mkdir -p "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die - cp ${header} "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die - done - fi - - dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,INSTALL.UNIX,*.txt,PROBLEMS,TODO} - if [[ "${PV}" != 9999 ]] && use doc ; then - docinto html - dodoc -r docs/* - fi - - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/media-libs/freetype/freetype-2.12.0-r1.ebuild b/media-libs/freetype/freetype-2.12.0-r1.ebuild new file mode 100644 index 000000000000..51df8e5fb2dd --- /dev/null +++ b/media-libs/freetype/freetype-2.12.0-r1.ebuild @@ -0,0 +1,261 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic libtool multilib-build multilib-minimal toolchain-funcs + +DESCRIPTION="High-quality and portable font engine" +HOMEPAGE="https://www.freetype.org/" +IUSE="X +adobe-cff brotli bzip2 +cleartype-hinting debug fontforge harfbuzz infinality +png static-libs svg utils" + +if [[ "${PV}" != 9999 ]] ; then + SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.xz + mirror://nongnu/freetype/${P/_/}.tar.xz + utils? ( mirror://sourceforge/freetype/ft2demos-${PV}.tar.xz + mirror://nongnu/freetype/ft2demos-${PV}.tar.xz ) + doc? ( mirror://sourceforge/freetype/${PN}-doc-${PV}.tar.xz + mirror://nongnu/freetype/${PN}-doc-${PV}.tar.xz )" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" + IUSE+=" doc" +else + inherit git-r3 +fi + +LICENSE="|| ( FTL GPL-2+ )" +SLOT="2" + +RDEPEND=" + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + brotli? ( app-arch/brotli[${MULTILIB_USEDEP}] ) + bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) + harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] ) + png? ( >=media-libs/libpng-1.2.51:0=[${MULTILIB_USEDEP}] ) + utils? ( + svg? ( >=gnome-base/librsvg-2.46.0[${MULTILIB_USEDEP}] ) + X? ( >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] ) + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig +" + +PATCHES=( + "${FILESDIR}/${PN}-2.12.0-librsvg_automagic.patch" + + # https://bugs.gentoo.org/836898 + "${FILESDIR}/${P}-cffgload_segfault_fix.patch" +) + +_egit_repo_handler() { + if [[ "${PV}" == 9999 ]] ; then + local phase="${1}" + case ${phase} in + fetch|unpack) + :; + ;; + *) + die "Please use this function with either \"fetch\" or \"unpack\"" + ;; + esac + + local EGIT_REPO_URI + EGIT_REPO_URI="https://gitlab.freedesktop.org/freetype/freetype.git" + git-r3_src_${phase} + if use utils ; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/freetype/freetype-demos.git" + local EGIT_CHECKOUT_DIR="${WORKDIR}/ft2demos-${PV}" + git-r3_src_${phase} + fi + else + default + fi +} + +pkg_pretend() { + if use svg && ! use utils ; then + einfo "The \"svg\" USE flag only has effect when the \"utils\" USE flag is also enabled." + fi +} + +src_fetch() { + _egit_repo_handler ${EBUILD_PHASE} +} + +src_unpack() { + _egit_repo_handler ${EBUILD_PHASE} + + if [[ "${PV}" == 9999 ]] ; then + # Need to copy stuff from dlg subproject (#758902) + local dlg_inc_dir="${S}/subprojects/dlg/include/dlg" + local dlg_src_dir="${S}/subprojects/dlg/src/dlg" + local dlg_dest_dir="${S}/include" + mkdir -p "${dlg_dest_dir}/dlg" || die + cp "${dlg_inc_dir}"/{dlg,output}.h "${dlg_dest_dir}/dlg" || die + cp "${dlg_src_dir}"/* "${dlg_dest_dir}" || die + fi +} + +src_prepare() { + if [[ "${PV}" == 9999 ]] ; then + # Do NOT automagically mess with submodules!!! + sed '/setup: copy_submodule/d' -i builds/toplevel.mk || die + # inspired by shipped autogen.sh script + eval $(sed -n \ + -e 's/^#define *\(FREETYPE_MAJOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ + -e 's/^#define *\(FREETYPE_MINOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ + -e 's/^#define *\(FREETYPE_PATCH\) *\([0-9][0-9]*\).*/\1=\2/p' \ + include/freetype/freetype.h || die) + FREETYPE="${FREETYPE_MAJOR}.${FREETYPE_MINOR}" + [[ "${FREETYPE_PATCH}" != 0 ]] && FREETYPE+=".${FREETYPE_PATCH}" + pushd builds/unix &>/dev/null || die + sed -e "s;@VERSION@;${FREETYPE};" \ + < configure.raw > configure.ac || die + # eautoheader produces broken ftconfig.in + AT_NOEAUTOHEADER="yes" AT_M4DIR="." eautoreconf + unset FREETYPE_MAJOR FREETYPE_MINOR FREETYPE_PATCH FREETYPE + popd &>/dev/null || die + fi + + default + + pushd builds/unix &>/dev/null || die + # eautoheader produces broken ftconfig.in + AT_NOEAUTOHEADER="yes" AT_M4DIR="." eautoreconf + popd &>/dev/null || die + + # This is the same as the 01 patch from infinality + sed '/AUX_MODULES += \(gx\|ot\)valid/s@^# @@' -i modules.cfg || die + + enable_option() { + sed -i -e "/#define $1/ { s:/\* ::; s: \*/:: }" \ + include/${PN}/config/ftoption.h \ + || die "unable to enable option $1" + } + + disable_option() { + sed -i -e "/#define $1/ { s:^:/* :; s:$: */: }" \ + include/${PN}/config/ftoption.h \ + || die "unable to disable option $1" + } + + # Will be the new default for >=freetype-2.7.0 + disable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" + + if use infinality && use cleartype-hinting ; then + enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )" + elif use infinality ; then + enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 1" + elif use cleartype-hinting ; then + enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" + fi + + # Can be disabled with FREETYPE_PROPERTIES="pcf:no-long-family-names=1" + # via environment (new since v2.8) + enable_option PCF_CONFIG_OPTION_LONG_FAMILY_NAMES + + # See https://freetype.org/patents.html (expired!) + enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING + + if ! use adobe-cff ; then + enable_option CFF_CONFIG_OPTION_OLD_ENGINE + fi + + if use debug ; then + enable_option FT_DEBUG_LEVEL_TRACE + enable_option FT_DEBUG_MEMORY + fi + + if use utils ; then + cd "${WORKDIR}/ft2demos-${PV}" || die + # Disable tests needing X11 when USE="-X". (bug #177597) + if ! use X ; then + sed -i -e "/EXES\ +=\ ftdiff/ s:^:#:" Makefile || die + fi + cd "${S}" || die + fi + + # we need non-/bin/sh to run configure + if [[ -n ${CONFIG_SHELL} ]] ; then + sed -i -e "1s:^#![[:space:]]*/bin/sh:#!${CONFIG_SHELL}:" \ + "${S}"/builds/unix/configure || die + fi + + elibtoolize --patch-only +} + +multilib_src_configure() { + append-flags -fno-strict-aliasing + type -P gmake &> /dev/null && export GNUMAKE=gmake + + local myeconfargs=( + --disable-freetype-config + --enable-shared + --with-zlib + $(use_with brotli) + $(use_with bzip2) + $(use_with harfbuzz) + $(use_with png) + $(use_enable static-libs static) + $(usex utils $(use_with svg librsvg) --without-librsvg) + + # avoid using libpng-config + LIBPNG_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libpng)" + LIBPNG_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libpng)" + ) + + case ${CHOST} in + mingw*|*-mingw*) ;; + # Workaround windows mis-detection: bug #654712 + # Have to do it for both ${CHOST}-windres and windres + *) myeconfargs+=( ac_cv_prog_RC= ac_cv_prog_ac_ct_RC= ) ;; + esac + + export CC_BUILD="$(tc-getBUILD_CC)" + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use utils ; then + einfo "Building utils" + # fix for Prefix, bug #339334 + emake \ + X11_PATH="${EPREFIX}/usr/$(get_libdir)" \ + FT2DEMOS=1 TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" + fi +} + +multilib_src_install() { + default + + if multilib_is_native_abi && use utils ; then + einfo "Installing utils" + emake DESTDIR="${D}" FT2DEMOS=1 \ + TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" install + fi +} + +multilib_src_install_all() { + if use fontforge ; then + # Probably fontforge needs less but this way makes things simplier... + einfo "Installing internal headers required for fontforge" + local header + find src/truetype include/freetype/internal -name '*.h' | \ + while read header ; do + mkdir -p "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die + cp ${header} "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die + done + fi + + dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,INSTALL.UNIX,*.txt,PROBLEMS,TODO} + if [[ "${PV}" != 9999 ]] && use doc ; then + docinto html + dodoc -r docs/* + fi + + find "${ED}" -type f -name '*.la' -delete || die +} diff --git a/media-libs/freetype/freetype-2.12.0.ebuild b/media-libs/freetype/freetype-2.12.0.ebuild deleted file mode 100644 index 6dddbb78b16f..000000000000 --- a/media-libs/freetype/freetype-2.12.0.ebuild +++ /dev/null @@ -1,258 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit autotools flag-o-matic libtool multilib-build multilib-minimal toolchain-funcs - -DESCRIPTION="High-quality and portable font engine" -HOMEPAGE="https://www.freetype.org/" -IUSE="X +adobe-cff brotli bzip2 +cleartype-hinting debug fontforge harfbuzz infinality +png static-libs svg utils" - -if [[ "${PV}" != 9999 ]] ; then - SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.xz - mirror://nongnu/freetype/${P/_/}.tar.xz - utils? ( mirror://sourceforge/freetype/ft2demos-${PV}.tar.xz - mirror://nongnu/freetype/ft2demos-${PV}.tar.xz ) - doc? ( mirror://sourceforge/freetype/${PN}-doc-${PV}.tar.xz - mirror://nongnu/freetype/${PN}-doc-${PV}.tar.xz )" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" - IUSE+=" doc" -else - inherit git-r3 -fi - -LICENSE="|| ( FTL GPL-2+ )" -SLOT="2" - -RDEPEND=" - >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] - brotli? ( app-arch/brotli[${MULTILIB_USEDEP}] ) - bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) - harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] ) - png? ( >=media-libs/libpng-1.2.51:0=[${MULTILIB_USEDEP}] ) - utils? ( - svg? ( >=gnome-base/librsvg-2.46.0[${MULTILIB_USEDEP}] ) - X? ( >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] ) - ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig -" - -PATCHES=( - "${FILESDIR}/${PN}-2.12.0-librsvg_automagic.patch" -) - -_egit_repo_handler() { - if [[ "${PV}" == 9999 ]] ; then - local phase="${1}" - case ${phase} in - fetch|unpack) - :; - ;; - *) - die "Please use this function with either \"fetch\" or \"unpack\"" - ;; - esac - - local EGIT_REPO_URI - EGIT_REPO_URI="https://gitlab.freedesktop.org/freetype/freetype.git" - git-r3_src_${phase} - if use utils ; then - EGIT_REPO_URI="https://gitlab.freedesktop.org/freetype/freetype-demos.git" - local EGIT_CHECKOUT_DIR="${WORKDIR}/ft2demos-${PV}" - git-r3_src_${phase} - fi - else - default - fi -} - -pkg_pretend() { - if use svg && ! use utils ; then - einfo "The \"svg\" USE flag only has effect when the \"utils\" USE flag is also enabled." - fi -} - -src_fetch() { - _egit_repo_handler ${EBUILD_PHASE} -} - -src_unpack() { - _egit_repo_handler ${EBUILD_PHASE} - - if [[ "${PV}" == 9999 ]] ; then - # Need to copy stuff from dlg subproject (#758902) - local dlg_inc_dir="${S}/subprojects/dlg/include/dlg" - local dlg_src_dir="${S}/subprojects/dlg/src/dlg" - local dlg_dest_dir="${S}/include" - mkdir -p "${dlg_dest_dir}/dlg" || die - cp "${dlg_inc_dir}"/{dlg,output}.h "${dlg_dest_dir}/dlg" || die - cp "${dlg_src_dir}"/* "${dlg_dest_dir}" || die - fi -} - -src_prepare() { - if [[ "${PV}" == 9999 ]] ; then - # Do NOT automagically mess with submodules!!! - sed '/setup: copy_submodule/d' -i builds/toplevel.mk || die - # inspired by shipped autogen.sh script - eval $(sed -n \ - -e 's/^#define *\(FREETYPE_MAJOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ - -e 's/^#define *\(FREETYPE_MINOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ - -e 's/^#define *\(FREETYPE_PATCH\) *\([0-9][0-9]*\).*/\1=\2/p' \ - include/freetype/freetype.h || die) - FREETYPE="${FREETYPE_MAJOR}.${FREETYPE_MINOR}" - [[ "${FREETYPE_PATCH}" != 0 ]] && FREETYPE+=".${FREETYPE_PATCH}" - pushd builds/unix &>/dev/null || die - sed -e "s;@VERSION@;${FREETYPE};" \ - < configure.raw > configure.ac || die - # eautoheader produces broken ftconfig.in - AT_NOEAUTOHEADER="yes" AT_M4DIR="." eautoreconf - unset FREETYPE_MAJOR FREETYPE_MINOR FREETYPE_PATCH FREETYPE - popd &>/dev/null || die - fi - - default - - pushd builds/unix &>/dev/null || die - # eautoheader produces broken ftconfig.in - AT_NOEAUTOHEADER="yes" AT_M4DIR="." eautoreconf - popd &>/dev/null || die - - # This is the same as the 01 patch from infinality - sed '/AUX_MODULES += \(gx\|ot\)valid/s@^# @@' -i modules.cfg || die - - enable_option() { - sed -i -e "/#define $1/ { s:/\* ::; s: \*/:: }" \ - include/${PN}/config/ftoption.h \ - || die "unable to enable option $1" - } - - disable_option() { - sed -i -e "/#define $1/ { s:^:/* :; s:$: */: }" \ - include/${PN}/config/ftoption.h \ - || die "unable to disable option $1" - } - - # Will be the new default for >=freetype-2.7.0 - disable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" - - if use infinality && use cleartype-hinting ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )" - elif use infinality ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 1" - elif use cleartype-hinting ; then - enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" - fi - - # Can be disabled with FREETYPE_PROPERTIES="pcf:no-long-family-names=1" - # via environment (new since v2.8) - enable_option PCF_CONFIG_OPTION_LONG_FAMILY_NAMES - - # See https://freetype.org/patents.html (expired!) - enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING - - if ! use adobe-cff ; then - enable_option CFF_CONFIG_OPTION_OLD_ENGINE - fi - - if use debug ; then - enable_option FT_DEBUG_LEVEL_TRACE - enable_option FT_DEBUG_MEMORY - fi - - if use utils ; then - cd "${WORKDIR}/ft2demos-${PV}" || die - # Disable tests needing X11 when USE="-X". (bug #177597) - if ! use X ; then - sed -i -e "/EXES\ +=\ ftdiff/ s:^:#:" Makefile || die - fi - cd "${S}" || die - fi - - # we need non-/bin/sh to run configure - if [[ -n ${CONFIG_SHELL} ]] ; then - sed -i -e "1s:^#![[:space:]]*/bin/sh:#!${CONFIG_SHELL}:" \ - "${S}"/builds/unix/configure || die - fi - - elibtoolize --patch-only -} - -multilib_src_configure() { - append-flags -fno-strict-aliasing - type -P gmake &> /dev/null && export GNUMAKE=gmake - - local myeconfargs=( - --disable-freetype-config - --enable-shared - --with-zlib - $(use_with brotli) - $(use_with bzip2) - $(use_with harfbuzz) - $(use_with png) - $(use_enable static-libs static) - $(usex utils $(use_with svg librsvg) --without-librsvg) - - # avoid using libpng-config - LIBPNG_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libpng)" - LIBPNG_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libpng)" - ) - - case ${CHOST} in - mingw*|*-mingw*) ;; - # Workaround windows mis-detection: bug #654712 - # Have to do it for both ${CHOST}-windres and windres - *) myeconfargs+=( ac_cv_prog_RC= ac_cv_prog_ac_ct_RC= ) ;; - esac - - export CC_BUILD="$(tc-getBUILD_CC)" - - ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" -} - -multilib_src_compile() { - default - - if multilib_is_native_abi && use utils ; then - einfo "Building utils" - # fix for Prefix, bug #339334 - emake \ - X11_PATH="${EPREFIX}/usr/$(get_libdir)" \ - FT2DEMOS=1 TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" - fi -} - -multilib_src_install() { - default - - if multilib_is_native_abi && use utils ; then - einfo "Installing utils" - emake DESTDIR="${D}" FT2DEMOS=1 \ - TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" install - fi -} - -multilib_src_install_all() { - if use fontforge ; then - # Probably fontforge needs less but this way makes things simplier... - einfo "Installing internal headers required for fontforge" - local header - find src/truetype include/freetype/internal -name '*.h' | \ - while read header ; do - mkdir -p "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die - cp ${header} "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die - done - fi - - dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,INSTALL.UNIX,*.txt,PROBLEMS,TODO} - if [[ "${PV}" != 9999 ]] && use doc ; then - docinto html - dodoc -r docs/* - fi - - find "${ED}" -type f -name '*.la' -delete || die -} diff --git a/media-libs/freetype/freetype-2.12.1.ebuild b/media-libs/freetype/freetype-2.12.1.ebuild new file mode 100644 index 000000000000..7ff4910e41ee --- /dev/null +++ b/media-libs/freetype/freetype-2.12.1.ebuild @@ -0,0 +1,257 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit autotools flag-o-matic libtool multilib-build multilib-minimal toolchain-funcs + +DESCRIPTION="High-quality and portable font engine" +HOMEPAGE="https://www.freetype.org/" +IUSE="X +adobe-cff brotli bzip2 +cleartype-hinting debug fontforge harfbuzz infinality +png static-libs svg utils" + +if [[ "${PV}" != 9999 ]] ; then + SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.xz + mirror://nongnu/freetype/${P/_/}.tar.xz + utils? ( mirror://sourceforge/freetype/ft2demos-${PV}.tar.xz + mirror://nongnu/freetype/ft2demos-${PV}.tar.xz ) + doc? ( mirror://sourceforge/freetype/${PN}-doc-${PV}.tar.xz + mirror://nongnu/freetype/${PN}-doc-${PV}.tar.xz )" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" + IUSE+=" doc" +else + inherit git-r3 +fi + +LICENSE="|| ( FTL GPL-2+ )" +SLOT="2" + +RDEPEND=" + >=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}] + brotli? ( app-arch/brotli[${MULTILIB_USEDEP}] ) + bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] ) + harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] ) + png? ( >=media-libs/libpng-1.2.51:0=[${MULTILIB_USEDEP}] ) + utils? ( + svg? ( >=gnome-base/librsvg-2.46.0[${MULTILIB_USEDEP}] ) + X? ( >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] ) + ) +" +DEPEND="${RDEPEND}" +BDEPEND=" + virtual/pkgconfig +" + +PATCHES=( +) + +_egit_repo_handler() { + if [[ "${PV}" == 9999 ]] ; then + local phase="${1}" + case ${phase} in + fetch|unpack) + :; + ;; + *) + die "Please use this function with either \"fetch\" or \"unpack\"" + ;; + esac + + local EGIT_REPO_URI + EGIT_REPO_URI="https://gitlab.freedesktop.org/freetype/freetype.git" + git-r3_src_${phase} + if use utils ; then + EGIT_REPO_URI="https://gitlab.freedesktop.org/freetype/freetype-demos.git" + local EGIT_CHECKOUT_DIR="${WORKDIR}/ft2demos-${PV}" + git-r3_src_${phase} + fi + else + default + fi +} + +pkg_pretend() { + if use svg && ! use utils ; then + einfo "The \"svg\" USE flag only has effect when the \"utils\" USE flag is also enabled." + fi +} + +src_fetch() { + _egit_repo_handler ${EBUILD_PHASE} +} + +src_unpack() { + _egit_repo_handler ${EBUILD_PHASE} + + if [[ "${PV}" == 9999 ]] ; then + # Need to copy stuff from dlg subproject (#758902) + local dlg_inc_dir="${S}/subprojects/dlg/include/dlg" + local dlg_src_dir="${S}/subprojects/dlg/src/dlg" + local dlg_dest_dir="${S}/include" + mkdir -p "${dlg_dest_dir}/dlg" || die + cp "${dlg_inc_dir}"/{dlg,output}.h "${dlg_dest_dir}/dlg" || die + cp "${dlg_src_dir}"/* "${dlg_dest_dir}" || die + fi +} + +src_prepare() { + if [[ "${PV}" == 9999 ]] ; then + # Do NOT automagically mess with submodules!!! + sed '/setup: copy_submodule/d' -i builds/toplevel.mk || die + # inspired by shipped autogen.sh script + eval $(sed -n \ + -e 's/^#define *\(FREETYPE_MAJOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ + -e 's/^#define *\(FREETYPE_MINOR\) *\([0-9][0-9]*\).*/\1=\2/p' \ + -e 's/^#define *\(FREETYPE_PATCH\) *\([0-9][0-9]*\).*/\1=\2/p' \ + include/freetype/freetype.h || die) + FREETYPE="${FREETYPE_MAJOR}.${FREETYPE_MINOR}" + [[ "${FREETYPE_PATCH}" != 0 ]] && FREETYPE+=".${FREETYPE_PATCH}" + pushd builds/unix &>/dev/null || die + sed -e "s;@VERSION@;${FREETYPE};" \ + < configure.raw > configure.ac || die + # eautoheader produces broken ftconfig.in + AT_NOEAUTOHEADER="yes" AT_M4DIR="." eautoreconf + unset FREETYPE_MAJOR FREETYPE_MINOR FREETYPE_PATCH FREETYPE + popd &>/dev/null || die + fi + + default + + pushd builds/unix &>/dev/null || die + # eautoheader produces broken ftconfig.in + AT_NOEAUTOHEADER="yes" AT_M4DIR="." eautoreconf + popd &>/dev/null || die + + # This is the same as the 01 patch from infinality + sed '/AUX_MODULES += \(gx\|ot\)valid/s@^# @@' -i modules.cfg || die + + enable_option() { + sed -i -e "/#define $1/ { s:/\* ::; s: \*/:: }" \ + include/${PN}/config/ftoption.h \ + || die "unable to enable option $1" + } + + disable_option() { + sed -i -e "/#define $1/ { s:^:/* :; s:$: */: }" \ + include/${PN}/config/ftoption.h \ + || die "unable to disable option $1" + } + + # Will be the new default for >=freetype-2.7.0 + disable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" + + if use infinality && use cleartype-hinting ; then + enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING ( 1 | 2 )" + elif use infinality ; then + enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 1" + elif use cleartype-hinting ; then + enable_option "TT_CONFIG_OPTION_SUBPIXEL_HINTING 2" + fi + + # Can be disabled with FREETYPE_PROPERTIES="pcf:no-long-family-names=1" + # via environment (new since v2.8) + enable_option PCF_CONFIG_OPTION_LONG_FAMILY_NAMES + + # See https://freetype.org/patents.html (expired!) + enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING + + if ! use adobe-cff ; then + enable_option CFF_CONFIG_OPTION_OLD_ENGINE + fi + + if use debug ; then + enable_option FT_DEBUG_LEVEL_TRACE + enable_option FT_DEBUG_MEMORY + fi + + if use utils ; then + cd "${WORKDIR}/ft2demos-${PV}" || die + # Disable tests needing X11 when USE="-X". (bug #177597) + if ! use X ; then + sed -i -e "/EXES\ +=\ ftdiff/ s:^:#:" Makefile || die + fi + cd "${S}" || die + fi + + # we need non-/bin/sh to run configure + if [[ -n ${CONFIG_SHELL} ]] ; then + sed -i -e "1s:^#![[:space:]]*/bin/sh:#!${CONFIG_SHELL}:" \ + "${S}"/builds/unix/configure || die + fi + + elibtoolize --patch-only +} + +multilib_src_configure() { + append-flags -fno-strict-aliasing + type -P gmake &> /dev/null && export GNUMAKE=gmake + + local myeconfargs=( + --disable-freetype-config + --enable-shared + --with-zlib + $(use_with brotli) + $(use_with bzip2) + $(use_with harfbuzz) + $(use_with png) + $(use_enable static-libs static) + $(usex utils $(use_with svg librsvg) --without-librsvg) + + # avoid using libpng-config + LIBPNG_CFLAGS="$($(tc-getPKG_CONFIG) --cflags libpng)" + LIBPNG_LDFLAGS="$($(tc-getPKG_CONFIG) --libs libpng)" + ) + + case ${CHOST} in + mingw*|*-mingw*) ;; + # Workaround windows mis-detection: bug #654712 + # Have to do it for both ${CHOST}-windres and windres + *) myeconfargs+=( ac_cv_prog_RC= ac_cv_prog_ac_ct_RC= ) ;; + esac + + export CC_BUILD="$(tc-getBUILD_CC)" + + ECONF_SOURCE="${S}" econf "${myeconfargs[@]}" +} + +multilib_src_compile() { + default + + if multilib_is_native_abi && use utils ; then + einfo "Building utils" + # fix for Prefix, bug #339334 + emake \ + X11_PATH="${EPREFIX}/usr/$(get_libdir)" \ + FT2DEMOS=1 TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" + fi +} + +multilib_src_install() { + default + + if multilib_is_native_abi && use utils ; then + einfo "Installing utils" + emake DESTDIR="${D}" FT2DEMOS=1 \ + TOP_DIR_2="${WORKDIR}/ft2demos-${PV}" install + fi +} + +multilib_src_install_all() { + if use fontforge ; then + # Probably fontforge needs less but this way makes things simplier... + einfo "Installing internal headers required for fontforge" + local header + find src/truetype include/freetype/internal -name '*.h' | \ + while read header ; do + mkdir -p "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die + cp ${header} "${ED}/usr/include/freetype2/internal4fontforge/$(dirname ${header})" || die + done + fi + + dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,INSTALL.UNIX,*.txt,PROBLEMS,TODO} + if [[ "${PV}" != 9999 ]] && use doc ; then + docinto html + dodoc -r docs/* + fi + + find "${ED}" -type f -name '*.la' -delete || die +} -- cgit v1.2.3