* [gentoo-commits] repo/gentoo:master commit in: media-gfx/graphite2/, media-gfx/graphite2/files/
@ 2017-04-27 3:15 Ian Stakenvicius
0 siblings, 0 replies; 7+ messages in thread
From: Ian Stakenvicius @ 2017-04-27 3:15 UTC (permalink / raw
To: gentoo-commits
commit: 0608e06d87b35052fb08d47652a3016c4756c435
Author: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 27 02:26:43 2017 +0000
Commit: Ian Stakenvicius <axs <AT> gentoo <DOT> org>
CommitDate: Thu Apr 27 03:15:20 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0608e06d
media-gfx/graphite2: patch and revbump for security bug 616034
Applied the two patches mozilla backported to fix MFSA-2017-11 to 1.3.8-r1,
and 1.3.9-r1 as applicable.
Package-Manager: Portage-2.3.3, Repoman-2.3.1
...hite2-1.3.8-rule-length-test-overflow-fix.patch | 22 ++++
...raphite2-1.3.9-increase-pDest-reservation.patch | 22 ++++
media-gfx/graphite2/graphite2-1.3.8-r1.ebuild | 121 +++++++++++++++++++++
media-gfx/graphite2/graphite2-1.3.9-r1.ebuild | 120 ++++++++++++++++++++
4 files changed, 285 insertions(+)
diff --git a/media-gfx/graphite2/files/graphite2-1.3.8-rule-length-test-overflow-fix.patch b/media-gfx/graphite2/files/graphite2-1.3.8-rule-length-test-overflow-fix.patch
new file mode 100644
index 00000000000..624442fbb16
--- /dev/null
+++ b/media-gfx/graphite2/files/graphite2-1.3.8-rule-length-test-overflow-fix.patch
@@ -0,0 +1,22 @@
+From 56157cf9845d13452068c297205f96b946126cc2 Mon Sep 17 00:00:00 2001
+From: Martin Hosken <martin_hosken@sil.org>
+Date: Mon, 4 Apr 2016 16:04:16 +0700
+Subject: [PATCH] Resolve rule length test overflow
+
+---
+ src/Pass.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Pass.cpp b/src/Pass.cpp
+index 7289406..1c9c73c 100644
+--- a/src/Pass.cpp
++++ b/src/Pass.cpp
+@@ -635,7 +635,7 @@ bool Pass::testPassConstraint(Machine & m) const
+ bool Pass::testConstraint(const Rule & r, Machine & m) const
+ {
+ const uint16 curr_context = m.slotMap().context();
+- if (unsigned(r.sort - r.preContext) > m.slotMap().size() - curr_context
++ if (unsigned(r.sort + curr_context - r.preContext) > m.slotMap().size()
+ || curr_context - r.preContext < 0) return false;
+
+ vm::slotref * map = m.slotMap().begin() + curr_context - r.preContext;
diff --git a/media-gfx/graphite2/files/graphite2-1.3.9-increase-pDest-reservation.patch b/media-gfx/graphite2/files/graphite2-1.3.9-increase-pDest-reservation.patch
new file mode 100644
index 00000000000..fdd7e7ec4f0
--- /dev/null
+++ b/media-gfx/graphite2/files/graphite2-1.3.9-increase-pDest-reservation.patch
@@ -0,0 +1,22 @@
+From 1ce331d5548b98ed8b818532b2556d6f2c7a3b83 Mon Sep 17 00:00:00 2001
+From: Martin Hosken <martin_hosken@sil.org>
+Date: Thu, 9 Mar 2017 22:04:04 +0000
+Subject: [PATCH] Ensure features have enough space. Fix from Mozilla
+
+---
+ src/FeatureMap.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/FeatureMap.cpp b/src/FeatureMap.cpp
+index b8c8405..83bd5f6 100644
+--- a/src/FeatureMap.cpp
++++ b/src/FeatureMap.cpp
+@@ -275,7 +275,7 @@ bool FeatureRef::applyValToFeature(uint32 val, Features & pDest) const
+ else
+ if (pDest.m_pMap!=&m_pFace->theSill().theFeatureMap())
+ return false; //incompatible
+- pDest.reserve(m_index);
++ pDest.reserve(m_index+1);
+ pDest[m_index] &= ~m_mask;
+ pDest[m_index] |= (uint32(val) << m_bits);
+ return true;
diff --git a/media-gfx/graphite2/graphite2-1.3.8-r1.ebuild b/media-gfx/graphite2/graphite2-1.3.8-r1.ebuild
new file mode 100644
index 00000000000..d72cda42264
--- /dev/null
+++ b/media-gfx/graphite2/graphite2-1.3.8-r1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+GENTOO_DEPEND_ON_PERL="no"
+inherit eutils perl-module python-any-r1 cmake-multilib
+
+DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems"
+HOMEPAGE="http://graphite.sil.org/"
+SRC_URI="mirror://sourceforge/silgraphite/${PN}/${P}.tgz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+IUSE="perl test"
+
+RDEPEND="
+ perl? ( dev-lang/perl:= )
+"
+DEPEND="${RDEPEND}
+ perl? (
+ dev-perl/Module-Build
+ dev-perl/Locale-Maketext-Lexicon
+ )
+ test? (
+ dev-libs/glib:2
+ media-libs/fontconfig
+ media-libs/silgraphite
+ $(python_gen_any_dep '
+ dev-python/fonttools[${PYTHON_USEDEP}]
+ ')
+ ${PYTHON_DEPS}
+ perl? ( virtual/perl-Test-Simple )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3.5-includes-libs-perl.patch"
+ "${FILESDIR}/${PN}-1.3.8-rule-length-test-overflow-fix.patch"
+ "${FILESDIR}/${PN}-1.3.9-increase-pDest-reservation.patch"
+)
+
+pkg_setup() {
+ use perl && perl_set_version
+ use test && python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+ has_version "dev-python/fonttools[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ # make tests optional
+ if ! use test; then
+ sed -i \
+ -e '/tests/d' \
+ CMakeLists.txt || die
+ fi
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ "-DVM_MACHINE_TYPE=direct"
+ # https://sourceforge.net/p/silgraphite/bugs/49/
+ $([[ ${CHOST} == powerpc*-apple* ]] && \
+ echo "-DGRAPHITE2_NSEGCACHE:BOOL=ON")
+ )
+
+ cmake-utils_src_configure
+
+ # fix perl linking
+ if multilib_is_native_abi && use perl; then
+ # we rely on the fact that cmake-utils_src_configure sets BUILD_DIR
+ sed -i \
+ -e "s:@BUILD_DIR@:\"${BUILD_DIR}/src\":" \
+ "${S}"/contrib/perl/Build.PL || die
+ fi
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+ if use perl; then
+ cd contrib/perl || die
+ perl-module_src_configure
+ perl-module_src_compile
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ cmake-utils_src_test
+ else
+ einfo Cannot test since python is not multilib.
+ fi
+}
+
+src_test() {
+ cmake-multilib_src_test
+ if use perl; then
+ cd contrib/perl || die
+ # SRC_TEST=do
+ # Perl tests fail due to missing POD coverage...
+ perl-module_src_test
+ fi
+}
+
+src_install() {
+ cmake-multilib_src_install
+ if use perl; then
+ cd contrib/perl || die
+ perl-module_src_install
+ perl_delete_localpod
+ fi
+
+ prune_libtool_files --all
+}
diff --git a/media-gfx/graphite2/graphite2-1.3.9-r1.ebuild b/media-gfx/graphite2/graphite2-1.3.9-r1.ebuild
new file mode 100644
index 00000000000..731a6db5070
--- /dev/null
+++ b/media-gfx/graphite2/graphite2-1.3.9-r1.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 )
+
+GENTOO_DEPEND_ON_PERL="no"
+inherit eutils perl-module python-any-r1 cmake-multilib
+
+DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems"
+HOMEPAGE="http://graphite.sil.org/"
+SRC_URI="mirror://sourceforge/silgraphite/${PN}/${P}.tgz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
+IUSE="perl test"
+
+RDEPEND="
+ perl? ( dev-lang/perl:= )
+"
+DEPEND="${RDEPEND}
+ perl? (
+ dev-perl/Module-Build
+ dev-perl/Locale-Maketext-Lexicon
+ )
+ test? (
+ dev-libs/glib:2
+ media-libs/fontconfig
+ media-libs/silgraphite
+ $(python_gen_any_dep '
+ dev-python/fonttools[${PYTHON_USEDEP}]
+ ')
+ ${PYTHON_DEPS}
+ perl? ( virtual/perl-Test-Simple )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3.5-includes-libs-perl.patch"
+ "${FILESDIR}/${PN}-1.3.9-increase-pDest-reservation.patch"
+)
+
+pkg_setup() {
+ use perl && perl_set_version
+ use test && python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+ has_version "dev-python/fonttools[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ # make tests optional
+ if ! use test; then
+ sed -i \
+ -e '/tests/d' \
+ CMakeLists.txt || die
+ fi
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ "-DVM_MACHINE_TYPE=direct"
+ # https://sourceforge.net/p/silgraphite/bugs/49/
+ $([[ ${CHOST} == powerpc*-apple* ]] && \
+ echo "-DGRAPHITE2_NSEGCACHE:BOOL=ON")
+ )
+
+ cmake-utils_src_configure
+
+ # fix perl linking
+ if multilib_is_native_abi && use perl; then
+ # we rely on the fact that cmake-utils_src_configure sets BUILD_DIR
+ sed -i \
+ -e "s:@BUILD_DIR@:\"${BUILD_DIR}/src\":" \
+ "${S}"/contrib/perl/Build.PL || die
+ fi
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+ if use perl; then
+ cd contrib/perl || die
+ perl-module_src_configure
+ perl-module_src_compile
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ cmake-utils_src_test
+ else
+ einfo Cannot test since python is not multilib.
+ fi
+}
+
+src_test() {
+ cmake-multilib_src_test
+ if use perl; then
+ # Perl tests fail due to missing POD coverage...
+ perl_rm_files "contrib/perl/t/pod.t" "contrib/perl/t/pod-coverage.t"
+ cd contrib/perl || die
+ perl-module_src_test
+ fi
+}
+
+src_install() {
+ cmake-multilib_src_install
+ if use perl; then
+ cd contrib/perl || die
+ perl-module_src_install
+ perl_delete_localpod
+ fi
+
+ prune_libtool_files --all
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-gfx/graphite2/, media-gfx/graphite2/files/
@ 2017-10-08 12:56 Andreas Sturmlechner
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2017-10-08 12:56 UTC (permalink / raw
To: gentoo-commits
commit: 13cc021ade3a4a769c1ad789fb73f351fbd45a54
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 6 23:34:48 2017 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 8 12:55:54 2017 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=13cc021a
media-gfx/graphite2: Drop old and de-stabilise hppa
Security stabilisation timeout.
Gentoo-bug: 621724
Package-Manager: Portage-2.3.11, Repoman-2.3.3
media-gfx/graphite2/Manifest | 1 -
...hite2-1.3.8-rule-length-test-overflow-fix.patch | 22 ----
...raphite2-1.3.9-increase-pDest-reservation.patch | 22 ----
media-gfx/graphite2/graphite2-1.3.8-r1.ebuild | 120 ---------------------
4 files changed, 165 deletions(-)
diff --git a/media-gfx/graphite2/Manifest b/media-gfx/graphite2/Manifest
index 57d14930ba8..d2054c7aafc 100644
--- a/media-gfx/graphite2/Manifest
+++ b/media-gfx/graphite2/Manifest
@@ -1,2 +1 @@
DIST graphite2-1.3.10.tgz 3889647 SHA256 90fde3b2f9ea95d68ffb19278d07d9b8a7efa5ba0e413bebcea802ce05cda1ae SHA512 d6d578feaa2d9304dc9bcd3926958070b8c23b27437a9fcb801e08e62f33a5549b7a6aa9636c7f8eb80a2a2c6d5cac97d58050fb30fd102b9fd0f8c558f4252b WHIRLPOOL 8a10ae32a7f02ad9e64982ece9b4b5169355f52160f8b9f00d1a892f785bbe14c2fdde24f5e84f6b8cbd7012edaf91b639beeeba400a3f6432b2436278a5df06
-DIST graphite2-1.3.8.tgz 3885841 SHA256 9f3f25b3a8495ce0782e77f69075c0dd9b7c054847b9bf9ff130bec38f4c8cc2 SHA512 df8a3a7b67b356092fe8d4f62b7cd6d45ee7fe2b614699b0f8b29dc2441e00675021fdaec24cef4629c5294b33d6b269d596bc869fae8257f8f2e935c9db3639 WHIRLPOOL 88420608db053bd4d66b852a54eeb19359910c786ef1785e303e68f0d0d5b840b4a5cdcb7e17ae6c2064563d02b03a7be43ae203184218a8ac4d9dd40c17c56f
diff --git a/media-gfx/graphite2/files/graphite2-1.3.8-rule-length-test-overflow-fix.patch b/media-gfx/graphite2/files/graphite2-1.3.8-rule-length-test-overflow-fix.patch
deleted file mode 100644
index 624442fbb16..00000000000
--- a/media-gfx/graphite2/files/graphite2-1.3.8-rule-length-test-overflow-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 56157cf9845d13452068c297205f96b946126cc2 Mon Sep 17 00:00:00 2001
-From: Martin Hosken <martin_hosken@sil.org>
-Date: Mon, 4 Apr 2016 16:04:16 +0700
-Subject: [PATCH] Resolve rule length test overflow
-
----
- src/Pass.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Pass.cpp b/src/Pass.cpp
-index 7289406..1c9c73c 100644
---- a/src/Pass.cpp
-+++ b/src/Pass.cpp
-@@ -635,7 +635,7 @@ bool Pass::testPassConstraint(Machine & m) const
- bool Pass::testConstraint(const Rule & r, Machine & m) const
- {
- const uint16 curr_context = m.slotMap().context();
-- if (unsigned(r.sort - r.preContext) > m.slotMap().size() - curr_context
-+ if (unsigned(r.sort + curr_context - r.preContext) > m.slotMap().size()
- || curr_context - r.preContext < 0) return false;
-
- vm::slotref * map = m.slotMap().begin() + curr_context - r.preContext;
diff --git a/media-gfx/graphite2/files/graphite2-1.3.9-increase-pDest-reservation.patch b/media-gfx/graphite2/files/graphite2-1.3.9-increase-pDest-reservation.patch
deleted file mode 100644
index fdd7e7ec4f0..00000000000
--- a/media-gfx/graphite2/files/graphite2-1.3.9-increase-pDest-reservation.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 1ce331d5548b98ed8b818532b2556d6f2c7a3b83 Mon Sep 17 00:00:00 2001
-From: Martin Hosken <martin_hosken@sil.org>
-Date: Thu, 9 Mar 2017 22:04:04 +0000
-Subject: [PATCH] Ensure features have enough space. Fix from Mozilla
-
----
- src/FeatureMap.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/FeatureMap.cpp b/src/FeatureMap.cpp
-index b8c8405..83bd5f6 100644
---- a/src/FeatureMap.cpp
-+++ b/src/FeatureMap.cpp
-@@ -275,7 +275,7 @@ bool FeatureRef::applyValToFeature(uint32 val, Features & pDest) const
- else
- if (pDest.m_pMap!=&m_pFace->theSill().theFeatureMap())
- return false; //incompatible
-- pDest.reserve(m_index);
-+ pDest.reserve(m_index+1);
- pDest[m_index] &= ~m_mask;
- pDest[m_index] |= (uint32(val) << m_bits);
- return true;
diff --git a/media-gfx/graphite2/graphite2-1.3.8-r1.ebuild b/media-gfx/graphite2/graphite2-1.3.8-r1.ebuild
deleted file mode 100644
index 2c5dd10cac5..00000000000
--- a/media-gfx/graphite2/graphite2-1.3.8-r1.ebuild
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 )
-
-GENTOO_DEPEND_ON_PERL="no"
-inherit eutils perl-module python-any-r1 cmake-multilib
-
-DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems"
-HOMEPAGE="http://graphite.sil.org/"
-SRC_URI="mirror://sourceforge/silgraphite/${PN}/${P}.tgz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris"
-IUSE="perl test"
-
-RDEPEND="
- perl? ( dev-lang/perl:= )
-"
-DEPEND="${RDEPEND}
- perl? (
- dev-perl/Module-Build
- dev-perl/Locale-Maketext-Lexicon
- )
- test? (
- dev-libs/glib:2
- media-libs/fontconfig
- $(python_gen_any_dep '
- dev-python/fonttools[${PYTHON_USEDEP}]
- ')
- ${PYTHON_DEPS}
- perl? ( virtual/perl-Test-Simple )
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.3.5-includes-libs-perl.patch"
- "${FILESDIR}/${PN}-1.3.8-rule-length-test-overflow-fix.patch"
- "${FILESDIR}/${PN}-1.3.9-increase-pDest-reservation.patch"
-)
-
-pkg_setup() {
- use perl && perl_set_version
- use test && python-any-r1_pkg_setup
-}
-
-python_check_deps() {
- has_version "dev-python/fonttools[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- cmake-utils_src_prepare
-
- # make tests optional
- if ! use test; then
- sed -i \
- -e '/tests/d' \
- CMakeLists.txt || die
- fi
-}
-
-multilib_src_configure() {
- local mycmakeargs=(
- "-DVM_MACHINE_TYPE=direct"
- # https://sourceforge.net/p/silgraphite/bugs/49/
- $([[ ${CHOST} == powerpc*-apple* ]] && \
- echo "-DGRAPHITE2_NSEGCACHE:BOOL=ON")
- )
-
- cmake-utils_src_configure
-
- # fix perl linking
- if multilib_is_native_abi && use perl; then
- # we rely on the fact that cmake-utils_src_configure sets BUILD_DIR
- sed -i \
- -e "s:@BUILD_DIR@:\"${BUILD_DIR}/src\":" \
- "${S}"/contrib/perl/Build.PL || die
- fi
-}
-
-src_compile() {
- cmake-multilib_src_compile
- if use perl; then
- cd contrib/perl || die
- perl-module_src_configure
- perl-module_src_compile
- fi
-}
-
-multilib_src_test() {
- if multilib_is_native_abi; then
- cmake-utils_src_test
- else
- einfo Cannot test since python is not multilib.
- fi
-}
-
-src_test() {
- cmake-multilib_src_test
- if use perl; then
- cd contrib/perl || die
- # SRC_TEST=do
- # Perl tests fail due to missing POD coverage...
- perl-module_src_test
- fi
-}
-
-src_install() {
- cmake-multilib_src_install
- if use perl; then
- cd contrib/perl || die
- perl-module_src_install
- perl_delete_localpod
- fi
-
- prune_libtool_files --all
-}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-gfx/graphite2/, media-gfx/graphite2/files/
@ 2021-12-29 15:42 Andreas Sturmlechner
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2021-12-29 15:42 UTC (permalink / raw
To: gentoo-commits
commit: b20f577be5280947b9cfcbf0021b4a4ec715e1b6
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 28 15:43:57 2021 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Dec 29 15:41:21 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b20f577b
media-gfx/graphite2: python3_10, EAPI-8, cmake function, upstream fix
Closes: https://bugs.gentoo.org/830038
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
...e2-1.3.14-fix-inaccurate-slice-range-calc.patch | 34 ++++++
.../files/graphite2-1.3.14-no-libtool-file.patch | 68 +++++++++++
media-gfx/graphite2/graphite2-1.3.14-r2.ebuild | 124 +++++++++++++++++++++
3 files changed, 226 insertions(+)
diff --git a/media-gfx/graphite2/files/graphite2-1.3.14-fix-inaccurate-slice-range-calc.patch b/media-gfx/graphite2/files/graphite2-1.3.14-fix-inaccurate-slice-range-calc.patch
new file mode 100644
index 000000000000..32e01535838f
--- /dev/null
+++ b/media-gfx/graphite2/files/graphite2-1.3.14-fix-inaccurate-slice-range-calc.patch
@@ -0,0 +1,34 @@
+From 5c181c316ee0399d720efe1e75be702f1ca95b66 Mon Sep 17 00:00:00 2001
+From: Martin Hosken <martin_hosken@sil.org>
+Date: Thu, 20 May 2021 13:53:29 +0700
+Subject: [PATCH] Fix inaccurate slice range calculation for bases with
+ diacritics
+
+---
+ src/Pass.cpp | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/Pass.cpp b/src/Pass.cpp
+index db31c22d..47ae2064 100644
+--- a/src/Pass.cpp
++++ b/src/Pass.cpp
+@@ -1056,12 +1056,17 @@ float Pass::resolveKern(Segment *seg, Slot *slotFix, GR_MAYBE_UNUSED Slot *start
+ ymin = min(by + bbb.bl.y, ymin);
+ for (nbor = slotFix->next(); nbor; nbor = nbor->next())
+ {
+- if (nbor->isChildOf(base))
+- continue;
+ if (!gc.check(nbor->gid()))
+ return 0.;
+ const Rect &bb = seg->theGlyphBBoxTemporary(nbor->gid());
+ SlotCollision *cNbor = seg->collisionInfo(nbor);
++ const float nby = nbor->origin().y + cNbor->shift().y;
++ if (nbor->isChildOf(base))
++ {
++ ymax = max(nby + bb.tr.y, ymax);
++ ymin = min(nby + bb.bl.y, ymin);
++ continue;
++ }
+ if ((bb.bl.y == 0.f && bb.tr.y == 0.f) || (cNbor->flags() & SlotCollision::COLL_ISSPACE))
+ {
+ if (m_kernColls == InWord)
diff --git a/media-gfx/graphite2/files/graphite2-1.3.14-no-libtool-file.patch b/media-gfx/graphite2/files/graphite2-1.3.14-no-libtool-file.patch
new file mode 100644
index 000000000000..2f1056be05d8
--- /dev/null
+++ b/media-gfx/graphite2/files/graphite2-1.3.14-no-libtool-file.patch
@@ -0,0 +1,68 @@
+From https://github.com/silnrsi/graphite/pull/65
+
+From 3edb88b55c0870989778c670d555aa159a2c3abc Mon Sep 17 00:00:00 2001
+From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+Date: Mon, 31 Aug 2020 20:56:43 +0200
+Subject: [PATCH] don't install a libtool file with static library
+
+Static library is supported since version 1.3.11 and
+https://github.com/silnrsi/graphite/commit/2f143c04da5caa43ddf4dba437b2f2bc26bf4238
+
+However, graphite2 is still installing libgraphite2.la which contains
+incorrect information (i.e. dlname set to libgraphite2.so and
+old_library set to ''):
+
+dlname='libgraphite2.so'
+
+library_names='libgraphite2.so.3.2.1 libgraphite2.so.3 libgraphite2.so'
+
+old_library=''
+
+dependency_libs=''
+
+This will result in the following build failure with any applications
+using this file such as harfbuzz:
+
+arm-linux-g++.br_real: error: /home/buildroot/autobuild/run/instance-3/output-1/host/arm-buildroot-linux-uclibcgnueabi/sysroot/usr/lib/libgraphite2.so: No such file or directory
+make[5]: *** [main] Error 1
+
+Instead of trying to fix this libtool file, just disable it when
+building a static library as it is not needed
+
+Fixes:
+ - http://autobuild.buildroot.org/results/9ebe1d11e80755d59190ef2aae82bbba5cc45e44
+
+Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
+
+* asturm 2021-12-28: We don't want those files at all.
+
+---
+ src/CMakeLists.txt | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index b6ac26bf..a7ace040 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -131,7 +131,9 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
+ endif ()
+ set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+- CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
++ if (0)
++ CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
++ endif()
+ endif()
+
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+@@ -146,7 +148,9 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+ include(Graphite)
+ nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
+ set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "")
+- CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
++ if (0)
++ CREATE_LIBTOOL_FILE(graphite2 "/lib${LIB_SUFFIX}")
++ endif()
+ endif()
+
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
diff --git a/media-gfx/graphite2/graphite2-1.3.14-r2.ebuild b/media-gfx/graphite2/graphite2-1.3.14-r2.ebuild
new file mode 100644
index 000000000000..5fcd5521f24a
--- /dev/null
+++ b/media-gfx/graphite2/graphite2-1.3.14-r2.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_COMPAT=( python3_{8..10} )
+inherit perl-module python-any-r1 cmake-multilib
+
+DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems"
+HOMEPAGE="https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home"
+SRC_URI="mirror://sourceforge/silgraphite/${PN}/${P}.tgz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="perl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="perl? ( dev-lang/perl:= )"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/glib:2 )
+"
+BDEPEND="
+ perl? (
+ dev-lang/perl
+ dev-perl/Locale-Maketext-Lexicon
+ dev-perl/Module-Build
+ )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/fonttools[${PYTHON_USEDEP}]')
+ media-libs/fontconfig
+ perl? ( virtual/perl-Test-Simple )
+ )
+"
+
+PATCHES=(
+ # downstream:
+ "${FILESDIR}/${PN}-1.3.5-includes-libs-perl.patch"
+ "${FILESDIR}/${PN}-1.35-fix-gcc-linking.patch"
+ "${FILESDIR}/${PN}-1.3.14-fix-cmake-files-libdir.patch"
+ "${FILESDIR}/${P}-no-libtool-file.patch"
+ # git master:
+ "${FILESDIR}/${P}-fix-inaccurate-slice-range-calc.patch"
+)
+
+pkg_setup() {
+ use perl && perl_set_version
+ use test && python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+ has_version -b "dev-python/fonttools[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ cmake_src_prepare
+ use test || cmake_comment_add_subdirectory tests
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ # Renamed VM_MACHINE_TYPE to GRAPHITE2_VM_TYPE
+ -DGRAPHITE2_VM_TYPE=direct
+ )
+ # https://sourceforge.net/p/silgraphite/bugs/49/
+ [[ ${CHOST} == powerpc*-apple* ]] && mycmakeargs+=(
+ -DGRAPHITE2_NSEGCACHE:BOOL=ON
+ )
+
+ if use elibc_musl ; then
+ # bug #829690
+ if use ppc || use x86 ; then
+ sed -e 's:${GRAPHITE_LINK_FLAGS}:-lssp_nonshared &:' \
+ -i "${S}"/src/CMakeLists.txt || die
+ fi
+ fi
+
+ cmake_src_configure
+
+ # fix perl linking
+ if multilib_is_native_abi && use perl; then
+ # we rely on the fact that cmake_src_configure sets BUILD_DIR
+ sed -e "s:@BUILD_DIR@:\"${BUILD_DIR}/src\":" \
+ -i "${S}"/contrib/perl/Build.PL || die
+ fi
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+ if use perl; then
+ cd contrib/perl || die
+ perl-module_src_configure
+ perl-module_src_compile
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ cmake_src_test
+ else
+ einfo "Cannot test since python is not multilib."
+ fi
+}
+
+src_test() {
+ cmake-multilib_src_test
+ if use perl; then
+ # Perl tests fail due to missing POD coverage...
+ perl_rm_files "contrib/perl/t/pod.t" "contrib/perl/t/pod-coverage.t"
+ cd contrib/perl || die
+ perl-module_src_test
+ fi
+}
+
+src_install() {
+ cmake-multilib_src_install
+ if use perl; then
+ cd contrib/perl || die
+ perl-module_src_install
+ perl_delete_localpod
+ fi
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-gfx/graphite2/, media-gfx/graphite2/files/
@ 2021-12-29 15:42 Andreas Sturmlechner
0 siblings, 0 replies; 7+ messages in thread
From: Andreas Sturmlechner @ 2021-12-29 15:42 UTC (permalink / raw
To: gentoo-commits
commit: 276052ffa3b61771cd7a07549c24148ff1659789
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 28 16:57:51 2021 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Wed Dec 29 15:41:21 2021 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=276052ff
media-gfx/graphite2: Add 1.3.14_p20210810 snapshot
The only relevant change is commit 5c181c316ee0399d720efe1e75be702f1ca95b66
but requires further patches to fix tests subsequently, which does involve
at least one binary patch. A snapshot is the cleaner way to to then.
Package-Manager: Portage-3.0.30, Repoman-3.0.3
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
media-gfx/graphite2/Manifest | 1 +
...e2-1.3.14-fix-inaccurate-slice-range-calc.patch | 34 ----------------------
...r2.ebuild => graphite2-1.3.14_p20210810.ebuild} | 9 +++---
3 files changed, 5 insertions(+), 39 deletions(-)
diff --git a/media-gfx/graphite2/Manifest b/media-gfx/graphite2/Manifest
index ae90df1b9678..c8a6a1cb288e 100644
--- a/media-gfx/graphite2/Manifest
+++ b/media-gfx/graphite2/Manifest
@@ -1 +1,2 @@
DIST graphite2-1.3.14.tgz 6630061 BLAKE2B 72bf6736aaa8476a89e44ef53c5b6c94f45d815fe1a451ba6b3696bfe023971210975dee4a9c8cb3042f36442e4efecf5baf171ef4230ad2b10694a89865f918 SHA512 14b5eb2ba8158b8b62ffa7fb142100a0af1de0f0c45b2673801b636714a106b46fcd423b05c722d963c9543fafcf10fec811975308211a54f20a3ba322d7b295
+DIST graphite2-1.3.14_p20210810.tar.gz 6656693 BLAKE2B 63a7d96b58f2779d8a4a353e1a986212b884fdf780fedcb83b22dcef2f7678d44c88c14ece2d09dc745df505a4a3825ce61d7c84bd05fd4e98c23d6e86e9326d SHA512 be54c1386578970cf65c1860336a113268181753c1e2a139e37ceeafcfa76e3162086879c54094d70cd0d36ad5852a95390aaa69572d875921e9481f1ae508ff
diff --git a/media-gfx/graphite2/files/graphite2-1.3.14-fix-inaccurate-slice-range-calc.patch b/media-gfx/graphite2/files/graphite2-1.3.14-fix-inaccurate-slice-range-calc.patch
deleted file mode 100644
index 32e01535838f..000000000000
--- a/media-gfx/graphite2/files/graphite2-1.3.14-fix-inaccurate-slice-range-calc.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 5c181c316ee0399d720efe1e75be702f1ca95b66 Mon Sep 17 00:00:00 2001
-From: Martin Hosken <martin_hosken@sil.org>
-Date: Thu, 20 May 2021 13:53:29 +0700
-Subject: [PATCH] Fix inaccurate slice range calculation for bases with
- diacritics
-
----
- src/Pass.cpp | 9 +++++++--
- 1 file changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/src/Pass.cpp b/src/Pass.cpp
-index db31c22d..47ae2064 100644
---- a/src/Pass.cpp
-+++ b/src/Pass.cpp
-@@ -1056,12 +1056,17 @@ float Pass::resolveKern(Segment *seg, Slot *slotFix, GR_MAYBE_UNUSED Slot *start
- ymin = min(by + bbb.bl.y, ymin);
- for (nbor = slotFix->next(); nbor; nbor = nbor->next())
- {
-- if (nbor->isChildOf(base))
-- continue;
- if (!gc.check(nbor->gid()))
- return 0.;
- const Rect &bb = seg->theGlyphBBoxTemporary(nbor->gid());
- SlotCollision *cNbor = seg->collisionInfo(nbor);
-+ const float nby = nbor->origin().y + cNbor->shift().y;
-+ if (nbor->isChildOf(base))
-+ {
-+ ymax = max(nby + bb.tr.y, ymax);
-+ ymin = min(nby + bb.bl.y, ymin);
-+ continue;
-+ }
- if ((bb.bl.y == 0.f && bb.tr.y == 0.f) || (cNbor->flags() & SlotCollision::COLL_ISSPACE))
- {
- if (m_kernColls == InWord)
diff --git a/media-gfx/graphite2/graphite2-1.3.14-r2.ebuild b/media-gfx/graphite2/graphite2-1.3.14_p20210810.ebuild
similarity index 92%
rename from media-gfx/graphite2/graphite2-1.3.14-r2.ebuild
rename to media-gfx/graphite2/graphite2-1.3.14_p20210810.ebuild
index 5fcd5521f24a..47a0ef22b350 100644
--- a/media-gfx/graphite2/graphite2-1.3.14-r2.ebuild
+++ b/media-gfx/graphite2/graphite2-1.3.14_p20210810.ebuild
@@ -3,13 +3,15 @@
EAPI=8
+COMMIT=80c52493ef42e6fe605a69dcddd2a691cd8a1380
GENTOO_DEPEND_ON_PERL="no"
PYTHON_COMPAT=( python3_{8..10} )
inherit perl-module python-any-r1 cmake-multilib
DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems"
HOMEPAGE="https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home"
-SRC_URI="mirror://sourceforge/silgraphite/${PN}/${P}.tgz"
+SRC_URI="https://github.com/silnrsi/graphite/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/graphite-${COMMIT}"
LICENSE="LGPL-2.1"
SLOT="0"
@@ -36,13 +38,10 @@ BDEPEND="
"
PATCHES=(
- # downstream:
"${FILESDIR}/${PN}-1.3.5-includes-libs-perl.patch"
"${FILESDIR}/${PN}-1.35-fix-gcc-linking.patch"
"${FILESDIR}/${PN}-1.3.14-fix-cmake-files-libdir.patch"
- "${FILESDIR}/${P}-no-libtool-file.patch"
- # git master:
- "${FILESDIR}/${P}-fix-inaccurate-slice-range-calc.patch"
+ "${FILESDIR}/${PN}-1.3.14-no-libtool-file.patch"
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-gfx/graphite2/, media-gfx/graphite2/files/
@ 2022-01-29 18:49 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2022-01-29 18:49 UTC (permalink / raw
To: gentoo-commits
commit: d63c5a3a1240352d4200582d7fd68ae3afb8a5d7
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 29 18:48:37 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jan 29 18:49:03 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d63c5a3a
media-gfx/graphite2: drop -nodefaultlibs
Breaks build on at least x86/musl. See patch for details.
Closes: https://bugs.gentoo.org/829690
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/graphite2-1.3.14-fix-nodefaultlibs.patch | 45 ++++++++
.../graphite2/graphite2-1.3.14_p20210810-r1.ebuild | 124 +++++++++++++++++++++
2 files changed, 169 insertions(+)
diff --git a/media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs.patch b/media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs.patch
new file mode 100644
index 000000000000..a7e5804319d7
--- /dev/null
+++ b/media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs.patch
@@ -0,0 +1,45 @@
+https://bugs.gentoo.org/829690
+
+See https://github.com/silnrsi/graphite/pull/44.
+
+Drop -nodefaultlibs:
+- graphite is written in C++ which makes avoiding libstdc++ (or libc++) a dubious
+ goal;
+- this ends up breaking e.g. x86/musl because we need to inject -lssp_nonshared,
+ but it wouldn't be surprising if it broke other exotic targets too.
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -105,7 +105,7 @@ set_target_properties(graphite2 PROPERTIES PUBLIC_HEADER "${GRAPHITE_HEADERS}"
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
+ set_target_properties(graphite2 PROPERTIES
+ COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wendif-labels -Wshadow -Wctor-dtor-privacy -Wnon-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden"
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
++ LINK_FLAGS "${GRAPHITE_LINK_FLAGS}"
+ LINKER_LANGUAGE C)
+ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86")
+ add_definitions(-mfpmath=sse -msse2)
+@@ -135,7 +135,6 @@ endif()
+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Darwin")
+ set_target_properties(graphite2 PROPERTIES
+ COMPILE_FLAGS "-Wall -Wextra -Wno-unknown-pragmas -Wimplicit-fallthrough -Wendif-labels -Wshadow -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -fno-rtti -fno-exceptions -fvisibility=hidden -fvisibility-inlines-hidden"
+- LINK_FLAGS "-nodefaultlibs"
+ LINKER_LANGUAGE C)
+ if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86|i.86")
+ add_definitions(-mfpmath=sse -msse2)
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -47,12 +47,12 @@ else (${CMAKE_SYSTEM_NAME} STREQUAL "Windows")
+ set_target_properties(graphite2-base PROPERTIES
+ COMPILE_FLAGS "-Wall -Wextra -Wno-class-memaccess -fno-rtti -fno-exceptions"
+ COMPILE_DEFINITIONS "GRAPHITE2_NTRACING"
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
++ LINK_FLAGS "${GRAPHITE_LINK_FLAGS}"
+ LINKER_LANGUAGE C)
+ set_target_properties(graphite2-file PROPERTIES
+ COMPILE_FLAGS "-Wall -Wextra -Wno-class-memaccess -fno-rtti -fno-exceptions"
+ COMPILE_DEFINITIONS "GRAPHITE2_NTRACING${TELEMETRY}"
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}"
++ LINK_FLAGS "${GRAPHITE_LINK_FLAGS}"
+ LINKER_LANGUAGE C)
+ endif()
+
diff --git a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r1.ebuild b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r1.ebuild
new file mode 100644
index 000000000000..cdccddf64039
--- /dev/null
+++ b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r1.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=80c52493ef42e6fe605a69dcddd2a691cd8a1380
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_COMPAT=( python3_{8..10} )
+inherit perl-module python-any-r1 cmake-multilib
+
+DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems"
+HOMEPAGE="https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home"
+SRC_URI="https://github.com/silnrsi/graphite/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/graphite-${COMMIT}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="perl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="perl? ( dev-lang/perl:= )"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/glib:2 )
+"
+BDEPEND="
+ perl? (
+ dev-lang/perl
+ dev-perl/Locale-Maketext-Lexicon
+ dev-perl/Module-Build
+ )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/fonttools[${PYTHON_USEDEP}]')
+ media-libs/fontconfig
+ perl? ( virtual/perl-Test-Simple )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3.5-includes-libs-perl.patch"
+ "${FILESDIR}/${PN}-1.35-fix-gcc-linking.patch"
+ "${FILESDIR}/${PN}-1.3.14-fix-cmake-files-libdir.patch"
+ "${FILESDIR}/${PN}-1.3.14-no-libtool-file.patch"
+ "${FILESDIR}/${PN}-1.3.14-fix-nodefaultlibs.patch"
+)
+
+pkg_setup() {
+ use perl && perl_set_version
+ use test && python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+ has_version -b "dev-python/fonttools[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ cmake_src_prepare
+ use test || cmake_comment_add_subdirectory tests
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ # Renamed VM_MACHINE_TYPE to GRAPHITE2_VM_TYPE
+ -DGRAPHITE2_VM_TYPE=direct
+ )
+ # https://sourceforge.net/p/silgraphite/bugs/49/
+ [[ ${CHOST} == powerpc*-apple* ]] && mycmakeargs+=(
+ -DGRAPHITE2_NSEGCACHE:BOOL=ON
+ )
+
+ if use elibc_musl ; then
+ # bug #829690
+ if use ppc || use x86 ; then
+ sed -e 's:${GRAPHITE_LINK_FLAGS}:-lssp_nonshared &:' \
+ -i "${S}"/src/CMakeLists.txt || die
+ fi
+ fi
+
+ cmake_src_configure
+
+ # fix perl linking
+ if multilib_is_native_abi && use perl; then
+ # we rely on the fact that cmake_src_configure sets BUILD_DIR
+ sed -e "s:@BUILD_DIR@:\"${BUILD_DIR}/src\":" \
+ -i "${S}"/contrib/perl/Build.PL || die
+ fi
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+ if use perl; then
+ cd contrib/perl || die
+ perl-module_src_configure
+ perl-module_src_compile
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ cmake_src_test
+ else
+ einfo "Cannot test since python is not multilib."
+ fi
+}
+
+src_test() {
+ cmake-multilib_src_test
+ if use perl; then
+ # Perl tests fail due to missing POD coverage...
+ perl_rm_files "contrib/perl/t/pod.t" "contrib/perl/t/pod-coverage.t"
+ cd contrib/perl || die
+ perl-module_src_test
+ fi
+}
+
+src_install() {
+ cmake-multilib_src_install
+ if use perl; then
+ cd contrib/perl || die
+ perl-module_src_install
+ perl_delete_localpod
+ fi
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-gfx/graphite2/, media-gfx/graphite2/files/
@ 2023-02-03 19:52 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2023-02-03 19:52 UTC (permalink / raw
To: gentoo-commits
commit: 2802d2b9bdc8e101d3ae64be74f2ab695d3bf967
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Feb 3 19:48:44 2023 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Feb 3 19:50:33 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2802d2b9
media-gfx/graphite2: include musl patches again
Closes: https://bugs.gentoo.org/890555
Thanks-to: ernsteiswuerfel <erhard_f <AT> mailbox.org>
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../files/graphite2-1.3.14-fix-nodefaultlibs.patch | 26 +++++
.../files/graphite2-1.3.5-fix-gcc-linking.patch | 17 +++
.../graphite2/graphite2-1.3.14_p20210810-r3.ebuild | 125 +++++++++++++++++++++
3 files changed, 168 insertions(+)
diff --git a/media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs.patch b/media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs.patch
new file mode 100644
index 000000000000..c55f67c44f55
--- /dev/null
+++ b/media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs.patch
@@ -0,0 +1,26 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -125,7 +125,7 @@
+ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}")
+ else()
+ set_target_properties(graphite2 PROPERTIES
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}")
++ LINK_FLAGS "${GRAPHITE_LINK_FLAGS}")
+
+ if (GRAPHITE2_SANITIZERS)
+ target_link_libraries(graphite2 c gcc_s)
+--- a/tests/CMakeLists.txt
++++ b/tests/CMakeLists.txt
+@@ -51,9 +51,9 @@
+ LINK_FLAGS "-nostdlib++ ${GRAPHITE_LINK_FLAGS}")
+ else()
+ set_target_properties(graphite2-base PROPERTIES
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}")
++ LINK_FLAGS "${GRAPHITE_LINK_FLAGS}")
+ set_target_properties(graphite2-file PROPERTIES
+- LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}")
++ LINK_FLAGS "${GRAPHITE_LINK_FLAGS}")
+ endif()
+
+ set_target_properties(graphite2-base PROPERTIES
+
diff --git a/media-gfx/graphite2/files/graphite2-1.3.5-fix-gcc-linking.patch b/media-gfx/graphite2/files/graphite2-1.3.5-fix-gcc-linking.patch
new file mode 100644
index 000000000000..e4413d1f9a61
--- /dev/null
+++ b/media-gfx/graphite2/files/graphite2-1.3.5-fix-gcc-linking.patch
@@ -0,0 +1,17 @@
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -127,12 +127,7 @@
+ set_target_properties(graphite2 PROPERTIES
+ LINK_FLAGS "-nodefaultlibs ${GRAPHITE_LINK_FLAGS}")
+
+- if (GRAPHITE2_SANITIZERS)
+- target_link_libraries(graphite2 c gcc_s)
+- else()
+- target_link_libraries(graphite2 c gcc)
+- endif()
+-
++ target_link_libraries(graphite2 c gcc_s)
+ if (BUILD_SHARED_LIBS)
+ nolib_test(stdc++ $<TARGET_SONAME_FILE:graphite2>)
+ endif ()
+
diff --git a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
new file mode 100644
index 000000000000..d666eed59594
--- /dev/null
+++ b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+COMMIT=80c52493ef42e6fe605a69dcddd2a691cd8a1380
+GENTOO_DEPEND_ON_PERL="no"
+PYTHON_COMPAT=( python3_{9..10} )
+inherit perl-module python-any-r1 cmake-multilib
+
+DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems"
+HOMEPAGE="https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home"
+SRC_URI="https://github.com/silnrsi/graphite/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/graphite-${COMMIT}"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE="perl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="perl? ( dev-lang/perl:= )"
+DEPEND="${RDEPEND}
+ test? ( dev-libs/glib:2 )
+"
+BDEPEND="
+ perl? (
+ dev-lang/perl
+ dev-perl/Locale-Maketext-Lexicon
+ dev-perl/Module-Build
+ )
+ test? (
+ ${PYTHON_DEPS}
+ $(python_gen_any_dep 'dev-python/fonttools[${PYTHON_USEDEP}]')
+ media-libs/fontconfig
+ perl? ( virtual/perl-Test-Simple )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.3.5-includes-libs-perl.patch"
+ "${FILESDIR}/${PN}-1.3.14-fix-cmake-files-libdir.patch"
+ "${FILESDIR}/${PN}-1.3.14-no-libtool-file.patch"
+ "${FILESDIR}/${PN}-1.3.14-fix-nodefaultlibs-deux.patch"
+ "${FILESDIR}/${PN}-1.3.14-fix-nodefaultlibs.patch"
+ "${FILESDIR}/${PN}-1.3.5-fix-gcc-linking.patch"
+)
+
+pkg_setup() {
+ use perl && perl_set_version
+ use test && python-any-r1_pkg_setup
+}
+
+python_check_deps() {
+ has_version -b "dev-python/fonttools[${PYTHON_USEDEP}]"
+}
+
+src_prepare() {
+ cmake_src_prepare
+ use test || cmake_comment_add_subdirectory tests
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ # Renamed VM_MACHINE_TYPE to GRAPHITE2_VM_TYPE
+ -DGRAPHITE2_VM_TYPE=direct
+ )
+ # https://sourceforge.net/p/silgraphite/bugs/49/
+ [[ ${CHOST} == powerpc*-apple* ]] && mycmakeargs+=(
+ -DGRAPHITE2_NSEGCACHE:BOOL=ON
+ )
+
+ if use elibc_musl ; then
+ # bug #829690
+ if use ppc || use x86 ; then
+ sed -e 's:${GRAPHITE_LINK_FLAGS}:-lssp_nonshared &:' \
+ -i "${S}"/src/CMakeLists.txt || die
+ fi
+ fi
+
+ cmake_src_configure
+
+ # fix perl linking
+ if multilib_is_native_abi && use perl; then
+ # we rely on the fact that cmake_src_configure sets BUILD_DIR
+ sed -e "s:@BUILD_DIR@:\"${BUILD_DIR}/src\":" \
+ -i "${S}"/contrib/perl/Build.PL || die
+ fi
+}
+
+src_compile() {
+ cmake-multilib_src_compile
+ if use perl; then
+ cd contrib/perl || die
+ perl-module_src_configure
+ perl-module_src_compile
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ cmake_src_test
+ else
+ einfo "Cannot test since python is not multilib."
+ fi
+}
+
+src_test() {
+ cmake-multilib_src_test
+ if use perl; then
+ # Perl tests fail due to missing POD coverage...
+ perl_rm_files "contrib/perl/t/pod.t" "contrib/perl/t/pod-coverage.t"
+ cd contrib/perl || die
+ perl-module_src_test
+ fi
+}
+
+src_install() {
+ cmake-multilib_src_install
+ if use perl; then
+ cd contrib/perl || die
+ perl-module_src_install
+ perl_delete_localpod
+ fi
+}
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: media-gfx/graphite2/, media-gfx/graphite2/files/
@ 2024-08-03 2:58 Sam James
0 siblings, 0 replies; 7+ messages in thread
From: Sam James @ 2024-08-03 2:58 UTC (permalink / raw
To: gentoo-commits
commit: 3db506579f0478f32a6a3acf8036e0473e801a9f
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 3 02:56:31 2024 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Aug 3 02:56:31 2024 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3db50657
media-gfx/graphite2: fix build w/ gcc-15
Signed-off-by: Sam James <sam <AT> gentoo.org>
.../graphite2/files/graphite2-1.3.14-gcc15.patch | 29 ++++++++++++++++++++++
.../graphite2/graphite2-1.3.14_p20210810-r3.ebuild | 1 +
2 files changed, 30 insertions(+)
diff --git a/media-gfx/graphite2/files/graphite2-1.3.14-gcc15.patch b/media-gfx/graphite2/files/graphite2-1.3.14-gcc15.patch
new file mode 100644
index 000000000000..3eaf56808666
--- /dev/null
+++ b/media-gfx/graphite2/files/graphite2-1.3.14-gcc15.patch
@@ -0,0 +1,29 @@
+https://github.com/silnrsi/graphite/pull/91
+
+From fb5e7313802a32783cf0a3f1c28880f11e9588a5 Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <slyich@gmail.com>
+Date: Fri, 2 Aug 2024 22:31:44 +0100
+Subject: [PATCH] tests/featuremap/featuremaptest.cpp: add missing <stdint.h>
+ include
+
+Without the change `graphite` build fails on upcoming `gcc-15` as:
+
+ tests/featuremap/featuremaptest.cpp:30:15: error: 'uint8_t' was not declared in this scope
+ 30 | std::vector<uint8_t> _ttf;
+ | ^~~~~~~
+ tests/featuremap/featuremaptest.cpp:16:1: note: 'uint8_t' is defined in header '<cstdint>';
+ this is probably fixable by adding '#include <cstdint>'
+ 15 | #include "inc/Face.h"
+ +++ |+#include <cstdint>
+ 16 | #include "inc/FeatureMap.h"
+--- a/tests/featuremap/featuremaptest.cpp
++++ b/tests/featuremap/featuremaptest.cpp
+@@ -6,6 +6,7 @@
+ #include <iostream>
+ #include <map>
+ #include <memory>
++#include <stdint.h>
+ #include <string>
+ #include <vector>
+
+
diff --git a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
index 294ba366f782..de205065cc19 100644
--- a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
+++ b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
@@ -44,6 +44,7 @@ PATCHES=(
"${FILESDIR}/${PN}-1.3.14-fix-nodefaultlibs-deux.patch"
"${FILESDIR}/${PN}-1.3.14-fix-nodefaultlibs.patch"
"${FILESDIR}/${PN}-1.3.5-fix-gcc-linking.patch"
+ "${FILESDIR}/${PN}-1.3.14-gcc15.patch"
)
pkg_setup() {
^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2024-08-03 2:58 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-29 15:42 [gentoo-commits] repo/gentoo:master commit in: media-gfx/graphite2/, media-gfx/graphite2/files/ Andreas Sturmlechner
-- strict thread matches above, loose matches on Subject: below --
2024-08-03 2:58 Sam James
2023-02-03 19:52 Sam James
2022-01-29 18:49 Sam James
2021-12-29 15:42 Andreas Sturmlechner
2017-10-08 12:56 Andreas Sturmlechner
2017-04-27 3:15 Ian Stakenvicius
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox