guix-devel
[Top][All Lists]
Advanced

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

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


From: Kei Kebreau
Subject: Re: [bug#28453] [PATCH 5/5] gnu: openttd-opengfx: Change installation directory.
Date: Wed, 20 Sep 2017 14:41:25 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Arun Isaac <address@hidden> 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 <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)

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.

Attachment: signature.asc
Description: PGP signature


reply via email to

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