Merge branch 'master' into staging

This commit is contained in:
Marius Bakke 2018-07-08 23:58:22 +02:00
commit 873325b030
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
85 changed files with 2897 additions and 16902 deletions

View file

@ -282,8 +282,6 @@ AUX_FILES = \
gnu/packages/aux-files/linux-libre/4.9-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.4-i686.conf \
gnu/packages/aux-files/linux-libre/4.4-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.1-i686.conf \
gnu/packages/aux-files/linux-libre/4.1-x86_64.conf \
gnu/packages/aux-files/run-in-namespace.c
# Templates, examples.

1066
NEWS

File diff suppressed because it is too large Load diff

View file

@ -108,7 +108,9 @@ actually installing them. So that you can distinguish between your
``end-user'' hat and your ``motley'' costume.
To that end, all the command-line tools can be used even if you have not
run @code{make install}. To do that, prefix each command with
run @code{make install}. To do that, you first need to have an environment
with all the dependencies available (@pxref{Building from Git}), and then
simply prefix each command with
@command{./pre-inst-env} (the @file{pre-inst-env} script lives in the
top build tree of Guix), as in@footnote{The @option{-E} flag to
@command{sudo} guarantees that @code{GUILE_LOAD_PATH} is correctly set

View file

@ -96,6 +96,15 @@ Edition @value{EDITION} @*
This document describes GNU Guix version @value{VERSION}, a functional
package management tool written for the GNU system.
@c TRANSLATORS: You can replace the following paragraph with information on
@c how to join your own translation team and how to report issues with the
@c translation.
This manual is also available in French (@pxref{Top,,, guix.fr, Manuel de
référence de GNU Guix}). If you would like to translate it in your native
language, consider joining the
@uref{https://translationproject.org/domain/guix-manual.html, Translation
Project}.
@menu
* Introduction:: What is Guix about?
* Installation:: Installing Guix.
@ -5464,7 +5473,7 @@ denoting the target file. Here's an example:
`(("hosts" ,(plain-file "hosts"
"127.0.0.1 localhost"))
("bashrc" ,(plain-file "bashrc"
"alias ls='ls --color'"))))
"alias ls='ls --color=auto'"))))
@end example
This yields an @code{etc} directory containing these two files.
@ -8329,7 +8338,7 @@ More and more system services are provided (@pxref{Services}), but some
may be missing.
@item
More than 6,500 packages are available, but you might
More than 7,500 packages are available, but you might
occasionally find that a useful package is missing.
@item
@ -8636,6 +8645,17 @@ must have the @code{esp} flag set. E.g., for @command{parted}:
parted /dev/sda set 1 esp on
@end example
@quotation Note
@vindex grub-bootloader
@vindex grub-efi-bootloader
Unsure whether to use EFI- or BIOS-based GRUB? If the directory
@file{/sys/firmware/efi} exists in the installation image, then you should
probably perform an EFI installation, using @code{grub-efi-bootloader}.
Otherwise you should use the BIOS-based GRUB, known as
@code{grub-bootloader}. @xref{Bootloader Configuration}, for more info on
bootloaders.
@end quotation
Once you are done partitioning the target hard disk drive, you have to
create a file system on the relevant partition(s)@footnote{Currently
GuixSD only supports ext4 and btrfs file systems. In particular, code
@ -8964,6 +8984,27 @@ Below we discuss the effect of some of the most important fields
fields), and how to @dfn{instantiate} the operating system using
@command{guix system}.
@unnumberedsubsubsec Bootloader
@cindex legacy boot, on Intel machines
@cindex BIOS boot, on Intel machines
@cindex UEFI boot
@cindex EFI boot
The @code{bootloader} field describes the method that will be used to boot
your system. Machines based on Intel processors can boot in ``legacy'' BIOS
mode, as in the example above. However, more recent machines rely instead on
the @dfn{Unified Extensible Firmware Interface} (UEFI) to boot. In that case,
the @code{bootloader} field should contain something along these lines:
@example
(bootloader-configuration
(bootloader grub-efi-bootloader)
(target "/boot/efi"))
@end example
@xref{Bootloader Configuration}, for more information on the available
configuration options.
@unnumberedsubsubsec Globally-Visible Packages
@vindex %base-packages
@ -9074,8 +9115,7 @@ management, power management, and more, would look like this:
@include os-config-desktop.texi
@end lisp
@cindex UEFI
A graphical UEFI system with a choice of lightweight window managers
A graphical system with a choice of lightweight window managers
instead of full-blown desktop environments would look like this:
@lisp
@ -20697,21 +20737,34 @@ The type of a bootloader configuration declaration.
The bootloader to use, as a @code{bootloader} object. For now
@code{grub-bootloader}, @code{grub-efi-bootloader},
@code{extlinux-bootloader} and @code{u-boot-bootloader} are supported.
@code{grub-efi-bootloader} allows to boot on modern systems using the
@dfn{Unified Extensible Firmware Interface} (UEFI).
@vindex grub-efi-bootloader
@code{grub-efi-bootloader} allows to boot on modern systems using the
@dfn{Unified Extensible Firmware Interface} (UEFI). This is what you should
use if the installation image contains a @file{/sys/firmware/efi} directory
when you boot it on your system.
@vindex grub-bootloader
@code{grub-bootloader} allows you to boot in particular Intel-based machines
in ``legacy'' BIOS mode.
@cindex ARM, bootloaders
@cindex AArch64, bootloaders
Available bootloaders are described in @code{(gnu bootloader @dots{})}
modules.
modules. In particular, @code{(gnu bootloader u-boot)} contains definitions
of bootloaders for a wide range of ARM and AArch64 systems, using the
@uref{http://www.denx.de/wiki/U-Boot/, U-Boot bootloader}.
@item @code{target}
This is a string denoting the target onto which to install the
bootloader. The exact interpretation depends on the bootloader in
question; for @code{grub-bootloader}, for example, it should be a device
name understood by the bootloader @command{installer} command, such as
@code{/dev/sda} or @code{(hd0)} (for GRUB, @pxref{Invoking
grub-install,,, grub, GNU GRUB Manual}). For
@code{grub-efi-bootloader}, it should be the path to a mounted EFI file
system.
bootloader.
The interpretation depends on the bootloader in question. For
@code{grub-bootloader}, for example, it should be a device name understood by
the bootloader @command{installer} command, such as @code{/dev/sda} or
@code{(hd0)} (@pxref{Invoking grub-install,,, grub, GNU GRUB Manual}). For
@code{grub-efi-bootloader}, it should be the mount point of the EFI file
system, usually @file{/boot/efi}.
@item @code{menu-entries} (default: @code{()})
A possibly empty list of @code{menu-entry} objects (see below), denoting
@ -20736,7 +20789,7 @@ The output terminals used for the bootloader boot menu, as a list of
symbols. GRUB accepts the values: @code{console}, @code{serial},
@code{serial_@{0-3@}}, @code{gfxterm}, @code{vga_text},
@code{mda_text}, @code{morse}, and @code{pkmodem}. This field
corresponds to the GRUB variable GRUB_TERMINAL_OUTPUT (@pxref{Simple
corresponds to the GRUB variable @code{GRUB_TERMINAL_OUTPUT} (@pxref{Simple
configuration,,, grub,GNU GRUB manual}).
@item @code{terminal-inputs} (default: @code{'()})
@ -20745,7 +20798,7 @@ symbols. For GRUB, the default is the native platform terminal as
determined at run-time. GRUB accepts the values: @code{console},
@code{serial}, @code{serial_@{0-3@}}, @code{at_keyboard}, and
@code{usb_keyboard}. This field corresponds to the GRUB variable
GRUB_TERMINAL_INPUT (@pxref{Simple configuration,,, grub,GNU GRUB
@code{GRUB_TERMINAL_INPUT} (@pxref{Simple configuration,,, grub,GNU GRUB
manual}).
@item @code{serial-unit} (default: @code{#f})

View file

@ -1,7 +1,7 @@
# htmlxref.cnf - reference file for free Texinfo manuals on the web.
# Modified by Ludovic Courtès <ludo@gnu.org> for the GNU Guix manual.
htmlxrefversion=2016-08-03.13; # UTC
htmlxrefversion=2018-07-05.20; # UTC
# Copyright 2010, 2011, 2012, 2013, 2014, 2015 Free Software Foundation, Inc.
#
@ -219,7 +219,7 @@ emacs node ${EMACS}/html_node/emacs/
easejs mono ${GS}/easejs/manual/easejs.html
easejs node ${GS}/easejs/manual/
EMACS_GUIX = https://alezost.github.io/guix.el/manual/latest
EMACS_GUIX = https://emacs-guix.gitlab.io/website/manual/latest
emacs-guix mono ${EMACS_GUIX}/emacs-guix.html
emacs-guix node ${EMACS_GUIX}/html_node/
@ -391,6 +391,8 @@ guile-rpc node ${GS}/guile-rpc/manual/html_node/
guix mono ${GS}/guix/manual/guix.html
guix node ${GS}/guix/manual/html_node/
guix.fr mono ${GS}/guix/manual/fr/guix.html
guix.fr node ${GS}/guix/manual/fr/html_node/
gv mono ${GS}/gv/manual/gv.html
gv node ${GS}/gv/manual/html_node/

View file

@ -167,6 +167,12 @@ _guix_complete ()
else
_guix_complete_available_package "$word_at_point"
fi
elif _guix_is_command "build"
then
if _guix_is_dash_L
then
_guix_complete_file
fi
elif _guix_is_command "download"
then
_guix_complete_file
@ -189,6 +195,12 @@ _guix_complete ()
elif _guix_is_command "hash" || _guix_is_command "gc"
then
_guix_complete_file
elif _guix_is_command "weather"
then
if _guix_is_dash_m
then
_guix_complete_file
fi
else
_guix_complete_available_package "$word_at_point"
fi

View file

@ -105,7 +105,13 @@ (define arch-specific-flags
;; hardware virtualization to still use these commands. KVM support is
;; still buggy on some ARM32 boards. Do not use it even if available.
,@(if (and (file-exists? "/dev/kvm")
(not target-arm32?))
(not target-arm32?)
;; XXX: 32-bit 'qemu-system-i386 -enable-kvm' segfaults on
;; x86_64 hosts running Linux-libre 4.17:
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31380#18> and
;; <https://lists.gnu.org/archive/html/qemu-devel/2018-07/msg01166.html>.
(not (string-suffix? "-i386" qemu)))
'("-enable-kvm")
'())

View file

@ -800,6 +800,8 @@ dist_patch_DATA = \
%D%/packages/patches/icecat-CVE-2018-5157-and-CVE-2018-5158.patch \
%D%/packages/patches/icecat-use-system-graphite2.patch \
%D%/packages/patches/icecat-use-system-harfbuzz.patch \
%D%/packages/patches/icedtea-6-hotspot-gcc-segfault-workaround.patch \
%D%/packages/patches/icedtea-7-hotspot-gcc-segfault-workaround.patch \
%D%/packages/patches/id3lib-CVE-2007-4460.patch \
%D%/packages/patches/ilmbase-fix-tests.patch \
%D%/packages/patches/intltool-perl-compatibility.patch \
@ -859,7 +861,7 @@ dist_patch_DATA = \
%D%/packages/patches/libevent-2.1-skip-failing-test.patch \
%D%/packages/patches/libexif-CVE-2016-6328.patch \
%D%/packages/patches/libexif-CVE-2017-7544.patch \
%D%/packages/patches/libgit2-0.25.1-mtime-0.patch \
%D%/packages/patches/libgit2-mtime-0.patch \
%D%/packages/patches/libgdata-fix-tests.patch \
%D%/packages/patches/libgdata-glib-duplicate-tests.patch \
%D%/packages/patches/libgnome-encoding.patch \
@ -1225,7 +1227,9 @@ dist_patch_DATA = \
%D%/packages/patches/xinetd-CVE-2013-4342.patch \
%D%/packages/patches/xmodmap-asprintf.patch \
%D%/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch \
%D%/packages/patches/zathura-plugindir-environment-variable.patch
%D%/packages/patches/zathura-plugindir-environment-variable.patch \
%D%/packages/patches/zstd-fix-stdin-list-without-tty.patch \
%D%/packages/patches/zstd-fix-stdin-list-test.patch
MISC_DISTRO_FILES = \
%D%/packages/ld-wrapper.in

View file

@ -1261,7 +1261,7 @@ (define-public dmidecode
(define-public acpica
(package
(name "acpica")
(version "20180531")
(version "20180629")
(source (origin
(method url-fetch)
(uri (string-append
@ -1269,7 +1269,7 @@ (define-public acpica
version ".tar.gz"))
(sha256
(base32
"0q7vg1nr51f3rg16vjh4glz361a64r6gpm46fqkl2jf4fq7g43g5"))))
"0rsh7ya5brpbsj7y44k1z77cvgv3zahiy8hvwvl61d6fh3db7pdp"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
@ -2632,7 +2632,7 @@ (define-public inxi-minimal
(let ((real-name "inxi"))
(package
(name "inxi-minimal")
(version "3.0.13-1")
(version "3.0.14-1")
(source
(origin
(method git-fetch)
@ -2641,7 +2641,7 @@ (define-public inxi-minimal
(commit version)))
(sha256
(base32
"0732ligzmzwpwaxin4g8rbfj91ghyvf69lx2jyrahi4df0bfamh5"))))
"1f342basqlp7hl6zw29fb018jd55dx85a6dmm3sap032a3dgds73"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash)

View file

@ -315,7 +315,7 @@ (define-public flint
(define-public arb
(package
(name "arb")
(version "2.12.0")
(version "2.13.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -324,7 +324,7 @@ (define-public arb
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0j37xkxbqpra4sf0a96x4sqbl5fkal8d7c94bi9wdsqqj6kgcsil"))))
"123p3gwx0s3i88rcaj3g4jl37cr3pywhpqackipskzab15ni2xfh"))))
(build-system gnu-build-system)
(propagated-inputs
`(("flint" ,flint))) ; flint.h is included by arf.h

View file

@ -129,7 +129,7 @@ (define-public gnuastro
(define-public stellarium
(package
(name "stellarium")
(version "0.17.0")
(version "0.18.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/Stellarium/" name
@ -138,7 +138,7 @@ (define-public stellarium
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0d6b3fs5aify7i1lwgkcickppnj73cbh24g8qschnfs3ypdf48fc"))))
"0vjkwrjy22b4wdjkafm63pmb0fck14ffnylpq8xr91ywycw4blrq"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -166,7 +166,7 @@ (define-public stellarium
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "HOME" "/tmp")
#t)))))
(home-page "http://www.stellarium.org/")
(home-page "http://stellarium.org/")
(synopsis "3D sky viewer")
(description "Stellarium is a planetarium. It shows a realistic sky in
3D, just like what you see with the naked eye, binoculars, or a telescope. It

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -28,7 +28,8 @@ (define-module (gnu packages bioconductor)
#:use-module (gnu packages cran)
#:use-module (gnu packages compression)
#:use-module (gnu packages graph)
#:use-module (gnu packages statistics))
#:use-module (gnu packages statistics)
#:use-module (gnu packages web))
(define-public r-bsgenome-dmelanogaster-ucsc-dm6
(package
@ -167,6 +168,35 @@ (define-public r-bsgenome-mmusculus-ucsc-mm9-masked
default." )
(license license:artistic2.0)))
(define-public r-genelendatabase
(package
(name "r-genelendatabase")
(version "1.16.0")
(source
(origin
(method url-fetch)
;; We cannot use bioconductor-uri here because this tarball is
;; located under "data/experiment/" instead of "bioc/".
(uri (string-append "https://bioconductor.org/packages/"
"release/data/experiment/src/contrib"
"/geneLenDataBase_" version ".tar.gz"))
(sha256
(base32
"07mmmn53kb7v14msc13dsbm8ghssbvwcrhifrk15hn37bw2p4ja5"))))
(properties
`((upstream-name . "geneLenDataBase")))
(build-system r-build-system)
(propagated-inputs
`(("r-rtracklayer" ,r-rtracklayer)
("r-genomicfeatures" ,r-genomicfeatures)))
(home-page "https://bioconductor.org/packages/geneLenDataBase/")
(synopsis "Lengths of mRNA transcripts for a number of genomes")
(description
"This package provides the lengths of mRNA transcripts for a number of
genomes and gene ID formats, largely based on the UCSC table browser.")
(license license:lgpl2.0+)))
(define-public r-hpar
(package
(name "r-hpar")
@ -675,3 +705,100 @@ (define-public r-genomicinteractions
such as ChIA-PET/Hi-C, annotating genomic features with interaction
information and producing various plots and statistics.")
(license license:gpl3)))
(define-public r-ctc
(package
(name "r-ctc")
(version "1.54.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ctc" version))
(sha256
(base32
"0sadplm4n9n3z6inmn6y3d6qbr4hllljqh700x5fygrnfacnckk9"))))
(build-system r-build-system)
(propagated-inputs `(("r-amap" ,r-amap)))
(home-page "https://bioconductor.org/packages/ctc/")
(synopsis "Cluster and tree conversion")
(description
"This package provides tools for exporting and importing classification
trees and clusters to other programs.")
(license license:gpl2)))
(define-public r-goseq
(package
(name "r-goseq")
(version "1.32.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "goseq" version))
(sha256
(base32
"0xmbb8ma32lrfy810r82y34gkspq4fqiqxykic9j4rq9rg9n9x2l"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-biasedurn" ,r-biasedurn)
("r-biocgenerics" ,r-biocgenerics)
("r-genelendatabase" ,r-genelendatabase)
("r-go-db" ,r-go-db)
("r-mgcv" ,r-mgcv)))
(home-page "https://bioconductor.org/packages/goseq/")
(synopsis "Gene Ontology analyser for RNA-seq and other length biased data")
(description
"This package provides tools to detect Gene Ontology and/or other user
defined categories which are over/under represented in RNA-seq data.")
(license license:lgpl2.0+)))
(define-public r-glimma
(package
(name "r-glimma")
(version "1.8.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "Glimma" version))
(sha256
(base32
"0kfia60vrlys6amdchdix01iwbkwyb7nfjqn5hczsxp8rhmbg25s"))))
(properties `((upstream-name . "Glimma")))
(build-system r-build-system)
(propagated-inputs
`(("r-edger" ,r-edger)
("r-jsonlite" ,r-jsonlite)
("r-s4vectors" ,r-s4vectors)))
(home-page "https://github.com/Shians/Glimma")
(synopsis "Interactive HTML graphics")
(description
"This package generates interactive visualisations for analysis of
RNA-sequencing data using output from limma, edgeR or DESeq2 packages in an
HTML page. The interactions are built on top of the popular static
representations of analysis results in order to provide additional
information.")
(license license:lgpl3)))
(define-public r-rots
(package
(name "r-rots")
(version "1.8.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "ROTS" version))
(sha256
(base32
"12jvdqanyk86ihpcylp105zip22y0gkbksmyxy00q7iad0jhaqp3"))))
(properties `((upstream-name . "ROTS")))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-rcpp" ,r-rcpp)))
(home-page "https://bioconductor.org/packages/ROTS/")
(synopsis "Reproducibility-Optimized Test Statistic")
(description
"This package provides tools for calculating the
@dfn{Reproducibility-Optimized Test Statistic} (ROTS) for differential testing
in omics data.")
(license license:gpl2+)))

View file

@ -7058,28 +7058,6 @@ (define-public r-bioccheck
checks on R packages that are to be submitted to the Bioconductor repository.")
(license license:artistic2.0)))
(define-public r-getopt
(package
(name "r-getopt")
(version "1.20.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "getopt" version))
(sha256
(base32
"13p35lbpy7i578752fa71sbfvcsqw5qfa9p6kf8b5m3c5p9i4v1x"))))
(build-system r-build-system)
(home-page "https://github.com/trevorld/getopt")
(synopsis "Command-line option processor for R")
(description
"This package is designed to be used with Rscript to write shebang
scripts that accept short and long options. Many users will prefer to
use the packages @code{optparse} or @code{argparse} which add extra
features like automatically generated help options and usage texts,
support for default values, positional argument support, etc.")
(license license:gpl2+)))
(define-public r-optparse
(package
(name "r-optparse")
@ -12831,7 +12809,7 @@ (define-public dropseq-tools
(define-public pigx-rnaseq
(package
(name "pigx-rnaseq")
(version "0.0.3")
(version "0.0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_rnaseq/"
@ -12839,7 +12817,7 @@ (define-public pigx-rnaseq
"/pigx_rnaseq-" version ".tar.gz"))
(sha256
(base32
"0pz080k4ajlc4rlznkn3najy2a6874gb56rf9g4ag9wqz31q174j"))))
"16gla23rmziimqan7w494q0nr7vfbp42zzkrl9fracmr4k7b1kzr"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; not supported
@ -12851,14 +12829,6 @@ (define-public pigx-rnaseq
(substitute* "Makefile.in"
(("(^ tests/test_trim_galore/test.sh).*" _ m) m)
(("^ test.sh") ""))
#t))
(add-after 'install 'wrap-executable
;; Make sure the executable finds all R modules.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/pigx-rnaseq")
`("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
`("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
#t)))))
(inputs
`(("gzip" ,gzip)
@ -12906,7 +12876,7 @@ (define-public pigx-rnaseq
(define-public pigx-chipseq
(package
(name "pigx-chipseq")
(version "0.0.17")
(version "0.0.20")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_chipseq/"
@ -12914,7 +12884,7 @@ (define-public pigx-chipseq
"/pigx_chipseq-" version ".tar.gz"))
(sha256
(base32
"1c0x5lswvc8v9fw4iynl5rcfs7h7clzp4hqdnl65ia7rk35n4zg9"))))
"19a7dclqq0b4kqg3phiz4d4arlwfp34nm3z0rf1gkqdpsy7gghp3"))))
(build-system gnu-build-system)
;; parts of the tests rely on access to the network
(arguments '(#:tests? #f))
@ -12976,7 +12946,7 @@ (define-public pigx-chipseq
(define-public pigx-bsseq
(package
(name "pigx-bsseq")
(version "0.0.9")
(version "0.0.10")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_bsseq/"
@ -12984,7 +12954,7 @@ (define-public pigx-bsseq
"/pigx_bsseq-" version ".tar.gz"))
(sha256
(base32
"0j1dfjk8m1p1h6d5yw63scjlbx56z8gixmbw626w1vcyblg0frmz"))))
"0l97wvkq4diq8lcarraj33bby1zzf0w804jwi8mlc5qddp8idwhy"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -12996,14 +12966,6 @@ (define-public pigx-bsseq
(setenv "TZDIR"
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))
#t))
(add-after 'install 'wrap-executable
;; Make sure the executable finds all R modules.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/pigx-bsseq")
`("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
`("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
#t)))))
(native-inputs
`(("tzdata" ,tzdata)))
@ -13043,7 +13005,7 @@ (define-public pigx-bsseq
(define-public pigx-scrnaseq
(package
(name "pigx-scrnaseq")
(version "0.0.5")
(version "0.0.6")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx_scrnaseq/"
@ -13051,24 +13013,14 @@ (define-public pigx-scrnaseq
"/pigx_scrnaseq-" version ".tar.gz"))
(sha256
(base32
"0a73rilv0vnw42d5rsdq205h4f0x8j3jqv998janh4s324c6w2kj"))))
"0fvdymnka598z2ka7zk6rwrf9dq89p5lyd2y9swvyg72hn1jwjai"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "PICARDJAR=" (assoc-ref %build-inputs "java-picard")
"/share/java/picard.jar")
(string-append "DROPSEQJAR=" (assoc-ref %build-inputs "dropseq-tools")
"/share/java/dropseq.jar"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-executable
;; Make sure the executable finds all R modules.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(wrap-program (string-append out "/bin/pigx-scrnaseq")
`("R_LIBS_SITE" ":" = (,(getenv "R_LIBS_SITE")))
`("PYTHONPATH" ":" = (,(getenv "PYTHONPATH")))))
#t)))))
"/share/java/dropseq.jar"))))
(inputs
`(("coreutils" ,coreutils)
("perl" ,perl)
@ -13123,7 +13075,7 @@ (define-public pigx-scrnaseq
(define-public pigx
(package
(name "pigx")
(version "0.0.2")
(version "0.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/BIMSBbioinfo/pigx/"
@ -13131,7 +13083,7 @@ (define-public pigx
"/pigx-" version ".tar.gz"))
(sha256
(base32
"0sb708sl42h3s5z872jb1w70bbqplwapnsc1wm27zcsvi7li4gw8"))))
"1i5njdy1clj5ncw45d16p7mwmqvb1ilikl9n797pxklc3f4s7mq7"))))
(build-system gnu-build-system)
(inputs
`(("python" ,python)
@ -13296,3 +13248,32 @@ (define-public minimap2
divergence below ~15%.
@end enumerate\n")
(license license:expat)))
(define-public r-loomr
(let ((commit "df0144bd2bbceca6fadef9edc1bbc5ca672d4739")
(revision "1"))
(package
(name "r-loomr")
(version (git-version "0.2.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/mojaveazure/loomR.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1b1g4dlmfdyhn56bz1mkh9ymirri43wiz7rjhs7py3y7bdw1s3yr"))))
(build-system r-build-system)
(propagated-inputs
`(("r-r6" ,r-r6)
("r-hdf5r" ,r-hdf5r)
("r-iterators" ,r-iterators)
("r-itertools" ,r-itertools)
("r-matrix" ,r-matrix)))
(home-page "https://github.com/mojaveazure/loomR")
(synopsis "R interface for loom files")
(description "This package provides an R interface to access, create,
and modify loom files. loomR aims to be completely compatible with loompy.")
(license license:gpl3))))

View file

@ -31,7 +31,7 @@ (define-module (gnu packages cluster)
(define-public keepalived
(package
(name "keepalived")
(version "2.0.4")
(version "2.0.5")
(source (origin
(method url-fetch)
(uri (string-append
@ -39,7 +39,7 @@ (define-public keepalived
version ".tar.gz"))
(sha256
(base32
"0qf46bfxv4w7qx7d73qq26pp72cvbyfjvna3hxn208vynvapalh0"))))
"021a7c1lq4aqx7dbwhlm5km6w039hapfzp5hf6wb5bfq79s25g38"))))
(build-system gnu-build-system)
(arguments
'(#:phases

View file

@ -1649,7 +1649,7 @@ (define-public unshield
(define-public zstd
(package
(name "zstd")
(version "1.3.4")
(version "1.3.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/zstd/archive/v"
@ -1657,7 +1657,11 @@ (define-public zstd
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1a85sqk4z5b2jfp7fqkr38ibql8mdzca32lf4i3bssyjimp1pr4j"))))
"1sifbq18p0hc978g0pq8fymrlpzz1fcxqkbxfqk44z6v9jg5bqfn"))
;; Fix a regression that causes the tests to fail. Both patches
;; have been merged upstream and will be part of the next release.
(patches (search-patches "zstd-fix-stdin-list-without-tty.patch"
"zstd-fix-stdin-list-test.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View file

@ -1411,14 +1411,14 @@ (define-public r-squarem
(define-public r-lava
(package
(name "r-lava")
(version "1.6.1")
(version "1.6.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "lava" version))
(sha256
(base32
"11k9npmzp3nk2qx0h1dwwfc37j4ddd9y54bppxby0ffnb8qlpw1k"))))
"1r47pps39cgvxhg1s0bqknf4jl91pbb0c76q5icxivhwb172fqcm"))))
(build-system r-build-system)
(propagated-inputs
`(("r-numderiv" ,r-numderiv)
@ -1720,14 +1720,14 @@ (define-public r-psych
(define-public r-broom
(package
(name "r-broom")
(version "0.4.4")
(version "0.4.5")
(source
(origin
(method url-fetch)
(uri (cran-uri "broom" version))
(sha256
(base32
"081x87sy6dmfvkgwfjrl5ax51k77ciyzg9x3xql25vdi92rmwj3m"))))
"1mrrqqw1bmjf2v88ziqwb5y86g29h0a3rsx2jpw0hrzrzb8i5kcb"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
@ -1737,7 +1737,7 @@ (define-public r-broom
("r-reshape2" ,r-reshape2)
("r-stringr" ,r-stringr)
("r-tidyr" ,r-tidyr)))
(home-page "http://github.com/tidyverse/broom")
(home-page "https://github.com/tidyverse/broom")
(synopsis "Convert statistical analysis objects into tidy data frames")
(description
"This package provides tools to convert statistical analysis objects from
@ -4106,14 +4106,14 @@ (define-public r-rappdirs
(define-public r-learnr
(package
(name "r-learnr")
(version "0.9.2")
(version "0.9.2.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "learnr" version))
(sha256
(base32
"1z04c1djg7ghsl7p9ypc6k5m7snahnmjy10xmrzqfayx1wkfkn9n"))))
"0jbk0g6fkw7zs8ykzhsvh9vvz8xmc4v03bqzjsa5mmpxpqan5vx5"))))
(build-system r-build-system)
(propagated-inputs
`(("r-evaluate" ,r-evaluate)
@ -4482,6 +4482,28 @@ (define-public r-hdf5r
corresponding R counterparts.")
(license license:asl2.0)))
(define-public r-itertools
(package
(name "r-itertools")
(version "0.1-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "itertools" version))
(sha256
(base32
"1ls5biiva10pb1dj3ph4griykb9vam02hkrdmlr5a5wf660hg6xn"))))
(build-system r-build-system)
(propagated-inputs
`(("r-iterators" ,r-iterators)))
(home-page "https://cran.r-project.org/web/packages/itertools/")
(synopsis "Iterator tools")
(description
"This package provides various tools for creating iterators, many
patterned after functions in the Python @code{itertools} module, and others
patterned after functions in the snow package.")
(license license:gpl2)))
(define-public r-writexl
(package
(name "r-writexl")
@ -4501,3 +4523,126 @@ (define-public r-writexl
"This package provides a data frame to xlsx exporter based on
libxlsxwriter.")
(license license:bsd-2)))
(define-public r-biasedurn
(package
(name "r-biasedurn")
(version "1.07")
(source
(origin
(method url-fetch)
(uri (cran-uri "BiasedUrn" version))
(sha256
(base32
"13i2lgfnjhlbbm2yxfc2l5hswqw6x03pwba5csjmirv8kpjw4xr3"))))
(properties `((upstream-name . "BiasedUrn")))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/BiasedUrn/")
(synopsis "Biased Urn model distributions")
(description
"This package provides statistical models of biased sampling in the form
of univariate and multivariate noncentral hypergeometric distributions,
including Wallenius' noncentral hypergeometric distribution and Fisher's
noncentral hypergeometric distribution (also called extended hypergeometric
distribution).")
(license license:gpl3)))
(define-public r-goplot
(package
(name "r-goplot")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "GOplot" version))
(sha256
(base32
"1y8dv0kbzpr9za91njw0x233vx5d13vqml9hmpddcyi9s6va5nix"))))
(properties `((upstream-name . "GOplot")))
(build-system r-build-system)
(propagated-inputs
`(("r-ggdendro" ,r-ggdendro)
("r-ggplot2" ,r-ggplot2)
("r-gridextra" ,r-gridextra)
("r-rcolorbrewer" ,r-rcolorbrewer)))
(home-page "https://github.com/wencke/wencke.github.io")
(synopsis "Visualization of functional analysis data")
(description
"This package provides an implementation of multilayered visualizations
for enhanced graphical representation of functional analysis data. It
combines and integrates omics data derived from expression and functional
annotation enrichment analyses. Its plotting functions have been developed
with an hierarchical structure in mind: starting from a general overview to
identify the most enriched categories (modified bar plot, bubble plot) to a
more detailed one displaying different types of relevant information for the
molecules in a given set of categories (circle plot, chord plot, cluster plot,
Venn diagram, heatmap).")
(license license:gpl2)))
(define-public r-getopt
(package
(name "r-getopt")
(version "1.20.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "getopt" version))
(sha256
(base32
"13p35lbpy7i578752fa71sbfvcsqw5qfa9p6kf8b5m3c5p9i4v1x"))))
(build-system r-build-system)
(home-page "https://github.com/trevorld/getopt")
(synopsis "Command-line option processor for R")
(description
"This package is designed to be used with Rscript to write shebang
scripts that accept short and long options. Many users will prefer to
use the packages @code{optparse} or @code{argparse} which add extra
features like automatically generated help options and usage texts,
support for default values, positional argument support, etc.")
(license license:gpl2+)))
(define-public r-findpython
(package
(name "r-findpython")
(version "1.0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "findpython" version))
(sha256
(base32
"1y08jk2ffmkf9zpwiz2xymjhfwqvls9vzsnq62v278ghw9d571jl"))))
(build-system r-build-system)
(home-page "https://github.com/trevorld/findpython")
(synopsis "Functions to find an acceptable Python binary")
(description
"This package was designed to find an acceptable Python binary that
matches version and feature constraints.")
(license license:expat)))
;; This in not the same as "r-argparser"
(define-public r-argparse
(package
(name "r-argparse")
(version "1.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "argparse" version))
(sha256
(base32
"0fzrbj87b274vf96azdnsjxk2nf45d5wy58vzmlah4b4h7q4j524"))))
(build-system r-build-system)
(inputs `(("python" ,python)))
(propagated-inputs
`(("r-findpython" ,r-findpython)
("r-getopt" ,r-getopt)
("r-jsonlite" ,r-jsonlite)
("r-proto" ,r-proto)))
(home-page "https://github.com/trevorld/argparse")
(synopsis "Command line optional and positional argument parser")
(description
"This package provides a command line parser to be used with Rscript to
write shebang scripts that gracefully accept positional and optional arguments
and automatically generate usage notices.")
(license license:gpl2+)))

View file

@ -9,6 +9,7 @@
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -478,6 +479,34 @@ (define-public scrypt
attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
(license license:bsd-2)))
(define-public libscrypt
(package
(name "libscrypt")
(version "1.21")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/technion/libscrypt.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1d76ys6cp7fi4ng1w3mz2l0p9dbr7ljbk33dcywyimzjz8bahdng"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
"CC=gcc")
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://lolware.net/libscrypt.html")
(synopsis "Password hashing library")
(description "@code{libscrypt} implements @code{scrypt} key derivation
function. It is designed to be far more secure against hardware brute-force
attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
(license license:bsd-3)))
(define-public perl-math-random-isaac-xs
(package
(name "perl-math-random-isaac-xs")

View file

@ -211,7 +211,7 @@ (define-public ding
(define-public grammalecte
(package
(name "grammalecte")
(version "0.6.4")
(version "0.6.5")
(source
(origin
(method url-fetch/zipbomb)
@ -219,7 +219,7 @@ (define-public grammalecte
"Grammalecte-fr-v" version ".zip"))
(sha256
(base32
"13var1gi3gb2bwi7k21bn2pla0rs17cd7kc3mc5a2nsyqgsrzxfw"))))
"1flsahqw2r0cmg0bixpl5w0acricmdh2cf4lf9zr66ydgmjnmv2s"))))
(build-system python-build-system)
(home-page "https://www.dicollecte.org")
(synopsis "French spelling and grammar checker")

View file

@ -138,7 +138,7 @@ (define-public fdisk
(define-public gptfdisk
(package
(name "gptfdisk")
(version "1.0.3")
(version "1.0.4")
(source
(origin
(method url-fetch)
@ -146,7 +146,7 @@ (define-public gptfdisk
version "/" name "-" version ".tar.gz"))
(sha256
(base32
"0p0vr67lnqdsgdv2y144xmjqa1a2nijrrd3clc8dc2f46pn5mzc9"))))
"13d7gff4prl1nsdknjigmb7bbqhn79165n01v4y9mwbnd0d3jqxn"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)

View file

@ -1167,14 +1167,14 @@ (define-public emacs-ag
(define-public emacs-async
(package
(name "emacs-async")
(version "1.9.2")
(version "1.9.3")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/async-"
(uri (string-append "https://stable.melpa.org/packages/async-"
version ".tar"))
(sha256
(base32
"17fnvrj7jww29sav6a6jpizclg4w2962m6h37akpii71gf0vrffw"))))
"0xvi50y96y2qh81qkhj8p6ar1xnfasg58qvlsvgvvmdf4g8srlij"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/async.html")
(synopsis "Asynchronous processing in Emacs")
@ -1913,18 +1913,19 @@ (define-public emacs-git-gutter
(define-public emacs-git-timemachine
(package
(name "emacs-git-timemachine")
(version "3.0")
(version "4.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/pidu/git-timemachine/"
"archive/" version ".tar.gz"))
(uri (string-append "https://gitlab.com/pidu/git-timemachine"
"/-/archive/" version
"/git-timemachine-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1l4g0r69wfrnjsywv03v4bpdd53byg6zdx6mzabfxyymss3kvisa"))))
"0ii40qcincasg7s1yrvqcxkqcqzb4sfs7gcxscn6m4x4ans165zy"))))
(build-system emacs-build-system)
(home-page "https://github.com/pidu/git-timemachine")
(home-page "https://gitlab.com/pidu/git-timemachine")
(synopsis "Step through historic versions of Git-controlled files")
(description "This package enables you to step through historic versions
of files under Git version control from within Emacs.")
@ -3199,6 +3200,27 @@ (define-public emacs-org-trello
organizer.")
(license license:gpl3+)))
(define-public emacs-atom-one-dark-theme
(let ((commit "1f1185bf667a38d3d0d180ce85fd4c131818aae2")
(revision "0"))
(package
(name "emacs-atom-one-dark-theme")
(version (git-version "0.4.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jonathanchu/atom-one-dark-theme.git")
(commit commit)))
(sha256
(base32
"1alma16hg3mfjly8a9s3mrswkjjx4lrpdnf43869hn2ibkn7zx9z"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(home-page "https://github.com/jonathanchu/atom-one-dark-theme")
(synopsis "Atom One Dark color theme for Emacs")
(description "An Emacs port of the Atom One Dark theme from Atom.io.")
(license license:gpl3+))))
(define-public emacs-zenburn-theme
(package
(name "emacs-zenburn-theme")
@ -5453,32 +5475,30 @@ (define-public emacs-helm-c-yasnippet
(license license:gpl2+))))
(define-public emacs-helm-system-packages
(let ((commit "b41f8f251695cf236e9d1627070049a5b41aa38a")
(revision "2"))
(package
(name "emacs-helm-system-packages")
(version (git-version "1.9.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-helm/helm-system-packages")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1wrsx1j86c9a74nsdndjv21slzl46idd3p6wqy5wnasawj0kfn8r"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)))
(home-page "https://github.com/emacs-helm/helm-system-packages")
(synopsis "Helm System Packages is an interface to your package manager")
(description "List all available packages in Helm (with installed
(package
(name "emacs-helm-system-packages")
(version "1.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-helm/helm-system-packages")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0y5wzvfycb1bvgdk782xyl744fih43vz14wmq6gcqjarw6xfniz5"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)))
(home-page "https://github.com/emacs-helm/helm-system-packages")
(synopsis "Helm System Packages is an interface to your package manager")
(description "List all available packages in Helm (with installed
packages displayed in their own respective face). Fuzzy-search, mark and
execute the desired action over any selections of packages: Install,
uninstall, display packages details (in Org Mode) or insert details at point,
find files owned by packages... And much more, including performing all the
above over the network.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-memoize
(package
@ -5771,35 +5791,34 @@ (define-public emacs-diminish
(license license:gpl2+)))
(define-public emacs-use-package
(package
(name "emacs-use-package")
(version "2.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/jwiegley/use-package/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0x4h136jb3imyli6zsh7dyzjrra6pv0v6b0yk94jdng3rdfcmsf5"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-diminish" ,emacs-diminish)))
(arguments
;; Tests fail in this release, but have been fixed in
;; upstream commit 7956d40eed57d6c06bef36ebc174cf57d934e30d
`(#:tests? #f
#:test-command '("emacs" "--batch"
"-l" "use-package-tests.el"
"-f" "ert-run-tests-batch-and-exit")))
(home-page "https://github.com/jwiegley/use-package")
(synopsis "Declaration for simplifying your .emacs")
(description "The use-package macro allows you to isolate package
(let ((commit "da8c9e2840343906e732f9699e43d35a1f06481d")
(revision "1"))
(package
(name "emacs-use-package")
(version (git-version "2.3" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jwiegley/use-package")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0jz38pbq1p9h85i6qcsh3sfzkd103y6mw3rg5zd14dxigp8ir3xz"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-diminish" ,emacs-diminish)))
(arguments
`(#:tests? #t
#:test-command '("emacs" "--batch"
"-l" "use-package-tests.el"
"-f" "ert-run-tests-batch-and-exit")))
(home-page "https://github.com/jwiegley/use-package")
(synopsis "Declaration for simplifying your .emacs")
(description "The use-package macro allows you to isolate package
configuration in your @file{.emacs} file in a way that is both
performance-oriented and tidy.")
(license license:gpl2+)))
(license license:gpl2+))))
(define-public emacs-strace-mode
(let* ((commit "6a69b4b06db6797af56f33eda5cb28af94e59f11")
@ -11272,3 +11291,29 @@ (define-public emacs-pinentry
reload the configuration with @code{gpgconf --reload gpg-agent}, and start the
server with @code{M-x pinentry-start}.")
(license license:gpl3+))))
(define-public emacs-org-brain
(package
(name "emacs-org-brain")
(version "0.5")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Kungsgeten/org-brain.git")
(commit "3faf9303af3f2356e3444e69c22dc6c5774047d1")))
(file-name (git-file-name name version))
(sha256
(base32
"1ad681zk6kckw2zbk0r4iaj4bw8cfqrbd1s3gdwgdjlzq81q9mmj"))))
(build-system emacs-build-system)
(home-page "https://github.com/Kungsgeten/org-brain")
(synopsis "Org-mode wiki and concept-mapping for Emacs")
(description "@code{emacs-org-brain} implements a variant of concept
mapping in Emacs, using @code{org-mode}. An org-brain is a network of
org-mode entries, where each entry is a file or a headline, and you can get a
visual overview of the relationships between the entries: parents, children,
siblings and friends. This visual overview can also be used to browse your
entries. You can think of entries as nodes in a mind map, or pages in a
wiki.")
(license license:expat)))

View file

@ -117,8 +117,8 @@ (define-public desmume
;; Building from recent Git because the official 5.0 release no longer builds.
(define-public dolphin-emu
(let ((commit "47fd8c6eff4cdea7660d0fa78040f98d1d4fa136")
(revision "1"))
(let ((commit "806c1ee8f0ed824008185212bfab2658d400b576")
(revision "2"))
(package
(name "dolphin-emu")
(version (git-version "5.0" revision commit))
@ -136,21 +136,18 @@ (define-public dolphin-emu
(for-each (lambda (dir)
(delete-file-recursively
(string-append "Externals/" dir)))
'("LZO" "OpenAL" "Qt" "SFML" "SOIL" "curl" "ffmpeg"
'("LZO" "OpenAL" "Qt" "SFML" "curl" "ffmpeg"
"gettext" "hidapi" "libpng" "libusb" "mbedtls"
"miniupnpc" "wxWidgets3" "zlib"))
"miniupnpc" "zlib"))
;; Clean up source.
(for-each delete-file (find-files "." ".*\\.(bin|dsy|exe|jar|rar)$"))
#t))
(sha256
(base32
"1gp2sshnr0dswdawxd5ix96nksp435b52bqvpjx8pmn523k29zsw"))))
"1sdc7rh6z7gjx4kxg18jrv7srfpx1vgf936zg5y43radnlscrh1j"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f
;; The FindGTK2 cmake script only checks hardcoded directories for
;; glib/gtk headers.
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fixgcc7
@ -177,14 +174,11 @@ (define-public dolphin-emu
(("libvulkan.so") libvulkan))
#t))))
;; The FindGTK2 cmake script only checks hardcoded directories for
;; glib/gtk headers.
#:configure-flags
(list (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR="
(assoc-ref %build-inputs "gtk+")
"/lib/gtk-2.0/include")
(string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR="
(assoc-ref %build-inputs "glib")
"/lib/glib-2.0/include")
(string-append "-DX11_INCLUDE_DIR="
(list (string-append "-DX11_INCLUDE_DIR="
(assoc-ref %build-inputs "libx11")
"/include")
(string-append "-DX11_LIBRARIES="
@ -220,6 +214,7 @@ (define-public dolphin-emu
("mesa" ,mesa)
("miniupnpc" ,miniupnpc)
("openal" ,openal)
("pugixml" ,pugixml)
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
("sdl2" ,sdl2)
@ -227,7 +222,6 @@ (define-public dolphin-emu
("soil" ,soil)
("soundtouch" ,soundtouch)
("vulkan-loader" ,vulkan-loader)
("wxwidgets" ,wxwidgets-gtk2-3.1)
("zlib" ,zlib)))
(home-page "https://dolphin-emu.org/")
(synopsis "Nintendo Wii and GameCube emulator")

View file

@ -697,7 +697,7 @@ (define-public kicad
(license license:gpl3+))))
(define-public kicad-library
(let ((version "4.0.6"))
(let ((version "4.0.7"))
(package
(name "kicad-library")
(version version)
@ -708,7 +708,7 @@ (define-public kicad-library
version ".tar.gz"))
(sha256
(base32
"16f47pd6f0ddsdxdrp327nr9v05gl8c24d0qypq2aqx5hdjmkp7f"))))
"1azb7v1y3l6j329r9gg7f4zlg0wz8nh4s4i5i0l9s4yh9r6i9zmv"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #t
@ -717,11 +717,11 @@ (define-public kicad-library
(modify-phases %standard-phases
(add-after 'install 'install-footprints ; from footprints tarball
(lambda* (#:key inputs outputs #:allow-other-keys)
(zero? (system* "tar" "xvf"
(assoc-ref inputs "kicad-footprints")
"-C" (string-append (assoc-ref outputs "out")
"/share/kicad/modules")
"--strip-components=1"))))
(invoke "tar" "xvf"
(assoc-ref inputs "kicad-footprints")
"-C" (string-append (assoc-ref outputs "out")
"/share/kicad/modules")
"--strip-components=1")))
;; We change the default global footprint file, which is generated if
;; it doesn't exist in user's home directory, from the one using the
;; github plugin, to the one using the KISYSMOD environment path.
@ -741,7 +741,7 @@ (define-public kicad-library
(search-path-specification
(variable "KISYS3DMOD") ; 3D model path
(files '("share/kicad/modules/packages3d")))))
;; Kicad distributes footprints in a separate tarball
;; Kicad distributes footprints in a separate tarball.
(native-inputs
`(("kicad-footprints"
,(origin
@ -751,7 +751,7 @@ (define-public kicad-library
version ".tar.gz"))
(sha256
(base32
"0vmgqhdw05k5fdnqv42grnvlz7v75g9md82jp2d3dvw2zw050lfb"))))))
"08qrz5zzsb5127jlnv24j0sgiryd5nqwg3lfnwi8j9a25agqk13j"))))))
(home-page "http://kicad-pcb.org/")
(synopsis "Libraries for kicad")
(description "This package provides Kicad component, footprint and 3D

View file

@ -9,6 +9,8 @@
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,6 +31,7 @@ (define-module (gnu packages finance)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
@ -140,6 +143,7 @@ (define-public ledger
(build-system cmake-build-system)
(arguments
`(#:modules ((guix build cmake-build-system)
((guix build gnu-build-system) #:prefix gnu:)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%cmake-build-system-modules
@ -153,6 +157,10 @@ (define-public ledger
,(string-append "-DUTFCPP_INCLUDE_DIR:PATH="
(assoc-ref %build-inputs "utfcpp")
"/include"))
;; Skip failing test BaselineTest_cmd-org during the check phase.
;; This is a known upstream issue. See
;; https://github.com/ledger/ledger/issues/550
#:make-flags (list "ARGS=-E BaselineTest_cmd-org")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'install-examples
@ -163,7 +171,7 @@ (define-public ledger
(install-file "test/input/demo.ledger" examples))
#t))
(add-after 'build 'build-doc
(lambda _ (zero? (system* "make" "doc"))))
(lambda _ (invoke "make" "doc")))
(add-before 'check 'check-setup
;; One test fails if it can't set the timezone.
(lambda* (#:key inputs #:allow-other-keys)
@ -171,6 +179,7 @@ (define-public ledger
(string-append (assoc-ref inputs "tzdata")
"/share/zoneinfo"))
#t))
(replace 'check (assoc-ref gnu:%standard-phases 'check))
(add-after 'install 'relocate-elisp
(lambda* (#:key outputs #:allow-other-keys)
(let* ((site-dir (string-append (assoc-ref outputs "out")
@ -180,8 +189,7 @@ (define-public ledger
(dest-dir (string-append guix-dir "/ledger-mode")))
(mkdir-p guix-dir)
(rename-file orig-dir dest-dir)
(emacs-generate-autoloads ,name dest-dir))
#t)))))
(emacs-generate-autoloads ,name dest-dir)))))))
(inputs
`(("boost" ,boost)
("gmp" ,gmp)
@ -194,7 +202,7 @@ (define-public ledger
`(("emacs" ,emacs-minimal)
("groff" ,groff)
("texinfo" ,texinfo)))
(home-page "http://ledger-cli.org/")
(home-page "https://ledger-cli.org/")
(synopsis "Command-line double-entry accounting program")
(description
"Ledger is a powerful, double-entry accounting system that is
@ -274,7 +282,7 @@ (define-public geierlein
(define-public electrum
(package
(name "electrum")
(version "3.0.5")
(version "3.2.2")
(source
(origin
(method url-fetch)
@ -283,7 +291,7 @@ (define-public electrum
version ".tar.gz"))
(sha256
(base32
"06z0a5p1jg93jialphslip8d72q9yg3651qqaf494gs3h9kw1sv1"))
"1fxaxlf5vm2zydj678ls3pazyriym188iwzk60kyk26cz2p3xk39"))
(modules '((guix build utils)))
(snippet
'(begin
@ -752,3 +760,107 @@ (define-public python-stdnum
(define-public python2-stdnum
(package-with-python2 python-stdnum))
(define-public python-duniterpy
(package
(name "python-duniterpy")
(version "0.43.2")
(source
(origin
(method git-fetch)
;; Pypi's default URI is missing "requirements.txt" file.
(uri (git-reference
(url "https://github.com/duniter/duniter-python-api.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1ch4f150k1p1l876pp08p5rxqhpv5xfbxdw6njcmr06hspv8v8x4"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Among 108 tests, a single one is failing: FAIL:
;; test_from_pubkey. Remove it.
(add-after 'unpack 'remove-failing-test
(lambda _
(delete-file "tests/documents/test_crc_pubkey.py")
#t)))))
(propagated-inputs
`(("python-aiohttp" ,python-aiohttp)
("python-base58" ,python-base58)
("python-jsonschema" ,python-jsonschema)
("python-libnacl" ,python-libnacl)
("python-pylibscrypt" ,python-pylibscrypt)
("python-pypeg2" ,python-pypeg2)))
(home-page "https://github.com/duniter/duniter-python-api")
(synopsis "Python implementation of Duniter API")
(description "@code{duniterpy} is an implementation of
@uref{https://github.com/duniter/duniter/, duniter} API. Its
main features are:
@itemize
@item Supports Duniter's Basic Merkle API and protocol
@item Asynchronous
@item Duniter signing key
@end itemize")
(license license:gpl3+)))
(define-public silkaj
(package
(name "silkaj")
(version "0.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.duniter.org/clients/python/silkaj.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0xy25lpgz04nxikjvxlnlckrc9xmsxyiz2qm0bsiid8cnbdqcn12"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ;no test
#:phases
(modify-phases %standard-phases
;; The program is just a bunch of Python files in "src/" directory.
;; Many phases are useless. However, `python-build-system' correctly
;; sets PYTHONPATH and patches Python scripts.
(delete 'configure)
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/silkaj"))
(executable (string-append share "/silkaj.py"))
(bin (string-append out "/bin")))
;; Install data.
(copy-recursively "src" share)
;; Install executable.
(mkdir-p bin)
(with-directory-excursion bin
(symlink executable "silkaj")))
#t)))))
(inputs
`(("python-commandlines" ,python-commandlines)
("python-ipaddress" ,python-ipaddress)
("python-pyaes" ,python-pyaes)
("python-pynacl" ,python-pynacl)
("python-scrypt" ,python-scrypt)
("python-tabulate" ,python-tabulate)))
(home-page "https://silkaj.duniter.org/")
(synopsis "Command line client for Duniter network")
(description "@code{Silkaj} is a command line client for the
@uref{https://github.com/duniter/duniter/, Duniter} network.
Its features are:
@itemize
@item information about currency,
@item issuers difficulty to generate next block,
@item network view of nodes,
@item list of last issuers,
@item send transactions,
@item get account amount.
@end itemize")
(license license:agpl3+)))

View file

@ -476,27 +476,28 @@ (define-public libspiro
(define-public libuninameslist
(package
(name "libuninameslist")
(version "20170807")
(version "20180701")
(home-page "https://github.com/fontforge/libuninameslist")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/fontforge/libuninameslist/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(uri (string-append home-page "/releases/download/" version
"/libuninameslist-dist-" version ".tar.gz"))
(sha256
(base32
"0axwxjgcrwms9682vmpsq1x4swdx6q6qk6997rkfr8xrgi124c6a"))))
"141wh2f5jsaw84mgw6vf2c9hd2wm957a2hpnicyqjbc7pk89gvca"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(synopsis "Unicode names and annotation list")
(description
"LibUniNamesList holds www.unicode.org Nameslist.txt data which can be
useful for programs that need Unicode \"Names\", \"Annotations\", and block
definitions.")
(license license:gpl2)
(home-page "https://github.com/fontforge/libuninameslist")))
;; COPYING specifies GPL2, but according to LICENSE it only covers the
;; configure script. The actual code is BSD-3, and the Unicode data
;; is governed by an X11-style license only found on the web.
(license (list license:bsd-3
(license:x11-style
"https://www.unicode.org/copyright.html#License")))))
(define-public fontforge
(package

View file

@ -301,14 +301,14 @@ (define-public arachne-pnr
(define-public gtkwave
(package
(name "gtkwave")
(version "3.3.76")
(version "3.3.91")
(source (origin
(method url-fetch)
(uri (string-append "http://gtkwave.sourceforge.net/"
name "-" version ".tar.gz"))
(sha256
(base32
"1vlvavszb1jwwiixiagld88agjrjg0ix8qa4xnxj4ziw0q87jbmn"))))
"1vp9qj3wyfwm36jk3pajvi09xvc1m1crf3d4gphfbs6nkyx2z942"))))
(build-system gnu-build-system)
(native-inputs
`(("gperf" ,gperf)
@ -328,7 +328,7 @@ (define-public gtkwave
(synopsis "Waveform viewer for FPGA simulator trace files")
(description "This package is a waveform viewer for FPGA
simulator trace files (FST).")
simulator trace files (@dfn{FST}).")
(home-page "http://gtkwave.sourceforge.net/")
;; Exception against free government use in tcl_np.c and tcl_np.h
;; Exception against free government use in tcl_np.c and tcl_np.h.
(license (list license:gpl2+ license:expat license:tcl/tk))))

View file

@ -572,7 +572,7 @@ (define-public weston
(define-public exempi
(package
(name "exempi")
(version "2.4.2")
(version "2.4.5")
(source (origin
(method url-fetch)
(uri (string-append
@ -580,7 +580,7 @@ (define-public exempi
name "-" version ".tar.bz2"))
(sha256
(base32
"1v665fc7x0yi7x6lzskvd8bd2anf7951svn2vd5384dblmgv43av"))))
"07i29xmg8bqriviaf4vi1mwha4lrw85kfla29cfym14fp3z8aqa0"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "--with-boost="
@ -593,7 +593,8 @@ (define-public exempi
(home-page "https://wiki.freedesktop.org/libopenraw/Exempi")
(synopsis "XMP metadata handling library")
(description "Exempi is an implementation of the Extensible Metadata
Platform (XMP), which enables embedding metadata in PDF and image formats.")
Platform (@dfn{XMP}), which enables embedding metadata in PDF and image
formats.")
(license license:bsd-3)))
(define-public libatasmart

View file

@ -21,7 +21,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages ftp)
#:use-module ((guix licenses) #:select (gpl2+ gpl3+ clarified-artistic))
#:use-module ((guix licenses) #:select (gpl2 gpl2+ gpl3+ clarified-artistic))
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix packages)
@ -243,3 +243,42 @@ (define-public filezilla
directory comparison and more.")
(license gpl2+)
(properties '((upstream-name . "FileZilla")))))
(define-public vsftpd
(package
(name "vsftpd")
(version "3.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://security.appspot.com/downloads/"
name "-" version ".tar.gz"))
(sha256
(base32
"1xsyjn68k3fgm2incpb3lz2nikffl9by2safp994i272wvv2nkcx"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("LDFLAGS=-lcrypt")
#:tests? #f ; No tests exist.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-installation-directory
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("/usr") (assoc-ref outputs "out")))
#t))
(add-before 'install 'mkdir
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p out)
(mkdir (string-append out "/sbin"))
(mkdir (string-append out "/man"))
(mkdir (string-append out "/man/man5"))
(mkdir (string-append out "/man/man8"))
#t)))
(delete 'configure))))
(synopsis "vsftpd FTP daemon")
(description "@command{vsftpd} is a daemon that listens on a TCP socket
for clients and gives them access to local files via File Transfer
Protocol.")
(home-page "https://security.appspot.com/vsftpd.html")
(license gpl2)))

View file

@ -265,7 +265,7 @@ (define-public gzochi
(define-public nml
(package
(name "nml")
(version "0.4.4")
(version "0.4.5")
(source
(origin
(method url-fetch)
@ -273,12 +273,12 @@ (define-public nml
version "/nml-" version ".tar.gz"))
(sha256
(base32
"0wk9ls5qyjwkra54rkj1gg94xbwzi7b84a5fh1ma1q7pbimi8rmg"))))
"1pmvvm3sgnpngfa7884mqhq3fwdjh9sr0ca07ypnidcg0y341w53"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pillow" ,python-pillow)
("python-ply" ,python-ply)))
(home-page "http://dev.openttdcoop.org/projects/nml")
(home-page "https://dev.openttdcoop.org/projects/nml")
(synopsis "NML compiler")
(description
"@dfn{NewGRF Meta Language} (NML) is a python-based compiler, capable of

View file

@ -32,6 +32,7 @@
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;;
;;; This file is part of GNU Guix.
;;;
@ -74,6 +75,7 @@ (define-module (gnu packages games)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages game-development)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gimp)
@ -1171,7 +1173,28 @@ (define freedink-data
"This package contains the game data of GNU Freedink.")
(license license:gpl3+)))
;; TODO: Add freedink-dfarc when there's a wxWidgets package.
(define-public freedink-dfarc
(package
(name "freedink-dfarc")
(version "3.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freedink/dfarc-"
version ".tar.gz"))
(sha256
(base32
"1yp8n3w426xnlp10xk06vfi2y3k9xrcfyck7s7qs1v0ys7n284d5"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)))
(inputs
`(("bzip2" ,bzip2)
("wxwidgets" ,wxwidgets)))
(home-page "https://www.gnu.org/software/freedink/")
(synopsis "Front-end for managing and playing Dink Modules")
(description "DFArc makes it easy to play and manage the GNU FreeDink game
and its numerous D-Mods.")
(license license:gpl3+)))
(define-public freedink
;; This is a wrapper that tells the engine where to find the data.
@ -2299,7 +2322,7 @@ (define openrct2-objects
(define-public openrct2
(package
(name "openrct2")
(version "0.1.1")
(version "0.2.0")
(source
(origin
(method url-fetch)
@ -2307,11 +2330,12 @@ (define-public openrct2
version ".tar.gz"))
(sha256
(base32
"1bahkzlf9k92cc4zs4nk4wy59323kiw8d3wm0vjps3kp7iznqyjx"))
"1yrbjra27n2xxb1x47v962lc3qi8gwm5ws4f97952nvn533zrwxz"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DDOWNLOAD_TITLE_SEQUENCES=OFF")
`(#:configure-flags (list "-DDOWNLOAD_OBJECTS=OFF"
"-DDOWNLOAD_TITLE_SEQUENCES=OFF")
#:tests? #f ; Tests require network.
#:phases
(modify-phases %standard-phases
@ -2320,14 +2344,23 @@ (define-public openrct2
(let ((titles (assoc-ref inputs "openrct2-title-sequences"))
(objects (assoc-ref inputs "openrct2-objects")))
;; Fix some references to /usr/share.
;; Change to Platform.Linux.cpp on 0.1.2+
(substitute* "src/openrct2/platform/linux.c"
(substitute* "src/openrct2/platform/Platform.Linux.cpp"
(("/usr/share")
(string-append (assoc-ref %outputs "out") "/share")))
(copy-recursively (string-append titles
"/share/openrct2/title-sequences") "data/title")
(copy-recursively (string-append objects
"/share/openrct2/objects") "data/object")))))))
"/share/openrct2/objects") "data/object"))))
(add-before 'configure 'fixgcc7
(lambda _
(unsetenv "C_INCLUDE_PATH")
(unsetenv "CPLUS_INCLUDE_PATH")
#t))
(add-after 'fixgcc7 'get-rid-of-errors
(lambda _
;; Don't treat warnings as errors.
(substitute* "CMakeLists.txt"
(("-Werror") "")))))))
(inputs `(("curl" ,curl)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
@ -2343,7 +2376,8 @@ (define-public openrct2
("speexdsp" ,speexdsp)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("gcc" ,gcc-7)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/OpenRCT2/OpenRCT2")
(synopsis "Free software re-implementation of RollerCoaster Tycoon 2")
(description "OpenRCT2 is a free software re-implementation of
@ -3198,16 +3232,17 @@ (define-public laby
(define-public bambam
(package
(name "bambam")
(version "0.5")
(version "0.6")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/porridge/bambam/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/porridge/bambam")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"10w110mjdwbvddzihh9rganvvjr5jfiz8cs9n7w12zndwwcc3ria"))))
"08hcd0gzia3pz7fzk4pqc5kbq1074j4q0jcmbpgvr7n623nj2xa5"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
@ -3880,7 +3915,8 @@ (define-public teeworlds
("zlib" ,zlib)))
(native-inputs
`(("bam" ,bam)
("python" ,python-2)))
("python" ,python-2)
("pkg-config" ,pkg-config)))
(home-page "https://www.teeworlds.com")
(synopsis "2D retro multiplayer shooter game")
(description "Teeworlds is an online multiplayer game. Battle with up to
@ -4610,7 +4646,8 @@ (define-public vkquake
#t))))
,@(strip-keyword-arguments '(#:make-flags #:phases)
(package-arguments quakespasm))))
(inputs `(("vulkan-loader" ,vulkan-loader)
(inputs `(("vulkan-headers" ,vulkan-headers)
("vulkan-loader" ,vulkan-loader)
,@(package-inputs quakespasm)))
(description "vkquake is a modern engine for id software's Quake 1.
It includes support for 64 bit CPUs, custom music playback, a new sound driver,

View file

@ -48,7 +48,7 @@ (define-module (gnu packages gimp)
(define-public babl
(package
(name "babl")
(version "0.1.50")
(version "0.1.52")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/babl/"
@ -62,7 +62,7 @@ (define-public babl
"/babl-" version ".tar.bz2")))
(sha256
(base32
"0bavr2y4v88pip7vlca4kwmnksk2qxcvkkdp9jyfi6pzh701sb5m"))))
"0v7pkr3qd5jnn0pra88d90ixkl5h9ngg6w660nn1cgh4zjh19xs0"))))
(build-system gnu-build-system)
(home-page "http://gegl.org/babl/")
(synopsis "Image pixel format conversion library")
@ -79,7 +79,7 @@ (define-public babl
(define-public gegl
(package
(name "gegl")
(version "0.4.2")
(version "0.4.4")
(source (origin
(method url-fetch)
(uri (list (string-append "https://download.gimp.org/pub/gegl/"
@ -87,7 +87,7 @@ (define-public gegl
"/" name "-" version ".tar.bz2")))
(sha256
(base32
"13bzl0k5l12pk8bkcq4ar7wscbnw7jswhp34mwfsrf10kp0qndba"))))
"143qwn92xc5wm09p9iwrpw9y0ahha5lcyx1bb0lzwcb1fgd4bjzq"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("LDFLAGS=-lm")))
@ -117,7 +117,7 @@ (define-public gegl
(define-public gimp
(package
(name "gimp")
(version "2.10.2")
(version "2.10.4")
(source (origin
(method url-fetch)
(uri (string-append "https://download.gimp.org/pub/gimp/v"
@ -125,7 +125,7 @@ (define-public gimp
"/gimp-" version ".tar.bz2"))
(sha256
(base32
"1srkqd9cx1xmny7cyk3b6f14dknb3fd77whm38vlvr7grnpbmc0w"))))
"14pi0q3wwkapy0inqxk1hjsa2h8lff1z4wgdsyrk29jaw66pdc7z"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML

View file

@ -3336,7 +3336,7 @@ (define-public clutter
(define-public clutter-gtk
(package
(name "clutter-gtk")
(version "1.8.2")
(version "1.8.4")
(source
(origin
(method url-fetch)
@ -3345,7 +3345,7 @@ (define-public clutter-gtk
name "-" version ".tar.xz"))
(sha256
(base32
"153bl9256yjnfcplp7jmgf7lm2zb790zkayjclzsv42l6a3d89ys"))))
"01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -3639,7 +3639,7 @@ (define-public grilo-plugins
(define-public totem
(package
(name "totem")
(version "3.26.0")
(version "3.26.1")
(source
(origin
(method url-fetch)
@ -3648,7 +3648,7 @@ (define-public totem
name "-" version ".tar.xz"))
(sha256
(base32
"04zfx47mgyd0f4p3pjrxl6iaw0awgwbvilbsr1smw14ph2kbjbz3"))
"10n302fdp3lhkzbij5sbzmsnln738029xil6cnng2d4dxv4n1099"))
(patches (search-patches "totem-meson-easy-codec.patch"))))
(build-system meson-build-system)
(native-inputs

View file

@ -1793,3 +1793,50 @@ (define-public go-github-com-ayufan-golang-kardianos-service
run programs as a service using a variety of supervisors, including systemd,
SysVinit, and more.")
(license license:zlib))))
(define-public go-github-com-docker-distribution
(let ((commit "325b0804fef3a66309d962357aac3c2ce3f4d329")
(revision "0"))
(package
(name "go-github-com-docker-distribution")
(version (git-version "0.0.0" revision commit))
(source
;; FIXME: This bundles many things, see
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=31881#41>.
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/docker/distribution")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"1yg2zrikn3vkvkx5mn51p6bfjk840qdkn7ahhhvvcsc8mpigrjc6"))))
(build-system go-build-system)
(native-inputs
`(("go-golang-org-x-sys-unix"
,go-golang-org-x-sys-unix)
("go-github-com-sirupsen-logrus"
,go-github-com-sirupsen-logrus)
("go-golang-org-x-crypto-ssh-terminal"
,go-golang-org-x-crypto-ssh-terminal)))
(arguments
'(#:import-path "github.com/docker/distribution"
#:phases
(modify-phases %standard-phases
(add-before 'reset-gzip-timestamps 'make-gzip-archive-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
(make-file-writable file))
(find-files
(assoc-ref outputs "out")
".*\\.gz$"))
#t)))))
(home-page
"https://github.com/docker/distribution")
(synopsis "This package is Docker toolset to pack, ship, store, and
deliver content")
(description "Docker Distribution is Docker toolset to pack, ship,
store, and deliver content. It's containe Docker Registry 2.0 and libraries
to interacting with distribution components.")
(license license:asl2.0))))

View file

@ -26,14 +26,6 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages graphics)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages audio)
@ -42,31 +34,28 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#: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)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages boost)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (gnu packages haskell)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pth)
#:use-module (gnu packages pulseaudio) ; libsndfile, libsamplerate
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
@ -74,7 +63,15 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages swig)
#:use-module (gnu packages video)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg))
#:use-module (gnu packages xorg)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
(define-public blender
(package

View file

@ -117,13 +117,13 @@ (define-public graphviz
(define-public python-graphviz
(package
(name "python-graphviz")
(version "0.8.3")
(version "0.8.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "graphviz" version ".zip"))
(sha256
(base32
"0gnl11w98iib7vif92f3vircavy2v1yl9sl54y6hhk1mwm0f07f6"))))
"17v8h7j2yz8hy1jf7q8p0ik8dmf32m58lc6v11x7aqc4pnfa2n29"))))
(build-system python-build-system)
(native-inputs
`(("unzip" ,unzip)))

View file

@ -301,6 +301,20 @@ (define-public guile-2.2.2
(base32
"1azm25zcmxif0skxfrp11d2wc89nrzpjaann9yxdw6pvjxhs948w"))))))
(define-public guile-2.2.4
;; This version contains important bug fixes, in particular wrt. to crashes
;; of multi-threaded code as used by 'guix pull' and grafting.
(package
(inherit guile-2.2)
(version "2.2.4")
(source (origin
(inherit (package-source guile-2.2))
(uri (string-append "mirror://gnu/guile/guile-" version
".tar.xz"))
(sha256
(base32
"07p3g0v2ba2vlfbfidqzlgbhnzdx46wh2rgc5gszq1mjyx5bks6r"))))))
(define-public guile-next
(deprecated-package "guile-next" guile-2.2))
@ -2034,35 +2048,34 @@ (define-public guile-fibers
(license license:lgpl3+)))
(define-public guile-git
(let ((revision "6")
(commit "36f93c174adc396c90ec3a6923487f0444fe5d69"))
(package
(name "guile-git")
(version (string-append "0.0-" revision "." (string-take commit 7)))
(home-page "https://gitlab.com/guile-git/guile-git.git")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit commit)))
(sha256
(base32
"0z1dvn0scx59pbgjkpacam7p5n7630z4qm8fazim7ixq9xv3s8wx"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("texinfo" ,texinfo)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)
("libgit2" ,libgit2)))
(propagated-inputs
`(("guile-bytestructures" ,guile-bytestructures)))
(synopsis "Guile bindings for libgit2")
(description
"This package provides Guile bindings to libgit2, a library to
(package
(name "guile-git")
(version "0.1.0")
(home-page "https://gitlab.com/guile-git/guile-git.git")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(sha256
(base32
"1z3awa3i5il08dl2swbnli2j7cawdpray11zx4844j27bxqddcs2"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("texinfo" ,texinfo)
("pkg-config" ,pkg-config)))
(inputs
`(("guile" ,guile-2.2)
("libgit2" ,libgit2)))
(propagated-inputs
`(("guile-bytestructures" ,guile-bytestructures)))
(synopsis "Guile bindings for libgit2")
(description
"This package provides Guile bindings to libgit2, a library to
manipulate repositories of the Git version control system.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public guile2.0-git
(package-for-guile-2.0 guile-git))

View file

@ -47,14 +47,14 @@ (define-public imagemagick
;; The 7 release series has an incompatible API, while the 6 series is still
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
;; users are ready for the 7-series API.
(version "6.9.10-3")
(version "6.9.10-5")
(source (origin
(method url-fetch)
(uri (string-append "mirror://imagemagick/ImageMagick-"
version ".tar.xz"))
(sha256
(base32
"0njq3vp0f3d5992jsah5nhbc5id2bnl7myhdw669k0vmc55mmlcj"))))
"0sl6f9r7wb081gv8zm450x37lankwp683in1crlx6pskrbsvwc08"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--with-frozenpaths" "--without-gcc-arch")

View file

@ -733,8 +733,11 @@ (define-public icedtea-6
(assoc-ref inputs
(string-append part "-src"))
part))
'("jdk" "hotspot" "corba"
'("jdk" "corba"
"langtools" "jaxp" "jaxws")))
(with-directory-excursion "openjdk"
(invoke "tar" "xvf" (assoc-ref inputs "hotspot-src"))
(rename-file "hg-checkout" "hotspot"))
(substitute* "Makefile.in"
(("echo \"ERROR: No up-to-date OpenJDK zip available\"; exit -1;")
"echo \"trust me\";")
@ -953,7 +956,9 @@ (define-public icedtea-6
(changeset "jdk6-b41")))
(sha256
(base32
"07lc1z4k5dj9nrc1wvwmpvxr3xgxrdkdh53xb95skk5ij49yagfd"))))
"07lc1z4k5dj9nrc1wvwmpvxr3xgxrdkdh53xb95skk5ij49yagfd"))
(patches
(search-patches "icedtea-6-hotspot-gcc-segfault-workaround.patch"))))
("corba-src"
,(origin
(method hg-fetch)
@ -1449,14 +1454,21 @@ (define (import-cert cert)
,(drop "langtools"
"0nq5236fzxn3p6x8cgncl56mzcmsj07q9gymysnws4c8byc6n0qj"))
("hotspot-drop"
,(drop "hotspot"
"17bdv39n4lh8l5737c96f3xgamx4y305m067p01cywgp7zaddqws"))
,(origin
(method url-fetch)
(uri (string-append
"http://icedtea.classpath.org/downloads/drops"
"/icedtea7/" version "/hotspot.tar.bz2"))
(sha256
(base32
"17bdv39n4lh8l5737c96f3xgamx4y305m067p01cywgp7zaddqws"))
(patches (search-patches
"icedtea-7-hotspot-gcc-segfault-workaround.patch"))))
("ant" ,ant-bootstrap)
("attr" ,attr)
("coreutils" ,coreutils)
("diffutils" ,diffutils) ;for tests
("gawk" ,gawk)
("gcc" ,gcc-4.9) ; there's a segmentation fault when compiling with gcc-5
("grep" ,grep)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
@ -1640,8 +1652,16 @@ (define-public icedtea-8
,(drop "langtools"
"15wizy123vhk40chl1b4p552jf2pw2hdww0myf11qab425axz4nw"))
("hotspot-drop"
,(drop "hotspot"
"1ciz1w9j0kz7s1dxdhyqq71nla9icyz6qvn0b9z2zgkklqa98qmm"))
,(origin
(method url-fetch)
(uri (string-append
"http://icedtea.classpath.org/download/drops"
"/icedtea8/" version "/hotspot.tar.xz"))
(sha256
(base32
"1ciz1w9j0kz7s1dxdhyqq71nla9icyz6qvn0b9z2zgkklqa98qmm"))
(patches (search-patches
"icedtea-7-hotspot-gcc-segfault-workaround.patch"))))
("nashorn-drop"
,(drop "nashorn"
"19pzl3ppaw8j6r5cnyp8qiw3hxijh3hdc46l39g5yfhdl4pr4hpa"))
@ -3215,14 +3235,14 @@ (define-public java-plexus-cipher
(define-public java-plexus-compiler-api
(package
(name "java-plexus-compiler-api")
(version "2.8.2")
(version "2.8.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/codehaus-plexus/plexus-compiler"
"/archive/plexus-compiler-" version ".tar.gz"))
(sha256
(base32
"0g3x26pymcdnfnwv2a1i57pd5s26f5zqfi1rdy98z1bn01klx25k"))))
"09vmxs0807wsd26nbrwwj5l8ycmzazqycj52l7w6wjvkryywi69h"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "plexus-compiler-api.jar"
@ -3926,11 +3946,20 @@ (define-public java-hamcrest-all
(find-files (assoc-ref inputs "java-junit") "\\.jar$")
(find-files (assoc-ref inputs "java-jmock") "\\.jar$")
(find-files (assoc-ref inputs "java-easymock") "\\.jar$")))
";")))
";"))
(("build/hamcrest-core-\\$\\{version\\}\\.jar")
(string-append (assoc-ref inputs "java-hamcrest-core")
"/share/java/hamcrest-core.jar")))
#t)))))))
(inputs
`(("java-junit" ,java-junit)
("java-jmock" ,java-jmock-1)
;; This is necessary because of what seems to be a race condition.
;; This package would sometimes fail to build because hamcrest-core.jar
;; could not be found, even though it is built as part of this package.
;; Adding java-hamcrest-core appears to fix this problem. See
;; https://debbugs.gnu.org/31390 for more information.
("java-hamcrest-core" ,java-hamcrest-core)
("java-easymock" ,java-easymock)
,@(package-inputs java-hamcrest-core)))))

View file

@ -402,8 +402,8 @@ (define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "a
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
(define %linux-libre-version "4.17.3")
(define %linux-libre-hash "06mjbs3i0xq1h1cgr6xldr6a8rxsy30mf86wp3n2ff6l5v78iw2q")
(define %linux-libre-version "4.17.4")
(define %linux-libre-hash "1qdywncwwaxghjidihyzvdjq7pffzlswlspjyy420ny967n818jd")
(define-public linux-libre
(make-linux-libre %linux-libre-version
@ -411,8 +411,8 @@ (define-public linux-libre
%linux-compatible-systems
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.52")
(define %linux-libre-4.14-hash "0lx916iw33n32h1fca59r7mh6l2smyml6igvzhimcah62hqx4rk8")
(define %linux-libre-4.14-version "4.14.53")
(define %linux-libre-4.14-hash "1bl20q85vnhbkmjj6gvqhgp379hk26rrivwmc5g5wqz46xyavk2a")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -421,20 +421,14 @@ (define-public linux-libre-4.14
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.110"
"0nzfna9w9a45y521d3dcxkdv66gn38n4pq814rdqazk74qb5macn"
(make-linux-libre "4.9.111"
"0ld57627k6mjp14x5bvndakj6lc4l31zp2yq74h7ski2g3k7ppk2"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.138"
"1030ra5gn24qmx8lsnhr6kfnfm60avzs23r81dl7mvzr5dci8vsl"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.1
(make-linux-libre "4.1.52"
"0a2flzf79kz9c1y9zpxdclsfivp38d2sgnwifg4gvyqixdy63sk9"
(make-linux-libre "4.4.139"
"0x58ykgx7vbv23q763ydifi548mz39nal7wbvrrl4i9ndk7pzfzz"
%intel-compatible-systems
#:configuration-file kernel-config))

View file

@ -210,13 +210,13 @@ (define-public coda
(define-public units
(package
(name "units")
(version "2.16")
(version "2.17")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/units/units-" version
".tar.gz"))
(sha256 (base32
"11hnp3gcmcc5kci2caxw4hs6m08h2mhqs3xzqq7iafx1ha2ggwyw"))))
"1n2xzpnxfn475zkd8rzs5gg58xszjbr4bdbgvk6hryzimvwwj0qz"))))
(build-system gnu-build-system)
(inputs
`(("readline" ,readline)

View file

@ -388,12 +388,12 @@ (define-public maven-plugin-annotations
(define-public maven-wagon-provider-api
(package
(name "maven-wagon-provider-api")
(version "3.0.0")
(version "3.1.0")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.apache.org/dist/maven/wagon/"
"wagon-" version "-source-release.zip"))
(sha256 (base32 "1qb0q4m7vmf290xp3fnfdi3pwl3hkskia5g3z2v82q1ch3y2knqv"))))
(sha256 (base32 "0r07j6xdzdnrvqnv8ida7dx1m05pznh5qgmcfcfpyvg9nxbj3l1n"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "maven-wagon-provider-api.jar"
@ -675,13 +675,13 @@ (define-public maven-wagon-http
(define-public maven-artifact
(package
(name "maven-artifact")
(version "3.5.3")
(version "3.5.4")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.apache.org/dist/maven/"
"maven-3/" version "/source/"
"apache-maven-" version "-src.tar.gz"))
(sha256 (base32 "06by23fz207lkvsndq883irfcf4p77jzkgf7n2q7hzyw1hs4h5s7"))
(sha256 (base32 "1xg20g87svzzscbn7m92c2njvrr61va1dija2x2w7m5v4hdizfpk"))
(modules '((guix build utils)))
(snippet
'(begin
@ -1162,7 +1162,7 @@ (define-public maven-core
(add-before 'build 'modify-metainf
(lambda _
(substitute* "build.xml"
(("message=\"\"") "message=\"Implementation-Version: 3.5.3\n\""))
(("message=\"\"") "message=\"Implementation-Version: 3.5.4\n\""))
#t))
(add-before 'build 'add-maven-files
(lambda _
@ -1333,6 +1333,96 @@ (define-public maven-compat
(lambda _
(chdir "maven-compat")
#t))
(add-before 'build 'recreate-removed-jar
(lambda _
(with-output-to-file "src/test/repository-system/maven-core-2.1.0.jar"
(const #t))
(with-directory-excursion "src/test/resources"
(with-output-to-file "artifact-install/artifact-1.0.jar"
(lambda _
(format #t "dummy~%")))
(for-each
(lambda (file)
(with-output-to-file file
(lambda _
(format #t "foo~%"))))
'("local-repo/maven-test/jars/maven-test-a-1.0.jar"
"local-repo/maven-test/jars/maven-test-c-1.0.jar"
"local-repo/maven-test/jars/maven-test-d-1.0.jar"
"inheritance-repo/t04/maven-test/jars/t04-a-1.0.jar"
"inheritance-repo/t04/maven-test/jars/t04-b-1.0.jar"
"inheritance-repo/t04/maven-test/jars/t04-b-2.0.jar"
"inheritance-repo/t04/maven-test/jars/t04-c-1.0.jar"
"inheritance-repo/t04/maven-test/jars/t04-c-2.0.jar"
"inheritance-repo/t05/maven-test/jars/t05-a-1.0.jar"
"inheritance-repo/t05/maven-test/jars/t05-a-2.0.jar"
"inheritance-repo/t05/maven-test/jars/t05-b-1.0.jar"
"inheritance-repo/t05/maven-test/jars/t05-b-1.1.jar"
"inheritance-repo/t05/maven-test/jars/t05-b-2.0.jar"
"inheritance-repo/t05/maven-test/jars/t05-c-1.0.jar"
"inheritance-repo/t05/maven-test/jars/t05-d-1.0.jar"
"inheritance-repo/t05/maven-test/jars/t05-d-1.1.jar"
"inheritance-repo/t05/maven-test/jars/t05-d-1.2.jar"
"inheritance-repo/t06/maven-test/jars/t06-a-1.0.jar"
"inheritance-repo/t06/maven-test/jars/t06-b-1.0.jar"
"inheritance-repo/t06/maven-test/jars/t06-b-1.1.jar"
"inheritance-repo/t06/maven-test/jars/t06-c-1.0.jar"
"inheritance-repo/t06/maven-test/jars/t06-d-1.0.jar"
"inheritance-repo/t06/maven-test/jars/t06-d-1.1.jar"
"inheritance-repo/t06/maven-test/jars/t06-d-1.2.jar"
"inheritance-repo/t07/maven-test/jars/t07-a-1.0.jar"
"inheritance-repo/t07/maven-test/jars/t07-b-1.0.jar"
"inheritance-repo/t07/maven-test/jars/t07-b-1.1.jar"
"inheritance-repo/t07/maven-test/jars/t07-c-1.0.jar"
"inheritance-repo/t07/maven-test/jars/t07-d-1.0.jar"
"inheritance-repo/t07/maven-test/jars/t07-d-1.1.jar"
"inheritance-repo/t07/maven-test/jars/t07-d-1.2.jar"
"inheritance-repo/t08/maven-test/jars/t08-a-1.0.jar"
"inheritance-repo/t08/maven-test/jars/t08-b-1.0.jar"
"inheritance-repo/t08/maven-test/jars/t08-b-1.1.jar"
"inheritance-repo/t08/maven-test/jars/t08-c-1.0.jar"
"inheritance-repo/t08/maven-test/jars/t08-d-1.0.jar"
"inheritance-repo/t08/maven-test/jars/t08-d-1.1.jar"
"inheritance-repo/t08/maven-test/jars/t08-d-1.2.jar"
"inheritance-repo/t09/maven-test/jars/t09-a-1.0.jar"
"inheritance-repo/t09/maven-test/jars/t09-b-1.0.jar"
"inheritance-repo/t09/maven-test/jars/t09-c-1.0.jar"
"inheritance-repo/t09/maven-test/jars/t09-d-1.0.jar"
"inheritance-repo/t10/maven-test/jars/t10-a-1.0.jar"
"inheritance-repo/t10/maven-test/jars/t10-b-1.0.jar"
"inheritance-repo/t10/maven-test/jars/t10-c-1.0.jar"))
(with-directory-excursion "local-repo/snapshot-test/jars"
(for-each
(lambda (file)
(with-output-to-file file
(lambda _
;; No end-of-line
(format #t "local"))))
'("maven-snapshot-e-1.0-SNAPSHOT.jar"
"maven-snapshot-b-1.0-SNAPSHOT.jar"
"maven-snapshot-a-1.0-SNAPSHOT.jar"))))
(for-each
(lambda (letter)
(with-directory-excursion
(string-append "src/test/remote-repo/org/apache/maven/its/"
letter "/0.1")
(let ((dir (string-append "META-INF/maven/org.apache.maven.its/"
letter)))
(mkdir-p dir)
(copy-file (string-append letter "-0.1.pom")
(string-append dir "/pom.xml"))
(with-output-to-file (string-append dir "/pom.properties")
(lambda _
(format #t "version=0.1~%")
(format #t "groupId=org.apache.maven.its")
(format #t (string-append "artifactId=" letter))))
(with-output-to-file "META-INF/MANIFEST.MF"
(lambda _
(format #t "Manifest-Version: 1.0~%"))))
(invoke "jar" "cmf" "META-INF/MANIFEST.MF"
(string-append letter "-0.1.jar") "META-INF")))
'("a" "b"))
#t))
(add-before 'build 'generate-models
(lambda* (#:key inputs #:allow-other-keys)
(define (modello-single-mode file version mode)
@ -1442,12 +1532,48 @@ (define-public maven
`(#:phases
(modify-phases %standard-phases
(replace 'build
(lambda _
(lambda* (#:key inputs #:allow-other-keys)
;; Recreate the configuration for the loader
(with-output-to-file "apache-maven/src/bin/m2.conf"
(lambda _
(format #t "main is org.apache.maven.cli.MavenCli from plexus.core~%")
(format #t "~%")
(format #t "set maven.conf default ${maven.home}/conf~%")
(format #t "~%")
(format #t "[plexus.core]~%")
(format #t "load ${maven.conf}/logging~%")
(format #t "optionally ${maven.home}/lib/ext/*.jar~%")
;; Reference every jar so plexus-classworlds can find them.
(for-each
(lambda (dependency)
(format #t "load ~a/share/java/*.jar~%"
(assoc-ref inputs dependency)))
'("maven-artifact" "maven-embedder" "maven-core" "maven-compat"
"maven-builder-support" "maven-model" "maven-model-builder"
"maven-settings" "maven-settings-builder" "maven-plugin-api"
"maven-repository-metadata" "maven-shared-utils" "maven-resolver-api"
"maven-resolver-spi" "maven-resolver-util" "maven-resolver-impl"
"maven-resolver-connector-basic" "maven-resolver-provider"
"maven-resolver-transport-wagon" "maven-wagon-provider-api"
"maven-wagon-file" "maven-wagon-http" "java-commons-logging-minimal"
"java-httpcomponents-httpclient" "java-httpcomponents-httpcore"
"maven-wagon-http-shared" "maven-wagon-tck-http"
"java-eclipse-sisu-plexus" "java-guice" "java-aopalliance"
"java-cglib" "java-asm" "java-eclipse-sisu-inject"
"java-javax-inject" "java-plexus-component-annotations"
"java-plexus-utils" "java-plexus-interpolation"
"java-plexus-sec-dispatcher" "java-plexus-cipher" "java-guava"
"java-jansi" "java-jsr250" "java-cdi-api" "java-commons-cli"
"java-commons-io" "java-commons-lang3" "java-slf4j-api"
"java-slf4j-simple"))))
(substitute* "apache-maven/src/bin/mvn"
(("cygwin=false;")
(string-append
"CLASSPATH=" (getenv "CLASSPATH") "\n"
"cygwin=false;"))
"CLASSPATH="
(car (find-files
(assoc-ref inputs "java-plexus-classworlds")
".*.jar"))
"\ncygwin=false;"))
(("-classpath.*") "-classpath ${CLASSPATH} \\\n"))
#t))
(delete 'check)

View file

@ -961,14 +961,14 @@ (define-public utox
(define-public qtox
(package
(name "qtox")
(version "1.15.0")
(version "1.16.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/qTox/qTox/archive/v"
version ".tar.gz"))
(sha256
(base32
"0bmnx6m33qn9nx40yy268x4wnvv2y7bvm41hzrlbhsiaph7kg583"))
"11l4klw0g6j4qq95krgyd0npxmmpcgk4vp9jq429sbsqn1s039j4"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(arguments

View file

@ -3513,7 +3513,7 @@ (define-public lmms
(define-public musescore
(package
(name "musescore")
(version "2.3")
(version "2.3.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3522,7 +3522,7 @@ (define-public musescore
(file-name (git-file-name name version))
(sha256
(base32
"1y5x0a40x7ji4g4181adm95qxk2dfjiy5xb5wksps90ji9q2qlcs"))
"00inrw9g8g34g74bhg5gp0rr5nydhjraiyn7vpl7kaqi5yzmhawd"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.

View file

@ -24,11 +24,13 @@ (define-module (gnu packages opencl)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gl)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages compression)
#:use-module (gnu packages libedit)
#:use-module (gnu packages llvm)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@ -38,8 +40,8 @@ (define-module (gnu packages opencl)
#:use-module (gnu packages xorg))
;; This file adds OpenCL implementation related packages. Due to the fact that
;; OpenCL devices are not available during build (store environment), tests are
;; all disabled.
;; OpenCL devices like GPU are not available during build (store environment),
;; tests that require such devices are all disabled.
;; Check https://lists.gnu.org/archive/html/guix-devel/2018-04/msg00293.html
(define (make-opencl-headers major-version subversion)
@ -288,3 +290,59 @@ (define-public beignet
kernels and the programs, and run them on the GPU. The code also contains a
back-end for the LLVM compiler framework.")
(license license:lgpl2.1+)))
(define-public pocl
(package
(name "pocl")
(version "1.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/pocl/pocl/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0lrw3hlb0w53xzmrf2hvbda406l70ar4gyadflvlkj4879lx138y"))))
(build-system cmake-build-system)
(native-inputs
`(("libltdl" ,libltdl)
("pkg-config" ,pkg-config)))
(inputs
`(("clang" ,clang)
("hwloc" ,hwloc "lib")
("llvm" ,llvm)
("ocl-icd" ,ocl-icd)))
(arguments
`(#:configure-flags
(list "-DENABLE_ICD=ON"
"-DENABLE_TESTSUITES=ON"
;; We are not developers, don't run conformance suite.
"-DENABLE_CONFORMANCE=OFF"
(string-append "-DEXTRA_HOST_LD_FLAGS=-L"
(assoc-ref %build-inputs "libc") "/lib"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'remove-headers
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(delete-file-recursively
(string-append out "/include"))
#t)))
(add-before 'check 'set-HOME
(lambda _
(setenv "HOME" "/tmp")
#t)))))
(home-page "http://portablecl.org/")
(synopsis "Portable Computing Language (pocl), an OpenCL implementation")
(description
"Pocl is a portable implementation of the OpenCL standard (1.2 with some
2.0 features supported). This project seeks to improve performance
portability of OpenCL programs with the kernel compiler and the task run-time,
reducing the need for target-dependent manual optimizations.
pocl uses Clang as an OpenCL C frontend and LLVM for kernel compiler
implementation, and as a portability layer. Thus, if your desired target has
an LLVM backend, it should be able to get OpenCL support easily by using
pocl.")
(license license:expat)))

View file

@ -100,9 +100,9 @@ (define-public guix
;; Latest version of Guix, which may or may not correspond to a release.
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.14.0")
(commit "7af5c2a248b6c229187fc850517c84b0917c452b")
(revision 13))
(let ((version "0.15.0")
(commit "4876bc8234095e2af191b0c6470455ce67d9f5f7")
(revision 1))
(package
(name "guix")
@ -118,7 +118,7 @@ (define-public guix
(commit commit)))
(sha256
(base32
"06kjimcln4ydirgl05qy98kxjyx3l6brxnq1ly7wb85f73s97gix"))
"0qw0ffrxzxfk76pp38kx222ndpsv9mbhlmfycagyipgypgjdd9lq"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

View file

@ -0,0 +1,42 @@
# HG changeset patch
# User Gábor Boskovits <boskovits@gmail.com>
# Date 1530519413 -7200
# Mon Jul 02 10:16:53 2018 +0200
# Node ID 77e5bc9e238a28d17e097647badc04ed67a6a452
# Parent 1ae05a34e052d1672b4a7894ddf5fc2f662eb861
Fix gcc segfault.
diff -r 1ae05a34e052 -r 77e5bc9e238a src/share/vm/opto/output.cpp
--- a/src/share/vm/opto/output.cpp Sun Dec 25 23:52:13 2016 +0000
+++ b/src/share/vm/opto/output.cpp Mon Jul 02 10:16:53 2018 +0200
@@ -1758,6 +1758,8 @@
// Initializer for class Scheduling
+volatile const void *eePointer = Pipeline_Use::elaborated_elements;
+
Scheduling::Scheduling(Arena *arena, Compile &compile)
: _arena(arena),
_cfg(compile.cfg()),
@@ -1802,8 +1804,8 @@
// Clear the bundling information
memcpy(_bundle_use_elements,
- Pipeline_Use::elaborated_elements,
- sizeof(Pipeline_Use::elaborated_elements));
+ (void *)eePointer,
+ 11*sizeof(Pipeline_Use_Element));
// Get the last node
Block *bb = _cfg->_blocks[_cfg->_blocks.size()-1];
@@ -1854,8 +1856,8 @@
_bundle_use.reset();
memcpy(_bundle_use_elements,
- Pipeline_Use::elaborated_elements,
- sizeof(Pipeline_Use::elaborated_elements));
+ (void *)eePointer,
+ 11*sizeof(Pipeline_Use_Element));
}
//------------------------------ScheduleAndBundle------------------------------

View file

@ -0,0 +1,45 @@
From 2f0ef2c69e99e1096a2a72c7a29025a736b044b4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com>
Date: Mon, 2 Jul 2018 23:37:25 +0200
Subject: [PATCH] Fix gcc segfault.
---
src/share/vm/opto/output.cpp | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/share/vm/opto/output.cpp b/src/share/vm/opto/output.cpp
index d46cb87..0eb9eda 100644
--- a/src/share/vm/opto/output.cpp
+++ b/src/share/vm/opto/output.cpp
@@ -1787,6 +1787,8 @@ uint Scheduling::_total_instructions_per_bundle[Pipeline::_max_instrs_per_cycle+
// Initializer for class Scheduling
+volatile const void *eePointer = Pipeline_Use::elaborated_elements;
+
Scheduling::Scheduling(Arena *arena, Compile &compile)
: _arena(arena),
_cfg(compile.cfg()),
@@ -1829,7 +1831,7 @@ Scheduling::Scheduling(Arena *arena, Compile &compile)
memset(_current_latency, 0, node_max * sizeof(unsigned short));
// Clear the bundling information
- memcpy(_bundle_use_elements, Pipeline_Use::elaborated_elements, sizeof(Pipeline_Use::elaborated_elements));
+ memcpy(_bundle_use_elements, (void *)eePointer, 11*sizeof(Pipeline_Use_Element));
// Get the last node
Block* block = _cfg->get_block(_cfg->number_of_blocks() - 1);
@@ -1880,8 +1882,8 @@ void Scheduling::step_and_clear() {
_bundle_use.reset();
memcpy(_bundle_use_elements,
- Pipeline_Use::elaborated_elements,
- sizeof(Pipeline_Use::elaborated_elements));
+ (void *)eePointer,
+ 11*sizeof(Pipeline_Use_Element));
}
// Perform instruction scheduling and bundling over the sequence of
--
2.18.0

View file

@ -0,0 +1,30 @@
From 8e7bdc18d62632adcee029b2f8f5013d11549dd7 Mon Sep 17 00:00:00 2001
From: "W. Felix Handte" <w@felixhandte.com>
Date: Fri, 29 Jun 2018 16:31:22 -0400
Subject: [PATCH] Fix Tests of `--list` Behavior with `stdin`
---
tests/playTests.sh | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/tests/playTests.sh b/tests/playTests.sh
index 09a7377f2..aa5535d59 100755
--- a/tests/playTests.sh
+++ b/tests/playTests.sh
@@ -731,8 +731,14 @@ $ECHO "\n===> zstd --list/-l error detection tests "
! $ZSTD -lv tmp1*
! $ZSTD --list -v tmp2 tmp12.zst
-$ECHO "\n===> zstd --list/-l exits 1 when stdin is piped in"
-! echo "piped STDIN" | $ZSTD --list
+$ECHO "\n===> zstd --list/-l errors when presented with stdin / no files"
+! $ZSTD -l
+! $ZSTD -l -
+! $ZSTD -l < tmp1.zst
+! $ZSTD -l - < tmp1.zst
+! $ZSTD -l - tmp1.zst
+! $ZSTD -l - tmp1.zst < tmp1.zst
+$ZSTD -l tmp1.zst < tmp1.zst # but doesn't error just because stdin is not a tty
$ECHO "\n===> zstd --list/-l test with null files "
./datagen -g0 > tmp5

View file

@ -0,0 +1,67 @@
From 712a9fd9721c314f4b0238577d803b012845f6d2 Mon Sep 17 00:00:00 2001
From: "W. Felix Handte" <w@felixhandte.com>
Date: Fri, 29 Jun 2018 15:33:44 -0400
Subject: [PATCH] Allow Invoking `zstd --list` When `stdin` is not a `tty`
Also now returns an error when no inputs are given.
New proposed behavior:
```
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l; echo $?
No files given
1
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l Makefile.zst; echo $?
Frames Skips Compressed Uncompressed Ratio Check Filename
1 0 3.08 KB 10.92 KB 3.544 XXH64 Makefile.zst
0
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l <Makefile.zst; echo $?
zstd: --list does not support reading from standard input
No files given
1
felix@odin:~/prog/zstd (list-stdin-check)$ ./zstd -l Makefile.zst <Makefile.zst; echo $?
Frames Skips Compressed Uncompressed Ratio Check Filename
1 0 3.08 KB 10.92 KB 3.544 XXH64 Makefile.zst
0
felix@odin:~/prog/zstd (list-stdin-check)$
```
---
programs/fileio.c | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/programs/fileio.c b/programs/fileio.c
index 0175b3163..b4eed28d1 100644
--- a/programs/fileio.c
+++ b/programs/fileio.c
@@ -2017,21 +2017,25 @@ static int FIO_listFile(fileInfo_t* total, const char* inFileName, int displayLe
}
int FIO_listMultipleFiles(unsigned numFiles, const char** filenameTable, int displayLevel){
-
- if (!IS_CONSOLE(stdin)) {
- DISPLAYOUT("zstd: --list does not support reading from standard input\n");
- return 1;
+ unsigned u;
+ for (u=0; u<numFiles;u++) {
+ if (!strcmp (filenameTable[u], stdinmark)) {
+ DISPLAYOUT("zstd: --list does not support reading from standard input\n");
+ return 1;
+ }
}
if (numFiles == 0) {
+ if (!IS_CONSOLE(stdin)) {
+ DISPLAYOUT("zstd: --list does not support reading from standard input\n");
+ }
DISPLAYOUT("No files given\n");
- return 0;
+ return 1;
}
if (displayLevel <= 2) {
DISPLAYOUT("Frames Skips Compressed Uncompressed Ratio Check Filename\n");
}
{ int error = 0;
- unsigned u;
fileInfo_t total;
memset(&total, 0, sizeof(total));
total.usesCheck = 1;

View file

@ -884,14 +884,29 @@ (define-public python-pylibscrypt
"1b3rgzl6dbzs08vhv41b6y4n5189wv7lr27acxn104hs45745abs"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ;FIXME: unable to find libraries
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'hard-code-path-to-libscrypt
(lambda* (#:key inputs #:allow-other-keys)
(let ((libscrypt (assoc-ref inputs "libscrypt")))
(substitute* "pylibscrypt/pylibscrypt.py"
(("find_library\\('scrypt'\\)")
(string-append "'" libscrypt "/lib/libscrypt.so'")))
#t))))
;; The library can use various scrypt implementations and tests all of
;; them. Since we only provide a single implementation, most tests
;; fail. Simply skip them.
#:tests? #f))
;; FIXME: Using "libscrypt" is the second best choice. The best one
;; requires "hashlib.scrypt", provided by Python 3.6+ built with OpenSSL
;; 1.1+. Use that as soon as Guix provides it.
(inputs
`(("openssl" ,openssl)))
`(("libscrypt" ,libscrypt)))
(home-page "https://github.com/jvarho/pylibscrypt")
(synopsis "Scrypt for Python")
(description "There are a lot of different scrypt modules for Python, but
none of them have everything that I'd like, so here's one more. It uses
hashlib.scrypt on Python 3.6 and OpenSSL 1.1.")
@code{libscrypt}.")
(license license:isc)))
(define-public python-libnacl
@ -929,46 +944,22 @@ (define-public python-libnacl
@code{NaCl} as well as being completely portable.")
(license license:asl2.0)))
(define-public python-duniterpy
(define-public python-scrypt
(package
(name "python-duniterpy")
(version "0.43.2")
(name "python-scrypt")
(version "0.8.6")
(source
(origin
(method git-fetch)
;; Pypi's default URI is missing "requirements.txt" file.
(uri (git-reference
(url "https://github.com/duniter/duniter-python-api.git")
(commit version)))
(file-name (git-file-name name version))
(method url-fetch)
(uri (pypi-uri "scrypt" version))
(sha256
(base32
"1ch4f150k1p1l876pp08p5rxqhpv5xfbxdw6njcmr06hspv8v8x4"))))
"0b9nw10hfdl0jflm3b62q485ssc3f3f33lpg4yy407gs8wnrn8zq"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; Among 108 tests, a single one is failing: FAIL:
;; test_from_pubkey. Remove it.
(add-after 'unpack 'remove-failing-test
(lambda _
(delete-file "tests/documents/test_crc_pubkey.py")
#t)))))
(propagated-inputs
`(("python-aiohttp" ,python-aiohttp)
("python-base58" ,python-base58)
("python-jsonschema" ,python-jsonschema)
("python-libnacl" ,python-libnacl)
("python-pylibscrypt" ,python-pylibscrypt)
("python-pypeg2" ,python-pypeg2)))
(home-page "https://github.com/duniter/duniter-python-api")
(synopsis "Python implementation of Duniter API")
(description "@code{duniterpy} is an implementation of
@uref{https://github.com/duniter/duniter/, duniter} API. Its
main features are:
@itemize
@item Supports Duniter's Basic Merkle API and protocol
@item Asynchronous
@item Duniter signing key
@end itemize")
(license license:gpl3+)))
(inputs
`(("openssl" ,openssl)))
(home-page "http://bitbucket.org/mhallin/py-scrypt")
(synopsis "Bindings for the scrypt key derivation function library")
(description "This is a set of Python bindings for the scrypt key
derivation function.")
(license license:bsd-2)))

View file

@ -13799,3 +13799,23 @@ (define-public python-dns-lexicon
(define-public python2-dns-lexicon
(package-with-python2 python-dns-lexicon))
(define-public python-commandlines
(package
(name "python-commandlines")
(version "0.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "commandlines" version))
(sha256
(base32
"0r7xcr0knv02p4mswa2bng61nn8nbhhrs6kvdnb9bb3hhjvm1dl6"))))
(build-system python-build-system)
(home-page "https://github.com/chrissimpkins/commandlines")
(synopsis "Command line argument to object parsing library")
(description
"@code{Commandlines} is a Python library for command line application
development that supports command line argument parsing, command string
validation testing and application logic.")
(license license:expat)))

View file

@ -25,7 +25,7 @@ (define-module (gnu packages re2c)
(define-public re2c
(package
(name "re2c")
(version "0.16")
(version "1.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/skvadrik/" name
@ -33,7 +33,7 @@ (define-public re2c
name "-" version ".tar.gz"))
(sha256
(base32
"114y0s4vmzip4hkf4cbz4yv8s498gzaylnphbzmwqhbn55j2bha8"))))
"0lnbj15hhgi3r40ipskmg178m18d8n5nph78sci6lprk7zgf0mng"))))
(build-system gnu-build-system)
(home-page "http://re2c.org/")
(synopsis "Lexer generator for C/C++")

View file

@ -14,6 +14,7 @@
;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -675,3 +676,68 @@ (define-public go-github.com-mattn-go-runewidth
measuring and checking the width of strings, with support east asian text.")
(home-page "https://github.com/jessevdk/go-flags")
(license license:expat)))
(define-public docx2txt
(package
(name "docx2txt")
(version "1.4")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/docx2txt/docx2txt/v"
version "/docx2txt-" version ".tgz"))
(sha256
(base32
"06vdikjvpj6qdb41d8wzfnyj44jpnknmlgbhbr1w215420lpb5xj"))))
(build-system gnu-build-system)
(inputs
`(("unzip" ,unzip)
("perl" ,perl)))
(arguments
`(#:tests? #f ; No tests.
#:make-flags (list (string-append "BINDIR="
(assoc-ref %outputs "out") "/bin")
(string-append "CONFIGDIR="
(assoc-ref %outputs "out") "/etc")
;; Makefile seems to be a bit dumb at guessing.
(string-append "INSTALL=install")
(string-append "PERL=perl"))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'install 'fix-install
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(config (string-append out "/etc/docx2txt.config"))
(unzip (assoc-ref inputs "unzip")))
;; According to INSTALL, the .sh wrapper can be skipped.
(delete-file (string-append bin "/docx2txt.sh"))
(rename-file (string-append bin "/docx2txt.pl")
(string-append bin "/docx2txt"))
(substitute* config
(("config_unzip => '/usr/bin/unzip',")
(string-append "config_unzip => '"
unzip
"/bin/unzip',")))
;; Makefile is wrong.
(chmod config #o644)))))))
(synopsis "Recover text from @file{.docx} files, with good formatting")
(description
"@command{docx2txt} is a Perl based command line utility to convert
Microsoft Office @file{.docx} documents to equivalent text documents. Latest
version supports following features during text extraction.
@itemize
@item Character conversions; currency characters are converted to respective
names like Euro.
@item Capitalisation of text blocks.
@item Center and right justification of text fitting in a line of
(configurable) 80 columns.
@item Horizontal ruler, line breaks, paragraphs separation, tabs.
@item Indicating hyperlinked text along with the hyperlink (configurable).
@item Handling (bullet, decimal, letter, roman) lists along with (attempt at)
indentation.
@end itemize\n")
(home-page "http://docx2txt.sourceforge.net")
(license license:gpl3+)))

View file

@ -419,7 +419,7 @@ (define-public git
(define-public libgit2
(package
(name "libgit2")
(version "0.26.0")
(version "0.26.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/libgit2/libgit2/"
@ -427,8 +427,8 @@ (define-public libgit2
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1b3figbhp5l83vd37vq6j2narrq4yl9pfw6mw0px0dzb1hz3jqka"))
(patches (search-patches "libgit2-0.25.1-mtime-0.patch"))
"15ybzypyggx64ba7i0zxnnbvzh7z34fcrkwk2xj54kmv1dha4br9"))
(patches (search-patches "libgit2-mtime-0.patch"))
;; Remove bundled software.
(snippet '(begin

View file

@ -788,14 +788,14 @@ (define-public ffmpeg
(define-public ffmpeg-3.4
(package
(inherit ffmpeg)
(version "3.4.2")
(version "3.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://ffmpeg.org/releases/ffmpeg-"
version ".tar.xz"))
(sha256
(base32
"0h6prjn1ijkzzhkyj8mazp0wpx7m0n9ycadjxagf9czqirbyk4ib"))))))
"0p45s3h7mg7v0jm77bymw2617i08f086dlcdmaylnk7795yind3b"))))))
(define-public ffmpeg-2.8
(package
@ -1122,6 +1122,7 @@ (define-public mpv
("pulseaudio" ,pulseaudio)
("rsound" ,rsound)
("shaderc" ,shaderc)
("vulkan-headers" ,vulkan-headers)
("vulkan-loader" ,vulkan-loader)
("waf" ,python-waf)
("wayland" ,wayland)

View file

@ -160,10 +160,33 @@ (define-public glslang
;; include/SPIRV/{bitutils,hex_float}.h are Apache 2.0.
license:asl2.0)))))
(define-public vulkan-headers
(package
(name "vulkan-headers")
(version "1.1.77.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/KhronosGroup/Vulkan-Headers/"
"archive/sdk-" version ".tar.gz"))
(sha256
(base32
"05pgaqyj516lmzdr4clxll5gvr5zb29sfjhs2d7mkryqs6zk5xdj"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; No tests.
(home-page
"https://github.com/KhronosGroup/Vulkan-Headers")
(synopsis "Vulkan Header files and API registry")
(description
"Vulkan-Headers contains header files and API registry for Vulkan.")
(license (list license:asl2.0)))) ;LICENSE.txt
(define-public vulkan-loader
(package
(name "vulkan-loader")
(version "1.1.73.0")
(version (package-version vulkan-headers))
(source
(origin
(method url-fetch)
@ -172,7 +195,7 @@ (define-public vulkan-loader
"archive/sdk-" version ".tar.gz"))
(sha256
(base32
"0lvdpy6ybx5h7w15m9s2n9q3167q618clra2k7yi2cbm397ci4hn"))))
"1zg86b5wba9l14ry3ap7yzgd9hwzxxr0rjgwhnv14n75aqpwv02d"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;FIXME: 23/39 tests fail. Try "tests/run_all_tests.sh".
@ -194,11 +217,12 @@ (define-public vulkan-loader
("libxrandr" ,libxrandr)
("mesa" ,mesa)
("spirv-tools" ,spirv-tools)
("vulkan-headers" ,vulkan-headers)
("wayland" ,wayland)))
(native-inputs `(("pkg-config" ,pkg-config)
("python" ,python)))
(home-page
"https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers")
"https://github.com/KhronosGroup/Vulkan-Loader")
(synopsis "Khronos official ICD loader and validation layers for Vulkan")
(description
"Vulkan allows multiple @dfn{Installable Client Drivers} (ICDs) each
@ -215,6 +239,41 @@ (define-public vulkan-loader
(define-public vulkan-icd-loader
(deprecated-package "vulkan-icd-loader" vulkan-loader))
(define-public vulkan-tools
(package
(name "vulkan-tools")
(version (package-version vulkan-headers))
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/KhronosGroup/Vulkan-Tools/"
"archive/sdk-" version ".tar.gz"))
(sha256
(base32
"1imbiw8crrkxgsjkgmv5x6s9yx89g6v3r2s5qfm5h31pv6lyzshm"))))
(build-system cmake-build-system)
(inputs
`(("glslang" ,glslang)
("libxrandr" ,libxrandr)
("mesa" ,mesa)
("vulkan-headers" ,vulkan-headers)
("vulkan-loader" ,vulkan-loader)
("wayland" ,wayland)))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python)))
(arguments
`(#:tests? #f)) ; No tests.
(home-page
"https://github.com/KhronosGroup/Vulkan-Tools")
(synopsis "Tools and utilities for Vulkan")
(description
"Vulkan-Tools provides tools and utilities that can assist development by
enabling developers to verify their applications correct use of the Vulkan
API.")
(license (list license:asl2.0)))) ;LICENSE.txt
(define-public shaderc
(let ((commit "be8e0879750303a1de09385465d6b20ecb8b380d")
(revision "2"))
@ -316,6 +375,7 @@ (define-public vkd3d
("libxcb" ,libxcb)
("spirv-headers" ,spirv-headers)
("spirv-tools" ,spirv-tools)
("vulkan-headers" ,vulkan-headers)
("vulkan-loader" ,vulkan-loader)
("wine" ,wine) ; Needed for 'widl'.
("xcb-util" ,xcb-util)

View file

@ -4379,6 +4379,11 @@ (define-public ikiwiki
" addenv(\"PERL5LIB\", \""
(getenv "PERL5LIB")
"\");")))))
(add-after 'patch-source-shebangs 'patch-Makefile
(lambda _
(substitute* "Makefile.PL"
(("SYSCONFDIR\\?=") "SYSCONFDIR?=$(PREFIX)"))
#t))
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))

View file

@ -16,6 +16,7 @@
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1466,7 +1467,7 @@ (define-public libxres
(define-public libxscrnsaver
(package
(name "libxscrnsaver")
(version "1.2.2")
(version "1.2.3")
(source
(origin
(method url-fetch)
@ -1476,7 +1477,7 @@ (define-public libxscrnsaver
".tar.bz2"))
(sha256
(base32
"07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg"))))
"1y4vx1vabg7j9hamp0vrfrax5b0lmgm3h0lbgbb3hnkv3dd0f5zr"))))
(build-system gnu-build-system)
(inputs
`(("libxext" ,libxext)
@ -6135,3 +6136,67 @@ (define-public uim-qt
(append configure-flags (list "--with-qt4-immodule"
"--with-qt4")))))
(synopsis "Multilingual input method framework (Qt support)")))
(define-public keynav
(package
(name "keynav")
(version "0.20110708.0")
(source
(origin
(method url-fetch)
(uri (string-append
"http://http.debian.net/debian/pool/main/k/keynav/keynav_"
version ".orig.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1gizjhji3yspxxxvb90js3z1bv18rbf5phxg8rciixpj3cccff8z"))))
(build-system gnu-build-system)
(inputs
`(("cairo" ,cairo)
("glib" ,glib)
("libx11" ,libx11)
("libxext" ,libxext)
("libxinerama" ,libxinerama)
("libxtst" ,libxtst)
("xdotool" ,xdotool)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:tests? #f ;No tests.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'setenv
(lambda _
(setenv "CC" (which "gcc"))
#t))
(add-after 'unpack 'patch-keynav
(lambda _
(substitute* "keynav.c"
(("xdo_symbol_map") "xdo_get_symbol_map")
(("xdo_window_setclass") "xdo_set_window_class")
(("xdo_window_get_active") "xdo_get_window_at_mouse")
(("xdo_click") "xdo_click_window")
(("xdo_mouseup") "xdo_mouse_up")
(("xdo_mousedown") "xdo_mouse_down")
(("xdo_mousemove") "xdo_move_mouse")
(("xdo_mousemove_relative") "xdo_move_mouse_relative")
(("xdo_mouselocation") "xdo_get_mouse_location")
(("xdo_mouse_wait_for_move_to") "xdo_wait_for_mouse_move_to")
(("xdo_keysequence_up") "xdo_send_keysequence_window_up")
(("xdo_keysequence_down") "xdo_send_keysequence_window_down"))
#t))
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(install-file "keynav" (string-append out "/bin"))
(install-file "keynavrc" (string-append out "/etc")))
#t)))))
(home-page "https://www.semicomplete.com/projects/keynav/")
(synopsis "Keyboard-driven mouse cursor mover")
(description
"Keynav makes your keyboard a fast mouse cursor mover. You can move the
cursor to any point on the screen with a few key strokes. It also simulates
mouse click. You can do everything mouse can do with a keyboard.")
(license license:bsd-3)))

View file

@ -1113,7 +1113,14 @@ (define mingetty-shepherd-service
(start #~(make-forkexec-constructor
(list #$(file-append mingetty "/sbin/mingetty")
"--noclear" #$tty
"--noclear"
;; Avoiding 'vhangup' allows us to avoid 'setfont'
;; errors down the path where various ioctls get
;; EIO--see 'hung_up_tty_ioctl' in driver/tty/tty_io.c
;; in Linux.
"--nohangup" #$tty
#$@(if auto-login
#~("--autologin" #$auto-login)
#~())

View file

@ -10,8 +10,9 @@
(timezone "Europe/Berlin")
(locale "en_US.utf8")
;; Assuming /dev/sdX is the target hard disk, and "my-root" is
;; the label of the target root file system.
;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the
;; target hard disk, and "my-root" is the label of the target
;; root file system.
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/sdX")))

View file

@ -11,11 +11,11 @@
(timezone "Europe/Paris")
(locale "en_US.utf8")
;; Assuming /dev/sdX is the target hard disk, and "my-root"
;; is the label of the target root file system.
;; Use the UEFI variant of GRUB with the EFI System
;; Partition mounted on /boot/efi.
(bootloader (bootloader-configuration
(bootloader grub-bootloader)
(target "/dev/sdX")))
(bootloader grub-efi-bootloader)
(target "/boot/efi")))
;; Specify a mapped device for the encrypted root partition.
;; The UUID is that returned by 'cryptsetup luksUUID'.

View file

@ -178,9 +178,9 @@ (define copy-guile-wm
else
PS1='\\u@\\h \\w\\$ '
fi
alias ls='ls -p --color'
alias ls='ls -p --color=auto'
alias ll='ls -l'
alias grep='grep --color'\n"))
alias grep='grep --color=auto'\n"))
(zlogin (plain-file "zlogin" "\
# Honor system-wide environment variables
source /etc/profile\n"))

View file

@ -100,6 +100,23 @@ (define marionette
version)
(string-prefix? architecture %host-type)))))
;; 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
#f))))
marionette))
(test-assert "shell and user commands"
;; Is everything in $PATH?
(zero? (marionette-eval '(system "

View file

@ -46,6 +46,14 @@ (define-module (guix build syscalls)
MNT_DETACH
MNT_EXPIRE
UMOUNT_NOFOLLOW
AT_FDCWD
AT_SYMLINK_NOFOLLOW
AT_REMOVEDIR
AT_SYMLINK_FOLLOW
AT_NO_AUTOMOUNT
AT_EMPTY_PATH
restart-on-EINTR
mount-points
swapon
@ -667,6 +675,15 @@ (define (free-disk-space file)
(* (file-system-block-size fs)
(file-system-blocks-available fs))))
;; Flags for the *at command, notably the 'utime' procedure of libguile.
;; From <fcntl.h>.
(define AT_FDCWD -100)
(define AT_SYMLINK_NOFOLLOW #x100)
(define AT_REMOVEDIR #x200)
(define AT_SYMLINK_FOLLOW #x400)
(define AT_NO_AUTOMOUNT #x800)
(define AT_EMPTY_PATH #x1000)
;;;
;;; Containers.

View file

@ -187,7 +187,9 @@ (define* (fetch-elpa-package name #:optional (repo 'gnu))
(url (package-source-url kind name ver repo)))
(make-elpa-package name ver
(ensure-list reqs) synopsis kind
(package-home-page (first rest))
(package-home-page (match rest
(() #f)
((one) one)))
(fetch-package-description kind name repo)
url)))
(_ #f))))

View file

@ -703,6 +703,8 @@ (define texinfo ;lazy reference
(module-ref (resolve-interface '(gnu packages texinfo)) 'texinfo))
(define gzip ;lazy reference
(module-ref (resolve-interface '(gnu packages compression)) 'gzip))
(define glibc-utf8-locales ;lazy reference
(module-ref (resolve-interface '(gnu packages base)) 'glibc-utf8-locales))
(define build
(with-imported-modules '((guix build utils))
@ -720,11 +722,31 @@ (define (info-files top)
(map (cut string-append infodir "/" <>)
(or (scandir infodir info-file?) '()))))
(define (info-file-language file)
(let* ((base (if (string-suffix? ".gz" file)
(basename file ".info.gz")
(basename file ".info")))
(dot (string-rindex base #\.)))
(if dot
(string-drop base (+ 1 dot))
"en")))
(define (install-info info)
(setenv "PATH" (string-append #+gzip "/bin")) ;for info.gz files
(zero?
(system* (string-append #+texinfo "/bin/install-info") "--silent"
info (string-append #$output "/share/info/dir"))))
(let ((language (info-file-language info)))
;; We need to choose a valid locale for $LANGUAGE to be honored.
(setenv "LC_ALL" "en_US.utf8")
(setenv "LANGUAGE" language)
(zero?
(system* #+(file-append texinfo "/bin/install-info")
"--silent" info
(apply string-append #$output "/share/info/dir"
(if (string=? "en" language)
'("")
`("." ,language)))))))
(setenv "PATH" (string-append #+gzip "/bin")) ;for info.gz files
(setenv "GUIX_LOCPATH"
#+(file-append glibc-utf8-locales "/lib/locale"))
(mkdir-p (string-append #$output "/share/info"))
(exit (every install-info

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -54,7 +55,7 @@ (define (guix-container . args)
((or ("-h") ("--help"))
(show-help)
(exit 0))
(("--version")
((or ("-V") ("--version"))
(show-version-and-exit "guix container"))
((action args ...)
(if (member action %actions)

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -104,7 +105,7 @@ (define (guix-import . args)
((or ("-h") ("--help"))
(show-help)
(exit 0))
(("--version")
((or ("-V") ("--version"))
(show-version-and-exit "guix import"))
((importer args ...)
(if (member importer importers)

View file

@ -722,6 +722,7 @@ (define (manifest-from-args store opts)
(if (assoc-ref opts 'bootstrap?)
%bootstrap-guile
(canonical-package guile-2.2))
(assoc-ref opts 'system)
#:graft? (assoc-ref opts 'graft?))))
(let* ((dry-run? (assoc-ref opts 'dry-run?))
(relocatable? (assoc-ref opts 'relocatable?))

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.
;;;
@ -53,15 +53,6 @@ (define-record-type <profile>
(define substitutable-path-info*
(store-lift substitutable-path-info))
(define (query-path-info* item)
"Monadic version of 'query-path-info' that returns #f when ITEM is not in
the store."
(lambda (store)
(guard (c ((nix-protocol-error? c)
;; ITEM is not in the store; return #f.
(values #f store)))
(values (query-path-info store item) store))))
(define (file-size item)
"Return the size in bytes of ITEM, resorting to information from substitutes
if ITEM is not in the store."

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1108,7 +1109,7 @@ (define (guix-substitute . args)
(process-substitution store-path destination
#:cache-urls (substitute-urls)
#:acl (current-acl))))
(("--version")
((or ("-V") ("--version"))
(show-version-and-exit "guix substitute"))
(("--help")
(show-help))

View file

@ -126,7 +126,11 @@ (define* (copy-item item references target
;; Remove DEST if it exists to make sure that (1) we do not fail badly
;; while trying to overwrite it (see <http://bugs.gnu.org/20722>), and
;; (2) we end up with the right contents.
(when (file-exists? dest)
(when (false-if-exception (lstat dest))
(for-each make-file-writable
(find-files dest (lambda (file stat)
(eq? 'directory (stat:type stat)))
#:directories? #t))
(delete-file-recursively dest))
(copy-recursively item dest
@ -148,12 +152,18 @@ (define* (copy-closure item target
"Copy ITEM and all its dependencies to the store under root directory
TARGET, and register them."
(mlet* %store-monad ((to-copy (topologically-sorted* (list item)))
(refs (mapm %store-monad references* to-copy)))
(refs (mapm %store-monad references* to-copy))
(info (mapm %store-monad query-path-info*
(delete-duplicates
(append to-copy (concatenate refs)))))
(size -> (reduce + 0 (map path-info-nar-size info))))
(define progress-bar
(progress-reporter/bar (length to-copy)
(format #f (G_ "copying to '~a'...")
target)))
(check-available-space size target)
(call-with-progress-reporter progress-bar
(lambda (report)
(let ((void (%make-void-port "w")))

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -269,7 +270,7 @@ (define %options
(exit 0)))
(option '(#\V "version") #f #f
(lambda args
(show-version-and-exit "guix challenge")))
(show-version-and-exit "guix weather")))
(option '("substitute-urls") #t #f
(lambda (opt name arg result . rest)

View file

@ -343,7 +343,7 @@ (define build
(define* (guix-command modules #:optional compiled-modules
#:key source (dependencies '())
(guile-version (effective-version)))
guile (guile-version (effective-version)))
"Return the 'guix' command such that it adds MODULES and DEPENDENCIES in its
load path."
(program-file "guix-command"
@ -383,15 +383,17 @@ (define* (guix-command modules #:optional compiled-modules
;; XXX: It would be more convenient to change it to:
;; (exit (apply guix-main (command-line)))
(apply guix-main (command-line))))))
(apply guix-main (command-line))))
#:guile guile))
(define* (whole-package name modules dependencies
#:key
(guile-version (effective-version))
compiled-modules
info daemon
info daemon guile
(command (guix-command modules
#:dependencies dependencies
#:guile guile
#:guile-version guile-version)))
"Return the whole Guix package NAME that uses MODULES, a derivation of all
the modules, and DEPENDENCIES, a list of packages depended on. COMMAND is the
@ -630,10 +632,12 @@ (define (built-modules node-subset)
(command (guix-command modules compiled
#:source source
#:dependencies dependencies
#:guile guile-for-build
#:guile-version guile-version)))
(whole-package name modules dependencies
#:compiled-modules compiled
#:command command
#:guile guile-for-build
;; Include 'guix-daemon'. XXX: Here we inject an
;; older snapshot of guix-daemon, but that's a good
@ -903,8 +907,10 @@ (define canonical-package ;soft reference
(module-ref (resolve-interface '(gnu packages guile))
'guile-2.2.2))
("2.2"
;; Use the latest version, which has fixes for
;; <https://bugs.gnu.org/30602> and VM stack-marking issues.
(canonical-package (module-ref (resolve-interface '(gnu packages guile))
'guile-2.2/fixed)))
'guile-2.2.4)))
("2.0"
(module-ref (resolve-interface '(gnu packages guile))
'guile-2.0))))

View file

@ -107,6 +107,7 @@ (define-module (guix store)
references
references/substitutes
references*
query-path-info*
requisites
referrers
optimize-store
@ -1398,6 +1399,15 @@ (define set-build-options*
(define references*
(store-lift references))
(define (query-path-info* item)
"Monadic version of 'query-path-info' that returns #f when ITEM is not in
the store."
(lambda (store)
(guard (c ((nix-protocol-error? c)
;; ITEM is not in the store; return #f.
(values #f store)))
(values (query-path-info store item) store))))
(define-inlinable (current-system)
;; Consult the %CURRENT-SYSTEM fluid at bind time. This is equivalent to
;; (lift0 %current-system %store-monad), but inlinable, thus avoiding

View file

@ -209,9 +209,7 @@ (define (reset-timestamps file)
(type type))))))
(scandir* parent))))
((symlink)
;; FIXME: Implement bindings for 'futime' to reset the timestamps on
;; symlinks.
#f)
(utime file 0 0 0 0 AT_SYMLINK_NOFOLLOW))
(else
(chmod file (if (executable-file? file) #o555 #o444))
(utime file 0 0 0 0)))))

View file

@ -88,28 +88,27 @@ (define* (get-temp-link target #:optional (link-prefix (dirname target)))
(lambda args
(if (= (system-error-errno args) EEXIST)
(try (tempname-in link-prefix))
(throw 'system-error args))))))
(apply throw args))))))
;; There are 3 main kinds of errors we can get from hardlinking: "Too many
;; things link to this" (EMLINK), "this link already exists" (EEXIST), and
;; "can't fit more stuff in this directory" (ENOSPC).
(define (replace-with-link target to-replace)
"Atomically replace the file TO-REPLACE with a link to TARGET. Note: TARGET
and TO-REPLACE must be on the same file system."
(let ((temp-link (get-temp-link target (dirname to-replace))))
(rename-file temp-link to-replace)))
(define* (replace-with-link target to-replace
#:key (swap-directory (dirname target)))
"Atomically replace the file TO-REPLACE with a link to TARGET. Use
SWAP-DIRECTORY as the directory to store temporary hard links.
(define-syntax-rule (false-if-system-error (errors ...) exp ...)
"Given ERRORS, a list of system error codes to ignore, evaluates EXP... and
return #f if any of the system error codes in the given list are thrown."
(catch 'system-error
(lambda ()
exp ...)
(lambda args
(if (member (system-error-errno args) (list errors ...))
#f
(apply throw args)))))
Note: TARGET, TO-REPLACE, and SWAP-DIRECTORY must be on the same file system."
(let ((temp-link (get-temp-link target swap-directory)))
(make-file-writable (dirname to-replace))
(catch 'system-error
(lambda ()
(rename-file temp-link to-replace))
(lambda args
(delete-file temp-link)
(unless (= EMLINK (system-error-errno args))
(apply throw args))))))
(define* (deduplicate path hash #:key (store %store-directory))
"Check if a store item with sha256 hash HASH already exists. If so,
@ -131,8 +130,8 @@ (define* (deduplicate path hash #:key (store %store-directory))
#:store store))))
(scandir path))
(if (file-exists? link-file)
(false-if-system-error (EMLINK)
(replace-with-link link-file path))
(replace-with-link link-file path
#:swap-directory links-directory)
(catch 'system-error
(lambda ()
(link path link-file))
@ -141,8 +140,8 @@ (define* (deduplicate path hash #:key (store %store-directory))
(cond ((= errno EEXIST)
;; Someone else put an entry for PATH in
;; LINKS-DIRECTORY before we could. Let's use it.
(false-if-system-error (EMLINK)
(replace-with-link path link-file)))
(replace-with-link path link-file
#:swap-directory links-directory))
((= errno ENOSPC)
;; There's not enough room in the directory index for
;; more entries in .links, but that's fine: we can

View file

@ -9,6 +9,7 @@
;;; Copyright © 2015, 2016 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Benz Schenk <benz.schenk@uzh.ch>
;;; Copyright © 2018 Kyle Meyer <kyle@kyleam.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -87,6 +88,7 @@ (define-module (guix ui)
leave-on-EPIPE
read/eval
read/eval-package-expression
check-available-space
location->string
fill-paragraph
%text-width
@ -519,6 +521,9 @@ (define-syntax-rule (error-reporting-wrapper proc (args ...) file)
(set! canonicalize-path
(error-reporting-wrapper canonicalize-path (file) file))
(set! delete-file
(error-reporting-wrapper delete-file (file) file))
(define (make-regexp* regexp . flags)
"Like 'make-regexp' but error out if REGEXP is invalid, reporting the error
@ -795,16 +800,17 @@ (define (show-derivation-outputs derivation)
(derivation->output-path derivation out-name)))
(derivation-outputs derivation))))
(define (check-available-space need)
"Make sure at least NEED bytes are available in the store. Otherwise emit a
(define* (check-available-space need
#:optional (directory (%store-prefix)))
"Make sure at least NEED bytes are available in DIRECTORY. Otherwise emit a
warning."
(let ((free (catch 'system-error
(lambda ()
(free-disk-space (%store-prefix)))
(free-disk-space directory))
(const #f))))
(when (and free (>= need free))
(warning (G_ "at least ~,1h MB needed but only ~,1h MB available in ~a~%")
(/ need 1e6) (/ free 1e6) (%store-prefix)))))
(/ need 1e6) (/ free 1e6) directory))))
(define* (show-what-to-build store drv
#:key dry-run? (use-substitutes? #t)
@ -1593,7 +1599,7 @@ (define option? (cut string-prefix? "-" <>))
(show-guix-usage))
((or ("-h") ("--help"))
(show-guix-help))
(("--version")
((or ("-V") ("--version"))
(show-version-and-exit "guix"))
(((? option? o) args ...)
(format (current-error-port)

View file

@ -773,22 +773,28 @@ (define-record-type <location>
(line location-line) ; 1-indexed line
(column location-column)) ; 0-indexed column
(define location
(mlambda (file line column)
"Return the <location> object for the given FILE, LINE, and COLUMN."
(and line column file
(make-location file line column))))
(define (location file line column)
"Return the <location> object for the given FILE, LINE, and COLUMN."
(and line column file
(make-location file line column)))
(define (source-properties->location loc)
"Return a location object based on the info in LOC, an alist as returned
by Guile's `source-properties', `frame-source', `current-source-location',
etc."
(let ((file (assq-ref loc 'filename))
(line (assq-ref loc 'line))
(col (assq-ref loc 'column)))
;; In accordance with the GCS, start line and column numbers at 1. Note
;; that unlike LINE and `port-column', COL is actually 1-indexed here...
(location file (and line (+ line 1)) col)))
;; In accordance with the GCS, start line and column numbers at 1. Note
;; that unlike LINE and `port-column', COL is actually 1-indexed here...
(match loc
((('line . line) ('column . col) ('filename . file)) ;common case
(and file line col
(make-location file (+ line 1) col)))
(#f
#f)
(_
(let ((file (assq-ref loc 'filename))
(line (assq-ref loc 'line))
(col (assq-ref loc 'column)))
(location file (and line (+ line 1)) col)))))
(define (location->source-properties loc)
"Return the source property association list based on the info in LOC,

View file

@ -18,7 +18,7 @@ msgstr ""
"Project-Id-Version: guix 0.15.0\n"
"Report-Msgid-Bugs-To: ludo@gnu.org\n"
"POT-Creation-Date: 2018-06-22 14:08+0200\n"
"PO-Revision-Date: 2018-06-23 14:14+0200\n"
"PO-Revision-Date: 2018-07-04 20:49+0200\n"
"Last-Translator: Julien Lepiller <julien@lepiller.eu>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@ -2639,7 +2639,7 @@ msgid ""
" -b, --backend=TYPE produce a graph with the given backend TYPE"
msgstr ""
"\n"
" -t, --backend=TYPE produire un graphe avec le TYPE de moteur donné"
" -b, --backend=TYPE produire un graphe avec le TYPE de moteur donné"
#: guix/scripts/graph.scm:457
msgid ""

View file

@ -28,6 +28,11 @@ fi
guix pack --version
# FIXME: Starting from commit 66e9944e078cbb9e0d618377dd6df6e639640efa,
# '--bootstrap' is mostly ineffective since 'guix pack' produces derivations
# that refer to guile-sqlite3 and libgcrypt. For now we just skip the test.
exit 77
# Use --no-substitutes because we need to verify we can do this ourselves.
GUIX_BUILD_OPTIONS="--no-substitutes"
export GUIX_BUILD_OPTIONS

View file

@ -47,6 +47,10 @@ (define-module (test-store-deduplication)
(lambda (port)
(put-bytevector port data))))
identical)
;; Make the parent of IDENTICAL read-only. This should not prevent
;; deduplication for inserting its hard link.
(chmod (dirname (second identical)) #o544)
(call-with-output-file unique
(lambda (port)
(put-bytevector port (string->utf8 "This is unique."))))

View file

@ -60,6 +60,19 @@ (define temp-file
(any (cute member <> (mount-points))
'("/" "/proc" "/sys" "/dev")))
(false-if-exception (delete-file temp-file))
(test-equal "utime with AT_SYMLINK_NOFOLLOW"
'(0 0)
(begin
;; Test libguile's utime with AT_SYMLINK_NOFOLLOW, which libguile does not
;; define as of Guile 2.2.4.
(symlink "/nowhere" temp-file)
(utime temp-file 0 0 0 0 AT_SYMLINK_NOFOLLOW)
(let ((st (lstat temp-file)))
(delete-file temp-file)
;; Note: 'utimensat' does not change 'ctime'.
(list (stat:mtime st) (stat:atime st)))))
(test-assert "swapon, ENOENT/EPERM"
(catch 'system-error
(lambda ()