guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] gnu: Add schismtracker.


From: Marius Bakke
Subject: Re: [PATCH] gnu: Add schismtracker.
Date: Sat, 10 Sep 2016 08:34:32 +0100

Kei Kebreau <address@hidden> writes:

> For those who love making tracks, X11 or not!
>
> If someone could look over this (and build it, please!), that would be
> nice. :-)

Thanks for this package! See comments below.

> From 91dbcb5c61de4b4b45f85b3bad8cf9e713c564b0 Mon Sep 17 00:00:00 2001
> From: Kei Kebreau <address@hidden>
> Date: Fri, 9 Sep 2016 18:16:12 -0400
> Subject: [PATCH] gnu: Add schismtracker.
>
> * gnu/packages/music.scm (schismtracker): New variable.
> ---
>  gnu/packages/music.scm | 40 ++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 40 insertions(+)
>
> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index 88743aa..7c11771 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -1638,6 +1638,46 @@ for improved Amiga ProTracker 2/3 compatibility.")
>      ;; 'src/milkyplay' is under Modified BSD, the rest is under GPL3 or 
> later.
>      (license (list license:bsd-3 license:gpl3+))))
>  
> +(define-public schismtracker
> +  (package
> +    (name "schismtracker")
> +    (version "20160521")
> +    (source (origin
> +              (method url-fetch)
> +              (uri (string-append
> +                    "https://github.com/"; name "/" name "/archive/"
> +                    version ".tar.gz"))
> +              (file-name (string-append name "-" version ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0c6r24wm3rldm4j8cskl9xnixj3rwi3lnrhckw5gv43wpy6h4jcz"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-after 'unpack 'autoconf
> +           (lambda _ (zero? (system* "autoreconf" "-vfi"))))
> +         (add-before 'configure 'link-libm
> +           (lambda _ (setenv "LIBS" "-lm"))))))

I believe this should end with a #t, as the return value of setenv is
unspecified.

> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)))
> +    (inputs
> +     `(("alsa-lib" ,alsa-lib) ; for asound dependency
> +       ("libx11" ,libx11)
> +       ("libxext" ,libxext)
> +       ("python" ,python-2)

Python is only used for building some documentation, so it can be moved
to native-inputs. Is there any reason for using python-2?

> +       ("sdl" ,sdl)))
> +    (home-page "http://schismtracker.org";)
> +    (synopsis "Impulse Tracker clone")

I think this should be more generic. The tagline from github works
pretty well: "Oldschool sample-based music composition tool".

The rest LGTM. But! The package records build time in version.c. I
managed to make it reproducible by adding a phase like this:

          (add-before 'build 'make-reproducible
            (lambda _
              ;; Remove use of __DATE__ and __TIME__ for reproducibility.
              (substitute* "schism/version.c"
                (("Schism Tracker built %s %s.*$")
                 (string-append "Schism Tracker version " ,version "\");")))
              #t))

Please add that substitution somewhere. Can you send an updated patch?

Thanks!
Marius

> +    (description
> +     "Schism Tracker is a reimplementation of Impulse Tracker, a program 
> used to
> +create high quality music without the requirements of specialized, expensive
> +equipment, and with a unique \"finger feel\" that is difficult to replicate 
> in
> +part.  The player is based on a highly modified version of the ModPlug 
> engine,
> +with a number of bugfixes and changes to improve IT playback.")
> +    (license license:gpl2+)))
> +
>  (define-public moc
>    (package
>      (name "moc")
> -- 
> 2.10.0



reply via email to

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