unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* [PATCH] Add MilkyTracker to Guix
@ 2016-03-25 23:54 kei
  2016-03-26 10:11 ` Nils Gillmann
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: kei @ 2016-03-25 23:54 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 184 bytes --]

The attached is a patch to gnu/packages/music.scm that allows a minimal 
and functional build of MilkyTracker. I'm unsure if this is formatted 
correctly, but I'm willing to learn. :-)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: music.scm.patch --]
[-- Type: text/x-diff; name=music.scm.patch, Size: 1582 bytes --]

--- music.scm.bak	2016-03-25 17:39:35.959715114 -0400
+++ music.scm	2016-03-25 19:39:44.754396091 -0400
@@ -78,6 +78,7 @@
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages texlive)
@@ -1305,3 +1306,26 @@
 of tools for manipulating and accessing your music.")
     (license license:expat)))
 
+(define-public milkytracker
+  (package
+    (name "milkytracker")
+    (version "0.90.86")
+    (source (origin
+	      (method url-fetch)
+	      (uri
+	       (string-append "http://milkytracker.org/files/milkytracker-"
+				  version
+				  ".tar.gz"))
+              (sha256
+               (base32
+                "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags `("--without-alsa" "--without-jack")))
+    (inputs
+     `(("sdl" ,sdl)
+       ("zlib" ,zlib)))
+    (synopsis "MilkyTracker is a free software multi-platform music tracker for composing music in the MOD and XM module file formats.")
+    (description "MilkyTracker is a free software, multi-platform music application for creating .MOD and .XM module files. It attempts to recreate the module replay and user experience of the popular DOS program Fasttracker II, with special playback modes available for improved Amiga ProTracker 2/3 compatibility.")
+    (home-page "http://milkytracker.org/")
+    (license license:gpl3)))

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-25 23:54 [PATCH] Add MilkyTracker to Guix kei
@ 2016-03-26 10:11 ` Nils Gillmann
  2016-03-27  7:23 ` Efraim Flashner
  2016-03-27 14:17 ` Nils Gillmann
  2 siblings, 0 replies; 15+ messages in thread
From: Nils Gillmann @ 2016-03-26 10:11 UTC (permalink / raw)
  To: guix-devel

kei@openmailbox.org writes:

> The attached is a patch to gnu/packages/music.scm that allows a
> minimal and functional build of MilkyTracker. I'm unsure if this is
> formatted correctly, but I'm willing to learn. :-)

Thanks!

For Guix we follow the GNU coding standard for patches, which
also include formated commit messages.
https://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html

This also requires adding a name + email to the header, a legal
name is not necessarily required, it can also be a pseudonym or a
known name you have.

> --- music.scm.bak	2016-03-25 17:39:35.959715114 -0400
> +++ music.scm	2016-03-25 19:39:44.754396091 -0400
> @@ -78,6 +78,7 @@
>    #:use-module (gnu packages rdf)
>    #:use-module (gnu packages readline)
>    #:use-module (gnu packages rsync)
> +  #:use-module (gnu packages sdl)
>    #:use-module (gnu packages tcl)
>    #:use-module (gnu packages texinfo)
>    #:use-module (gnu packages texlive)
> @@ -1305,3 +1306,26 @@
>  of tools for manipulating and accessing your music.")
>      (license license:expat)))
>  
> +(define-public milkytracker
> +  (package
> +    (name "milkytracker")
> +    (version "0.90.86")
> +    (source (origin
> +	      (method url-fetch)
> +	      (uri
> +	       (string-append "http://milkytracker.org/files/milkytracker-"
> +				  version
> +				  ".tar.gz"))

not necessarily wrong, but as you defined a name:
(string-append "http://milkytracker.org/files/"
               name "-" version ".tar.gz")

> +              (sha256
> +               (base32
> +                "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     '(#:configure-flags `("--without-alsa" "--without-jack")))
> +    (inputs
> +     `(("sdl" ,sdl)
> +       ("zlib" ,zlib)))
> +    (synopsis "MilkyTracker is a free software multi-platform  music tracker for composing music in the MOD and XM module file formats.")

I guess you don't use emacs? We have rules defined for line
length etc, I don't know the exact length at the moment,
something around 68 or 70 if I am right.

> +    (description "MilkyTracker is a free software, multi-platform music application for creating .MOD and .XM module files. It attempts to recreate the module replay and user experience of the popular DOS program Fasttracker II, with special playback modes available for improved Amiga ProTracker 2/3 compatibility.")

same.

> +    (home-page "http://milkytracker.org/")
> +    (license license:gpl3)))

I did not testrun it, but that's the stylistic part I can comment
on right now.

-- 
ng
personal contact: http://krosos.sdf.org
EDN: https://wiki.c3d2.de/EDN

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-25 23:54 [PATCH] Add MilkyTracker to Guix kei
  2016-03-26 10:11 ` Nils Gillmann
@ 2016-03-27  7:23 ` Efraim Flashner
  2016-03-28  3:09   ` Kei Yamashita
  2016-03-27 14:17 ` Nils Gillmann
  2 siblings, 1 reply; 15+ messages in thread
From: Efraim Flashner @ 2016-03-27  7:23 UTC (permalink / raw)
  To: kei; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 2312 bytes --]

On Fri, Mar 25, 2016 at 07:54:40PM -0400, kei@openmailbox.org wrote:
> The attached is a patch to gnu/packages/music.scm that allows a minimal and
> functional build of MilkyTracker. I'm unsure if this is formatted correctly,
> but I'm willing to learn. :-)

> --- music.scm.bak	2016-03-25 17:39:35.959715114 -0400
> +++ music.scm	2016-03-25 19:39:44.754396091 -0400
> @@ -78,6 +78,7 @@
>    #:use-module (gnu packages rdf)
>    #:use-module (gnu packages readline)
>    #:use-module (gnu packages rsync)
> +  #:use-module (gnu packages sdl)
>    #:use-module (gnu packages tcl)
>    #:use-module (gnu packages texinfo)
>    #:use-module (gnu packages texlive)
> @@ -1305,3 +1306,26 @@
>  of tools for manipulating and accessing your music.")
>      (license license:expat)))
>  
> +(define-public milkytracker
> +  (package
> +    (name "milkytracker")
> +    (version "0.90.86")
> +    (source (origin
> +	      (method url-fetch)
> +	      (uri
> +	       (string-append "http://milkytracker.org/files/milkytracker-"
> +				  version
> +				  ".tar.gz"))
> +              (sha256
> +               (base32
> +                "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     '(#:configure-flags `("--without-alsa" "--without-jack")))
> +    (inputs
> +     `(("sdl" ,sdl)
> +       ("zlib" ,zlib)))
> +    (synopsis "MilkyTracker is a free software multi-platform music tracker for composing music in the MOD and XM module file formats.")
> +    (description "MilkyTracker is a free software, multi-platform music application for creating .MOD and .XM module files. It attempts to recreate the module replay and user experience of the popular DOS program Fasttracker II, with special playback modes available for improved Amiga ProTracker 2/3 compatibility.")
> +    (home-page "http://milkytracker.org/")
> +    (license license:gpl3)))

In addition to Nil's comments, I was wondering about the configure
flags. Wouldn't it make sense to have either alsa or jack as an input?

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-25 23:54 [PATCH] Add MilkyTracker to Guix kei
  2016-03-26 10:11 ` Nils Gillmann
  2016-03-27  7:23 ` Efraim Flashner
@ 2016-03-27 14:17 ` Nils Gillmann
  2 siblings, 0 replies; 15+ messages in thread
From: Nils Gillmann @ 2016-03-27 14:17 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 362 bytes --]

Forwarded mail, from an offlist message by kei.
Please CC the mailinglist next time or configure your email
client to do so :)





I think this is a bit better. I don't know how to run the tests
required in the link you provided from within my local copy of the guix
source code tree.
(https://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0002-Define-MilkyTracker-in-music.scm.patch --]
[-- Type: text/x-patch; name=0002-Define-MilkyTracker-in-music.scm.patch, Size: 2141 bytes --]

From 3f804b74cadc2c343b9592afdee6142d3d5bc131 Mon Sep 17 00:00:00 2001
From: Kei Yamashita <kei@openmailbox.org>
Date: Sat, 26 Mar 2016 17:26:49 -0400
Subject: [PATCH 2/2] Define MilkyTracker in music.scm

---
 gnu/packages/music.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 672f55d..878603d 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages texlive)
@@ -1304,3 +1305,26 @@ once and for all.  It catalogs your collection, automatically improving its
 metadata as it goes using the MusicBrainz database.  Then it provides a variety
 of tools for manipulating and accessing your music.")
     (license license:expat)))
+
+(define-public milkytracker
+  (package
+    (name "milkytracker")
+    (version "0.90.86")
+    (source (origin
+	      (method url-fetch)
+	      (uri
+	       (string-append "http://milkytracker.org/files/milkytracker-"
+				  name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
+    (build-system gnu-build-system)
+    (arguments
+     '(#:configure-flags `("--without-alsa" "--without-jack")))
+    (inputs
+     `(("sdl" ,sdl)
+       ("zlib" ,zlib)))
+    (synopsis "Multi-platform music tracker for composing music in the MOD and XM module file formats")
+    (description "MilkyTracker is a free software, multi-platform music application for creating .MOD and .XM module files. It attempts to recreate the module replay and user experience of the popular DOS program Fasttracker II, with special playback modes available for improved Amiga ProTracker 2/3 compatibility.")
+    (home-page "http://milkytracker.org/")
+    (license license:gpl3)))
-- 
2.7.3


-- 
ng
personal contact: http://krosos.sdf.org
EDN: https://wiki.c3d2.de/EDN

^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-27  7:23 ` Efraim Flashner
@ 2016-03-28  3:09   ` Kei Yamashita
  2016-03-28 10:46     ` Alex Kost
  0 siblings, 1 reply; 15+ messages in thread
From: Kei Yamashita @ 2016-03-28  3:09 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

On Sun, 27 Mar 2016 10:23:37 +0300
Efraim Flashner <efraim@flashner.co.il> wrote:

> On Fri, Mar 25, 2016 at 07:54:40PM -0400, kei@openmailbox.org wrote:
> > The attached is a patch to gnu/packages/music.scm that allows a
> > minimal and functional build of MilkyTracker. I'm unsure if this is
> > formatted correctly, but I'm willing to learn. :-)  
> 
> > --- music.scm.bak	2016-03-25 17:39:35.959715114 -0400
> > +++ music.scm	2016-03-25 19:39:44.754396091 -0400
> > @@ -78,6 +78,7 @@
> >    #:use-module (gnu packages rdf)
> >    #:use-module (gnu packages readline)
> >    #:use-module (gnu packages rsync)
> > +  #:use-module (gnu packages sdl)
> >    #:use-module (gnu packages tcl)
> >    #:use-module (gnu packages texinfo)
> >    #:use-module (gnu packages texlive)
> > @@ -1305,3 +1306,26 @@
> >  of tools for manipulating and accessing your music.")
> >      (license license:expat)))
> >  
> > +(define-public milkytracker
> > +  (package
> > +    (name "milkytracker")
> > +    (version "0.90.86")
> > +    (source (origin
> > +	      (method url-fetch)
> > +	      (uri
> > +	       (string-append
> > "http://milkytracker.org/files/milkytracker-"
> > +				  version
> > +				  ".tar.gz"))
> > +              (sha256
> > +               (base32
> > +
> > "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
> > +    (build-system gnu-build-system)
> > +    (arguments
> > +     '(#:configure-flags `("--without-alsa" "--without-jack")))
> > +    (inputs
> > +     `(("sdl" ,sdl)
> > +       ("zlib" ,zlib)))
> > +    (synopsis "MilkyTracker is a free software multi-platform
> > music tracker for composing music in the MOD and XM module file
> > formats.")
> > +    (description "MilkyTracker is a free software, multi-platform
> > music application for creating .MOD and .XM module files. It
> > attempts to recreate the module replay and user experience of the
> > popular DOS program Fasttracker II, with special playback modes
> > available for improved Amiga ProTracker 2/3 compatibility.")
> > +    (home-page "http://milkytracker.org/")
> > +    (license license:gpl3)))  
> 
> In addition to Nil's comments, I was wondering about the configure
> flags. Wouldn't it make sense to have either alsa or jack as an input?
> 

Milkytracker works fine without it on my machine. I feel like it's a
matter of allowing the user options or sticking to the minimal build.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-28  3:09   ` Kei Yamashita
@ 2016-03-28 10:46     ` Alex Kost
  2016-03-28 14:26       ` Ricardo Wurmus
  0 siblings, 1 reply; 15+ messages in thread
From: Alex Kost @ 2016-03-28 10:46 UTC (permalink / raw)
  To: Kei Yamashita; +Cc: guix-devel

Kei Yamashita (2016-03-28 06:09 +0300) wrote:

> On Sun, 27 Mar 2016 10:23:37 +0300
> Efraim Flashner <efraim@flashner.co.il> wrote:
>> On Fri, Mar 25, 2016 at 07:54:40PM -0400, kei@openmailbox.org wrote:
[...]
>> > +    (arguments
>> > +     '(#:configure-flags `("--without-alsa" "--without-jack")))
>>
>> In addition to Nil's comments, I was wondering about the configure
>> flags. Wouldn't it make sense to have either alsa or jack as an input?
>
> Milkytracker works fine without it on my machine. I feel like it's a
> matter of allowing the user options or sticking to the minimal build.

In my understanding (I may be wrong) our policy is to provide
full-featured software, so the features shouldn't be disabled without a
reason.  Sometimes we add minimal packages (e.g., "bash-minimal",
"cups-minimal") if they are needed, but this is not such a case.

So I think you should remove these --without-… flags.  And thanks for
contributing!

-- 
Alex

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-28 10:46     ` Alex Kost
@ 2016-03-28 14:26       ` Ricardo Wurmus
  2016-03-28 17:30         ` Kei Yamashita
  0 siblings, 1 reply; 15+ messages in thread
From: Ricardo Wurmus @ 2016-03-28 14:26 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel


Alex Kost <alezost@gmail.com> writes:

> Kei Yamashita (2016-03-28 06:09 +0300) wrote:
>
>> On Sun, 27 Mar 2016 10:23:37 +0300
>> Efraim Flashner <efraim@flashner.co.il> wrote:
>>> On Fri, Mar 25, 2016 at 07:54:40PM -0400, kei@openmailbox.org wrote:
> [...]
>>> > +    (arguments
>>> > +     '(#:configure-flags `("--without-alsa" "--without-jack")))
>>>
>>> In addition to Nil's comments, I was wondering about the configure
>>> flags. Wouldn't it make sense to have either alsa or jack as an input?
>>
>> Milkytracker works fine without it on my machine. I feel like it's a
>> matter of allowing the user options or sticking to the minimal build.
>
> In my understanding (I may be wrong) our policy is to provide
> full-featured software, so the features shouldn't be disabled without a
> reason.  Sometimes we add minimal packages (e.g., "bash-minimal",
> "cups-minimal") if they are needed, but this is not such a case.
>
> So I think you should remove these --without-… flags.  And thanks for
> contributing!

I agree.  Also, JACK and ALSA are ubiquitous among Guix audio/music
packages.  When the programme comes with support for ALSA and JACK
backends by default I think we should not disable it.

~~ Ricardo

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-28 14:26       ` Ricardo Wurmus
@ 2016-03-28 17:30         ` Kei Yamashita
  2016-03-28 17:39           ` Kei Yamashita
  0 siblings, 1 reply; 15+ messages in thread
From: Kei Yamashita @ 2016-03-28 17:30 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1474 bytes --]

On Mon, 28 Mar 2016 16:26:46 +0200
Ricardo Wurmus <rekado@elephly.net> wrote:

> Alex Kost <alezost@gmail.com> writes:
> 
> > Kei Yamashita (2016-03-28 06:09 +0300) wrote:
> >  
> >> On Sun, 27 Mar 2016 10:23:37 +0300
> >> Efraim Flashner <efraim@flashner.co.il> wrote:  
> >>> On Fri, Mar 25, 2016 at 07:54:40PM -0400, kei@openmailbox.org
> >>> wrote:  
> > [...]  
> >>> > +    (arguments
> >>> > +     '(#:configure-flags `("--without-alsa"
> >>> > "--without-jack")))  
> >>>
> >>> In addition to Nil's comments, I was wondering about the configure
> >>> flags. Wouldn't it make sense to have either alsa or jack as an
> >>> input?  
> >>
> >> Milkytracker works fine without it on my machine. I feel like it's
> >> a matter of allowing the user options or sticking to the minimal
> >> build.  
> >
> > In my understanding (I may be wrong) our policy is to provide
> > full-featured software, so the features shouldn't be disabled
> > without a reason.  Sometimes we add minimal packages (e.g.,
> > "bash-minimal", "cups-minimal") if they are needed, but this is not
> > such a case.
> >
> > So I think you should remove these --without-… flags.  And thanks
> > for contributing!  
> 
> I agree.  Also, JACK and ALSA are ubiquitous among Guix audio/music
> packages.  When the programme comes with support for ALSA and JACK
> backends by default I think we should not disable it.
> 
> ~~ Ricardo
> 

Noted. New patch attached.

[-- Attachment #2: 0001-Define-MilkyTracker-in-music.scm.patch --]
[-- Type: application/octet-stream, Size: 4112 bytes --]

From 7c235ad9f4e7c9597cb1c864c529a1c726954c31 Mon Sep 17 00:00:00 2001
From: Kei Yamashita <kei@openmailbox.org>
Date: Mon, 28 Mar 2016 13:26:43 -0400
Subject: [PATCH] Define MilkyTracker in music.scm

---
 gnu/packages/music.scm | 42 ++++++++++++++++++++++++++++++++++--------
 1 file changed, 34 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index adda16a..66f3e72 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages texlive)
@@ -1071,14 +1072,14 @@ computer's keyboard.")
 (define-public qtractor
   (package
     (name "qtractor")
-    (version "0.7.5")
+    (version "0.7.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://downloads.sourceforge.net/qtractor/"
                                   "qtractor-" version ".tar.gz"))
               (sha256
                (base32
-                "0drqzp1rbqmqiwdzc9n3307y8rm882fha3awy5qlvir5ma2mwl80"))))
+                "1vy4297myyqk0k58nzybgvgklckhngpdcnmp98k0rq98dirclbl7"))))
     (build-system gnu-build-system)
     (arguments `(#:tests? #f)) ; no "check" target
     (inputs
@@ -1201,8 +1202,9 @@ MusicBrainz database.")
     (build-system python-build-system)
     (home-page "https://github.com/echonest/pyechonest")
     (synopsis "Python interface to The Echo Nest APIs")
-    (description "Pyechonest is a Python library for the Echo Nest API.  With
-Pyechonest you have Python access to the entire set of API methods including:
+    (description "Pyechonest is an open source Python library for the Echo Nest
+API.  With Pyechonest you have Python access to the entire set of API methods
+including:
 
 @enumerate
 @item artist - search for artists by name, description, or attribute, and get
@@ -1274,16 +1276,13 @@ websites such as Libre.fm.")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-HOME
-           (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp"))))
-         (replace 'check
-           (lambda _ (zero? (system* "nosetests" "-v")))))))
+           (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")))))))
     (native-inputs
      `(("python2-beautifulsoup4" ,python2-beautifulsoup4)
        ("python2-flask" ,python2-flask)
        ("python2-setuptools" ,python2-setuptools)
        ("python2-mock" ,python2-mock)
        ("python2-mpd2" ,python2-mpd2)
-       ("python2-nose" ,python2-nose)
        ("python2-pathlib" ,python2-pathlib)
        ("python2-pyxdg" ,python2-pyxdg)
        ("python2-pyechonest" ,python2-pyechonest)
@@ -1306,3 +1305,30 @@ once and for all.  It catalogs your collection, automatically improving its
 metadata as it goes using the MusicBrainz database.  Then it provides a variety
 of tools for manipulating and accessing your music.")
     (license license:expat)))
+
+(define-public milkytracker
+  (package
+    (name "milkytracker")
+    (version "0.90.86")
+    (source (origin
+	      (method url-fetch)
+	      (uri
+	       (string-append "http://milkytracker.org/files/milkytracker-"
+				  name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("alsa", alsa)
+       ("jack", jack)
+       ("sdl" ,sdl)
+       ("zlib" ,zlib)))
+    (synopsis "Multi-platform, second generation music tracker")
+    (description "MilkyTracker is a free software, multi-platform music
+application for creating .MOD and .XM module files. It attempts to recreate
+the module replay and user experience of the popular DOS program Fasttracker
+II, with special playback modes available for improved Amiga ProTracker 2/3
+compatibility.")
+    (home-page "http://milkytracker.org/")
+    (license license:gpl3)))
-- 
2.7.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-28 17:30         ` Kei Yamashita
@ 2016-03-28 17:39           ` Kei Yamashita
  2016-03-28 17:43             ` Kei Yamashita
  0 siblings, 1 reply; 15+ messages in thread
From: Kei Yamashita @ 2016-03-28 17:39 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1725 bytes --]

On Mon, 28 Mar 2016 13:30:50 -0400
Kei Yamashita <kei@openmailbox.org> wrote:

> On Mon, 28 Mar 2016 16:26:46 +0200
> Ricardo Wurmus <rekado@elephly.net> wrote:
> 
> > Alex Kost <alezost@gmail.com> writes:
> >   
> > > Kei Yamashita (2016-03-28 06:09 +0300) wrote:
> > >    
> > >> On Sun, 27 Mar 2016 10:23:37 +0300
> > >> Efraim Flashner <efraim@flashner.co.il> wrote:    
> > >>> On Fri, Mar 25, 2016 at 07:54:40PM -0400, kei@openmailbox.org
> > >>> wrote:    
> > > [...]    
> > >>> > +    (arguments
> > >>> > +     '(#:configure-flags `("--without-alsa"
> > >>> > "--without-jack")))    
> > >>>
> > >>> In addition to Nil's comments, I was wondering about the
> > >>> configure flags. Wouldn't it make sense to have either alsa or
> > >>> jack as an input?    
> > >>
> > >> Milkytracker works fine without it on my machine. I feel like
> > >> it's a matter of allowing the user options or sticking to the
> > >> minimal build.    
> > >
> > > In my understanding (I may be wrong) our policy is to provide
> > > full-featured software, so the features shouldn't be disabled
> > > without a reason.  Sometimes we add minimal packages (e.g.,
> > > "bash-minimal", "cups-minimal") if they are needed, but this is
> > > not such a case.
> > >
> > > So I think you should remove these --without-… flags.  And thanks
> > > for contributing!    
> > 
> > I agree.  Also, JACK and ALSA are ubiquitous among Guix audio/music
> > packages.  When the programme comes with support for ALSA and JACK
> > backends by default I think we should not disable it.
> > 
> > ~~ Ricardo
> >   
> 
> Noted. New patch attached.

Oh geez, that one doesn't build. Please use this patch instead.

[-- Attachment #2: 0001-Define-MilkyTracker-in-music.scm.patch --]
[-- Type: application/octet-stream, Size: 4122 bytes --]

From 46b97b409000b6caa27f3ad27df7a44ca9e9510c Mon Sep 17 00:00:00 2001
From: Kei Yamashita <kei@openmailbox.org>
Date: Mon, 28 Mar 2016 13:36:26 -0400
Subject: [PATCH] Define MilkyTracker in music.scm

---
 gnu/packages/music.scm | 42 ++++++++++++++++++++++++++++++++++--------
 1 file changed, 34 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index adda16a..23964d5 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages texlive)
@@ -1071,14 +1072,14 @@ computer's keyboard.")
 (define-public qtractor
   (package
     (name "qtractor")
-    (version "0.7.5")
+    (version "0.7.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://downloads.sourceforge.net/qtractor/"
                                   "qtractor-" version ".tar.gz"))
               (sha256
                (base32
-                "0drqzp1rbqmqiwdzc9n3307y8rm882fha3awy5qlvir5ma2mwl80"))))
+                "1vy4297myyqk0k58nzybgvgklckhngpdcnmp98k0rq98dirclbl7"))))
     (build-system gnu-build-system)
     (arguments `(#:tests? #f)) ; no "check" target
     (inputs
@@ -1201,8 +1202,9 @@ MusicBrainz database.")
     (build-system python-build-system)
     (home-page "https://github.com/echonest/pyechonest")
     (synopsis "Python interface to The Echo Nest APIs")
-    (description "Pyechonest is a Python library for the Echo Nest API.  With
-Pyechonest you have Python access to the entire set of API methods including:
+    (description "Pyechonest is an open source Python library for the Echo Nest
+API.  With Pyechonest you have Python access to the entire set of API methods
+including:
 
 @enumerate
 @item artist - search for artists by name, description, or attribute, and get
@@ -1274,16 +1276,13 @@ websites such as Libre.fm.")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-HOME
-           (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp"))))
-         (replace 'check
-           (lambda _ (zero? (system* "nosetests" "-v")))))))
+           (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")))))))
     (native-inputs
      `(("python2-beautifulsoup4" ,python2-beautifulsoup4)
        ("python2-flask" ,python2-flask)
        ("python2-setuptools" ,python2-setuptools)
        ("python2-mock" ,python2-mock)
        ("python2-mpd2" ,python2-mpd2)
-       ("python2-nose" ,python2-nose)
        ("python2-pathlib" ,python2-pathlib)
        ("python2-pyxdg" ,python2-pyxdg)
        ("python2-pyechonest" ,python2-pyechonest)
@@ -1306,3 +1305,30 @@ once and for all.  It catalogs your collection, automatically improving its
 metadata as it goes using the MusicBrainz database.  Then it provides a variety
 of tools for manipulating and accessing your music.")
     (license license:expat)))
+
+(define-public milkytracker
+  (package
+    (name "milkytracker")
+    (version "0.90.86")
+    (source (origin
+	      (method url-fetch)
+	      (uri
+	       (string-append "http://milkytracker.org/files/milkytracker-"
+				  name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("alsa-lib", alsa-lib)
+       ("jack", jack-1)
+       ("sdl" ,sdl)
+       ("zlib" ,zlib)))
+    (synopsis "Multi-platform, second generation music tracker")
+    (description "MilkyTracker is a free software, multi-platform music
+application for creating .MOD and .XM module files. It attempts to recreate
+the module replay and user experience of the popular DOS program Fasttracker
+II, with special playback modes available for improved Amiga ProTracker 2/3
+compatibility.")
+    (home-page "http://milkytracker.org/")
+    (license license:gpl3)))
-- 
2.7.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-28 17:39           ` Kei Yamashita
@ 2016-03-28 17:43             ` Kei Yamashita
  2016-03-28 19:31               ` Kei Yamashita
  2016-03-29  9:52               ` Alex Kost
  0 siblings, 2 replies; 15+ messages in thread
From: Kei Yamashita @ 2016-03-28 17:43 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 1963 bytes --]

On Mon, 28 Mar 2016 13:39:31 -0400
Kei Yamashita <kei@openmailbox.org> wrote:

> On Mon, 28 Mar 2016 13:30:50 -0400
> Kei Yamashita <kei@openmailbox.org> wrote:
> 
> > On Mon, 28 Mar 2016 16:26:46 +0200
> > Ricardo Wurmus <rekado@elephly.net> wrote:
> > 
> > > Alex Kost <alezost@gmail.com> writes:
> > >   
> > > > Kei Yamashita (2016-03-28 06:09 +0300) wrote:
> > > >    
> > > >> On Sun, 27 Mar 2016 10:23:37 +0300
> > > >> Efraim Flashner <efraim@flashner.co.il> wrote:    
> > > >>> On Fri, Mar 25, 2016 at 07:54:40PM -0400, kei@openmailbox.org
> > > >>> wrote:    
> > > > [...]    
> > > >>> > +    (arguments
> > > >>> > +     '(#:configure-flags `("--without-alsa"
> > > >>> > "--without-jack")))    
> > > >>>
> > > >>> In addition to Nil's comments, I was wondering about the
> > > >>> configure flags. Wouldn't it make sense to have either alsa or
> > > >>> jack as an input?    
> > > >>
> > > >> Milkytracker works fine without it on my machine. I feel like
> > > >> it's a matter of allowing the user options or sticking to the
> > > >> minimal build.    
> > > >
> > > > In my understanding (I may be wrong) our policy is to provide
> > > > full-featured software, so the features shouldn't be disabled
> > > > without a reason.  Sometimes we add minimal packages (e.g.,
> > > > "bash-minimal", "cups-minimal") if they are needed, but this is
> > > > not such a case.
> > > >
> > > > So I think you should remove these --without-… flags.  And
> > > > thanks for contributing!    
> > > 
> > > I agree.  Also, JACK and ALSA are ubiquitous among Guix
> > > audio/music packages.  When the programme comes with support for
> > > ALSA and JACK backends by default I think we should not disable
> > > it.
> > > 
> > > ~~ Ricardo
> > >   
> > 
> > Noted. New patch attached.
> 
> Oh geez, that one doesn't build. Please use this patch instead.

Oh, the embarassment. I promise that this one builds.

[-- Attachment #2: 0001-Define-MilkyTracker-in-music.scm.patch --]
[-- Type: application/octet-stream, Size: 4122 bytes --]

From 46b97b409000b6caa27f3ad27df7a44ca9e9510c Mon Sep 17 00:00:00 2001
From: Kei Yamashita <kei@openmailbox.org>
Date: Mon, 28 Mar 2016 13:36:26 -0400
Subject: [PATCH] Define MilkyTracker in music.scm

---
 gnu/packages/music.scm | 42 ++++++++++++++++++++++++++++++++++--------
 1 file changed, 34 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index adda16a..23964d5 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -78,6 +78,7 @@
   #:use-module (gnu packages rdf)
   #:use-module (gnu packages readline)
   #:use-module (gnu packages rsync)
+  #:use-module (gnu packages sdl)
   #:use-module (gnu packages tcl)
   #:use-module (gnu packages texinfo)
   #:use-module (gnu packages texlive)
@@ -1071,14 +1072,14 @@ computer's keyboard.")
 (define-public qtractor
   (package
     (name "qtractor")
-    (version "0.7.5")
+    (version "0.7.3")
     (source (origin
               (method url-fetch)
               (uri (string-append "http://downloads.sourceforge.net/qtractor/"
                                   "qtractor-" version ".tar.gz"))
               (sha256
                (base32
-                "0drqzp1rbqmqiwdzc9n3307y8rm882fha3awy5qlvir5ma2mwl80"))))
+                "1vy4297myyqk0k58nzybgvgklckhngpdcnmp98k0rq98dirclbl7"))))
     (build-system gnu-build-system)
     (arguments `(#:tests? #f)) ; no "check" target
     (inputs
@@ -1201,8 +1202,9 @@ MusicBrainz database.")
     (build-system python-build-system)
     (home-page "https://github.com/echonest/pyechonest")
     (synopsis "Python interface to The Echo Nest APIs")
-    (description "Pyechonest is a Python library for the Echo Nest API.  With
-Pyechonest you have Python access to the entire set of API methods including:
+    (description "Pyechonest is an open source Python library for the Echo Nest
+API.  With Pyechonest you have Python access to the entire set of API methods
+including:
 
 @enumerate
 @item artist - search for artists by name, description, or attribute, and get
@@ -1274,16 +1276,13 @@ websites such as Libre.fm.")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'set-HOME
-           (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp"))))
-         (replace 'check
-           (lambda _ (zero? (system* "nosetests" "-v")))))))
+           (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")))))))
     (native-inputs
      `(("python2-beautifulsoup4" ,python2-beautifulsoup4)
        ("python2-flask" ,python2-flask)
        ("python2-setuptools" ,python2-setuptools)
        ("python2-mock" ,python2-mock)
        ("python2-mpd2" ,python2-mpd2)
-       ("python2-nose" ,python2-nose)
        ("python2-pathlib" ,python2-pathlib)
        ("python2-pyxdg" ,python2-pyxdg)
        ("python2-pyechonest" ,python2-pyechonest)
@@ -1306,3 +1305,30 @@ once and for all.  It catalogs your collection, automatically improving its
 metadata as it goes using the MusicBrainz database.  Then it provides a variety
 of tools for manipulating and accessing your music.")
     (license license:expat)))
+
+(define-public milkytracker
+  (package
+    (name "milkytracker")
+    (version "0.90.86")
+    (source (origin
+	      (method url-fetch)
+	      (uri
+	       (string-append "http://milkytracker.org/files/milkytracker-"
+				  name "-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
+    (build-system gnu-build-system)
+    (inputs
+     `(("alsa-lib", alsa-lib)
+       ("jack", jack-1)
+       ("sdl" ,sdl)
+       ("zlib" ,zlib)))
+    (synopsis "Multi-platform, second generation music tracker")
+    (description "MilkyTracker is a free software, multi-platform music
+application for creating .MOD and .XM module files. It attempts to recreate
+the module replay and user experience of the popular DOS program Fasttracker
+II, with special playback modes available for improved Amiga ProTracker 2/3
+compatibility.")
+    (home-page "http://milkytracker.org/")
+    (license license:gpl3)))
-- 
2.7.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-28 17:43             ` Kei Yamashita
@ 2016-03-28 19:31               ` Kei Yamashita
  2016-03-29  9:52               ` Alex Kost
  1 sibling, 0 replies; 15+ messages in thread
From: Kei Yamashita @ 2016-03-28 19:31 UTC (permalink / raw)
  To: guix-devel

On Mon, 28 Mar 2016 13:43:20 -0400
Kei Yamashita <kei@openmailbox.org> wrote:

> On Mon, 28 Mar 2016 13:39:31 -0400
> Kei Yamashita <kei@openmailbox.org> wrote:
> 
> > On Mon, 28 Mar 2016 13:30:50 -0400
> > Kei Yamashita <kei@openmailbox.org> wrote:
> >   
> > > On Mon, 28 Mar 2016 16:26:46 +0200
> > > Ricardo Wurmus <rekado@elephly.net> wrote:
> > >   
> > > > Alex Kost <alezost@gmail.com> writes:
> > > >     
> > > > > Kei Yamashita (2016-03-28 06:09 +0300) wrote:
> > > > >      
> > > > >> On Sun, 27 Mar 2016 10:23:37 +0300
> > > > >> Efraim Flashner <efraim@flashner.co.il> wrote:      
> > > > >>> On Fri, Mar 25, 2016 at 07:54:40PM -0400,
> > > > >>> kei@openmailbox.org wrote:      
> > > > > [...]      
> > > > >>> > +    (arguments
> > > > >>> > +     '(#:configure-flags `("--without-alsa"
> > > > >>> > "--without-jack")))      
> > > > >>>
> > > > >>> In addition to Nil's comments, I was wondering about the
> > > > >>> configure flags. Wouldn't it make sense to have either alsa
> > > > >>> or jack as an input?      
> > > > >>
> > > > >> Milkytracker works fine without it on my machine. I feel like
> > > > >> it's a matter of allowing the user options or sticking to the
> > > > >> minimal build.      
> > > > >
> > > > > In my understanding (I may be wrong) our policy is to provide
> > > > > full-featured software, so the features shouldn't be disabled
> > > > > without a reason.  Sometimes we add minimal packages (e.g.,
> > > > > "bash-minimal", "cups-minimal") if they are needed, but this
> > > > > is not such a case.
> > > > >
> > > > > So I think you should remove these --without-… flags.  And
> > > > > thanks for contributing!      
> > > > 
> > > > I agree.  Also, JACK and ALSA are ubiquitous among Guix
> > > > audio/music packages.  When the programme comes with support for
> > > > ALSA and JACK backends by default I think we should not disable
> > > > it.
> > > > 
> > > > ~~ Ricardo
> > > >     
> > > 
> > > Noted. New patch attached.  
> > 
> > Oh geez, that one doesn't build. Please use this patch instead.  
> 
> Oh, the embarassment. I promise that this one builds.

Is anyone else having trouble with the ALSA support?

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-28 17:43             ` Kei Yamashita
  2016-03-28 19:31               ` Kei Yamashita
@ 2016-03-29  9:52               ` Alex Kost
  2016-03-30  2:24                 ` Kei Yamashita
  1 sibling, 1 reply; 15+ messages in thread
From: Alex Kost @ 2016-03-29  9:52 UTC (permalink / raw)
  To: Kei Yamashita; +Cc: guix-devel

Kei Yamashita (2016-03-28 22:31 +0300) wrote:
[...]
>> Oh geez, that one doesn't build. Please use this patch instead.
>
> Oh, the embarassment. I promise that this one builds.

Thanks, but I don't see any difference between 3 patches you sent.  Did
you attach the right patch?

> From 46b97b409000b6caa27f3ad27df7a44ca9e9510c Mon Sep 17 00:00:00 2001
> From: Kei Yamashita <kei@openmailbox.org>
> Date: Mon, 28 Mar 2016 13:36:26 -0400
> Subject: [PATCH] Define MilkyTracker in music.scm

The commit message should be:

gnu: Add MilkyTracker.

* gnu/packages/music.scm (milkytracker): New variable.

> ---
>  gnu/packages/music.scm | 42 ++++++++++++++++++++++++++++++++++--------
>  1 file changed, 34 insertions(+), 8 deletions(-)
>
> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index adda16a..23964d5 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -78,6 +78,7 @@
>    #:use-module (gnu packages rdf)
>    #:use-module (gnu packages readline)
>    #:use-module (gnu packages rsync)
> +  #:use-module (gnu packages sdl)
>    #:use-module (gnu packages tcl)
>    #:use-module (gnu packages texinfo)
>    #:use-module (gnu packages texlive)
> @@ -1071,14 +1072,14 @@ computer's keyboard.")
>  (define-public qtractor
>    (package
>      (name "qtractor")
> -    (version "0.7.5")
> +    (version "0.7.3")
>      (source (origin
>                (method url-fetch)
>                (uri (string-append "http://downloads.sourceforge.net/qtractor/"
>                                    "qtractor-" version ".tar.gz"))
>                (sha256
>                 (base32
> -                "0drqzp1rbqmqiwdzc9n3307y8rm882fha3awy5qlvir5ma2mwl80"))))
> +                "1vy4297myyqk0k58nzybgvgklckhngpdcnmp98k0rq98dirclbl7"))))
>      (build-system gnu-build-system)
>      (arguments `(#:tests? #f)) ; no "check" target
>      (inputs
> @@ -1201,8 +1202,9 @@ MusicBrainz database.")
>      (build-system python-build-system)
>      (home-page "https://github.com/echonest/pyechonest")
>      (synopsis "Python interface to The Echo Nest APIs")
> -    (description "Pyechonest is a Python library for the Echo Nest API.  With
> -Pyechonest you have Python access to the entire set of API methods including:
> +    (description "Pyechonest is an open source Python library for the Echo Nest
> +API.  With Pyechonest you have Python access to the entire set of API methods
> +including:
>  
>  @enumerate
>  @item artist - search for artists by name, description, or attribute, and get
> @@ -1274,16 +1276,13 @@ websites such as Libre.fm.")
>         #:phases
>         (modify-phases %standard-phases
>           (add-after 'unpack 'set-HOME
> -           (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp"))))
> -         (replace 'check
> -           (lambda _ (zero? (system* "nosetests" "-v")))))))
> +           (lambda _ (setenv "HOME" (string-append (getcwd) "/tmp")))))))
>      (native-inputs
>       `(("python2-beautifulsoup4" ,python2-beautifulsoup4)
>         ("python2-flask" ,python2-flask)
>         ("python2-setuptools" ,python2-setuptools)
>         ("python2-mock" ,python2-mock)
>         ("python2-mpd2" ,python2-mpd2)
> -       ("python2-nose" ,python2-nose)
>         ("python2-pathlib" ,python2-pathlib)
>         ("python2-pyxdg" ,python2-pyxdg)
>         ("python2-pyechonest" ,python2-pyechonest)

The above 3 hunks should not be a part of this patch.  Somehow you
gathered the changes from commits e0b90db, d3e3468 and 36c2c8c in this
patch.  Could you remove them?

> @@ -1306,3 +1305,30 @@ once and for all.  It catalogs your collection, automatically improving its
>  metadata as it goes using the MusicBrainz database.  Then it provides a variety
>  of tools for manipulating and accessing your music.")
>      (license license:expat)))
> +
> +(define-public milkytracker
> +  (package
> +    (name "milkytracker")
> +    (version "0.90.86")
> +    (source (origin
> +	      (method url-fetch)
> +	      (uri
> +	       (string-append "http://milkytracker.org/files/milkytracker-"
> +				  name "-" version ".tar.gz"))
                              ^^^^
'name' should be aligned at " in the previous line.  But actually there
either shouldn't be 'name' there or ".../milkytracker-" in the previous
line.  Also (I think) we prefer bz2 over gz if it is available.

Please use spaces instead of tabulations in the above lines.  This is
reported by "guix lint milkytracker".

Overall the 'source' field should look like this:

    (source (origin
              (method url-fetch)
              (uri (string-append "http://milkytracker.org/files/"
                                  name "-" version ".tar.bz2"))
              (sha256
               (base32
                "1v9vp8vi24lkagfpr92c128whvakwgrm9pq2zf6ijpl5sh7014zb"))))

> +              (sha256
> +               (base32
> +                "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
> +    (build-system gnu-build-system)
> +    (inputs
> +     `(("alsa-lib", alsa-lib)
                     ^^
Unquoting character (",") should be placed before a symbol without
spaces: ",alsa-lib".

> +       ("jack", jack-1)
and here         ^^

> +       ("sdl" ,sdl)
> +       ("zlib" ,zlib)))
> +    (synopsis "Multi-platform, second generation music tracker")

What does "second generation" mean?  "Multi-platform" probably also
doesn't matter here.  What about:

  "Music tracker for creating module files"

Note: I'm not good at synopsis/description writing, so I hope someone
else look at it as well :-)

> +    (description "MilkyTracker is a free software, multi-platform music

I think there is no need in "free software" here as all software in Guix
is free.

> +application for creating .MOD and .XM module files. It attempts to recreate
                                                      ^^
We use double spaces between sentences.  This is also reported by "guix
lint milkytracker".

> +the module replay and user experience of the popular DOS program Fasttracker
> +II, with special playback modes available for improved Amiga ProTracker 2/3
> +compatibility.")
> +    (home-page "http://milkytracker.org/")
> +    (license license:gpl3)))


After all, the build failed for me:

...
g++  -g -O2   -o milkytracker AnimatedFXControl.o ColorExportImport.o ColorPaletteContainer.o DialogChannelSelector.o DialogEQ.o DialogGroupSelection.o DialogHandlers.o DialogListBox.o DialogPanning.o DialogQuickChooseInstrument.o DialogResample.o DialogWithValues.o DialogZap.o EQConstants.o EditorBase.o EnvelopeContainer.o EnvelopeEditor.o EnvelopeEditorControl.o Equalizer.o FileExtProvider.o FileIdentificator.o GlobalColorConfig.o InputControlListener.o LogoBig.o LogoSmall.o ModuleEditor.o ModuleServices.o PatternEditor.o PatternEditorClipBoard.o PatternEditorControl.o PatternEditorControlEventListener.o PatternEditorControlKeyboard.o PatternEditorControlTransposeHandler.o PatternEditorTools.o PatternTools.o PeakLevelControl.o Piano.o PianoControl.o PlayerController.o PlayerLogic.o PlayerMaster.o RecPosProvider.o RecorderLogic.o ResamplerHelper.o SampleEditor.o SampleEditorControl.o SampleEditorControlToolHandler.o SampleEditorResampler.o SamplePlayer.o ScopesControl.o SectionAbout.o SectionAbstract.o SectionAdvancedEdit.o SectionDiskMenu.o SectionHDRecorder.o SectionInstruments.o SectionOptimize.o SectionQuickOptions.o SectionSamples.o SectionSettings.o SectionSwitcher.o SectionTranspose.o SectionUpperLeft.o SongLengthEstimator.o SystemMessage.o TabHeaderControl.o TabManager.o TabTitleProvider.o TitlePageManager.o ToolInvokeHelper.o Tracker.o TrackerConfig.o TrackerInit.o TrackerKeyboard.o TrackerSettings.o TrackerSettingsDatabase.o TrackerShortCuts.o TrackerShutDown.o TrackerStartUp.o TrackerUpdate.o Undo.o VRand.o Zapper.o sdl/SDL_KeyTranslation.o sdl/SDL_Main.o ../../src/milkyplay/libmilkyplay.a ../../src/ppui/osinterface/libosinterface.a ../../src/ppui/libppui.a ../../src/ppui/osinterface/libosinterface.a ../../src/fx/libfx.a ../../src/compression/Decompressor.o ../../src/compression/DecompressorGZIP.o ../../src/compression/DecompressorLHA.o ../../src/compression/DecompressorPP20.o ../../src/compression/DecompressorUMX.o ../../src/compression/DecompressorZIP.o ../../src/compression/zziplib/MyIO.o ../../src/compression/PP20.o ../../src/compression/ZipExtractor.o ../../src/compression/lha/unlha.o ../midi/libmidi.a -L/gnu/store/2x7wd0lz3pqa0wm17y1byvxl47r82pfi-sdl-1.2.15/lib -Wl,-rpath,/gnu/store/2x7wd0lz3pqa0wm17y1byvxl47r82pfi-sdl-1.2.15/lib -lSDL -lpthread ../../src/compression/zziplib/generic/libzzip.a  -ldl -lz 
../../src/ppui/osinterface/libosinterface.a(PPSystem_POSIX.o): In function `System::getTempFileName()':
/tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86/src/ppui/osinterface/posix/PPSystem_POSIX.cpp:64: warning: the use of `tmpnam' is dangerous, better use `mkstemp'
ld: ../midi/libmidi.a(RtMidi.o): undefined reference to symbol 'snd_seq_event_input_pending@@ALSA_0.9'
/gnu/store/pv2xg14lgghxfpl7jhirc7dp0m3172js-alsa-lib-1.0.27.1/lib/libasound.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Makefile:400: recipe for target 'milkytracker' failed
make[3]: *** [milkytracker] Error 1
make[3]: Leaving directory '/tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86/src/tracker'
Makefile:194: recipe for target 'all-recursive' failed
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory '/tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86/src'
Makefile:364: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86'
Makefile:303: recipe for target 'all' failed

I don't know what to do with this :-(

-- 
Alex

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-29  9:52               ` Alex Kost
@ 2016-03-30  2:24                 ` Kei Yamashita
  2016-03-30  2:36                   ` Leo Famulari
  2016-03-30 20:52                   ` Alex Kost
  0 siblings, 2 replies; 15+ messages in thread
From: Kei Yamashita @ 2016-03-30  2:24 UTC (permalink / raw)
  To: Alex Kost; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 10620 bytes --]

On Tue, 29 Mar 2016 12:52:49 +0300
Alex Kost <alezost@gmail.com> wrote:

> Kei Yamashita (2016-03-28 22:31 +0300) wrote:
> [...]
> >> Oh geez, that one doesn't build. Please use this patch instead.  
> >
> > Oh, the embarassment. I promise that this one builds.  
> 
> Thanks, but I don't see any difference between 3 patches you sent.
> Did you attach the right patch?
> 
> > From 46b97b409000b6caa27f3ad27df7a44ca9e9510c Mon Sep 17 00:00:00
> > 2001 From: Kei Yamashita <kei@openmailbox.org>
> > Date: Mon, 28 Mar 2016 13:36:26 -0400
> > Subject: [PATCH] Define MilkyTracker in music.scm  
> 
> The commit message should be:
> 
> gnu: Add MilkyTracker.
> 
> * gnu/packages/music.scm (milkytracker): New variable.
> 
> > ---
> >  gnu/packages/music.scm | 42
> > ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34
> > insertions(+), 8 deletions(-)
> >
> > diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> > index adda16a..23964d5 100644
> > --- a/gnu/packages/music.scm
> > +++ b/gnu/packages/music.scm
> > @@ -78,6 +78,7 @@
> >    #:use-module (gnu packages rdf)
> >    #:use-module (gnu packages readline)
> >    #:use-module (gnu packages rsync)
> > +  #:use-module (gnu packages sdl)
> >    #:use-module (gnu packages tcl)
> >    #:use-module (gnu packages texinfo)
> >    #:use-module (gnu packages texlive)
> > @@ -1071,14 +1072,14 @@ computer's keyboard.")
> >  (define-public qtractor
> >    (package
> >      (name "qtractor")
> > -    (version "0.7.5")
> > +    (version "0.7.3")
> >      (source (origin
> >                (method url-fetch)
> >                (uri (string-append
> > "http://downloads.sourceforge.net/qtractor/" "qtractor-" version
> > ".tar.gz")) (sha256
> >                 (base32
> > -
> > "0drqzp1rbqmqiwdzc9n3307y8rm882fha3awy5qlvir5ma2mwl80"))))
> > +
> > "1vy4297myyqk0k58nzybgvgklckhngpdcnmp98k0rq98dirclbl7"))))
> > (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no
> > "check" target (inputs
> > @@ -1201,8 +1202,9 @@ MusicBrainz database.")
> >      (build-system python-build-system)
> >      (home-page "https://github.com/echonest/pyechonest")
> >      (synopsis "Python interface to The Echo Nest APIs")
> > -    (description "Pyechonest is a Python library for the Echo Nest
> > API.  With -Pyechonest you have Python access to the entire set of
> > API methods including:
> > +    (description "Pyechonest is an open source Python library for
> > the Echo Nest +API.  With Pyechonest you have Python access to the
> > entire set of API methods +including:
> >  
> >  @enumerate
> >  @item artist - search for artists by name, description, or
> > attribute, and get @@ -1274,16 +1276,13 @@ websites such as
> > Libre.fm.") #:phases
> >         (modify-phases %standard-phases
> >           (add-after 'unpack 'set-HOME
> > -           (lambda _ (setenv "HOME" (string-append (getcwd)
> > "/tmp"))))
> > -         (replace 'check
> > -           (lambda _ (zero? (system* "nosetests" "-v")))))))
> > +           (lambda _ (setenv "HOME" (string-append (getcwd)
> > "/tmp"))))))) (native-inputs
> >       `(("python2-beautifulsoup4" ,python2-beautifulsoup4)
> >         ("python2-flask" ,python2-flask)
> >         ("python2-setuptools" ,python2-setuptools)
> >         ("python2-mock" ,python2-mock)
> >         ("python2-mpd2" ,python2-mpd2)
> > -       ("python2-nose" ,python2-nose)
> >         ("python2-pathlib" ,python2-pathlib)
> >         ("python2-pyxdg" ,python2-pyxdg)
> >         ("python2-pyechonest" ,python2-pyechonest)  
> 
> The above 3 hunks should not be a part of this patch.  Somehow you
> gathered the changes from commits e0b90db, d3e3468 and 36c2c8c in this
> patch.  Could you remove them?
> 
> > @@ -1306,3 +1305,30 @@ once and for all.  It catalogs your
> > collection, automatically improving its metadata as it goes using
> > the MusicBrainz database.  Then it provides a variety of tools for
> > manipulating and accessing your music.") (license license:expat)))
> > +
> > +(define-public milkytracker
> > +  (package
> > +    (name "milkytracker")
> > +    (version "0.90.86")
> > +    (source (origin
> > +	      (method url-fetch)
> > +	      (uri
> > +	       (string-append
> > "http://milkytracker.org/files/milkytracker-"
> > +				  name "-" version ".tar.gz"))  
>                               ^^^^
> 'name' should be aligned at " in the previous line.  But actually
> there either shouldn't be 'name' there or ".../milkytracker-" in the
> previous line.  Also (I think) we prefer bz2 over gz if it is
> available.
> 
> Please use spaces instead of tabulations in the above lines.  This is
> reported by "guix lint milkytracker".
> 
> Overall the 'source' field should look like this:
> 
>     (source (origin
>               (method url-fetch)
>               (uri (string-append "http://milkytracker.org/files/"
>                                   name "-" version ".tar.bz2"))
>               (sha256
>                (base32
>                 "1v9vp8vi24lkagfpr92c128whvakwgrm9pq2zf6ijpl5sh7014zb"))))
> 
> > +              (sha256
> > +               (base32
> > +
> > "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
> > +    (build-system gnu-build-system)
> > +    (inputs
> > +     `(("alsa-lib", alsa-lib)  
>                      ^^
> Unquoting character (",") should be placed before a symbol without
> spaces: ",alsa-lib".
> 
> > +       ("jack", jack-1)  
> and here         ^^
> 
> > +       ("sdl" ,sdl)
> > +       ("zlib" ,zlib)))
> > +    (synopsis "Multi-platform, second generation music tracker")  
> 
> What does "second generation" mean?  "Multi-platform" probably also
> doesn't matter here.  What about:
> 
>   "Music tracker for creating module files"
> 
> Note: I'm not good at synopsis/description writing, so I hope someone
> else look at it as well :-)
> 
> > +    (description "MilkyTracker is a free software, multi-platform
> > music  
> 
> I think there is no need in "free software" here as all software in
> Guix is free.
> 
> > +application for creating .MOD and .XM module files. It attempts to
> > recreate  
>                                                       ^^
> We use double spaces between sentences.  This is also reported by
> "guix lint milkytracker".
> 
> > +the module replay and user experience of the popular DOS program
> > Fasttracker +II, with special playback modes available for improved
> > Amiga ProTracker 2/3 +compatibility.")
> > +    (home-page "http://milkytracker.org/")
> > +    (license license:gpl3)))  
> 
> 
> After all, the build failed for me:
> 
> ...
> g++  -g -O2   -o milkytracker AnimatedFXControl.o ColorExportImport.o
> ColorPaletteContainer.o DialogChannelSelector.o DialogEQ.o
> DialogGroupSelection.o DialogHandlers.o DialogListBox.o
> DialogPanning.o DialogQuickChooseInstrument.o DialogResample.o
> DialogWithValues.o DialogZap.o EQConstants.o EditorBase.o
> EnvelopeContainer.o EnvelopeEditor.o EnvelopeEditorControl.o
> Equalizer.o FileExtProvider.o FileIdentificator.o GlobalColorConfig.o
> InputControlListener.o LogoBig.o LogoSmall.o ModuleEditor.o
> ModuleServices.o PatternEditor.o PatternEditorClipBoard.o
> PatternEditorControl.o PatternEditorControlEventListener.o
> PatternEditorControlKeyboard.o PatternEditorControlTransposeHandler.o
> PatternEditorTools.o PatternTools.o PeakLevelControl.o Piano.o
> PianoControl.o PlayerController.o PlayerLogic.o PlayerMaster.o
> RecPosProvider.o RecorderLogic.o ResamplerHelper.o SampleEditor.o
> SampleEditorControl.o SampleEditorControlToolHandler.o
> SampleEditorResampler.o SamplePlayer.o ScopesControl.o SectionAbout.o
> SectionAbstract.o SectionAdvancedEdit.o SectionDiskMenu.o
> SectionHDRecorder.o SectionInstruments.o SectionOptimize.o
> SectionQuickOptions.o SectionSamples.o SectionSettings.o
> SectionSwitcher.o SectionTranspose.o SectionUpperLeft.o
> SongLengthEstimator.o SystemMessage.o TabHeaderControl.o TabManager.o
> TabTitleProvider.o TitlePageManager.o ToolInvokeHelper.o Tracker.o
> TrackerConfig.o TrackerInit.o TrackerKeyboard.o TrackerSettings.o
> TrackerSettingsDatabase.o TrackerShortCuts.o TrackerShutDown.o
> TrackerStartUp.o TrackerUpdate.o Undo.o VRand.o Zapper.o
> sdl/SDL_KeyTranslation.o
> sdl/SDL_Main.o ../../src/milkyplay/libmilkyplay.a ../../src/ppui/osinterface/libosinterface.a ../../src/ppui/libppui.a ../../src/ppui/osinterface/libosinterface.a ../../src/fx/libfx.a ../../src/compression/Decompressor.o ../../src/compression/DecompressorGZIP.o ../../src/compression/DecompressorLHA.o ../../src/compression/DecompressorPP20.o ../../src/compression/DecompressorUMX.o ../../src/compression/DecompressorZIP.o ../../src/compression/zziplib/MyIO.o ../../src/compression/PP20.o ../../src/compression/ZipExtractor.o ../../src/compression/lha/unlha.o ../midi/libmidi.a
> -L/gnu/store/2x7wd0lz3pqa0wm17y1byvxl47r82pfi-sdl-1.2.15/lib
> -Wl,-rpath,/gnu/store/2x7wd0lz3pqa0wm17y1byvxl47r82pfi-sdl-1.2.15/lib
> -lSDL -lpthread ../../src/compression/zziplib/generic/libzzip.a  -ldl
> -lz ../../src/ppui/osinterface/libosinterface.a(PPSystem_POSIX.o): In
> function
> `System::getTempFileName()': /tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86/src/ppui/osinterface/posix/PPSystem_POSIX.cpp:64:
> warning: the use of `tmpnam' is dangerous, better use `mkstemp'
> ld: ../midi/libmidi.a(RtMidi.o): undefined reference to symbol
> 'snd_seq_event_input_pending@@ALSA_0.9' /gnu/store/pv2xg14lgghxfpl7jhirc7dp0m3172js-alsa-lib-1.0.27.1/lib/libasound.so.2:
> error adding symbols: DSO missing from command line collect2: error:
> ld returned 1 exit status Makefile:400: recipe for target
> 'milkytracker' failed make[3]: *** [milkytracker] Error 1 make[3]:
> Leaving directory
> '/tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86/src/tracker'
> Makefile:194: recipe for target 'all-recursive' failed make[2]: ***
> [all-recursive] Error 1 make[2]: Leaving directory
> '/tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86/src'
> Makefile:364: recipe for target 'all-recursive' failed make[1]: ***
> [all-recursive] Error 1 make[1]: Leaving directory
> '/tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86'
> Makefile:303: recipe for target 'all' failed
> 
> I don't know what to do with this :-(
> 

Alright! This patch adds MilkyTracker successfully. It builds with
both ALSA and JACK support. I took a look at the PKGBUILD from Arch
Linux and the port dependencies from FreeBSD to make sure I had
everything in order. Hopefully it is clean as far as syntax and guix
standards go. If you could show me how you managed to get guix lint to
run on this file, that would be great.

[-- Attachment #2: 0001-gnu-Add-MilkyTracker.patch --]
[-- Type: application/octet-stream, Size: 1896 bytes --]

From e3a393da0ee6d0a22d4077a6f83601a8a246def3 Mon Sep 17 00:00:00 2001
From: Kei Yamashita <kei@openmailbox.org>
Date: Tue, 29 Mar 2016 22:17:21 -0400
Subject: [PATCH] gnu: Add MilkyTracker.

* gnu/packages/music.scm (milkytracker): New variable.
---
 gnu/packages/music.scm | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index adda16a..9794c17 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1306,3 +1306,33 @@ once and for all.  It catalogs your collection, automatically improving its
 metadata as it goes using the MusicBrainz database.  Then it provides a variety
 of tools for manipulating and accessing your music.")
     (license license:expat)))
+
+(define-public milkytracker
+  (package
+    (name "milkytracker")
+    (version "0.90.86")
+    (source (origin
+	      (method url-fetch)
+              (uri (string-append "http://milkytracker.org/files/"
+                                  name "-" version ".tar.bz2"))
+              
+              (sha256
+               (base32
+                "1v9vp8vi24lkagfpr92c128whvakwgrm9pq2zf6ijpl5sh7014zb"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:make-flags '("CXXFLAGS=-lasound")))
+    (inputs
+     `(("alsa-lib" ,alsa-lib)
+       ("jack" ,jack-1)
+       ("sdl" ,sdl)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (synopsis "Music tracker for working with .MOD/.XM module files")
+    (description "MilkyTracker is a music application for creating .MOD and .XM
+module files.  It attempts to recreate the module replay and user experience of
+the popular DOS program Fasttracker II, with special playback modes available
+for improved Amiga ProTracker 2/3 compatibility.")
+    (home-page "http://milkytracker.org/")
+    (license license:gpl3)))
-- 
2.7.3


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-30  2:24                 ` Kei Yamashita
@ 2016-03-30  2:36                   ` Leo Famulari
  2016-03-30 20:52                   ` Alex Kost
  1 sibling, 0 replies; 15+ messages in thread
From: Leo Famulari @ 2016-03-30  2:36 UTC (permalink / raw)
  To: Kei Yamashita; +Cc: guix-devel, Alex Kost

On Tue, Mar 29, 2016 at 10:24:41PM -0400, Kei Yamashita wrote:
> On Tue, 29 Mar 2016 12:52:49 +0300
> Alex Kost <alezost@gmail.com> wrote:
> 
> > Kei Yamashita (2016-03-28 22:31 +0300) wrote:
> > [...]
> > >> Oh geez, that one doesn't build. Please use this patch instead.  
> > >
> > > Oh, the embarassment. I promise that this one builds.  
> > 
> > Thanks, but I don't see any difference between 3 patches you sent.
> > Did you attach the right patch?
> > 
> > > From 46b97b409000b6caa27f3ad27df7a44ca9e9510c Mon Sep 17 00:00:00
> > > 2001 From: Kei Yamashita <kei@openmailbox.org>
> > > Date: Mon, 28 Mar 2016 13:36:26 -0400
> > > Subject: [PATCH] Define MilkyTracker in music.scm  
> > 
> > The commit message should be:
> > 
> > gnu: Add MilkyTracker.
> > 
> > * gnu/packages/music.scm (milkytracker): New variable.
> > 
> > > ---
> > >  gnu/packages/music.scm | 42
> > > ++++++++++++++++++++++++++++++++++-------- 1 file changed, 34
> > > insertions(+), 8 deletions(-)
> > >
> > > diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> > > index adda16a..23964d5 100644
> > > --- a/gnu/packages/music.scm
> > > +++ b/gnu/packages/music.scm
> > > @@ -78,6 +78,7 @@
> > >    #:use-module (gnu packages rdf)
> > >    #:use-module (gnu packages readline)
> > >    #:use-module (gnu packages rsync)
> > > +  #:use-module (gnu packages sdl)
> > >    #:use-module (gnu packages tcl)
> > >    #:use-module (gnu packages texinfo)
> > >    #:use-module (gnu packages texlive)
> > > @@ -1071,14 +1072,14 @@ computer's keyboard.")
> > >  (define-public qtractor
> > >    (package
> > >      (name "qtractor")
> > > -    (version "0.7.5")
> > > +    (version "0.7.3")
> > >      (source (origin
> > >                (method url-fetch)
> > >                (uri (string-append
> > > "http://downloads.sourceforge.net/qtractor/" "qtractor-" version
> > > ".tar.gz")) (sha256
> > >                 (base32
> > > -
> > > "0drqzp1rbqmqiwdzc9n3307y8rm882fha3awy5qlvir5ma2mwl80"))))
> > > +
> > > "1vy4297myyqk0k58nzybgvgklckhngpdcnmp98k0rq98dirclbl7"))))
> > > (build-system gnu-build-system) (arguments `(#:tests? #f)) ; no
> > > "check" target (inputs
> > > @@ -1201,8 +1202,9 @@ MusicBrainz database.")
> > >      (build-system python-build-system)
> > >      (home-page "https://github.com/echonest/pyechonest")
> > >      (synopsis "Python interface to The Echo Nest APIs")
> > > -    (description "Pyechonest is a Python library for the Echo Nest
> > > API.  With -Pyechonest you have Python access to the entire set of
> > > API methods including:
> > > +    (description "Pyechonest is an open source Python library for
> > > the Echo Nest +API.  With Pyechonest you have Python access to the
> > > entire set of API methods +including:
> > >  
> > >  @enumerate
> > >  @item artist - search for artists by name, description, or
> > > attribute, and get @@ -1274,16 +1276,13 @@ websites such as
> > > Libre.fm.") #:phases
> > >         (modify-phases %standard-phases
> > >           (add-after 'unpack 'set-HOME
> > > -           (lambda _ (setenv "HOME" (string-append (getcwd)
> > > "/tmp"))))
> > > -         (replace 'check
> > > -           (lambda _ (zero? (system* "nosetests" "-v")))))))
> > > +           (lambda _ (setenv "HOME" (string-append (getcwd)
> > > "/tmp"))))))) (native-inputs
> > >       `(("python2-beautifulsoup4" ,python2-beautifulsoup4)
> > >         ("python2-flask" ,python2-flask)
> > >         ("python2-setuptools" ,python2-setuptools)
> > >         ("python2-mock" ,python2-mock)
> > >         ("python2-mpd2" ,python2-mpd2)
> > > -       ("python2-nose" ,python2-nose)
> > >         ("python2-pathlib" ,python2-pathlib)
> > >         ("python2-pyxdg" ,python2-pyxdg)
> > >         ("python2-pyechonest" ,python2-pyechonest)  
> > 
> > The above 3 hunks should not be a part of this patch.  Somehow you
> > gathered the changes from commits e0b90db, d3e3468 and 36c2c8c in this
> > patch.  Could you remove them?
> > 
> > > @@ -1306,3 +1305,30 @@ once and for all.  It catalogs your
> > > collection, automatically improving its metadata as it goes using
> > > the MusicBrainz database.  Then it provides a variety of tools for
> > > manipulating and accessing your music.") (license license:expat)))
> > > +
> > > +(define-public milkytracker
> > > +  (package
> > > +    (name "milkytracker")
> > > +    (version "0.90.86")
> > > +    (source (origin
> > > +	      (method url-fetch)
> > > +	      (uri
> > > +	       (string-append
> > > "http://milkytracker.org/files/milkytracker-"
> > > +				  name "-" version ".tar.gz"))  
> >                               ^^^^
> > 'name' should be aligned at " in the previous line.  But actually
> > there either shouldn't be 'name' there or ".../milkytracker-" in the
> > previous line.  Also (I think) we prefer bz2 over gz if it is
> > available.
> > 
> > Please use spaces instead of tabulations in the above lines.  This is
> > reported by "guix lint milkytracker".
> > 
> > Overall the 'source' field should look like this:
> > 
> >     (source (origin
> >               (method url-fetch)
> >               (uri (string-append "http://milkytracker.org/files/"
> >                                   name "-" version ".tar.bz2"))
> >               (sha256
> >                (base32
> >                 "1v9vp8vi24lkagfpr92c128whvakwgrm9pq2zf6ijpl5sh7014zb"))))
> > 
> > > +              (sha256
> > > +               (base32
> > > +
> > > "0mqjkhvjyp5hnzm1ln3b2qjclviayxylcyml96pjdxgbaqcqa2zz"))))
> > > +    (build-system gnu-build-system)
> > > +    (inputs
> > > +     `(("alsa-lib", alsa-lib)  
> >                      ^^
> > Unquoting character (",") should be placed before a symbol without
> > spaces: ",alsa-lib".
> > 
> > > +       ("jack", jack-1)  
> > and here         ^^
> > 
> > > +       ("sdl" ,sdl)
> > > +       ("zlib" ,zlib)))
> > > +    (synopsis "Multi-platform, second generation music tracker")  
> > 
> > What does "second generation" mean?  "Multi-platform" probably also
> > doesn't matter here.  What about:
> > 
> >   "Music tracker for creating module files"
> > 
> > Note: I'm not good at synopsis/description writing, so I hope someone
> > else look at it as well :-)
> > 
> > > +    (description "MilkyTracker is a free software, multi-platform
> > > music  
> > 
> > I think there is no need in "free software" here as all software in
> > Guix is free.
> > 
> > > +application for creating .MOD and .XM module files. It attempts to
> > > recreate  
> >                                                       ^^
> > We use double spaces between sentences.  This is also reported by
> > "guix lint milkytracker".
> > 
> > > +the module replay and user experience of the popular DOS program
> > > Fasttracker +II, with special playback modes available for improved
> > > Amiga ProTracker 2/3 +compatibility.")
> > > +    (home-page "http://milkytracker.org/")
> > > +    (license license:gpl3)))  
> > 
> > 
> > After all, the build failed for me:
> > 
> > ...
> > g++  -g -O2   -o milkytracker AnimatedFXControl.o ColorExportImport.o
> > ColorPaletteContainer.o DialogChannelSelector.o DialogEQ.o
> > DialogGroupSelection.o DialogHandlers.o DialogListBox.o
> > DialogPanning.o DialogQuickChooseInstrument.o DialogResample.o
> > DialogWithValues.o DialogZap.o EQConstants.o EditorBase.o
> > EnvelopeContainer.o EnvelopeEditor.o EnvelopeEditorControl.o
> > Equalizer.o FileExtProvider.o FileIdentificator.o GlobalColorConfig.o
> > InputControlListener.o LogoBig.o LogoSmall.o ModuleEditor.o
> > ModuleServices.o PatternEditor.o PatternEditorClipBoard.o
> > PatternEditorControl.o PatternEditorControlEventListener.o
> > PatternEditorControlKeyboard.o PatternEditorControlTransposeHandler.o
> > PatternEditorTools.o PatternTools.o PeakLevelControl.o Piano.o
> > PianoControl.o PlayerController.o PlayerLogic.o PlayerMaster.o
> > RecPosProvider.o RecorderLogic.o ResamplerHelper.o SampleEditor.o
> > SampleEditorControl.o SampleEditorControlToolHandler.o
> > SampleEditorResampler.o SamplePlayer.o ScopesControl.o SectionAbout.o
> > SectionAbstract.o SectionAdvancedEdit.o SectionDiskMenu.o
> > SectionHDRecorder.o SectionInstruments.o SectionOptimize.o
> > SectionQuickOptions.o SectionSamples.o SectionSettings.o
> > SectionSwitcher.o SectionTranspose.o SectionUpperLeft.o
> > SongLengthEstimator.o SystemMessage.o TabHeaderControl.o TabManager.o
> > TabTitleProvider.o TitlePageManager.o ToolInvokeHelper.o Tracker.o
> > TrackerConfig.o TrackerInit.o TrackerKeyboard.o TrackerSettings.o
> > TrackerSettingsDatabase.o TrackerShortCuts.o TrackerShutDown.o
> > TrackerStartUp.o TrackerUpdate.o Undo.o VRand.o Zapper.o
> > sdl/SDL_KeyTranslation.o
> > sdl/SDL_Main.o ../../src/milkyplay/libmilkyplay.a ../../src/ppui/osinterface/libosinterface.a ../../src/ppui/libppui.a ../../src/ppui/osinterface/libosinterface.a ../../src/fx/libfx.a ../../src/compression/Decompressor.o ../../src/compression/DecompressorGZIP.o ../../src/compression/DecompressorLHA.o ../../src/compression/DecompressorPP20.o ../../src/compression/DecompressorUMX.o ../../src/compression/DecompressorZIP.o ../../src/compression/zziplib/MyIO.o ../../src/compression/PP20.o ../../src/compression/ZipExtractor.o ../../src/compression/lha/unlha.o ../midi/libmidi.a
> > -L/gnu/store/2x7wd0lz3pqa0wm17y1byvxl47r82pfi-sdl-1.2.15/lib
> > -Wl,-rpath,/gnu/store/2x7wd0lz3pqa0wm17y1byvxl47r82pfi-sdl-1.2.15/lib
> > -lSDL -lpthread ../../src/compression/zziplib/generic/libzzip.a  -ldl
> > -lz ../../src/ppui/osinterface/libosinterface.a(PPSystem_POSIX.o): In
> > function
> > `System::getTempFileName()': /tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86/src/ppui/osinterface/posix/PPSystem_POSIX.cpp:64:
> > warning: the use of `tmpnam' is dangerous, better use `mkstemp'
> > ld: ../midi/libmidi.a(RtMidi.o): undefined reference to symbol
> > 'snd_seq_event_input_pending@@ALSA_0.9' /gnu/store/pv2xg14lgghxfpl7jhirc7dp0m3172js-alsa-lib-1.0.27.1/lib/libasound.so.2:
> > error adding symbols: DSO missing from command line collect2: error:
> > ld returned 1 exit status Makefile:400: recipe for target
> > 'milkytracker' failed make[3]: *** [milkytracker] Error 1 make[3]:
> > Leaving directory
> > '/tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86/src/tracker'
> > Makefile:194: recipe for target 'all-recursive' failed make[2]: ***
> > [all-recursive] Error 1 make[2]: Leaving directory
> > '/tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86/src'
> > Makefile:364: recipe for target 'all-recursive' failed make[1]: ***
> > [all-recursive] Error 1 make[1]: Leaving directory
> > '/tmp/guix-build-milkytracker-0.90.86.drv-0/milkytracker-0.90.86'
> > Makefile:303: recipe for target 'all' failed
> > 
> > I don't know what to do with this :-(
> > 
> 
> Alright! This patch adds MilkyTracker successfully. It builds with
> both ALSA and JACK support. I took a look at the PKGBUILD from Arch
> Linux and the port dependencies from FreeBSD to make sure I had
> everything in order. Hopefully it is clean as far as syntax and guix
> standards go. If you could show me how you managed to get guix lint to
> run on this file, that would be great.

To run the linter, you should be able to do `./pre-inst-env guix lint
milkytracker`. If there is no output, then the linter is happy :)

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH] Add MilkyTracker to Guix
  2016-03-30  2:24                 ` Kei Yamashita
  2016-03-30  2:36                   ` Leo Famulari
@ 2016-03-30 20:52                   ` Alex Kost
  1 sibling, 0 replies; 15+ messages in thread
From: Alex Kost @ 2016-03-30 20:52 UTC (permalink / raw)
  To: Kei Yamashita; +Cc: guix-devel

Kei Yamashita (2016-03-30 05:24 +0300) wrote:

> Alright! This patch adds MilkyTracker successfully. It builds with
> both ALSA and JACK support. I took a look at the PKGBUILD from Arch
> Linux and the port dependencies from FreeBSD to make sure I had
> everything in order. Hopefully it is clean as far as syntax and guix
> standards go.

Great!  Thank you for fixing the build process!  I have only 4 small
comments:

1) Your previous patches contained:

+  #:use-module (gnu packages sdl)

But it is removed in this one.  I think it was done by mistake when you
removed the leftovers of other commits.

> If you could show me how you managed to get guix lint to
> run on this file, that would be great.

As Leo pointed, you can use "pre-inst-env" script to run guix tools from
a git checkout.  See (info "(guix) Running Guix Before It Is Installed")
for details.

> From e3a393da0ee6d0a22d4077a6f83601a8a246def3 Mon Sep 17 00:00:00 2001
> From: Kei Yamashita <kei@openmailbox.org>
> Date: Tue, 29 Mar 2016 22:17:21 -0400
> Subject: [PATCH] gnu: Add MilkyTracker.
>
> * gnu/packages/music.scm (milkytracker): New variable.
> ---
>  gnu/packages/music.scm | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
>
> diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
> index adda16a..9794c17 100644
> --- a/gnu/packages/music.scm
> +++ b/gnu/packages/music.scm
> @@ -1306,3 +1306,33 @@ once and for all.  It catalogs your collection, automatically improving its
>  metadata as it goes using the MusicBrainz database.  Then it provides a variety
>  of tools for manipulating and accessing your music.")
>      (license license:expat)))
> +
> +(define-public milkytracker
> +  (package
> +    (name "milkytracker")
> +    (version "0.90.86")
> +    (source (origin
> +	      (method url-fetch)
   ^^^^
2) tabulation on this line

> +              (uri (string-append "http://milkytracker.org/files/"
> +                                  name "-" version ".tar.bz2"))
> +              
   ^^^^^^^^^^^^^^
3) this redundant line

> +              (sha256
> +               (base32
> +                "1v9vp8vi24lkagfpr92c128whvakwgrm9pq2zf6ijpl5sh7014zb"))))
> +    (build-system gnu-build-system)
> +    (arguments
> +     `(#:make-flags '("CXXFLAGS=-lasound")))
> +    (inputs
> +     `(("alsa-lib" ,alsa-lib)
> +       ("jack" ,jack-1)
> +       ("sdl" ,sdl)
> +       ("zlib" ,zlib)))
> +    (native-inputs
> +     `(("pkg-config" ,pkg-config)))
> +    (synopsis "Music tracker for working with .MOD/.XM module files")
> +    (description "MilkyTracker is a music application for creating .MOD and .XM
> +module files.  It attempts to recreate the module replay and user experience of
> +the popular DOS program Fasttracker II, with special playback modes available
> +for improved Amiga ProTracker 2/3 compatibility.")
> +    (home-page "http://milkytracker.org/")
> +    (license license:gpl3)))

4) I looked closer at the licenses.  It appeared to be that the code in
"src/milkyplay" is under Modified BSD (bsd-3), and the rest is under
GPL3 or later (gl3+).

The rest looks good to me, so I adjusted your patch for the mentioned
notes and committed it¹.  Oh, also I added a copyright line with your
name to the beginning of the file.  Thanks for contributing!

¹ http://git.savannah.gnu.org/cgit/guix.git/commit/?id=21d1811301c4acc34dc124c832d21918c2d11a95

-- 
Alex

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2016-03-30 20:52 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-25 23:54 [PATCH] Add MilkyTracker to Guix kei
2016-03-26 10:11 ` Nils Gillmann
2016-03-27  7:23 ` Efraim Flashner
2016-03-28  3:09   ` Kei Yamashita
2016-03-28 10:46     ` Alex Kost
2016-03-28 14:26       ` Ricardo Wurmus
2016-03-28 17:30         ` Kei Yamashita
2016-03-28 17:39           ` Kei Yamashita
2016-03-28 17:43             ` Kei Yamashita
2016-03-28 19:31               ` Kei Yamashita
2016-03-29  9:52               ` Alex Kost
2016-03-30  2:24                 ` Kei Yamashita
2016-03-30  2:36                   ` Leo Famulari
2016-03-30 20:52                   ` Alex Kost
2016-03-27 14:17 ` Nils Gillmann

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).