Package: guix-patches;
Reported by: Stefan Reichör <stefan <at> xsteve.at>
Date: Tue, 2 Jan 2018 18:41:02 UTC
Severity: normal
Tags: patch
Done: ludo <at> gnu.org (Ludovic Courtès)
Bug is archived. No further changes may be made.
View this message in rfc822 format
From: Stefan Reichör <stefan <at> xsteve.at> To: Leo Famulari <leo <at> famulari.name> Cc: 29950 <at> debbugs.gnu.org Subject: [bug#29950] [PATCH] gnu: Add instantmusic. Date: Sun, 21 Jan 2018 17:23:35 +0100
Leo Famulari <leo <at> famulari.name> writes: Thanks for your review. I was rather busy these days. So it took some time until I was able to respond... > On Tue, Jan 02, 2018 at 07:39:56PM +0100, Stefan Reichör wrote: >> * gnu/packages/music.scm (instantmusic): New variable. > > Thanks for this patch Stefan! I have some comments... > >> + (version (string-append "0.1-" revision "." (string-take commit 9))) > > I noticed the latest upstream release is tagged "v1.0" rather than > "0.1". Also, it's convenient and more maintainable to create the version > of Git-based packages like this: > > (version (git-version "1.0" revision commit)) > >> + (file-name (string-append name "-" version "-checkout")) > > And similarly for the file-name: > > (file-name (git-file-name name version)) > > Those two procedures come from (guix git-download). Thanks for these git related short cuts. They are rather new and not yet widely used. But I agree that they make the description shorter and better readable. >> + (arguments >> + '(#:modules ((guix build python-build-system) >> + (guix build utils) >> + (srfi srfi-26)) >> + #:phases (modify-phases %standard-phases >> + (add-before 'build 'change-directory >> + (lambda _ >> + (chdir "instantmusic-0.1") >> + ;; Fix some read-only files that would cause a build failure >> + (for-each (cut chmod <> #o644) >> + (find-files "instantmusic.egg-info" >> + "PKG-INFO|.*\\.txt")) >> + #t))))) > > I guess that changing the build directory and chmod-ing those files are > required for their own reasons, right? So they should be in separate > build phases. The chdir is needed to ensure that the build is started in the correct directory. I found out that the chmod block is required in the check phase. So I changed it that way. > Can you send an updated patch? * gnu/packages/music.scm (instantmusic): New variable. --- gnu/packages/music.scm | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index b7dc7d9..7beba4b 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -15,6 +15,7 @@ ;;; Copyright © 2017 Arun Isaac <arunisaac <at> systemreboot.net> ;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me <at> tobias.gr> ;;; Copyright © 2018 nee <nee.git <at> hidamari.blue> +;;; Copyright © 2018 Stefan Reichör <stefan <at> xsteve.at> ;;; ;;; This file is part of GNU Guix. ;;; @@ -2487,6 +2488,48 @@ websites such as Libre.fm.") (define-public python2-pylast (package-with-python2 python-pylast)) +(define-public instantmusic + (let ((commit "300891d09c703525215fa5a116b9294af1c923c8") + (revision "1")) + (package + (name "instantmusic") + (version (git-version "1.0" revision commit)) + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yask123/Instant-Music-Downloader.git") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0j7qivaa04bpdz3anmgci5833dgiyfqqwq9fdrpl9m68b34gl773")))) + (build-system python-build-system) + (propagated-inputs + `(("python-requests" ,python-requests) + ("eyed3", eyed3) + ("python-beautifulsoup4" ,python-beautifulsoup4) + ("youtube-dl" ,youtube-dl))) + (arguments + '(#:modules ((guix build python-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases (modify-phases %standard-phases + (add-before 'build 'change-directory + (lambda _ + (chdir "instantmusic-0.1") #t)) + (add-before 'check 'fix-file-permissions + (lambda _ + ;; Fix some read-only files that would cause a build failure + (for-each (cut chmod <> #o644) + (find-files "instantmusic.egg-info" + "PKG-INFO|.*\\.txt")) + #t))))) + (home-page "http://iyask.me/Instant-Music-Downloader/") + (synopsis "Command line app to download a song from youtube") + (description "Download a song from youtube in .mp3 format. Songs can be +searched by artist, name or even by a part of the song text.") + (license license:expat)))) + (define-public beets (package (name "beets")
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.