Re: Can we package NetHack?
On Sun, May 29, 2016 at 6:54 PM, Kei Kebreauwrote: > On Mon, 30 May 2016 00:13:00 +0200 > l...@gnu.org (Ludovic Courtès) wrote: > >> Kei Kebreau skribis: >> >> > NetHack tries to modify its state files in the store and none of its >> > easily patchable directory variables allow anything different. >> > NetHack also doesn't allow a ~/.nethack directory to be created in >> > the user's directory upon running. Does anyone have any ideas or >> > other packages that do this sort of thing? >> >> I suppose the state files are essentially score files? Don’t other >> games store things in /var/lib/something? What do other distros do? >> :-) >> >> Ludo’. > > Yes, the state files are high score lists, locks for the world files > and such. The problem is that other distros give NetHack a directory to > write those files to that would be equivalent to writing to our store. > The only one I have seen that avoids this is NixOS. However, NixOS > creates a ".nethack" directory within the user's folder (among other > things) to work around this. > > I thought that this would be a problem for Guix, because installing and > removing NetHack cleanly would necessitate directly writing to and > erasing files within the user's directory. So I decided to mail the > list to see if anyone could find a solution. :-) This isn't a problem. Stateful files in home directories or elsewhere are not managed by Guix. A .nethack directory sounds like a fine solution to me. - Dave
Re: Can we package NetHack?
On Mon, 30 May 2016 00:13:00 +0200 l...@gnu.org (Ludovic Courtès) wrote: > Kei Kebreauskribis: > > > NetHack tries to modify its state files in the store and none of its > > easily patchable directory variables allow anything different. > > NetHack also doesn't allow a ~/.nethack directory to be created in > > the user's directory upon running. Does anyone have any ideas or > > other packages that do this sort of thing? > > I suppose the state files are essentially score files? Don’t other > games store things in /var/lib/something? What do other distros do? > :-) > > Ludo’. Yes, the state files are high score lists, locks for the world files and such. The problem is that other distros give NetHack a directory to write those files to that would be equivalent to writing to our store. The only one I have seen that avoids this is NixOS. However, NixOS creates a ".nethack" directory within the user's folder (among other things) to work around this. I thought that this would be a problem for Guix, because installing and removing NetHack cleanly would necessitate directly writing to and erasing files within the user's directory. So I decided to mail the list to see if anyone could find a solution. :-) -- Kei (GPG Key: 4096R/E6A5EE3C19467A0D) pgpveZ7M7tm0s.pgp Description: OpenPGP digital signature
Re: [PATCH 0/1] libyaml: Fix CVE-2014-9130.
Leo Famulariskribis: > This is a cherry-picked upstream commit [0] that fixes CVE-2014-9130 [1]. > > Debian used the same patch. You can find it by clicking on VCS here: > https://tracker.debian.org/pkg/libyaml Sounds good, thank you! Ludo’.
Re: Can we package NetHack?
Kei Kebreauskribis: > NetHack tries to modify its state files in the store and none of its > easily patchable directory variables allow anything different. NetHack > also doesn't allow a ~/.nethack directory to be created in the user's > directory upon running. Does anyone have any ideas or other packages > that do this sort of thing? I suppose the state files are essentially score files? Don’t other games store things in /var/lib/something? What do other distros do? :-) Ludo’.
Re: [PATCH] gnu: Add hdf4
Hello, Jeremy Robstskribis: > Here's the patch as an attachment - sorry for the hassle. I will try > and work out what's going wrong so I can send proper patches in > future. No problem! I tried the attached patch, which includes mostly cosmetic changes compared to the one you posted. However, I stumble upon test failures (on x86_64, with Linux-libre 4.6.0): --8<---cut here---start->8--- hdftest Test Log Testing create/read/write compressed datasets (tcomp.c)PASSED Testing create/read/write chunked datasets (tchunk.c) PASSED Testing reading of netCDF file using the SDxxx inteface (tnetcdf.c)PASSED Testing functionality of dimensions (tdim.c) PASSED Testing functions involving empty data sets (temptySDSs.c) PASSED Testing various setting attribute features (tattributes.c) PASSED Testing getting data size of special data (tdatasizes.c) PASSED Testing getting location info of data (tdatainfo.c)PASSED Testing getting location info of attr and annot data (tattdatainfo.c) PASSED Testing a mix of SD, V, and VS functions (tmixed_apis.c) PASSED Testing miscellaneous file related functions (tfile.c)*** Routine test_maxopenfiles: SDstart FAILED at line 285 *** *** Routine test_maxopenfiles: SDgetfilename FAILED at line 292 *** SDgetfilename: incorrect file being opened - expected , retrieved *** Routine test_maxopenfiles: SDend FAILED at line 305 *** Testing various SDS' properties (tsdsprops.c) PASSED Testing various coordinate variable features (tcoordvar.c) PASSED Testing szip compression for datasets (tszip.c)PASSED *** HDF-SD test fails *** Makefile:1169: recipe for target 'hdftest.chkexe_' failed make[5]: *** [hdftest.chkexe_] Error 1 make[5]: *** Waiting for unfinished jobs Finished testing testmfhdf.sh testmfhdf.sh Test Log = Running mfhdf tests = = HDF-SD C interface tests = Testing create/read/write compressed datasets (tcomp.c)PASSED Testing create/read/write chunked datasets (tchunk.c) PASSED Testing reading of netCDF file using the SDxxx inteface (tnetcdf.c)PASSED Testing functionality of dimensions (tdim.c) PASSED Testing functions involving empty data sets (temptySDSs.c) PASSED Testing various setting attribute features (tattributes.c) PASSED Testing getting data size of special data (tdatasizes.c) PASSED Testing getting location info of data (tdatainfo.c)PASSED Testing getting location info of attr and annot data (tattdatainfo.c) PASSED Testing a mix of SD, V, and VS functions (tmixed_apis.c) PASSED Testing miscellaneous file related functions (tfile.c)*** Routine test_maxopenfiles: SDstart FAILED at line 285 *** *** Routine test_maxopenfiles: SDstart FAILED at line 285 *** *** Routine test_maxopenfiles: SDstart FAILED at line 285 *** [...] SDgetfilename: incorrect file being opened - expected , retrieved *** Routine test_maxopenfiles: SDgetfilename FAILED at line 292 *** SDgetfilename: incorrect file being opened - expected , retrieved *** Routine test_maxopenfiles: SDgetfilename FAILED at line 292 *** SDgetfilename: incorrect file being opened - expected , retrieved *** Routine test_maxopenfiles: SDgetfilename FAILED at line 292 *** --8<---cut here---start->8--- Any ideas? Thanks, Ludo’. >From 77afb922f470ddc97819dd8bb623450585fb2e12 Mon Sep 17 00:00:00 2001 From: Jeremy Robst Date: Mon, 23 May 2016 17:59:00 +0100 Subject: [PATCH] gnu: Add hdf4. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/maths.scm (hdf4): New variable. * gnu/packages/patches/hdf4-config-settings.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. Signed-off-by: Ludovic Courtès --- gnu/local.mk| 1 + gnu/packages/maths.scm | 42 +++ gnu/packages/patches/hdf4-config-settings.patch | 55 + 3 files changed, 98 insertions(+) create mode 100644 gnu/packages/patches/hdf4-config-settings.patch diff --git a/gnu/local.mk b/gnu/local.mk index dade736..9d608e8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -533,6 +533,7 @@ dist_patch_DATA = \ %D%/packages/patches/gtk2-theme-paths.patch \ %D%/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \ %D%/packages/patches/gtkglext-disable-disable-deprecated.patch \ +
Re: [PATCH 1/2] build: emacs: Handle sources that are a single elisp file.
Alex Kostskribis: > Ludovic Courtès (2016-05-28 18:36 +0300) wrote: > >> David Thompson skribis: >> >>> * guix/build/emacs-build-system.scm (gnu:unpack) >>> (store-file->elisp-source-file, unpack): New procedures. >>> (%standard-phases): Use the new unpack procedure. >> >> Good idea, LGTM! >> >> Could you adjust users of ‘uncompressed-file-fetch’ in a subsequent >> commit, and remove ‘uncompressed-file-fetch’? > > I object! Damn it, sorry, I thought this would be uncontroversial. > I mean this should be discussed at least. I would really prefer to > keep (and document) 'uncompressed-file-fetch' and not to update > emacs-build-system for this case. It is possible, that once we'll > need to handle non-compressed files for another build system. So it > should also be adjusted in the same way. But if we keep > 'uncompressed-file-fetch', it will be a general decision as it can be > used for any build system. In my view, ‘uncompressed-file-fetch’ and the ‘emacs-build-system’ change that Dave proposes are equally good hacks, but the latter has the advantage that people won’t have to think about it: they can just use ‘url-fetch’ and ‘emacs-build-system’ as usual and things will just work. Of course, perhaps we should consider handling flat files closer to the core, but so far the only use case we have, AFAIK, is .el files. Thus, it doesn’t seem that bad to add a special case in ‘emacs-build-system’. Pragmatic approach I suppose. ;-) WDYT? Thanks, Ludo’.
[PATCH] Add GeoGebra
Hello, The following patch adds GeoGebra. Please consider adding it to the repository. Thank you. Regards, -- Nicolas Goaziou0x80A93738 >From ea6cc12bffe9e7c566f0d98681446df2676d2eb2 Mon Sep 17 00:00:00 2001 From: Nicolas GoaziouDate: Sun, 29 May 2016 19:28:53 +0200 Subject: [PATCH] gnu: Add geogebra. * gnu/packages/maths.scm (geogebra): New variable. --- gnu/packages/maths.scm | 86 ++ 1 file changed, 86 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index e11208c..135794f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -41,7 +41,10 @@ #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system r) + #:use-module (guix build-system trivial) #:use-module (gnu packages algebra) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages check) @@ -61,6 +64,7 @@ #:use-module (gnu packages graphviz) #:use-module (gnu packages gtk) #:use-module (gnu packages image) + #:use-module (gnu packages java) #:use-module (gnu packages less) #:use-module (gnu packages lisp) #:use-module (gnu packages gnome) @@ -2442,3 +2446,85 @@ structured and unstructured grid problems."))) (description "Matio is a library for reading and writing MAT files. It supports compressed MAT files, as well as newer (version 7.3) MAT files.") (license license:bsd-2))) + +(define-public geogebra + (package +(name "geogebra") +(version "5.0.240.0") +(synopsis "Dynamic mathematics software for education") +(source + (origin + (method url-fetch) + (uri (string-append "http://download.geogebra.org/installers/; + (version-major+minor version) + "/GeoGebra-Linux-Portable-" + version ".tar.bz2")) + (sha256 +(base32 + "1ngh0bah3krdc30ah3g73zbvh3gypvrvyfddlgcg7n5dmfad7a71" +(build-system trivial-build-system) +(arguments + `(#:modules ((guix build utils) + (srfi srfi-26)) + #:builder + (begin + (use-modules (guix build utils) + (srfi srfi-26)) + (let ((bash (string-append (assoc-ref %build-inputs "bash") "/bin")) + (bzip2 (string-append (assoc-ref %build-inputs "bzip2") "/bin")) + (java (string-append (assoc-ref %build-inputs "icedtea") +"/bin/java"))) + ;; Set paths. + (setenv "PATH" (string-append bzip2 ":" bash)) + ;; Unpack file any move into source directory. + (let ((source (assoc-ref %build-inputs "source")) + (tar (assoc-ref %build-inputs "tar"))) + (system* (string-append tar "/bin/tar") "xjf" source)) + (chdir (string-append "GeoGebra-Linux-Portable-" ,version)) + ;; Move ".jar" files and license into "share/geogebra/". + (let* ((out (assoc-ref %outputs "out")) + (bin (string-append out "/bin")) + (share (string-append out "/share")) + (applications (string-append share "/applications")) + (jar-dir (string-append share "/geogebra"))) + (for-each (cut install-file <> jar-dir) + (find-files "." "\\.jar$")) + (install-file "LICENSE.txt" jar-dir) + ;; Create a launcher into "bin/". + (install-file "geogebra/geogebra" bin) + (with-directory-excursion bin + (patch-shebang "geogebra" (list bash)) + (wrap-program "geogebra" + `("GG_PATH" = (,jar-dir)) + `("GG_SCRIPTNAME" = ("geogebra")) + `("JAVACMD" = (,java + ;; Install .desktop file in "share/applications/" + (mkdir-p applications) + (call-with-output-file + (string-append applications "/geogebra.desktop") + (lambda (port) + (format port "~ +\[Desktop Entry]~@ +Name=GeoGebra~@ +Comment=~a~@ +Exec=~a/geogebra~@ +Terminal=false~@ +Type=Application~@ +MimeType=application/vnd.geogebra.file;application/vnd.geogebra.tool~@ +Categories=Education;Science;Math;" + ,synopsis bin + #t +(native-inputs `(("bzip2" ,bzip2) + ("tar" ,tar))) +(inputs `(("bash" ,bash-minimal) + ("icedtea" ,icedtea))) +(description "GeoGebra is dynamic mathematics software for all +levels of education that brings together geometry, algebra, +spreadsheets, graphing, statistics and calculus in one package.") +(home-page "https://www.geogebra.org;) +;; Source code uses GPLv3+. Other
Re: [Patch] go@1.4
Hi Andy, And thanks for code snippet, I'll look at and see how I can integrate it with the current patches. I'm new to both go and guile, so there is still much to learn. Thanks again! -- Matthew Jordan Sent with my mu4e Andy Wingo writes: > Hi! > > I also took a look at this package over the weekend but was away from > the internet. It turns out that what is needed is to add "-rpath" > invocations to Go itself. The issue is that Go binaries are still > dynamically linked to libgcc_s, but of course there is no useful default > search path in which the run-time part of the dynamic linker will find > libgcc_s.so.1. > > Here's a build phase that works for go-1.4: > > (arguments > `(#:phases >(modify-phases %standard-phases > (delete 'configure) > (add-after 'patch-generated-file-shebangs 'chdir >(lambda _ (chdir "src"))) > (add-before 'build 'prebuild >(lambda* (#:key inputs outputs #:allow-other-keys) > (define-syntax-rule (disable-go-tests ((file) test ...) ...) >(begin > (substitute* file >(((string-append "Test" test)) > (string-append "DisabledTest" test)) >...) > ...)) > (let* ((gccgo (assoc-ref inputs "gccgo")) > (gcclib (string-append (assoc-ref inputs "gcc:lib") > "/lib")) > (ld (string-append > (assoc-ref inputs "glibc") "/lib")) > (loader (car (find-files ld "^ld-linux.+"))) > (net-base (assoc-ref inputs "net-base")) > (tzdata-path > (string-append (assoc-ref inputs "tzdata") > "/share/zoneinfo")) > (output (assoc-ref outputs "out"))) >(substitute* "cmd/go/build.go" > (("cgoldflags := \\[\\]string\\{\\}") > (string-append "cgoldflags := []string{" > "\"-rpath=" gcclib "\"" > "}")) > (("ldflags := buildLdflags") > (string-append >"ldflags := buildLdflags\n" >"ldflags = append(ldflags, \"-r\")\n" >"ldflags = append(ldflags, \"" gcclib "\")\n"))) >;; Disabling net/ tests >(delete-file "net/multicast_test.go") >(delete-file "net/parse_test.go") >(delete-file "net/port_test.go") >(substitute* "os/os_test.go" > (("/usr/bin") (getcwd)) > (("/bin/pwd") (which "pwd"))) >(disable-go-tests > (("os/os_test.go") "Hostname") > (("net/net_test.go") "ShutdownUnix") > (("net/dial_test.go") "DialTimeout") > (("time/format_test.go") "ParseInSydney") > (("os/exec/exec_test.go") > "Echo" "CommandRelativeName" "CatStdin" "CatGoodAndBadFile" > "ExitStatus" "Pipes" "StdinClose" "ExtraFiles") > (("syscall/syscall_unix_test.go") "PassFD")) >(substitute* "net/lookup_unix.go" > (("/etc/protocols") (string-append net-base > "/etc/protocols"))) >(substitute* "time/zoneinfo_unix.go" > (("/usr/share/zoneinfo/") tzdata-path)) >(substitute* (find-files "cmd" "asm.c") > (("/lib/ld-linux.*\\.so\\.[0-9]") loader) > (replace 'build >(lambda* (#:key inputs outputs #:allow-other-keys) > (let* ((gccgo (assoc-ref inputs "gccgo")) > (output (assoc-ref outputs "out"))) >(setenv "CC" (which "gcc")) >(setenv "GOOS" "linux") >(setenv "GOROOT" (getcwd)) >(setenv "GOROOT_BOOTSTRAP" gccgo) >(setenv "GOROOT_FINAL" output) >(setenv "CGO_ENABLED" "1") >(zero? (system* "sh" "all.bash") > (replace 'install >(lambda* (#:key outputs #:allow-other-keys) > (let* ((output (assoc-ref outputs "out")) > (docs (assoc-ref outputs "doc")) > (tests (assoc-ref outputs "tests"))) >(copy-recursively "../test" tests) >(delete-file-recursively "../test") >(copy-recursively "../api" (string-append docs "/api")) >(delete-file-recursively "../api") >(copy-recursively "../doc" (string-append docs "/doc")) >(delete-file-recursively "../doc") >(copy-recursively "../" output) >#:tests? #f)) > > Please feel free to take this as yours, if you like :) > > For go 1.5, it's more complicated because of the new ability in Go to > make shared libraries. I use this substitute*
[GSoC] Continuous integration tool à la Hydra.
Hello Guix! Here is a first update on my GSoC project after the first week. Hydra (https://nixos.org/hydra/) is a Nix-based continuous build system which is used by Guix to compile packages on different platforms and to distribute packages substitutes. The aim of this project is to replace Hydra with a more integrated software written in Guile. Since it would be cumbersome to speak about something without giving it a name, I have decided to call this software “Cuirass”. While being intended as a general purpose continuous integration tool, the first iteration of Cuirass is focusing only on building Guix packages. The logic of the program is simple since 'cuirass' sits in a loop: - Fetching new changes from Guix master branch - Compiling Guix code - Evaluating packages derivations - Building those derivations The Guix repository is kept in a directory set by 'CUIRASS_CACHEDIR' environment variable to avoid cloning it every time. Even if the algorithm is trivial, the implementation has required some thought in order to allow using guile code fetched from the Guix git repository. Hopefully the solution was already in 'hydra-eval-guile-jobs' script from Hydra, so I have used the same technique. Currently the build phase is failing with the following error: --8<---cut here---start->8--- Starting download of /gnu/store/y17blrd1x80nqik4ss4djbm92a5i5ivl-zsh-5.1.1.tar.gz >From http://www.zsh.org/pub/zsh-5.1.1.tar.gz... ERROR: In procedure connect*: Network is unreachable Starting download of /gnu/store/y17blrd1x80nqik4ss4djbm92a5i5ivl-zsh-5.1.1.tar.gz >From http://www.zsh.org/pub/old/zsh-5.1.1.tar.gz... ERROR: In procedure connect*: Network is unreachable Starting download of /gnu/store/y17blrd1x80nqik4ss4djbm92a5i5ivl-zsh-5.1.1.tar.gz >From >http://tarballs.nixos.org/sha256/11shllzhq53fg8ngy3bgbmpf09fn2czifg7hsb41nxi3410mpvcl... ERROR: download failed "http://tarballs.nixos.org/sha256/11shllzhq53fg8ngy3bgbmpf09fn2czifg7hsb41nxi3410mpvcl; 404 "Not Found" failed to download "/gnu/store/y17blrd1x80nqik4ss4djbm92a5i5ivl-zsh-5.1.1.tar.gz" from ("http://www.zsh.org/pub/zsh-5.1.1.tar.gz; "http://www.zsh.org/pub/old/zsh-5.1.1.tar.gz;) builder for `/gnu/store/srsm569hhqiz56abp90dksknn6mqb03j-zsh-5.1.1.tar.gz.drv' failed to produce output path `/gnu/store/y17blrd1x80nqik4ss4djbm92a5i5ivl-zsh-5.1.1.tar.gz' @ build-failed /gnu/store/srsm569hhqiz56abp90dksknn6mqb03j-zsh-5.1.1.tar.gz.drv - 1 builder for `/gnu/store/srsm569hhqiz56abp90dksknn6mqb03j-zsh-5.1.1.tar.gz.drv' failed to produce output path `/gnu/store/y17blrd1x80nqik4ss4djbm92a5i5ivl-zsh-5.1.1.tar.gz' cannot build derivation `/gnu/store/ri86p3f5w84r6pxyz54icyb0r00lmqaj-zsh-5.1.1.drv': 1 dependencies couldn't be built Backtrace: In ice-9/boot-9.scm: 157: 9 [catch #t # ...] In unknown file: ?: 8 [apply-smob/1 #] In ice-9/boot-9.scm: 63: 7 [call-with-prompt prompt0 ...] In ice-9/eval.scm: 432: 6 [eval # #] In ice-9/boot-9.scm: 63: 5 [call-with-prompt break486 ...] 63: 4 [call-with-prompt continue487 ...] In ice-9/eval.scm: 432: 3 [eval # #] In ice-9/r4rs.scm: 90: 2 [dynamic-wind # ...] In ice-9/boot-9.scm: 702: 1 [map # (# # # # ...)] In guix/store.scm: 684: 0 [build # # 0] guix/store.scm:684:15: In procedure build: guix/store.scm:684:15: Throw to key `srfi-34' with args `(#)'. --8<---cut here---end--->8--- which is probably related to the fact that https is not handled. The next step will be to fix this issue, to provide a better abstraction for the 'build jobs', and to find a way to make some test scripts using dummy jobs. For those willing to see more, a Git repository is available here: https://notabug.org/mthl/cuirass Everyone is of course welcome to provide any feedback. Thanks. -- Mathieu Lirzin
Re: [PATCH] Add zimg.
Efraim Flashnerwrites: > here's a patch to add zimg, a new dependency for vapoursynth in versions > 29 and above. Thanks, this looks good to me. Too bad the release tarball is not bootstrapped. I found that the tests contain third-party libs under Expat license (e.g. “musl”). Not sure if this needs to be declared. ~~ Ricardo
Re: [Patch] go@1.4
Hi! I also took a look at this package over the weekend but was away from the internet. It turns out that what is needed is to add "-rpath" invocations to Go itself. The issue is that Go binaries are still dynamically linked to libgcc_s, but of course there is no useful default search path in which the run-time part of the dynamic linker will find libgcc_s.so.1. Here's a build phase that works for go-1.4: (arguments `(#:phases (modify-phases %standard-phases (delete 'configure) (add-after 'patch-generated-file-shebangs 'chdir (lambda _ (chdir "src"))) (add-before 'build 'prebuild (lambda* (#:key inputs outputs #:allow-other-keys) (define-syntax-rule (disable-go-tests ((file) test ...) ...) (begin (substitute* file (((string-append "Test" test)) (string-append "DisabledTest" test)) ...) ...)) (let* ((gccgo (assoc-ref inputs "gccgo")) (gcclib (string-append (assoc-ref inputs "gcc:lib") "/lib")) (ld (string-append (assoc-ref inputs "glibc") "/lib")) (loader (car (find-files ld "^ld-linux.+"))) (net-base (assoc-ref inputs "net-base")) (tzdata-path (string-append (assoc-ref inputs "tzdata") "/share/zoneinfo")) (output (assoc-ref outputs "out"))) (substitute* "cmd/go/build.go" (("cgoldflags := \\[\\]string\\{\\}") (string-append "cgoldflags := []string{" "\"-rpath=" gcclib "\"" "}")) (("ldflags := buildLdflags") (string-append "ldflags := buildLdflags\n" "ldflags = append(ldflags, \"-r\")\n" "ldflags = append(ldflags, \"" gcclib "\")\n"))) ;; Disabling net/ tests (delete-file "net/multicast_test.go") (delete-file "net/parse_test.go") (delete-file "net/port_test.go") (substitute* "os/os_test.go" (("/usr/bin") (getcwd)) (("/bin/pwd") (which "pwd"))) (disable-go-tests (("os/os_test.go") "Hostname") (("net/net_test.go") "ShutdownUnix") (("net/dial_test.go") "DialTimeout") (("time/format_test.go") "ParseInSydney") (("os/exec/exec_test.go") "Echo" "CommandRelativeName" "CatStdin" "CatGoodAndBadFile" "ExitStatus" "Pipes" "StdinClose" "ExtraFiles") (("syscall/syscall_unix_test.go") "PassFD")) (substitute* "net/lookup_unix.go" (("/etc/protocols") (string-append net-base "/etc/protocols"))) (substitute* "time/zoneinfo_unix.go" (("/usr/share/zoneinfo/") tzdata-path)) (substitute* (find-files "cmd" "asm.c") (("/lib/ld-linux.*\\.so\\.[0-9]") loader) (replace 'build (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((gccgo (assoc-ref inputs "gccgo")) (output (assoc-ref outputs "out"))) (setenv "CC" (which "gcc")) (setenv "GOOS" "linux") (setenv "GOROOT" (getcwd)) (setenv "GOROOT_BOOTSTRAP" gccgo) (setenv "GOROOT_FINAL" output) (setenv "CGO_ENABLED" "1") (zero? (system* "sh" "all.bash") (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((output (assoc-ref outputs "out")) (docs (assoc-ref outputs "doc")) (tests (assoc-ref outputs "tests"))) (copy-recursively "../test" tests) (delete-file-recursively "../test") (copy-recursively "../api" (string-append docs "/api")) (delete-file-recursively "../api") (copy-recursively "../doc" (string-append docs "/doc")) (delete-file-recursively "../doc") (copy-recursively "../" output) #:tests? #f)) Please feel free to take this as yours, if you like :) For go 1.5, it's more complicated because of the new ability in Go to make shared libraries. I use this substitute* line: (substitute* "cmd/go/build.go" (("cgoldflags := \\[\\]string\\{\\}") (string-append "cgoldflags := []string{" "\"-rpath=" gcclib "\"" "}")) (("ldflags = setextld\\(ldflags, compiler\\)") (string-append "ldflags = setextld(ldflags, compiler)\n"
Re: [PATCH 1/2] doc: Add note for first time users on arbitrary system.
On Sun, May 29, 2016 at 07:05:39PM +0200, Hartmut Goebel wrote: > * doc/guix.texi (Binary Installation): Add note about no need for a > virtual machine. > --- > doc/guix.texi | 9 - > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/doc/guix.texi b/doc/guix.texi > index 01363c1..fab39e5 100644 > --- a/doc/guix.texi > +++ b/doc/guix.texi > @@ -19,7 +19,8 @@ Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* > Copyright @copyright{} 2015, 2016 Leo Famulari@* > Copyright @copyright{} 2016 Ben Woodcroft@* > Copyright @copyright{} 2016 Chris Marusich@* > -Copyright @copyright{} 2016 Efraim Flashner > +Copyright @copyright{} 2016 Efraim Flashner@* > +Copyright @copyright{} 2016 Hartmut Goebel > > Permission is granted to copy, distribute and/or modify this document > under the terms of the GNU Free Documentation License, Version 1.3 or > @@ -354,6 +355,12 @@ dependencies. This is often quicker than installing > from source, which > is described in the next sections. The only requirement is to have > GNU@tie{}tar and Xz. > > +Installing Guix on an arbitrary system as descibed here is absolutely ^^^ on a foreign distro (maybe?) > +save for your originating system. Only two directories, a service and a ^^^ safe > +bunch of easy-to-spot users are created. All work you'll do will be done > +within this. Even for your first steps setting up a virtual machine is > +completely unnecessary. > + > Installing goes along these lines: > > @enumerate > -- > 2.7.4 > > -- Efraim Flashnerאפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted signature.asc Description: PGP signature
Re: [PATCH] gnu: Add hdf4
Hi, Jeremy: could you send it as an attachment, or using ‘git send-email’? Here's the patch as an attachment - sorry for the hassle. I will try and work out what's going wrong so I can send proper patches in future. Jeremy -- j...@bas.ac.uk | (work) 01223 221402 (fax) 01223 362616 Unix System Administrator - British Antarctic Survey #include From 41816d45609674bbc62847960522e49a1646f6d3 Mon Sep 17 00:00:00 2001 From: Jeremy RobstDate: Mon, 23 May 2016 17:59:00 +0100 Subject: [PATCH] gnu: Add hdf4 * gnu/packages/maths.scm (hdf4): New variable --- gnu/packages/maths.scm | 41 + gnu/packages/patches/hdf4-config-settings.patch | 55 +++ 2 files changed, 96 insertions(+) create mode 100644 gnu/packages/patches/hdf4-config-settings.patch diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 19ed44f..ab4785b 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -408,6 +408,47 @@ plotting engine by third-party applications like Octave.") (license (license:fsf-free "http://gnuplot.cvs.sourceforge.net/gnuplot/gnuplot/Copyright; +(define-public hdf4 + (package +(name "hdf4") +(version "4.2.11") +(source + (origin + (method url-fetch) + (uri (string-append + "http://www.hdfgroup.org/ftp/HDF/releases/HDF; version + "/src/hdf-" version ".tar.bz2")) + (sha256 +(base32 + "16yr50j845zlfx20skmw3y75ww77akk9gg0affjqkg66ih5r03mv")) + (patches (list (search-patch "hdf4-config-settings.patch") +(build-system gnu-build-system) +(native-inputs + `(("gfortran" ,gfortran) + ("bison" ,bison) + ("flex" ,flex))) +(inputs + `(("zlib" ,zlib) + ("libjpeg" ,libjpeg))) +(arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'configure 'patch-configure + (lambda _ +(substitute* +'("mfhdf/hdfimport/testutil.sh.in" "hdf/util/testutil.sh.in") + (("/bin/rm") "rm") + (("/bin/mkdir") "mkdir")) +#t) +(home-page "https://www.hdfgroup.org/products/hdf4/;) +(synopsis + "Library and multi-object file format for storing and managing data") +(description "HDF4 is a library and multi-object file format for storing +and managing data between machines. HDF4 is an older hiearchical data format, +incompatible with HDF5.") +(license (license:non-copyleft + "https://www.hdfgroup.org/ftp/HDF/HDF_Current/src/unpacked/COPYING; + (define-public hdf5 (package (name "hdf5") diff --git a/gnu/packages/patches/hdf4-config-settings.patch b/gnu/packages/patches/hdf4-config-settings.patch new file mode 100644 index 000..e79362e --- /dev/null +++ b/gnu/packages/patches/hdf4-config-settings.patch @@ -0,0 +1,55 @@ +Honor SOURCE_DATE_EPOCH when exporting configuraton date. +Remove unreproducible configuration data. + +--- a/configure b/configure +@@ -23169,7 +23169,14 @@ + + + ## Configuration date +- CONFIG_DATE="`date`" ++ CONFIG_DATE="`date -u`" ++if test -n "$SOURCE_DATE_EPOCH"; then ++ CONFIG_DATE=`date -u -d "@$SOURCE_DATE_EPOCH" 2>/dev/null \ ++ || date -u -r "$SOURCE_DATE_EPOCH" 2>/dev/null` ++ if test -z "$CONFIG_DATE"; then ++as_fn_error $? "malformed SOURCE_DATE_EPOCH" "$LINENO" 5 ++ fi ++fi + + ## User doing the configuration + CONFIG_USER="`whoami`@`hostname`" + +--- a/libhdf4.settings.in b/libhdf4.settings.in +@@ -5,17 +5,17 @@ + --- + HDF4 Version: @H4_VERSION@ + Configured on: @CONFIG_DATE@ +- Configured by: @CONFIG_USER@ ++ Configured by: guix + Configure mode: @CONFIG_MODE@ +- Host system: @host_cpu@-@host_vendor@-@host_os@ +- Uname information: @UNAME_INFO@ ++ Host system: guix ++ Uname information: guix + Libraries: @STATIC_SHARED@ + Installation point: @prefix@ + + Compiling Options: + -- +Compilation Mode: @CONFIG_MODE@ +- C compiler: @CC_VERSION@ ++ C compiler: + CFLAGS: @CFLAGS@ +CPPFLAGS: @CPPFLAGS@ +Shared Libraries: @enable_shared@ +@@ -29,7 +29,7 @@ + Languages: + -- + Fortran: @BUILD_FORTRAN@ +-@HDF_BUILD_FORTRAN_TRUE@ Fortran Compiler: @F77_VERSION@ ++@HDF_BUILD_FORTRAN_TRUE@ Fortran Compiler: + @HDF_BUILD_FORTRAN_TRUE@ FFLAGS: @FFLAGS@ + + Features: -- 1.7.10.4
[PATCH 1/2 v2] gnu: Add teensy-loader-cli.
* gnu/packages/flashing-tools.scm (teensy-loader-cli): New variable. --- gnu/packages/flashing-tools.scm| 50 ++ gnu/packages/patches/teensy-loader-cli-usage.patch | 28 2 files changed, 78 insertions(+) create mode 100644 gnu/packages/patches/teensy-loader-cli-usage.patch diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 9f9f1b9..1822934 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Mark H Weaver;;; Copyright © 2014 Manolis Fragkiskos Ragkousis +;;; Copyright © 2016 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -130,3 +131,52 @@ technique (ISP).") Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting ISP.") (license gpl2+))) + +(define-public teensy-loader-cli + ;; The repo does not tag versions nor does it use releases, but a commit + ;; message says "Importing 2.1", while the sourcce still says "2.0". So pin + ;; to a fixed commit. + (let* ((commit "f289b7a2e5627") + ;; Mind the version substitute below when changing this + (versionx (string-append "2.1-1." (string-take commit 7 + (package +(name "teensy-loader-cli") +(version versionx) +(source + (origin + (method url-fetch) + (uri (string-append "https://github.com/PaulStoffregen/; + "teensy_loader_cli/archive/" commit ".tar.gz")) + (sha256 (base32 "17wqc2q4fa473cy7f5m2yiyb9nq0qw7xal2kzrxzaikgm9rabsw8")) + (file-name (string-append "teensy-loader-cli-" version ".tar.gz" )) + (patches (search-patches "teensy-loader-cli-usage.patch" +(build-system gnu-build-system) +(arguments + '(#:tests? #f ;; Makefile has no test target + #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-version + (lambda _ + (substitute* "teensy_loader_cli.c" + (("Teensy Loader, Command Line, Version 2.0n") +;; TODO: find a way to pass version from above +(string-append "Teensy Loader, Command Line, Version 2.1-1\\n") + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) +(bin (string-append out "/bin"))) + (rename-file "teensy_loader_cli" "teensy-loader-cli") + (install-file "teensy-loader-cli" bin))) +(inputs + `(("libusb-compat" ,libusb-compat))) +(synopsis "Command line firmware uploader for teensy development boards") +(description "The Teensy Loader program communicates with your +Teensy board when the HalfKay bootloader is running, so you can +download new programs and run them. + +You'll need to add the udev-rules to make the teensy update available +for non-root users.") +(home-page "https://www.pjrc.com/teensy/loader_cli.html;) +(license gpl3 diff --git a/gnu/packages/patches/teensy-loader-cli-usage.patch b/gnu/packages/patches/teensy-loader-cli-usage.patch new file mode 100644 index 000..097c61e --- /dev/null +++ b/gnu/packages/patches/teensy-loader-cli-usage.patch @@ -0,0 +1,28 @@ +--- b/teensy_loader_cli.c.orig 2016-04-07 02:05:41.0 +0200 a/teensy_loader_cli.c 2016-05-29 14:32:44.861930222 +0200 +@@ -37,14 +37,15 @@ + { + if(err != NULL) fprintf(stderr, "%s\n\n", err); + fprintf(stderr, +- "Usage: teensy_loader_cli --mcu= [-w] [-h] [-n] [-b] [-v] \n" ++ "Usage: teensy-loader-cli --mcu= [-h] [-w] [-n] [-b] [-v] \n" ++ "\t-h : Print this help message\n" + "\t-w : Wait for device to appear\n" + "\t-r : Use hard reboot if device not online\n" + "\t-s : Use soft reboot if device not online (Teensy3.x only)\n" + "\t-n : No reboot after programming\n" + "\t-b : Boot only, do not program\n" + "\t-v : Verbose output\n" +- "\nUse `teensy_loader_cli --list-mcus` to list supported MCUs.\n" ++ "\nUse `teensy-loader-cli --list-mcus` to list supported MCUs.\n" + "\nFor more information, please visit:\n" + "http://www.pjrc.com/teensy/loader_cli.html\n;); + exit(1); +@@ -1081,6 +1082,7 @@ + int i; + for(i=1; arg[i]; i++) { + switch(arg[i]) { ++ case 'h': usage(NULL); break; + case 'w': wait_for_device_to_appear = 1; break; + case 'r': hard_reboot_device = 1; break; + case 's': soft_reboot_device = 1; break; -- 2.7.4 This version of the
[PATCH 2/2] doc: Update specification for Python packages
* doc/guix.texi (Python Packages): Add rule for packages with upstream name starting with "py". --- doc/guix.texi | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index fab39e5..843f434 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -11104,7 +11104,9 @@ packages with the corresponding names. If a project already contains the word @code{python}, we drop this; for instance, the module python-dateutil is packaged under the names -@code{python-dateutil} and @code{python2-dateutil}. +@code{python-dateutil} and @code{python2-dateutil}. If the project name +starts with @code{py} (e.g. @code{pytz}), we keep it and prefix it as +described above. @node Perl Modules -- 2.7.4
[PATCH 1/2] doc: Add note for first time users on arbitrary system.
* doc/guix.texi (Binary Installation): Add note about no need for a virtual machine. --- doc/guix.texi | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 01363c1..fab39e5 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -19,7 +19,8 @@ Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@* Copyright @copyright{} 2015, 2016 Leo Famulari@* Copyright @copyright{} 2016 Ben Woodcroft@* Copyright @copyright{} 2016 Chris Marusich@* -Copyright @copyright{} 2016 Efraim Flashner +Copyright @copyright{} 2016 Efraim Flashner@* +Copyright @copyright{} 2016 Hartmut Goebel Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or @@ -354,6 +355,12 @@ dependencies. This is often quicker than installing from source, which is described in the next sections. The only requirement is to have GNU@tie{}tar and Xz. +Installing Guix on an arbitrary system as descibed here is absolutely +save for your originating system. Only two directories, a service and a +bunch of easy-to-spot users are created. All work you'll do will be done +within this. Even for your first steps setting up a virtual machine is +completely unnecessary. + Installing goes along these lines: @enumerate -- 2.7.4
[PATCH 2/3] gnu: add python-sqlparse and python2-sqlparse
* gnu/packages/python.scm (python-sqlparse) (python2-sqlparse): New variables. --- gnu/packages/python.scm | 34 ++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 96163cf..cda4dd3 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -8831,3 +8831,37 @@ multiple processes (imagine multiprocessing, billiard, futures, celery etc). (define-public python2-tblib (package-with-python2 python-tblib)) + +(define-public python-sqlparse + (package +(name "python-sqlparse") +(version "0.1.19") +(source + (origin + (method url-fetch) + (uri (pypi-uri "sqlparse" version)) + (sha256 (base32 + "1s2fvaxgh9kqzrd6iwy5h7i61ckn05plx9np13zby93z3hdbx5nq" +(build-system python-build-system) +(arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda* _ + ;; setup.py-integrated 2to3 only affects the build files, but + ;; py.test is using the source files. So we need to convert them + ;; manually. + (when (zero? (system* "python3")) + (system* "2to3" "--no-diff" "-wn" "sqlparse" "tests")) + (zero? (system* "py.test"))) +(native-inputs + `(("python-pytest" ,python-pytest) + ("python-setuptools" ,python-setuptools))) +(home-page "https://github.com/andialbrecht/sqlparse;) +(synopsis "Non-validating SQL parser") +(description "sqlparse is a non-validating SQL parser for Python. It +provides support for parsing, splitting and formatting SQL statements.") +(license bsd-3))) + +(define-public python2-sqlparse + (package-with-python2 python-sqlparse)) -- 2.7.4
[PATCH 0/3] Update 2: Some new python packages
This is another update for my pathced from 2016-04-17 resp. 2016-04-21. Changes to the second version of the patches tblib: fixed test suite (Thanks to Leo Famulari for spotting this) sqlparser: Use "when" instead of one-armed "if" sqlparser: still use "which python3" since using get-python-version is complicated and ugly ipaddr: unchanged selenium: dropped maxminddb: dropped geoip2: dropped I dropped these modules since packaging them is too much effort for me now and I don't need them. The patches are still available at https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00877.html Hartmut Goebel (3): gnu: Add python-tblib and python2-tblib gnu: add python-sqlparse and python2-sqlparse gnu: Add python2-ipaddr, a Python-2-only package gnu/packages/python.scm | 106 1 file changed, 106 insertions(+) -- 2.7.4
[PATCH 3/3] gnu: Add python2-ipaddr, a Python-2-only package
* gnu/packages/python.scm: (python2-ipaddr): New variable.. --- gnu/packages/python.scm | 29 + 1 file changed, 29 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index cda4dd3..8c833ff 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -5788,6 +5788,35 @@ IPv6 addresses and networks. This is a port of the Python 3.3 ipaddress module to older versions of Python.") (license psfl))) +(define-public python2-ipaddr + (package +(name "python2-ipaddr") +(version "2.1.11") +(source + (origin + (method url-fetch) + (uri (pypi-uri "ipaddr" version)) + (sha256 +(base32 "1dwq3ngsapjc93fw61rp17fvzggmab5x1drjzvd4y4q0i255nm8v" +(build-system python-build-system) +(arguments + `(#:python ,python-2 + #:phases + (modify-phases %standard-phases + (replace 'check + (lambda* _ + (zero? (system* "python" "ipaddr_test.py"))) +(home-page "https://github.com/google/ipaddr-py;) +(synopsis "IP address manipulation library by Google") +(description + "Ipaddr is a Python library for creating and manupilating IPv4 and IPv6 +addresses and networks. + +For new implementations you may prefer to use the standard module +@code{ipaddress}, which was introduced in Python 3.3 and backported to older +versions of Python.") +(license asl2.0))) + (define-public python-idna (package (name "python-idna") -- 2.7.4
Re: Branching based on Python version (was [PATCH 2/6] gnu: add python-sqlparse and python2-sqlparse)
Am 24.04.2016 um 23:40 schrieb Ludovic Courtès: > (guix build python-build-system) includes ‘get-python-version’, which > could be used for this purpose. I looked into this: using it is very cumbersome, since it requires `python` to be passed: (get-python-version (assoc-ref inputs "python"))) Which then makes the "lambda" definition more complicated and the test itself much more ugly :-( So I'll keep the `system` call. -- Regards Hartmut Goebel | Hartmut Goebel | h.goe...@crazy-compilers.com | | www.crazy-compilers.com | compilers which you thought are impossible |
[PATCH 4/4] emacs-seq
From d8c560cd5b2335b01b19edec67cbd8a69e5ee3a4 Mon Sep 17 00:00:00 2001 From: humanitiesNerdDate: Sun, 29 May 2016 13:44:00 +0200 Subject: gnu: Add emacs-seq. * gnu/packages/emacs.scm (emacs-seq). --- diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 014a58c..c71a603 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1770,3 +1770,33 @@ structure is sometimes called an \"output-restricted deque\")") (description "Add spinners and progress-bars to the mode-line for ongoing operations.") (license license:gpl3+))) + +(define-public emacs-seq + (package +(name "emacs-seq") +(version "2.15") +(source + (origin + (method url-fetch) + (uri (string-append + "http://elpa.gnu.org/packages/seq-; + version ".tar")) + (sha256 +(base32 + "09wi1765bmn7i8fg6ajjfaxgs4ipc42d58zx2fdqpidrdg9c7q73" +(build-system emacs-build-system) +(home-page "http://elpa.gnu.org/packages/seq.html;) +(synopsis "Sequence manipulation functions") +(description + "Sequence-manipulation functions that complement basic functions +provided by @code{subr.el} + +All functions are prefixed with \"seq-\". + +All provided functions work on lists, strings and vectors. + +Functions taking a predicate or iterating over a sequence using a +function as argument take the function as their first argument and +the sequence as their second argument. All other functions take +the sequence as their first argument.") +(license license:gpl3+))) -- 2.5.5
[PATCH 3/4] emacs-spinner
From ac23b10894d3332484128c4ed3c6f6bdf81b9c2e Mon Sep 17 00:00:00 2001 From: humanitiesNerdDate: Sun, 29 May 2016 10:25:21 +0200 Subject: gnu: Add emacs-spinner. * gnu/packages/emacs.scm (emacs-spinner). --- diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 92ad434..014a58c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1749,3 +1749,24 @@ structure is sometimes called an \"output-restricted deque\")") (description "This library extracts information from installed packages.") (license license:gpl3+))) + +(define-public emacs-spinner + (package +(name "emacs-spinner") +(version "1.7.1") +(source + (origin + (method uncompressed-file-fetch) + (uri (string-append + "http://elpa.gnu.org/packages/spinner-; + version ".el")) + (sha256 +(base32 + "1fmwzdih0kbyvs8bn38mpm4sbs2mikqy2vdykfy9g20wpa8vb681" +(build-system emacs-build-system) +(home-page "https://github.com/Malabarba/spinner.el;) +(synopsis + "Add spinners and progress-bars to the mode-line for ongoing operations") +(description "Add spinners and progress-bars +to the mode-line for ongoing operations.") +(license license:gpl3+))) -- 2.5.5
[PATCH 2/4] emacs-pkg-info
From 6b4542d9f52b8f91375d07bd41bcc196a1c0515a Mon Sep 17 00:00:00 2001 From: humanitiesNerdDate: Sun, 29 May 2016 10:23:00 +0200 Subject: gnu: Add emacs-pkg-info. * gnu/packages/emacs.scm (emacs-pkg-info). --- diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 90f55ea..92ad434 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1727,3 +1727,25 @@ first-in first-out (FIFO) stack, i.e. elements can be added to the front or back of the queue, and can be removed from the front. (This type of data structure is sometimes called an \"output-restricted deque\")") (license license:gpl3+))) + +(define-public emacs-pkg-info + (package +(name "emacs-pkg-info") +(version "0.6") +(source + (origin + (method url-fetch) + (uri (string-append + "https://github.com/lunaryorn/pkg-info.el/archive/; + version ".tar.gz")) + (file-name (string-append name "-" version ".tar.gz")) + (sha256 +(base32 + "1gy1jks5mmm02gg1c8gcyr4f8a9s5ggzhk56gv33b9mzjqzi5rd5" +(build-system emacs-build-system) +(propagated-inputs `(("emacs-epl" ,emacs-epl))) +(home-page "https://github.com/lunaryorn/pkg-info.el;) +(synopsis "Information about packages") +(description + "This library extracts information from installed packages.") +(license license:gpl3+))) -- 2.5.5
[PATCH 1/2] gnu: Add teensy-loader-cli.
* gnu/packages/flashing-tools.scm (teensy-loader-cli): New variable. --- gnu/packages/flashing-tools.scm | 50 + 1 file changed, 50 insertions(+) diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 9f9f1b9..1822934 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Mark H Weaver;;; Copyright © 2014 Manolis Fragkiskos Ragkousis +;;; Copyright © 2016 Hartmut Goebel ;;; ;;; This file is part of GNU Guix. ;;; @@ -130,3 +131,52 @@ technique (ISP).") Atmel (8051, AVR, XMEGA & AVR32) chips with a USB bootloader supporting ISP.") (license gpl2+))) + +(define-public teensy-loader-cli + ;; The repo does not tag versions nor does it use releases, but a commit + ;; message says "Importing 2.1", while the sourcce still says "2.0". So pin + ;; to a fixed commit. + (let* ((commit "f289b7a2e5627") + ;; Mind the version substitute below when changing this + (versionx (string-append "2.1-1." (string-take commit 7 + (package +(name "teensy-loader-cli") +(version versionx) +(source + (origin + (method url-fetch) + (uri (string-append "https://github.com/PaulStoffregen/; + "teensy_loader_cli/archive/" commit ".tar.gz")) + (sha256 (base32 "17wqc2q4fa473cy7f5m2yiyb9nq0qw7xal2kzrxzaikgm9rabsw8")) + (file-name (string-append "teensy-loader-cli-" version ".tar.gz" )) + (patches (search-patches "teensy-loader-cli-usage.patch" +(build-system gnu-build-system) +(arguments + '(#:tests? #f ;; Makefile has no test target + #:make-flags (list "CC=gcc" (string-append "PREFIX=" %output)) + #:phases + (modify-phases %standard-phases + (add-before 'configure 'fix-version + (lambda _ + (substitute* "teensy_loader_cli.c" + (("Teensy Loader, Command Line, Version 2.0n") +;; TODO: find a way to pass version from above +(string-append "Teensy Loader, Command Line, Version 2.1-1\\n") + (delete 'configure) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) +(bin (string-append out "/bin"))) + (rename-file "teensy_loader_cli" "teensy-loader-cli") + (install-file "teensy-loader-cli" bin))) +(inputs + `(("libusb-compat" ,libusb-compat))) +(synopsis "Command line firmware uploader for teensy development boards") +(description "The Teensy Loader program communicates with your +Teensy board when the HalfKay bootloader is running, so you can +download new programs and run them. + +You'll need to add the udev-rules to make the teensy update available +for non-root users.") +(home-page "https://www.pjrc.com/teensy/loader_cli.html;) +(license gpl3 -- 2.7.4
[PATCH 2/2] gnu: Add dfu-util.
* gnu/packages/flashing-tools.scm (dfu-util): New variable. --- gnu/packages/flashing-tools.scm | 31 +++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/flashing-tools.scm b/gnu/packages/flashing-tools.scm index 1822934..58a137d 100644 --- a/gnu/packages/flashing-tools.scm +++ b/gnu/packages/flashing-tools.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages libftdi) #:use-module (gnu packages pciutils) + #:use-module (gnu packages autotools) #:use-module (gnu packages admin)) (define-public flashrom @@ -180,3 +181,33 @@ You'll need to add the udev-rules to make the teensy update available for non-root users.") (home-page "https://www.pjrc.com/teensy/loader_cli.html;) (license gpl3 + +(define-public dfu-util + (package +(name "dfu-util") +(version "0.9") +(source + (origin + (method url-fetch) + (uri "http://dfu-util.sourceforge.net/releases/dfu-util-0.9.tar.gz;) + (sha256 (base32 "0czq73m92ngf30asdzrfkzraag95hlrr74imbanqq25kdim8qhin" +(build-system gnu-build-system) +(arguments + '(#:phases + (modify-phases %standard-phases + (add-before 'configure 'autoconf + (lambda _ (zero? (system* "autoreconf" "-vfi"))) +(inputs + `(("libusb" ,libusb))) +(native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("pkg-config" ,pkg-config))) +(synopsis "Host (PC) side of the USB Device Firmware Upgrade (DFU) 1.0 and 1.1 protocol") +(description "DFU (Universal Serial Bus Device Firmware Upgrade) protocol +is intended to download and upload firmware to devices connected over USB. It +ranges from small devices like micro-controller boards up to mobile phones. +With dfu-util you are able to download firmware to your device or upload +firmware from it.") +(home-page "http://dfu-util.sourceforge.net/;) +(license gpl2+))) -- 2.7.4
[PATCH 1/1] services: urandom-seed: Set umask to 077 while shutting down.
* gnu/services/base.scm (urandom-seed-shepherd-service): Call 'umask'. --- gnu/services/base.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index a45f219..8ed40a4 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -461,6 +461,7 @@ stopped before 'kill' is called." (call-with-input-file "/dev/urandom" (lambda (urandom) (get-bytevector-n! urandom buf 0 512) + (umask #o077) (call-with-output-file #$%random-seed-file (lambda (seed) (put-bytevector seed buf))) -- 2.8.3
[PATCH] Add zimg.
here's a patch to add zimg, a new dependency for vapoursynth in versions 29 and above. -- Efraim Flashnerאפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted From 280b1d63e16d223eb29291421b652a13bc077795 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 29 May 2016 14:48:42 +0300 Subject: [PATCH] gnu: Add zimg. * gnu/packages/image.scm (zimg): New variable. --- gnu/packages/image.scm | 32 1 file changed, 32 insertions(+) diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm index 3651e97..17d1bdd 100644 --- a/gnu/packages/image.scm +++ b/gnu/packages/image.scm @@ -766,3 +766,35 @@ implementation of the codec specified in the JPEG-2000 Part-1 standard (i.e., ISO/IEC 15444-1).") (home-page "https://www.ece.uvic.ca/~frodo/jasper/;) (license (license:x11-style "file://LICENSE" + +(define-public zimg + (package +(name "zimg") +(version "2.1") +(source + (origin +(method url-fetch) +(uri (string-append "https://github.com/sekrit-twc/zimg/archive/; +"release-" version ".tar.gz")) +(file-name (string-append name "-" version ".tar.gz")) +(sha256 + (base32 + "1hqp1gcsa2zhypms5dnasb1srjgxdqm7cip3w5i571kk9nxkn289" +(build-system gnu-build-system) +(native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool))) +(arguments + '(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'autogen + (lambda _ + (zero? (system* "sh" "autogen.sh"))) +(synopsis "Scaling, colorspace conversion, and dithering library") +(description "Zimg implements the commonly required image processing basics +of scaling, colorspace conversion, and depth conversion. A simple API enables +conversion between any supported formats to operate with minimal knowledge from +the programmer.") +(home-page "https://github.com/sekrit-twc/zimg;) +(license (license:fsf-free "file://COPYING" ;WTFPL version 2 -- 2.8.3 signature.asc Description: PGP signature