[Bio-packaging] testing out guix

Ben Woodcroft b.woodcroft at uq.edu.au
Mon Jun 8 06:19:10 UTC 2015


Happily the dead per-use profile link was fixed when I'd finished 
installing emacs.

On 08/06/15 16:05, Ben Woodcroft wrote:
> Hey,
>
> Based on discussions from this list I thought I might give it a spin, 
> but ran into a few problems (on 0.8.2). Specifically, I was unable to 
> get a "hello world" package of my own making to work, presumably 
> because of my own ignorance. Maybe someone can help me out. Seeing as 
> package files seem quite straightforward to write, I'm hoping it won't 
> be too much effort to write one for each piece of software that we 
> publish.
>
> I tried to follow the instructions at
> https://www.gnu.org/software/guix/manual/guix.html#Defining-Packages
>
> but it is unclear what to do with the 'recipe' once created. Where do 
> I put it? What is a good name for a recipe file? How do I test/install 
> it? It would be great to have a blog post that steps through the 
> process of creating a new package to follow.
>
>
> Some other problems/notes - Apologies for being wide-ranging.
> * OSX support seems like it would be very pertinent for 
> bioinformaticians, does/will guix support?
> * Installing from gnu hydra is way slow on the underside of the 
> planet, I'm getting DL speeds of 70KB/s. There's no mirrors?
> * For some reason my per-user profile is a broken soft-link:
>
> $ ls -lh ~/.guix-profile
> lrwxrwxrwx 1 ben ben 44 Jun  8 13:40 /home/ben/.guix-profile -> 
> /var/guix/profiles/per-user/ben/guix-profile
> $ ls -A /var/guix/profiles/per-user/ben/
> $
>
>
> For completism's sake, here is my (quite buggy I'm sure) recipe, and 
> log of my install of guix.
>
> (define-module (gnu packages orfm)
>   #:use-module (guix packages)
>   #:use-module (guix download)
>   #:use-module (guix build-system gnu)
>   #:use-module (guix licenses))
>
> (define-public orfm
>   (package
>     (name "orfm")
>     (version "0.2.0")
>     (source (origin
>              (method url-fetch)
>              (uri (string-append 
> https://github.com/wwood/OrfM/archive/v" version ".tar.gz))
>              (sha256
>               (base32 
> "7141fd43ecef8e5f5779127c460020449e48d361355d00e16d421fe4b8af00a2"))))
>     (build-system gnu-build-system)
>     (synopsis "Simple and not slow open reading frame (ORF) caller")
>     (description "An ORF caller finds stretches of DNA that when 
> translated are not interrupted by stop codons. OrfM finds and prints 
> these ORFs.")
>     (home-page "https://github.com/wwood/OrfM")
>     (license lgpl3+)))
>
>
> ben at u:~/bioinfo$ wget 
> ftp://alpha.gnu.org/gnu/guix/guix-binary-0.8.2.x86_64-linux.tar.xz
> ...
>
> ben at u:/$ sudo tar xf ~/bioinfo/guix-binary-0.8.2.x86_64-linux.tar.xz
> [sudo] password for ben:
>
> ben at u:/gnu$ sudo -i
> root at u:~# groupadd --system guix-builder
> root at u:~# for i in `seq 1 10`;
>>   do
>>     useradd -g guix-builder -G guix-builder           \
>>             -d /var/empty -s `which nologin`          \
>>             -c "Guix build user $i" --system          \
>>             guix-builder$i;
>>   done
> root at u:~# /root/.guix-profile/bin/guix-daemon 
> --build-users-group=guix-builder
> ^C
> root at u:~# /root/.guix-profile/bin/guix-daemon 
> --build-users-group=guix-builder &
> [1] 1029
> root at u:~# cd /usr/local/bin
> root at u:/usr/local/bin# ln -s /root/.guix-profile/bin/guix
> root at u:/usr/local/bin# guix archive --authorize < 
> /root/.guix-profile/share/guix/hydra.gnu.org.pub
> warning: failed to install locale: Invalid argument
> root at u:/usr/local/bin# fg
> /root/.guix-profile/bin/guix-daemon 
> --build-users-group=guix-builder    (wd: ~)
> ^C
> root at u:/usr/local/bin# /root/.guix-profile/bin/guix-daemon 
> --build-users-group=guix-builder &
> [1] 1186
> ben at u:~/git/OrfM$ guix package -i emacs
> warning: failed to install locale: Invalid argument
> The following package will be installed:
>    emacs    24.5 /gnu/store/7l7nvb8mm22cij39fr2mw40z4fqmya3q-emacs-24.5
>
> substitute: warning: failed to install locale: Invalid argument
> substitute: updating list of substitutes from 
> 'http://hydra.gnu.org'... 100.0%
> The following derivations will be built:
>    /gnu/store/a34r3s8zgg1br29j97dhvf32p9bjr514-profile.drv
> /gnu/store/sa3li6wf2yl2h8bp2h0f7hyh0bdnrs8c-ca-certificate-bundle.drv
>    /gnu/store/8x40mds6p2hmqqv7j25c4d513h177zcz-info-dir.drv
> The following files will be downloaded:
>    /gnu/store/cnqmkmj40jmssnx6fkf9n0n3bqj5x426-guile-2.0.11
> /gnu/store/kbf46vds6f7lp723xn62kgdaxmwc1jvi-module-import-compiled
> /gnu/store/x41ghgfg03z6mv616jmfihqijxdckvyx-glibc-utf8-locales-2.21
>    /gnu/store/7l7nvb8mm22cij39fr2mw40z4fqmya3q-emacs-24.5
> ...
>
>
>
>
> Thanks,
> ben
> _______________________________________________
> bio-packaging mailing list
> bio-packaging at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bio-packaging



More information about the bio-packaging mailing list