summaryrefslogtreecommitdiff
path: root/media-gfx/graphite2
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
commitfcc5224904648a8e6eb528d7603154160a20022f (patch)
tree3bfce096b38a9cea8eed13fc70c1526c456e9abd /media-gfx/graphite2
parent2fd57282f0262ca084e05b0f2c63fbada395d02b (diff)
gentoo resync : 02.02.2022
Diffstat (limited to 'media-gfx/graphite2')
-rw-r--r--media-gfx/graphite2/Manifest2
-rw-r--r--media-gfx/graphite2/files/graphite2-1.3.14-fix-nodefaultlibs.patch45
-rw-r--r--media-gfx/graphite2/graphite2-1.3.14_p20210810-r1.ebuild124
3 files changed, 171 insertions, 0 deletions
diff --git a/media-gfx/graphite2/Manifest b/media-gfx/graphite2/Manifest
index 10a0c19255b3..b15e813594ec 100644
--- a/media-gfx/graphite2/Manifest
+++ b/media-gfx/graphite2/Manifest
@@ -1,9 +1,11 @@
AUX graphite2-1.3.14-fix-cmake-files-libdir.patch 637 BLAKE2B 5bf2dfae7cf3af8a99a5095f618d3625d6f0f3b07f714c1101ac77058aa5ab969115cf2ce6a6164666488183fb5482d3f8b6fd8dea4df3ca1ecba9adb02788f2 SHA512 55805cecf9cde48079a81c8ffd93503dd9302f28140b640971ddee29e7a7da38840c826af072b5780372b56c0f0269cbda802e3e233139f086f5194cd8eb33a5
+AUX graphite2-1.3.14-fix-nodefaultlibs.patch 2396 BLAKE2B 0f845e6556486cfe5320d51fd0f5338caa8a068e84b48f60d09291659e70520ae3303c0d06050c5ff2a3c713919d835a615d2c0ad79c11aad4504375d8e3eb63 SHA512 d7e1c97ef8b4bc871075e61d58934b612ae7330a34b26aee1c3701e90d0d46bafb431c32c740ae276e5c153e330d8e9c27d4df6e2fdeee61dd229e6b6655aebd
AUX graphite2-1.3.14-no-libtool-file.patch 2336 BLAKE2B a349e721264de1477aee5aa3e62d264b26c4665383fbe564de7b3a0420b77fcf8ce90a65a650fc9e2144969a2f00abe7ff7c9ebe6f53c7b2fdc3271fbd55f6ce SHA512 3553e237808bf981cf35e9fa8de7b77fa1ce87c72733c806df8e523ea624a0e5e2ad87a0b4cfb9330e7cace0fb016c2c729085de2d21e959790955fd370f378e
AUX graphite2-1.3.5-includes-libs-perl.patch 836 BLAKE2B 0429d214ff7fd9b903e1d3bcaf0af3e6b29a0269581390f64950e42e41280e482fc9cfda9bfe24ef166eb6c24d21377a15fca4264fec69d902d8ba18810bdb01 SHA512 26ab6dda13d758a5e4237c8b5d207d3c5111afbb11b2c3984cd742913c3c7932559b23b5ea9f774f1c6373eb0f761a9400dccc95876740b3cd06c44084a10965
AUX graphite2-1.35-fix-gcc-linking.patch 697 BLAKE2B 3f4f181477e5f2f5db85f0b5c76dfb2b471c41cb42bfce9a4663fc8aab7035371690077c45cff580c6a700a65466f866944e34127b307f6ef44035f47a65fabd SHA512 f8a8481f5e8e0178e38e8b8dff2e2b1d2f3143d1f1eca6b3b2ea15ea087651dff150fae8166ceaf18eb3995bb480f09e185ddf89b4ad6e352e1085d4655c71b7
DIST graphite2-1.3.14.tgz 6630061 BLAKE2B 72bf6736aaa8476a89e44ef53c5b6c94f45d815fe1a451ba6b3696bfe023971210975dee4a9c8cb3042f36442e4efecf5baf171ef4230ad2b10694a89865f918 SHA512 14b5eb2ba8158b8b62ffa7fb142100a0af1de0f0c45b2673801b636714a106b46fcd423b05c722d963c9543fafcf10fec811975308211a54f20a3ba322d7b295
DIST graphite2-1.3.14_p20210810.tar.gz 6656693 BLAKE2B 63a7d96b58f2779d8a4a353e1a986212b884fdf780fedcb83b22dcef2f7678d44c88c14ece2d09dc745df505a4a3825ce61d7c84bd05fd4e98c23d6e86e9326d SHA512 be54c1386578970cf65c1860336a113268181753c1e2a139e37ceeafcfa76e3162086879c54094d70cd0d36ad5852a95390aaa69572d875921e9481f1ae508ff
EBUILD graphite2-1.3.14-r1.ebuild 2994 BLAKE2B 85a0519e9610d966b043b1ac73c58d17a1cd4729e71369dca175e3ca283a273ae2e00c552372258c20f862c250846d7f29bd252b187a2c12bbaf87595b09d5fa SHA512 8bebde5715ed78ffa35d3466638a00a57009fb16f38c330d1214e6237b4543eac9fa9b3e3919251425699641d504d13262dfd2a8042b8254da04dca6a18c7805
+EBUILD graphite2-1.3.14_p20210810-r1.ebuild 3076 BLAKE2B 6deb2640eff017328f3d38bf8b921085d2a20f15e6e3e1ae381938a275fb1c9df225a5ea8b60dd402afc085a6eaf7c7960c54f360b22c7866a2c6039e2a9a802 SHA512 0d294aa41791c19f6092d37fa2b24836a021c5ad33e587d3e33fced0eb82b52eec5d3cb2bd0fe41db60a0c79746d55f64cbb5783c92c55c7452f87d35574cc43
EBUILD graphite2-1.3.14_p20210810.ebuild 3024 BLAKE2B f99caacdcf8a058683ef8e2ab0d1c26ce783ced212c2bea130193dfa735e0276980d76ba359aba48dab757e37c005e45f89c1c19b6c23743747620985df63ed0 SHA512 e02a9f36ba1a9f9645b5f8132991c4c28342a7d590982afcbe70120f3bfc17518f7e75260590a05fb8bd037932b8e10e2fe871f00e0a414e8b29af92423feccf
MISC metadata.xml 337 BLAKE2B a406b2f1af9217abda601c1a860904b7897c5646bc145befae7e87038a42e6b60f5290cb7258469de61761b67f74e12eef1e5a632aad219978d021e045eaa6da SHA512 1d7d7bc940d89cad512580d43120946e028c7866f844dbbc9242b0c29bdb1058f181c38eb63bdd50007afb0e95adade98e5a5f234964c1e1dfb8d15bda961c2f
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
+}