commit:     71ae0b143a55fd45d4fd56cff13438cdbc602089
Author:     Pascal Jäger <pascal.jaeger <AT> leimstift <DOT> de>
AuthorDate: Wed Dec  7 16:18:40 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Dec  7 21:29:22 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=71ae0b14

x11-misc/xlockmore: version bump to 5.71, patch

- version bump to 5.71
- patch to fix build on clang16
- add filter-lto

Closes: https://bugs.gentoo.org/880909
Closes: https://bugs.gentoo.org/864761

Signed-off-by: Pascal Jäger <pascal.jaeger <AT> leimstift.de>
Closes: https://github.com/gentoo/gentoo/pull/28590
Signed-off-by: Sam James <sam <AT> gentoo.org>

 x11-misc/xlockmore/Manifest                        |   1 +
 .../xlockmore-5.71-fix-build-for-clang16.patch     |  28 +++++
 x11-misc/xlockmore/xlockmore-5.71.ebuild           | 125 +++++++++++++++++++++
 3 files changed, 154 insertions(+)

diff --git a/x11-misc/xlockmore/Manifest b/x11-misc/xlockmore/Manifest
index 319f4fb8911b..1c67c5eba60b 100644
--- a/x11-misc/xlockmore/Manifest
+++ b/x11-misc/xlockmore/Manifest
@@ -1,2 +1,3 @@
 DIST xlockmore-5.66.tar.xz 1995064 BLAKE2B 
630643f2968a5015dd35b4e1a24cd3d4e7ef9d6d75b0916416e93ab28bacb5a161983b036d9042a5686b2f17ba493ad510e2df9f7443488f9b988662e644ec7a
 SHA512 
d0a4665e23b32cc3370703e55396cd5c9659f836aa13a1737dd709632746cf9221acd66a529b9e05af981e5bef539e70582959b9d821854b93ef735ad1cd928d
 DIST xlockmore-5.69.tar.xz 2008396 BLAKE2B 
69341456769f34c1ac537f382b4baf287b5da47f4620581cbea5ab92749a26467781ebb6d7f3dfa9bd1eedf92d21fb8e501715af681972f06007408a5a44f4e5
 SHA512 
03c5938a7442665a2743894c0daa45f3b38569f2b3c3cf395f0d0f5758f6f873e0ef703936d0846d0210babe52357a398a885f919257efe9a2038c8e06be40b9
+DIST xlockmore-5.71.tar.xz 2048496 BLAKE2B 
417bd4175a483d350cfa098c8a2488f81df9758874c1b53c36a6c2ae23f3b17c942c089d8ecce432f8db244cd8c4df7e79854ff9f2156153ee838ac98f2778ad
 SHA512 
d09cd28dbca37db5e8fa7a388f4d797369b82a856b509414dd6dca5b586506c466b0fb112947a6a0c71e8c8de7cc125ef19c0fa358edc2a521ad38c255946e58

diff --git 
a/x11-misc/xlockmore/files/xlockmore-5.71-fix-build-for-clang16.patch 
b/x11-misc/xlockmore/files/xlockmore-5.71-fix-build-for-clang16.patch
new file mode 100644
index 000000000000..a6bd223373b1
--- /dev/null
+++ b/x11-misc/xlockmore/files/xlockmore-5.71-fix-build-for-clang16.patch
@@ -0,0 +1,28 @@
+Clang16 will not allow assigning imcompatbile function pointer types.
+Therefore this patch adds casts to the function pointers.
+
+Bug: https://bugs.gentoo.org/880909
+This patch has been sent to upstream via mail. 
+
+Pascal Jäger <pascal.jae...@leimstift.de> (2022-12-07)
+
+--- a/xlock/vtlock_proc.c
++++ b/xlock/vtlock_proc.c
+@@ -188,7 +188,7 @@ find_x_proc(int disp_nr, dev_t lxdev, ino_t lxino)
+     lencmd = strlen(xcmd_ref);
+     if ( stat( PROCDIR, &stbuf ) == -1 ) return( (pid_t)-1 );
+     namelist = (struct dirent **) malloc(sizeof (struct dirent *));
+-    if ((names = scan_dir(PROCDIR, &namelist, proc_dir_select, alphasort)) == 
-1 )
++    if ((names = scan_dir(PROCDIR, &namelist, proc_dir_select, (int (*)(const 
void *, const void *))alphasort)) == -1 )
+     {
+       free(namelist);
+       return( (pid_t)-1 );
+@@ -301,7 +301,7 @@ scan_x_fds( struct inode_ref *inotab, int ln_ttys, pid_t 
proc )
+ 
+     (void) sprintf(xfddir, PROCDIR "/%d/fd", proc);
+     namelist = (struct dirent **) malloc(sizeof (struct dirent *));
+-    if (scan_dir(xfddir, &namelist, NULL, alphasort) == -1) {
++    if (scan_dir(xfddir, &namelist, NULL, (int (*)(const void *, const void 
*))alphasort) == -1) {
+         free(namelist);
+         return 0;
+     }

diff --git a/x11-misc/xlockmore/xlockmore-5.71.ebuild 
b/x11-misc/xlockmore/xlockmore-5.71.ebuild
new file mode 100644
index 000000000000..0eebd9e89e6c
--- /dev/null
+++ b/x11-misc/xlockmore/xlockmore-5.71.ebuild
@@ -0,0 +1,125 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic pam
+
+DESCRIPTION="Just another screensaver application for X"
+HOMEPAGE="https://www.sillycycle.com/xlockmore.html";
+SRC_URI="
+       https://www.sillycycle.com/xlock/${P/_alpha/ALPHA}.tar.xz
+       
https://www.sillycycle.com/xlock/recent-releases/${P/_alpha/ALPHA}.tar.xz
+"
+S="${WORKDIR}/${P/_alpha/ALPHA}"
+
+LICENSE="BSD GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="crypt debug gtk imagemagick motif nas opengl pam truetype xinerama 
xlockrc vtlock"
+
+REQUIRED_USE="
+       || ( crypt pam )
+       pam? ( !xlockrc )
+       xlockrc? ( !pam )
+"
+
+BDEPEND="virtual/pkgconfig"
+RDEPEND="
+       x11-libs/libX11
+       x11-libs/libXext
+       x11-libs/libXmu
+       x11-libs/libXpm
+       x11-libs/libXt
+       gtk? ( x11-libs/gtk+:2 )
+       imagemagick? ( media-gfx/imagemagick:= )
+       motif? ( >=x11-libs/motif-2.3:0 )
+       nas? ( media-libs/nas )
+       opengl? (
+               virtual/opengl
+               virtual/glu
+               truetype? ( >=media-libs/ftgl-2.1.3_rc5 )
+       )
+       pam? ( sys-libs/pam )
+       truetype? ( media-libs/freetype:2 )
+       xinerama? ( x11-libs/libXinerama )
+"
+DEPEND="
+       ${RDEPEND}
+       x11-base/xorg-proto
+"
+
+PATCHES=(
+       "${FILESDIR}"/${PN}-5.46-freetype261.patch
+       "${FILESDIR}"/${PN}-5.47-CXX.patch
+       "${FILESDIR}"/${PN}-5.47-strip.patch
+       #"${FILESDIR}"/${PN}-5.64_alpha0-LDFLAGS.patch
+       "${FILESDIR}"/${PN}-5.71-fix-build-for-clang16.patch
+)
+
+src_prepare() {
+       default
+
+       sed -i \
+               -e '/XLOCKLIBPATHS="-L/d' \
+               -e '/XMLOCKLIBPATHS="-L/d' \
+               -e 's|/lib|'"${EPREFIX}/$(get_libdir)"'|g' \
+               configure.ac || die
+
+       eautoreconf
+}
+
+src_configure() {
+       # #864761
+       filter-lto
+
+       local myconf=()
+
+       if use opengl && use truetype; then
+               append-cppflags -DFTGL213
+
+               myconf=( --with-ftgl )
+       else
+               myconf=( --without-ftgl )
+       fi
+
+       myconf+=(
+               $(use_enable pam)
+               $(use_enable xlockrc)
+               $(use_enable vtlock)
+               $(use_with crypt)
+               $(use_with debug editres)
+               $(use_with gtk gtk2)
+               $(use_with imagemagick magick)
+               $(use_with motif)
+               $(use_with nas)
+               $(use_with opengl mesa)
+               $(use_with opengl)
+               $(use_with truetype freetype)
+               $(use_with truetype ttf)
+               $(use_with xinerama)
+               --disable-mb
+               --enable-appdefaultdir=/usr/share/X11/app-defaults
+               --enable-syslog
+               --enable-vtlock
+               --without-esound
+               --without-gtk
+       )
+
+       econf "${myconf[@]}"
+}
+
+src_install() {
+       local DOCS=( README 
docs/{3d.howto,cell_automata,HACKERS.GUIDE,Purify,Revisions,TODO} )
+       default
+
+       if use pam; then
+               pamd_mimic_system xlock auth
+               fperms 755 /usr/bin/xlock
+       else
+               fperms 4755 /usr/bin/xlock
+       fi
+
+       docinto html
+       dodoc docs/xlock.html
+}

Reply via email to