summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2023-02-03 19:48:44 +0000
committerSam James <sam@gentoo.org>2023-02-03 19:50:33 +0000
commit2802d2b9bdc8e101d3ae64be74f2ab695d3bf967 (patch)
tree5dd6206cb333b3eb487ed52de7092767ba636aeb /media-gfx
parentgames-util/basis_universal: fix build w/ AVX (diff)
downloadgentoo-2802d2b9bdc8e101d3ae64be74f2ab695d3bf967.tar.gz
gentoo-2802d2b9bdc8e101d3ae64be74f2ab695d3bf967.tar.bz2
gentoo-2802d2b9bdc8e101d3ae64be74f2ab695d3bf967.zip
media-gfx/graphite2: include musl patches again
Closes: https://bugs.gentoo.org/890555 Thanks-to: ernsteiswuerfel <erhard_f@mailbox.org> Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs.patch26
-rw-r--r--media-gfx/graphite2/files/graphite2-1.3.5-fix-gcc-linking.patch17
-rw-r--r--media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild125
3 files changed, 168 insertions, 0 deletions
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
+}