Arun Isaac writes: > 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 > 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 > ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis > ;;; Copyright © 2017 Peter Mikkelsen > +;;; Copyright © 2017 Arun Isaac > ;;; > ;;; 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 > 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 > 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") " --mtime=@0 -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 > 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 > 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 > 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) LGTM. I'll commit as soon as we get a clear okay on the cc-sampling-plus 1.0 license. I've cc'ed the guix-devel list in hopes of getting quicker feedback.