poppler, add poppler 24.07.0 (#10757)

This commit is contained in:
Schrijvers Luc
2024-07-28 08:55:10 +02:00
committed by GitHub
parent 81afecb4af
commit 154a2e2359
2 changed files with 384 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
From ee932aca2def1315d70e06445b6aa57d52c2ccba Mon Sep 17 00:00:00 2001
From: Begasus <begasus@gmail.com>
Date: Thu, 24 Aug 2023 13:40:34 +0200
Subject: Turn off POSITION_INDEPENDENT_CODE
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ceff736..49f6a9a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -19,6 +19,9 @@ set(CMAKE_TRY_COMPILE_CONFIGURATION "${_CMAKE_BUILD_TYPE_UPPER}")
include(MacroOptionalFindPackage)
find_package(PkgConfig)
+
+set(CMAKE_POSITION_INDEPENDENT_CODE OFF)
+
include(TestBigEndian)
test_big_endian(WORDS_BIGENDIAN)
include(CheckFileOffsetBits)
--
2.45.2

View File

@@ -0,0 +1,361 @@
SUMMARY="A PDF rendering library"
DESCRIPTION="Poppler is a PDF rendering library based on the xpdf-3.0 code \
base."
HOMEPAGE="https://poppler.freedesktop.org/"
# instead of listing all copyright holder names in here, grab the latest list from Debian
# https://metadata.ftp-master.debian.org/changelogs//main/p/poppler/
COPYRIGHT="1996-present xpdf3 and poppler contributors"
LICENSE="Apache v2
GNU GPL v2
GNU GPL v3
poppler_24.06.0-2_copyright"
REVISION="2"
SOURCE_URI="https://poppler.freedesktop.org/poppler-$portVersion.tar.xz"
CHECKSUM_SHA256="19eb4f49198e4ae3fd9e5a6cf24d0fc7e674e8802046a7de14baab1e40cc2f1d"
SOURCE_DIR="poppler-$portVersion"
srcGitRev_2="ff3133cdb6cb496ee1d2c3231bfa35006a5e8410"
SOURCE_URI_2="https://gitlab.freedesktop.org/poppler/test/-/archive/$srcGitRev_2.tar.gz"
CHECKSUM_SHA256_2="98a06e7dd7619fe20bfd99505a31993dbe40517678d81278e6395a30a40f03bf"
PATCHES="poppler-$portVersion.patchset"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="139.0.0"
libCppVersion="1.0.0"
libGlibVersion="8.26.0"
libQt5Version="1.35.0"
libQt6Version="3.6.0"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
libCppVersionCompat="$libCppVersion compat >= ${libCppVersion%%.*}"
libGlibVersionCompat="$libGlibVersion compat >= ${libGlibVersion%%.*}"
libQt5VersionCompat="$libQt5Version compat >= ${libQt5Version%%.*}"
libQt6VersionCompat="$libQt6Version compat >= ${libQt6Version%%.*}"
PROVIDES="
poppler24$secondaryArchSuffix = $portVersion
lib:libpoppler$secondaryArchSuffix = $libVersionCompat
lib:libpoppler_cpp$secondaryArchSuffix = $libCppVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
poppler_data >= 0.4.12
lib:libcairo$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
# lib:libgpgmepp$secondaryArchSuffix
lib:libiconv$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
# lib:libnspr4$secondaryArchSuffix
# lib:libnss3$secondaryArchSuffix
# lib:libnssutil3$secondaryArchSuffix
lib:libopenjp2$secondaryArchSuffix
# lib:libplc4$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
# lib:libsmime3$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
PROVIDES_devel="
poppler24${secondaryArchSuffix}_devel = $portVersion
devel:libpoppler$secondaryArchSuffix = $libVersionCompat
devel:libpoppler_cpp$secondaryArchSuffix = $libCppVersionCompat
"
REQUIRES_devel="
poppler24$secondaryArchSuffix == $portVersion base
"
CONFLICTS_devel="
poppler${secondaryArchSuffix}_devel
poppler23${secondaryArchSuffix}_devel
"
# GLIB
SUMMARY_glib="$SUMMARY (glib bindings)"
DESCRIPTION_glib="$DESCRIPTION (glib bindings)"
PROVIDES_glib="
poppler24${secondaryArchSuffix}_glib = $portVersion
lib:libpoppler_glib$secondaryArchSuffix = $libGlibVersionCompat
"
REQUIRES_glib="
haiku$secondaryArchSuffix
poppler24$secondaryArchSuffix == $portVersion base
lib:libcairo$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libgio_2.0$secondaryArchSuffix
lib:libglib_2.0$secondaryArchSuffix
lib:libgobject_2.0$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
lib:libopenjp2$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
CONFLICTS_glib="
poppler${secondaryArchSuffix}_glib
poppler23${secondaryArchSuffix}_glib
"
PROVIDES_glib_devel="
poppler24${secondaryArchSuffix}_glib_devel = $portVersion
devel:libpoppler_glib$secondaryArchSuffix = $libGlibVersionCompat
"
REQUIRES_glib_devel="
poppler24${secondaryArchSuffix}_devel == $portVersion
poppler24${secondaryArchSuffix}_glib == $portVersion
devel:libcairo$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgobject_2.0$secondaryArchSuffix
"
# QT5
SUMMARY_qt5="$SUMMARY (Qt5 bindings)"
DESCRIPTION_qt5="$DESCRIPTION (Qt5 bindings)"
PROVIDES_qt5="
poppler24${secondaryArchSuffix}_qt5 = $portVersion
lib:libpoppler_qt5$secondaryArchSuffix = $libQt5VersionCompat
"
REQUIRES_qt5="
haiku$secondaryArchSuffix
poppler24$secondaryArchSuffix == $portVersion base
lib:libcurl$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
lib:libopenjp2$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
CONFLICTS_qt5="
poppler${secondaryArchSuffix}_qt5
poppler23${secondaryArchSuffix}_qt5
"
PROVIDES_qt5_devel="
poppler24${secondaryArchSuffix}_qt5_devel = $portVersion
devel:libpoppler_qt5$secondaryArchSuffix = $libQt5VersionCompat
"
REQUIRES_qt5_devel="
poppler24${secondaryArchSuffix}_devel == $portVersion
poppler24${secondaryArchSuffix}_qt5 == $portVersion
"
# QT6
SUMMARY_qt6="$SUMMARY (Qt6 bindings)"
DESCRIPTION_qt6="$DESCRIPTION (Qt6 bindings)"
PROVIDES_qt6="
poppler24${secondaryArchSuffix}_qt6 = $portVersion
lib:libpoppler_qt6$secondaryArchSuffix = $libQt6VersionCompat
"
REQUIRES_qt6="
haiku$secondaryArchSuffix
poppler24$secondaryArchSuffix == $portVersion base
lib:libcurl$secondaryArchSuffix
lib:libfontconfig$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libjpeg$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
lib:libopenjp2$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libQt6Core$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:libQt6Xml$secondaryArchSuffix
lib:libtiff$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
CONFLICTS_qt6="
poppler${secondaryArchSuffix}_qt6
poppler23${secondaryArchSuffix}_qt6
"
PROVIDES_qt6_devel="
poppler24${secondaryArchSuffix}_qt6_devel = $portVersion
devel:libpoppler_qt6$secondaryArchSuffix = $libQt6VersionCompat
"
REQUIRES_qt6_devel="
poppler24${secondaryArchSuffix}_devel == $portVersion
poppler24${secondaryArchSuffix}_qt6 == $portVersion
"
SUMMARY_tools="Binaries for the poppler package"
PROVIDES_tools="
poppler24${secondaryArchSuffix}_tools
cmd:pdfattach
cmd:pdfdetach
cmd:pdffonts
cmd:pdfimages
cmd:pdfinfo
cmd:pdfseparate
cmd:pdfsig
cmd:pdftocairo
cmd:pdftohtml
cmd:pdftoppm
cmd:pdftops
cmd:pdftotext
cmd:pdfunite
"
REQUIRES_tools="
poppler24$secondaryArchSuffix == $portVersion base
haiku$secondaryArchSuffix
lib:libcairo$secondaryArchSuffix
lib:libfreetype$secondaryArchSuffix
lib:libintl$secondaryArchSuffix
lib:liblcms2$secondaryArchSuffix
"
CONFLICTS_tools="
poppler${secondaryArchSuffix}_tools
poppler23${secondaryArchSuffix}_tools
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
poppler_data >= 0.4.12
devel:libboost_system$secondaryArchSuffix >= 1.83.0
devel:libcairo$secondaryArchSuffix
devel:libcurl$secondaryArchSuffix
devel:libfontconfig$secondaryArchSuffix
devel:libfreetype$secondaryArchSuffix
devel:libgio_2.0$secondaryArchSuffix
devel:libglib_2.0$secondaryArchSuffix
devel:libgobject_2.0$secondaryArchSuffix
# devel:libgpgmepp$secondaryArchSuffix
devel:libiconv$secondaryArchSuffix
devel:libintl$secondaryArchSuffix
devel:libjpeg$secondaryArchSuffix
devel:liblcms2$secondaryArchSuffix
# devel:libnspr4$secondaryArchSuffix
# devel:libnss3$secondaryArchSuffix
devel:libopenjp2$secondaryArchSuffix
devel:libpng16$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
devel:libQt5Gui$secondaryArchSuffix
devel:libQt5Widgets$secondaryArchSuffix
devel:libQt5Xml$secondaryArchSuffix
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Gui$secondaryArchSuffix
devel:libQt6Widgets$secondaryArchSuffix
devel:libQt6Xml$secondaryArchSuffix
devel:libtiff$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gawk
cmd:grep
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:perl
cmd:pkg_config$secondaryArchSuffix
"
defineDebugInfoPackage poppler24$secondaryArchSuffix \
"$(getPackagePrefix tools)"/bin/pdfdetach \
"$(getPackagePrefix tools)"/bin/pdffonts \
"$(getPackagePrefix tools)"/bin/pdfimages \
"$(getPackagePrefix tools)"/bin/pdfinfo \
"$(getPackagePrefix tools)"/bin/pdfseparate \
"$(getPackagePrefix tools)"/bin/pdftocairo \
"$(getPackagePrefix tools)"/bin/pdftohtml \
"$(getPackagePrefix tools)"/bin/pdftoppm \
"$(getPackagePrefix tools)"/bin/pdftops \
"$(getPackagePrefix tools)"/bin/pdftotext \
"$(getPackagePrefix tools)"/bin/pdfunite \
"$libDir"/libpoppler.so.$libVersion \
"$libDir"/libpoppler-cpp.so.$libCppVersion \
"$(getPackagePrefix glib)/$relativeLibDir"/libpoppler-glib.so.$libGlibVersion \
"$(getPackagePrefix qt5)/$relativeLibDir"/libpoppler-qt5.so.$libQt5Version \
"$(getPackagePrefix qt6)/$relativeLibDir"/libpoppler-qt6.so.$libQt6Version
BUILD()
{
mkdir -p $sourceDir/../test
cp -R $sourceDir2/test-$srcGitRev_2/* $sourceDir/../test
cmake -B build -S. $cmakeDirArgs \
-DCMAKE_CXX_FLAGS="-D_BSD_SOURCE" \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_SKIP_RPATH=ON \
-DENABLE_UNSTABLE_API_ABI_HEADERS=ON \
-DENABLE_GPGME=OFF \
-DENABLE_NSS3=OFF \
-DBUILD_QT5_TESTS=OFF \
-DBUILD_QT6_TESTS=OFF \
-DBUILD_CPP_TESTS=OFF \
-DBUILD_MANUAL_TESTS=OFF
make -C build $jobArgs
}
INSTALL()
{
make -C build install
# install poppler documentation
mkdir -p $docDir
cp $sourceDir/{COPYING*,README*} $docDir
prepareInstalledDevelLibs libpoppler \
libpoppler-cpp \
libpoppler-glib \
libpoppler-qt5 \
libpoppler-qt6
fixPkgconfig
mkdir -p $(dirname $includeDir)
mv $prefix/include $includeDir
rm -rf $prefix/share
# GLIB
packageEntries "glib" \
$libDir/*glib*
packageEntries "glib_devel" \
$developLibDir/*glib* \
$developLibDir/pkgconfig/poppler-glib.pc \
$includeDir/poppler/glib
# QT5
packageEntries "qt5" \
$libDir/*qt5*
packageEntries "qt5_devel" \
$developLibDir/*qt5* \
$developLibDir/pkgconfig/poppler-qt5.pc \
$includeDir/poppler/qt5
# QT6
packageEntries "qt6" \
$libDir/*qt6*
packageEntries "qt6_devel" \
$developLibDir/*qt6* \
$developLibDir/pkgconfig/poppler-qt6.pc \
$includeDir/poppler/qt6
# Tools
packageEntries tools \
$prefix/bin \
$manDir
# DEVEL
packageEntries devel \
$developDir
}
TEST()
{
# with gpgme enabled there is one crash related to that
export LIBRARY_PATH="$sourceDir/build:$sourceDir/build/qt5/src:$sourceDir/build/qt6/src:$LIBRARY_PATH"
ctest --test-dir build --output-on-failure
}