summaryrefslogtreecommitdiff
path: root/app-text/podofo
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-12-25 23:06:25 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-12-25 23:06:25 +0000
commit441d1370330332b7d78f238d2f5e13f7aed5e4e0 (patch)
tree6a5171dd615dfeee62a45044144c66e864738fb0 /app-text/podofo
parentab3da91fb6c91a9df52fff8f991570f456fd3c7a (diff)
gentoo christmass resync : 25.12.2020
Diffstat (limited to 'app-text/podofo')
-rw-r--r--app-text/podofo/Manifest2
-rw-r--r--app-text/podofo/files/podofo-0.9.6_p20190928-cmake_lua_version.patch15
-rw-r--r--app-text/podofo/podofo-0.9.6_p20190928-r100.ebuild159
3 files changed, 176 insertions, 0 deletions
diff --git a/app-text/podofo/Manifest b/app-text/podofo/Manifest
index be47612bad78..2f40aafb77fc 100644
--- a/app-text/podofo/Manifest
+++ b/app-text/podofo/Manifest
@@ -1,3 +1,5 @@
+AUX podofo-0.9.6_p20190928-cmake_lua_version.patch 522 BLAKE2B b911b2ab2b35f5eccb58b32e575a775fe43cac1576831bb4e47d10c666a1e7040d8c01c865ee63ef1c3ff3c1a1feb2059dc25c71924b61995302dad21c32c868 SHA512 953f41b44468918aa96af42ecf3de8e3dd0d7721ed7c6283d8a6d44941caf70d9ef63d7d59ee1d94081fdc91a915ba8770bc335f8af5d60b24cd1f6c04698f6f
DIST podofo-0.9.6_p20190928.tar.xz 747532 BLAKE2B 39d051e6adca85bf0f124e5d48e1ff88dc951d7c1b38bc76dc7e3640ea9c3f8a59c6ba9a9105a263234e94932e450bec12dde455850dbf96cd7eec3e69a1a28d SHA512 b9d46fb02eeba61190a0efd17b507bba62d7246af6fff3c3514c9970e99e085f9aad92baa05cc6cf0a8c3c2843554099c904bff10be54dbb4d4cb7de460fc3cc
+EBUILD podofo-0.9.6_p20190928-r100.ebuild 4846 BLAKE2B b61750e756ecb2bc82bac3d5efdfbd04f1086956de60c982f9c75b4ad02eecd11de12c13bd791a03c345adc48a187eb8b4c9739317b506a55ae4121f51fe10d3 SHA512 d6f532ddf3f86d1ae9658b3b7468fc10022edf905ec8431c3e4f5c7bcac0f34cb9387b94e542b3f0dd303cb6fb7536f0138604bc05433a799488fba2eaa36c4d
EBUILD podofo-0.9.6_p20190928.ebuild 4666 BLAKE2B 6af9d14f8e2ad0d3c55d6f3add49d9f70322a189d25960e46b0ba3cb56105bf864b4a76b32a47febf74072a8a95c491997ba2ed3ed3c2e6bc2383efde706e241 SHA512 380a8ae526de4d43ad6bc4e7e6d444010855c2853239248daed8105a65bd9f97fd8e30f57219952a9a6fcc0b752fc575f9bcdf0766c04a3887a2c93877326e18
MISC metadata.xml 509 BLAKE2B 5bcba752f845dba107a60068a4be60776e8fba516b42a2434bed1173786117054eb77e933b667604c96c10bbc5ced810b8590c77626d13a575857ec1ba253dbb SHA512 ad2bbc4598d80be1fcd4fdbfe0a08bec65795f23e768762dc02be766d82cf1549b6861bd8e96bd72b468674ab1e36ebbead3464dc647378b72a8679fcf422236
diff --git a/app-text/podofo/files/podofo-0.9.6_p20190928-cmake_lua_version.patch b/app-text/podofo/files/podofo-0.9.6_p20190928-cmake_lua_version.patch
new file mode 100644
index 000000000000..f178ae2a6c0c
--- /dev/null
+++ b/app-text/podofo/files/podofo-0.9.6_p20190928-cmake_lua_version.patch
@@ -0,0 +1,15 @@
+Switch from the non-standard upstream CMake Lua module to the one bundled
+with CMake, use only the Lua version requested by the ebuild, and do not
+semi-quietly ignore the absence of Lua.
+
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -433,7 +433,7 @@
+ ENDIF(WANT_FONTCONFIG)
+
+ IF(NOT PODOFO_BUILD_LIB_ONLY)
+-FIND_PACKAGE(LUA)
++FIND_PACKAGE(Lua ${LUA_VERSION} EXACT REQUIRED)
+ IF(LUA_FOUND)
+ # If we have lua, we can build podofoimpose.
+ MESSAGE("Lua found - PoDoFoImpose and PoDoFoColor will be built with Lua support")
diff --git a/app-text/podofo/podofo-0.9.6_p20190928-r100.ebuild b/app-text/podofo/podofo-0.9.6_p20190928-r100.ebuild
new file mode 100644
index 000000000000..cf6bcc0de02b
--- /dev/null
+++ b/app-text/podofo/podofo-0.9.6_p20190928-r100.ebuild
@@ -0,0 +1,159 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..4} )
+
+inherit cmake flag-o-matic lua-single toolchain-funcs
+
+DESCRIPTION="PoDoFo is a C++ library to work with the PDF file format"
+HOMEPAGE="https://sourceforge.net/projects/podofo/"
+SRC_URI="https://dev.gentoo.org/~zmedico/dist/${P}.tar.xz"
+
+LICENSE="GPL-2 LGPL-2.1"
+SLOT="0/${PV%_*}"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
+IUSE="+boost idn libressl debug test +tools"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${LUA_REQUIRED_USE}
+ test? ( tools )"
+
+RDEPEND="${LUA_DEPS}
+ idn? ( net-dns/libidn:= )
+ !libressl? ( dev-libs/openssl:0= )
+ libressl? ( dev-libs/libressl:0= )
+ media-libs/fontconfig:=
+ media-libs/freetype:2=
+ virtual/jpeg:0=
+ media-libs/libpng:0=
+ media-libs/tiff:0=
+ sys-libs/zlib:="
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ boost? ( dev-util/boost-build )
+ test? ( dev-util/cppunit )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.6_p20190928-cmake_lua_version.patch
+)
+
+DOCS="AUTHORS ChangeLog TODO"
+
+src_prepare() {
+ cmake_src_prepare
+ local x sed_args
+
+ if use libressl; then
+ sed -e 's:^#ifdef PODOFO_HAVE_OPENSSL_1_1$:#ifndef PODOFO_HAVE_OPENSSL_1_1:' \
+ -i tools/podofosign/podofosign.cpp || die #663602
+ fi
+
+ # bug 620934 - Disable linking with cppunit when possible, since it
+ # triggers errors with some older compilers.
+ use test || sed -e 's:^FIND_PACKAGE(CppUnit):#\0:' -i CMakeLists.txt || die
+
+ # bug 556962
+ sed -i -e 's|Decrypt( pEncryptedBuffer, nOutputLen, pDecryptedBuffer, m_lLen );|Decrypt( pEncryptedBuffer, (pdf_long)nOutputLen, pDecryptedBuffer, (pdf_long\&)m_lLen );|' \
+ test/unit/EncryptTest.cpp || die
+
+ sed -i \
+ -e "s:LIBDIRNAME \"lib\":LIBDIRNAME \"$(get_libdir)\":" \
+ -e "s:LIBIDN_FOUND:HAVE_LIBIDN:g" \
+ CMakeLists.txt || die
+
+ # Use pkg-config to find headers for bug #459404.
+ sed_args=
+ for x in $($(tc-getPKG_CONFIG) --cflags freetype2) ; do
+ [[ ${x} == -I* ]] || continue
+ x=${x#-I}
+ if [[ -f ${x}/ft2build.h ]] ; then
+ sed_args+=" -e s:/usr/include/\\r\$:${x}:"
+ elif [[ -f ${x}/freetype/config/ftheader.h ]] ; then
+ sed_args+=" -e s:/usr/include/freetype2\\r\$:${x}:"
+ fi
+ done
+ [[ -n ${sed_args} ]] && \
+ { sed -i ${sed_args} cmake/modules/FindFREETYPE.cmake || die; }
+
+ # Bug #439784: Add missing unistd include for close() and unlink().
+ sed -i 's:^#include <stdio.h>$:#include <unistd.h>\n\0:' -i \
+ test/unit/TestUtils.cpp || die
+
+ # TODO: fix these test cases
+ # ColorTest.cpp:62:Assertion
+ # Test name: ColorTest::testDefaultConstructor
+ # expected exception not thrown
+ # - Expected: PdfError
+ sed -e 's:CPPUNIT_TEST( testDefaultConstructor ://\0:' \
+ -e 's:CPPUNIT_TEST( testGreyConstructor ://\0:' \
+ -e 's:CPPUNIT_TEST( testRGBConstructor ://\0:' \
+ -e 's:CPPUNIT_TEST( testCMYKConstructor ://\0:' \
+ -e 's:CPPUNIT_TEST( testColorSeparationAllConstructor ://\0:' \
+ -e 's:CPPUNIT_TEST( testColorSeparationNoneConstructor ://\0:' \
+ -e 's:CPPUNIT_TEST( testColorSeparationConstructor ://\0:' \
+ -e 's:CPPUNIT_TEST( testColorCieLabConstructor ://\0:' \
+ -i test/unit/ColorTest.h || die
+
+ # ColorTest.cpp:42:Assertion
+ # Test name: ColorTest::testHexNames
+ # assertion failed
+ # - Expression: static_cast<int>(rgb.GetGreen() * 255.0) == 0x0A
+ sed -e 's:CPPUNIT_TEST( testHexNames ://\0:' \
+ -i test/unit/ColorTest.h || die
+
+ # Bug #352125: test failure, depending on installed fonts
+ # ##Failure Location unknown## : Error
+ # Test name: FontTest::testFonts
+ # uncaught exception of type PoDoFo::PdfError
+ # - ePdfError_UnsupportedFontFormat
+ sed -e 's:CPPUNIT_TEST( testFonts ://\0:' \
+ -i test/unit/FontTest.h || die
+
+ # Test name: EncodingTest::testDifferencesEncoding
+ # equality assertion failed
+ # - Expected: 1
+ # - Actual : 0
+ sed -e 's:CPPUNIT_TEST( testDifferencesEncoding ://\0:' \
+ -i test/unit/EncodingTest.h || die
+
+ # Bug #407015: fix to compile with Lua 5.2+
+ case "${ELUA}" in
+ lua5-1|luajit)
+ ;;
+ *)
+ sed -e 's: lua_open(: luaL_newstate(:' \
+ -e 's: luaL_getn(: lua_rawlen(:' -i \
+ tools/podofocolor/luaconverter.cpp \
+ tools/podofoimpose/planreader_lua.cpp || die
+ ;;
+ esac
+}
+
+src_configure() {
+
+ # Bug #381359: undefined reference to `PoDoFo::PdfVariant::DelayedLoadImpl()'
+ filter-flags -fvisibility-inlines-hidden
+
+ mycmakeargs+=(
+ "-DPODOFO_BUILD_SHARED=1"
+ "-DPODOFO_HAVE_JPEG_LIB=1"
+ "-DPODOFO_HAVE_PNG_LIB=1"
+ "-DPODOFO_HAVE_TIFF_LIB=1"
+ "-DWANT_FONTCONFIG=1"
+ "-DUSE_STLPORT=0"
+ -DLUA_VERSION="$(lua_get_version)"
+ -DWANT_BOOST=$(usex boost ON OFF)
+ -DHAVE_LIBIDN=$(usex idn ON OFF)
+ -DPODOFO_HAVE_CPPUNIT=$(usex test ON OFF)
+ -DPODOFO_BUILD_LIB_ONLY=$(usex tools OFF ON)
+ )
+
+ cmake_src_configure
+ mkdir -p "${S}/test/TokenizerTest/objects" || die
+}
+
+src_test() {
+ cd "${BUILD_DIR}"/test/unit || die
+ ./podofo-test --selftest || die "self test failed"
+}