Gentoo Archives: gentoo-commits

From: Andrew Savchenko <bircoph@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: app-text/xpdf/, app-text/xpdf/files/
Date: Tue, 12 Mar 2019 06:53:26
Message-Id: 1552373323.bb4f79138a75abb85109b342c215b93c448ee153.bircoph@gentoo
1 commit: bb4f79138a75abb85109b342c215b93c448ee153
2 Author: Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
3 AuthorDate: Tue Mar 12 06:47:32 2019 +0000
4 Commit: Andrew Savchenko <bircoph <AT> gentoo <DOT> org>
5 CommitDate: Tue Mar 12 06:48:43 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb4f7913
7
8 app-text/xpdf: re-add to the tree
9
10 Xpdf is back on track again with modern interface and active
11 development :)
12
13 Package-Manager: Portage-2.3.62, Repoman-2.3.12
14 Signed-off-by: Andrew Savchenko <bircoph <AT> gentoo.org>
15
16 app-text/xpdf/Manifest | 12 +++
17 app-text/xpdf/files/xpdf-automagic.patch | 36 +++++++++
18 app-text/xpdf/files/xpdf-shared-libs.patch | 54 ++++++++++++++
19 app-text/xpdf/files/xpdf-visibility.patch | 11 +++
20 app-text/xpdf/metadata.xml | 17 +++++
21 app-text/xpdf/xpdf-4.0.1.ebuild | 116 +++++++++++++++++++++++++++++
22 6 files changed, 246 insertions(+)
23
24 diff --git a/app-text/xpdf/Manifest b/app-text/xpdf/Manifest
25 new file mode 100644
26 index 00000000000..997f9a14c51
27 --- /dev/null
28 +++ b/app-text/xpdf/Manifest
29 @@ -0,0 +1,12 @@
30 +DIST xpdf-4.01.tar.gz 891150 BLAKE2B 6280bf9d4c17894a22e63d3fdbe3c67679657121196f84964c1353cb2f09348c38de327f7a6259831afb2ff748340c94196eec11b24a442c6e76dbc170d62ac7 SHA512 327d8bcf1f30a0fdbbdc33e2262d4e7de44f28a0f42cc87bbee6b2a8059d8cca8ffa715f7e810f9b53deb690bf9744ae5e8cf86a101941b8103100ded89e36e6
31 +DIST xpdf-arabic.tar.gz 1057 BLAKE2B 5889fa5704a805b152886043ee32082d5e60044fb96f91d429661f823d1ea9c929dcae22460421a7c26a7aae43d5926263fa2a1ea4c07e0e130e67f2fb0b6fab SHA512 1ddaee045c0c3576bda0ebf065021e66e1ac6673d6872aff8e8afb3bae33dd927d920d89761553bade040d20e4b60eb286131bdb2f2d75ec1e833b9a9ce58d3e
32 +DIST xpdf-chinese-simplified.tar.gz 918277 BLAKE2B ad41cc6ceae8d5295e49e6cb6356885a77dd314fd55cae95f4adf7ca597c7d86c0029b2767b1ecae86883d31cf9acc5d67997e1ab7871f10d2b6550734bb3b34 SHA512 1f016ff06301cf445546b380fe4cf0c1c9ef08b5e37bd392ca975b4a54fa43afbe251c31e14f216c68fb38dcf04f40ab5baf828586734efb7881a755f92cc49e
33 +DIST xpdf-chinese-traditional.tar.gz 906297 BLAKE2B 63f4e482b0ba127331ae9adaa69a64ac868e5973d631cec57867ccab83566b61c37771be28c42d02994f574e7bf0fe16813d2d18d6ef5869dc1200f702d7c6dc SHA512 6fec238af3c76f149087bb4445786cb1de31fbcb17982b8da779e71a91e76c780dde7970515eaa6131db2e654d04d13aebe8d840203293b9072850c5d1e6ba0b
34 +DIST xpdf-cyrillic.tar.gz 1656 BLAKE2B 454b9a276106d61481fdb8da934ac0de50b86a99d882e27bc9e1cf09a03ae2156909df405de78413e0ac3b529af479b2fbdf5978cc1022cee25c50df6ef21f0e SHA512 ab1197c90f8cd3d8664ebbdc7ecefdfb8ec12e24da2f7616cad1d5bc9c7fd172c48db6a18d76172de8342377acc8e1dcd78bcf0fb1ef9f05cf94729e90586827
35 +DIST xpdf-greek.tar.gz 1259 BLAKE2B f9f695b55c48ee2956ccab1ba9c7ae5bcb2df0669efcb8e111c6100f957238ae73b18589e40dece8b0c38212f00a52c1dc381cc5efcca7c97fe261d72470bb6f SHA512 2e0e281e09e1abc2f0e40b6787703538d52cb62edcd4c4156698700a5f908afee290c62ad9a6ff4ea74bc42e0a8fe9a7765a212efbc223512d4bb442448ea52f
36 +DIST xpdf-hebrew.tar.gz 1317 BLAKE2B bfd5bddc250c1ae1e01fe68f1a4caa649d2a443d3c39565b5209d07f32d46e3474e6823f243b08ab6088e4686cb79e58fce5c9a3de271a77c6b1713fa58b1000 SHA512 0ebe652f8633151d13ef2403bd293682b511ab86c1391ce187f1fc0274f33bd9c7e6ec682c8f79ac4fd27c74ab81ad2ae334a75f26001092521cff9a73cd0b8a
37 +DIST xpdf-japanese.tar.gz 1011166 BLAKE2B 67c2e8045214462737aa2332aa6ddba35581866e22bece5c166aa3fa808da0dddae11b7e9bcfe50f00087b74f1e7694ac8e407268cdefcab1fe60163eb3bdf70 SHA512 0d7b6e4c31caae1ec49d43f108d2dacc76fa84b79e9794d2d0071f33d7fadfacd533f0da1d5bcac3ec1c0757dbd6be4279acac1d148620e1d89d7a9af0966a08
38 +DIST xpdf-korean.tar.gz 526847 BLAKE2B e1640f6df0bc1e126b2e0f010403fc3ff068a8171d31cc616dfaff43170acfa69ff5dc0ac732d346d6aa9b2b21549b21e11f98f5038050b5075ee7fff8a93444 SHA512 871a9de0e40d7ef9fb42bb2d90558875f5b84962d7f811d5a18f4b68fadbe7c34e2c18c660a160c9ed9539adc22684985f296c77af2ed3bf604d9989bdcb3d1d
39 +DIST xpdf-latin2.tar.gz 1431 BLAKE2B db8c823c4e90643b9d08c9a4106f479470236a00115d2dc6f3a71da4bc9b5e33561da5ac5dce81cbf5fc943a65572f3595601f6e9f31a3fba9bc0d35f28e0016 SHA512 5fe0b60bfac7f0f4a26e3e7216de5043f6b94446f464c984b7c25431ec01a5912952c0dc66bb2c7159c9f63e4805689c6cfc761086aad9e59f1f21d0cddb5d15
40 +DIST xpdf-thai.tar.gz 1878 BLAKE2B dbcc2aa2652c40c2220688767a58cadcfbe39310d6c2664b98392a03b00de6d558fa3f333a085e7c6ff3476b6ffcd98fcc228eeb8dd59e905f870c8a39143ac9 SHA512 5584b590e34da29285c379e3b7a7243c28241ec6fddb3e4a8e2e7bf88b8f7aaae3483061d12c332a1ff042ec5e2b31869a67d60512ac48f7903c5e2fc871aa87
41 +DIST xpdf-turkish.tar.gz 1137 BLAKE2B f735e9842361a5a73fabe40aa4e9cb552475d3751df3e885c5a1a68e0de8ca7b5a031e6332495f70abdc1e943fa615f09185e9ba22922f37f02e42f59ddfc57c SHA512 a73e90bce8f2a12154b06ef29333a45d96258c0d653d5cb15afd2e5ad9e79a9b617e5f8ebeb20bde545684d50f3bc1349800c99f70c863bdd502c24c266b4fb1
42
43 diff --git a/app-text/xpdf/files/xpdf-automagic.patch b/app-text/xpdf/files/xpdf-automagic.patch
44 new file mode 100644
45 index 00000000000..4c35ca8916f
46 --- /dev/null
47 +++ b/app-text/xpdf/files/xpdf-automagic.patch
48 @@ -0,0 +1,36 @@
49 +--- xpdf-4.01.orig/cmake-config.txt 2019-02-18 21:24:19.000000000 +0300
50 ++++ xpdf-4.01/cmake-config.txt 2019-03-10 20:59:59.769610445 +0300
51 +@@ -93,6 +93,10 @@
52 + option(XPDFWIDGET_PRINTING "include printing support in XpdfWidget" ON)
53 + endif ()
54 +
55 ++#--- disable lib dep automagick ---
56 ++option(WITH_LIBPAPER "Enable libpaper support for getting paper size preferences" ON)
57 ++option(WITH_LIBPNG "Enable png support via libpng" ON)
58 ++
59 + #--- check for various library functions
60 + check_function_exists(mkstemp HAVE_MKSTEMP)
61 + check_function_exists(mkstemps HAVE_MKSTEMPS)
62 +@@ -182,7 +186,9 @@
63 + find_package(ZLIB)
64 +
65 + #--- look for libpng
66 ++if (WITH_LIBPNG)
67 + find_package(PNG)
68 ++endif ()
69 +
70 +
71 +
72 +@@ -239,10 +245,12 @@
73 + endif()
74 +
75 + #--- look for libpaper
76 ++if (WITH_LIBPAPER)
77 + find_library(PAPER_LIBRARY
78 + NAMES paper libpaper
79 + PATH_SUFFIXES lib64 lib
80 + )
81 ++endif ()
82 + if (PAPER_LIBRARY)
83 + set(HAVE_PAPER_H TRUE)
84 + else ()
85
86 diff --git a/app-text/xpdf/files/xpdf-shared-libs.patch b/app-text/xpdf/files/xpdf-shared-libs.patch
87 new file mode 100644
88 index 00000000000..c8aafa8405d
89 --- /dev/null
90 +++ b/app-text/xpdf/files/xpdf-shared-libs.patch
91 @@ -0,0 +1,54 @@
92 +diff '--color=auto' -Naurd xpdf-4.01.orig/cmake-config.txt xpdf-4.01/cmake-config.txt
93 +--- xpdf-4.01.orig/cmake-config.txt 2019-03-10 21:32:18.000000000 +0300
94 ++++ xpdf-4.01/cmake-config.txt 2019-03-11 09:03:37.025125528 +0300
95 +@@ -12,6 +12,9 @@
96 + include(CheckCXXSourceCompiles)
97 + include(GNUInstallDirs)
98 +
99 ++set(XPDF_LIBDIR ${CMAKE_INSTALL_LIBDIR}/xpdf)
100 ++set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}/xpdf)
101 ++
102 + enable_language(CXX)
103 +
104 + #--- set default C/C++ compiler flags for Unix
105 +diff '--color=auto' -Naurd xpdf-4.01.orig/fofi/CMakeLists.txt xpdf-4.01/fofi/CMakeLists.txt
106 +--- xpdf-4.01.orig/fofi/CMakeLists.txt 2019-03-10 21:32:19.000000000 +0300
107 ++++ xpdf-4.01/fofi/CMakeLists.txt 2019-03-11 09:04:16.257526539 +0300
108 +@@ -24,3 +24,6 @@
109 + add_library(fofi
110 + $<TARGET_OBJECTS:fofi_objs>
111 + )
112 ++
113 ++set_target_properties(fofi_objs PROPERTIES COMPILE_FLAGS "-fPIC")
114 ++install(TARGETS fofi LIBRARY DESTINATION ${XPDF_LIBDIR})
115 +diff '--color=auto' -Naurd xpdf-4.01.orig/goo/CMakeLists.txt xpdf-4.01/goo/CMakeLists.txt
116 +--- xpdf-4.01.orig/goo/CMakeLists.txt 2019-03-11 09:03:04.000000000 +0300
117 ++++ xpdf-4.01/goo/CMakeLists.txt 2019-03-11 09:02:51.638793035 +0300
118 +@@ -25,3 +25,6 @@
119 + add_library(goo
120 + $<TARGET_OBJECTS:goo_objs>
121 + )
122 ++
123 ++set_target_properties(goo_objs PROPERTIES COMPILE_FLAGS "-fPIC")
124 ++install(TARGETS goo LIBRARY DESTINATION ${XPDF_LIBDIR})
125 +diff '--color=auto' -Naurd xpdf-4.01.orig/splash/CMakeLists.txt xpdf-4.01/splash/CMakeLists.txt
126 +--- xpdf-4.01.orig/splash/CMakeLists.txt 2019-03-10 21:32:19.000000000 +0300
127 ++++ xpdf-4.01/splash/CMakeLists.txt 2019-03-11 09:04:48.885028391 +0300
128 +@@ -44,4 +44,7 @@
129 + add_library(splash
130 + $<TARGET_OBJECTS:splash_objs>
131 + )
132 ++
133 ++ set_target_properties(splash_objs PROPERTIES COMPILE_FLAGS "-fPIC")
134 ++ install(TARGETS splash LIBRARY DESTINATION ${XPDF_LIBDIR})
135 + endif ()
136 +--- xpdf-4.01.orig/xpdf-qt/CMakeLists.txt 2019-02-18 21:24:19.000000000 +0300
137 ++++ xpdf-4.01/xpdf-qt/CMakeLists.txt 2019-03-11 17:29:55.445451783 +0300
138 +@@ -93,6 +93,7 @@
139 + else ()
140 + set_property(TARGET xpdf PROPERTY Qt5_NO_LINK_QTMAIN ON)
141 + endif ()
142 ++ set_property(TARGET xpdf PROPERTY INSTALL_RPATH "")
143 +
144 + install(TARGETS xpdf RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
145 + install(FILES ${PROJECT_SOURCE_DIR}/doc/xpdf.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)
146
147 diff --git a/app-text/xpdf/files/xpdf-visibility.patch b/app-text/xpdf/files/xpdf-visibility.patch
148 new file mode 100644
149 index 00000000000..9eab57b4a3f
150 --- /dev/null
151 +++ b/app-text/xpdf/files/xpdf-visibility.patch
152 @@ -0,0 +1,11 @@
153 +--- xpdf-4.01/goo/GString.h.orig 2019-02-18 21:24:19.000000000 +0300
154 ++++ xpdf-4.01/goo/GString.h 2019-03-10 20:16:48.257102840 +0300
155 +@@ -39,7 +39,7 @@
156 +
157 + // Copy a string.
158 + GString(GString *str);
159 +- GString *copy() { return new GString(this); }
160 ++ __attribute__ ((visibility ("default"))) GString *copy() { return new GString(this); }
161 +
162 + // Concatenate two strings.
163 + GString(GString *str1, GString *str2);
164
165 diff --git a/app-text/xpdf/metadata.xml b/app-text/xpdf/metadata.xml
166 new file mode 100644
167 index 00000000000..aab31e840b1
168 --- /dev/null
169 +++ b/app-text/xpdf/metadata.xml
170 @@ -0,0 +1,17 @@
171 +<?xml version="1.0" encoding="UTF-8"?>
172 +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
173 +<pkgmetadata>
174 + <maintainer type="person">
175 + <email>bircoph@g.o</email>
176 + <name>Andrew Savchenko</name>
177 + </maintainer>
178 + <use>
179 + <flag name="cmyk">Include support for CMYK rasterization</flag>
180 + <flag name="i18n">Enable support non-UTF8 national charsets</flag>
181 + <flag name="libpaper">Use <pkg>app-text/libpaper</pkg> to get paper preferences</flag>
182 + <flag name="metric">Use A4 instead of US Letter paper size by default for PostScript output. This option has effect only if libpaper USE flag is disabled</flag>
183 + <flag name="opi">Include support for OPI (Open Prepress Interface) comments</flag>
184 + <flag name="textselect">Allow text selection</flag>
185 + <flag name="utils">Install command-line PDF converters and various utilities</flag>
186 + </use>
187 +</pkgmetadata>
188
189 diff --git a/app-text/xpdf/xpdf-4.0.1.ebuild b/app-text/xpdf/xpdf-4.0.1.ebuild
190 new file mode 100644
191 index 00000000000..1a243e175e9
192 --- /dev/null
193 +++ b/app-text/xpdf/xpdf-4.0.1.ebuild
194 @@ -0,0 +1,116 @@
195 +# Copyright 1999-2019 Gentoo Authors
196 +# Distributed under the terms of the GNU General Public License v2
197 +
198 +EAPI=7
199 +
200 +inherit cmake-utils
201 +
202 +MY_P=${PN}-$(ver_rs 2 "")
203 +DESCRIPTION="The PDF viewer and tools"
204 +HOMEPAGE="https://www.xpdfreader.com"
205 +SRC_URI="https://xpdfreader-dl.s3.amazonaws.com/${MY_P}.tar.gz
206 + i18n? (
207 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-arabic.tar.gz
208 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-chinese-simplified.tar.gz
209 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-chinese-traditional.tar.gz
210 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-cyrillic.tar.gz
211 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-greek.tar.gz
212 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-hebrew.tar.gz
213 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-japanese.tar.gz
214 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-korean.tar.gz
215 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-latin2.tar.gz
216 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-thai.tar.gz
217 + https://xpdfreader-dl.s3.amazonaws.com/xpdf-turkish.tar.gz
218 + )"
219 +
220 +LICENSE="GPL-2 GPL-3 i18n? ( BSD )"
221 +SLOT="0"
222 +KEYWORDS="~amd64 ~x86"
223 +IUSE="cmyk cups i18n +libpaper metric opi png +textselect utils"
224 +
225 +DEPEND="
226 + cups? (
227 + dev-qt/qtprintsupport:5
228 + net-print/cups
229 + )
230 + libpaper? ( app-text/libpaper )
231 + utils? ( png? ( media-libs/libpng:0 ) )
232 + dev-qt/qtnetwork:5
233 + dev-qt/qtwidgets:5
234 + media-libs/freetype
235 + sys-libs/zlib
236 +"
237 +RDEPEND="${DEPEND}
238 + media-fonts/urw-fonts
239 +"
240 +
241 +PATCHES=(
242 + "${FILESDIR}"/${PN}-automagic.patch
243 + "${FILESDIR}"/${PN}-visibility.patch
244 + "${FILESDIR}"/${PN}-shared-libs.patch
245 +)
246 +
247 +S="${WORKDIR}/${MY_P}"
248 +
249 +src_prepare() {
250 + sed -i \
251 + "s|/usr/local/etc|${EPREFIX}/etc|;
252 + s|/usr/local|${EPREFIX}/usr|" \
253 + doc/sample-xpdfrc || die
254 +
255 + if use i18n; then
256 + sed -i "s|/usr/local|${EPREFIX}/usr|" "${WORKDIR}"/*/add-to-xpdfrc || die
257 + fi
258 +
259 + cmake-utils_src_prepare
260 +}
261 +
262 +src_configure() {
263 + local mycmakeargs=(
264 + -DA4_PAPER=$(usex metric)
265 + -DNO_TEXT_SELECT=$(usex textselect off on)
266 + -DOPI_SUPPORT=$(usex opi)
267 + -DSPLASH_CMYK=$(usex cmyk)
268 + -DWITH_LIBPAPER=$(usex libpaper)
269 + -DWITH_LIBPNG=$(usex png)
270 + -DXPDFWIDGET_PRINTING=$(usex cups)
271 + -DSYSTEM_XPDFRC="${EPREFIX}/etc/xpdfrc"
272 + )
273 + cmake-utils_src_configure
274 +}
275 +
276 +src_install() {
277 + cmake-utils_src_install
278 +
279 + insinto /etc
280 + newins doc/sample-xpdfrc xpdfrc
281 +
282 + local d i
283 + if use utils; then
284 + for d in "bin" "share/man/man1"; do
285 + pushd "${ED}/usr/${d}" || die
286 + for i in pdf*; do
287 + mv "${i}" "x${i}" || die
288 + done
289 + popd || die
290 + done
291 +
292 + einfo "PDF utilities were renamed from pdf* to xpdf* to avoid file collisions"
293 + einfo "with other packages"
294 + else
295 + rm -rf "${ED}"/usr/bin/pdf* \
296 + "${ED}"/usr/share/man/man1/pdf* \
297 + "${ED}"/usr/$(get_libdir) || die
298 + fi
299 +
300 + if use i18n; then
301 + for i in arabic chinese-simplified chinese-traditional cyrillic greek \
302 + hebrew japanese korean latin2 thai turkish; do
303 + insinto "/usr/share/xpdf/${i}"
304 + doins -r $(find -O3 "${WORKDIR}/xpdf-${i}" -maxdepth 1 -mindepth 1 \
305 + ! -name README ! -name add-to-xpdfrc || die)
306 +
307 + cat "${WORKDIR}/xpdf-${i}/add-to-xpdfrc" >> "${ED}/etc/xpdfrc" || die
308 + done
309 + fi
310 +}