Hi Vincent, thanks for the contribution. On 26/03/16 15:49, vincent@cloutier.co wrote: > [..] First some comments on the patch. In general we try to keep line lengths below 80 chars, and not leave blank lines within package definitions. > > (define-public wayback-machine-downloader > (package > (name "wayback-machine-downloader") > (version "0.2.1") > (source > (origin > (method url-fetch) > (uri (rubygems-uri > "wayback_machine_downloader" > version)) Please put the above 3 lines on the same line. > (sha256 > (base32 > "1nrwm5bc7vqm02m2x0lylxyya446kg0spg6ksi7dfkrad0l9jq8y")))) > (build-system ruby-build-system) > (arguments > `(#:tests? #f ; no rakefile > )) Stylistically, we don't leave empty braces alone like this. It seems there is a Rakefile with a test task defined in the github repository, but not in the gem itself. So in this case I would point guix to download the source from the github page not rubygems.org, as is currently done for ruby-nokogumbo for example: (define-public ruby-nokogumbo (package (name "ruby-nokogumbo") (version "1.4.6") (source (origin ;; We use the git reference, because there's no Rakefile in the ;; published gem and the tarball on Github is outdated. (method git-fetch) (uri (git-reference (url "https://github.com/rubys/nokogumbo.git") (commit "d56f954d20a"))) (file-name (string-append name "-" version "-checkout")) (sha256 (base32 "0bnppjy96xiadrsrc9dp8y6wvdwnkfa930n7acrp0mqm4qywl2wl")))) > > (native-inputs > `(("ruby-rake-compiler" ,ruby-rake-compiler) Is this really needed? > ("ruby-minitest" ,ruby-minitest))) > > (synopsis > "Download website from archive.org's Wayback Machine") Maybe "Download a website ..." ? Also, please put on one line. > (description > "Download any website from the Wayback Machine. Wayback Machine > by Internet Archive (archive.org) is an awesome tool to view any > website at any point of time but lacks an export feature. Wayback > Machine Downloader brings exactly this.") I would remove "awesome" as being too opinionated. I think it would also make sense to comment on the fact that it is a command line tool. > (home-page > "https://github.com/hartator/wayback-machine-downloader") > (license expat))) > > > Then I ran: `guix package -i wayback-machine-downloader -f > ~/Documents/ruby` and it successfully installed. > > So my questions are: > > 1) Do you guys and gals have a better workflow that includes the git > repo, so I can send a patch? All I saw in the documentation was about > building guix itself. I guess I could clone somewhere and use `guix > package -f`, but will this be a reliable way of testing? And will > this make my guix less stable on the long run? My personal workflow for this situation would be something like this: $ git checkout -b wayback-machine-downloader origin/master $ make -j4 ... modify gnu/packages/ruby.scm adding the package definition ... $ ./pre-inst-env guix build -K wayback-machine-downloader ... modify further as necessary until I am happy ... ... run through the checklist of things to do (e.g. list) when submitting a package at https://www.gnu.org/software/guix/manual/guix.html#Submitting-Patches $ git diff #check that I'm committing the right code and only the one package's code $ git commit ... edit commit message ... $ git format-patch -1 ... send to guix-devel ... hope that helps. > > 2) Should I add "ruby-" before the name of the package? I know > technically all gems should have "ruby-" before the name, but this is > designed to be use independently. Could it have multiple names, or is > it a bad idea? In this case I would say no, leave it as wayback-machine-downloader since it is not intended to be used as a library, rather a command line tool. > > 3) Where does this package belong in the directory? My guess would be web.scm not ruby.scm. > > 4) Is the package declaration itself all right? Are packages sorted or > organized in any way? This depends on the file being modified, in ruby.scm we just add it to the end of the file. > > 5) I speak fluent French, can I add a description and summary in French? I'm not sure on this sorry. Would you mind submitting an updated patch please? Thanks, ben