uclibc systems do not have NLS support. However, xscreensaver detects it incorrectly and fails at linking time. Unfortunately, its configure script does not have a --disable-nls option. This patch enabled to build xscreensaver on uclibc Reproducible: Always Steps to Reproduce: 1. Install Lilblue 2. emerge xscreensaver 3. Actual Results: emake failed Expected Results: xscreensaver installed on system
Created attachment 369238 [details, diff] xscreensaver-5.22.ebuild.patch
Comment on attachment 369238 [details, diff] xscreensaver-5.22.ebuild.patch >--- /usr/portage/x11-misc/xscreensaver/xscreensaver-5.22.ebuild 2013-11-23 08:31:38.000000000 -0500 >+++ /usr/local/portage/x11-misc/xscreensaver/xscreensaver-5.22.ebuild 2014-01-25 17:14:27.000000000 There is a more recent ebuild. >-IUSE="gdm jpeg new-login opengl pam +perl selinux suid xinerama" >+IUSE="gdm jpeg new-login opengl pam +perl selinux suid xinerama nls" You ought to keep them sorted alphabetically. > COMMON_DEPEND="dev-libs/libxml2 > >=gnome-base/libglade-2 We should have this in DEPEND, I guess: nls? ( sys-devel/gettext ) Maybe more? >@@ -114,6 +114,8 @@ > --without-kerberos \ > --x-includes="${EPREFIX}"/usr/include \ > --x-libraries="${EPREFIX}"/usr/$(get_libdir) >+ >+ use nls || sed -i -e 's/#define ENABLE_NLS 1/#undef ENABLE_NLS/' ${S}/config.h || die 'NLS disable failed' use ! nls && foo || die?
Created attachment 369918 [details, diff] Second take to the ebuild patch
It looks like version 5.29 no longer needs a patch to build on uclibc. Weird, as there is no mention of NLS in the upstream changelog on http://www.jwz.org/xscreensaver/changelog.html . What is the reason for "append-libs -lpthread" in the5.29 ebuild?
So that's fixed, then?
(In reply to René Rhéaume from comment #4) > What is the reason for "append-libs -lpthread" in the5.29 ebuild? I can't check past ebuilds very well right now, but it would appear that was introduced after 5.26 and before 5.29. The 5.29 sources have an ax_pthread.m4 to deal with this and the 5.26 do not. I have removed the offending line.