diff --git a/app-text/podofo/Manifest b/app-text/podofo/Manifest index 40ed338f19fa6..8ba7817a349c6 100644 --- a/app-text/podofo/Manifest +++ b/app-text/podofo/Manifest @@ -1,2 +1,3 @@ +DIST podofo-0.9.6_p20180715.tar.xz 747444 BLAKE2B 96d90add6d290d6722cd7412fd75433f87303bac385964f0967b4f119db4962f6ddbd93b49af8454051f421d77de70ad7ea0f5b01a66eeb690a75dbeec256eff SHA512 4c9b09c716128110b47d6a02f118eb80b6009e9e79dbc83ff804a57f0abc011b789de9287b68a6c1d6704ef386f8062a3a495408af8a832782f0bf0128190a1f DIST podofo-0.9.6_pre20170508.tar.xz 919876 BLAKE2B 39be46db0e36755c828373659f681aa6334ec6be01cdcc62616d8ce4e59a2ab916cbfc4aa58d4bf8ab95843a40b7b536cb1b2ccfa14beacf629ff1fbcb699613 SHA512 37d8e844ba5763d06d467e316871436e1a63795d66675677d9775cd1bd311f43b241d58e82213a0342ab69a0f5cd80261aad48c4af29c82f7bcc0c14bd242f10 DIST podofo-0.9.6_pre20171027.tar.xz 919504 BLAKE2B d03852a25e50085ed2108e90c293600e0515c06918276888e63917ca00a9fe3b392cd9ec9aeb6f651fd7e0b45a5e3c08e3f4d6df6f4a04d8fb224fbdd0599342 SHA512 db1ac836abd7be0d2cc3c27114c7134de9de8ba931a6a8265514fedefe3c6f06a24371f7a5425c8b7251fe7166bc27f07733cba878ad24c12651c8c051cac8be diff --git a/app-text/podofo/podofo-0.9.6_p20180715.ebuild b/app-text/podofo/podofo-0.9.6_p20180715.ebuild new file mode 100644 index 0000000000000..7f96397610700 --- /dev/null +++ b/app-text/podofo/podofo-0.9.6_p20180715.ebuild @@ -0,0 +1,140 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +inherit cmake-utils flag-o-matic multilib toolchain-funcs + +DESCRIPTION="PoDoFo is a C++ library to work with the PDF file format" +HOMEPAGE="https://sourceforge.net/projects/podofo/" +SRC_URI="mirror://gentoo/${P}.tar.xz" + +LICENSE="GPL-2 LGPL-2.1" +SLOT="0/${PV%_*}" +KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86" +IUSE="+boost idn libressl debug test +tools" +REQUIRED_USE="test? ( tools )" + +RDEPEND="dev-lang/lua:= + 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 )" + +DOCS="AUTHORS ChangeLog TODO" + +src_prepare() { + cmake-utils_src_prepare + local x sed_args + + # 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 $:#include \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(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 + if has_version '>=dev-lang/lua-5.2' ; then + sed -e 's: lua_open(: luaL_newstate(:' \ + -e 's: luaL_getn(: lua_rawlen(:' -i \ + tools/podofocolor/luaconverter.cpp \ + tools/podofoimpose/planreader_lua.cpp || die + fi +} + +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" + -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-utils_src_configure + mkdir -p "${S}/test/TokenizerTest/objects" || die +} + +src_test() { + cd "${CMAKE_BUILD_DIR}"/test/unit + ./podofo-test --selftest || die "self test failed" +}