Re: hackage importer
Federico Beffa skribis: > On Fri, Jun 5, 2015 at 9:30 AM, Ludovic Courtès wrote: [...] >>> +(define (make-stack) >>> + "Creates a simple stack closure. Actions on the generated stack are >>> +requested by calling it with one of the following symbols as the first >>> +argument: 'empty?, 'push!, 'top, 'pop! and 'clear!. The action 'push! is >>> the >>> +only one requiring a second argument corresponding to the object to be >>> added >>> +to the stack." >>> + (let ((stack '())) >>> +(lambda (msg . args) >>> + (cond ((eqv? msg 'empty?) (null? stack)) >>> +((eqv? msg 'push!) (set! stack (cons (first args) stack))) >>> +((eqv? msg 'top) (if (null? stack) '() (first stack))) >>> +((eqv? msg 'pop!) (match stack >>> +((e r ...) (set! stack (cdr stack)) e) >>> +(_ #f))) >>> +((eqv? msg 'clear!) (set! stack '())) >>> +(else #f) >> >> Fair enough. :-) I wonder what happens exactly when trying to return >> monadic values in the parser. > > Given that the parser repeatedly calls the tunk generated by > 'make-lexer' without passing any state or knowing anything about to > which monad it may belong to, I thought that it would not work. But, > as you see, I'm new to Scheme, new to monads, and new to Lisp in > general. I think the rules can return any kind of value, so there shouldn’t be a problem with returning monadic values (of course it won’t bind them for you, but that’s not a problem.) Anyway, an exercise for later. ;-) >>> +;; Stack to track the structure of nested blocks >>> +(define context-stack (make-stack)) >> >> What about making it either a SRFI-39 parameter, or a parameter to >> ‘make-cabal-parser’? > > I made it a parameter. Thanks for suggesting it! It made me realize > what they are really used for :-) > Do you think it is correct to say that they serve the purpose of > special variables in Lisp? (I'm looking a little bit into Common Lisp > as well.) Not sure what you mean by “special variables” (and I’m not familiar with CL), but the concept is fairly common: It’s dynamic scoping, which is the default in elisp, sometimes called “fluids”, sometimes “parameters.” > From 8a28ed0f3c3077ce12d4924c59e317c52a68a77e Mon Sep 17 00:00:00 2001 > From: Federico Beffa > Date: Sun, 26 Apr 2015 11:22:29 +0200 > Subject: [PATCH] import: hackage: Refactor parsing code and add new options. > > * guix/import/cabal.scm: New file. > * guix/import/hackage.scm: Update to use the new Cabal parsing module. > * tests/hackage.scm: Update tests. > * guix/scripts/import/hackage.scm: Add new '--cabal-environment' and '--stdin' > options. > * doc/guix.texi: ... and document them. > * Makefile.am (MODULES): Add 'guix/import/cabal.scm', > 'guix/import/hackage.scm' and 'guix/scripts/import/hackage.scm'. > (SCM_TESTS): Add 'tests/hackage.scm'. OK to commit, thank you! (I had not realized the hackage.scm files were missing from the Makefile until now.) Thanks, Ludo’. PS: Commit 751630c adds n-ary >>= for your pleasure. ;-)
Re: hackage importer
On Tue, Jun 9, 2015 at 9:38 AM, Ludovic Courtès wrote: > OK to commit, thank you! Pushed. > PS: Commit 751630c adds n-ary >>= for your pleasure. ;-) Thanks :-) Fede
[PATCH] gnu: icedtea7: Bootstrap with GCJ.
The attached patch removes icedtea6 from the inputs of icedtea7. IcedTea7 can now be built with just GCJ. >From d4c04d81e4c8b43636e5f9adb279e8ef6a0b8752 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 9 Jun 2015 12:53:23 +0200 Subject: [PATCH] gnu: icedtea7: Bootstrap with GCJ. * gnu/packages/java.scm (icedtea7): Bootstrap with GCJ rather than compile with IcedTea6. --- gnu/packages/java.scm | 71 ++- 1 file changed, 36 insertions(+), 35 deletions(-) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index e741fca..2a1d087 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -693,6 +693,9 @@ build process and its dependencies, whereas Make uses Makefile format.") (modules '((guix build utils))) (snippet '(substitute* "Makefile.in" +;; link against libgcj to avoid linker error +(("-o native-ecj") + "-lgcj -o native-ecj") ;; do not leak information about the build host (("DISTRIBUTION_ID=\"\\$\\(DIST_ID\\)\"") "DISTRIBUTION_ID=\"\\\"guix\\\"\"") @@ -710,15 +713,7 @@ build process and its dependencies, whereas Make uses Makefile format.") #:locale "C" ,@(substitute-keyword-arguments (package-arguments icedtea6) ((#:configure-flags flags) - `(let ((jdk (assoc-ref %build-inputs "icedtea6")) - (ant (assoc-ref %build-inputs "ant"))) - `("--disable-bootstrap" - "--without-rhino" - "--enable-nss" - "--enable-system-lcms" - "--disable-downloading" - ,(string-append "--with-ant-home=" ant) - ,(string-append "--with-jdk-home=" jdk + `(delete "--with-openjdk-src-dir=./openjdk" ,flags)) ((#:phases phases) `(modify-phases ,phases (replace @@ -760,30 +755,37 @@ build process and its dependencies, whereas Make uses Makefile format.") (replace 'set-additional-paths (lambda* (#:key inputs #:allow-other-keys) -(substitute* "openjdk/jdk/make/common/shared/Sanity.gmk" - (("ALSA_INCLUDE=/usr/include/alsa/version.h") - (string-append "ALSA_INCLUDE=" - (assoc-ref inputs "alsa-lib") - "/include/alsa/version.h"))) -(setenv "CC" "gcc") -(setenv "CPATH" -(string-append (assoc-ref inputs "libxrender") - "/include/X11/extensions" ":" - (assoc-ref inputs "libxtst") - "/include/X11/extensions" ":" - (assoc-ref inputs "libxinerama") - "/include/X11/extensions" ":" - (or (getenv "CPATH") ""))) -(setenv "ALT_OBJCOPY" (which "objcopy")) -(setenv "ALT_CUPS_HEADERS_PATH" -(string-append (assoc-ref inputs "cups") - "/include")) -(setenv "ALT_FREETYPE_HEADERS_PATH" -(string-append (assoc-ref inputs "freetype") - "/include")) -(setenv "ALT_FREETYPE_LIB_PATH" -(string-append (assoc-ref inputs "freetype") - "/lib" +(let (;; Get target-specific include directory so that + ;; libgcj-config.h is found when compiling hotspot. + (gcjinclude (let* ((port (open-input-pipe "gcj -print-file-name=include")) + (str (read-line port))) +(close-pipe port) +str))) + (substitute* "openjdk/jdk/make/common/shared/Sanity.gmk" +(("ALSA_INCLUDE=/usr/include/alsa/version.h") + (string-append "ALSA_INCLUDE=" +(assoc-ref inputs "alsa-lib") +"/include/alsa/version.h"))) + (setenv "CC" "gcc") + (setenv "CPATH" + (string-append gcjinclude ":" + (assoc-ref inputs "libxrender") + "/include/X11/extensions" ":" + (assoc-ref inputs "libxtst")
[PATCH] Add st
This patch st terminal emulator from suckless. This is my first patch! This installs flawlessly except: - `tic -s terminfo -s info` which fails because it try to install in an unknown home directory. In Gentoo they install it in /usr/share/terminfo [1]. A added a patch to avoid this issue. One has to export TERM=xterm to make it possible to use terminal applications. - The default config.def.h use Liberation font, this is ok. However it's might be better to activate antialias and autohint? [1] https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-terms/st/st-0.5.ebuild?view=markup
[PATCH] doc: Merge 'HACKING' into Texinfo manual.
Hello Guix, This patch will need an update when Alex recent patch (doc: Add 'help2man' to HACKING.) will be pushed. do 'HACKING' copyright notices need to be added to the manual too? -- Mathieu Lirzin >From ccbbddb5d5335b3714a4e6204498f1fc24dca6ab Mon Sep 17 00:00:00 2001 From: Mathieu Lirzin Date: Tue, 9 Jun 2015 00:08:43 +0200 Subject: [PATCH] doc: Merge 'HACKING' into Texinfo manual. * HACKING: Delete file. (Building from Git, The Perfect Setup, Coding Style, Submitting Patches): Move to ... * doc/guix.texi (Running Guix Before It Is Installed): Likewise. (Contributing): ... here. * README (Installation): Adapt to it. * configure.ac (DOT): Likewise. * Makefile.am (EXTRA_DIST): Likewise. --- HACKING | 163 - Makefile.am | 1 - README| 4 +- configure.ac | 2 +- doc/guix.texi | 254 +++--- 5 files changed, 212 insertions(+), 212 deletions(-) delete mode 100644 HACKING diff --git a/HACKING b/HACKING deleted file mode 100644 index cf10ba5..000 --- a/HACKING +++ /dev/null @@ -1,163 +0,0 @@ --*- mode: org; coding: utf-8; -*- - -#+TITLE: Hacking GNU Guix and Its Incredible Distro - -Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès -Copyright © 2013 Nikita Karetnikov -Copyright © 2014 Pierre-Antoine Rault - - Copying and distribution of this file, with or without modification, - are permitted in any medium without royalty provided the copyright - notice and this notice are preserved. - - -* Building from Git - -When building Guix from a checkout, the following packages are required in -addition to those mentioned in the installation instructions: - - - [[http://www.gnu.org/software/autoconf/][GNU Autoconf]] - - [[http://www.gnu.org/software/automake/][GNU Automake]] - - [[http://www.gnu.org/software/gettext/][GNU Gettext]] - - [[http://www.graphviz.org/][Graphviz]] - -Run ‘./bootstrap’ to download the Nix daemon source code and to generate the -build system infrastructure using autoconf. It reports an error if an -inappropriate version of the above packages is being used. - -If you get an error like this one: - - configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES - -it probably means that Autoconf couldn’t find ‘pkg.m4’, which is provided by -pkg-config. Make sure that ‘pkg.m4’ is available. For instance, if you -installed Automake in ‘/usr/local’, it wouldn’t look for ‘.m4’ files in -‘/usr/share’. So you have to invoke the following command in that case - - $ export ACLOCAL_PATH=/usr/share/aclocal - -See “info '(automake) Macro Search Path'” for more information. - -Then, run ‘./configure’ as usual. - -Finally, you have to invoke ‘make check’ to run tests. If anything fails, -take a look at “info '(guix) Installation'” or send a message to -. - -* Running Guix before it is installed - -See the same-named section in the manual. - -* The Perfect Setup - -The Perfect Setup to hack on Guix is basically the perfect setup used -for Guile hacking (info "(guile) Using Guile in Emacs"). First, you -need more than an editor, you need [[http://www.gnu.org/software/emacs][Emacs]], empowered by the wonderful -[[http://nongnu.org/geiser/][Geiser]]. - -Geiser allows for interactive and incremental development from within -Emacs: code compilation and evaluation from within buffers, access to -on-line documentation (docstrings), context-sensitive completion, M-. to -jump to an object definition, a REPL to try out your code, and more. - -To actually edit the code, Emacs already has a neat Scheme mode. But in -addition to that, you must not miss [[http://www.emacswiki.org/emacs/ParEdit][Paredit]]. It provides facilities to -directly operate on the syntax tree, such as raising an s-expression or -wrapping it, swallowing or rejecting the following s-expression, etc. - -* Submitting Patches - -Development is done using the Git distributed version control system. Thus, -access to the repository is not strictly necessary. We welcome contributions -in the form of patches as produced by ‘git format-patch’ sent to -guix-devel@gnu.org. Please write commit logs in the [[http://www.gnu.org/prep/standards/html_node/Change-Logs.html#Change-Logs][GNU ChangeLog -format]]; you can check the commit history for examples. - -Before submitting a patch that adds or modifies a package definition, please -run ‘guix lint PACKAGE’, where PACKAGE is the name of the new or modified -package, and fix any errors it reports. In addition, please make sure the -package builds on your platform, using ‘guix build’. You may also want to -check that dependent package (if applicable) are not affected by the change; -‘guix refresh --list-dependent PACKAGE’ will help you do that. - -When posting a patch to the mailing list, use "[PATCH] ..." as a subject. You -may use your email client or the ‘git send-mail’ command. - -As you become a regular contributor, you may find it convenient to have writ
Re: [PATCH] Add st
With the patch this time ^^' On 2015-06-09 13:04, amirou...@hypermove.net wrote: This patch st terminal emulator from suckless. This is my first patch! This installs flawlessly except: - `tic -s terminfo -s info` which fails because it try to install in an unknown home directory. In Gentoo they install it in /usr/share/terminfo [1]. A added a patch to avoid this issue. One has to export TERM=xterm to make it possible to use terminal applications. - The default config.def.h use Liberation font, this is ok. However it's might be better to activate antialias and autohint? [1] https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-terms/st/st-0.5.ebuild?view=markupFrom 385f7129b405d136cbbb7dbffa35bf6f62cffc93 Mon Sep 17 00:00:00 2001 From: amz3 Date: Sun, 7 Jun 2015 19:04:28 +0200 Subject: [PATCH] gnu: add st. * gnu/packages/dwm.scm (st): New variable. * gnu/packages/patches/st-0.5-do-not-install-terminfo.patch: New file. --- gnu/packages/dwm.scm | 50 +- .../patches/st-0.5-do-not-install-terminfo.patch | 13 ++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/st-0.5-do-not-install-terminfo.patch diff --git a/gnu/packages/dwm.scm b/gnu/packages/dwm.scm index 98fa122..b82297f 100644 --- a/gnu/packages/dwm.scm +++ b/gnu/packages/dwm.scm @@ -22,7 +22,11 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages fonts) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config) + #:use-module ((gnu packages fontutils) #:prefix font-utils:)) (define-public dwm (package @@ -139,3 +143,47 @@ numbers of user-defined menu items efficiently.") (description "Simple X session lock with trivial feedback on password entry.") (license x11))) + + +(define-public st + (package +(name "st") +(version "0.5") +(source + (origin + (method url-fetch) + (uri (string-append "http://dl.suckless.org/st/st-"; + version ".tar.gz")) + (patches (list (search-patch "st-0.5-do-not-install-terminfo.patch"))) + (sha256 +(base32 + "0knxpzaa86pprng6hak8hx8bw22yw22rpz1ffxjpcvqlz3xdv05f" +(build-system gnu-build-system) +(arguments + '(#:tests? #f ; no tests + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases + (alist-delete 'configure %standard-phases))) +(inputs + `(("libx11" ,libx11) + ("libxft" ,libxft) + ("libxcomposite" ,libxcomposite) + ("compositeproto" ,compositeproto) + ("libxext" ,libxext) + ("xextproto" ,xextproto) + ("libxrender" ,libxrender) + ("fontconfig" ,font-utils:fontconfig) + ("freetype" ,font-utils:freetype) + ("font-liberation5" ,font-liberation))) +(native-inputs `(("pkg-config" ,pkg-config) + ("ncurses" ,ncurses))) +(home-page "http://st.suckless.org/";) +(synopsis "Simple terminal emulator") +(description + "Xterm is bloated and unmaintainable. It has over 65K lines of code and + emulates obscure and obsolete terminals you will never need. The popular + alternative, rxvt has only 32K lines of code. This is just too much for + something as simple as a terminal emulator; itâs yet another example of + code complexity. st fix that.") +(license x11))) diff --git a/gnu/packages/patches/st-0.5-do-not-install-terminfo.patch b/gnu/packages/patches/st-0.5-do-not-install-terminfo.patch new file mode 100644 index 000..089c423 --- /dev/null +++ b/gnu/packages/patches/st-0.5-do-not-install-terminfo.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 6158ab2..93cb684 100644 +--- a/Makefile b/Makefile +@@ -48,8 +48,6 @@ install: all + @mkdir -p ${DESTDIR}${MANPREFIX}/man1 + @sed "s/VERSION/${VERSION}/g" < st.1 > ${DESTDIR}${MANPREFIX}/man1/st.1 + @chmod 644 ${DESTDIR}${MANPREFIX}/man1/st.1 +- @echo Please see the README file regarding the terminfo entry of st. +- @tic -s st.info + + uninstall: + @echo removing executable file from ${DESTDIR}${PREFIX}/bin -- 2.2.1
Re: HTTP and FTP proxies for guix package / guix-daemon
On Tue, Jun 9, 2015 at 12:03 AM, Claes Wallin (韋嘉誠) wrote: > Is there a way to make guix-daemon talk to a proxy when downloading > substitutions and source archives? > > I tried starting it with http_proxy set, but I'm not sure it responded > to it (as I'm writing this ISTR having read and tested that an updated > guix does this right). Replying to self: Nope, I tried it with guix-0.8.2.5875eb7 (2015-06-08) and it seems to be ignoring http_proxy and ftp_proxy.
Re: HTTP and FTP proxies for guix package / guix-daemon
On Tue, Jun 9, 2015 at 3:11 AM, Claes Wallin (韋嘉誠) wrote: > On Tue, Jun 9, 2015 at 12:03 AM, Claes Wallin (韋嘉誠) > wrote: > >> Is there a way to make guix-daemon talk to a proxy when downloading >> substitutions and source archives? >> >> I tried starting it with http_proxy set, but I'm not sure it responded >> to it (as I'm writing this ISTR having read and tested that an updated >> guix does this right). > > Replying to self: Nope, I tried it with guix-0.8.2.5875eb7 > (2015-06-08) and it seems to be ignoring http_proxy and ftp_proxy. Aaand final reply to self, found this on bug-guix@: https://lists.gnu.org/archive/html/bug-guix/2015-04/msg00072.html I guess I will just have to wait. But I'll make sure to chime in that ftp_proxy ought to be honored as well as http_proxy and https_proxy.
Re: [PATCH] Add powertabeditor.
Ricardo Wurmus skribis: > From da77c25e8c32243ca2bd77bd76de41312aafaac1 Mon Sep 17 00:00:00 2001 > From: Ricardo Wurmus > Date: Mon, 25 May 2015 22:13:27 +0200 > Subject: [PATCH 1/6] gnu: Add withershins. > > * gnu/packages/code.scm (withershins): New variable. [...] > +(inputs > + `(("gcc" ,gcc-4.8 "lib") ;for libiberty.a > + ("binutils" ,binutils) ;for libbfd > + ("zlib" ,zlib))) > +(synopsis "C++11 library for generating stack traces") > +(description > + "Withershins is a simple cross-platform C++11 library for generating > +stack traces.") > +(license license:expat))) BFD is GPLv3+ so the whole thing and its users are GPLv3+ once combined. I guess ‘license’ should be gpl3+, with a comment saying that the source is Expat? Otherwise LGTM. > From d426c47462be1dcc5ff4bbe9d1b1540761b9 Mon Sep 17 00:00:00 2001 > From: Ricardo Wurmus > Date: Mon, 25 May 2015 22:14:39 +0200 > Subject: [PATCH 2/6] gnu: Add RapidJSON. > > * gnu/packages/web.scm (rapidjson): New variable. OK. > From 337f0790e7917f7ae2b394310c8543256756f0fe Mon Sep 17 00:00:00 2001 > From: Ricardo Wurmus > Date: Thu, 28 May 2015 09:43:53 +0200 > Subject: [PATCH 3/6] gnu: Add pugixml. > > * gnu/packages/xml.scm (pugixml): New variable. OK. > From 67ec5348f611d58299ae2ab0b8575e817e0f1272 Mon Sep 17 00:00:00 2001 > From: Ricardo Wurmus > Date: Thu, 28 May 2015 09:44:30 +0200 > Subject: [PATCH 4/6] gnu: Add rtmidi. > > * gnu/packages/audio.scm (rtmidi): New variable. OK. > + `(("autoconf" ,autoconf) > + ("automake" ,automake) > + ("libtool" ,libtool) Too bad they don’t provide a ‘make dist’-generated tarball. > From ab277b32cd5ace5ab257ec31abd719b2ee2470dd Mon Sep 17 00:00:00 2001 > From: Ricardo Wurmus > Date: Wed, 3 Jun 2015 22:53:56 +0200 > Subject: [PATCH 5/6] gnu: catch-framework: Update to 1.1.3. > > * gnu/packages/check.scm (catch-framework): Update to 1.1.3. OK. > From 98e2ab304ef345178ab1caad27d6e4412d19c476 Mon Sep 17 00:00:00 2001 > From: Ricardo Wurmus > Date: Thu, 4 Jun 2015 10:01:11 +0200 > Subject: [PATCH 6/6] gnu: Add powertabeditor. > > * gnu/packages/music.scm (powertabeditor): New variable. [...] > +(name "powertabeditor") > +(version "2.0.0-alpha7") I suppose the stable version is way too old or non-existent? > + #:configure-flags > + (list (string-append "-DCMAKE_INSTALL_RPATH='" > +(string-join (map (match-lambda > +((name . directory) > + (string-append directory > "/lib"))) > + %build-inputs) > + ";") > +"'")) Could you add a comment explaining why this is needed? Ideally this would be handled by ‘cmake-build-system’. I think the single quotes aren’t needed, are they? Also, the semicolon is surprising here. > + #:phases > + (modify-phases %standard-phases > + (add-before > + 'configure 'remove-third-party-libs > + (lambda _ > +(substitute* "CMakeLists.txt" > + > (("include_directories\\(\\$\\{PROJECT_SOURCE_DIR\\}/external/.*") "") > + ;; TODO: tests cannot be built: > + ;; test/test_main.cpp:28:12: error: ‘Session’ is not a member > of ‘Catch’ > + (("add_subdirectory\\(test\\)") "") > + (("add_subdirectory\\(external\\)") "")) Shouldn’t this and... > +(delete-file-recursively "external") ... this, and possibly... > +#t)) > + (add-after > + 'unpack 'add-install-target > + (lambda _ > +(substitute* "source/CMakeLists.txt" > + (("qt5_use_modules") > + "install(TARGETS powertabeditor RUNTIME DESTINATION > ${CMAKE_INSTALL_PREFIX}/bin) > +install(FILES data/tunings.json DESTINATION > ${CMAKE_INSTALL_PREFIX}/share/powertabeditor/) > +qt5_use_modules")) ... this be done in a snippet? > +(description > + "PTE2.0 is the successor to the famous Power Tab Editor. It is > +compatible with PTE1.7 and Guitar Pro.") Isn’t “PTE” and “Power Tab Editor” the same thing? Furthermore, the package name is ‘powertabeditor’, not ‘pte’. Otherwise LGTM! Thanks, Ludo’.
Re: [PATCH] Add st
Hello, thanks for the submission! Just a partial review: On Tue, Jun 09, 2015 at 03:07:55PM +0200, amirou...@hypermove.net wrote: > + ("font-liberation5" ,font-liberation))) Typo? Drop "5" > +(description > + "Xterm is bloated and unmaintainable. It has over 65K lines of code and Please write a more neutral description. Something like "St implements a simple and light-weight terminal emulator. It implements 256 colors, most VT10X escape sequences, utf8, X11 copy/paste, antialiased fonts (using fontconfig), fallback fonts, resizing, and line drawing." It is nicer to write what a programme does well than to complain about what others do poorly. Andreas
[PATCH] gnu: Add OrfM.
Hi Guix, attached is a patch based on a slightly edited snippet that came in through the bio-packaging mailing list. ~~ Ricardo >From 6cbd193a53f90e798efc4d83f7acb1d3ae51de12 Mon Sep 17 00:00:00 2001 From: Ben Woodcroft Date: Tue, 9 Jun 2015 16:10:51 +0200 Subject: [PATCH] gnu: Add OrfM. * gnu/packages/bioinformatics.scm (orfm): New variable. Signed-off-by: Ricardo Wurmus --- gnu/packages/bioinformatics.scm | 21 + 1 file changed, 21 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 8d59768..55b2ff6 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -1192,6 +1192,27 @@ RNA-Seq, the MISO model uses Bayesian inference to compute the probability that a read originated from a particular isoform.") (license license:gpl2))) +(define-public orfm + (package +(name "orfm") +(version "0.3.2") +(source (origin + (method url-fetch) + (uri (string-append +"https://github.com/wwood/OrfM/releases/download/v"; +version "/orfm-" version ".tar.gz")) + (sha256 + (base32 +"00jqvlspj9662ni9r4n1snxfnwkzc02i46g5nk1kwjshi6v3vgg3" +(build-system gnu-build-system) +(inputs `(("zlib" ,zlib))) +(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 license:lgpl3+))) + (define-public python2-pbcore (package (name "python2-pbcore") -- 2.1.0
Re: [PATCH] gnu: make-bootstrap: Remove unneeded configure flag from %gcc-static.
Manolis Ragkousis skribis: > With this commit "guix build bootstrap-tarballs --target=i686-pc-gnu" works. Yay! > From 53582d2cdaf3fb69500a24afe3ed4f58cfbffcea Mon Sep 17 00:00:00 2001 > From: Manolis Ragkousis > Date: Tue, 9 Jun 2015 01:14:03 +0300 > Subject: [PATCH] gnu: make-bootstrap: Remove unneeded configure flag from > %gcc-static. > > With this commit "guix build bootstrap-tarballs --target=i686-pc-gnu" works. > > * gnu/packages/make-bootstrap.scm (%gcc-static): Remove unneeded > --disable-decimal-float. OK for core-updates or wip-hurd, whichever is the most convenient for you. Now that we’ve reached that stage, I’d like to see if we can merge all of wip-hurd in this core-updates cycle. Thanks, Ludo’.
Re: [PATCH 10/10] gnu: base: Added glibc-for-target macro.
Manolis Ragkousis skribis: > From 21fe31fb235c322654959c458f73c5f192efee7c Mon Sep 17 00:00:00 2001 > From: Manolis Ragkousis > Date: Tue, 9 Jun 2015 01:08:55 +0300 > Subject: [PATCH] gnu: base: Add glibc-for-target macro. > > * gnu/packages/base.scm (glibc): Add macro. OK for ‘wip-hurd’! (I thought it was already in, sorry about that.) Ludo’.
Re: [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches.
Manolis Ragkousis skribis: > Actually I merged this patch with the one from [PATCH 09/10] gnu: base: > Remove a multiple definition from libpthread with some changes. > > This is the updated patch. > > From f4867aa5438bd5c51579aa9cc3ac0227d7eaf211 Mon Sep 17 00:00:00 2001 > From: Manolis Ragkousis > Date: Thu, 21 May 2015 16:57:23 +0300 > Subject: [PATCH] gnu: base: Updated glibc-hurd to 2.19 and removed patches. > > * gnu/packages/base.scm (glibc/hurd): Update to 2.19 > * gnu/packages/patches/glibc-hurd-extern-inline.patch: Rename to ... > * gnu/packages/patches/glibc-hurd-libs.patch: ... this and removed a patch. > * gnu/packages/patches/libpthread-glibc-preparation.patch: Remove. > * gnu/packages/patches/libpthread-remove-duplicate.patch: Add > * gnu-system.am (dist_patch_DATA): Add, remove and adapt to renamed file. Sure! > 6 files changed, 47 insertions(+), 214 deletions(-) These are definitely good stats from the point of view of Guix. :-) Ludo’.
Re: MIPS bootstrap problem in core-updates
Mark H Weaver skribis: > Mark H Weaver writes: > >> l...@gnu.org (Ludovic Courtès) writes: >> >>> This (lightly tested) patch may work: >>> >>> diff --git a/gnu/packages/commencement.scm b/gnu/packages/commencement.scm >>> index ab16660..6dd4d55 100644 >>> --- a/gnu/packages/commencement.scm >>> +++ b/gnu/packages/commencement.scm >>> @@ -139,6 +139,19 @@ >>> (arguments >>>`(#:guile ,%bootstrap-guile >>> #:implicit-inputs? #f >>> + >>> +#:phases (alist-cons-after >>> + 'install 'add-gas-symlink >>> + (lambda* (#:key outputs #:allow-other-keys) >>> +;; The cross-gcc invokes 'as', not the cross-'as', so >>> add >>> +;; an 'as' symlink. >>> +(let ((out (assoc-ref outputs "out"))) >>> + (with-directory-excursion (string-append out "/bin") >>> +(symlink (string-append ,(boot-triplet) "-as") >>> + "as") >>> +#t))) >>> + %standard-phases) >>> + >>> ,@(substitute-keyword-arguments (package-arguments binutils) >>> ((#:configure-flags cf) >>> `(cons ,(string-append "--target=" (boot-triplet)) >>> @@ -274,10 +287,7 @@ >>>;; 2nd stage inputs. >>>`(("gcc" ,gcc-boot0) >>> ("binutils-cross" ,binutils-boot0) >>> - >>> -;; Keep "binutils" here because the cross-gcc invokes `as', not the >>> -;; cross-`as'. >>> -,@%boot0-inputs)) >>> +,@(alist-delete "binutils" %boot0-inputs))) >>> >>> (define glibc-final-with-bootstrap-bash >>>;; The final libc, "cross-built". If everything went well, the resulting >> >> Sounds good. >> >>> Could you try it on MIPS, on top of ‘core-updates’? >> >> I tried this and it turned out that 'ld' was also needed. I added an >> 'ld' symlink and then discovered than 'ar' was needed as well. I'm now >> trying it with symlinks for _all_ of the programs in binutils' /bin >> directory. > > ... and that finally fixed it. Pushed to core-updates in commit > f8badf151b4d2d966a1ebeba0345dfc9e4564d01. Great, thanks! Ludo’.
Re: Daemon update again
Andreas Enge skribis: > On Sat, Jun 06, 2015 at 07:41:42PM +0200, Ludovic Courtès wrote: >> Could you run “make V=1”? Normally DEFAULT_CHROOT_DIRS is defined from >> the command line (see ‘libstore_a_CPPFLAGS’.) > > There is no trace of it on the command line: > > g++ -DHAVE_CONFIG_H -I. -I./nix -I./nix -I./nix/libutil -I./nix > -I./nix/libstore -I./nix/libstore -DNIX_STORE_DIR=\"/gnu/store\" > -DNIX_DATA_DIR=\"/usr/local/guix/share\" > -DNIX_STATE_DIR=\"/usr/local/guix/var/guix\" > -DNIX_LOG_DIR=\"/usr/local/guix/var/log/guix\" > -DNIX_CONF_DIR=\"/usr/local/guix/etc/guix\" > -DNIX_LIBEXEC_DIR=\"/usr/local/guix/libexec\" > -DNIX_BIN_DIR=\"/usr/local/guix/bin\" -DOPENSSL_PATH="\"guix-authenticate\"" > -Wall -std=c++0x -g -O2 -MT nix/libstore/libstore_a-build.o -MD -MP -MF > nix/libstore/.deps/libstore_a-build.Tpo -c -o nix/libstore/libstore_a-build.o > `test -f 'nix/libstore/build.cc' || echo './'`nix/libstore/build.cc > nix/libstore/build.cc: In member function ‘void > nix::DerivationGoal::startBuilder()’: > nix/libstore/build.cc:1808:91: error: ‘DEFAULT_CHROOT_DIRS’ was not declared > in this scope > PathSet dirs = > tokenizeString(settings.get("build-chroot-dirs", > string(DEFAULT_CHROOT_DIRS))); Hmm. What’s the value of ‘libstore_a_CPPFLAGS’ in daemon.am, Makefile.in, and Makefile? There’s also the fact that it’s using -std=c++0x, whereas current master uses -std=c++11. Fishy! Ludo’.
matplotlib broken
Hi, today I've updated all packages in my profile and I find that matplotlib doesn't work anymore. Starting ipython3 and executing the following commands %matplotlib import numpy as np import matplotlib.pyplot as plt t = np.r_[0:5] plt.plot(t, t) now produces an empty, gray window, while with the previous profile it was working fine. I'm not sure how old my previous profile is, but it uses python3.3. Just reporting the problem and, for the moment, sticking with the old one. Regards, Fede
Re: Daemon update again
On Tue, Jun 09, 2015 at 05:51:00PM +0200, Ludovic Courtès wrote: > There’s also the fact that it’s using -std=c++0x, whereas current master > uses -std=c++11. Fishy! Very fishy indeed! I think I did not run "autoreconf -vfi" correctly, or it failed and I did not pay attention, and was left with a mixture of old and new files. Now I redid it, and there is no trace left of "-std=c++0x", and the flags seem to be correctly said. Thank you for asking the right questions, and sorry for taking your time! Andreas
Re: [PATCH] gnu: guile-static: Use Linux syscalls only on Linux systems.
I forgot this patch. Updated patch. From 84ef1393099fe0245f22402387d9ae578a91e9e8 Mon Sep 17 00:00:00 2001 From: Manolis Ragkousis Date: Sat, 23 May 2015 22:10:34 +0300 Subject: [PATCH] gnu: guile-static: Use Linux syscalls only on Linux-based systems. * gnu/packages/patches/guile-linux-syscalls.patch: Use Linux syscalls only on Linux-based systems. --- gnu/packages/patches/guile-linux-syscalls.patch | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/patches/guile-linux-syscalls.patch b/gnu/packages/patches/guile-linux-syscalls.patch index 57c7f25..25a5e90 100644 --- a/gnu/packages/patches/guile-linux-syscalls.patch +++ b/gnu/packages/patches/guile-linux-syscalls.patch @@ -7,12 +7,13 @@ diff --git a/libguile/posix.c b/libguile/posix.c index 324f21b..cbee94d 100644 --- a/libguile/posix.c +++ b/libguile/posix.c -@@ -2286,6 +2286,261 @@ scm_init_popen (void) +@@ -2245,6 +2245,263 @@ scm_init_popen (void) } #endif + +/* Linux! */ ++#ifdef __linux__ + +#include +#include "libguile/foreign.h" @@ -265,7 +266,10 @@ index 324f21b..cbee94d 100644 + return scm_from_short (ifr.ifr_flags); +} +#undef FUNC_NAME ++#endif + void scm_init_posix () { +-- +2.4.1 -- 2.4.2
Re: [PATCH 08/10] gnu: base: Updated glibc-hurd to 2.19 and removed patches.
On 9 June 2015 at 18:47, Ludovic Courtès wrote: >> 6 files changed, 47 insertions(+), 214 deletions(-) > > These are definitely good stats from the point of view of Guix. :-) Hehe, thanks to our Hurd friends. :-) Pushed.
Re: [PATCH] gnu: guile-static: Use Linux syscalls only on Linux systems.
I took the liberty and pushed it because it had the changes you suggested.
Re: [PATCH] gnu: guile-static: Use Linux syscalls only on Linux systems.
Manolis Ragkousis skribis: > From 84ef1393099fe0245f22402387d9ae578a91e9e8 Mon Sep 17 00:00:00 2001 > From: Manolis Ragkousis > Date: Sat, 23 May 2015 22:10:34 +0300 > Subject: [PATCH] gnu: guile-static: Use Linux syscalls only on Linux-based > systems. > > * gnu/packages/patches/guile-linux-syscalls.patch: Use Linux > syscalls only on Linux-based systems. Rather: “Wrap new subrs in #ifdef __linux__.” OK for master or core-updates, whichever is more convenient for you (the latter, I guess.) Ludo’.
Re: Daemon update again
Andreas Enge skribis: > On Tue, Jun 09, 2015 at 05:51:00PM +0200, Ludovic Courtès wrote: >> There’s also the fact that it’s using -std=c++0x, whereas current master >> uses -std=c++11. Fishy! > > Very fishy indeed! I think I did not run "autoreconf -vfi" correctly, or > it failed and I did not pay attention, and was left with a mixture of old > and new files. Now I redid it, and there is no trace left of "-std=c++0x", > and the flags seem to be correctly said. > > Thank you for asking the right questions, and sorry for taking your time! Good, no problem! Ludo’.
Re: [PATCH] gnu: make-bootstrap: Remove unneeded configure flag from %gcc-static.
Before pushing this patch I would first like to decide what we will do with the gnu patch PATH_MAX patch, because we need it for wip-hurd. After that, with this patch, we can merge wip-hurd with core-updates. Manolis
Re: Update on GuixSD containers
"Thompson, David" skribis: > I'd like to give a quick update on the state of wip-container branch. > As of this morning, one can run the below commands and have a somewhat > functional GuixSD container: > > # Hardcoded /tmp/container as the container root directory until I > # add a command line switch. > mkdir /tmp/container > guix system container container-config.scm Wonderful! I’ve given it a try, and it works as advertised. ;-) I was a bit afraid the first time I ran the ‘run-container’ script as root, but everything went like a charm. I tried adding this dummy service: (define (bash-service) (with-monad %store-monad (return (service (documentation "Run Bash from PID 1.") (provision '(shell)) (start #~(make-forkexec-constructor (string-append #$bash "/bin/bash"))) (stop #~(make-kill-destructor)) (respawn? #t) ... but it dies for some reason. So no shell prompt. > So, this is cool, but much work remains to be done. Our containers > operate in 5 of 6 possible Linux namespaces: mount, PID, UTS, IPC, and > network. The remaining namespace to get working is the user > namespace, which is especially tricky. I don't think even Docker can > use user namespaces properly yet, but I might be wrong. Additionally, > our containers have a loopback device, but have no way of accessing an > outside network such as your LAN or a virtual network on the host > system. There's also no support for cgroups, which would allow us to > limit the resource usage of containers like you can with a VM > hypervisor. OK. > For the long term, we'll need a container daemon to keep track of all > containers on the system to allow for easily starting and stopping > them (right now you have to 'sudo kill -9 '), spawning new > processes within them (for example, launching bash for an interactive > environment), and whatever else we might want. Having launched a bunch of containers and then hacked to kill all the dmds, I can see why keeping track of containers matters. :-) Until there’s a daemon to keep track of containers, “guix system container” could return the PID of the container’s PID1, to make it easier to kill it later? > In closing, things aren't exactly usable, but I encourage > brave/curious people to take 'guix system container' for a spin and > hack on it to make Guix the best container management tool yet! Also, > I think the code is very easy to follow (unlike Docker's > libcontainer), so if you want to understand what containers *really* > are beyond a buzzword, have a look at gnu/build/linux-container.scm > and gnu/system/linux-container.scm. Indeed I find the new code easy to read and well integrated; I like it! It’s a shame that only CLONE_NEWUSER is available to non-root users. I wonder what the rationale was. AIUI, Docker’s daemon performs clone(2) on behalf of clients, right? Thanks for the great work! Ludo’.
Re: [PATCH] Add st
On 2015-06-09 16:22, Andreas Enge wrote: Hello, thanks for the submission! Just a partial review: On Tue, Jun 09, 2015 at 03:07:55PM +0200, amirou...@hypermove.net wrote: + ("font-liberation5" ,font-liberation))) Typo? Drop "5" +(description + "Xterm is bloated and unmaintainable. It has over 65K lines of code and Please write a more neutral description. Something like "St implements a simple and light-weight terminal emulator. It implements 256 colors, most VT10X escape sequences, utf8, X11 copy/paste, antialiased fonts (using fontconfig), fallback fonts, resizing, and line drawing." It is nicer to write what a programme does well than to complain about what others do poorly. Agreed. I created a new patch with the changes you requested and I've run: ./pre-inst-env guix lint st. From 24e374cd99adb8efc1d6a9c5ba0d7cfb1f71828f Mon Sep 17 00:00:00 2001 From: amz3 Date: Sun, 7 Jun 2015 19:04:28 +0200 Subject: [PATCH] gnu: add st. * gnu/packages/dwm.scm (st): New variable. * gnu/packages/patches/st-0.5-do-not-install-terminfo.patch: New file. --- gnu/packages/dwm.scm | 50 +- .../patches/st-0.5-do-not-install-terminfo.patch | 13 ++ 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/st-0.5-do-not-install-terminfo.patch diff --git a/gnu/packages/dwm.scm b/gnu/packages/dwm.scm index 98fa122..8ce078b 100644 --- a/gnu/packages/dwm.scm +++ b/gnu/packages/dwm.scm @@ -22,7 +22,11 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages fonts) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config) + #:use-module ((gnu packages fontutils) #:prefix font-utils:)) (define-public dwm (package @@ -139,3 +143,47 @@ numbers of user-defined menu items efficiently.") (description "Simple X session lock with trivial feedback on password entry.") (license x11))) + + +(define-public st + (package +(name "st") +(version "0.5") +(source + (origin + (method url-fetch) + (uri (string-append "http://dl.suckless.org/st/st-"; + version ".tar.gz")) + (patches (list (search-patch "st-0.5-do-not-install-terminfo.patch"))) + (sha256 +(base32 + "0knxpzaa86pprng6hak8hx8bw22yw22rpz1ffxjpcvqlz3xdv05f" +(build-system gnu-build-system) +(arguments + '(#:tests? #f ; no tests + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases + (alist-delete 'configure %standard-phases))) +(inputs + `(("libx11" ,libx11) + ("libxft" ,libxft) + ("libxcomposite" ,libxcomposite) + ("compositeproto" ,compositeproto) + ("libxext" ,libxext) + ("xextproto" ,xextproto) + ("libxrender" ,libxrender) + ("fontconfig" ,font-utils:fontconfig) + ("freetype" ,font-utils:freetype) + ("font-liberation" ,font-liberation))) +(native-inputs `(("pkg-config" ,pkg-config) + ("ncurses" ,ncurses))) +(home-page "http://st.suckless.org/";) +(synopsis "Simple terminal emulator") +(description + "Xterm is bloated and unmaintainable. It has over 65K lines of code and + emulates obscure and obsolete terminals you will never need. The popular + alternative, rxvt has only 32K lines of code. This is just too much for + something as simple as a terminal emulator; itâs yet another example of + code complexity. st fix that.") +(license x11))) diff --git a/gnu/packages/patches/st-0.5-do-not-install-terminfo.patch b/gnu/packages/patches/st-0.5-do-not-install-terminfo.patch new file mode 100644 index 000..089c423 --- /dev/null +++ b/gnu/packages/patches/st-0.5-do-not-install-terminfo.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile b/Makefile +index 6158ab2..93cb684 100644 +--- a/Makefile b/Makefile +@@ -48,8 +48,6 @@ install: all + @mkdir -p ${DESTDIR}${MANPREFIX}/man1 + @sed "s/VERSION/${VERSION}/g" < st.1 > ${DESTDIR}${MANPREFIX}/man1/st.1 + @chmod 644 ${DESTDIR}${MANPREFIX}/man1/st.1 +- @echo Please see the README file regarding the terminfo entry of st. +- @tic -s st.info + + uninstall: + @echo removing executable file from ${DESTDIR}${PREFIX}/bin -- 2.2.1