Kei Kebreau <k...@openmailbox.org> 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 <k...@openmailbox.org> > 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