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 @@ the #:references-graphs parameter of 'derivation'."
;; 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 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
(version "20180531")
(version "20180629")
(source (origin
(method url-fetch)
(uri (string-append
@ -1269,7 +1269,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
"0q7vg1nr51f3rg16vjh4glz361a64r6gpm46fqkl2jf4fq7g43g5"))))
"0rsh7ya5brpbsj7y44k1z77cvgv3zahiy8hvwvl61d6fh3db7pdp"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
@ -2632,7 +2632,7 @@ Python loading in HPC environments.")
(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 @@ Python loading in HPC environments.")
(commit version)))
(sha256
(base32
"0732ligzmzwpwaxin4g8rbfj91ghyvf69lx2jyrahi4df0bfamh5"))))
"1f342basqlp7hl6zw29fb018jd55dx85a6dmm3sap032a3dgds73"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash)

View File

@ -315,7 +315,7 @@ fast arithmetic.")
(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 @@ fast arithmetic.")
(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 @@ programs for the manipulation and analysis of astronomical data.")
(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 @@ programs for the manipulation and analysis of astronomical data.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0d6b3fs5aify7i1lwgkcickppnj73cbh24g8qschnfs3ypdf48fc"))))
"0vjkwrjy22b4wdjkafm63pmb0fck14ffnylpq8xr91ywycw4blrq"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
@ -166,7 +166,7 @@ programs for the manipulation and analysis of astronomical data.")
(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 @@
#: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 @@ Repeats Finder (TRF mask). Only the AGAPS and AMB masks are \"active\" by
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 @@ experiments.")
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 @@ functionality.")
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 @@ once. This package provides tools to perform Drop-seq analyses.")
(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 @@ once. This package provides tools to perform Drop-seq analyses.")
"/pigx_rnaseq-" version ".tar.gz"))
(sha256
(base32
"0pz080k4ajlc4rlznkn3najy2a6874gb56rf9g4ag9wqz31q174j"))))
"16gla23rmziimqan7w494q0nr7vfbp42zzkrl9fracmr4k7b1kzr"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f ; not supported
@ -12851,14 +12829,6 @@ once. This package provides tools to perform Drop-seq analyses.")
(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 @@ expression report comparing samples in an easily configurable manner.")
(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 @@ expression report comparing samples in an easily configurable manner.")
"/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 @@ in an easily configurable manner.")
(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 @@ in an easily configurable manner.")
"/pigx_bsseq-" version ".tar.gz"))
(sha256
(base32
"0j1dfjk8m1p1h6d5yw63scjlbx56z8gixmbw626w1vcyblg0frmz"))))
"0l97wvkq4diq8lcarraj33bby1zzf0w804jwi8mlc5qddp8idwhy"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -12996,14 +12966,6 @@ in an easily configurable manner.")
(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 @@ methylation and segmentation.")
(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 @@ methylation and segmentation.")
"/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 @@ based methods.")
(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 @@ based methods.")
"/pigx-" version ".tar.gz"))
(sha256
(base32
"0sb708sl42h3s5z872jb1w70bbqplwapnsc1wm27zcsvi7li4gw8"))))
"1i5njdy1clj5ncw45d16p7mwmqvb1ilikl9n797pxklc3f4s7mq7"))))
(build-system gnu-build-system)
(inputs
`(("python" ,python)
@ -13296,3 +13248,32 @@ cases include:
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-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 @@
version ".tar.gz"))
(sha256
(base32
"0qf46bfxv4w7qx7d73qq26pp72cvbyfjvna3hxn208vynvapalh0"))))
"021a7c1lq4aqx7dbwhlm5km6w039hapfzp5hf6wb5bfq79s25g38"))))
(build-system gnu-build-system)
(arguments
'(#:phases

View File

@ -1649,7 +1649,7 @@ or junctions, and always follows hard links.")
(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 @@ or junctions, and always follows hard links.")
(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 @@ available in a vignette.")
(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 @@ created using basic graphics.")
(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 @@ created using basic graphics.")
("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 @@ Python's @url{https://github.com/ActiveState/appdirs,Appdirs} to R.")
(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 @@ functionality is added so that HDF5 objects behave very similar to their
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 @@ corresponding R counterparts.")
"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 @@ utility as a demonstration of the @code{scrypt} key derivation function.
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 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
(define-public grammalecte
(package
(name "grammalecte")
(version "0.6.4")
(version "0.6.5")
(source
(origin
(method url-fetch/zipbomb)
@ -219,7 +219,7 @@ It comes with a German-English dictionary with approximately 270,000 entries.")
"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 @@ tables, and it understands a variety of different formats.")
(define-public gptfdisk
(package
(name "gptfdisk")
(version "1.0.3")
(version "1.0.4")
(source
(origin
(method url-fetch)
@ -146,7 +146,7 @@ tables, and it understands a variety of different formats.")
version "/" name "-" version ".tar.gz"))
(sha256
(base32
"0p0vr67lnqdsgdv2y144xmjqa1a2nijrrd3clc8dc2f46pn5mzc9"))))
"13d7gff4prl1nsdknjigmb7bbqhn79165n01v4y9mwbnd0d3jqxn"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)

View File

@ -1167,14 +1167,14 @@ rather than the contents of files.")
(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 @@ display and behaviour is easily customisable.")
(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 @@ started with 20 minutes. All values are customizable.")
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,20 +5475,18 @@ 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))
(version "1.10.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-helm/helm-system-packages")
(commit commit)))
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1wrsx1j86c9a74nsdndjv21slzl46idd3p6wqy5wnasawj0kfn8r"))))
"0y5wzvfycb1bvgdk782xyl744fih43vz14wmq6gcqjarw6xfniz5"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-helm" ,emacs-helm)))
@ -5478,7 +5498,7 @@ 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,26 +5791,25 @@ abbreviation of the mode line displays (lighters) of minor modes.")
(license license:gpl2+)))
(define-public emacs-use-package
(let ((commit "da8c9e2840343906e732f9699e43d35a1f06481d")
(revision "1"))
(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"))
(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
"0x4h136jb3imyli6zsh7dyzjrra6pv0v6b0yk94jdng3rdfcmsf5"))))
"0jz38pbq1p9h85i6qcsh3sfzkd103y6mw3rg5zd14dxigp8ir3xz"))))
(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
`(#:tests? #t
#:test-command '("emacs" "--batch"
"-l" "use-package-tests.el"
"-f" "ert-run-tests-batch-and-exit")))
@ -5799,7 +5818,7 @@ abbreviation of the mode line displays (lighters) of minor modes.")
(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 @@ To use, add @code{allow-emacs-pinentry} to @code{~/.gnupg/gpg-agent.conf},
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 @@
;; 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 @@
(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 @@
(("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 @@
("mesa" ,mesa)
("miniupnpc" ,miniupnpc)
("openal" ,openal)
("pugixml" ,pugixml)
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
("sdl2" ,sdl2)
@ -227,7 +222,6 @@
("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 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(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 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
version ".tar.gz"))
(sha256
(base32
"16f47pd6f0ddsdxdrp327nr9v05gl8c24d0qypq2aqx5hdjmkp7f"))))
"1azb7v1y3l6j329r9gg7f4zlg0wz8nh4s4i5i0l9s4yh9r6i9zmv"))))
(build-system cmake-build-system)
(arguments
`(#:out-of-source? #t
@ -717,11 +717,11 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(modify-phases %standard-phases
(add-after 'install 'install-footprints ; from footprints tarball
(lambda* (#:key inputs outputs #:allow-other-keys)
(zero? (system* "tar" "xvf"
(invoke "tar" "xvf"
(assoc-ref inputs "kicad-footprints")
"-C" (string-append (assoc-ref outputs "out")
"/share/kicad/modules")
"--strip-components=1"))))
"--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 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
(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 @@ electrical diagrams), gerbview (viewing Gerber files) and others.")
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 @@
#: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 @@ line client and a client based on Qt.")
(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 @@ line client and a client based on Qt.")
,(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 @@ line client and a client based on Qt.")
(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 @@ line client and a client based on Qt.")
(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 @@ line client and a client based on Qt.")
(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 @@ line client and a client based on Qt.")
`(("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 @@ do so.")
(define-public electrum
(package
(name "electrum")
(version "3.0.5")
(version "3.2.2")
(source
(origin
(method url-fetch)
@ -283,7 +291,7 @@ do so.")
version ".tar.gz"))
(sha256
(base32
"06z0a5p1jg93jialphslip8d72q9yg3651qqaf494gs3h9kw1sv1"))
"1fxaxlf5vm2zydj678ls3pazyriym188iwzk60kyk26cz2p3xk39"))
(modules '((guix build utils)))
(snippet
'(begin
@ -752,3 +760,107 @@ Luhn and family of ISO/IEC 7064 check digit algorithms. ")
(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 @@ smooth contours with constant curvature at the spline joins.")
(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 @@ Includes the actual FTDI connector.")
(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 @@ Includes the actual FTDI connector.")
(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 @@ multiplexer to the KMS/DRM Linux kernel devices.")
(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 @@ multiplexer to the KMS/DRM Linux kernel devices.")
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 @@ multiplexer to the KMS/DRM Linux kernel devices.")
(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 @@ and others features such as bookmarks, drag and drop, filename filters,
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 @@ provide connectivity for client applications written in any language.")
(define-public nml
(package
(name "nml")
(version "0.4.4")
(version "0.4.5")
(source
(origin
(method url-fetch)
@ -273,12 +273,12 @@ provide connectivity for client applications written in any language.")
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 @@
#: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 @@ To that extent, it also includes a front-end for managing all of your D-Mods.")
"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 @@ Transport Tycoon Deluxe.")
(define-public openrct2
(package
(name "openrct2")
(version "0.1.1")
(version "0.2.0")
(source
(origin
(method url-fetch)
@ -2307,11 +2330,12 @@ Transport Tycoon Deluxe.")
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 @@ Transport Tycoon Deluxe.")
(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 @@ Transport Tycoon Deluxe.")
("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 @@ programmers may also add their own favorite language.")
(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 @@ settings.link.libs:Add(\"wavpack\")\n"))
("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 @@ some graphical niceities, and numerous bug-fixes and other improvements.")
#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-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 @@
"/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 @@ provided, as well as a framework to add new color models and data types.")
(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 @@ provided, as well as a framework to add new color models and data types.")
"/" name "-" version ".tar.bz2")))
(sha256
(base32
"13bzl0k5l12pk8bkcq4ar7wscbnw7jswhp34mwfsrf10kp0qndba"))))
"143qwn92xc5wm09p9iwrpw9y0ahha5lcyx1bb0lzwcb1fgd4bjzq"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("LDFLAGS=-lm")))
@ -117,7 +117,7 @@ buffers.")
(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 @@ buffers.")
"/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 @@ presentations, kiosk style applications and so on.")
(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 @@ presentations, kiosk style applications and so on.")
name "-" version ".tar.xz"))
(sha256
(base32
"153bl9256yjnfcplp7jmgf7lm2zb790zkayjclzsv42l6a3d89ys"))))
"01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -3639,7 +3639,7 @@ for application developers.")
(define-public totem
(package
(name "totem")
(version "3.26.0")
(version "3.26.1")
(source
(origin
(method url-fetch)
@ -3648,7 +3648,7 @@ for application developers.")
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 @@ finding resources located relative to the executable file.")
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 @@
#: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 @@
#: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 @@ interfaces for other technical domains.")
(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 @@ without requiring the source code to be rewritten.")
(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,18 +2048,17 @@ is not available for Guile 2.0.")
(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)))
(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 commit)))
(uri (git-reference (url home-page)
(commit (string-append "v" version))))
(sha256
(base32
"0z1dvn0scx59pbgjkpacam7p5n7630z4qm8fazim7ixq9xv3s8wx"))
"1z3awa3i5il08dl2swbnli2j7cawdpray11zx4844j27bxqddcs2"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
@ -2062,7 +2075,7 @@ is not available for Guile 2.0.")
(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 @@
;; 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 @@ machine.")))
(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 @@ machine.")))
(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 @@ bootstrapping purposes.")
,(drop "langtools"
"0nq5236fzxn3p6x8cgncl56mzcmsj07q9gymysnws4c8byc6n0qj"))
("hotspot-drop"
,(drop "hotspot"
,(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 @@ new Date();"))
,(drop "langtools"
"15wizy123vhk40chl1b4p552jf2pw2hdww0myf11qab425axz4nw"))
("hotspot-drop"
,(drop "hotspot"
,(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 @@ and decryption.")
(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 @@ The jMock library
(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 @@ It has been modified to remove all non-free binary blobs.")
;; 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 @@ It has been modified to remove all non-free binary blobs.")
%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 @@ It has been modified to remove all non-free binary blobs.")
#: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 @@ programming languages.")
(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 @@ replacement with improvements.")
(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 @@ gets and puts artifacts through HTTP(S) using Apache HttpClient-4.x.")))
(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 @@ process.")))
(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 @@ logging support.")))
(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 @@ layer for plugins that need to keep Maven2 compatibility.")))
`(#:phases
(modify-phases %standard-phases
(replace 'build
(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 @@ instant messenger with audio and video chat capabilities.")
(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 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(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 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(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 @@
#: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 @@
#: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 @@ functions required to initialize the device, create the command queues, the
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 @@
;; 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 @@
(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 @@ through the Engine interface.")
"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 @@ been constructed to maintain extensive documentation on how to use
@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 @@ Let's Encrypt.")
(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-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 @@
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 @@ and Cython.")
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 @@ everything from small to very large projects with speed and efficiency.")
(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 @@ everything from small to very large projects with speed and efficiency.")
(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 @@ audio/video codec library.")
(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 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.")
("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 @@ interpretation of the specifications for these languages.")
;; 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 @@ interpretation of the specifications for these languages.")
"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 @@ interpretation of the specifications for these languages.")
("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 @@ and the ICD.")
(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 @@ shader compilation.")
("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 @@ NetSurf project.")
" 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 @@ treat it as part of their software base when porting.")
(define-public libxscrnsaver
(package
(name "libxscrnsaver")
(version "1.2.2")
(version "1.2.3")
(source
(origin
(method url-fetch)
@ -1476,7 +1477,7 @@ treat it as part of their software base when porting.")
".tar.bz2"))
(sha256
(base32
"07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg"))))
"1y4vx1vabg7j9hamp0vrfrax5b0lmgm3h0lbgbb3hnkv3dd0f5zr"))))
(build-system gnu-build-system)
(inputs
`(("libxext" ,libxext)
@ -6135,3 +6136,67 @@ and embedded platforms.")
(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 @@ the tty to run, among other things."
(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 @@ then
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 @@ initialization step, such as entering a LUKS passphrase."
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 @@
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 @@ mounted at 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 @@ include VERSION."
(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 @@ MANIFEST."
(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 @@ MANIFEST."
(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
(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* (string-append #+texinfo "/bin/install-info") "--silent"
info (string-append #$output "/share/info/dir"))))
(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 @@ Build and manipulate Linux containers.\n"))
((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 @@ Run IMPORTER with ARGS.\n"))
((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 @@ Create a bundle of PACKAGE.\n"))
(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 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 @@ default value."
(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 @@ REFERENCES as its set of references."
;; 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 @@ REFERENCES as its set of references."
"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 @@ Report the availability of substitutes.\n"))
(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 @@ DOMAIN, a gettext domain."
(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 @@ load path."
;; 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 @@ assumed to be part of MODULES."
(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 @@ running Guile."
(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 @@
references
references/substitutes
references*
query-path-info*
requisites
referrers
optimize-store
@ -1398,6 +1399,15 @@ where FILE is the entry's absolute file name and STAT is the result of
(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 @@ it's a directory. While at it, canonicalize file permissions."
(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 @@ LINK-PREFIX."
(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."
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 ()
exp ...)
(rename-file temp-link to-replace))
(lambda args
(if (member (system-error-errno args) (list errors ...))
#f
(apply throw 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 @@ under STORE."
#: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 @@ under STORE."
(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 @@
leave-on-EPIPE
read/eval
read/eval-package-expression
check-available-space
location->string
fill-paragraph
%text-width
@ -519,6 +521,9 @@ 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 @@ error."
(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 @@ and signal handling has already been set up."
(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 @@ be determined."
(line location-line) ; 1-indexed line
(column location-column)) ; 0-indexed column
(define location
(mlambda (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))))
(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."
;; 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)))
;; 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)))
(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 @@
(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 @@
(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 ()