From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:470:142:3::10]:43664) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j53m5-0003K6-49 for guix-patches@gnu.org; Fri, 21 Feb 2020 03:35:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j53m2-00016A-Hw for guix-patches@gnu.org; Fri, 21 Feb 2020 03:35:05 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:40359) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j53m2-00014e-Cq for guix-patches@gnu.org; Fri, 21 Feb 2020 03:35:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j53m2-0003PC-5G for guix-patches@gnu.org; Fri, 21 Feb 2020 03:35:02 -0500 Subject: [bug#39710] [PATCH] Add foobillardplus Resent-Message-ID: Received: from eggs.gnu.org ([2001:470:142:3::10]:42835) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j53lo-0003AP-DL for guix-patches@gnu.org; Fri, 21 Feb 2020 03:34:50 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j53lk-0007xk-Gz for guix-patches@gnu.org; Fri, 21 Feb 2020 03:34:47 -0500 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:36105) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1j53lj-00067v-2n for guix-patches@gnu.org; Fri, 21 Feb 2020 03:34:44 -0500 Received: from localhost (40-67.ipv4.commingeshautdebit.fr [185.131.40.67]) (Authenticated sender: admin@nicolasgoaziou.fr) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 57A88E0008 for ; Fri, 21 Feb 2020 08:34:23 +0000 (UTC) From: Nicolas Goaziou Date: Fri, 21 Feb 2020 09:34:23 +0100 Message-ID: <87wo8gfieo.fsf@nicolasgoaziou.fr> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 39710@debbugs.gnu.org --=-=-= Content-Type: text/plain Hello, The following patch adds foobillardplus game. Feedback welcome. Regards, -- Nicolas Goaziou --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-gnu-Add-foobillardplus.patch Content-Transfer-Encoding: 8bit Content-Description: Add foobillardplus >From f54b3ec7e59fb09550ce73443c570098a907267f Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Fri, 21 Feb 2020 09:32:01 +0100 Subject: [PATCH] gnu: Add foobillardplus. * gnu/packages/games.scm (foobillardplus): New variable. * gnu/packages/patches/foobillardplus-pkg-config.patch: New file. * gnu/local.mk: Reference new file. --- gnu/local.mk | 1 + gnu/packages/games.scm | 128 ++++++++++++++++++ .../patches/foobillardplus-pkg-config.patch | 34 +++++ 3 files changed, 163 insertions(+) create mode 100644 gnu/packages/patches/foobillardplus-pkg-config.patch diff --git a/gnu/local.mk b/gnu/local.mk index f2289518e5..db4d7bcab3 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -866,6 +866,7 @@ dist_patch_DATA = \ %D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ %D%/packages/patches/flint-ldconfig.patch \ + %D%/packages/patches/foobillardplus-pkg-config.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ %D%/packages/patches/fribidi-CVE-2019-18397.patch \ diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 12b4cdf125..3b4532e0be 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -597,6 +597,134 @@ regular @command{cat}, but it also adds terminal escape codes between characters and lines resulting in a rainbow effect.") (license license:wtfpl2)))) +(define-public foobillardplus + (let ((svn-revision 170)) + (package + (name "foobillardplus") + (version (string-append "3.43-r" (number->string svn-revision))) + (source + (origin + (method svn-fetch) + (uri (svn-reference + (url "svn://svn.code.sf.net/p/foobillardplus/code/") + (revision svn-revision))) + (file-name (git-file-name name version)) + (sha256 + (base32 "00b693ys5zvzjbjzzj3dqfzm5xw64gwjf9m8qv6bkmf0klbhmayk")) + (patches + (search-patches "foobillardplus-pkg-config.patch")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Unfortunately, the game includes background music with + ;; a non-commercial clause. Delete it. + (for-each delete-file (find-files "data/music" "\\.ogg$")) + #t)))) + (build-system gnu-build-system) + (arguments + `(#:configure-flags + (list + ;; Install data in a less exotic location. + (string-append "--prefix=" (assoc-ref %outputs "out") "/share") + ;; Prevent a build error about undefined trigonometric functions. + "--enable-fastmath=no") + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'fix-makefile + ;; Remove hard-coded directories. Also fix installation + ;; rule: it tries to move around non-existent files or + ;; files already moved. + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.am" + (("/usr") (assoc-ref outputs "out")) + (("cp .*?/foobillardplus\\.desktop.*") "") + (("cp .*?/foobillardplus\\.(png|xbm) \\$\\(datarootdir\\).*") + "")) + #t)) + (add-after 'unpack 'unbundle-font + ;; XXX: The package ships with LinBiolinum_aSB.ttf and + ;; LinBiolinum_aS.ttf, which are not provided in + ;; font-linuxlibertine package. Therefore, we cannot replace + ;; them yet. + (lambda* (#:key inputs #:allow-other-keys) + (let ((dejavu (string-append (assoc-ref inputs "font-dejavu") + "/share/fonts/truetype/"))) + (with-directory-excursion "data" + (for-each (lambda (f) + (delete-file f) + (symlink (string-append dejavu f) f)) + '("DejaVuSans-Bold.ttf" "DejaVuSans.ttf")))) + #t)) + (replace 'bootstrap + (lambda _ + (invoke "aclocal" "--force") + (invoke "autoconf" "-f") + (invoke "autoheader" "-f") + (invoke "automake" "-a" "-c" "-f"))) + (add-before 'build 'prepare-build + ;; Set correct environment for SDL. + (lambda* (#:key inputs #:allow-other-keys) + (setenv "CPATH" + (string-append (assoc-ref inputs "sdl") + "/include/SDL:" + (or (getenv "CPATH") ""))) + #t)) + (add-before 'build 'fix-settings-directory + ;; Hide foobillardplus settings directory in $HOME. + (lambda _ + (substitute* "src/history.c" + (("/foobillardplus-data") "/.foobillardplus")) + #t)) + (add-before 'install 'create-directories + ;; Install process does not create directories before + ;; trying to move file in it. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/share/icons")) + (mkdir-p (string-append out "/share/applications"))) + #t)) + (add-after 'install 'symlink-executable + ;; Symlink executable to $out/bin. + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (mkdir-p bin) + (with-directory-excursion bin + (symlink "../share/foobillardplus/bin/foobillardplus" + "foobillardplus")) + #t)))))) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) + (inputs + `(("font-dejavu" ,font-dejavu) + ("freetype" ,freetype) + ("glu" ,glu) + ("libpng" ,libpng) + ("sdl" ,(sdl-union (list sdl sdl-mixer sdl-net))))) + (home-page "http://foobillardplus.sourceforge.net/") + (synopsis "3D billiard game") + (description "FooBillard++ is an advanced 3D OpenGL billiard game +based on the original foobillard 3.0a sources from Florian Berger. +You can play it with one or two players or against the computer. + +The game features: + +@itemize +@item Wood paneled table with gold covers and gold diamonds. +@item Reflections on balls. +@item Zoom in and out, rotation, different angles and bird's eye view. +@item Different game modes: 8 or 9-ball, Snooker or Carambole. +@item Tournaments. Compete against other players. +@item Animated cue with strength and eccentric hit adjustment. +@item Jump shots and snipping. +@item Realistic gameplay and billiard sounds. +@item Red-Green stereo. +@item And much more. +@end itemize") + (license (list license:gpl2 license:silofl1.1))))) + (define-public freedoom (package (name "freedoom") diff --git a/gnu/packages/patches/foobillardplus-pkg-config.patch b/gnu/packages/patches/foobillardplus-pkg-config.patch new file mode 100644 index 0000000000..7cc40a4777 --- /dev/null +++ b/gnu/packages/patches/foobillardplus-pkg-config.patch @@ -0,0 +1,34 @@ +From: Markus Koschany +Date: Thu, 8 Mar 2018 17:49:24 +0100 +Subject: pkg-config + +Use pkg-config instead of the deprecated freetype-config command. + +Bug-Debian: https://bugs.debian.org/892338 +Forwarded: no +--- + src/Makefile.am | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 3b7d0fe..0f5a5dd 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -158,8 +158,8 @@ endif + SDL_CFLAGS = `sdl-config --cflags` + SDL_LIBS = `sdl-config --libs` + +-FREETYPE_CFLAGS = `freetype-config --cflags` +-FREETYPE_LIBS = `freetype-config --libs` ++FREETYPE_CFLAGS = `pkg-config --cflags freetype2` ++FREETYPE_LIBS = `pkg-config --libs freetype2` + + if USE_MATHSINGLE + MATH_CFLAGS = -DVMATH_SINGLE_PRECISION +@@ -233,4 +233,4 @@ AM_CFLAGS = -Wall ${FREETYPE_CFLAGS} ${SDL_CFLAGS} ${NVIDIA_CFLAGS} ${SOUND_CFLA + ${OPTIMIZATION_CFLAGS} ${USESSE_CFLAGS} ${USEWIN_CFLAGS} ${FASTMATH_CFLAGS} ${DEBIAN_CFLAGS} -lm + + AM_LDFLAGS = ${all_libraries} ${FREETYPE_LIBS} ${SDL_LIBS} +-LDADD = ${LDADD_FLAGS} +\ No newline at end of file ++LDADD = ${LDADD_FLAGS} -- 2.25.0 --=-=-=--