From mboxrd@z Thu Jan 1 00:00:00 1970 From: Leo Famulari Subject: Re: [PATCH] Add MilkyTracker to Guix Date: Tue, 29 Mar 2016 22:36:29 -0400 Message-ID: <20160330023629.GA18778@jasmine> References: <6dae35698781717e6043be7086b6f63c@openmailbox.org> <20160327072337.GA13339@debian-netbook> <20160327230935.14e8ba5a@openmailbox.org> <87shzayj69.fsf@gmail.com> <87vb46ispl.fsf@elephly.net> <20160328133050.72048b52@openmailbox.org> <20160328133931.4307044a@openmailbox.org> <20160328134320.1e0a50ae@openmailbox.org> <87bn5x7gr2.fsf@gmail.com> <20160329222441.12a28061@openmailbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:49676) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1al5zl-00046o-VZ for guix-devel@gnu.org; Tue, 29 Mar 2016 22:36:35 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1al5zh-00015c-Hi for guix-devel@gnu.org; Tue, 29 Mar 2016 22:36:33 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:53544) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1al5zh-00015W-A4 for guix-devel@gnu.org; Tue, 29 Mar 2016 22:36:29 -0400 Content-Disposition: inline In-Reply-To: <20160329222441.12a28061@openmailbox.org> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Kei Yamashita Cc: guix-devel@gnu.org, 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 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 > > > 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 :)