Gentoo Archives: gentoo-commits

From: Sebastian Pipping <sping@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: x11-misc/xscreensaver/, x11-misc/xscreensaver/files/
Date: Sat, 17 Jul 2021 22:17:37
Message-Id: 1626560228.4f17f639d8be68fb6b66b2bc14a6003aa9e8ef75.sping@gentoo
1 commit: 4f17f639d8be68fb6b66b2bc14a6003aa9e8ef75
2 Author: Sebastian Pipping <sping <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jul 17 22:01:27 2021 +0000
4 Commit: Sebastian Pipping <sping <AT> gentoo <DOT> org>
5 CommitDate: Sat Jul 17 22:17:08 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4f17f639
7
8 x11-misc/xscreensaver: Fix USE="-gtk" and USE="-gdk-pixbuf"
9
10 Closes: https://bugs.gentoo.org/796992
11 Signed-off-by: Sebastian Pipping <sping <AT> gentoo.org>
12 Package-Manager: Portage-3.0.20, Repoman-3.0.3
13
14 .../files/xscreensaver-6.01-gtk-detection.patch | 25 +++
15 .../files/xscreensaver-6.01-non-gtk-install.patch | 56 ++++++
16 x11-misc/xscreensaver/xscreensaver-6.01-r2.ebuild | 202 +++++++++++++++++++++
17 3 files changed, 283 insertions(+)
18
19 diff --git a/x11-misc/xscreensaver/files/xscreensaver-6.01-gtk-detection.patch b/x11-misc/xscreensaver/files/xscreensaver-6.01-gtk-detection.patch
20 new file mode 100644
21 index 00000000000..1f70ad29dbb
22 --- /dev/null
23 +++ b/x11-misc/xscreensaver/files/xscreensaver-6.01-gtk-detection.patch
24 @@ -0,0 +1,25 @@
25 +From 9ff9a74152ebd8c04df12d340ab6e7c726690a82 Mon Sep 17 00:00:00 2001
26 +From: Sebastian Pipping <sebastian@×××××××.org>
27 +Date: Sat, 17 Jul 2021 23:50:16 +0200
28 +Subject: [PATCH 2/2] Fix detection of GTK+ for systems without gdk-pixbuf
29 +
30 +---
31 + configure.ac | 2 --
32 + 1 file changed, 2 deletions(-)
33 +
34 +diff --git a/configure.ac b/configure.ac
35 +index 4cb3385..bef0d1e 100644
36 +--- a/configure.ac
37 ++++ b/configure.ac
38 +@@ -2819,8 +2819,6 @@ if test "$with_gtk" = yes; then
39 + pkg_check_version gtk+-2.0 2.22.0 ; ac_gtk_version_string="$vers"
40 + pkg_check_version gmodule-2.0 2.0.0
41 + pkg_check_version libxml-2.0 2.4.6
42 +- pkg_check_version gdk-pixbuf-2.0 2.0.0
43 +- pkg_check_version gdk-pixbuf-xlib-2.0 2.0.0
44 + have_gtk="$ok"
45 +
46 + if test "$have_gtk" = no; then
47 +--
48 +2.32.0
49 +
50
51 diff --git a/x11-misc/xscreensaver/files/xscreensaver-6.01-non-gtk-install.patch b/x11-misc/xscreensaver/files/xscreensaver-6.01-non-gtk-install.patch
52 new file mode 100644
53 index 00000000000..cb8b6e45db2
54 --- /dev/null
55 +++ b/x11-misc/xscreensaver/files/xscreensaver-6.01-non-gtk-install.patch
56 @@ -0,0 +1,56 @@
57 +From 25b22d16fabbdb3e7a6afcd6cd8d1a25afaaa252 Mon Sep 17 00:00:00 2001
58 +From: Sebastian Pipping <sebastian@×××××××.org>
59 +Date: Sat, 17 Jul 2021 23:44:44 +0200
60 +Subject: [PATCH 1/2] Fix install for --without-motif --without-gtk
61 +
62 +Related to https://bugs.gentoo.org/796992
63 +---
64 + configure.ac | 4 ++++
65 + driver/Makefile.in | 2 +-
66 + 2 files changed, 5 insertions(+), 1 deletion(-)
67 +
68 +diff --git a/configure.ac b/configure.ac
69 +index 2eaea28..4cb3385 100644
70 +--- a/configure.ac
71 ++++ b/configure.ac
72 +@@ -4148,13 +4148,16 @@ fi
73 +
74 + PREFERRED_DEMO_PROGRAM=''
75 + ALL_DEMO_PROGRAMS=
76 ++SETTINGS_PROGRAM_OR_NOT=
77 + if test "$have_motif" = yes; then
78 + PREFERRED_DEMO_PROGRAM=xscreensaver-settings-Xm
79 + ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
80 ++ SETTINGS_PROGRAM_OR_NOT=xscreensaver-settings
81 + fi
82 + if test "$have_gtk" = yes; then
83 + PREFERRED_DEMO_PROGRAM=xscreensaver-settings-Gtk
84 + ALL_DEMO_PROGRAMS="$PREFERRED_DEMO_PROGRAM $ALL_DEMO_PROGRAMS"
85 ++ SETTINGS_PROGRAM_OR_NOT=xscreensaver-settings
86 + fi
87 +
88 +
89 +@@ -4306,6 +4309,7 @@ AC_SUBST(INCLUDES)
90 +
91 + AC_SUBST(PREFERRED_DEMO_PROGRAM)
92 + AC_SUBST(ALL_DEMO_PROGRAMS)
93 ++AC_SUBST(SETTINGS_PROGRAM_OR_NOT)
94 + AC_SUBST(SAVER_LIBS)
95 + AC_SUBST(MOTIF_LIBS)
96 + AC_SUBST(GTK_LIBS)
97 +diff --git a/driver/Makefile.in b/driver/Makefile.in
98 +index 0e986a9..1877d8a 100644
99 +--- a/driver/Makefile.in
100 ++++ b/driver/Makefile.in
101 +@@ -212,7 +212,7 @@ TEST_EXES = test-passwd test-uid test-xdpms test-grab \
102 + xdpyinfo test-screens test-yarandom test-xinput \
103 + test-xkb
104 +
105 +-EXES = xscreensaver xscreensaver-command xscreensaver-settings
106 ++EXES = xscreensaver xscreensaver-command @SETTINGS_PROGRAM_OR_NOT@
107 + UTIL_EXES = xscreensaver-gfx @EXES_SYSTEMD@
108 + SETUID_EXES = xscreensaver-auth
109 + DEMO_EXES = @ALL_DEMO_PROGRAMS@
110 +--
111 +2.32.0
112 +
113
114 diff --git a/x11-misc/xscreensaver/xscreensaver-6.01-r2.ebuild b/x11-misc/xscreensaver/xscreensaver-6.01-r2.ebuild
115 new file mode 100644
116 index 00000000000..628041e77c8
117 --- /dev/null
118 +++ b/x11-misc/xscreensaver/xscreensaver-6.01-r2.ebuild
119 @@ -0,0 +1,202 @@
120 +# Copyright 1999-2021 Gentoo Authors
121 +# Distributed under the terms of the GNU General Public License v2
122 +
123 +EAPI=7
124 +inherit autotools flag-o-matic font multilib optfeature pam
125 +
126 +DESCRIPTION="modular screen saver and locker for the X Window System"
127 +HOMEPAGE="https://www.jwz.org/xscreensaver/"
128 +SRC_URI="https://www.jwz.org/xscreensaver/${P}.tar.gz"
129 +
130 +# Font license mapping for folder ./hacks/fonts/ as following:
131 +# clacon.ttf -- MIT
132 +# gallant12x22.ttf -- unclear, hence dropped
133 +# luximr.ttf -- bh-luxi (package media-fonts/font-bh-ttf)
134 +# OCRAStd.otf -- unclear, hence dropped
135 +# SpecialElite.ttf -- Apache-2.0
136 +LICENSE="BSD fonts? ( MIT Apache-2.0 )"
137 +SLOT="0"
138 +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
139 +IUSE="elogind fonts +gdk-pixbuf gdm +gtk jpeg +locking new-login offensive opengl pam +perl selinux suid systemd xinerama"
140 +REQUIRED_USE="
141 + gdk-pixbuf? ( gtk )
142 + elogind? ( !systemd )
143 +"
144 +
145 +COMMON_DEPEND="
146 + dev-libs/libxml2
147 + media-libs/netpbm
148 + virtual/libcrypt:=
149 + x11-apps/appres
150 + x11-apps/xwininfo
151 + x11-libs/libX11
152 + x11-libs/libXext
153 + x11-libs/libXft
154 + x11-libs/libXi
155 + x11-libs/libXmu
156 + x11-libs/libXrandr
157 + x11-libs/libXt
158 + x11-libs/libXxf86vm
159 + elogind? ( sys-auth/elogind )
160 + gdk-pixbuf? (
161 + x11-libs/gdk-pixbuf-xlib
162 + >=x11-libs/gdk-pixbuf-2.42.0:2
163 + )
164 + gtk? ( x11-libs/gtk+:2 )
165 + jpeg? ( virtual/jpeg:0 )
166 + new-login? (
167 + gdm? ( gnome-base/gdm )
168 + !gdm? ( || ( x11-misc/lightdm lxde-base/lxdm ) )
169 + )
170 + opengl? (
171 + virtual/glu
172 + virtual/opengl
173 + )
174 + pam? ( sys-libs/pam )
175 + systemd? ( >=sys-apps/systemd-221 )
176 + xinerama? ( x11-libs/libXinerama )
177 +"
178 +# For USE="perl" see output of `qlist xscreensaver | grep bin | xargs grep '::'`
179 +RDEPEND="
180 + ${COMMON_DEPEND}
181 + media-gfx/fbida
182 + perl? (
183 + dev-lang/perl
184 + dev-perl/libwww-perl
185 + virtual/perl-Digest-MD5
186 + )
187 + selinux? ( sec-policy/selinux-xscreensaver )
188 +"
189 +DEPEND="
190 + ${COMMON_DEPEND}
191 + dev-util/intltool
192 + sys-devel/bc
193 + sys-devel/gettext
194 + virtual/pkgconfig
195 + x11-base/xorg-proto
196 +"
197 +PATCHES=(
198 + "${FILESDIR}"/${PN}-6.01-interix.patch
199 + "${FILESDIR}"/${PN}-5.31-pragma.patch
200 + "${FILESDIR}"/${PN}-6.01-gentoo.patch
201 + "${FILESDIR}"/${PN}-5.45-gcc.patch
202 + "${FILESDIR}"/${PN}-6.01-configure.ac-sandbox.patch
203 + "${FILESDIR}"/${PN}-6.01-without-gl-makefile.patch
204 + "${FILESDIR}"/${PN}-6.01-non-gtk-install.patch
205 + "${FILESDIR}"/${PN}-6.01-gtk-detection.patch
206 +)
207 +
208 +src_prepare() {
209 + sed -i configure.ac -e '/^ALL_LINGUAS=/d' || die
210 + strip-linguas -i po/
211 + export ALL_LINGUAS="${LINGUAS}"
212 +
213 + if use new-login && ! use gdm; then #392967
214 + sed -i \
215 + -e "/default_l.*1/s:gdmflexiserver -ls:${EPREFIX}/usr/libexec/lightdm/&:" \
216 + configure{,.ac} || die
217 + fi
218 +
219 + default
220 +
221 + # We are patching driver/XScreenSaver.ad.in, so let's delete the
222 + # header generated from it so that it gets back in sync during build:
223 + rm driver/XScreenSaver_ad.h || die
224 +
225 + if ! use offensive; then
226 + sed -i \
227 + -e '/boobies/d;/boobs/d;/cock/d;/pussy/d;/viagra/d;/vibrator/d' \
228 + hacks/barcode.c || die
229 + sed -i \
230 + -e 's|erect penis|shuffle board|g' \
231 + -e 's|flaccid penis|flaccid anchor|g' \
232 + -e 's|vagina|engagement ring|g' \
233 + -e 's|Penis|Shuttle|g' \
234 + hacks/glx/glsnake.c || die
235 + sed -i \
236 + 's| Stay.*fucking mask\.$||' \
237 + hacks/glx/covid19.man \
238 + hacks/config/covid19.xml || die
239 + fi
240 +
241 + eapply_user
242 +
243 + eautoconf
244 + eautoheader
245 +}
246 +
247 +src_configure() {
248 + if use ppc || use ppc64; then
249 + filter-flags -maltivec -mabi=altivec
250 + append-flags -U__VEC__
251 + fi
252 +
253 + unset BC_ENV_ARGS #24568
254 +
255 + econf \
256 + $(use_enable locking) \
257 + $(use_with elogind) \
258 + $(use_with gdk-pixbuf pixbuf) \
259 + $(use_with gtk) \
260 + $(use_with jpeg) \
261 + $(use_with new-login login-manager) \
262 + $(use_with opengl gl) \
263 + $(use_with pam) \
264 + $(use_with suid setuid-hacks) \
265 + $(use_with systemd) \
266 + $(use_with xinerama xinerama-ext) \
267 + --with-app-defaults="${EPREFIX}"/usr/share/X11/app-defaults \
268 + --with-configdir="${EPREFIX}"/usr/share/${PN}/config \
269 + --with-dpms-ext \
270 + --with-hackdir="${EPREFIX}"/usr/$(get_libdir)/misc/${PN} \
271 + --with-proc-interrupts \
272 + --with-randr-ext \
273 + --with-text-file="${EPREFIX}"/etc/gentoo-release \
274 + --with-xdbe-ext \
275 + --with-xf86gamma-ext \
276 + --with-xf86vmode-ext \
277 + --with-xinput-ext \
278 + --with-xshm-ext \
279 + --without-gle \
280 + --without-kerberos \
281 + --without-motif \
282 + --x-includes="${EPREFIX}"/usr/include \
283 + --x-libraries="${EPREFIX}"/usr/$(get_libdir)
284 +}
285 +
286 +src_install() {
287 + emake install_prefix="${D}" install
288 +
289 + if use fonts; then
290 + # Do not install fonts with unclear licensing
291 + rm -v "${ED}${FONTDIR}"/{gallant12x22.ttf,OCRAStd.otf} || die
292 +
293 + # Do not duplicate font Luxi Mono (of package media-fonts/font-bh-ttf)
294 + rm -v "${ED}${FONTDIR}"/luximr.ttf || die
295 +
296 + font_xfont_config
297 + else
298 + rm -v "${ED}${FONTDIR}"/*.{ttf,otf} || die
299 + fi
300 +
301 + dodoc README{,.hacking}
302 +
303 + if use pam; then
304 + fperms 755 /usr/bin/${PN}
305 + pamd_mimic_system ${PN} auth
306 + fi
307 +
308 + rm -f "${ED}"/usr/share/${PN}/config/{electricsheep,fireflies}.xml
309 +}
310 +
311 +pkg_postinst() {
312 + use fonts && font_pkg_postinst
313 +
314 + optfeature 'Bitmap fonts 75dpi' media-fonts/font-adobe-75dpi
315 + optfeature 'Bitmap fonts 100dpi' media-fonts/font-adobe-100dpi
316 + optfeature 'Truetype font Luxi Mono' media-fonts/font-bh-ttf
317 +}
318 +
319 +pkg_postrm() {
320 + use fonts && font_pkg_postrm
321 +}