guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#28453] [PATCH 5/5] gnu: openttd-opengfx: Change installation direct


From: Arun Isaac
Subject: [bug#28453] [PATCH 5/5] gnu: openttd-opengfx: Change installation directory.
Date: Wed, 20 Sep 2017 01:24:10 +0530

Please find attached an updated patchset.

Changes are as follows:

* Disabled parallel build.
* Included a make-reproducible phase for openttd-opensfx.
* Changed the license for openmsx from cc-sampling+ to gpl2. It was
wrong earlier.
* Changed python dependency to python2-minimal for both openttd-openmsx
and openttd-opensfx.

>From 8e1a146fde935cc1635c7a9f162e95c16871a8cf Mon Sep 17 00:00:00 2001
From: Arun Isaac <address@hidden>
Date: Wed, 13 Sep 2017 22:06:12 +0530
Subject: [PATCH 1/6] gnu: Add catcodec.

* gnu/packages/game-development.scm (catcodec): New variable.
---
 gnu/packages/game-development.scm | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/gnu/packages/game-development.scm 
b/gnu/packages/game-development.scm
index 5633456d4..9916a1cb3 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2017 Tobias Geerinckx-Rice <address@hidden>
 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <address@hidden>
 ;;; Copyright © 2017 Peter Mikkelsen <address@hidden>
+;;; Copyright © 2017 Arun Isaac <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -192,6 +193,31 @@ necessary.
     ;; The MD5 implementation contained in GRFID is under the zlib license.
     (license (list license:gpl2 license:gpl2+ license:zlib))))
 
+(define-public catcodec
+  (package
+    (name "catcodec")
+    (version "1.0.5")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://binaries.openttd.org/extra/catcodec/";
+                           version "/catcodec-" version "-source.tar.xz"))
+       (sha256
+        (base32
+         "1qg0c2i4p29sxj0q6qp2jynlrzm5pphz2xhcjqlxa69ycrnlxzs7"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:tests? #f ; no tests
+       #:make-flags (list (string-append "prefix=" %output))
+       #:phases (modify-phases %standard-phases
+                  (delete 'configure))))
+    (home-page "http://dev.openttdcoop.org/projects/catcodec";)
+    (synopsis "Encode/decode OpenTTD sounds")
+    (description "catcodec encodes and decodes sounds for OpenTTD.  These
+sounds are not much more than some metadata (description and filename) and raw
+PCM data.")
+    (license license:gpl2)))
+
 (define-public gzochi
   (package
     (name "gzochi")
-- 
2.14.1

>From f5c1a501c9ba193178db40d514aa337807cdfefb Mon Sep 17 00:00:00 2001
From: Arun Isaac <address@hidden>
Date: Wed, 13 Sep 2017 22:21:56 +0530
Subject: [PATCH 2/6] licenses: Add CC-Sampling+ 1.0.

* guix/licenses.scm (cc-sampling-plus-1.0): New variable.
---
 guix/licenses.scm | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/guix/licenses.scm b/guix/licenses.scm
index b7dadd975..6de611da2 100644
--- a/guix/licenses.scm
+++ b/guix/licenses.scm
@@ -41,6 +41,7 @@
             cc0
             cc-by2.0 cc-by3.0 cc-by4.0
             cc-by-sa2.0 cc-by-sa3.0 cc-by-sa4.0
+            cc-sampling-plus-1.0
             cddl1.0
             cecill cecill-b cecill-c
             artistic2.0 clarified-artistic
@@ -206,6 +207,11 @@ at URI, which may be a file:// URI pointing the package's 
tree."
            "http://creativecommons.org/licenses/by/2.0/";
            "Creative Commons Attribution 2.0 Generic"))
 
+(define cc-sampling-plus-1.0
+  (license "CC-Sampling+ 1.0"
+           "https://creativecommons.org/licenses/sampling+/1.0";
+           "Creative Commons Sampling Plus 1.0"))
+
 (define cddl1.0
   (license "CDDL 1.0"
            "http://directory.fsf.org/wiki/License:CDDLv1.0";
-- 
2.14.1

>From 3c5f0b4ecbe05f7957c324946ab108fce73dd875 Mon Sep 17 00:00:00 2001
From: Arun Isaac <address@hidden>
Date: Wed, 13 Sep 2017 22:35:02 +0530
Subject: [PATCH 3/6] gnu: Add openttd-opensfx.

* gnu/packages/games.scm (openttd-opensfx): New variable.
---
 gnu/packages/games.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 7bfd05cc7..ed386fc84 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2525,6 +2525,44 @@ OpenGFX provides you with...
 @end enumerate")
     (license license:gpl2)))
 
+(define openttd-opensfx
+  (package
+    (name "openttd-opensfx")
+    (version "0.2.3")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://binaries.openttd.org/extra/opensfx/";
+             version "/opensfx-" version "-source.tar.gz"))
+       (sha256
+        (base32
+         "03jxgp02ks31hmsdh4xh0xcpkb70ds8jakc9pfc1y9vdrdavh4p5"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("catcodec" ,catcodec)
+       ("python" ,python2-minimal)))
+    (arguments
+     `(#:make-flags
+       (list (string-append "INSTALL_DIR=" %output
+                            "/share/games/openttd/baseset/opensfx"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'make-reproducible
+           (lambda _
+             ;; Remove the time dependency of the installed tarball by setting
+             ;; the modification times if its members to 0.
+             (substitute* "scripts/Makefile.def"
+               (("-cf") " address@hidden -cf"))
+             #t))
+         (delete 'configure))))
+    (home-page "http://dev.openttdcoop.org/projects/opensfx";)
+    (synopsis "Base sounds for OpenTTD")
+    (description "OpenSFX is a set of free base sounds for OpenTTD which make
+it possible to play OpenTTD without requiring the proprietary sound files from
+the original Transport Tycoon Deluxe.")
+    (license license:cc-sampling-plus-1.0)))
+
 (define-public openttd
   (package
     (inherit openttd-engine)
-- 
2.14.1

>From 041b20b236b936fea9813d65e2bc76c657f2f7a0 Mon Sep 17 00:00:00 2001
From: Arun Isaac <address@hidden>
Date: Thu, 14 Sep 2017 04:18:03 +0530
Subject: [PATCH 4/6] gnu: Add openttd-openmsx.

* gnu/packages/games.scm (openttd-openmsx): New variable.
---
 gnu/packages/games.scm | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index ed386fc84..891c17ab1 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2563,6 +2563,44 @@ it possible to play OpenTTD without requiring the 
proprietary sound files from
 the original Transport Tycoon Deluxe.")
     (license license:cc-sampling-plus-1.0)))
 
+(define openttd-openmsx
+  (package
+    (name "openttd-openmsx")
+    (version "0.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://binaries.openttd.org/extra/openmsx/";
+             version "/openmsx-" version "-source.tar.gz"))
+       (sha256
+        (base32
+         "0nskq97a6fsv1v6d62zf3yb8whzhqnlh3lap3va3nzvj7csjgf7c"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("python" ,python2-minimal)))
+    (arguments
+     `(#:make-flags
+       (list (string-append "INSTALL_DIR=" %output
+                            "/share/games/openttd/baseset"))
+       #:phases
+       (modify-phases %standard-phases
+         (delete 'configure)
+         (add-after 'install 'post-install
+           ;; Rename openmsx-version to openmsx
+           (lambda* (#:key outputs #:allow-other-keys)
+             (let ((install-directory (string-append (assoc-ref outputs "out")
+                                                     
"/share/games/openttd/baseset")))
+               (rename-file (string-append install-directory "/openmsx-" 
,version)
+                            (string-append install-directory "/openmsx"))
+               #t))))))
+    (home-page "http://dev.openttdcoop.org/projects/openmsx";)
+    (synopsis "Music set for OpenTTD")
+    (description "OpenMSX is a music set for OpenTTD which makes it possible
+to play OpenTTD without requiring the proprietary music from the original
+Transport Tycoon Deluxe.")
+    (license license:gpl2)))
+
 (define-public openttd
   (package
     (inherit openttd-engine)
-- 
2.14.1

>From 63ec3d03804e0dd093472d7e0a7a78be4e6ece5c Mon Sep 17 00:00:00 2001
From: Arun Isaac <address@hidden>
Date: Thu, 14 Sep 2017 04:19:26 +0530
Subject: [PATCH 5/6] gnu: openttd: Include openttd-openmsx and
 openttd-opensfx.

* gnu/packages/games.scm (openttd-opengfx)[arguments]: Change installation
directory from /share/openttd/baseset/opengfx to
/share/games/openttd/baseset/opengfx.
(openttd-engine)[arguments]: Support #:configure-flags keyword argument in
'configure' phase.
(openttd)[inputs]: Add timidity++.
[native-inputs]: Add openttd-openmsx and openttd-opensfx.
[arguments]: Configure with timidity as MIDI player. Install data from
openttd-openmsx and openttd-opensfx.
---
 gnu/packages/games.scm | 57 ++++++++++++++++++++++++++------------------------
 1 file changed, 30 insertions(+), 27 deletions(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 891c17ab1..022a3ca44 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2427,17 +2427,19 @@ and a game metadata scraper.")
          ;; The build process fails if the configure script is passed the
          ;; option "--enable-fast-install".
          (replace 'configure
-           (lambda* (#:key inputs outputs #:allow-other-keys)
+           (lambda* (#:key inputs outputs (configure-flags '())
+                     #:allow-other-keys)
              (let ((out (assoc-ref outputs "out"))
                    (lzo (assoc-ref inputs "lzo")))
                (zero?
-                (system* "./configure"
-                         (string-append "--prefix=" out)
-                         ;; Provide the "lzo" path.
-                         (string-append "--with-liblzo2="
-                                        lzo "/lib/liblzo2.a")
-                         ;; Put the binary in 'bin' instead of 'games'.
-                         "--binary-dir=bin"))))))))
+                (apply system* "./configure"
+                       (string-append "--prefix=" out)
+                       ;; Provide the "lzo" path.
+                       (string-append "--with-liblzo2="
+                                      lzo "/lib/liblzo2.a")
+                       ;; Put the binary in 'bin' instead of 'games'.
+                       "--binary-dir=bin"
+                       configure-flags))))))))
     (native-inputs `(("pkg-config" ,pkg-config)))
     (inputs
      `(("allegro" ,allegro-4)
@@ -2464,10 +2466,6 @@ engine.  When you start it you will be prompted to 
download a graphics set.")
     ;; different terms.
     (license (list license:bsd-3 license:gpl2 license:lgpl2.1+ license:zlib))))
 
-;; TODO Add 'openttd-opengfx' and 'openttd-openmsx' packages and make
-;; 'openttd' a wrapper around them.  The engine is playable by itself,
-;; but it asks a user to download graphics if it's not found.
-
 (define openttd-opengfx
   (package
     (name "openttd-opengfx")
@@ -2485,7 +2483,7 @@ engine.  When you start it you will be prompted to 
download a graphics set.")
      '(#:make-flags (list "CC=gcc"
                           (string-append "INSTALL_DIR="
                                          (assoc-ref %outputs "out")
-                                         "/share/openttd/baseset"))
+                                         
"/share/games/openttd/baseset/opengfx"))
        #:phases
        (modify-phases %standard-phases
          (replace 'configure
@@ -2606,22 +2604,27 @@ Transport Tycoon Deluxe.")
     (inherit openttd-engine)
     (name "openttd")
     (arguments
-     (substitute-keyword-arguments (package-arguments openttd-engine)
-       ((#:phases phases)
-        `(modify-phases ,phases
-           (add-after 'install 'install-data
-             (lambda* (#:key inputs outputs #:allow-other-keys)
-               (let*
-                   ((opengfx (assoc-ref inputs "opengfx"))
-                    (out (assoc-ref outputs "out"))
-                    (gfx-dir
-                     (string-append out
-                                    "/share/games/openttd/baseset/opengfx")))
-                 (mkdir-p gfx-dir)
-                 (copy-recursively opengfx gfx-dir))
-               #t))))))
+     `(#:configure-flags
+       (list (string-append "--with-midi=" (assoc-ref %build-inputs 
"timidity++")
+                            "/bin/timidity"))
+       ,@(substitute-keyword-arguments (package-arguments openttd-engine)
+           ((#:phases phases)
+            `(modify-phases ,phases
+               (add-after 'install 'install-data
+                 (lambda* (#:key inputs outputs #:allow-other-keys)
+                   (for-each
+                    (lambda (input)
+                      (copy-recursively (assoc-ref inputs input)
+                                        (assoc-ref outputs "out")))
+                    (list "opengfx" "openmsx" "opensfx"))
+                   #t)))))))
+    (inputs
+     `(("timidity++" ,timidity++)
+       ,@(package-inputs openttd-engine)))
     (native-inputs
      `(("opengfx" ,openttd-opengfx)
+       ("openmsx" ,openttd-openmsx)
+       ("opensfx" ,openttd-opensfx)
        ,@(package-native-inputs openttd-engine)))))
 
 (define-public pinball
-- 
2.14.1

>From 17f0628c11256f22c536b3723365fc9a1ccdafdd Mon Sep 17 00:00:00 2001
From: Arun Isaac <address@hidden>
Date: Tue, 19 Sep 2017 18:10:27 +0530
Subject: [PATCH 6/6] gnu: openttd-opengfx: Disable parallel build.

* gnu/packages/games.scm (openttd-opengfx)[arguments]: Set #:parallel-build?
to #f.
---
 gnu/packages/games.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index 022a3ca44..aef6f0121 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -2501,7 +2501,8 @@ engine.  When you start it you will be prompted to 
download a graphics set.")
        ;; different software versions than upstream does, some of the md5sums
        ;; are different. However, the package is still reproducible, it's safe
        ;; to disable this test.
-       #:tests? #f))
+       #:tests? #f
+       #:parallel-build? #f))
     (native-inputs `(("dos2unix" ,dos2unix)
                      ("gimp" ,gimp)
                      ("grfcodec" ,grfcodec)
-- 
2.14.1


reply via email to

[Prev in Thread] Current Thread [Next in Thread]