From patchwork Mon Sep 23 08:02:12 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Dawson X-Patchwork-Id: 277115 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from hemlock.osuosl.org (hemlock.osuosl.org [140.211.166.133]) by ozlabs.org (Postfix) with ESMTP id BAF8E2C010C for ; Mon, 23 Sep 2013 18:02:25 +1000 (EST) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id E0F3293C08; Mon, 23 Sep 2013 08:02:28 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JMafMeAFA5NE; Mon, 23 Sep 2013 08:02:27 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by hemlock.osuosl.org (Postfix) with ESMTP id 23E409315E; Mon, 23 Sep 2013 08:02:27 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from whitealder.osuosl.org (whitealder.osuosl.org [140.211.166.138]) by ash.osuosl.org (Postfix) with ESMTP id EF9721BF857 for ; Mon, 23 Sep 2013 08:02:21 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by whitealder.osuosl.org (Postfix) with ESMTP id E47418A3E3 for ; Mon, 23 Sep 2013 08:02:21 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from whitealder.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0ncgtvxc2NpJ for ; Mon, 23 Sep 2013 08:02:20 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-we0-f172.google.com (mail-we0-f172.google.com [74.125.82.172]) by whitealder.osuosl.org (Postfix) with ESMTPS id 53FB78A384 for ; Mon, 23 Sep 2013 08:02:20 +0000 (UTC) Received: by mail-we0-f172.google.com with SMTP id w61so2807007wes.3 for ; Mon, 23 Sep 2013 01:02:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id; bh=WwX3ofCsmiCnv0VkGX2s8LJXoDxr8+QHZ0JR/mNmIyg=; b=WfY1TyD5kFnQ+NQs0XABToxkfIDJEubc3EYqfQ4TkSB6uh+PWwoJeCgImlsm/Kg61C wIWPeREkiviYa87cdc+AHMhN2IPyB9lSI54FvTpOTVNFpDJbwXAp0QNCgdEFDA6YqaWS fWCPqcA5IV6KKfBzNzXjofU5wqCBsyosLWW+SygxWvRpIICEvlnLNzZhEfUnfGYfH3GA FeoJLn3XaqymFzZA8LpgMSZR+I2U2bfQXb9HCnzKxObT2gXeMqmebZWvVFonlW4usEoP rl0hOPdHtIBGqClpN9/9sQuIpWgoSF6ZmSRE9dbjb3b7r8pFJp8VwAhpL2GhR06W97k9 50BA== X-Received: by 10.180.91.16 with SMTP id ca16mr12260383wib.57.1379923338293; Mon, 23 Sep 2013 01:02:18 -0700 (PDT) Received: from localhost.localdomain (host86-134-27-78.range86-134.btcentralplus.com. [86.134.27.78]) by mx.google.com with ESMTPSA id mw9sm7768328wib.0.1969.12.31.16.00.00 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Mon, 23 Sep 2013 01:02:17 -0700 (PDT) From: spdawson@gmail.com To: buildroot@busybox.net Date: Mon, 23 Sep 2013 09:02:12 +0100 Message-Id: <1379923332-14027-1-git-send-email-spdawson@gmail.com> X-Mailer: git-send-email 1.8.1.2 Subject: [Buildroot] [PATCH v2] xscreensaver: new package X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: buildroot-bounces@busybox.net From: Simon Dawson Signed-off-by: Simon Dawson --- v2: Renamed package from xapp_xscreensaver, and moved out of x11r7 package subdirectory; fixed license information, and added an explanatory comment; removed unnecessary include and library path build options package/Config.in | 1 + package/xscreensaver/Config.in | 23 ++++ ...ver-0001-fix-cross-compile-ansi-c-bailout.patch | 29 +++++ ...creensaver-0002-fix-minixpm-build-problem.patch | 134 +++++++++++++++++++++ package/xscreensaver/xscreensaver.mk | 21 ++++ 5 files changed, 208 insertions(+) create mode 100644 package/xscreensaver/Config.in create mode 100644 package/xscreensaver/xscreensaver-0001-fix-cross-compile-ansi-c-bailout.patch create mode 100644 package/xscreensaver/xscreensaver-0002-fix-minixpm-build-problem.patch create mode 100644 package/xscreensaver/xscreensaver.mk diff --git a/package/Config.in b/package/Config.in index 1dd60d1..c6ea66b 100644 --- a/package/Config.in +++ b/package/Config.in @@ -215,6 +215,7 @@ source "package/sylpheed/Config.in" source "package/synergy/Config.in" source "package/torsmo/Config.in" source "package/x11vnc/Config.in" +source "package/xscreensaver/Config.in" source "package/xstroke/Config.in" source "package/xterm/Config.in" source "package/xvkbd/Config.in" diff --git a/package/xscreensaver/Config.in b/package/xscreensaver/Config.in new file mode 100644 index 0000000..a9e6813 --- /dev/null +++ b/package/xscreensaver/Config.in @@ -0,0 +1,23 @@ +config BR2_PACKAGE_XSCREENSAVER + bool "xscreensaver" + depends on BR2_PACKAGE_XORG7 + depends on BR2_INSTALL_LIBSTDCPP # libgtk2->pango + depends on BR2_TOOLCHAIN_HAS_THREADS # libgtk2->glib2 + select BR2_PACKAGE_LIBGTK2 + select BR2_PACKAGE_LIBGLADE + select BR2_PACKAGE_JPEG + select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXT + help + XScreenSaver is the standard screen saver collection shipped on most + Linux and Unix systems running the X11 Window System. + + On X11 systems, XScreenSaver is two things: it is both a large + collection of screen savers; and it is also the framework for + blanking and locking the screen. + + http://www.jwz.org/xscreensaver/ + +comment "xscreensaver requires a toolchain with C++ and thread support enabled" + depends on !(BR2_INSTALL_LIBSTDCPP && BR2_TOOLCHAIN_HAS_THREADS) diff --git a/package/xscreensaver/xscreensaver-0001-fix-cross-compile-ansi-c-bailout.patch b/package/xscreensaver/xscreensaver-0001-fix-cross-compile-ansi-c-bailout.patch new file mode 100644 index 0000000..4d05f03 --- /dev/null +++ b/package/xscreensaver/xscreensaver-0001-fix-cross-compile-ansi-c-bailout.patch @@ -0,0 +1,29 @@ +The configure bails out when cross-compiling, because it is over-cautious +about ANSI support in the C compiler. Work around this by disabling the +bail-out code. + +Signed-off-by: Simon Dawson + +diff -Nurp a/configure b/configure +--- a/configure 2013-07-16 10:23:32.000000000 +0100 ++++ b/configure 2013-09-22 14:50:07.186953454 +0100 +@@ -3537,9 +3537,7 @@ $as_echo "Solaris: adding -D__EXTENSIONS + { $as_echo "$as_me:$LINENO: checking whether the compiler works on ANSI C" >&5 + $as_echo_n "checking whether the compiler works on ANSI C... " >&6; } + if test "$cross_compiling" = yes; then +- { { $as_echo "$as_me:$LINENO: error: Couldn't build even a trivial ANSI C program: check CC." >&5 +-$as_echo "$as_me: error: Couldn't build even a trivial ANSI C program: check CC." >&2;} +- { (exit 1); exit 1; }; } ++ : + else + cat >conftest.$ac_ext <<_ACEOF + /* confdefs.h. */ +@@ -8616,7 +8614,7 @@ fi + $as_echo "$ac_cv_xpointer" >&6; } + if test "$ac_cv_xpointer" != yes; then + cat >>confdefs.h <<\_ACEOF +-#define XPointer char* ++/* #define XPointer char* */ + _ACEOF + + fi diff --git a/package/xscreensaver/xscreensaver-0002-fix-minixpm-build-problem.patch b/package/xscreensaver/xscreensaver-0002-fix-minixpm-build-problem.patch new file mode 100644 index 0000000..842fb20 --- /dev/null +++ b/package/xscreensaver/xscreensaver-0002-fix-minixpm-build-problem.patch @@ -0,0 +1,134 @@ +Fix compile and link errors related to the minixpm code. + +Signed-off-by: Simon Dawson + +diff -Nurp a/hacks/Makefile.in b/hacks/Makefile.in +--- a/hacks/Makefile.in 2013-07-16 10:23:32.000000000 +0100 ++++ b/hacks/Makefile.in 2013-09-22 18:47:56.389238980 +0100 +@@ -73,17 +73,22 @@ UTIL_SRCS = $(UTILS_SRC)/alpha.c $(UTILS + $(UTILS_SRC)/minixpm.c \ + $(UTILS_SRC)/yarandom.c $(UTILS_SRC)/erase.c \ + $(UTILS_SRC)/xshm.c $(UTILS_SRC)/xdbe.c \ +- $(UTILS_SRC)/textclient.c ++ $(UTILS_SRC)/colorbars.c \ ++ $(UTILS_SRC)/fade.c \ ++ $(UTILS_SRC)/textclient.c \ ++ $(UTILS_SRC)/overlay.c + UTIL_OBJS = $(UTILS_BIN)/alpha.o $(UTILS_BIN)/colors.o \ + $(UTILS_BIN)/grabclient.o \ + $(UTILS_BIN)/hsv.o $(UTILS_BIN)/resources.o \ + $(UTILS_BIN)/spline.o $(UTILS_BIN)/usleep.o \ + $(UTILS_BIN)/visual.o $(UTILS_BIN)/logo.o \ +- $(UTILS_SRC)/minixpm.c \ ++ $(UTILS_BIN)/minixpm.o \ + $(UTILS_BIN)/yarandom.o $(UTILS_BIN)/erase.o \ + $(UTILS_BIN)/xshm.o $(UTILS_BIN)/xdbe.o \ + $(UTILS_BIN)/colorbars.o \ +- $(UTILS_SRC)/textclient.o ++ $(UTILS_BIN)/fade.o \ ++ $(UTILS_BIN)/textclient.o \ ++ $(UTILS_BIN)/overlay.o + + SRCS = attraction.c blitspin.c bouboule.c braid.c bubbles.c \ + bubbles-default.c decayscreen.c deco.c drift.c flag.c \ +@@ -559,11 +564,11 @@ xscreensaver-sgigl: xscreensaver-sgigl.c + attraction: attraction.o $(HACK_OBJS) $(COL) $(SPL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS) + +-blitspin: blitspin.o $(HACK_OBJS) $(GRAB) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(XPM) $(XPM_LIBS) ++blitspin: blitspin.o $(HACK_OBJS) $(GRAB) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(XPM) $(MINIXPM) $(XPM_LIBS) + +-bubbles: bubbles.o $(HACK_OBJS) bubbles-default.o $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) bubbles-default.o $(XPM) $(XPM_LIBS) ++bubbles: bubbles.o $(HACK_OBJS) bubbles-default.o $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) bubbles-default.o $(XPM) $(MINIXPM) $(XPM_LIBS) + + decayscreen: decayscreen.o $(HACK_OBJS) $(GRAB) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(HACK_LIBS) +@@ -604,8 +609,8 @@ moire: moire.o $(HACK_OBJS) $(COL) $(S + moire2: moire2.o $(HACK_OBJS) $(COL) $(DBE) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(DBE) $(HACK_LIBS) + +-noseguy: noseguy.o $(HACK_OBJS) $(XPM) $(TEXT) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(XPM) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS) ++noseguy: noseguy.o $(HACK_OBJS) $(XPM) $(TEXT) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(XPM) $(TEXT) $(MINIXPM) $(XPM_LIBS) $(TEXT_LIBS) + + pedal: pedal.o $(HACK_OBJS) $(HSV) $(ERASE) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HSV) $(ERASE) $(HACK_LIBS) +@@ -658,14 +663,14 @@ interference: interference.o $(HACK_OBJ + truchet: truchet.o $(HACK_OBJS) $(COL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) + +-bsod: bsod.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(XPM_LIBS) ++bsod: bsod.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(APPLE2) $(XPM) $(MINIXPM) $(XPM_LIBS) + + apple2: apple2.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) + $(CC_HACK) -o $@ $@.o apple2-main.o $(HACK_OBJS) $(ATV) $(GRAB) $(TEXT) $(XPM_LIBS) $(TEXT_LIBS) + +-xanalogtv: xanalogtv.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS) ++xanalogtv: xanalogtv.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) $(XPM_LIBS) $(HACK_LIBS) + + distort: distort.o $(HACK_OBJS) $(GRAB) $(SHM) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(GRAB) $(SHM) $(HACK_LIBS) +@@ -688,8 +693,8 @@ compass: compass.o $(HACK_OBJS) $(DBE) + squiral: squiral.o $(HACK_OBJS) $(COL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(HACK_LIBS) + +-xflame: xflame.o $(HACK_OBJS) $(SHM) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(XPM) $(XPM_LIBS) ++xflame: xflame.o $(HACK_OBJS) $(SHM) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(SHM) $(XPM) $(MINIXPM) $(XPM_LIBS) + + wander: wander.o $(HACK_OBJS) $(COL) $(ERASE) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(ERASE) $(HACK_LIBS) +@@ -703,8 +708,8 @@ critical: critical.o $(HACK_OBJS) $(COL) + phosphor: phosphor.o $(HACK_OBJS) $(TEXT) $(COL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TEXT) $(COL) $(HACK_LIBS) $(TEXT_LIBS) + +-xmatrix: xmatrix.o $(HACK_OBJS) $(TEXT) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TEXT) $(XPM) $(XPM_LIBS) $(TEXT_LIBS) ++xmatrix: xmatrix.o $(HACK_OBJS) $(TEXT) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(TEXT) $(XPM) $(MINIXPM) $(XPM_LIBS) $(TEXT_LIBS) + + petri: petri.o $(HACK_OBJS) $(COL) $(SPL) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(COL) $(SPL) $(HACK_LIBS) +@@ -787,8 +792,8 @@ cloudlife: cloudlife.o $(HACK_OBJS) $(CO + fontglide: fontglide.o $(HACK_OBJS) $(DBE) $(TEXT) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(DBE) $(TEXT) $(HACK_LIBS) $(TEXT_LIBS) + +-pong: pong.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) +- $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(XPM_LIBS) $(HACK_LIBS) ++pong: pong.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(ATV) $(GRAB) $(XPM) $(MINIXPM) $(XPM_LIBS) $(HACK_LIBS) + + wormhole: wormhole.o $(HACK_OBJS) + $(CC_HACK) -o $@ $@.o $(HACK_OBJS) $(HACK_LIBS) +@@ -856,8 +861,8 @@ braid: braid.o $(XLOCK_OBJS) $(ERASE) + drift: drift.o $(XLOCK_OBJS) $(ERASE) + $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS) + +-flag: flag.o $(XLOCK_OBJS) $(XPM) +- $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(XPM) $(XPM_LIBS) ++flag: flag.o $(XLOCK_OBJS) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(XPM) $(MINIXPM) $(XPM_LIBS) + + forest: forest.o $(XLOCK_OBJS) $(ERASE) + $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(ERASE) $(HACK_LIBS) +@@ -959,8 +964,8 @@ thornbird: thornbird.o $(XLOCK_OBJS) + $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS) + + PACOBJS=pacman_ai.o pacman_level.o +-pacman: pacman.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) +- $(CC_HACK) -o $@ $@.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(XPM_LIBS) ++pacman: pacman.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(MINIXPM) ++ $(CC_HACK) -o $@ $@.o $(PACOBJS) $(XLOCK_OBJS) $(XPM) $(MINIXPM) $(XPM_LIBS) + + fiberlamp: fiberlamp.o $(XLOCK_OBJS) + $(CC_HACK) -o $@ $@.o $(XLOCK_OBJS) $(HACK_LIBS) diff --git a/package/xscreensaver/xscreensaver.mk b/package/xscreensaver/xscreensaver.mk new file mode 100644 index 0000000..d2bc2ed --- /dev/null +++ b/package/xscreensaver/xscreensaver.mk @@ -0,0 +1,21 @@ +################################################################################ +# +# xscreensaver +# +################################################################################ + +XSCREENSAVER_VERSION = 5.22 +XSCREENSAVER_SITE = http://www.jwz.org/xscreensaver + +# N.B. GPLv2+ code (in the hacks/glx subdirectory) is not currently built. +XSCREENSAVER_LICENSE = MIT-like GPLv2+ +XSCREENSAVER_LICENSE_FILES = hacks/screenhack.h hacks/glx/chessmodels.h + +XSCREENSAVER_DEPENDENCIES = jpeg libglade libgtk2 xlib_libX11 xlib_libXt \ + $(if $(BR2_NEEDS_GETTEXT_IF_LOCALE),gettext) + +XSCREENSAVER_CONF_OPT += LIBS=-lintl + +XSCREENSAVER_INSTALL_TARGET_OPT = install_prefix="$(TARGET_DIR)" install + +$(eval $(autotools-package))