guix-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] Add MilkyTracker to Guix


From: Leo Famulari
Subject: Re: [PATCH] Add MilkyTracker to Guix
Date: Tue, 29 Mar 2016 22:36:29 -0400
User-agent: Mutt/1.5.24 (2015-08-30)

On Tue, Mar 29, 2016 at 10:24:41PM -0400, Kei Yamashita wrote:
> On Tue, 29 Mar 2016 12:52:49 +0300
> Alex Kost <address@hidden> 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 <address@hidden>
> > > 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 :)



reply via email to

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