Merge branch 'master' into core-updates

master
Mark H Weaver 2018-01-23 17:01:07 -05:00
commit a102d359a6
No known key found for this signature in database
GPG Key ID: 7CEF29847562C516
66 changed files with 1928 additions and 363 deletions

View File

@ -2,7 +2,7 @@
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
# Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
# Copyright © 2016, 2017 Mark H Weaver <mhw@netris.org>
# Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
# Copyright © 2017 Leo Famulari <leo@famulari.name>
@ -26,8 +26,20 @@
# You should have received a copy of the GNU General Public License
# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
bin_SCRIPTS = \
scripts/guix
bin_SCRIPTS = scripts/guix
# Handle substitution of fully-expanded Autoconf variables.
do_subst = $(SED) \
-e 's,[@]GUILE[@],$(GUILE),g' \
-e 's,[@]guilemoduledir[@],$(guilemoduledir),g' \
-e 's,[@]guileobjectdir[@],$(guileobjectdir),g' \
-e 's,[@]localedir[@],$(localedir),g'
scripts/guix: scripts/guix.in Makefile
$(AM_V_at)rm -f $@ $@-t
$(AM_V_at)$(MKDIR_P) "$(@D)"
$(AM_V_GEN)$(do_subst) < "$(srcdir)/$@.in" > "$@-t"
$(AM_V_at)chmod a+x,a-w "$@-t" && mv -f "$@-t" "$@"
nodist_noinst_SCRIPTS = \
pre-inst-env \
@ -437,6 +449,7 @@ EXTRA_DIST = \
TODO \
CODE-OF-CONDUCT \
.dir-locals.el \
bin/guix.in \
build-aux/build-self.scm \
build-aux/compile-all.scm \
build-aux/hydra/evaluate.scm \
@ -472,6 +485,7 @@ endif !BUILD_DAEMON_OFFLOAD
CLEANFILES = \
$(bin_SCRIPTS) \
$(GOBJECTS) \
$(SCM_TESTS:tests/%.scm=%.log)

View File

@ -124,6 +124,8 @@ dnl Make sure we don't suffer from the bug in 'equal?' wrt. syntax objects
dnl found in 2.2.1. See <https://bugs.gnu.org/29903>.
GUIX_ASSERT_SYNTAX_OBJECT_EQUAL
AC_PROG_SED
dnl Decompressors, for use by the substituter and other modules.
AC_PATH_PROG([GZIP], [gzip])
AC_PATH_PROG([BZIP2], [bzip2])
@ -272,7 +274,6 @@ AC_CONFIG_FILES([Makefile
po/packages/Makefile.in
guix/config.scm])
AC_CONFIG_FILES([scripts/guix], [chmod +x scripts/guix])
AC_CONFIG_FILES([test-env:build-aux/test-env.in], [chmod +x test-env])
AC_CONFIG_FILES([pre-inst-env:build-aux/pre-inst-env.in],
[chmod +x pre-inst-env])

View File

@ -40,7 +40,7 @@ Copyright @copyright{} 2017 Christopher Allan Webber@*
Copyright @copyright{} 2017 Marius Bakke@*
Copyright @copyright{} 2017 Hartmut Goebel@*
Copyright @copyright{} 2017 Maxim Cournoyer@*
Copyright @copyright{} 2017 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017, 2018 Tobias Geerinckx-Rice@*
Copyright @copyright{} 2017 George Clemmer@*
Copyright @copyright{} 2017 Andy Wingo@*
Copyright @copyright{} 2017 Arun Isaac@*
@ -4005,12 +4005,12 @@ Apart from that, the build system also adds the following phases:
@table @code
@item fix-runpath
This phase tries to locate the local directories in the package being build,
which has libraries that some of the binaries need. If any are found, they will
be added to the programs @code{RUNPATH}. It is needed because
@code{meson-for-build} keeps the @code{RUNPATH} of binaries and libraries from
when they are build, but often that is not the @code{RUNPATH} we want.
Therefor it is also shrinked to the minimum needed by the program.
This phase ensures that all binaries can find the libraries they need.
It searches for required libraries in subdirectories of the package being
built, and adds those to @code{RUNPATH} where needed. It also removes
references to libraries left over from the build phase by
@code{meson-for-build}, such as test dependencies, that aren't actually
required for the program to run.
@item glib-or-gtk-wrap
This phase is the phase provided by @code{glib-or-gtk-build-system}, and it
@ -10342,9 +10342,8 @@ with the default settings, for commonly encountered log files.
(operating-system
;; @dots{}
(services (cons* (service mcron-service-type)
(service rottlog-service-type)
%base-services)))
(services (cons (service rottlog-service-type)
%base-services)))
@end lisp
@defvr {Scheme Variable} rottlog-service-type
@ -18269,8 +18268,6 @@ The following example will configure the service with default values.
By default, Cgit can be accessed on port 80 (@code{http://localhost:80}).
@example
(service nginx-service-type)
(service fcgiwrap-service-type)
(service cgit-service-type)
@end example

View File

@ -28,7 +28,12 @@
#:use-module (guix records)
#:use-module (guix utils)
#:export (u-boot-bootloader
u-boot-beaglebone-black-bootloader))
u-boot-a20-olinuxino-lime-bootloader
u-boot-a20-olinuxino-lime2-bootloader
u-boot-a20-olinuxino-micro-bootloader
u-boot-banana-pi-m2-ultra-bootloader
u-boot-beaglebone-black-bootloader
u-boot-nintendo-nes-classic-edition-bootloader))
(define install-u-boot
#~(lambda (bootloader device mount-point)
@ -50,6 +55,13 @@
(write-file-on-device u-boot (* 1024 512)
device (* 768 512)))))
(define install-allwinner-u-boot
#~(lambda (bootloader device mount-point)
(let ((u-boot (string-append bootloader
"/libexec/u-boot-sunxi-with-spl.bin")))
(write-file-on-device u-boot (stat:size (stat u-boot))
device (* 8 1024)))))
;;;
@ -68,3 +80,33 @@
(inherit u-boot-bootloader)
(package u-boot-beagle-bone-black)
(installer install-beaglebone-black-u-boot)))
(define u-boot-allwinner-bootloader
(bootloader
(inherit u-boot-bootloader)
(installer install-allwinner-u-boot)))
(define u-boot-nintendo-nes-classic-edition-bootloader
(bootloader
(inherit u-boot-allwinner-bootloader)
(package u-boot-nintendo-nes-classic-edition)))
(define u-boot-a20-olinuxino-lime-bootloader
(bootloader
(inherit u-boot-allwinner-bootloader)
(package u-boot-a20-olinuxino-lime)))
(define u-boot-a20-olinuxino-lime2-bootloader
(bootloader
(inherit u-boot-allwinner-bootloader)
(package u-boot-a20-olinuxino-lime2)))
(define u-boot-a20-olinuxino-micro-bootloader
(bootloader
(inherit u-boot-allwinner-bootloader)
(package u-boot-a20-olinuxino-micro)))
(define u-boot-banana-pi-m2-ultra-bootloader
(bootloader
(inherit u-boot-allwinner-bootloader)
(package u-boot-banana-pi-m2-ultra)))

View File

@ -836,6 +836,7 @@ dist_patch_DATA = \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
%D%/packages/patches/libsndfile-CVE-2017-12562.patch \
%D%/packages/patches/libssh-hostname-parser-bug.patch \
%D%/packages/patches/libssh2-fix-build-failure-with-gcrypt.patch \
%D%/packages/patches/libtar-CVE-2013-4420.patch \
@ -1037,6 +1038,7 @@ dist_patch_DATA = \
%D%/packages/patches/raptor2-heap-overflow.patch \
%D%/packages/patches/ratpoison-shell.patch \
%D%/packages/patches/rcs-5.9.4-noreturn.patch \
%D%/packages/patches/rct-add-missing-headers.patch \
%D%/packages/patches/readline-link-ncurses.patch \
%D%/packages/patches/readline-6.2-CVE-2014-2524.patch \
%D%/packages/patches/readline-7.0-mingw.patch \
@ -1049,6 +1051,7 @@ dist_patch_DATA = \
%D%/packages/patches/rsync-CVE-2017-17433-fix-tests.patch \
%D%/packages/patches/rsync-CVE-2017-17434-pt1.patch \
%D%/packages/patches/rsync-CVE-2017-17434-pt2.patch \
%D%/packages/patches/rtags-separate-rct.patch \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-concurrent-test-arm.patch \
%D%/packages/patches/ruby-rack-ignore-failing-test.patch \

View File

@ -2095,7 +2095,7 @@ buffers.")
(define-public intel-gpu-tools
(package
(name "intel-gpu-tools")
(version "1.18")
(version "1.21")
(source (origin
(method url-fetch)
(uri (string-append "https://cgit.freedesktop.org/xorg/app/"
@ -2103,7 +2103,7 @@ buffers.")
"intel-gpu-tools-" version ".tar.gz"))
(sha256
(base32
"0w7djk0y5w76hzn1b3cm39zd5c6w9za1wfn80wd857h0v313rzq3"))))
"1xfy4cgimyyn5qixlrfkadgnl9qwbk30vw8k80g8vjnrcc4hx986"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; many of the tests try to load kernel modules
@ -2111,9 +2111,9 @@ buffers.")
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
;; Don't run configure in this phase
;; Don't run configure in this phase.
(setenv "NOCONFIGURE" "1")
(zero? (system* "sh" "autogen.sh")))))))
(invoke "sh" "autogen.sh"))))))
(inputs
`(("util-macros" ,util-macros)
("libdrm" ,libdrm)

View File

@ -24,6 +24,7 @@
(define-module (gnu packages android)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@ -35,7 +36,8 @@
#:use-module (gnu packages python)
#:use-module (gnu packages ssh)
#:use-module (gnu packages version-control)
#:use-module (gnu packages tls))
#:use-module (gnu packages tls)
#:use-module (gnu packages linux))
;; The Makefiles that we add are largely based on the Debian
;; packages. They are licensed under GPL-2 and have copyright:
@ -309,6 +311,33 @@ of device actions, such as installing and debugging apps, and it provides access
to a Unix shell that can run commands on the connected device or emulator.")
(license license:asl2.0)))
(define-public mkbootimg
(package
(name "mkbootimg")
(version (android-platform-version))
(source (origin
(inherit (android-platform-system-core version))))
(build-system python-build-system)
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'enter-source
(lambda _ (chdir "mkbootimg") #t))
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "mkbootimg" bin)
#t))))))
(home-page "https://developer.android.com/studio/command-line/adb.html")
(synopsis "Tool to create Android boot images")
(description "This package provides a tool to create Android Boot
Images.")
(license license:asl2.0)))
(define-public android-udev-rules
(package
(name "android-udev-rules")
@ -439,3 +468,38 @@ parts of the development workflow. Repo is not meant to replace Git, only to
make it easier to work with Git. The repo command is an executable Python
script that you can put anywhere in your path.")
(license license:asl2.0)))
(define-public abootimg
(package
(name "abootimg")
(version "0.6")
(source
(origin
(method url-fetch)
(uri (string-append "http://http.debian.net/debian/pool/main/a/abootimg/"
"abootimg_" version ".orig.tar.gz"))
(sha256
(base32 "0sfc2k011l1ymv97821w89391gnqdh8pp0haz4sdcm5hx0axv2ba"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
(setenv "CC" "gcc")
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "abootimg" bin)
#t))))))
(inputs
`(("libblkid" ,util-linux)))
(home-page "https://ac100.grandou.net/abootimg")
(synopsis "Tool for manipulating Android Boot Images")
(description "This package provides a tool for manipulating old Android
Boot Images. @code{abootimg} can work directly on block devices, or, the
safest way, on a file image.")
(license license:gpl2+)))

View File

@ -27,6 +27,7 @@
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages m4)
#:use-module (gnu packages man)
#:use-module (gnu packages bash)
@ -399,3 +400,38 @@ complexity of working with shared libraries across platforms.")
(description (package-description libtool))
(home-page (package-home-page libtool))
(license lgpl2.1+)))
(define-public pyconfigure
(package
(name "pyconfigure")
(version "0.2.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/pyconfigure/pyconfigure-"
version ".tar.gz"))
(sha256
(base32
"0kxi9bg7l6ric39vbz9ykz4a21xlihhh2zcc3297db8amvhqwhrp"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-python
(lambda _
(substitute* "pyconf.in"
(("/usr/bin/env python") (which "python3")))
#t)))))
(inputs
`(("python" ,python-3)))
(synopsis "@command{configure} interface for Python-based packages")
(description
"GNU pyconfigure provides template files for easily implementing
standards-compliant configure scripts and Makefiles for Python-based packages.
It is designed to work alongside existing Python setup scripts, making it easy
to integrate into existing projects. Powerful and flexible Autoconf macros
are available, allowing you to easily make adjustments to the installation
procedure based on the capabilities of the target computer.")
(home-page "https://www.gnu.org/software/pyconfigure/manual/")
(license
(fsf-free
"https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Other-Files.html"))))

View File

@ -1,10 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -71,6 +71,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages java)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages ldc)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
@ -3433,7 +3434,7 @@ sometimes better. Khmer can also identify and fix problems with shotgun
data.")
;; When building on i686, armhf and mips64el, we get the following error:
;; error: ['khmer', 'khmer.tests', 'oxli'] require 64-bit operating system
(supported-systems '("x86_64-linux"))
(supported-systems '("x86_64-linux" "aarch64-linux"))
(license license:bsd-3)))
(define-public kaiju
@ -5562,6 +5563,11 @@ application of SortMeRNA is filtering rRNA from metatranscriptomic data.")
(modify-phases %standard-phases
(add-after 'unpack 'enter-source-dir
(lambda _ (chdir "source") #t))
(add-after 'enter-source-dir 'make-reproducible
(lambda _
(substitute* "Makefile"
(("(COMPILATION_TIME_PLACE=\")(.*)(\")" _ pre mid post)
(string-append pre "Built with Guix" post)))))
(add-after 'enter-source-dir 'do-not-use-bundled-htslib
(lambda _
(substitute* "Makefile"
@ -11106,3 +11112,463 @@ for alignment. Pseudoalignment of reads preserves the key information needed
for quantification, and kallisto is therefore not only fast, but also as
accurate as existing quantification tools.")
(license license:bsd-2)))
(define-public libgff
(package
(name "libgff")
(version "1.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/Kingsford-Group/"
"libgff/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0vc4nxyhlm6g9vvmx5l4lfs5pnvixsv1hiiy4kddf2y3p6jna8ls"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no tests included
(home-page "https://github.com/Kingsford-Group/libgff")
(synopsis "Parser library for reading/writing GFF files")
(description "This is a simple \"libraryfication\" of the GFF/GTF parsing
code that is used in the Cufflinks codebase. The goal of this library is to
provide this functionality without the necessity of drawing in a heavy-weight
dependency like SeqAn.")
(license (license:x11-style "http://www.boost.org/LICENSE_1_0.txt"))))
(define-public libdivsufsort
(package
(name "libdivsufsort")
(version "2.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/y-256/libdivsufsort.git")
(commit version)))
(sha256
(base32
"0fgdz9fzihlvjjrxy01md1bv9vh12rkgkwbm90b1hj5xpbaqp7z2"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; there are no tests
#:configure-flags
;; Needed for rapmap and sailfish.
'("-DBUILD_DIVSUFSORT64=ON")))
(home-page "https://github.com/y-256/libdivsufsort")
(synopsis "Lightweight suffix-sorting library")
(description "libdivsufsort is a software library that implements a
lightweight suffix array construction algorithm. This library provides a
simple and an efficient C API to construct a suffix array and a
Burrows-Wheeler transformed string from a given string over a constant-size
alphabet. The algorithm runs in O(n log n) worst-case time using only 5n+O(1)
bytes of memory space, where n is the length of the string.")
(license license:expat)))
(define-public sailfish
(package
(name "sailfish")
(version "0.10.1")
(source (origin
(method url-fetch)
(uri
(string-append "https://github.com/kingsfordgroup/"
"sailfish/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1inn60dxiwsz8g9w7kvfhjxj4bwfb0r12dyhpzzhfbig712dkmm0"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete bundled headers for eigen3.
(delete-file-recursively "include/eigen3/")
#t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DBOOST_INCLUDEDIR="
(assoc-ref %build-inputs "boost")
"/include/")
(string-append "-DBOOST_LIBRARYDIR="
(assoc-ref %build-inputs "boost")
"/lib/")
(string-append "-DBoost_LIBRARIES="
"-lboost_iostreams "
"-lboost_filesystem "
"-lboost_system "
"-lboost_thread "
"-lboost_timer "
"-lboost_chrono "
"-lboost_program_options")
"-DBoost_FOUND=TRUE"
;; Don't download RapMap---we already have it!
"-DFETCHED_RAPMAP=1")
;; Tests must be run after installation and the location of the test
;; data file must be overridden. But the tests fail. It looks like
;; they are not really meant to be run.
#:tests? #f
#:phases
(modify-phases %standard-phases
;; Boost cannot be found, even though it's right there.
(add-after 'unpack 'do-not-look-for-boost
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("find_package\\(Boost 1\\.53\\.0") "#"))))
(add-after 'unpack 'do-not-assign-to-macro
(lambda _
(substitute* "include/spdlog/details/format.cc"
(("const unsigned CHAR_WIDTH = 1;") ""))))
(add-after 'unpack 'prepare-rapmap
(lambda* (#:key inputs #:allow-other-keys)
(let ((src "external/install/src/rapmap/")
(include "external/install/include/rapmap/")
(rapmap (assoc-ref inputs "rapmap")))
(mkdir-p "/tmp/rapmap")
(system* "tar" "xf"
(assoc-ref inputs "rapmap")
"-C" "/tmp/rapmap"
"--strip-components=1")
(mkdir-p src)
(mkdir-p include)
(for-each (lambda (file)
(install-file file src))
(find-files "/tmp/rapmap/src" "\\.(c|cpp)"))
(copy-recursively "/tmp/rapmap/include" include))))
(add-after 'unpack 'use-system-libraries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("src/SailfishIndexer.cpp"
"src/SailfishUtils.cpp"
"src/SailfishQuantify.cpp"
"src/FASTAParser.cpp"
"include/PCA.hpp"
"include/SailfishUtils.hpp"
"include/SailfishIndex.hpp"
"include/CollapsedEMOptimizer.hpp"
"src/CollapsedEMOptimizer.cpp")
(("#include \"jellyfish/config.h\"") ""))
(substitute* "src/CMakeLists.txt"
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..")
(string-append (assoc-ref inputs "jellyfish")
"/include/jellyfish-" ,(package-version jellyfish)))
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a")
(string-append (assoc-ref inputs "jellyfish")
"/lib/libjellyfish-2.0.a"))
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a")
(string-append (assoc-ref inputs "libdivsufsort")
"/lib/libdivsufsort.so"))
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a")
(string-append (assoc-ref inputs "libdivsufsort")
"/lib/libdivsufsort64.so")))
(substitute* "CMakeLists.txt"
;; Don't prefer static libs
(("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "")
(("find_package\\(Jellyfish.*") "")
(("ExternalProject_Add\\(libjellyfish") "message(")
(("ExternalProject_Add\\(libgff") "message(")
(("ExternalProject_Add\\(libsparsehash") "message(")
(("ExternalProject_Add\\(libdivsufsort") "message("))
;; Ensure that Eigen headers can be found
(setenv "CPLUS_INCLUDE_PATH"
(string-append (getenv "CPLUS_INCLUDE_PATH")
":"
(assoc-ref inputs "eigen")
"/include/eigen3")))))))
(inputs
`(("boost" ,boost)
("eigen" ,eigen)
("jemalloc" ,jemalloc)
("jellyfish" ,jellyfish)
("sparsehash" ,sparsehash)
("rapmap" ,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/COMBINE-lab/RapMap.git")
(commit (string-append "sf-v" version))))
(file-name (string-append "rapmap-sf-v" version "-checkout"))
(sha256
(base32
"1hv79l5i576ykv5a1srj2p0q36yvyl5966m0fcy2lbi169ipjakf"))
(modules '((guix build utils)))
;; These files are expected to be excluded.
(snippet
'(begin (delete-file-recursively "include/spdlog")
(for-each delete-file '("include/xxhash.h"
"src/xxhash.c"))))))
("libdivsufsort" ,libdivsufsort)
("libgff" ,libgff)
("tbb" ,tbb)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://www.cs.cmu.edu/~ckingsf/software/sailfish")
(synopsis "Mapping-based isoform quantification from RNA-Seq reads")
(description "Sailfish is a tool for genomic transcript quantification
from RNA-seq data. It requires a set of target transcripts (either from a
reference or de-novo assembly) to quantify. All you need to run sailfish is a
fasta file containing your reference transcripts and a (set of) fasta/fastq
file(s) containing your reads.")
(license license:gpl3+)))
(define libstadenio-for-salmon
(package
(name "libstadenio")
(version "1.14.8")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/COMBINE-lab/staden-io_lib.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1x8kxxqxl892vwfbprlbyfwkkv7c34ggkc94892x9x0g37x5nbwx"))))
(build-system gnu-build-system)
(arguments '(#:parallel-tests? #f)) ; not supported
(inputs
`(("zlib" ,zlib)))
(native-inputs
`(("perl" ,perl))) ; for tests
(home-page "https://github.com/COMBINE-lab/staden-io_lib")
(synopsis "General purpose trace and experiment file library")
(description "This package provides a library of file reading and writing
code to provide a general purpose Trace file (and Experiment File) reading
interface.
The following file formats are supported:
@enumerate
@item SCF trace files
@item ABI trace files
@item ALF trace files
@item ZTR trace files
@item SFF trace archives
@item SRF trace archives
@item Experiment files
@item Plain text files
@item SAM/BAM sequence files
@item CRAM sequence files
@end enumerate\n")
(license license:bsd-3)))
(define spdlog-for-salmon
(package
(name "spdlog")
(version "0.14.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/COMBINE-lab/spdlog.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"13730429gwlabi432ilpnja3sfvy0nn2719vnhhmii34xcdyc57q"))))
(build-system cmake-build-system)
(home-page "https://github.com/COMBINE-lab/spdlog")
(synopsis "Very fast C++ logging library")
(description "Spdlog is a very fast header-only C++ logging library with
performance as its primary goal.")
(license license:expat)))
;; This is a modified variant of bwa for use with Salmon. It installs a
;; library to avoid having to build this as part of Salmon.
(define bwa-for-salmon
(package (inherit bwa)
(name "bwa")
(version "0.7.12.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/COMBINE-lab/bwa.git")
(commit (string-append "v" version))))
(file-name (string-append "bwa-for-salmon-" version "-checkout"))
(sha256
(base32
"1z2qa64y0c5hky10510x137mnzlhz6k8qf27csw4w9j6qihq95gb"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;no "check" target
#:phases
(modify-phases %standard-phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib"))
(doc (string-append out "/share/doc/bwa"))
(man (string-append out "/share/man/man1"))
(inc (string-append out "/include/bwa")))
(install-file "bwa" bin)
(install-file "README.md" doc)
(install-file "bwa.1" man)
(install-file "libbwa.a" lib)
(mkdir-p lib)
(mkdir-p inc)
(for-each (lambda (file)
(install-file file inc))
(find-files "." "\\.h$")))
#t))
;; no "configure" script
(delete 'configure))))))
(define-public salmon
(package
(name "salmon")
(version "0.9.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/COMBINE-lab/salmon.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1zi1ff4i7y2ykk0vdzysgwzzzv166vg2x77pj1mf4baclavxj87a"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete bundled headers for eigen3.
(delete-file-recursively "include/eigen3/")
#t))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list (string-append "-DBOOST_INCLUDEDIR="
(assoc-ref %build-inputs "boost")
"/include/")
(string-append "-DBOOST_LIBRARYDIR="
(assoc-ref %build-inputs "boost")
"/lib/")
(string-append "-DBoost_LIBRARIES="
"-lboost_iostreams "
"-lboost_filesystem "
"-lboost_system "
"-lboost_thread "
"-lboost_timer "
"-lboost_chrono "
"-lboost_program_options")
"-DBoost_FOUND=TRUE"
"-DTBB_LIBRARIES=tbb tbbmalloc"
;; Don't download RapMap---we already have it!
"-DFETCHED_RAPMAP=1")
#:phases
(modify-phases %standard-phases
;; Boost cannot be found, even though it's right there.
(add-after 'unpack 'do-not-look-for-boost
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("find_package\\(Boost 1\\.53\\.0") "#"))))
(add-after 'unpack 'do-not-phone-home
(lambda _
(substitute* "src/Salmon.cpp"
(("getVersionMessage\\(\\)") "\"\""))))
(add-after 'unpack 'prepare-rapmap
(lambda* (#:key inputs #:allow-other-keys)
(let ((src "external/install/src/rapmap/")
(include "external/install/include/rapmap/")
(rapmap (assoc-ref inputs "rapmap")))
(mkdir-p src)
(mkdir-p include)
(for-each (lambda (file)
(install-file file src))
(find-files (string-append rapmap "/src") "\\.(c|cpp)"))
(copy-recursively (string-append rapmap "/include") include)
(for-each delete-file '("external/install/include/rapmap/xxhash.h"
"external/install/include/rapmap/FastxParser.hpp"
"external/install/include/rapmap/concurrentqueue.h"
"external/install/include/rapmap/FastxParserThreadUtils.hpp"
"external/install/src/rapmap/FastxParser.cpp"
"external/install/src/rapmap/xxhash.c")))))
(add-after 'unpack 'use-system-libraries
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/CMakeLists.txt"
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/include/jellyfish-2.2..")
(string-append (assoc-ref inputs "jellyfish")
"/include/jellyfish-" ,(package-version jellyfish)))
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libjellyfish-2.0.a")
(string-append (assoc-ref inputs "jellyfish")
"/lib/libjellyfish-2.0.a"))
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort.a")
(string-append (assoc-ref inputs "libdivsufsort")
"/lib/libdivsufsort.so"))
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libstaden-read.a")
(string-append (assoc-ref inputs "libstadenio-for-salmon")
"/lib/libstaden-read.a"))
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libbwa.a")
(string-append (assoc-ref inputs "bwa") "/lib/libbwa.a"))
(("\\$\\{GAT_SOURCE_DIR\\}/external/install/lib/libdivsufsort64.a")
(string-append (assoc-ref inputs "libdivsufsort")
"/lib/libdivsufsort64.so")))
(substitute* "CMakeLists.txt"
;; Don't prefer static libs
(("SET\\(CMAKE_FIND_LIBRARY_SUFFIXES.*") "")
(("set\\(TBB_LIBRARIES") "message(")
(("find_package\\(Jellyfish.*") "")
(("ExternalProject_Add\\(libcereal") "message(")
(("ExternalProject_Add\\(libbwa") "message(")
(("ExternalProject_Add\\(libjellyfish") "message(")
(("ExternalProject_Add\\(libgff") "message(")
(("ExternalProject_Add\\(libtbb") "message(")
(("ExternalProject_Add\\(libspdlog") "message(")
(("ExternalProject_Add\\(libdivsufsort") "message(")
(("ExternalProject_Add\\(libstadenio") "message(")
(("ExternalProject_Add_Step\\(") "message("))
;; Ensure that all headers can be found
(setenv "CPLUS_INCLUDE_PATH"
(string-append (getenv "CPLUS_INCLUDE_PATH")
":"
(assoc-ref inputs "bwa")
"/include/bwa"
":"
(assoc-ref inputs "eigen")
"/include/eigen3"))
(setenv "CPATH"
(string-append (assoc-ref inputs "bwa")
"/include/bwa"
":"
(assoc-ref inputs "eigen")
"/include/eigen3"))
#t))
;; CMAKE_INSTALL_PREFIX does not exist when the tests are
;; run. It only exists after the install phase.
(add-after 'unpack 'fix-tests
(lambda _
(substitute* "src/CMakeLists.txt"
(("DTOPLEVEL_DIR=\\$\\{CMAKE_INSTALL_PREFIX")
"DTOPLEVEL_DIR=${GAT_SOURCE_DIR"))
#t)))))
(inputs
`(("boost" ,boost)
("bwa" ,bwa-for-salmon)
("bzip2" ,bzip2)
("cereal" ,cereal)
("eigen" ,eigen)
("rapmap" ,(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/COMBINE-lab/RapMap.git")
(commit (string-append "salmon-v" version))))
(file-name (string-append "rapmap-salmon-v" version "-checkout"))
(sha256
(base32
"1yc12yqsz6f0r8sg1qnk57xg34aqwc9jbqq6gd5ys28xw3plj98p"))))
("jemalloc" ,jemalloc)
("jellyfish" ,jellyfish)
("libgff" ,libgff)
("tbb" ,tbb)
("libdivsufsort" ,libdivsufsort)
("libstadenio-for-salmon" ,libstadenio-for-salmon)
("spdlog-for-salmon" ,spdlog-for-salmon)
("xz" ,xz)
("zlib" ,zlib)))
(home-page "https://github.com/COMBINE-lab/salmon")
(synopsis "Quantification from RNA-seq reads using lightweight alignments")
(description "Salmon is a program to produce highly-accurate,
transcript-level quantification estimates from RNA-seq data. Salmon achieves
its accuracy and speed via a number of different innovations, including the
use of lightweight alignments (accurate but fast-to-compute proxies for
traditional read alignments) and massively-parallel stochastic collapsed
variational inference.")
(license license:gpl3+)))

View File

@ -5,7 +5,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tomáš Čech <sleep_walker@gnu.org>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;;
;;; This file is part of GNU Guix.
@ -340,14 +340,15 @@ downloads, download scheduling, download rate limiting.")
(define-public mktorrent
(package
(name "mktorrent")
(version "1.0")
(version "1.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/mktorrent/mktorrent/"
version "/" name "-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(uri (string-append "https://github.com/Rudde/mktorrent/archive/v"
version ".tar.gz"))
(sha256
(base32
"17qi3nfky240pq6qcmf5qg324mxm83vk9r3nvsdhsvinyqm5d3kg"))))
"1j9qc4fxa9isnaygqk6jazsiklqywl2wcs95b8dx01963407bx6h"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -359,13 +360,14 @@ downloads, download scheduling, download rate limiting.")
"USE_LONG_OPTIONS=1"
"USE_PTHREADS=1")
#:tests? #f)) ; no tests
(home-page "http://mktorrent.sourceforge.net/")
(home-page "https://github.com/Rudde/mktorrent")
(synopsis "Utility to create BitTorrent metainfo files")
(description "mktorrent is a simple command-line utility to create
BitTorrent @dfn{metainfo} files, often known simply as @dfn{torrents}, from
both single files and whole directories. It can add multiple trackers and web
seed URLs, and set the @code{private} flag to disallow advertisement through
the distributed hash table (DHT) and Peer Exchange. Hashing is multi-threaded
(description
"mktorrent is a simple command-line utility to create BitTorrent
@dfn{metainfo} files, often known simply as @dfn{torrents}, from both single
files and whole directories. It can add multiple trackers and web seed URLs,
and set the @code{private} flag to disallow advertisement through the
distributed hash table (@dfn{DHT}) and Peer Exchange. Hashing is multi-threaded
and will take advantage of multiple processor cores where possible.")
(license (list l:public-domain ; sha1.*, used to build without OpenSSL
l:gpl2+)))) ; with permission to link with OpenSSL
@ -373,7 +375,7 @@ and will take advantage of multiple processor cores where possible.")
(define-public libtorrent-rasterbar
(package
(name "libtorrent-rasterbar")
(version "1.1.5")
(version "1.1.6")
(source (origin
(method url-fetch)
(uri
@ -383,7 +385,7 @@ and will take advantage of multiple processor cores where possible.")
"/libtorrent-rasterbar-" version ".tar.gz"))
(sha256
(base32
"0c398b7hsa5dvj4m0jc8h7mn0m3nawmagb6c5c7ml5c9hc338c8h"))))
"1vr1a7smkwh7dc7jb9n68i0cg59wxhgywxc9kxpbs8fi9c04vixp"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -399,7 +401,7 @@ and will take advantage of multiple processor cores where possible.")
("openssl" ,openssl)))
(native-inputs `(("python" ,python-2)
("pkg-config" ,pkg-config)))
(home-page "http://www.rasterbar.com/products/libtorrent/")
(home-page "https://www.libtorrent.org/")
(synopsis "Feature complete BitTorrent implementation")
(description
"libtorrent-rasterbar is a feature complete C++ BitTorrent implementation

View File

@ -37,6 +37,7 @@
#:use-module (gnu packages disk)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
@ -335,7 +336,7 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
(version "2017.11")
(version "2018.01")
(source (origin
(method url-fetch)
(uri (string-append
@ -343,11 +344,12 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"01bcsah5imy6m3fbjwhqywxg0pfk5fl8ks9ylb7kv3zmrb9qy0ba"))))
"1nidnnjprgxdhiiz7gmaj8cgcf52l5gbv64cmzjq4gmkjirmk3wk"))))
(native-inputs
`(("bc" ,bc)
("dtc" ,dtc)
("python-2" ,python-2)))
;("dtc" ,dtc) ; they have their own incompatible copy.
("python-2" ,python-2)
("swig" ,swig)))
(build-system gnu-build-system)
(home-page "http://www.denx.de/wiki/U-Boot/")
(synopsis "ARM bootloader")
@ -363,10 +365,12 @@ also initializes the boards (RAM etc).")
`#f)))
(package
(inherit u-boot)
(name (string-append "u-boot-" (string-downcase board)))
(name (string-append "u-boot-"
(string-replace-substring (string-downcase board)
"_" "-")))
(native-inputs
`(,@(if (not same-arch?)
`(("cross-gcc" ,(cross-gcc triplet))
`(("cross-gcc" ,(cross-gcc triplet #:xgcc gcc-7))
("cross-binutils" ,(cross-binutils triplet)))
'())
,@(package-native-inputs u-boot)))
@ -423,6 +427,21 @@ also initializes the boards (RAM etc).")
(define-public u-boot-odroid-c2
(make-u-boot-package "odroid-c2" "aarch64-linux-gnu"))
(define-public u-boot-banana-pi-m2-ultra
(make-u-boot-package "Bananapi_M2_Ultra" "arm-linux-gnueabihf"))
(define-public u-boot-a20-olinuxino-lime
(make-u-boot-package "A20-OLinuXino-Lime" "arm-linux-gnueabihf"))
(define-public u-boot-a20-olinuxino-lime2
(make-u-boot-package "A20-OLinuXino-Lime2" "arm-linux-gnueabihf"))
(define-public u-boot-a20-olinuxino-micro
(make-u-boot-package "A20-OLinuXino_MICRO" "arm-linux-gnueabihf"))
(define-public u-boot-nintendo-nes-classic-edition
(make-u-boot-package "Nintendo_NES_Classic_Edition" "arm-linux-gnueabihf"))
(define-public vboot-utils
(package
(name "vboot-utils")

View File

@ -3,7 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -75,7 +75,7 @@
(define-public nss-certs
(package
(name "nss-certs")
(version "3.34.1")
(version "3.35")
(source (origin
(method url-fetch)
(uri (let ((version-with-underscores
@ -86,7 +86,7 @@
"nss-" version ".tar.gz")))
(sha256
(base32
"186x33wsk4mzjz7dzbn8p0py9a0nzkgzpfkdv4rlyy5gghv5vhd3"))))
"1ypn68z9ncbbshi3184ywrhx5i846lyd72gps1grzqzdkgh7s4pl"))))
(build-system gnu-build-system)
(outputs '("out"))
(native-inputs

View File

@ -26,12 +26,13 @@
(define-module (gnu packages code)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages databases)
#:use-module (gnu packages emacs)
#:use-module (gnu packages gcc)
@ -43,6 +44,7 @@
#:use-module (gnu packages ncurses)
#:use-module (gnu packages autotools)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
#:use-module (gnu packages bash))
;;; Tools to deal with source code: metrics, cross-references, etc.
@ -393,28 +395,43 @@ functionality such as HTML output.")
(name "rtags")
(version "2.16")
(home-page "https://github.com/Andersbakken/rtags")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit "8ef7554852541eced514c56d5e39d6073f7a2ef9")
;; FIXME: This fetches bundled copies of Lua, RCT, and
;; Selene.
(recursive? #t)))
(sha256
(base32
"12r7lsqdmcbs9864a6dpblvifqvmfxhvxippyhfnnm2ai5ra80nc"))
(file-name (git-file-name name version))))
(source
(origin
(method url-fetch)
(uri
(string-append home-page "/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(patches (search-patches "rtags-separate-rct.patch"))
(modules '((guix build utils)))
(snippet
;; Part of spliting rct with rtags.
;; Substitute #include "rct/header.h" with #include <rct/header.h>.
'(with-directory-excursion "src"
(delete-file-recursively "rct") ;remove bundled copy
(let ((files (find-files "." ".*\\.cpp|.*\\.h")))
(substitute* files
(("#include ?\"rct/(.*.h)\"" all header)
(string-append "#include <rct/" header ">"))))))
(sha256
(base32
"17rkci3mmiw93qc32b9x76pg57b0lx80avr6wnmh190jx8n3v3wy"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_TESTING=FALSE"
"-DRTAGS_NO_ELISP_FILES=1")
'(#:configure-flags
'("-DRTAGS_NO_ELISP_FILES=1"
"-DCMAKE_BUILD_TYPE=RelWithDebInfo"
"-DCMAKE_CXX_FLAGS=-std=c++11"
"-DBUILD_TESTING=FALSE")
#:tests? #f))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("clang" ,clang)
`(("bash-completion" ,bash-completion)
("clang" ,clang)
("llvm" ,llvm)
("bash-completion" ,bash-completion)))
("lua" ,lua)
("rct" ,rct)
("selene" ,selene)))
(synopsis "Indexer for the C language family with Emacs integration")
(description
"RTags is a client/server application that indexes C/C++ code and keeps a

View File

@ -1311,10 +1311,11 @@ compresser/decompresser.")
("java-snappy" ,java-snappy)
("hamcrest" ,java-hamcrest-core)
("testng" ,java-testng)))
(synopsis "Java port of snappy")
(description "Iq80-snappy is a rewrite (port) of Snappy writen in pure
Java. This compression code produces a byte-for-byte exact copy of the output
created by the original C++ code, and extremely fast.")
(synopsis "Java port of the Snappy (de)compressor")
(description
"Iq80-snappy is a port of the Snappy compressor and decompressor rewritten
in pure Java. This compression code produces a byte-for-byte exact copy of the
output created by the original C++ code, and is extremely fast.")
(license license:asl2.0)))
(define-public java-jbzip2

View File

@ -68,7 +68,7 @@ operating system functions.")
(define-public rct
(let* ((commit "b3e6f41d9844ef64420e628e0c65ed98278a843a")
(revision "1")
(revision "2")
(version (git-version "0.0.0" revision commit)))
(package
(name "rct")
@ -82,11 +82,13 @@ operating system functions.")
(sha256
(base32
"1m2931jacka27ghnpgf1z1plkkr64z0pga4r4zdrfpp2d7xnrdvb"))
(patches (search-patches "rct-add-missing-headers.patch"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
'("-DWITH_TESTS=ON"))) ; To run the test suite
'("-DWITH_TESTS=ON" ; To run the test suite
"-DRCT_RTTI_ENABLED=ON")))
(native-inputs
`(("cppunit" ,cppunit)
("pkg-config" ,pkg-config)))

View File

@ -1840,3 +1840,24 @@ plots in @code{ggplot2}.")
attractive command line interfaces (CLIs). It includes tools for drawing
rules, boxes, trees, and Unicode symbols with ASCII alternatives.")
(license license:expat)))
(define-public r-argparser
(package
(name "r-argparser")
(version "0.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "argparser" version))
(sha256
(base32
"0s1wxshx4jk69wfxhycx973q6y8cmqrfymyjklhq1i8xrj0kmmx9"))))
(build-system r-build-system)
(home-page "https://bitbucket.org/djhshih/argparser")
(synopsis "Command-line argument parser")
(description
"This package provides a cross-platform command-line argument parser
written purely in R with no external dependencies. It is useful with the
Rscript front-end and facilitates turning an R script into an executable
script.")
(license license:gpl3+)))

View File

@ -202,7 +202,9 @@ target that libc."
(patches
(append
(origin-patches (package-source xgcc))
(cons (search-patch "gcc-cross-environment-variables.patch")
(cons (if (version>=? (package-version xgcc) "6.0")
(search-patch "gcc-6-cross-environment-variables.patch")
(search-patch "gcc-cross-environment-variables.patch"))
(cross-gcc-patches target))))
(modules '((guix build utils)))
(snippet

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -718,3 +719,25 @@ static files.")
lower the barrier of entry, providing tools to enable teams to work towards
higher quality while welcoming newcomers.")
(license license:gpl3+)))
(define-public python-django-tagging
(package
(name "python-django-tagging")
(version "0.4.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "django-tagging" version))
(sha256
(base32
"0s7b4v45j783yaxs7rni10k24san0ya77nqz4s7zdf3jhfpk42r1"))))
(build-system python-build-system)
(home-page "https://github.com/Fantomas42/django-tagging")
(synopsis "Generic tagging application for Django")
(description "This package provides a generic tagging application for
Django projects, which allows association of a number of tags with any
@code{Model} instance and makes retrieval of tags simple.")
(license license:bsd-3)))
(define-public python2-django-tagging
(package-with-python2 python-django-tagging))

View File

@ -4,7 +4,7 @@
;;; Copyright © 2014, 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
@ -3169,15 +3169,16 @@ perspective only its buffers are available by default.")
(define-public emacs-request
(package
(name "emacs-request")
(version "0.2.0")
(version "0.3.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/tkf/emacs-request/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/tkf/emacs-request.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32 "0sll9g9x15jxrdr58pdxx4iz74rnjd43q521iqm890i6hmkrgwap"))))
(base32
"0wyxqbb35yqf6ci47531lk32d6fppamx9d8826kdz983vm87him7"))))
(build-system emacs-build-system)
(home-page "https://github.com/tkf/emacs-request")
(synopsis "Package for speaking HTTP in Emacs Lisp")
@ -6463,7 +6464,7 @@ It supports dired buffers and opens them in tree mode at destination.")
It is meant to quickly generate linear ranges, e.g. 5, 6, 7, 8. Some elisp
proficiency is an advantage, since you can transform your numeric range with
an elisp expression.")
(license license:gpl3+)))
(license license:gpl3+)))
(define-public emacs-bash-completion
(package

View File

@ -8,6 +8,7 @@
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -720,3 +721,34 @@ agent.")
(description "This package allows using KeepKey as a hardware SSH/GPG
agent.")
(license license:lgpl3)))
(define-public python-stdnum
(package
(name "python-stdnum")
(version "1.8.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-stdnum" version))
(sha256
(base32
"0hvr47q32xbyiznpmbg4r8rcvxhnf0lwf33hcpnynyik57djy5np"))))
(build-system python-build-system)
(home-page
"https://arthurdejong.org/python-stdnum/")
(synopsis
"Python module to handle standardized number and code formats")
(description
"This is a Python library that aims to provide functions to handle,
parse and validate standard numbers.
The module supports more than 100 different number formats
amongst which a great number of VAT and other tax numbers,
personal identity and company identification codes,
international standard numbers (ISBN, IBAN, EAN, etc.)
and various other formats.
The module also inclused implementations of the Verhoeff,
Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(license license:lgpl2.1+)))
(define-public python2-stdnum
(package-with-python2 python-stdnum))

View File

@ -112,7 +112,7 @@ is used in some video games and movies.")
(define-public deutex
(package
(name "deutex")
(version "5.1.0")
(version "5.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Doom-Utils/" name
@ -120,7 +120,7 @@ is used in some video games and movies.")
name "-" version ".tar.xz"))
(sha256
(base32
"0hwkm0q2w16ddmiwh7x3jcfp58zjb40a5dh7c3sybwm9bar37pn1"))))
"0yqzlb3imkdzy8yd7xc69xk9ajf4dhiz3a9ssphyf4c9rcr440wj"))))
(build-system gnu-build-system)
(native-inputs `(("asciidoc" ,asciidoc)))
(home-page "https://github.com/Doom-Utils/deutex")
@ -1069,6 +1069,10 @@ games.")
(arguments
`(#:scons ,scons-python2
#:scons-flags (list "platform=x11"
,@(if (string-prefix? "aarch64" (or (%current-target-system)
(%current-system)))
`("CCFLAGS=-DNO_THREADS")
'())
;; Avoid using many of the bundled libs.
;; Note: These options can be found in the SConstruct file.
"builtin_freetype=no"

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -72,9 +73,6 @@ topology functions.")
license:zlib ; tests/xmltester/tinyxml/*
license:public-domain)))) ; include/geos/timeval.h
;;; FIXME GNOME Maps only runs within GNOME. On i3, it fails with this error:
;;; (org.gnome.Maps:8568): GLib-GIO-ERROR **: Settings schema
;;; 'org.gnome.desktop.interface' is not installed
(define-public gnome-maps
(package
(name "gnome-maps")
@ -122,13 +120,19 @@ topology functions.")
`(("folks" ,folks)
("libchamplain" ,libchamplain)
("libgee" ,libgee)
("libsecret" ,libsecret)
("libsoup" ,libsoup)
("libgweather" ,libgweather)
("libxml2" ,libxml2)
("gdk-pixbuf" ,gdk-pixbuf)
("glib-networking" ,glib-networking)
("geoclue" ,geoclue)
("geocode-glib" ,geocode-glib)
("gfbgraph" ,gfbgraph)
("gjs" ,gjs)
("glib" ,glib)
("gnome-online-accounts" ,gnome-online-accounts)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("rest" ,rest)
("webkitgtk" ,webkitgtk)))
(propagated-inputs

View File

@ -2,6 +2,7 @@
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -43,29 +44,32 @@
(define-public babl
(package
(name "babl")
(version "0.1.38")
(version "0.1.40")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/"
"0.1/babl-" version ".tar.bz2")
(string-append "http://ftp.gtk.org/pub/babl/0.1/babl-"
version ".tar.bz2")
(string-append "ftp://ftp.gtk.org/pub/babl/0.1/babl-"
version ".tar.bz2")))
(version-major+minor version)
"/babl-" version ".tar.bz2")
(string-append "http://ftp.gtk.org/pub/babl/"
(version-major+minor version)
"/babl-" version ".tar.bz2")
(string-append "ftp://ftp.gtk.org/pub/babl/"
(version-major+minor version)
"/babl-" version ".tar.bz2")))
(sha256
(base32
"11pfbyzq20596p9sgwraxspg3djg1jzz6wvz4bapf0yyr97jiyd0"))))
"08cdl6rcfvkhqsnhb214xzr0wbrv0956xzlrzqxcb1k1madgjanh"))))
(build-system gnu-build-system)
(home-page "http://gegl.org/babl/")
(synopsis "Image pixel format conversion library")
(description
"Babl is a dynamic, any to any, pixel format translation library.
It allows converting between different methods of storing pixels known as
pixel formats that have with different bitdepths and other data
representations, color models and component permutations.
"Babl is a dynamic, any-to-any pixel format translation library.
It allows converting between different methods of storing pixels, known as
@dfn{pixel formats}, that have different bit depths and other data
representations, color models, and component permutations.
A vocabulary to formulate new pixel formats from existing primitives is
provided as well as the framework to add new color models and data types.")
provided, as well as a framework to add new color models and data types.")
(license license:lgpl3+)))
(define-public gegl

View File

@ -5,7 +5,7 @@
;;; Copyright © 2015, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;; Copyright © 2016, 2017, 2018 ng0 <ng0@n0.is>
;;;
;;; This file is part of GNU Guix.
;;;
@ -205,7 +205,8 @@ authentication and support for SSL3 and TLS.")
("pkg-config" ,pkg-config)
("python" ,python-2)))
(arguments
`(#:configure-flags (list "--disable-ntlm-wb")
`(#:configure-flags (list "--disable-ntlm-wb"
"--with-ca-bundle=/etc/ssl/certs/ca-certificates.crt")
#:test-target "test"
#:parallel-tests? #f
#:phases
@ -226,8 +227,7 @@ authentication and support for SSL3 and TLS.")
(("/bin/sh") (which "sh")))
;; Make test output more verbose.
(zero? (system* "make" "-C" "tests" "test"))
#t)))))
(invoke "make" "-C" "tests" "test"))))))
(synopsis "Microfork of cURL with support for the HTTP/HTTPS/GnuTLS subset of cURL")
(description
"Gnurl is a microfork of cURL, a command line tool for transferring data
@ -325,7 +325,7 @@ kinds of basic applications for the foundation of a GNU internet.")
'(#:phases (modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(invoke "autoreconf" "-vfi"))))))
(native-inputs `(("pkg-config" ,pkg-config)
("autoconf" ,(autoconf-wrapper))
("automake" ,automake)))

View File

@ -7,6 +7,7 @@
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Sergei Trofimovich <slyfox@inbox.ru>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -196,10 +197,10 @@
(home-page "https://golang.org/")
(synopsis "Compiler and libraries for Go, a statically-typed language")
(description "Go, also commonly referred to as golang, is an imperative
programming language. Designed primarily for systems programming, it is a
compiled, statically typed language in the tradition of C and C++, with
garbage collection, various safety features and in the style of communicating
sequential processes (CSP) concurrent programming features added.")
programming language designed primarily for systems programming. Go is a
compiled, statically typed language in the tradition of C and C++, but adds
garbage collection, various safety features, and concurrent programming features
in the style of communicating sequential processes (@dfn{CSP}).")
(supported-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
(license license:bsd-3)))
@ -207,7 +208,7 @@ sequential processes (CSP) concurrent programming features added.")
(package
(inherit go-1.4)
(name "go")
(version "1.9.2")
(version "1.9.3")
(source
(origin
(method url-fetch)
@ -215,7 +216,7 @@ sequential processes (CSP) concurrent programming features added.")
name version ".src.tar.gz"))
(sha256
(base32
"1p23n4xzbknl3bbhlckbvxbhpxknd5rn0i2szmn9i2dcz15ihpv6"))))
"1bj73hrr7jjdg0w6snwkqb5y3yrlks5nrs2lgnkyy0hyx7b0lgaf"))))
(arguments
(substitute-keyword-arguments (package-arguments go-1.4)
((#:phases phases)
@ -300,13 +301,6 @@ sequential processes (CSP) concurrent programming features added.")
(substitute* "../misc/cgo/testcarchive/carchive_test.go"
(("#!/usr/bin/env") (string-append "#!" (which "env"))))
;; Escape braces in test data to workaround test failure. For
;; more information:
;; https://github.com/golang/go/issues/20007
;; FIXME: remove this once we upgrade to 1.9
(substitute* "cmd/vet/testdata/copylock_func.go"
(("struct\\{lock sync.Mutex\\}") "struct\\{lock sync.Mutex\\}"))
(substitute* "net/lookup_unix.go"
(("/etc/protocols") (string-append net-base "/etc/protocols")))
(substitute* "net/port_unix.go"

View File

@ -8,6 +8,7 @@
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -41,12 +42,16 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages documentation)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages haskell)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages python)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
#:use-module (gnu packages compression)
@ -686,3 +691,86 @@ your terminal. It comes bundled with predefined styles:
(define-public python2-pastel
(package-with-python2 python-pastel))
(define-public fgallery
(package
(name "fgallery")
(version "1.8.2")
(source (origin
(method url-fetch)
(uri
(string-append
"http://www.thregr.org/~wavexx/software/fgallery/releases/"
"fgallery-" version ".zip"))
(sha256
(base32
"18wlvqbxcng8pawimbc8f2422s8fnk840hfr6946lzsxr0ijakvf"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/"))
(share (string-append out "/share/fgallery"))
(man (string-append out "/share/man/man1"))
(perl5lib (getenv "PERL5LIB"))
(script (string-append share "/fgallery")))
(define (bin-directory input-name)
(string-append (assoc-ref inputs input-name) "/bin"))
(mkdir-p man)
(copy-file "fgallery.1" (string-append man "/fgallery.1"))
(mkdir-p share)
(copy-recursively "." share)
;; fgallery copies files from store when it is run. The
;; read-only permissions from the store directories will cause
;; fgallery to fail. Do not preserve file attributes when
;; copying files to prevent it.
(substitute* script
(("'cp'")
"'cp', '--no-preserve=all'"))
(mkdir-p bin)
(symlink script (string-append out "/bin/fgallery"))
(wrap-program script
`("PATH" ":" prefix
,(map bin-directory '("imagemagick"
"lcms"
"fbida"
"libjpeg"
"zip"
"jpegoptim"
"pngcrush"
"p7zip")))
`("PERL5LIB" ":" prefix (,perl5lib)))
#t))))))
(native-inputs
`(("unzip" ,unzip)))
;; TODO: Add missing optional dependency: facedetect.
(inputs
`(("imagemagick" ,imagemagick)
("lcms" ,lcms)
("fbida" ,fbida)
("libjpeg" ,libjpeg)
("zip" ,zip)
("perl" ,perl)
("perl-cpanel-json-xs" ,perl-cpanel-json-xs)
("perl-image-exiftool" ,perl-image-exiftool)
("jpegoptim" ,jpegoptim)
("pngcrush" ,pngcrush)
("p7zip" ,p7zip)))
(home-page "http://www.thregr.org/~wavexx/software/fgallery/")
(synopsis "Static photo gallery generator")
(description
"FGallery is a static, JavaScript photo gallery generator with minimalist
look. The result can be uploaded on any web server without additional
requirements.")
(license license:gpl2+)))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -85,7 +86,7 @@ licences similar to the Modified BSD licence."))))
(define-public mia
(package
(name "mia")
(version "2.4.4")
(version "2.4.6")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/mia/mia/"
@ -93,7 +94,7 @@ licences similar to the Modified BSD licence."))))
"/mia-" version ".tar.xz"))
(sha256
(base32
"124gvf8nkls59mlnx8ynq00n9zrah7a54gsywafx7qmfr0y95ra7"))))
"0j4nd5z7i3v199jh7hqqhwd4g7snchizkc7rhzanpvngqg91m1pb"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags

View File

@ -5,6 +5,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -164,7 +165,7 @@ script.")
(define-public graphicsmagick
(package
(name "graphicsmagick")
(version "1.3.27")
(version "1.3.28")
(source (origin
(method url-fetch)
(uri
@ -176,7 +177,7 @@ script.")
"/GraphicsMagick-" version ".tar.xz")))
(sha256
(base32
"0rq35p3rml10cxz2z4s7xcfsilhhk19mmy094g3ivz0fg797hcnh"))))
"0jlrrimrajcmwp7llivyj14qnzb1mpqd8vw95dl6zbx5m2lnhall"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -674,7 +674,7 @@ slabtop, and skill.")
(define-public usbutils
(package
(name "usbutils")
(version "008")
(version "009")
(source
(origin
(method url-fetch)
@ -682,7 +682,7 @@ slabtop, and skill.")
"usbutils-" version ".tar.xz"))
(sha256
(base32
"132clk14j4nm8crln2jymdbbc2vhzar2j2hnxyh05m79pbq1lx24"))))
"0q3iavmak2bs9xw486w4xfbjl0hbzii93ssgpr95mxmm9kjz1gwb"))))
(build-system gnu-build-system)
(inputs
`(("libusb" ,libusb)
@ -1433,7 +1433,7 @@ configuration and monitoring interfaces.")
(define-public iw
(package
(name "iw")
(version "4.9")
(version "4.14")
(source (origin
(method url-fetch)
(uri (string-append
@ -1441,7 +1441,7 @@ configuration and monitoring interfaces.")
version ".tar.xz"))
(sha256
(base32
"1klpvv98bnx1zm6aqalnri2vd7w80scmdaxr2qnblb6mz82whk1j"))))
"12ddd6vh6vs97135bnlyr0szv7hvpbnmfh48584frzab0z0725ph"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libnl" ,libnl)))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Sou Bunnbu <iyzsong@member.fsf.org>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,14 +23,19 @@
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (guix build-system gnu)
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages django)
#:use-module (gnu packages gd)
#:use-module (gnu packages image)
#:use-module (gnu packages mail)
#:use-module (gnu packages perl))
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
#:use-module (gnu packages time))
(define-public nagios
(package
@ -156,3 +162,102 @@ HTTP. Features:
@item Supports IPv6.
@end itemize")
(license license:gpl2)))
(define-public python-whisper
(package
(name "python-whisper")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "whisper" version))
(sha256
(base32
"1v1bi3fl1i6p4z4ki692bykrkw6907dn3mfq0151f70lvi3zpns3"))))
(build-system python-build-system)
(home-page "http://graphiteapp.org/")
(synopsis "Fixed size round-robin style database for Graphite")
(description "Whisper is one of three components within the Graphite
project. Whisper is a fixed-size database, similar in design and purpose to
RRD (round-robin-database). It provides fast, reliable storage of numeric
data over time. Whisper allows for higher resolution (seconds per point) of
recent data to degrade into lower resolutions for long-term retention of
historical data.")
(license license:asl2.0)))
(define-public python2-whisper
(package-with-python2 python-whisper))
(define-public python2-carbon
(package
(name "python2-carbon")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "carbon" version))
(sha256
(base32
"142smpmgbnjinvfb6s4ijazish4vfgzyd8zcmdkh55y051fkixkn"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; only supports Python 2
#:phases
(modify-phases %standard-phases
;; Don't install to /opt
(add-after 'unpack 'do-not-install-to-/opt
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
(propagated-inputs
`(("python2-whisper" ,python2-whisper)
("python2-configparser" ,python2-configparser)
("python2-txamqp" ,python2-txamqp)))
(home-page "http://graphiteapp.org/")
(synopsis "Backend data caching and persistence daemon for Graphite")
(description "Carbon is a backend data caching and persistence daemon for
Graphite. Carbon is responsible for receiving metrics over the network,
caching them in memory for \"hot queries\" from the Graphite-Web application,
and persisting them to disk using the Whisper time-series library.")
(license license:asl2.0)))
(define-public python2-graphite-web
(package
(name "python2-graphite-web")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "graphite-web" version))
(sha256
(base32
"0q8bwlj75jqyzmazfsi5sa26xl58ssa8wdxm2l4j0jqyn8xpfnmc"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; only supports Python 2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
(lambda _
(substitute* "setup.py"
(("0.4.3") ,(package-version python2-django-tagging))
(("<1.9.99") (string-append "<="
,(package-version python2-django))))
#t))
;; Don't install to /opt
(add-after 'unpack 'do-not-install-to-/opt
(lambda _ (setenv "GRAPHITE_NO_PREFIX" "1") #t)))))
(propagated-inputs
`(("python2-cairocffi" ,python2-cairocffi)
("python2-pytz" ,python2-pytz)
("python2-whisper" ,python2-whisper)
("python2-django" ,python2-django)
("python2-django-tagging" ,python2-django-tagging)
("python2-scandir" ,python2-scandir)
("python2-urllib3" ,python2-urllib3)
("python2-pyparsing" ,python2-pyparsing)
("python2-txamqp" ,python2-txamqp)))
(home-page "http://graphiteapp.org/")
(synopsis "Scalable realtime graphing system")
(description "Graphite is a scalable real-time graphing system that does
two things: store numeric time-series data, and render graphs of this data on
demand.")
(license license:asl2.0)))

View File

@ -88,7 +88,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd
(package
(name "mpd")
(version "0.20.13")
(version "0.20.15")
(source (origin
(method url-fetch)
(uri
@ -97,7 +97,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
"/mpd-" version ".tar.xz"))
(sha256
(base32
"0h7z90dnpwlyad4kfi1ja9v9vzqic0xg93iy4q0dwlhav0scbha6"))))
"0h7bm561i8p0bjp1hy8fsiy5zj7db24zyv6ypfihwf35wrklz766"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -134,11 +134,13 @@
(sha256
(base32
"1cs3z6frx2ch7rm5ammx9p0rxcjrbj1vq14hvcbimpaw39rdsn3d"))))
(build-system gnu-build-system)
(build-system scons-build-system)
(arguments
`(#:tests? #f ;no tests
#:scons-flags
(list (string-append "prefix=" (assoc-ref %outputs "out")))
#:scons ,scons-python2
#:phases
;; TODO: Add scons-build-system and use it here.
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'scons-propagate-environment
@ -161,26 +163,18 @@
" or \"score/\" in file"
" or \"Documentation/\" in file")))
#t))
(replace 'build (lambda _ (zero? (system* "scons"))))
(replace 'install
(add-after 'install 'fix-directory-permissions
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(and
(zero? (system* "scons"
(string-append "prefix=" out)
"install"))
;; Fix directory permissions
(begin
(chmod (string-append out "/share/Aria/Documentation") #o555)
(chmod (string-append out "/share/Aria/score") #o555)
#t))))))))
(chmod (string-append out "/share/Aria/Documentation") #o555)
(chmod (string-append out "/share/Aria/score") #o555)
#t))))))
(inputs
`(("wxwidgets" ,wxwidgets)
("glib" ,glib)
("alsa-lib" ,alsa-lib)))
(native-inputs
`(("scons" ,scons)
("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)))
(home-page "http://ariamaestosa.sourceforge.net/")
(synopsis "MIDI sequencer and editor")
(description
@ -1187,6 +1181,14 @@ add_library( rapidjson INTERFACE IMPORTED )"))
"exclude:Score/ViewFilter/ViewFilter"
"exclude:Formats/PowerTabOldImport/Directions"
))))
;; FIXME: This bug has been fixed upstream, but no release has been
;; made yet. See https://github.com/powertab/powertabeditor/issues/257
(add-after 'unpack 'fix-boost-bug
(lambda _
(substitute* "source/score/voiceutils.cpp"
(("boost::rational<int> duration\\(4, pos.getDurationType\\(\\)\\);")
"boost::rational<int> duration(4, static_cast<int>(pos.getDurationType()));"))
#t))
(add-before 'configure 'remove-third-party-libs
(lambda* (#:key inputs #:allow-other-keys)
;; Link with required static libraries, because we're not

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2014, 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,7 +27,8 @@
#:use-module (gnu packages mp3)
#:use-module (gnu packages base)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml))
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
(define-public orpheus
(package
@ -62,13 +63,14 @@
(setenv "CONFIG_SHELL" (which "bash"))
(setenv "SHELL" (which "bash"))
(setenv "LIBS" "-logg") ;doesn't declare its use of libogg
(zero?
(system* "./configure" (string-append "--prefix=" out)
,@(if (string=? "mips64el-linux"
(%current-system))
'("--host=mips64el-unknown-linux-gnu")
'())
)))))
(invoke "./configure"
(string-append "--prefix=" out)
,@(match (%current-system)
("mips64el-linux"
'("--host=mips64el-unknown-linux-gnu"))
("aarch64-linux"
'("--build=aarch64-unknown-linux-gnu"))
(_ `()))))))
(add-after 'configure 'configure-players
(lambda* (#:key inputs #:allow-other-keys)
;; To avoid propagating the mpg321 and vorbis-tools inputs, we can

View File

@ -87,8 +87,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.14.0")
(commit "0dcf675c56a4649ccef657e78849e91f9f9b4c0a")
(revision 6))
(commit "33988f9b5876e4b44cabe1997a91eb604931c1ca")
(revision 7))
(package
(name "guix")
@ -104,7 +104,7 @@
(commit commit)))
(sha256
(base32
"0kqpdg8ydxm67cdlrqsdrpzv0qdvnfln0ixsjrmdw2pcngh6wn56"))
"0sfr32yhkm87apgpp6mjr6r43sp4l0ih35q4pmhwzfnj2bimmzhk"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

View File

@ -47,7 +47,7 @@
(define-public parallel
(package
(name "parallel")
(version "20171222")
(version "20180122")
(source
(origin
(method url-fetch)
@ -55,7 +55,7 @@
version ".tar.bz2"))
(sha256
(base32
"1p3r6dlhy49q3y468kf65nqdp0knqw41vwga9rprrvi04kywgj4v"))))
"1wkbppb4mc56grl6jsp803sf0hm7mg5ff7qmxalp7sd0vxqw41p9"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -76,10 +76,10 @@
#t))
(add-after 'install 'post-install-test
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* (string-append
(assoc-ref outputs "out") "/bin/parallel")
"echo"
":::" "1" "2" "3")))))))
(invoke (string-append
(assoc-ref outputs "out") "/bin/parallel")
"echo"
":::" "1" "2" "3"))))))
(inputs
`(("perl" ,perl)
("procps" ,procps)))

View File

@ -0,0 +1,97 @@
Fix CVE-2017-12562:
https://github.com/erikd/libsndfile/issues/292
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-12562
Patch copied from upstream source repository:
https://github.com/erikd/libsndfile/commit/cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8
From cf7a8182c2642c50f1cf90dddea9ce96a8bad2e8 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rn=20Heusipp?= <osmanx@problemloesungsmaschine.de>
Date: Wed, 14 Jun 2017 12:25:40 +0200
Subject: [PATCH] src/common.c: Fix heap buffer overflows when writing strings
in binheader
Fixes the following problems:
1. Case 's' only enlarges the buffer by 16 bytes instead of size bytes.
2. psf_binheader_writef() enlarges the header buffer (if needed) prior to the
big switch statement by an amount (16 bytes) which is enough for all cases
where only a single value gets added. Cases 's', 'S', 'p' however
additionally write an arbitrary length block of data and again enlarge the
buffer to the required amount. However, the required space calculation does
not take into account the size of the length field which gets output before
the data.
3. Buffer size requirement calculation in case 'S' does not account for the
padding byte ("size += (size & 1) ;" happens after the calculation which
uses "size").
4. Case 'S' can overrun the header buffer by 1 byte when no padding is
involved
("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ;" while
the buffer is only guaranteed to have "size" space available).
5. "psf->header.ptr [psf->header.indx] = 0 ;" in case 'S' always writes 1 byte
beyond the space which is guaranteed to be allocated in the header buffer.
6. Case 's' can overrun the provided source string by 1 byte if padding is
involved ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ;"
where "size" is "strlen (strptr) + 1" (which includes the 0 terminator,
plus optionally another 1 which is padding and not guaranteed to be
readable via the source string pointer).
Closes: https://github.com/erikd/libsndfile/issues/292
---
src/common.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/src/common.c b/src/common.c
index 1a6204ca..6b2a2ee9 100644
--- a/src/common.c
+++ b/src/common.c
@@ -681,16 +681,16 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...)
/* Write a C string (guaranteed to have a zero terminator). */
strptr = va_arg (argptr, char *) ;
size = strlen (strptr) + 1 ;
- size += (size & 1) ;
- if (psf->header.indx + (sf_count_t) size >= psf->header.len && psf_bump_header_allocation (psf, 16))
+ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1)))
return count ;
if (psf->rwf_endian == SF_ENDIAN_BIG)
- header_put_be_int (psf, size) ;
+ header_put_be_int (psf, size + (size & 1)) ;
else
- header_put_le_int (psf, size) ;
+ header_put_le_int (psf, size + (size & 1)) ;
memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ;
+ size += (size & 1) ;
psf->header.indx += size ;
psf->header.ptr [psf->header.indx - 1] = 0 ;
count += 4 + size ;
@@ -703,16 +703,15 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...)
*/
strptr = va_arg (argptr, char *) ;
size = strlen (strptr) ;
- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size))
+ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1)))
return count ;
if (psf->rwf_endian == SF_ENDIAN_BIG)
header_put_be_int (psf, size) ;
else
header_put_le_int (psf, size) ;
- memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ;
+ memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + (size & 1)) ;
size += (size & 1) ;
psf->header.indx += size ;
- psf->header.ptr [psf->header.indx] = 0 ;
count += 4 + size ;
break ;
@@ -724,7 +723,7 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...)
size = (size & 1) ? size : size + 1 ;
size = (size > 254) ? 254 : size ;
- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size))
+ if (psf->header.indx + 1 + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, 1 + size))
return count ;
header_put_byte (psf, size) ;

View File

@ -0,0 +1,43 @@
From: fis <ybbs.daans@hotmail.com>
Date: Sat, 20 Jan 2018 07:42:38 +0800
Subject: [PATCH] rct.cmake: Add missing headers.
---
rct.cmake | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)
diff --git a/rct.cmake b/rct.cmake
index 323e7b9..3e0ac6b 100644
--- a/rct.cmake
+++ b/rct.cmake
@@ -339,7 +339,27 @@ if (NOT RCT_NO_INSTALL)
rct/Timer.h
rct/Value.h
rct/WriteLocker.h
+ rct/CpuUsage.h
+ rct/DataFile.h
+ rct/Date.h
+ rct/EmbeddedLinkedList.h
+ rct/FinishMessage.h
+ rct/Flags.h
+ rct/Hash.h
+ rct/LinkedList.h
+ rct/Map.h
+ rct/MemoryMappedFile.h
+ rct/OnDestruction.h
+ rct/QuitMessage.h
+ rct/ResponseMessage.h
+ rct/ScriptEngine.h
+ rct/StackBuffer.h
+ rct/WindowsUnicodeConversion.h
DESTINATION include/rct)
+ install(FILES
+ json/json.hpp
+ DESTINATION include/rct/json)
+
install(EXPORT "rct" DESTINATION lib/cmake)
endif ()
--
2.13.6

View File

@ -0,0 +1,72 @@
Unbundle RCT and use our own copy.
--- rtags-2.16/src/CMakeLists.txt 2018-01-23 10:36:17.645855140 +0100
+++ rtags-2.16/src/CMakeLists.txt 2018-01-23 10:38:14.605234740 +0100
@@ -105,12 +105,6 @@ if (LUA_ENABLED)
CMAKE_ARGS -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=0 -DCMAKE_GENERATOR=${CMAKE_GENERATOR})
endif ()
-set(RCT_RTTI_ENABLED 1)
-set(RCT_NO_INSTALL 1)
-set(RCT_NO_LIBRARY 1)
-# Everyting which as been set either in rct/rct.cmake or rct/compiler.cmake
-# doesn't need to be set in this file again.
-include(rct/rct.cmake)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wstrict-aliasing=2 -Wcast-qual -fPIC")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wstrict-aliasing=2 -Wcast-qual -fPIC")
@@ -128,8 +122,7 @@ add_definitions(
"-DRTAGS_SOURCE_DIR=${CMAKE_CURRENT_SOURCE_DIR}"
"-DCLANG_LIBDIR=${LIBCLANG_LIBDIR}"
"-DCLANG_VERSION=${LIBCLANG_VERSION_STRING}"
- "-DOS_${CMAKE_SYSTEM_NAME}"
- ${RCT_DEFINITIONS})
+ "-DOS_${CMAKE_SYSTEM_NAME}")
if (CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
add_definitions(-D__LONG_LONG_SUPPORTED)
@@ -172,8 +165,7 @@ set(RTAGS_SOURCES
Symbol.cpp
SymbolInfoJob.cpp
Token.cpp
- TokensJob.cpp
- ${RCT_SOURCES})
+ TokensJob.cpp)
if (LUA_ENABLED)
list(APPEND RTAGS_SOURCES AST.cpp)
@@ -195,10 +187,10 @@ endif ()
include_directories(
${CMAKE_CURRENT_LIST_DIR}
- ${RCT_INCLUDE_DIRS}
${CMAKE_CURRENT_LIST_DIR}/selene/include
${CMAKE_CURRENT_BINARY_DIR}/lua-prefix/src/lua-build
- ${CMAKE_CURRENT_LIST_DIR}/lua/src)
+ ${CMAKE_CURRENT_LIST_DIR}/lua/src
+ ${CMAKE_CURRENT_BINARY_DIR}/include)
if (CMAKE_SYSTEM_NAME MATCHES "Darwin")
set(START_GROUP "")
@@ -223,17 +215,17 @@ else ()
endif()
# RCT_LIBRARIES and stdc++ library must be at the end
-set(RTAGS_LIBRARIES ${RTAGS_LIBRARIES} -lstdc++ ${RCT_LIBRARIES})
+set(RTAGS_LIBRARIES ${RTAGS_LIBRARIES} -lstdc++)
add_executable(rc rc.cpp)
-target_link_libraries(rc ${RTAGS_LIBRARIES})
+target_link_libraries(rc ${RTAGS_LIBRARIES} rct)
add_executable(rdm rdm.cpp)
-target_link_libraries(rdm ${RTAGS_LIBRARIES})
+target_link_libraries(rdm ${RTAGS_LIBRARIES} rct)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
add_executable(rp rp.cpp)
-target_link_libraries(rp ${RTAGS_LIBRARIES})
+target_link_libraries(rp ${RTAGS_LIBRARIES} rct)
if (CYGWIN)
EnsureLibraries(rdm rct)

View File

@ -47,6 +47,7 @@
(define-public libsndfile
(package
(name "libsndfile")
(replacement libsndfile/fixed)
(version "1.0.28")
(source (origin
(method url-fetch)
@ -80,6 +81,15 @@ SPARC. Hopefully the design of the library will also make it easy to extend
for reading and writing new sound file formats.")
(license l:gpl2+)))
(define libsndfile/fixed
(package
(inherit libsndfile)
(source (origin
(inherit (package-source libsndfile))
(patches (append
(origin-patches (package-source libsndfile))
(search-patches "libsndfile-CVE-2017-12562.patch")))))))
(define-public libsamplerate
(package
(name "libsamplerate") ; aka. Secret Rabbit Code (SRC)

View File

@ -36,7 +36,7 @@
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2017 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2017, 2018 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
@ -45,6 +45,7 @@
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Muriithi Frederick Muriuki <fredmanglis@gmail.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -7645,6 +7646,35 @@ alternative when librabbitmq is not available.")
#:tests? #f
,@(package-arguments amqp))))))
(define-public python-txamqp
(package
(name "python-txamqp")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "txAMQP" version))
(sha256
(base32
"1r43a66dd547mz40ikymm8y3d480cidy560fj81qc0jk4lncgmmr"))))
(build-system python-build-system)
(propagated-inputs
`(("python-six" ,python-six)
("python-twisted" ,python-twisted)))
(home-page "https://github.com/txamqp/txamqp")
(synopsis "Communicate with AMQP peers and brokers using Twisted")
(description
"This package provides a Python library for communicating with AMQP peers
and brokers using the asynchronous networking framework Twisted. It contains
all the necessary code to connect, send and receive messages to/from an
AMQP-compliant peer or broker (Qpid, OpenAMQ, RabbitMQ) using Twisted. It
also includes support for using Thrift RPC over AMQP in Twisted
applications.")
(license license:asl2.0)))
(define-public python2-txamqp
(package-with-python2 python-txamqp))
(define-public python-kombu
(package
(name "python-kombu")
@ -8111,15 +8141,14 @@ is made as zipfile like as possible.")
(define-public python-magic
(package
(name "python-magic")
(version "0.4.3")
(version "0.4.15")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ahupp/python-magic/archive/"
version ".tar.gz"))
(uri (pypi-uri "python-magic" version))
(sha256
(base32
"17bgy92i7sb021f2s4mw1dcvpm6p1mi9jihridwy1pyn8mzvpjgk"))
"1mgwig9pnzgkf86q9ji9pnc99bngms15lfszq5rgqb9db07mqxpk"))
(file-name (string-append name "-" version "-checkout"))))
(build-system python-build-system)
(arguments
@ -8137,31 +8166,33 @@ is made as zipfile like as possible.")
;; expected.
'(#:tests? #f
#:phases (modify-phases %standard-phases
;; Replace a specific method call with a hard-coded
;; path to the necessary libmagic.so file in the
;; store. If we don't do this, then the method call
;; will fail to find the libmagic.so file, which in
;; turn will cause any application using
;; python-magic to fail.
(add-before 'build 'hard-code-path-to-libmagic
(lambda* (#:key inputs #:allow-other-keys)
(let ((file (assoc-ref inputs "file")))
(substitute* "magic.py"
(("ctypes.util.find_library\\('magic'\\)")
(string-append "'" file "/lib/libmagic.so'")))
#t)))
(add-before 'install 'disable-egg-compression
(lambda _
(let ((port (open-file "setup.cfg" "a")))
(display "\n[easy_install]\nzip_ok = 0\n"
port)
(close-port port)
#t))))))
;; Replace a specific method call with a hard-coded
;; path to the necessary libmagic.so file in the
;; store. If we don't do this, then the method call
;; will fail to find the libmagic.so file, which in
;; turn will cause any application using
;; python-magic to fail.
(add-before 'build 'hard-code-path-to-libmagic
(lambda* (#:key inputs #:allow-other-keys)
(let ((file (assoc-ref inputs "file")))
(substitute* "magic.py"
(("ctypes.util.find_library\\('magic'\\)")
(string-append "'" file "/lib/libmagic.so'")))
#t)))
(add-before 'install 'disable-egg-compression
(lambda _
(let ((port (open-file "setup.cfg" "a")))
(display "\n[easy_install]\nzip_ok = 0\n"
port)
(close-port port)
#t))))))
(inputs
;; python-magic needs to be able to find libmagic.so.
`(("file" ,file)))
(home-page "https://github.com/ahupp/python-magic")
(synopsis "File type identification using libmagic")
(home-page
"https://github.com/ahupp/python-magic")
(synopsis
"File type identification using libmagic")
(description
"This module uses ctypes to access the libmagic file type
identification library. It makes use of the local magic database and
@ -9250,21 +9281,20 @@ and/or Xon/Xoff. The port is accessed in RAW mode.")
(define-public python-kivy
(package
(name "python-kivy")
(version "1.9.1")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "kivy" version))
(uri (pypi-uri "Kivy" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0zk3g1j1z0lzcm9d0k1lprrs95zr8n8k5pdg3p5qlsn26jz4bg19"))))
"1394zh6kvf7k5d8vlzxcsfcailr3q59xwg9b1n7qaf25bvyq1h98"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Tests require many optional packages
#:phases
(modify-phases %standard-phases
(replace 'build (lambda _ (zero? (system* "make" "force"))))
(add-after 'patch-generated-file-shebangs 'set-sdl-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "KIVY_SDL2_PATH"
@ -9272,7 +9302,8 @@ and/or Xon/Xoff. The port is accessed in RAW mode.")
"/include/SDL2"))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
`(("git" ,git)
("pkg-config" ,pkg-config)
("python-cython" ,python-cython)))
(inputs
`(("gstreamer" ,gstreamer)
@ -11134,18 +11165,20 @@ information.")
(define-public python-relatorio
(package
(name "python-relatorio")
(version "0.6.4")
(version "0.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "relatorio" version))
(sha256
(base32
"0lincq79mzgazwd9gh41dybjh9c3n87r83pl8nk3j79aihyfk84z"))))
"1na6hlhz1awi1hbjg1gyclq0khz42iz90wvdjw7mmj655788bpxx"))))
(build-system python-build-system)
(propagated-inputs
`(("python-lxml" ,python-lxml)
("python-genshi" ,python-genshi)))
(native-inputs
`(("python-magic" ,python-magic)))
(home-page "https://relatorio.tryton.org/")
(synopsis "Templating library able to output ODT and PDF files")
(description "Relatorio is a templating library which provides a way to
@ -12348,7 +12381,7 @@ not actively maintained and works only with Python 2 and NumPy < 1.9.")
(define-public python2-mmtk
(package
(name "python2-mmtk")
(version "2.7.10")
(version "2.7.11")
(source
(origin
(method url-fetch)
@ -12357,7 +12390,7 @@ not actively maintained and works only with Python 2 and NumPy < 1.9.")
(file-name (string-append "MMTK-" version ".tar.gz"))
(sha256
(base32
"1k4gsd50zja89dbzgy3aji7h4zpvbvdfrds7rxr3whqrsgcffnir"))))
"1d0nnjx4lwsvh8f99vv1r6gi50d93yba0adkz8b4zgv4za4c5862"))))
(build-system python-build-system)
(native-inputs
`(("netcdf" ,netcdf)))
@ -12385,3 +12418,49 @@ and normal mode analysis, but also basic routines for implementing new methods
for simulation and analysis. The library is currently not actively maintained
and works only with Python 2 and NumPy < 1.9.")
(license license:cecill-c)))
(define-public python-phonenumbers
(package
(name "python-phonenumbers")
(version "8.8.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "phonenumbers" version))
(sha256
(base32
"1lhhxmx3hk0b5891nc0p82dl5bq2w9cqbawmh8j5zy587af2j6fq"))))
(build-system python-build-system)
(home-page
"https://github.com/daviddrysdale/python-phonenumbers")
(synopsis
"Python library for dealing with international phone numbers")
(description
"This package provides a Python port of Google's libphonenumber library.")
(license license:asl2.0)))
(define-public python2-phonenumbers
(package-with-python2 python-phonenumbers))
(define-public python-yapf
(package
(name "python-yapf")
(version "0.20.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "yapf" version))
(sha256
(base32
"0s7l6afzxvpx39kzd0lwshlaxw8m4fwh4iy0rlmav4vipr3g46dx"))))
(build-system python-build-system)
(home-page "https://github.com/google/yapf")
(synopsis "Formatter for Python code")
(description "YAPF is a formatter for Python code. It's based off of
@dfn{clang-format}, developed by Daniel Jasper. In essence, the algorithm
takes the code and reformats it to the best formatting that conforms to the
style guide, even if the original code didn't violate the style guide.")
(license license:asl2.0)))
(define-public python2-yapf
(package-with-python2 python-yapf))

View File

@ -7,7 +7,7 @@
;;; Copyright © 2016 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2018 ng0 <ng0@n0.is>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
@ -644,3 +644,49 @@ Korn Shell programming language and a successor to the Public Domain Korn
Shell (pdksh).")
(license (list miros
isc)))) ; strlcpy.c
(define-public oil-shell
(package
(name "oil-shell")
(version "0.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://www.oilshell.org/download/oil-"
version ".tar.xz"))
(sha256
(base32
"0j4fyn6xjaf29xqyzm09ahazmq9v1hkxv4kps7n3lzdfr32a4kk9"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; the tests are not distributed in the tarballs
#:strip-binaries? #f ; the binaries cannot be stripped
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-compiler-invocation
(lambda _
(substitute* "configure"
((" cc ") " gcc "))
#t))
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "CC" "gcc")
;; The configure script doesn't recognize CONFIG_SHELL.
(setenv "CONFIG_SHELL" (which "sh"))
(invoke "./configure" (string-append "--prefix=" out)
"--with-readline"))))
(add-before 'install 'make-destination
(lambda _
;; The build scripts don't create the destination directory.
(mkdir-p (string-append (assoc-ref %outputs "out") "/bin")))))))
(inputs
`(("readline" ,readline)))
(synopsis "Bash-compatible Unix shell")
(description "Oil is a Unix / POSIX shell, compatible with Bash. It
implements the Oil language, which is a new shell language to which Bash can be
automatically translated. The Oil language is a superset of Bash. It also
implements the OSH language, a statically-parseable language based on Bash as it
is commonly written.")
(home-page "https://www.oilshell.org/")
(license (list psfl ; The Oil sources include a patched Python 2 source tree
asl2.0))))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2017 Stefan Reichör <stefan@xsteve.at>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -112,16 +113,16 @@ are already there.")
(native-inputs
`(("go" ,go)
("which" ,which)))
(home-page "http://direnv.net/")
(home-page "https://direnv.net/")
(synopsis "Environment switcher for the shell")
(description "direnv can hook into bash, zsh, tcsh and fish shell to load
(description
"direnv can hook into the bash, zsh, tcsh, and fish shells to load
or unload environment variables depending on the current directory. This
allows project-specific environment variables without using the ~/.profile
file.
allows project-specific environment variables without using @file{~/.profile}.
Before each prompt, direnv checks for the existence of a .envrc file in the
current and parent directories. This file is then used to alter the
environmental variables of the current shell.")
Before each prompt, direnv checks for the existence of a @file{.envrc} file in
the current and parent directories. This file is then used to alter the
environment variables of the current shell.")
(license expat)))
(define-public fzy

View File

@ -2,6 +2,7 @@
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -79,14 +80,14 @@ slsh, which is part of the S-Lang distribution.")
(define-public newt
(package
(name "newt")
(version "0.52.18")
(version "0.52.20")
(source (origin
(method url-fetch)
(uri (string-append "https://pagure.io/releases/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32
"07n9f2mqsjfj35wx5ldhvl9sqcjqpcl0g4fdd9mawmny9rihw6vp"))))
"1g3dpfnvaw7vljbr7nzq1rl88d6r8cmrvvng9inphgzwxxmvlrld"))))
(build-system gnu-build-system)
(outputs '("out" "python"))
(inputs
@ -100,8 +101,9 @@ slsh, which is part of the S-Lang distribution.")
;; Set the correct RUNPATH in binaries.
(list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib"))
#:make-flags
;; configure does not allow us to override this variable from the
;; command-line. Fortunately, the Makefile does, so provide it here.
;; configure uses a hard-coded search of /usr/include/python* to set
;; this variable, and does not allow us to override it from the
;; command line. Fortunately, the Makefile does, so provide it here.
(list (string-append "PYTHONVERS=python"
,(version-major+minor (package-version python))))
#:phases

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -142,7 +143,7 @@ which allows users to view a desktop computing environment.")
(define-public spice-gtk
(package
(name "spice-gtk")
(version "0.33")
(version "0.34")
(source (origin
(method url-fetch)
(uri (string-append
@ -150,7 +151,7 @@ which allows users to view a desktop computing environment.")
"spice-gtk-" version ".tar.bz2"))
(sha256
(base32
"0fdgx9k4vgmasp8i2n0swrkapq8f212igcg7wsgvr3mbhsvk7bvx"))))
"1vknp72pl6v6nf3dphhwp29hk6gv787db2pmyg4m312z2q0hwwp9"))))
(build-system gnu-build-system)
(propagated-inputs
`(("gstreamer" ,gstreamer)
@ -239,7 +240,7 @@ which allows users to view a desktop computing environment.")
environments which allows you to view a computing 'desktop' environment
not only on the machine where it is running, but from anywhere on the
Internet and from a wide variety of machine architectures.")
(home-page "http://www.spice-space.org")
(home-page "https://www.spice-space.org")
(license (list license:lgpl2.1+ license:lgpl2.0+))))
(define-public spice-vdagent
@ -290,7 +291,7 @@ Internet and from a wide variety of machine architectures.")
(synopsis "Spice agent for Linux")
(description "Spice-vdagent enables sharing the clipboard and guest display
resolution scaling on graphical console window resize.")
(home-page "http://www.spice-space.org")
(home-page "https://www.spice-space.org")
(license license:gpl3+)))
(define-public virt-viewer

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Vicente Vera Parra <vicentemvp@gmail.com>
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@ -30,6 +30,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix hg-download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system r)
@ -5509,3 +5510,27 @@ positioning methods that can be re-used across several different plots. There
are heuristics for examining @code{trellis} and @code{ggplot} objects and
inferring an appropriate positioning method.")
(license license:gpl3)))
(define-public r-catterplots
(let ((commit "40063ec57f9515d231508f135ca0ec769614efb9")
(revision "2"))
(package
(name "r-catterplots")
(version (string-append "0-" revision "." (string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Gibbsdavidl/CatterPlots.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1wl80pgbz8d9kfpffvkh439hlgz2qldm9m75wqjfrgrg8lcjzrxg"))))
(build-system r-build-system)
(propagated-inputs
`(("r-png" ,r-png)))
(home-page "https://github.com/Gibbsdavidl/CatterPlots")
(synopsis "Scatter plots with cat shaped points")
(description "Did you ever wish you could make scatter plots with cat
shaped points? Now you can!")
(license license:asl2.0))))

View File

@ -21,6 +21,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages finance)
#:use-module (gnu packages gtk)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
@ -29,24 +30,23 @@
#:use-module (guix download)
#:use-module (guix build-system python))
(define-public trytond
(define-public python-trytond
(package
(name "trytond")
(version "4.4.1")
(name "python-trytond")
(version "4.6.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://downloads.tryton.org/4.4/trytond-"
version ".tar.gz"))
(uri (pypi-uri "trytond" version))
(sha256
(base32
"15gm34qwj5fpnkqvrxzndl8653zbczhsa76dm1gi4cqj1r29bbpr"))))
"0asc3pd37h8ky8j66iqxr0fv0k6mpjcwxwm0xgm5hrdi32l5cdda"))))
(build-system python-build-system)
(inputs
`(("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-polib" ,python-polib)
("python-magic" ,python-magic)
;; there's no python-mysql in Guix right now
;; so python-psycopg2 (postgresql) only for now
("python-psycopg2" ,python-psycopg2)
@ -62,7 +62,8 @@
(modify-phases %standard-phases
(add-before 'check 'preparations
(lambda _
(setenv "DB_NAME" ":memory:"))))))
(setenv "DB_NAME" ":memory:")
#t)))))
(home-page "https://www.tryton.org/")
(synopsis "Server component of Tryton")
(description "Tryton is a three-tier high-level general purpose
@ -74,16 +75,14 @@ and security.")
(define-public tryton
(package
(name "tryton")
(version "4.4.0")
(version "4.6.2")
(source
(origin
(method url-fetch)
(uri (string-append
"https://downloads.tryton.org/4.4/tryton-"
version ".tar.gz"))
(uri (pypi-uri "tryton" version))
(sha256
(base32
"1lklcz5fs6rkrd7z2m2f5gz4fdwzkgnhg2hyvzp20kdsvi33bq2j"))))
"0bamr040np02gfjk8c734rw3mbgg75irfgpdcl2npgkdzyw1ksf9"))))
(build-system python-build-system)
(inputs
`(("python2-chardet" ,python2-chardet)
@ -95,3 +94,106 @@ and security.")
(synopsis "Client component of Tryton")
(description "This package is the client component of Tryton.")
(license license:gpl3+)))
(define-public python-trytond-country
(package
(name "python-trytond-country")
(version "4.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "trytond_country" version))
(sha256
(base32
"11c9mw2scbjn7c6yhlwh5ml266f0s31lh4jwj6gh7vl1shs3isr3"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'preparations
(lambda _
(setenv "DB_NAME" ":memory:")
#t)))))
(propagated-inputs
`(("python-trytond" ,python-trytond)
("python-wrapt" ,python-wrapt)
("python-werkzeug" ,python-werkzeug)
("python-sql" ,python-sql)
("python-polib" ,python-polib)
("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-relatorio" ,python-relatorio)
("python-magic" ,python-magic)))
(home-page "http://www.tryton.org/")
(synopsis "Tryton module with countries")
(description "This package provides a Tryton module with countries.")
(license license:gpl3+)))
(define-public python-trytond-party
(package
(name "python-trytond-party")
(version "4.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "trytond_party" version))
(sha256
(base32
"0fbf4kxywiglcdsx9ppjg7nxw87915mb6bpn1jn652gk949rdww5"))))
(build-system python-build-system)
;; XXX The tests seem to require Proteus. But Proteus tests seem to
;; require trytond-party.
(arguments
'(#:tests? #f))
(propagated-inputs
`(("python-trytond" ,python-trytond)
("python-trytond-country" ,python-trytond-country)
("python-stdnum" ,python-stdnum)
("python-sql" ,python-sql)
("python-wrapt" ,python-wrapt)
("python-werkzeug" ,python-werkzeug)
("python-polib" ,python-polib)
("python-dateutil" ,python-dateutil)
("python-genshi" ,python-genshi)
("python-relatorio" ,python-relatorio)
("python-magic" ,python-magic)
("python-phonenumbers" ,python-phonenumbers)))
(home-page "http://www.tryton.org/")
(synopsis
"Tryton module for parties and addresses")
(description
"This package provides a Tryton module for (counter)parties and
addresses.")
(license license:gpl3+)))
(define-public python-proteus
(package
(name "python-proteus")
(version "4.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "proteus" version))
(sha256
(base32
"0flkf1vxbhz51b7bq31dn7q9mlkli3pmpbzfhsxfqpf6laghbkqg"))))
(build-system python-build-system)
(propagated-inputs
`(("python-dateutil" ,python-dateutil)
("python-trytond-party" ,python-trytond-party)
("python-trytond-country" ,python-trytond-country)
("python-trytond" ,python-trytond)
("python-stdnum" ,python-stdnum)
("python-sql" ,python-sql)
("python-wrapt" ,python-wrapt)
("python-werkzeug" ,python-werkzeug)
("python-polib" ,python-polib)
("python-genshi" ,python-genshi)
("python-relatorio" ,python-relatorio)
("python-magic" ,python-magic)))
(home-page "http://www.tryton.org/")
(synopsis
"Library to access a Tryton server as a client")
(description
"This package provides a library to access Tryton server as a client.")
(license license:lgpl3+)))

View File

@ -138,14 +138,14 @@ as well as the classic centralized workflow.")
(name "git")
;; XXX When updating Git, check if the special 'git:src' input to cgit needs
;; to be updated as well.
(version "2.16.0")
(version "2.16.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
"1y1hdr8ydff5q7y762cwfdgaxam4mxvir6nrw3g51mmkcr77c40d"))))
"06gay8k29glg4giwphjalcc1fknxw4bmxkmbr3ic3gzxy8vl7bfg"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@ -158,7 +158,7 @@ as well as the classic centralized workflow.")
version ".tar.xz"))
(sha256
(base32
"0k5bviwff2q3vri8v6n2a71sxm83gcskzy6wr2z01pb7xfk28hl9"))))))
"1ympib7kd818v4wjgfrhxjrmv91n50lgxxg0i9gcqihgy3divrlp"))))))
(inputs
`(("curl" ,curl)
("expat" ,expat)

View File

@ -523,10 +523,10 @@ SMPTE 314M.")
(inputs
`(("libebml" ,libebml)))
(home-page "https://www.matroska.org")
(synopsis "C++ libary to parse Matroska files (.mkv and .mka)")
(synopsis "C++ library to parse Matroska files (.mkv and .mka)")
(description
"Matroska aims to become the standard of multimedia container formats.
It is based on EBML (Extensible Binary Meta Language), a binary derivative
It is based on @dfn{EBML} (Extensible Binary Meta Language), a binary derivative
of XML. EBML enables the Matroska Development Team to gain significant
advantages in terms of future format extensibility, without breaking file
support in old parsers.
@ -1150,7 +1150,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2018.01.18")
(version "2018.01.21")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
@ -1158,7 +1158,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
"16mdy83s8h1hw1qdbcv6anrgg9zxfw1da22fxjx53pr2x0ywwbsf"))))
"14ggjxnhc2sxc93h7d5k3z4n35n5q3ffsif97np0ar93x5z3zgn5"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion
@ -1181,11 +1181,12 @@ access to mpv's powerful playback capabilities.")
(("'etc/")
(string-append "'" prefix "/etc/"))
(("'share/")
(string-append "'" prefix "/share/")))))))))
(string-append "'" prefix "/share/")))
#t))))))
(synopsis "Download videos from YouTube.com and other sites")
(description
"Youtube-dl is a small command-line program to download videos from
YouTube.com and a few more sites.")
YouTube.com and many more sites.")
(home-page "https://yt-dl.org")
(license license:public-domain)))

View File

@ -728,7 +728,7 @@ Machine Protocol.")
(define-public lookingglass
(package
(name "lookingglass")
(version "a9")
(version "a10")
(source
(origin
(method url-fetch)
@ -737,7 +737,7 @@ Machine Protocol.")
(file-name (string-append name "-" version))
(sha256
(base32
"015chy4x94x4dd5831d7n0gada8rhahmdx7bdbdhajlzivi3kjcw"))))
"0zlxg9ibzr0a598wr5nl1pb4l7mzsqn8ip72v4frph0vwsm5il6c"))))
(build-system gnu-build-system)
(inputs `(("fontconfig" ,fontconfig)
("glu" ,glu)

View File

@ -44,7 +44,7 @@
(define-public wget
(package
(name "wget")
(version "1.19.2")
(version "1.19.4")
(source
(origin
(method url-fetch)
@ -52,7 +52,7 @@
version ".tar.lz"))
(sha256
(base32
"01yzal7xm85543x02bij3capnigr063d6c5vc039f8n5s9d796nm"))))
"16jmcqcasx3q9k4azssryli9qyxfq0sfijw998g8zp58cnwzzh1g"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases

View File

@ -6,6 +6,7 @@
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -199,7 +200,7 @@ and many other languages.")
(define-public wxsvg
(package
(name "wxsvg")
(version "1.5.11")
(version "1.5.12")
(source
(origin
(method url-fetch)
@ -207,7 +208,7 @@ and many other languages.")
version "/wxsvg-" version ".tar.bz2"))
(sha256
(base32
"0m3ff8mjiq4hvy8rmxyc9fkpf24xwxhvr3a6jmvr2q5zc41xhz7x"))))
"1hn3h9kzsjs4wimlpknzjfgn7q0n792hh7v3mshjgsjxdcrckzan"))))
(build-system glib-or-gtk-build-system)
(inputs
`(("wxwidgets" ,wxwidgets-3.1)

View File

@ -90,10 +90,10 @@ things the parser might find in the XML document (like start tags).")
"005a0ipqnfbsq47zrc61zszi439jw32q5xd6dc1jyb3lc0zl266q"))))
(build-system gnu-build-system)
(home-page "https://matroska-org.github.io/libebml/")
(synopsis "C++ libary to parse EBML files")
(description "libebml is a C++ library to read and write EBML (Extensible
Binary Meta Language) files. EBML was designed to be a simplified binary
extension of XML for the purpose of storing and manipulating data in a
(synopsis "C++ library to parse EBML files")
(description "libebml is a C++ library to read and write @dfn{EBML}
(Extensible Binary Meta Language) files. EBML was designed to be a simplified
binary extension of XML for the purpose of storing and manipulating data in a
hierarchical form with variable field lengths.")
(license license:lgpl2.1)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -24,6 +24,7 @@
#:use-module (guix records)
#:use-module (guix profiles)
#:use-module (guix discovery)
#:use-module (guix combinators)
#:use-module (guix sets)
#:use-module (guix ui)
#:use-module ((guix utils) #:select (source-properties->location))
@ -66,6 +67,7 @@
simple-service
modify-services
service-back-edges
instantiate-missing-services
fold-services
service-error?
@ -630,6 +632,18 @@ kernel."
(service ambiguous-target-service-error-service)
(target-type ambiguous-target-service-error-target-type))
(define (missing-target-error service target-type)
(raise
(condition (&missing-target-service-error
(service service)
(target-type target-type))
(&message
(message
(format #f (G_ "no target of type '~a' for service '~a'")
(service-type-name target-type)
(service-type-name
(service-kind service))))))))
(define (service-back-edges services)
"Return a procedure that, when passed a <service>, returns the list of
<service> objects that depend on it."
@ -642,16 +656,7 @@ kernel."
((target)
(vhash-consq target service edges))
(()
(raise
(condition (&missing-target-service-error
(service service)
(target-type target-type))
(&message
(message
(format #f (G_ "no target of type '~a' for service '~a'")
(service-type-name target-type)
(service-type-name
(service-kind service))))))))
(missing-target-error service target-type))
(x
(raise
(condition (&ambiguous-target-service-error
@ -669,6 +674,38 @@ kernel."
(lambda (node)
(reverse (vhash-foldq* cons '() node edges)))))
(define (instantiate-missing-services services)
"Return SERVICES, a list, augmented with any services targeted by extensions
and missing from SERVICES. Only service types with a default value can be
instantiated; other missing services lead to a
'&missing-target-service-error'."
(define (adjust-service-list svc result instances)
(fold2 (lambda (extension result instances)
(define target-type
(service-extension-target extension))
(match (vhash-assq target-type instances)
(#f
(let ((default (service-type-default-value target-type)))
(if (eq? &no-default-value default)
(missing-target-error svc target-type)
(let ((new (service target-type)))
(values (cons new result)
(vhash-consq target-type new instances))))))
(_
(values result instances))))
result
instances
(service-type-extensions (service-kind svc))))
(let ((instances (fold (lambda (service result)
(vhash-consq (service-kind service) service
result))
vlist-null services)))
(fold2 adjust-service-list
services instances
services)))
(define* (fold-services services
#:key (target-type system-service-type))
"Fold SERVICES by propagating their extensions down to the root of type

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -83,7 +83,12 @@ return the socket."
(define-syntax-rule (with-shepherd connection body ...)
"Evaluate BODY... with CONNECTION bound to an open socket to PID 1."
(let ((connection (open-connection)))
body ...))
(dynamic-wind
(const #t)
(lambda ()
body ...)
(lambda ()
(close-port connection)))))
(define-condition-type &shepherd-error &error
shepherd-error?)

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@ -66,7 +66,7 @@
(define (shepherd-boot-gexp services)
(mlet %store-monad ((shepherd-conf (shepherd-configuration-file services)))
(with-monad %store-monad
(return #~(begin
;; Keep track of the booted system.
(false-if-exception (delete-file "/run/booted-system"))
@ -84,7 +84,8 @@
;; Start shepherd.
(execl #$(file-append shepherd "/bin/shepherd")
"shepherd" "--config" #$shepherd-conf)))))
"shepherd" "--config"
#$(shepherd-configuration-file services))))))
(define shepherd-root-service-type
(service-type
@ -203,25 +204,24 @@ stored."
(define (shepherd-service-file service)
"Return a file defining SERVICE."
(gexp->file (shepherd-service-file-name service)
(with-imported-modules %default-imported-modules
#~(begin
(use-modules #$@(shepherd-service-modules service))
(scheme-file (shepherd-service-file-name service)
(with-imported-modules %default-imported-modules
#~(begin
(use-modules #$@(shepherd-service-modules service))
(make <service>
#:docstring '#$(shepherd-service-documentation service)
#:provides '#$(shepherd-service-provision service)
#:requires '#$(shepherd-service-requirement service)
#:respawn? '#$(shepherd-service-respawn? service)
#:start #$(shepherd-service-start service)
#:stop #$(shepherd-service-stop service))))))
(make <service>
#:docstring '#$(shepherd-service-documentation service)
#:provides '#$(shepherd-service-provision service)
#:requires '#$(shepherd-service-requirement service)
#:respawn? '#$(shepherd-service-respawn? service)
#:start #$(shepherd-service-start service)
#:stop #$(shepherd-service-stop service))))))
(define (shepherd-configuration-file services)
"Return the shepherd configuration file for SERVICES."
(assert-valid-graph services)
(mlet %store-monad ((files (mapm %store-monad
shepherd-service-file services)))
(let ((files (map shepherd-service-file services)))
(define config
#~(begin
(use-modules (srfi srfi-34)
@ -252,7 +252,7 @@ stored."
(filter shepherd-service-auto-start?
services)))))))
(gexp->file "shepherd.conf" config)))
(scheme-file "shepherd.conf" config)))
(define* (shepherd-service-lookup-procedure services
#:optional

View File

@ -263,7 +263,11 @@ access to exported repositories under @file{/srv/git}."
(list (service-extension activation-service-type
cgit-activation)
(service-extension nginx-service-type
cgit-configuration-nginx-config)))
cgit-configuration-nginx-config)
;; Make sure fcgiwrap is instantiated.
(service-extension fcgiwrap-service-type
(const #t))))
(default-value (cgit-configuration))
(description
"Run the Cgit web interface, which allows users to browse Git

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 Chris Marusich <cmmarusich@gmail.com>
@ -492,8 +492,9 @@ a container or that of a \"bare metal\" system."
(define* (operating-system-services os #:key container?)
"Return all the services of OS, including \"internal\" services that do not
explicitly appear in OS."
(append (operating-system-user-services os)
(essential-services os #:container? container?)))
(instantiate-missing-services
(append (operating-system-user-services os)
(essential-services os #:container? container?))))
;;;

View File

@ -48,8 +48,8 @@
;; Add GNOME and/or Xfce---we can choose at the log-in
;; screen with F1. Use the "desktop" services, which
;; include the X11 log-in service, networking with Wicd,
;; and more.
;; include the X11 log-in service, networking with
;; NetworkManager, and more.
(services (cons* (gnome-desktop-service)
(xfce-desktop-service)
%desktop-services))

View File

@ -47,7 +47,7 @@
%base-packages))
;; Use the "desktop" services, which include the X11
;; log-in service, networking with Wicd, and more.
;; log-in service, networking with NetworkManager, and more.
(services %desktop-services)
;; Allow resolution of '.local' host names with mDNS.

View File

@ -44,7 +44,12 @@
#:use-module (ice-9 match)
#:use-module (srfi srfi-26)
#:export (installation-os
beaglebone-black-installation-os))
a20-olinuxino-lime-installation-os
a20-olinuxino-lime2-emmc-installation-os
a20-olinuxino-micro-installation-os
banana-pi-m2-ultra-installation-os
beaglebone-black-installation-os
nintendo-nes-classic-edition-installation-os))
;;; Commentary:
;;;
@ -376,28 +381,66 @@ You have been warned. Thanks for being so brave.\x1b[0m
nvi ;:wq!
%base-packages))))
(define beaglebone-black-installation-os
(define* (agetty-default-service #:optional (tty "ttyS0"))
"Return an agetty-service on the given TTY"
(agetty-service (agetty-configuration
(extra-options '("-L"))
(baud-rate "115200")
(term "vt100")
(tty tty))))
(define* (embedded-installation-os bootloader bootloader-target tty
#:key (extra-modules '()))
"Return an installation os for embedded systems.
The initrd gets the extra modules EXTRA-MODULES.
A getty is provided on TTY.
The bootloader BOOTLOADER is installed to BOOTLOADER-TARGET."
(operating-system
(inherit installation-os)
(bootloader (bootloader-configuration
(bootloader u-boot-beaglebone-black-bootloader)
(target "/dev/sda")))
(bootloader bootloader)
(target bootloader-target)))
(kernel linux-libre)
(initrd (lambda (fs . rest)
(apply base-initrd fs
;; This module is required to mount the sd card.
#:extra-modules (list "omap_hsmmc")
#:extra-modules extra-modules
rest)))
(services (append
;; mingetty does not work on serial lines.
;; Use agetty with board-specific serial parameters.
(list (agetty-service
(agetty-configuration
(extra-options '("-L"))
(baud-rate "115200")
(term "vt100")
(tty "ttyO0"))))
(operating-system-user-services installation-os)))))
(services (cons* (agetty-default-service tty)
(operating-system-user-services installation-os)))))
(define beaglebone-black-installation-os
(embedded-installation-os u-boot-beaglebone-black-bootloader
"/dev/sda"
"ttyO0"
#:extra-modules
;; This module is required to mount the sd card.
'("omap_hsmmc")))
(define a20-olinuxino-lime-installation-os
(embedded-installation-os u-boot-a20-olinuxino-lime-bootloader
"/dev/mmcblk0" ; SD card storage
"ttyS0"))
(define a20-olinuxino-lime2-emmc-installation-os
(embedded-installation-os u-boot-a20-olinuxino-lime2-bootloader
"/dev/mmcblk1" ; eMMC storage
"ttyS0"))
(define a20-olinuxino-micro-installation-os
(embedded-installation-os u-boot-a20-olinuxino-micro-bootloader
"/dev/mmcblk0" ; SD card storage
"ttyS0"))
(define banana-pi-m2-ultra-installation-os
(embedded-installation-os u-boot-banana-pi-m2-ultra-bootloader
"/dev/mmcblk1" ; eMMC storage
"ttyS0"))
(define nintendo-nes-classic-edition-installation-os
(embedded-installation-os u-boot-nintendo-nes-classic-edition-bootloader
"/dev/mmcblk0" ; SD card (solder it yourself)
"ttyS0"))
;; Return the default os here so 'guix system' can consume it directly.
installation-os

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;;
;;; This file is part of GNU Guix.
@ -88,8 +88,6 @@
(let ((base-os
(simple-operating-system
(dhcp-client-service)
(service nginx-service-type)
(service fcgiwrap-service-type)
(service cgit-service-type
(cgit-configuration
(nginx %cgit-configuration-nginx)))
@ -130,8 +128,25 @@ HTTP-PORT."
(test-begin "cgit")
;; XXX: Shepherd reads the config file *before* binding its control
;; socket, so /var/run/shepherd/socket might not exist yet when the
;; 'marionette' service is started.
(test-assert "shepherd socket ready"
(marionette-eval
`(begin
(use-modules (gnu services herd))
(let loop ((i 10))
(cond ((file-exists? (%shepherd-socket-file))
#t)
((> i 0)
(sleep 1)
(loop (- i 1)))
(else
'failure))))
marionette))
;; Wait for nginx to be up and running.
(test-eq "service running"
(test-eq "nginx running"
'running!
(marionette-eval
'(begin
@ -141,7 +156,7 @@ HTTP-PORT."
marionette))
;; Wait for fcgiwrap to be up and running.
(test-eq "service running"
(test-eq "fcgiwrap running"
'running!
(marionette-eval
'(begin

View File

@ -672,10 +672,10 @@ example: \"/foo/bar\" yields '(\"foo\" \"bar\")."
exp ...)
(const #f)))
(define (nar-response-port response)
(define (nar-response-port response compression)
"Return a port on which to write the body of RESPONSE, the response of a
/nar request, according to COMPRESSION."
(match (assoc-ref (response-headers response) 'x-nar-compression)
(match compression
(($ <compression> 'gzip level)
;; Note: We cannot used chunked encoding here because
;; 'make-gzip-output-port' wants a file port.
@ -697,11 +697,13 @@ blocking."
(call-with-new-thread
(lambda ()
(set-thread-name "publish nar")
(let* ((response (write-response (sans-content-length response)
client))
(port (begin
(force-output client)
(nar-response-port response))))
(let* ((compression (assoc-ref (response-headers response)
'x-nar-compression))
(response (write-response (sans-content-length response)
client))
(port (begin
(force-output client)
(nar-response-port response compression))))
;; XXX: Given our ugly workaround for <http://bugs.gnu.org/21093> in
;; 'render-nar', BODY here is just the file name of the store item.
;; We call 'write-file' from here because we know that's the only

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016, 2017 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@ -331,7 +331,9 @@ bring the system down."
(let ((to-load-names (map shepherd-service-canonical-name to-load))
(to-start (filter shepherd-service-auto-start? to-load)))
(info (G_ "loading new services:~{ ~a~}...~%") to-load-names)
(mlet %store-monad ((files (mapm %store-monad shepherd-service-file
(mlet %store-monad ((files (mapm %store-monad
(compose lower-object
shepherd-service-file)
to-load)))
;; Here we assume that FILES are exactly those that were computed
;; as part of the derivation that built OS, which is normally the

View File

@ -1,8 +1,10 @@
#!@GUILE@ --no-auto-compile
#!@GUILE@ \
--no-auto-compile -e main -s
-*- scheme -*-
!#
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -22,56 +24,36 @@
;; IMPORTANT: We must avoid loading any modules from Guix here,
;; because we need to adjust the guile load paths first.
;; It's okay to import modules from core Guile though.
(use-modules (ice-9 regex)
(srfi srfi-26))
(use-modules (srfi srfi-26))
(let ()
(define-syntax-rule (push! elt v) (set! v (cons elt v)))
(define-syntax-rule (push! elt v) (set! v (cons elt v)))
(define config-lookup
(let ((config '(("prefix" . "@prefix@")
("exec_prefix" . "@exec_prefix@")
("datarootdir" . "@datarootdir@")
("guilemoduledir" . "@guilemoduledir@")
("guileobjectdir" . "@guileobjectdir@")
("localedir" . "@localedir@")))
(var-ref-regexp (make-regexp "\\$\\{([a-z_]+)\\}")))
(define (expand-var-ref match)
(lookup (match:substring match 1)))
(define (expand str)
(regexp-substitute/global #f var-ref-regexp str
'pre expand-var-ref 'post))
(define (lookup name)
(expand (assoc-ref config name)))
lookup))
(define (augment-load-paths!)
;; Add installed modules to load-path.
(push! "@guilemoduledir@" %load-path)
(push! "@guileobjectdir@" %load-compiled-path)
(define (maybe-augment-load-paths!)
(unless (getenv "GUIX_UNINSTALLED")
(let ((module-dir (config-lookup "guilemoduledir"))
(object-dir (config-lookup "guileobjectdir")))
(push! module-dir %load-path)
(push! object-dir %load-compiled-path))
(let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME")
(and=> (getenv "HOME")
(cut string-append <> "/.config")))
(cut string-append <> "/guix/latest"))))
(when (and updates-dir (file-exists? updates-dir))
;; XXX: Currently 'guix pull' puts both .scm and .go files in
;; UPDATES-DIR.
(push! updates-dir %load-path)
(push! updates-dir %load-compiled-path)))))
;; Add modules fetched by 'guix pull' to load-path.
(let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME")
(and=> (getenv "HOME")
(cut string-append <> "/.config")))
(cut string-append <> "/guix/latest"))))
(when (and=> updates-dir file-exists?)
;; XXX: Currently 'guix pull' puts both .scm and .go files in
;; UPDATES-DIR.
(push! updates-dir %load-path)
(push! updates-dir %load-compiled-path))))
(define (run-guix-main)
(let ((guix-main (module-ref (resolve-interface '(guix ui))
'guix-main)))
(bindtextdomain "guix" (config-lookup "localedir"))
(bindtextdomain "guix-packages" (config-lookup "localedir"))
(apply guix-main (command-line))))
(define* (main #:optional (args (command-line)))
(unless (getenv "GUIX_UNINSTALLED")
(augment-load-paths!))
(maybe-augment-load-paths!)
;; XXX: It would be more convenient to change it to:
;; (exit (run-guix-main))
;; but since the 'guix' command is not updated by 'guix pull', we cannot
;; really do it now.
(run-guix-main))
(let ((guix-main (module-ref (resolve-interface '(guix ui))
'guix-main)))
(bindtextdomain "guix" "@localedir@")
(bindtextdomain "guix-packages" "@localedir@")
;; XXX: It would be more convenient to change it to:
;; (exit (apply guix-main (command-line)))
;; but since the 'guix' command is not updated by 'guix pull', we cannot
;; really do it now.
(apply guix-main args)))

View File

@ -111,6 +111,10 @@
(sleep 1)
(loop (- i 1))))))
(define %gzip-magic-bytes
;; Magic bytes of gzip file.
#vu8(#x1f #x8b))
;; Wait until the two servers are ready.
(wait-until-ready 6789)
@ -213,6 +217,18 @@ FileSize: ~a~%"
(cut restore-file <> temp)))
(call-with-input-file temp read-string))))
(unless (zlib-available?)
(test-skip 1))
(test-equal "/nar/gzip/* is really gzip"
%gzip-magic-bytes
;; Since 'gzdopen' (aka. 'call-with-gzip-input-port') transparently reads
;; uncompressed gzip, the test above doesn't check whether it's actually
;; gzip. This is what this test does. See <https://bugs.gnu.org/30184>.
(let ((nar (http-get-port
(publish-uri
(string-append "/nar/gzip/" (basename %item))))))
(get-bytevector-n nar (bytevector-length %gzip-magic-bytes))))
(unless (zlib-available?)
(test-skip 1))
(test-equal "/*.narinfo with compression"

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -122,6 +122,36 @@
(fold-services (list s) #:target-type t1)
#f)))
(test-assert "instantiate-missing-services"
(let* ((t1 (service-type (name 't1) (extensions '())
(default-value 'dflt)
(compose concatenate)
(extend cons)))
(t2 (service-type (name 't2)
(extensions
(list (service-extension t1 list)))))
(s1 (service t1 'hey!))
(s2 (service t2 42)))
(and (lset= equal?
(list (service t1) s2)
(instantiate-missing-services (list s2)))
(equal? (list s1 s2)
(instantiate-missing-services (list s1 s2))))))
(test-assert "instantiate-missing-services, no default value"
(let* ((t1 (service-type (name 't1) (extensions '())))
(t2 (service-type (name 't2)
(extensions
(list (service-extension t1 list)))))
(s (service t2 42)))
(guard (c ((missing-target-service-error? c)
(and (eq? (missing-target-service-error-target-type c)
t1)
(eq? (missing-target-service-error-service c)
s))))
(instantiate-missing-services (list s))
#f)))
(test-assert "shepherd-service-lookup-procedure"
(let* ((s1 (shepherd-service (provision '(s1 s1b)) (start #f)))
(s2 (shepherd-service (provision '(s2 s2b)) (start #f)))