Merge branch 'master' into core-updates

This commit is contained in:
Marius Bakke 2017-08-21 02:40:37 +02:00
commit 2718a9cd09
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA
77 changed files with 3646 additions and 835 deletions

10
HACKING
View file

@ -5,6 +5,7 @@
Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org> Copyright © 2012, 2013, 2014, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
Copyright © 2015, 2017 Mathieu Lirzin <mthl@gnu.org> Copyright © 2015, 2017 Mathieu Lirzin <mthl@gnu.org>
Copyright © 2017 Leo Famulari <leo@famulari.name> Copyright © 2017 Leo Famulari <leo@famulari.name>
Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
Copying and distribution of this file, with or without modification, Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright are permitted in any medium without royalty provided the copyright
@ -61,3 +62,12 @@ after two weeks, and if youre confident, its OK to commit.
That last part is subject to being adjusted, allowing individuals to commit That last part is subject to being adjusted, allowing individuals to commit
directly on non-controversial changes on parts theyre familiar with. directly on non-controversial changes on parts theyre familiar with.
* Using emacs-debbugs
Bug reports and patches are tracked using debbugs. If you are on emacs, you
can use emacs-debbugs.
List all open bug reports on guix-patches with
C-u M-x debbugs-gnu <RET> <RET> guix-patches <RET> n y

View file

@ -577,7 +577,7 @@ GUIXSD_SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux
GUIXSD_VM_SYSTEMS ?= x86_64-linux GUIXSD_VM_SYSTEMS ?= x86_64-linux
# Prefix of the GuixSD installation image file name. # Prefix of the GuixSD installation image file name.
GUIXSD_IMAGE_BASE = guixsd-usb-install-$(PACKAGE_VERSION) GUIXSD_IMAGE_BASE = guixsd-install-$(PACKAGE_VERSION)
# Prefix of the GuixSD VM image file name. # Prefix of the GuixSD VM image file name.
GUIXSD_VM_IMAGE_BASE = guixsd-vm-image-$(PACKAGE_VERSION) GUIXSD_VM_IMAGE_BASE = guixsd-vm-image-$(PACKAGE_VERSION)
@ -628,6 +628,7 @@ release: dist
for system in $(GUIXSD_SUPPORTED_SYSTEMS) ; do \ for system in $(GUIXSD_SUPPORTED_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \ image=`$(top_builddir)/pre-inst-env \
guix system disk-image \ guix system disk-image \
--file-system-type=iso9660 \
--system=$$system \ --system=$$system \
gnu/system/install.scm` ; \ gnu/system/install.scm` ; \
if [ ! -f "$$image" ] ; then \ if [ ! -f "$$image" ] ; then \

View file

@ -216,7 +216,7 @@ Services
* X Window:: Graphical display. * X Window:: Graphical display.
* Printing Services:: Local and remote printer support. * Printing Services:: Local and remote printer support.
* Desktop Services:: D-Bus and desktop services. * Desktop Services:: D-Bus and desktop services.
* Database Services:: SQL databases. * Database Services:: SQL databases, key-value stores, etc.
* Mail Services:: IMAP, POP3, SMTP, and all that. * Mail Services:: IMAP, POP3, SMTP, and all that.
* Messaging Services:: Messaging services. * Messaging Services:: Messaging services.
* Monitoring Services:: Monitoring services. * Monitoring Services:: Monitoring services.
@ -2630,7 +2630,7 @@ configuration triplets,, autoconf, Autoconf}).
@item --compression=@var{tool} @item --compression=@var{tool}
@itemx -C @var{tool} @itemx -C @var{tool}
Compress the resulting tarball using @var{tool}---one of @code{gzip}, Compress the resulting tarball using @var{tool}---one of @code{gzip},
@code{bzip2}, @code{xz}, or @code{lzip}. @code{bzip2}, @code{xz}, @code{lzip}, or @code{none} for no compression.
@item --symlink=@var{spec} @item --symlink=@var{spec}
@itemx -S @var{spec} @itemx -S @var{spec}
@ -7465,6 +7465,7 @@ available.
* Limitations:: What you can expect. * Limitations:: What you can expect.
* Hardware Considerations:: Supported hardware. * Hardware Considerations:: Supported hardware.
* USB Stick Installation:: Preparing the installation medium. * USB Stick Installation:: Preparing the installation medium.
* DVD Installation:: Preparing the installation medium.
* Preparing for Installation:: Networking, partitioning, etc. * Preparing for Installation:: Networking, partitioning, etc.
* Proceeding with the Installation:: The real thing. * Proceeding with the Installation:: The real thing.
* Installing GuixSD in a VM:: GuixSD playground. * Installing GuixSD in a VM:: GuixSD playground.
@ -7554,7 +7555,7 @@ about their support in GNU/Linux.
@subsection USB Stick Installation @subsection USB Stick Installation
An installation image for USB sticks can be downloaded from An installation image for USB sticks can be downloaded from
@indicateurl{ftp://alpha.gnu.org/gnu/guix/guixsd-usb-install-@value{VERSION}.@var{system}.xz}, @indicateurl{ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.xz},
where @var{system} is one of: where @var{system} is one of:
@table @code @table @code
@ -7570,8 +7571,8 @@ Make sure to download the associated @file{.sig} file and to verify the
authenticity of the image against it, along these lines: authenticity of the image against it, along these lines:
@example @example
$ wget ftp://alpha.gnu.org/gnu/guix/guixsd-usb-install-@value{VERSION}.@var{system}.xz.sig $ wget ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.xz.sig
$ gpg --verify guixsd-usb-install-@value{VERSION}.@var{system}.xz.sig $ gpg --verify guixsd-install-@value{VERSION}.@var{system}.xz.sig
@end example @end example
If that command fails because you do not have the required public key, If that command fails because you do not have the required public key,
@ -7585,9 +7586,8 @@ $ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
and rerun the @code{gpg --verify} command. and rerun the @code{gpg --verify} command.
@c end duplication @c end duplication
This image contains a single partition with the tools necessary for an This image contains the tools necessary for an installation.
installation. It is meant to be copied @emph{as is} to a large-enough It is meant to be copied @emph{as is} to a large-enough USB stick or DVD.
USB stick.
To copy the image to a USB stick, follow these steps: To copy the image to a USB stick, follow these steps:
@ -7596,7 +7596,7 @@ To copy the image to a USB stick, follow these steps:
Decompress the image using the @command{xz} command: Decompress the image using the @command{xz} command:
@example @example
xz -d guixsd-usb-install-@value{VERSION}.@var{system}.xz xz -d guixsd-install-@value{VERSION}.@var{system}.xz
@end example @end example
@item @item
@ -7605,7 +7605,7 @@ its device name. Assuming that the USB stick is known as @file{/dev/sdX},
copy the image with: copy the image with:
@example @example
dd if=guixsd-usb-install-@value{VERSION}.x86_64 of=/dev/sdX dd if=guixsd-install-@value{VERSION}.x86_64 of=/dev/sdX
sync sync
@end example @end example
@ -7619,12 +7619,79 @@ UEFI boot menu, where you can choose to boot from the USB stick.
@xref{Installing GuixSD in a VM}, if, instead, you would like to install @xref{Installing GuixSD in a VM}, if, instead, you would like to install
GuixSD in a virtual machine (VM). GuixSD in a virtual machine (VM).
@node DVD Installation
@subsection DVD Installation
An installation image for DVDs can be downloaded from
@indicateurl{ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.xz},
where @var{system} is one of:
@table @code
@item x86_64-linux
for a GNU/Linux system on Intel/AMD-compatible 64-bit CPUs;
@item i686-linux
for a 32-bit GNU/Linux system on Intel-compatible CPUs.
@end table
@c start duplication of authentication part from ``Binary Installation''
Make sure to download the associated @file{.sig} file and to verify the
authenticity of the image against it, along these lines:
@example
$ wget ftp://alpha.gnu.org/gnu/guix/guixsd-install-@value{VERSION}.@var{system}.xz.sig
$ gpg --verify guixsd-install-@value{VERSION}.@var{system}.xz.sig
@end example
If that command fails because you do not have the required public key,
then run this command to import it:
@example
$ gpg --keyserver pgp.mit.edu --recv-keys @value{OPENPGP-SIGNING-KEY-ID}
@end example
@noindent
and rerun the @code{gpg --verify} command.
@c end duplication
This image contains the tools necessary for an installation.
It is meant to be copied @emph{as is} to a large-enough USB stick or DVD.
To copy the image to a DVD, follow these steps:
@enumerate
@item
Decompress the image using the @command{xz} command:
@example
xz -d guixsd-install-@value{VERSION}.@var{system}.xz
@end example
@item
Insert a blank DVD into your machine, and determine
its device name. Assuming that the DVD drive is known as @file{/dev/srX},
copy the image with:
@example
growisofs -dvd-compat -Z /dev/srX=guixsd-install-@value{VERSION}.x86_64
@end example
Access to @file{/dev/srX} usually requires root privileges.
@end enumerate
Once this is done, you should be able to reboot the system and boot from
the DVD. The latter usually requires you to get in the BIOS or
UEFI boot menu, where you can choose to boot from the DVD.
@xref{Installing GuixSD in a VM}, if, instead, you would like to install
GuixSD in a virtual machine (VM).
@node Preparing for Installation @node Preparing for Installation
@subsection Preparing for Installation @subsection Preparing for Installation
Once you have successfully booted the image on the USB stick, you should Once you have successfully booted your computer using the installation medium,
end up with a root prompt. Several console TTYs are configured and can you should end up with a root prompt. Several console TTYs are configured
be used to run commands as root. TTY2 shows this documentation, and can be used to run commands as root. TTY2 shows this documentation,
browsable using the Info reader commands (@pxref{Top,,, info-stnd, browsable using the Info reader commands (@pxref{Top,,, info-stnd,
Stand-alone GNU Info}). The installation system runs the GPM mouse Stand-alone GNU Info}). The installation system runs the GPM mouse
daemon, which allows you to select text with the left mouse button and daemon, which allows you to select text with the left mouse button and
@ -7979,7 +8046,7 @@ Boot the USB installation image in an VM:
@example @example
qemu-system-x86_64 -m 1024 -smp 1 \ qemu-system-x86_64 -m 1024 -smp 1 \
-net user -net nic,model=virtio -boot menu=on \ -net user -net nic,model=virtio -boot menu=on \
-drive file=guixsd-usb-install-@value{VERSION}.@var{system} \ -drive file=guixsd-install-@value{VERSION}.@var{system} \
-drive file=guixsd.img -drive file=guixsd.img
@end example @end example

View file

@ -389,7 +389,20 @@ (define install-grub
(unless (zero? (system* grub "--no-floppy" (unless (zero? (system* grub "--no-floppy"
"--boot-directory" install-dir "--boot-directory" install-dir
device)) device))
(error "failed to install GRUB"))))) (error "failed to install GRUB (BIOS)")))))
(define install-grub-efi
#~(lambda (bootloader efi-dir mount-point)
;; Install GRUB onto the EFI partition mounted at EFI-DIR, for the
;; system whose root is mounted at MOUNT-POINT.
(let ((grub-install (string-append bootloader "/sbin/grub-install"))
(install-dir (string-append mount-point "/boot")))
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
;; root partition.
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
(unless (zero? (system* grub-install "--boot-directory" install-dir
"--efi-directory" efi-dir))
(error "failed to install GRUB (EFI)")))))
@ -408,6 +421,7 @@ (define grub-bootloader
(define* grub-efi-bootloader (define* grub-efi-bootloader
(bootloader (bootloader
(inherit grub-bootloader) (inherit grub-bootloader)
(installer install-grub-efi)
(name 'grub-efi) (name 'grub-efi)
(package grub-efi))) (package grub-efi)))

View file

@ -196,6 +196,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gv.scm \ %D%/packages/gv.scm \
%D%/packages/gxmessage.scm \ %D%/packages/gxmessage.scm \
%D%/packages/haskell.scm \ %D%/packages/haskell.scm \
%D%/packages/ham-radio.scm \
%D%/packages/hexedit.scm \ %D%/packages/hexedit.scm \
%D%/packages/hugs.scm \ %D%/packages/hugs.scm \
%D%/packages/hurd.scm \ %D%/packages/hurd.scm \
@ -527,6 +528,7 @@ dist_patch_DATA = \
%D%/packages/patches/awesome-reproducible-png.patch \ %D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/azr3.patch \ %D%/packages/patches/azr3.patch \
%D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bcftools-regidx-unsigned-char.patch \
%D%/packages/patches/binutils-ld-new-dtags.patch \ %D%/packages/patches/binutils-ld-new-dtags.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blast+-fix-makefile.patch \ %D%/packages/patches/blast+-fix-makefile.patch \
@ -670,6 +672,9 @@ dist_patch_DATA = \
%D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \ %D%/packages/patches/gobject-introspection-absolute-shlib-path.patch \
%D%/packages/patches/gobject-introspection-cc.patch \ %D%/packages/patches/gobject-introspection-cc.patch \
%D%/packages/patches/gobject-introspection-girepository.patch \ %D%/packages/patches/gobject-introspection-girepository.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-12935.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-12936.patch \
%D%/packages/patches/graphicsmagick-CVE-2017-12937.patch \
%D%/packages/patches/graphite2-ffloat-store.patch \ %D%/packages/patches/graphite2-ffloat-store.patch \
%D%/packages/patches/grep-gnulib-lock.patch \ %D%/packages/patches/grep-gnulib-lock.patch \
%D%/packages/patches/grep-timing-sensitive-test.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \
@ -822,7 +827,6 @@ dist_patch_DATA = \
%D%/packages/patches/lvm2-static-link.patch \ %D%/packages/patches/lvm2-static-link.patch \
%D%/packages/patches/lxsession-use-gapplication.patch \ %D%/packages/patches/lxsession-use-gapplication.patch \
%D%/packages/patches/lxterminal-CVE-2016-10369.patch \ %D%/packages/patches/lxterminal-CVE-2016-10369.patch \
%D%/packages/patches/lz4-fix-test-failures.patch \
%D%/packages/patches/make-impure-dirs.patch \ %D%/packages/patches/make-impure-dirs.patch \
%D%/packages/patches/mars-install.patch \ %D%/packages/patches/mars-install.patch \
%D%/packages/patches/mars-sfml-2.3.patch \ %D%/packages/patches/mars-sfml-2.3.patch \
@ -859,6 +863,7 @@ dist_patch_DATA = \
%D%/packages/patches/netsurf-system-utf8proc.patch \ %D%/packages/patches/netsurf-system-utf8proc.patch \
%D%/packages/patches/netsurf-y2038-tests.patch \ %D%/packages/patches/netsurf-y2038-tests.patch \
%D%/packages/patches/netsurf-longer-test-timeout.patch \ %D%/packages/patches/netsurf-longer-test-timeout.patch \
%D%/packages/patches/newsbeuter-CVE-2017-12904.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \ %D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/ninja-zero-mtime.patch \ %D%/packages/patches/ninja-zero-mtime.patch \
%D%/packages/patches/node-9077.patch \ %D%/packages/patches/node-9077.patch \
@ -953,7 +958,6 @@ dist_patch_DATA = \
%D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ %D%/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \
%D%/packages/patches/python-statsmodels-fix-tests.patch \ %D%/packages/patches/python-statsmodels-fix-tests.patch \
%D%/packages/patches/python-configobj-setuptools.patch \ %D%/packages/patches/python-configobj-setuptools.patch \
%D%/packages/patches/python-cython-fix-tests-32bit.patch \
%D%/packages/patches/python-faker-fix-build-32bit.patch \ %D%/packages/patches/python-faker-fix-build-32bit.patch \
%D%/packages/patches/python-pandas-skip-failing-tests.patch \ %D%/packages/patches/python-pandas-skip-failing-tests.patch \
%D%/packages/patches/python-paste-remove-website-test.patch \ %D%/packages/patches/python-paste-remove-website-test.patch \
@ -990,7 +994,6 @@ dist_patch_DATA = \
%D%/packages/patches/reptyr-fix-gcc-7.patch \ %D%/packages/patches/reptyr-fix-gcc-7.patch \
%D%/packages/patches/ripperx-missing-file.patch \ %D%/packages/patches/ripperx-missing-file.patch \
%D%/packages/patches/rpcbind-CVE-2017-8779.patch \ %D%/packages/patches/rpcbind-CVE-2017-8779.patch \
%D%/packages/patches/rpm-CVE-2014-8118.patch \
%D%/packages/patches/rsem-makefile.patch \ %D%/packages/patches/rsem-makefile.patch \
%D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \ %D%/packages/patches/ruby-concurrent-ignore-broken-test.patch \
%D%/packages/patches/ruby-concurrent-test-arm.patch \ %D%/packages/patches/ruby-concurrent-test-arm.patch \
@ -1060,6 +1063,8 @@ dist_patch_DATA = \
%D%/packages/patches/util-linux-tests.patch \ %D%/packages/patches/util-linux-tests.patch \
%D%/packages/patches/upower-builddir.patch \ %D%/packages/patches/upower-builddir.patch \
%D%/packages/patches/valgrind-enable-arm.patch \ %D%/packages/patches/valgrind-enable-arm.patch \
%D%/packages/patches/vinagre-revert-1.patch \
%D%/packages/patches/vinagre-revert-2.patch \
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \ %D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \ %D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \ %D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
@ -1091,6 +1096,7 @@ dist_patch_DATA = \
%D%/packages/patches/xf86-video-geode-glibc-2.20.patch \ %D%/packages/patches/xf86-video-geode-glibc-2.20.patch \
%D%/packages/patches/xf86-video-i128-remove-mibstore.patch \ %D%/packages/patches/xf86-video-i128-remove-mibstore.patch \
%D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \ %D%/packages/patches/xf86-video-mach64-glibc-2.20.patch \
%D%/packages/patches/xf86-video-siliconmotion-fix-ftbfs.patch \
%D%/packages/patches/xf86-video-tga-remove-mibstore.patch \ %D%/packages/patches/xf86-video-tga-remove-mibstore.patch \
%D%/packages/patches/xfce4-panel-plugins.patch \ %D%/packages/patches/xfce4-panel-plugins.patch \
%D%/packages/patches/xfce4-session-fix-xflock4.patch \ %D%/packages/patches/xfce4-session-fix-xflock4.patch \

View file

@ -1793,14 +1793,14 @@ (define-public di
(define-public cbatticon (define-public cbatticon
(package (package
(name "cbatticon") (name "cbatticon")
(version "1.6.5") (version "1.6.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/valr/" (uri (string-append "https://github.com/valr/"
name "/archive/" version ".tar.gz")) name "/archive/" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0xzz1faqgm57bwlkw6sjdfbckf5hck81879zbfk18p7xn9vhvixv")) "1rxlrwd817f2zl4fsc5ha43wjzfidq3yyagq4lgyi150qg36svv3"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments

View file

@ -207,7 +207,7 @@ (define-public gp2c
(define-public giac-xcas (define-public giac-xcas
(package (package
(name "giac-xcas") (name "giac-xcas")
(version "1.2.3-51") (version "1.2.3-57")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly ;; "~parisse/giac" is not used because the maintainer regularly
@ -219,7 +219,7 @@ (define-public giac-xcas
"source/giac_" version ".tar.gz")) "source/giac_" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1w7d4sdjbvqiibnfkhrqy9np3smsysilfba9pry3q1qn5g5y6nrp")))) "0a7c1r2rgsin671qy98yvwgkg6a81d0pp0p4p7sydhrfi1k9xpr1"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View file

@ -311,6 +311,7 @@ (define-public bcftools
(sha256 (sha256
(base32 (base32
"0093hkkvxmbwfaa7905s6185jymynvg42kq6sxv7fili11l5mxwz")) "0093hkkvxmbwfaa7905s6185jymynvg42kq6sxv7fili11l5mxwz"))
(patches (search-patches "bcftools-regidx-unsigned-char.patch"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
;; Delete bundled htslib. ;; Delete bundled htslib.
@ -2114,7 +2115,7 @@ (define-public deeptools
(define-public diamond (define-public diamond
(package (package
(name "diamond") (name "diamond")
(version "0.9.9") (version "0.9.10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -2123,7 +2124,7 @@ (define-public diamond
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"04i03046g3l2vk9722z47r1p7j415g97vvz6d76ywmbawyiihcb1")))) "13qqzwg54n5dqh8pm5n3v8x6gqbczzakphwwjix63qv60hcd5bqd"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:tests? #f ; no "check" target '(#:tests? #f ; no "check" target
@ -8315,6 +8316,30 @@ (define-public r-rhdf5
the available RAM.") the available RAM.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-annotationfilter
(package
(name "r-annotationfilter")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "AnnotationFilter" version))
(sha256
(base32
"0pxvswjzwibdfmrkdragxmzcl844z73pmkn82z92wahwa6gjfyi7"))))
(properties
`((upstream-name . "AnnotationFilter")))
(build-system r-build-system)
(propagated-inputs
`(("r-genomicranges" ,r-genomicranges)
("r-lazyeval" ,r-lazyeval)))
(home-page "https://github.com/Bioconductor/AnnotationFilter")
(synopsis "Facilities for filtering Bioconductor annotation resources")
(description
"This package provides classes and other infrastructure to implement
filters for manipulating Bioconductor annotation resources. The filters are
used by @code{ensembldb}, @code{Organism.dplyr}, and other packages.")
(license license:artistic2.0)))
(define-public emboss (define-public emboss
(package (package
(name "emboss") (name "emboss")
@ -8672,6 +8697,52 @@ (define-public r-copywriter
number detection tools.") number detection tools.")
(license license:gpl2))) (license license:gpl2)))
(define-public r-methylkit
(package
(name "r-methylkit")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "methylKit" version))
(sha256
(base32
"02acdjf6jl0c1glymin84pdna4farn4vv0gb6107d9iqz3y3gkmm"))))
(properties `((upstream-name . "methylKit")))
(build-system r-build-system)
(propagated-inputs
`(("r-data-table" ,r-data-table)
("r-emdbook" ,r-emdbook)
("r-fastseg" ,r-fastseg)
("r-genomeinfodb" ,r-genomeinfodb)
("r-genomicranges" ,r-genomicranges)
("r-gtools" ,r-gtools)
("r-iranges" ,r-iranges)
("r-kernsmooth" ,r-kernsmooth)
("r-limma" ,r-limma)
("r-mclust" ,r-mclust)
("r-qvalue" ,r-qvalue)
("r-r-utils" ,r-r-utils)
("r-rcpp" ,r-rcpp)
("r-rhtslib" ,r-rhtslib)
("r-rsamtools" ,r-rsamtools)
("r-rtracklayer" ,r-rtracklayer)
("r-s4vectors" ,r-s4vectors)
("r-zlibbioc" ,r-zlibbioc)))
(inputs
`(("zlib" ,zlib)))
(home-page "http://code.google.com/p/methylkit/")
(synopsis
"DNA methylation analysis from high-throughput bisulfite sequencing results")
(description
"MethylKit is an R package for DNA methylation analysis and annotation
from high-throughput bisulfite sequencing. The package is designed to deal
with sequencing data from @dfn{Reduced representation bisulfite
sequencing} (RRBS) and its variants, but also target-capture methods and whole
genome bisulfite sequencing. It also has functions to analyze base-pair
resolution 5hmC data from experimental protocols such as oxBS-Seq and
TAB-Seq.")
(license license:artistic2.0)))
(define-public r-sva (define-public r-sva
(package (package
(name "r-sva") (name "r-sva")
@ -8816,7 +8887,8 @@ (define-public r-mzr
(properties `((upstream-name . "mzR"))) (properties `((upstream-name . "mzR")))
(build-system r-build-system) (build-system r-build-system)
(inputs (inputs
`(("netcdf" ,netcdf))) `(("boost" ,boost)
("netcdf" ,netcdf)))
(propagated-inputs (propagated-inputs
`(("r-biobase" ,r-biobase) `(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics) ("r-biocgenerics" ,r-biocgenerics)
@ -9234,6 +9306,123 @@ (define-public r-edaseq
global-scaling and full-quantile normalization.") global-scaling and full-quantile normalization.")
(license license:artistic2.0))) (license license:artistic2.0)))
(define-public r-interactivedisplaybase
(package
(name "r-interactivedisplaybase")
(version "1.14.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "interactiveDisplayBase" version))
(sha256
(base32
"12f6ap4bl3h2iwwhg8i3r9a7yyd28d8i5lb3fj1vnfvjs762r7r7"))))
(properties
`((upstream-name . "interactiveDisplayBase")))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
("r-shiny" ,r-shiny)))
(home-page "http://bioconductor.org/packages/interactiveDisplayBase")
(synopsis "Base package for web displays of Bioconductor objects")
(description
"This package contains the basic methods needed to generate interactive
Shiny-based display methods for Bioconductor objects.")
(license license:artistic2.0)))
(define-public r-annotationhub
(package
(name "r-annotationhub")
(version "2.8.2")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "AnnotationHub" version))
(sha256
(base32
"1nh5si3j1nv37jcg4260582ayjg18851np47cskrm54prnvhwd9r"))))
(properties `((upstream-name . "AnnotationHub")))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
("r-biocgenerics" ,r-biocgenerics)
("r-biocinstaller" ,r-biocinstaller)
("r-httr" ,r-httr)
("r-interactivedisplaybase" ,r-interactivedisplaybase)
("r-rsqlite" ,r-rsqlite)
("r-s4vectors" ,r-s4vectors)
("r-yaml" ,r-yaml)))
(home-page "http://bioconductor.org/packages/AnnotationHub")
(synopsis "Client to access AnnotationHub resources")
(description
"This package provides a client for the Bioconductor AnnotationHub web
resource. The AnnotationHub web resource provides a central location where
genomic files (e.g. VCF, bed, wig) and other resources from standard
locations (e.g. UCSC, Ensembl) can be discovered. The resource includes
metadata about each resource, e.g., a textual description, tags, and date of
modification. The client creates and manages a local cache of files retrieved
by the user, helping with quick and reproducible access.")
(license license:artistic2.0)))
(define-public r-fastseg
(package
(name "r-fastseg")
(version "1.22.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "fastseg" version))
(sha256
(base32
"083wiz03q9mynwchs9frlpp6c84dncri5ncibx6h82p228cpja6h"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biobase" ,r-biobase)
("r-biocgenerics" ,r-biocgenerics)
("r-genomicranges" ,r-genomicranges)
("r-iranges" ,r-iranges)
("r-s4vectors" ,r-s4vectors)))
(home-page "http://www.bioinf.jku.at/software/fastseg/index.html")
(synopsis "Fast segmentation algorithm for genetic sequencing data")
(description
"Fastseg implements a very fast and efficient segmentation algorithm.
It can segment data from DNA microarrays and data from next generation
sequencing for example to detect copy number segments. Further it can segment
data from RNA microarrays like tiling arrays to identify transcripts. Most
generally, it can segment data given as a matrix or as a vector. Various data
formats can be used as input to fastseg like expression set objects for
microarrays or GRanges for sequencing data.")
(license license:lgpl2.0+)))
(define-public r-qvalue
(package
(name "r-qvalue")
(version "2.8.0")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "qvalue" version))
(sha256
(base32
"1dxdwa767a9r8n61r272ypi09qblcdfpzzwkmri74y5mbp1r3y4i"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-reshape2" ,r-reshape2)))
(home-page "http://github.com/jdstorey/qvalue")
(synopsis "Q-value estimation for false discovery rate control")
(description
"This package takes a list of p-values resulting from the simultaneous
testing of many hypotheses and estimates their q-values and local @dfn{false
discovery rate} (FDR) values. The q-value of a test measures the proportion
of false positives incurred when that particular test is called significant.
The local FDR measures the posterior probability the null hypothesis is true
given the test's p-value. Various plots are automatically generated, allowing
one to make sensible significance cut-offs. The software can be applied to
problems in genomics, brain imaging, astrophysics, and data mining.")
;; Any version of the LGPL.
(license license:lgpl3+)))
(define htslib-for-sambamba (define htslib-for-sambamba
(let ((commit "2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5")) (let ((commit "2f3c3ea7b301f9b45737a793c0b2dcf0240e5ee5"))
(package (package

View file

@ -3,6 +3,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org> ;;; Copyright © 2016, 2017 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -186,8 +187,8 @@ (define-public hydra
(license l:gpl3+)))) (license l:gpl3+))))
(define-public cuirass (define-public cuirass
(let ((commit "870e8d6ad3415ac61c52e57095fcc6164023a0fc") (let ((commit "6f85bc04f31ae5853ceaa0bb3e1dedfe8412a189")
(revision "6")) (revision "7"))
(package (package
(name "cuirass") (name "cuirass")
(version (string-append "0.0.1-" revision "." (string-take commit 7))) (version (string-append "0.0.1-" revision "." (string-take commit 7)))
@ -199,7 +200,7 @@ (define-public cuirass
(file-name (string-append name "-" version)) (file-name (string-append name "-" version))
(sha256 (sha256
(base32 (base32
"0lp5a5p42k7lml15lbmmd7az9i0gw5kips3sh3awd2z79h0w2knw")))) "1dglsa23z21m1s70420ar73qmg39fvdvwlz9xjz6lfp5s9mgzx15"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:modules ((guix build utils) '(#:modules ((guix build utils)
@ -223,7 +224,8 @@ (define-public cuirass
(let* ((out (assoc-ref outputs "out")) (let* ((out (assoc-ref outputs "out"))
(json (assoc-ref inputs "guile-json")) (json (assoc-ref inputs "guile-json"))
(sqlite (assoc-ref inputs "guile-sqlite3")) (sqlite (assoc-ref inputs "guile-sqlite3"))
(git (assoc-ref inputs "git")) (git (assoc-ref inputs "guile-git"))
(bytes (assoc-ref inputs "guile-bytestructures"))
(guix (assoc-ref inputs "guix")) (guix (assoc-ref inputs "guix"))
(guile (assoc-ref %build-inputs "guile")) (guile (assoc-ref %build-inputs "guile"))
(effective (read-line (effective (read-line
@ -231,16 +233,19 @@ (define-public cuirass
(string-append guile "/bin/guile") (string-append guile "/bin/guile")
"-c" "(display (effective-version))"))) "-c" "(display (effective-version))")))
(mods (string-append json "/share/guile/site/" (mods (string-append json "/share/guile/site/"
effective ":"
git "/share/guile/site/"
effective ":"
bytes "/share/guile/site/"
effective ":" effective ":"
sqlite "/share/guile/site/" sqlite "/share/guile/site/"
effective ":" effective ":"
guix "/share/guile/site/" guix "/share/guile/site/"
effective))) effective)))
;; Make sure 'cuirass' can find the 'git' and 'evaluate' ;; Make sure 'cuirass' can find the 'evaluate' command, as
;; commands, as well as the relevant Guile modules. ;; well as the relevant Guile modules.
(wrap-program (string-append out "/bin/cuirass") (wrap-program (string-append out "/bin/cuirass")
`("PATH" ":" prefix (,(string-append out "/bin") `("PATH" ":" prefix (,(string-append out "/bin")))
,(string-append git "/bin")))
`("GUILE_LOAD_PATH" ":" prefix (,mods)) `("GUILE_LOAD_PATH" ":" prefix (,mods))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix (,mods))) `("GUILE_LOAD_COMPILED_PATH" ":" prefix (,mods)))
#t)))))) #t))))))
@ -248,8 +253,11 @@ (define-public cuirass
`(("guile" ,guile-2.2) `(("guile" ,guile-2.2)
("guile-json" ,guile-json) ("guile-json" ,guile-json)
("guile-sqlite3" ,guile-sqlite3) ("guile-sqlite3" ,guile-sqlite3)
("guix" ,guix) ("guile-git" ,guile-git)
("git" ,git))) ;; FIXME: this is propagated by "guile-git", but it needs to be among
;; the inputs to add it to GUILE_LOAD_PATH.
("guile-bytestructures" ,guile-bytestructures)
("guix" ,guix)))
(native-inputs (native-inputs
`(("autoconf" ,autoconf) `(("autoconf" ,autoconf)
("automake" ,automake) ("automake" ,automake)

View file

@ -606,14 +606,14 @@ (define-public sfarkxtc
(define-public libmspack (define-public libmspack
(package (package
(name "libmspack") (name "libmspack")
(version "0.5") (version "0.6")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://www.cabextract.org.uk/libmspack/libmspack-" (uri (string-append "http://www.cabextract.org.uk/libmspack/libmspack-"
version "alpha.tar.gz")) version "alpha.tar.gz"))
(sha256 (sha256
(base32 "04413hynb7zizxnkgy9riik3612dwirkpr6fcjrnfl2za9sz4rw9")))) (base32 "08gr2pcinas6bdqz3k0286g5cnksmcx813skmdwyca6bmj1fxnqy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://www.cabextract.org.uk/libmspack/") (home-page "http://www.cabextract.org.uk/libmspack/")
(synopsis "Compression tools for some formats used by Microsoft") (synopsis "Compression tools for some formats used by Microsoft")
@ -702,16 +702,15 @@ (define-public perl-io-compress
(define-public lz4 (define-public lz4
(package (package
(name "lz4") (name "lz4")
(version "1.7.5") (version "1.8.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/lz4/lz4/archive/" (uri (string-append "https://github.com/lz4/lz4/archive/"
"v" version ".tar.gz")) "v" version ".tar.gz"))
(patches (search-patches "lz4-fix-test-failures.patch"))
(sha256 (sha256
(base32 (base32
"0zkykqqjfa1q3ji0qmb1ml3l9063qqfh99agyj3cnb02cg6wm401")) "1xnckwwah74gl98gylf1b00vk4km1d8sgd8865h07ccvgbm8591c"))
(file-name (string-append name "-" version ".tar.gz")))) (file-name (string-append name "-" version ".tar.gz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("valgrind" ,valgrind))) ; for tests (native-inputs `(("valgrind" ,valgrind))) ; for tests
@ -722,14 +721,14 @@ (define-public lz4
(string-append "PREFIX=" (assoc-ref %outputs "out"))) (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(delete 'configure)))) ; no configure script (delete 'configure)))) ; no configure script
(home-page "https://github.com/lz4/lz4") (home-page "http://www.lz4.org")
(synopsis "Compression algorithm focused on speed") (synopsis "Compression algorithm focused on speed")
(description "LZ4 is a lossless compression algorithm, providing (description "LZ4 is a lossless compression algorithm, providing
compression speed at 400 MB/s per core (0.16 Bytes/cycle). It also features an compression speed at 400 MB/s per core (0.16 Bytes/cycle). It also features an
extremely fast decoder, with speed in multiple GB/s per core (0.71 Bytes/cycle). extremely fast decoder, with speed in multiple GB/s per core (0.71 Bytes/cycle).
A high compression derivative, called LZ4_HC, is also provided. It trades CPU A high compression derivative, called LZ4_HC, is also provided. It trades CPU
time for compression ratio.") time for compression ratio.")
;; The libraries (lz4, lz4hc, and xxhash are BSD licenced. The command ;; The libraries (lz4, lz4hc, and xxhash) are BSD licenced. The command
;; line interface programs (lz4, fullbench, fuzzer, datagen) are GPL2+. ;; line interface programs (lz4, fullbench, fuzzer, datagen) are GPL2+.
(license (list license:bsd-2 license:gpl2+)))) (license (list license:bsd-2 license:gpl2+))))

View file

@ -42,7 +42,7 @@ (define-module (gnu packages connman)
(define-public connman (define-public connman
(package (package
(name "connman") (name "connman")
(version "1.34") (version "1.35")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -50,7 +50,7 @@ (define-public connman
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"07n71wcy1c4cc01ca4dl9k1jpdqr5nsyr33dqf7k87wwfa681859")))) "1apj5j25kj7v1bsfv3nh54aiq873nfrsjfbj85p5qm3ihfwxxmv6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -21,7 +21,12 @@ (define-module (gnu packages cran)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix utils) #:use-module (guix utils)
#:use-module (guix build-system r)) #:use-module (guix build-system r)
#:use-module (gnu packages gcc)
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages statistics)
#:use-module (gnu packages web))
(define-public r-colorspace (define-public r-colorspace
(package (package
@ -148,3 +153,778 @@ (define-public r-bindrcpp
"This package provides an easy way to fill an environment with active "This package provides an easy way to fill an environment with active
bindings that call a C++ function.") bindings that call a C++ function.")
(license license:expat))) (license license:expat)))
(define-public r-auc
(package
(name "r-auc")
(version "0.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "AUC" version))
(sha256
(base32
"0ripcib2qz0m7rgr1kiz68nx8f6p408l1ww7j78ljqik7p3g41g7"))))
(properties `((upstream-name . "AUC")))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/AUC")
(synopsis "Compute the area under the curve of selected measures")
(description
"This package includes functions to compute the area under the curve of
selected measures: the area under the sensitivity curve (AUSEC), the area
under the specificity curve (AUSPC), the area under the accuracy
curve (AUACC), and the area under the receiver operating characteristic
curve (AUROC). The curves can also be visualized. Support for partial areas
is provided.")
(license license:gpl2+)))
(define-public r-calibrate
(package
(name "r-calibrate")
(version "1.7.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "calibrate" version))
(sha256
(base32
"010nb1nb9y7zhw2k6d2i2drwy5brp7b83mjj2w7i3wjp9xb6l1kq"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)))
(home-page "http://cran.r-project.org/web/packages/calibrate")
(synopsis "Calibration of scatterplot and biplot axes")
(description
"This is a package for drawing calibrated scales with tick marks
on (non-orthogonal) variable vectors in scatterplots and biplots.")
(license license:gpl2)))
(define-public r-shape
(package
(name "r-shape")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "shape" version))
(sha256
(base32
"0yk3cmsa57svcvbnm21pyr0s0qbhnllka8nmsg4yb41frjlqph66"))))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/shape")
(synopsis "Functions for plotting graphical shapes")
(description
"This package provides functions for plotting graphical shapes such as
ellipses, circles, cylinders, arrows, ...")
(license license:gpl3+)))
(define-public r-globaloptions
(package
(name "r-globaloptions")
(version "0.0.12")
(source
(origin
(method url-fetch)
(uri (cran-uri "GlobalOptions" version))
(sha256
(base32
"1abpc03cfvazbwj2sx6qgngs5pgpzysvxkana20hyvb4n7ws77f0"))))
(properties `((upstream-name . "GlobalOptions")))
(build-system r-build-system)
(home-page "https://github.com/jokergoo/GlobalOptions")
(synopsis "Generate functions to get or set global options")
(description
"This package provides more controls on the option values such as
validation and filtering on the values, making options invisible or private.")
(license license:gpl2+)))
(define-public r-circlize
(package
(name "r-circlize")
(version "0.4.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "circlize" version))
(sha256
(base32
"0p1zx1aawkblz48kzzfn5w1k3lbwv9wrk1k5gcfjrr2b4sz1pp5b"))))
(build-system r-build-system)
(propagated-inputs
`(("r-colorspace" ,r-colorspace)
("r-globaloptions" ,r-globaloptions)
("r-shape" ,r-shape)))
(home-page "https://github.com/jokergoo/circlize")
(synopsis "Circular visualization")
(description
"Circular layout is an efficient way for the visualization of huge
amounts of information. This package provides an implementation of circular
layout generation in R as well as an enhancement of available software. The
flexibility of the package is based on the usage of low-level graphics
functions such that self-defined high-level graphics can be easily implemented
by users for specific purposes. Together with the seamless connection between
the powerful computational and visual environment in R, it gives users more
convenience and freedom to design figures for better understanding complex
patterns behind multiple dimensional data.")
(license license:gpl2+)))
(define-public r-powerlaw
(package
(name "r-powerlaw")
(version "0.70.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "poweRlaw" version))
(sha256
(base32
"1p2la3hslxq2xa8jkwvci6zcpn47cvyr9xqd5agp1riwwp2xw5gh"))))
(properties `((upstream-name . "poweRlaw")))
(build-system r-build-system)
(propagated-inputs
`(("r-vgam" ,r-vgam)))
(home-page "https://github.com/csgillespie/poweRlaw")
(synopsis "Tools for the analysis of heavy tailed distributions")
(description
"This package provides an implementation of maximum likelihood estimators
for a variety of heavy tailed distributions, including both the discrete and
continuous power law distributions. Additionally, a goodness-of-fit based
approach is used to estimate the lower cut-off for the scaling region.")
;; Any of these GPL versions.
(license (list license:gpl2 license:gpl3))))
(define-public r-compare
(package
(name "r-compare")
(version "0.2-6")
(source
(origin
(method url-fetch)
(uri (cran-uri "compare" version))
(sha256
(base32
"0k9zms930b5dz9gy8414li21wy0zg9x9vp7301v5cvyfi0g7xzgw"))))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/compare")
(synopsis "Comparing objects for differences")
(description
"This package provides functions to compare a model object to a
comparison object. If the objects are not identical, the functions can be
instructed to explore various modifications of the objects (e.g., sorting
rows, dropping names) to see if the modified versions are identical.")
(license license:gpl2+)))
(define-public r-dendextend
(package
(name "r-dendextend")
(version "1.5.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "dendextend" version))
(sha256
(base32
"04jz58apibfrkjcrdmw2hmsav6qpb5cs6qdai81k1v1iznfcya42"))))
(build-system r-build-system)
(propagated-inputs
`(("r-fpc" ,r-fpc)
("r-ggplot2" ,r-ggplot2)
("r-magrittr" ,r-magrittr)
("r-viridis" ,r-viridis)
("r-whisker" ,r-whisker)))
(home-page "https://cran.r-project.org/web/packages/dendextend")
(synopsis "Extending 'dendrogram' functionality in R")
(description
"This package offers a set of functions for extending @code{dendrogram}
objects in R, letting you visualize and compare trees of hierarchical
clusterings. You can adjust a tree's graphical parameters (the color, size,
type, etc of its branches, nodes and labels) and visually and statistically
compare different dendrograms to one another.")
;; Any of these versions
(license (list license:gpl2 license:gpl3))))
(define-public r-getoptlong
(package
(name "r-getoptlong")
(version "0.1.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "GetoptLong" version))
(sha256
(base32
"1d98gcvlvp9nz5lbnzr0kkpc2hbkx74hlhrnybqhg1gdwc3g09pm"))))
(properties `((upstream-name . "GetoptLong")))
(build-system r-build-system)
(inputs
`(("perl" ,perl)))
(propagated-inputs
`(("r-globaloptions" ,r-globaloptions)
("r-rjson" ,r-rjson)))
(home-page "https://github.com/jokergoo/GetoptLong")
(synopsis "Parsing command-line arguments and variable interpolation")
(description
"This is yet another command-line argument parser which wraps the
powerful Perl module @code{Getopt::Long} and with some adaptation for easier
use in R. It also provides a simple way for variable interpolation in R.")
(license license:gpl2+)))
(define-public r-fastmatch
(package
(name "r-fastmatch")
(version "1.1-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "fastmatch" version))
(sha256
(base32
"0z80jxkygmzn11sq0c2iz357s9bpki548lg926g85gldhfj1md90"))))
(build-system r-build-system)
(home-page "http://www.rforge.net/fastmatch")
(synopsis "Fast match function")
(description
"This package provides a fast @code{match} replacement for cases that
require repeated look-ups. It is slightly faster that R's built-in
@code{match} function on first match against a table, but extremely fast on
any subsequent lookup as it keeps the hash table in memory.")
(license license:gpl2)))
(define-public r-ff
(package
(name "r-ff")
(version "2.2-13")
(source
(origin
(method url-fetch)
(uri (cran-uri "ff" version))
(sha256
(base32
"1nvd6kx46xzyc99a44mgynd94pvd2h495m5a7b1g67k5w2phiywb"))))
(build-system r-build-system)
(propagated-inputs `(("r-bit" ,r-bit)))
(home-page "http://ff.r-forge.r-project.org/")
(synopsis "Memory-efficient storage of large data on disk and access functions")
(description
"This package provides data structures that are stored on disk but
behave (almost) as if they were in RAM by transparently mapping only a section
in main memory.")
(license license:gpl2)))
(define-public r-ffbase
(package
(name "r-ffbase")
(version "0.12.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "ffbase" version))
(sha256
(base32
"1nz97bndxxkzp8rq6va8ff5ky9vkaib1jybm6j852awwb3n9had5"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bit" ,r-bit)
("r-fastmatch" ,r-fastmatch)
("r-ff" ,r-ff)))
(home-page "http://github.com/edwindj/ffbase")
(synopsis "Basic statistical functions for package 'ff'")
(description
"This package extends the out of memory vectors of @code{ff} with
statistical functions and other utilities to ease their usage.")
(license license:gpl3)))
(define-public r-prettyunits
(package
(name "r-prettyunits")
(version "1.0.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "prettyunits" version))
(sha256
(base32
"0p3z42hnk53x7ky4d1dr2brf7p8gv3agxr71i99m01n2hq2ri91m"))))
(build-system r-build-system)
(propagated-inputs
`(("r-assertthat" ,r-assertthat)
("r-magrittr" ,r-magrittr)))
(home-page "https://github.com/gaborcsardi/prettyunits")
(synopsis "Pretty, human readable formatting of quantities")
(description
"This package provides tools for pretty, human readable formatting of
quantities.")
(license license:expat)))
(define-public r-reshape
(package
(name "r-reshape")
(version "0.8.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "reshape" version))
(sha256
(base32
"1f1ngalc22knhdm9djv1m6abnjqpv1frdzxfkpakhph2l67bk7fq"))))
(build-system r-build-system)
(propagated-inputs
`(("r-plyr" ,r-plyr)
("r-rcpp" ,r-rcpp)))
(home-page "http://had.co.nz/reshape")
(synopsis "Flexibly reshape data")
(description
"Flexibly restructure and aggregate data using just two functions:
@code{melt} and @code{cast}. This package provides them.")
(license license:expat)))
(define-public r-progress
(package
(name "r-progress")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "progress" version))
(sha256
(base32
"1fxakchfjr5vj59s9sxynd7crpz97xj42438rmkhkf3rjpyspx59"))))
(build-system r-build-system)
(propagated-inputs
`(("r-prettyunits" ,r-prettyunits)
("r-r6" ,r-r6)))
(home-page "https://github.com/gaborcsardi/progress")
(synopsis "Terminal progress bars")
(description
"This package provides configurable progress bars. They may include
percentage, elapsed time, and/or the estimated completion time. They work in
terminals, in Emacs ESS, RStudio, Windows Rgui, and the macOS R.app. The
package also provides a C++ API, that works with or without Rcpp.")
(license license:expat)))
(define-public r-ggally
(package
(name "r-ggally")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "GGally" version))
(sha256
(base32
"12ddab0nd0f9c7bb6cx3c22mliyvc8xsxv26aqz3cvfbla8crp3b"))))
(properties `((upstream-name . "GGally")))
(build-system r-build-system)
(propagated-inputs
`(("r-ggplot2" ,r-ggplot2)
("r-gtable" ,r-gtable)
("r-plyr" ,r-plyr)
("r-progress" ,r-progress)
("r-rcolorbrewer" ,r-rcolorbrewer)
("r-reshape" ,r-reshape)))
(home-page "https://ggobi.github.io/ggally")
(synopsis "Extension to ggplot2")
(description
"The R package ggplot2 is a plotting system based on the grammar of
graphics. GGally extends ggplot2 by adding several functions to reduce the
complexity of combining geometric objects with transformed data. Some of
these functions include a pairwise plot matrix, a two group pairwise plot
matrix, a parallel coordinates plot, a survival plot, and several functions to
plot networks.")
(license license:gpl2+)))
(define-public r-proxy
(package
(name "r-proxy")
(version "0.4-17")
(source
(origin
(method url-fetch)
(uri (cran-uri "proxy" version))
(sha256
(base32
"0bg1fn96qrj8whmnl7c3gv244ksm2ykxxsd0zrmw4lb6465pizl2"))))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/proxy")
(synopsis "Distance and similarity measures")
(description
"This package provides an extensible framework for the efficient
calculation of auto- and cross-proximities, along with implementations of the
most popular ones.")
(license license:gpl2)))
(define-public r-sp
(package
(name "r-sp")
(version "1.2-4")
(source
(origin
(method url-fetch)
(uri (cran-uri "sp" version))
(sha256
(base32
"0crba3j00mb2xv2yk60rpa57gn97xq4ql3a6p9cjzqjxzv2cknk2"))))
(build-system r-build-system)
(propagated-inputs
`(("r-lattice" ,r-lattice)))
(home-page "http://cran.r-project.org/web/packages/sp")
(synopsis "Classes and methods for spatial data")
(description
"This package provides classes and methods for spatial data; the classes
document where the spatial location information resides, for 2D or 3D data.
Utility functions are provided, e.g. for plotting data as maps, spatial
selection, as well as methods for retrieving coordinates, for subsetting,
print, summary, etc.")
(license license:gpl2+)))
(define-public r-rmtstat
(package
(name "r-rmtstat")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "RMTstat" version))
(sha256
(base32
"1nn25q4kmh9kj975sxkrpa97vh5irqrlqhwsfinbck6h6ia4rsw1"))))
(properties `((upstream-name . "RMTstat")))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/RMTstat")
(synopsis "Distributions, statistics and tests derived from random matrix theory")
(description
"This package provides functions for working with the Tracy-Widom laws
and other distributions related to the eigenvalues of large Wishart
matrices.")
(license license:bsd-3)))
(define-public r-lmoments
(package
(name "r-lmoments")
(version "1.2-3")
(source
(origin
(method url-fetch)
(uri (cran-uri "Lmoments" version))
(sha256
(base32
"13p0r4w16jvjnyjmkhkp3dwdfr1gap2l0k4k5jy41m8nc5fvcx79"))))
(properties `((upstream-name . "Lmoments")))
(build-system r-build-system)
(home-page "http://www.tilastotiede.fi/juha_karvanen.html")
(synopsis "L-moments and quantile mixtures")
(description
"This package contains functions to estimate L-moments and trimmed
L-moments from the data. It also contains functions to estimate the
parameters of the normal polynomial quantile mixture and the Cauchy polynomial
quantile mixture from L-moments and trimmed L-moments.")
(license license:gpl2)))
(define-public r-distillery
(package
(name "r-distillery")
(version "1.0-2")
(source
(origin
(method url-fetch)
(uri (cran-uri "distillery" version))
(sha256
(base32
"12m4cacvc18fd3aayc8iih5q6bwsmvf29b55fwp7vs8wp1h8nd8c"))))
(build-system r-build-system)
(home-page "http://www.ral.ucar.edu/staff/ericg")
(synopsis "Functions for confidence intervals and object information")
(description
"This package provides some very simple method functions for confidence
interval calculation and to distill pertinent information from a potentially
complex object; primarily used in common with the packages extRemes and
SpatialVx.")
(license license:gpl2+)))
(define-public r-extremes
(package
(name "r-extremes")
(version "2.0-8")
(source
(origin
(method url-fetch)
(uri (cran-uri "extRemes" version))
(sha256
(base32
"0pnpib3g2r9x8hfqhvq23j8m3jh62lp28ipnqir5yadnzv850gfm"))))
(properties `((upstream-name . "extRemes")))
(build-system r-build-system)
(propagated-inputs
`(("r-car" ,r-car)
("r-distillery" ,r-distillery)
("r-lmoments" ,r-lmoments)))
(home-page "http://www.assessment.ucar.edu/toolkit/")
(synopsis "Extreme value analysis")
(description
"ExtRemes is a suite of functions for carrying out analyses on the
extreme values of a process of interest; be they block maxima over long blocks
or excesses over a high threshold.")
(license license:gpl2+)))
(define-public r-lmtest
(package
(name "r-lmtest")
(version "0.9-35")
(source
(origin
(method url-fetch)
(uri (cran-uri "lmtest" version))
(sha256
(base32
"107br1l7p52wxvazs031f4h5ryply97qywg9dzrkw4ydnvqq4j9g"))))
(build-system r-build-system)
(propagated-inputs
`(("r-zoo" ,r-zoo)))
(native-inputs
`(("gfortran" ,gfortran)))
(home-page "http://cran.r-project.org/web/packages/lmtest")
(synopsis "Testing linear regression models")
(description
"This package provides a collection of tests, data sets, and examples for
diagnostic checking in linear regression models. Furthermore, some generic
tools for inference in parametric models are provided.")
;; Either version is okay
(license (list license:gpl2 license:gpl3))))
(define-public r-inline
(package
(name "r-inline")
(version "0.3.14")
(source (origin
(method url-fetch)
(uri (cran-uri "inline" version))
(sha256
(base32
"0cf9vya9h4znwgp6s1nayqqmh6mwyw7jl0isk1nx4j2ijszxcd7x"))))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/inline")
(synopsis "Functions to inline C, C++, Fortran function calls from R")
(description
"This package provides functionality to dynamically define R functions
and S4 methods with inlined C, C++ or Fortran code supporting @code{.C} and
@code{.Call} calling conventions.")
;; Any version of the LGPL.
(license license:lgpl3+)))
(define-public r-bbmle
(package
(name "r-bbmle")
(version "1.0.19")
(source
(origin
(method url-fetch)
(uri (cran-uri "bbmle" version))
(sha256
(base32
"014h6mw16gv4acs2p78dy7lla7s428n633aybsb1mbi6250dg0p8"))))
(build-system r-build-system)
(propagated-inputs
`(("r-lattice" ,r-lattice)
("r-mass" ,r-mass)
("r-numderiv" ,r-numderiv)))
(home-page "http://cran.r-project.org/web/packages/bbmle")
(synopsis "Tools for General Maximum Likelihood Estimation")
(description
"Methods and functions for fitting maximum likelihood models in R. This
package modifies and extends the @code{mle} classes in the @code{stats4}
package.")
;; Any version of the GPL
(license (list license:gpl2 license:gpl3))))
(define-public r-emdbook
(package
(name "r-emdbook")
(version "1.3.9")
(source
(origin
(method url-fetch)
(uri (cran-uri "emdbook" version))
(sha256
(base32
"09xbdyw8a4pvrsg3ryr8drby0njy4avc5wsjj4ffibdaicpchy69"))))
(build-system r-build-system)
(propagated-inputs
`(("r-bbmle" ,r-bbmle)
("r-coda" ,r-coda)
("r-lattice" ,r-lattice)
("r-mass" ,r-mass)
("r-plyr" ,r-plyr)
("r-rcpp" ,r-rcpp)))
(home-page "http://www.math.mcmaster.ca/bolker/emdbook")
(synopsis "Support functions and data for \"Ecological Models and Data\"")
(description
"This package provides auxiliary functions and data sets for \"Ecological
Models and Data\", a book presenting maximum likelihood estimation and related
topics for ecologists (ISBN 978-0-691-12522-0).")
;; Any GPL version
(license (list license:gpl2 license:gpl3))))
(define-public r-lpsolve
(package
(name "r-lpsolve")
(version "5.6.13")
(source
(origin
(method url-fetch)
(uri (cran-uri "lpSolve" version))
(sha256
(base32
"13a9ry8xf5j1f2j6imqrxdgxqz3nqp9sj9b4ivyx9sid459irm6m"))))
(properties `((upstream-name . "lpSolve")))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/lpSolve")
(synopsis "R interface to Lp_solve to solve linear/integer programs")
(description
"Lp_solve is software for solving linear, integer and mixed integer
programs. This implementation supplies a \"wrapper\" function in C and some R
functions that solve general linear/integer problems, assignment problems, and
transportation problems.")
(license license:lgpl2.0)))
(define-public r-limsolve
(package
(name "r-limsolve")
(version "1.5.5.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "limSolve" version))
(sha256
(base32
"1ll6ir42h3g2fzf0wqai213bm82gpwjj2hfma2np3mz024sc09rg"))))
(properties `((upstream-name . "limSolve")))
(build-system r-build-system)
(propagated-inputs
`(("r-lpsolve" ,r-lpsolve)
("r-mass" ,r-mass)
("r-quadprog" ,r-quadprog)))
(native-inputs `(("gfortran" ,gfortran)))
(home-page "http://cran.r-project.org/web/packages/limSolve")
(synopsis "Solving linear inverse models")
(description
"This package provides functions that:
@enumerate
@item find the minimum/maximum of a linear or quadratic function,
@item sample an underdetermined or overdetermined system,
@item solve a linear system Ax=B for the unknown x.
@end enumerate
It includes banded and tridiagonal linear systems. The package calls Fortran
functions from LINPACK.")
;; Any GPL version.
(license (list license:gpl2+ license:gpl3+))))
(define-public r-fitdistrplus
(package
(name "r-fitdistrplus")
(version "1.0-9")
(source
(origin
(method url-fetch)
(uri (cran-uri "fitdistrplus" version))
(sha256
(base32
"18x9454g598d54763k3hvi33iszifk7sxvhd1zg5r8z1vpixx3z6"))))
(build-system r-build-system)
(propagated-inputs
`(("r-mass" ,r-mass)
("r-survival" ,r-survival)))
(home-page "http://riskassessment.r-forge.r-project.org")
(synopsis "Fitting a parametric distribution from data")
(description
"This package extends the @code{fitdistr} function of the MASS package
with several functions to help the fit of a parametric distribution to
non-censored or censored data. Censored data may contain left-censored,
right-censored and interval-censored values, with several lower and upper
bounds. In addition to @dfn{maximum likelihood estimation} (MLE), the package
provides moment matching (MME), quantile matching (QME) and maximum
goodness-of-fit estimation (MGE) methods (available only for non-censored
data). Weighted versions of MLE, MME and QME are available.")
(license license:gpl2+)))
(define-public r-energy
(package
(name "r-energy")
(version "1.7-0")
(source
(origin
(method url-fetch)
(uri (cran-uri "energy" version))
(sha256
(base32
"1g4hqi6mgsnd1w4q7dd2m40ljh2jdmvad91ksbq9fscnrqpvji1x"))))
(build-system r-build-system)
(propagated-inputs
`(("r-boot" ,r-boot)
("r-rcpp" ,r-rcpp)))
(home-page "http://cran.r-project.org/web/packages/energy")
(synopsis "Multivariate inference via the energy of data")
(description
"This package provides e-statistics (energy) tests and statistics for
multivariate and univariate inference, including distance correlation,
one-sample, two-sample, and multi-sample tests for comparing multivariate
distributions, are implemented. Measuring and testing multivariate
independence based on distance correlation, partial distance correlation,
multivariate goodness-of-fit tests, clustering based on energy distance,
testing for multivariate normality, distance components (disco) for
non-parametric analysis of structured data, and other energy
statistics/methods are implemented.")
(license license:gpl2+)))
(define-public r-suppdists
(package
(name "r-suppdists")
(version "1.1-9.4")
(source
(origin
(method url-fetch)
(uri (cran-uri "SuppDists" version))
(sha256
(base32
"1ffx8wigqqvz2pnh06jjc0fnf4vq9z2rhwk2y3f9aszn18ap3dgw"))))
(properties `((upstream-name . "SuppDists")))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/SuppDists")
(synopsis "Supplementary distributions")
(description
"This package provides ten distributions supplementing those built into
R. Inverse Gauss, Kruskal-Wallis, Kendall's Tau, Friedman's chi squared,
Spearman's rho, maximum F ratio, the Pearson product moment correlation
coefficient, Johnson distributions, normal scores and generalized
hypergeometric distributions. In addition two random number generators of
George Marsaglia are included.")
(license license:gpl2+)))
(define-public r-ksamples
(package
(name "r-ksamples")
(version "1.2-6")
(source
(origin
(method url-fetch)
(uri (cran-uri "kSamples" version))
(sha256
(base32
"1pbam0zqq44slpxdgl2s2fsfdgl7i0pgm8bzlvnm0fy0na24bgdj"))))
(properties `((upstream-name . "kSamples")))
(build-system r-build-system)
(propagated-inputs
`(("r-suppdists" ,r-suppdists)))
(home-page "http://cran.r-project.org/web/packages/kSamples")
(synopsis "K-Sample rank tests and their combinations")
(description
"This package provides tools to compares k samples using the
Anderson-Darling test, Kruskal-Wallis type tests with different rank score
criteria, Steel's multiple comparison test, and the Jonckheere-Terpstra (JT)
test. It computes asymptotic, simulated or (limited) exact P-values, all
valid under randomization, with or without ties, or conditionally under random
sampling from populations, given the observed tie pattern. Except for Steel's
test and the JT test it also combines these tests across several blocks of
samples.")
(license license:gpl2+)))

View file

@ -81,7 +81,7 @@ (define-public libsodium
(define-public signify (define-public signify
(package (package
(name "signify") (name "signify")
(version "21") (version "22")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/aperezdc/signify/" (uri (string-append "https://github.com/aperezdc/signify/"
@ -89,7 +89,7 @@ (define-public signify
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0jd26kxwmmar3bylpx9x5dpqxzs17ky5dvwx8pdgcg95n4lyk223")))) "0iv5bjaas70ymqchxasapin4c32c41kqzkfhc3kcjzd7rxy78msy"))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; TODO Build with libwaive (described in README.md), to implement something ;; TODO Build with libwaive (described in README.md), to implement something
;; like OpenBSD's pledge(). ;; like OpenBSD's pledge().

View file

@ -17,6 +17,7 @@
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be> ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -396,7 +397,7 @@ (define-public mysql
(define-public mariadb (define-public mariadb
(package (package
(name "mariadb") (name "mariadb")
(version "10.1.25") (version "10.1.26")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://downloads.mariadb.org/f/" (uri (string-append "https://downloads.mariadb.org/f/"
@ -404,7 +405,7 @@ (define-public mariadb
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1mm0n8sl6grajk5rbrx55333laz5dg2abyl8mlsn7h8vdymfq1bj")))) "0ggpdcal0if9y6h9hp1yv2q65cbkjfl4p8rqk68a5pk7k75v325s"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments (arguments
'(#:configure-flags '(#:configure-flags

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -166,12 +167,15 @@ (define-public american-fuzzy-lop
(%current-system)) (%current-system))
("x86_64-linux" "x86_64") ("x86_64-linux" "x86_64")
("i686-linux" "i386") ("i686-linux" "i386")
("aarch64-linux" "aarch64")
("armhf-linux" "arm")
("mips64el-linux" "mips64el")
;; Prevent errors when querying this package on unsupported ;; Prevent errors when querying this package on unsupported
;; platforms, e.g. when running "guix package --search=" ;; platforms, e.g. when running "guix package --search="
(_ "UNSUPPORTED")))) (_ "UNSUPPORTED"))))
(package (package
(name "american-fuzzy-lop") (name "american-fuzzy-lop")
(version "2.15b") ;It seems all releases have the 'b' suffix (version "2.49b") ;It seems all releases have the 'b' suffix
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -179,7 +183,7 @@ (define-public american-fuzzy-lop
"afl-" version ".tgz")) "afl-" version ".tgz"))
(sha256 (sha256
(base32 (base32
"04n2jfkchpz6a07w694b0im1vcmc3220ryqcaasa7vix7784wzs2")))) "1lc8mpwlbyb1iil9961yfysp8l2l4nw0s07781m1haiz4jq2rigp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("custom-qemu" `(("custom-qemu"
@ -234,6 +238,20 @@ (define-public american-fuzzy-lop
"CC=gcc") "CC=gcc")
#:phases (modify-phases %standard-phases #:phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
,@(if (string=? (%current-system) (or "x86_64-linux"
"i686-linux"))
'()
'((add-before 'build 'set-afl-flag
(lambda _ (setenv "AFL_NO_X86" "1") #t))
(add-after 'install 'remove-x86-programs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin/")))
(delete-file (string-append bin "afl-gcc"))
(delete-file (string-append bin "afl-g++"))
(delete-file (string-append bin "afl-clang"))
(delete-file (string-append bin "afl-clang++")))
#t))))
(add-after (add-after
;; TODO: Build and install the afl-llvm tool. ;; TODO: Build and install the afl-llvm tool.
'install 'install-qemu 'install 'install-qemu
@ -243,10 +261,7 @@ (define-public american-fuzzy-lop
(symlink (string-append qemu "/bin/qemu-" ,machine) (symlink (string-append qemu "/bin/qemu-" ,machine)
(string-append out "/bin/afl-qemu-trace")) (string-append out "/bin/afl-qemu-trace"))
#t))) #t)))
(delete 'check)))) (delete 'check)))) ; Tests are run during 'install phase.
(supported-systems (fold delete
%supported-systems
'("armhf-linux" "mips64el-linux")))
(home-page "http://lcamtuf.coredump.cx/afl") (home-page "http://lcamtuf.coredump.cx/afl")
(synopsis "Security-oriented fuzzer") (synopsis "Security-oriented fuzzer")
(description (description

View file

@ -28,10 +28,14 @@ (define-module (gnu packages ebook)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages fonts) #:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages icu4c) #:use-module (gnu packages icu4c)
@ -44,6 +48,7 @@ (define-module (gnu packages ebook)
#:use-module (gnu packages serialization) #:use-module (gnu packages serialization)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
(define-public chmlib (define-public chmlib
@ -195,3 +200,80 @@ (define-public calibre
license:public-domain license:public-domain
license:silofl1.1 license:silofl1.1
license:cc-by-sa3.0)))) license:cc-by-sa3.0))))
(define-public liblinebreak
(package
(name "liblinebreak")
(version "2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/vimgadgets"
"/liblinebreak/" version
"/liblinebreak-" version ".tar.gz"))
(sha256
(base32
"1f36dbq7nc77lln1by2n1yl050g9dc63viawhs3gc3169mavm36x"))))
(build-system gnu-build-system)
(home-page "http://vimgadgets.sourceforge.net/liblinebreak/")
(synopsis "Library for detecting where linebreaks are allowed in text")
(description "@code{liblinebreak} is an implementation of the line
breaking algorithm as described in Unicode 6.0.0 Standard Annex 14,
Revision 26. It breaks lines that contain Unicode characters. It is
designed to be used in a generic text renderer.")
(license license:zlib)))
(define-public fbreader
(package
(name "fbreader")
(version "0.99.6")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/geometer/FBReader/"
"archive/" version "-freebsdport.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0gf1nl562fqkwlzcn6rgkp1j8jcixzmfsnwxbc0sm49zh8n3zqib"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
("expat" ,expat)
("fribidi" ,fribidi)
("glib" ,glib)
("gtk+-2" ,gtk+-2)
("libjpeg" ,libjpeg)
("liblinebreak" ,liblinebreak)
("libxft" ,libxft)
("sqlite" ,sqlite)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:tests? #f ; No tests exist.
#:make-flags `("CC=gcc" "TARGET_ARCH=desktop" "UI_TYPE=gtk"
"TARGET_STATUS=release"
,(string-append "INSTALLDIR="
(assoc-ref %outputs "out"))
,(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out") "/lib"))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://fbreader.org/")
(synopsis "E-Book reader")
(description "@code{fbreader} is an E-Book reader. It supports the
following formats:
@enumerate
@item CHM
@item Docbook
@item FB2
@item HTML
@item OEB
@item PDB
@item RTF
@item TCR
@item TXT
@item XHTML
@end enumerate")
(license license:gpl2+)))

View file

@ -2632,6 +2632,38 @@ (define-public emacs-smartparens
well as completely new features.") well as completely new features.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public emacs-highlight-symbol
(package
(name "emacs-highlight-symbol")
(version "1.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/nschum/highlight-symbol.el/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1n7k1qns0fn0jsyc0hrjac5nzk21xw48yc30vyrhwvc51h0b9g90"))))
(build-system emacs-build-system)
(home-page "https://nschum.de/src/emacs/highlight-symbol")
(synopsis "Automatic and manual symbol highlighting for Emacs")
(description
"Use @code{highlight-symbol} to toggle highlighting of the symbol at
point throughout the current buffer. Use @code{highlight-symbol-mode} to keep
the symbol at point highlighted.
The functions @code{highlight-symbol-next}, @code{highlight-symbol-prev},
@code{highlight-symbol-next-in-defun} and
@code{highlight-symbol-prev-in-defun} allow for cycling through the locations
of any symbol at point. Use @code{highlight-symbol-nav-mode} to enable key
bindings @code{M-p} and @code{M-p} for navigation. When
@code{highlight-symbol-on-navigation-p} is set, highlighting is triggered
regardless of @code{highlight-symbol-idle-delay}.
@code{highlight-symbol-query-replace} can be used to replace the symbol. ")
(license license:gpl2+)))
(define-public emacs-hl-todo (define-public emacs-hl-todo
(package (package
(name "emacs-hl-todo") (name "emacs-hl-todo")

View file

@ -622,35 +622,14 @@ (define-public font-google-noto
(name "font-google-noto") (name "font-google-noto")
(version "20170403") (version "20170403")
(source (origin (source (origin
(method url-fetch) (method url-fetch/zipbomb)
(uri (string-append "https://noto-website.storage.googleapis.com/" (uri (string-append "https://noto-website.storage.googleapis.com/"
"pkgs/Noto-hinted.zip")) "pkgs/Noto-hinted.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256 (sha256
(base32 (base32
"1p92a6dvs7wqwjfpp1ahr9z1wz35am0l8r78521383spd77bmrfm")))) "1p92a6dvs7wqwjfpp1ahr9z1wz35am0l8r78521383spd77bmrfm"))))
(build-system trivial-build-system) (build-system font-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils)
(srfi srfi-26))
(let ((PATH (string-append (assoc-ref %build-inputs
"unzip")
"/bin"))
(font-dir (string-append %output
"/share/fonts/truetype")))
(setenv "PATH" PATH)
(system* "unzip" (assoc-ref %build-inputs "source"))
(mkdir-p font-dir)
(for-each (lambda (ttf)
(install-file ttf font-dir))
(find-files "." "\\.ttf$"))
(for-each (lambda (otf)
(install-file otf font-dir))
(find-files "." "\\.otf$"))))))
(native-inputs `(("unzip" ,unzip)))
(home-page "https://www.google.com/get/noto/") (home-page "https://www.google.com/get/noto/")
(synopsis "Fonts to cover all languages") (synopsis "Fonts to cover all languages")
(description "Google Noto Fonts is a family of fonts designed to support (description "Google Noto Fonts is a family of fonts designed to support

View file

@ -27,14 +27,14 @@ (define-module (gnu packages freeipmi)
(define-public freeipmi (define-public freeipmi
(package (package
(name "freeipmi") (name "freeipmi")
(version "1.5.6") (version "1.5.7")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-" (uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0p3cl32wwxhyc5vkd9spmmckb78797snkmplgh0ybc7zap2bs6ib")))) "1rdxs33klk6956rg8mn2dxwkk43y5yilvgvbcka8g6v4x0r98v5l"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("libgcrypt" ,libgcrypt))) `(("libgcrypt" ,libgcrypt)))

View file

@ -9,6 +9,7 @@
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Julian Graham <joolean@gmail.com> ;;; Copyright © 2016, 2017 Julian Graham <joolean@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -40,11 +41,14 @@ (define-module (gnu packages game-development)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop) #:use-module (gnu packages freedesktop)
#:use-module (gnu packages fribidi) #:use-module (gnu packages fribidi)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnunet) #:use-module (gnu packages gnunet)
#:use-module (gnu packages graphics)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages m4) #:use-module (gnu packages m4)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
@ -934,3 +938,84 @@ (define-public ois
robust and compatible with many systems and operating systems.") robust and compatible with many systems and operating systems.")
(home-page "https://github.com/wgois/OIS") (home-page "https://github.com/wgois/OIS")
(license license:zlib))) (license license:zlib)))
(define-public mygui
(package
(name "mygui")
(version "3.2.2")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/MyGUI/" name
"/archive/MyGUI" version ".tar.gz"))
(sha256
(base32
"13x7cydmj7gjmsg702sqjbfi53z265iv6j7binv3r6a7ibndfa0a"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; No test target
#:configure-flags
(list "-DMYGUI_INSTALL_DOCS=TRUE"
(string-append "-DOGRE_INCLUDE_DIR="
(assoc-ref %build-inputs "ogre")
"/include/OGRE"))))
(native-inputs
`(("boost" ,boost)
("doxygen" ,doxygen)
("pkg-config" ,pkg-config)))
(inputs
`(("font-dejavu" ,font-dejavu)
("freetype" ,freetype)
("graphviz" ,graphviz)
("libx11" ,libx11)
("ogre" ,ogre)
("ois" ,ois)))
(synopsis "Fast, flexible and simple GUI")
(description
"MyGUI is a library for creating Graphical User Interfaces (GUIs) for games
and 3D applications. The main goals of mygui are: speed, flexibility and ease
of use.")
(home-page "http://mygui.info/")
(license license:expat)))
(define-public openmw
(package
(name "openmw")
(version "0.42.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/OpenMW/openmw/archive/"
name "-" version ".tar.gz"))
(sha256
(base32
"1pla8016lpbg8cgm9kia318a860f26dmiayc72p3zl35mqrc7g7w"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; No test target
#:configure-flags
(list "-DDESIRED_QT_VERSION=5")))
(native-inputs
`(("boost" ,boost)
("doxygen" ,doxygen)
("pkg-config" ,pkg-config)))
(inputs
`(("bullet" ,bullet)
("ffmpeg" ,ffmpeg)
("libxt" ,libxt)
("mygui" ,mygui)
("openal" ,openal)
("openscenegraph" ,openscenegraph)
("qtbase" ,qtbase)
("sdl" ,sdl2)
("unshield" ,unshield)))
(synopsis "Free software re-implementation of the RPG Morrowind engine")
(description
"OpenMW is a free, open source and modern engine which reimplements and
extends the one that runs the 2002 open-world RPG Morrowind. The engine comes
with its own editor, called OpenMW-CS which allows the user to edit or create
their own original games.")
(home-page "https://openmw.org")
(license license:gpl3)))

View file

@ -83,6 +83,7 @@ (define-module (gnu packages games)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages imagemagick) #:use-module (gnu packages imagemagick)
#:use-module (gnu packages libcanberra) #:use-module (gnu packages libcanberra)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libunwind) #:use-module (gnu packages libunwind)
#:use-module (gnu packages haskell) #:use-module (gnu packages haskell)
#:use-module (gnu packages mp3) #:use-module (gnu packages mp3)
@ -433,6 +434,47 @@ (define-public gnushogi
Chess). It is similar to standard chess but this variant is far more complicated.") Chess). It is similar to standard chess but this variant is far more complicated.")
(license license:gpl3+))) (license license:gpl3+)))
(define-public ltris
(package
(name "ltris")
(version "1.0.19")
(source
(origin
(method url-fetch)
(uri (string-append "http://prdownloads.sourceforge.net/lgames/"
name "-" version ".tar.gz"))
(sha256
(base32
"1895wv1fqklrj4apkz47rnkcfhfav7zjknskw6p0886j35vrwslg"))))
(build-system gnu-build-system)
(arguments
'(;; The code in LTris uses traditional GNU semantics for inline functions
#:configure-flags '("CFLAGS=-fgnu89-inline")
#:phases
(modify-phases %standard-phases
(add-after 'set-paths 'set-sdl-paths
(lambda* (#:key inputs #:allow-other-keys)
(setenv "CPATH"
(string-append (assoc-ref inputs "sdl-union")
"/include/SDL"))
#t)))))
(inputs
`(("sdl-union" ,(sdl-union (list sdl sdl-mixer)))))
(home-page "http://lgames.sourceforge.net/LTris/")
(synopsis "Tetris clone based on the SDL library")
(description
"LTris is a tetris clone: differently shaped blocks are falling down the
rectangular playing field and can be moved sideways or rotated by 90 degree
units with the aim of building lines without gaps which then disappear (causing
any block above the deleted line to fall down). LTris has three game modes: In
Classic you play until the stack of blocks reaches the top of the playing field
and no new blocks can enter. In Figures the playing field is reset to a new
figure each level and later on tiles and lines suddenly appear. In Multiplayer
up to three players (either human or CPU) compete with each other sending
removed lines to all opponents. There is also a Demo mode in which you can
watch your CPU playing while enjoying a cup of tea!")
(license license:gpl2+)))
(define-public prboom-plus (define-public prboom-plus
(package (package
(name "prboom-plus") (name "prboom-plus")
@ -2920,6 +2962,64 @@ (define-public higan
;; - higan/emulator/emulator.hpp ;; - higan/emulator/emulator.hpp
(license license:gpl3))) (license license:gpl3)))
(define-public mgba
(package
(name "mgba")
(version "0.6.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mgba-emu/mgba/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"01zy2w5pihlkrmbm51icgyff6iqyqa5ha6qrm4aj8ibzznz03kyq"))
(modules '((guix build utils)))
(snippet
;; Make sure we don't use the bundled software.
'(for-each
(lambda (subdir)
(let ((lib-subdir (string-append "src/third-party/" subdir)))
(delete-file-recursively lib-subdir)))
'("libpng" "lzma" "sqlite3" "zlib")))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ;no "test" target
#:configure-flags
(list "-DUSE_LZMA=OFF" ;do not use bundled LZMA
"-DUSE_LIBZIP=OFF" ;use "zlib" instead
;; Validate RUNPATH phase fails ("error: depends on
;; 'libmgba.so.0.6', which cannot be found in RUNPATH") without
;; the following S-exp.
(string-append "-DCMAKE_INSTALL_LIBDIR="
(assoc-ref %outputs "out")
"/lib"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("ffmpeg" ,ffmpeg)
("imagemagick" ,imagemagick)
("libedit" ,libedit)
("libepoxy" ,libepoxy)
("libpng" ,libpng)
("mesa" ,mesa)
("minizip" ,minizip)
("ncurses" ,ncurses)
("qtbase" ,qtbase)
("qtmultimedia" ,qtmultimedia)
("qttools" ,qttools)
("sdl2" ,sdl2)
("sqlite" ,sqlite)
("zlib" ,zlib)))
(home-page "https://mgba.io")
(synopsis "Game Boy Advance emulator")
(description
"mGBA is an emulator for running Game Boy Advance games. It aims to be
faster and more accurate than many existing Game Boy Advance emulators, as
well as adding features that other emulators lack. It also supports Game Boy
and Game Boy Color games.")
;; Code is mainly MPL 2.0. "blip_buf.c" is LGPL 2.1+ and "inih.c" is
;; BSD-3.
(license (list license:mpl2.0 license:lgpl2.1+ license:bsd-3))))
(define-public grue-hunter (define-public grue-hunter
(package (package
(name "grue-hunter") (name "grue-hunter")

View file

@ -6,7 +6,7 @@
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch> ;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2015, 2016 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org> ;;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
;;; Copyright © 2015 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2015, 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com> ;;; Copyright © 2015 David Hashe <david.hashe@dhashe.com>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015, 2016, 2017 Mark H Weaver <mhw@netris.org>
@ -627,7 +627,7 @@ (define-public libgnome-keyring
(define-public gnome-keyring (define-public gnome-keyring
(package (package
(name "gnome-keyring") (name "gnome-keyring")
(version "3.20.0") (version "3.20.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -635,7 +635,7 @@ (define-public gnome-keyring
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"16gcwwcg91ipxjmiyi4c4njvnxixmv1i278p0bilc3lafk6ww5xw")))) "134ci3mn6jjap59z3lrvyiip7zf2nlw5xvanr44yajs57xr4x5lp"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does `(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
@ -2134,6 +2134,9 @@ (define-public vinagre
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/" (version-major+minor version) "/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(patches ; We have to revert 2 commits to build against freerdp 1.1.
(search-patches "vinagre-revert-1.patch"
"vinagre-revert-2.patch"))
(sha256 (sha256
(base32 (base32
"10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d")))) "10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
@ -3039,7 +3042,7 @@ (define-public gnome-settings-daemon
(define-public totem-pl-parser (define-public totem-pl-parser
(package (package
(name "totem-pl-parser") (name "totem-pl-parser")
(version "3.10.7") (version "3.10.8")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/totem-pl-parser/" (uri (string-append "mirror://gnome/sources/totem-pl-parser/"
@ -3047,7 +3050,7 @@ (define-public totem-pl-parser
"totem-pl-parser-" version ".tar.xz")) "totem-pl-parser-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"17089sqyh6w6zr8ci865ihmvqshnslcsk9fbsl4s7yii66y8b0lw")))) "0ayxg0gfs5h5jhr811ja5hxlhryklzp6jlal2ach9wym2c3hmigz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; FIXME: Tests require gvfs. ;; FIXME: Tests require gvfs.
@ -3391,10 +3394,10 @@ (define-public gom
queries upon that data.") queries upon that data.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public libgames-support (define-public libgnome-games-support
(package (package
(name "libgames-support") (name "libgnome-games-support")
(version "1.0.2") (version "1.2.2")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -3402,14 +3405,14 @@ (define-public libgames-support
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0rms2ksiv7j9944km7r87q22nh05si1fisn5xm3z4zy5vpcfi5mh")))) "04qbgcgmc01sinhbqdljiny8q868l01nkdawj8wrnqnd1i8czvsg"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'check 'pre-check (add-before 'check 'pre-check
(lambda _ (lambda _
;; tests require a writable HOME. ;; Tests require a writable HOME.
(setenv "HOME" (getcwd)) (setenv "HOME" (getcwd))
#t))))) #t)))))
(native-inputs (native-inputs
@ -3417,30 +3420,16 @@ (define-public libgames-support
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("vala" ,vala))) ("vala" ,vala)))
(propagated-inputs (propagated-inputs
;; Required by libgames-support-1.0.pc ;; Required by libgnome-games-support-1.0.pc
`(("gtk+" ,gtk+) `(("gtk+" ,gtk+)
("libgee" ,libgee))) ("libgee" ,libgee)))
(home-page "https://www.gnome.org/") (home-page "https://www.gnome.org/")
(synopsis "Useful functionality shared among GNOME games") (synopsis "Useful functionality shared among GNOME games")
(description (description
"libgames-support is a small library intended for internal use by "libgnome-games-support is a small library intended for internal use by
GNOME Games, but it may be used by others.") GNOME Games, but it may be used by others.")
(license license:lgpl3+))) (license license:lgpl3+)))
(define-public libgnome-games-support
(package
(inherit libgames-support)
(name "libgnome-games-support")
(version "1.2.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"1rsyf5hbjim7zpk1yar3gv65g1nmw6zbbc0smrmxsfk0f9n3j9m6"))))))
(define-public gnome-klotski (define-public gnome-klotski
(package (package
(name "gnome-klotski") (name "gnome-klotski")
@ -4357,7 +4346,7 @@ (define-public gexiv2
(define-public shotwell (define-public shotwell
(package (package
(name "shotwell") (name "shotwell")
(version "0.26.2") (version "0.26.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -4365,7 +4354,7 @@ (define-public shotwell
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0frjqa6nmh025clwnb74z2rzbdq65wjcp2lf9csgcbkpahyjhrag")))) "1r8fd63r7c5n99hwrkzv9jlrk84z4sa15q3h70pydzfjnfqf90zv"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(propagated-inputs (propagated-inputs
`(("dconf" ,dconf))) `(("dconf" ,dconf)))
@ -4525,7 +4514,7 @@ (define-public gnome-session
(define-public gjs (define-public gjs
(package (package
(name "gjs") (name "gjs")
(version "1.48.3") (version "1.48.6")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -4533,7 +4522,7 @@ (define-public gjs
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0cqgv460wfhwkw6j1h46v6bg29bycg6dfl7c5rv0lfcqmmw7v6v6")))) "04nkig077r7xq55dxg9v46w8i7p8zkkdyja92yv81grq9fx6apz8"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -5274,7 +5263,7 @@ (define-public gnome-bluetooth
(define-public gnome-control-center (define-public gnome-control-center
(package (package
(name "gnome-control-center") (name "gnome-control-center")
(version "3.24.2") (version "3.24.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -5282,7 +5271,7 @@ (define-public gnome-control-center
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0awga40jh6gvn335mn6kyl6yg79frap1znrsz3sw2m27yldlnaiq")))) "18ncjqjj93a39sla2zjr9i6pw59yh87p4jla899lmvi2qajd5923"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -5345,7 +5334,7 @@ (define-public gnome-control-center
(define-public gnome-shell (define-public gnome-shell
(package (package
(name "gnome-shell") (name "gnome-shell")
(version "3.24.2") (version "3.24.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/" (uri (string-append "mirror://gnome/sources/" name "/"
@ -5353,7 +5342,7 @@ (define-public gnome-shell
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1xp2ccmdrvzlczsrcplykwqwx2v4lbmkr0rxyylb06danlw9mivh")))) "1f20x36ymkp1j667hb7s7byly2gqc4m0anldy3qwp38vm8437caq"))))
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
'(#:phases '(#:phases
@ -5733,6 +5722,37 @@ (define-public dconf-editor
software that do not provide their own configuration interface.") software that do not provide their own configuration interface.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
(define-public gnome-default-applications
(package
(name "gnome-default-applications")
(version "0")
(build-system trivial-build-system)
(source #f)
(propagated-inputs
`(("nautilus" ,nautilus)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let* ((out (assoc-ref %outputs "out"))
(apps (string-append out "/share/applications")))
(mkdir-p apps)
(call-with-output-file (string-append apps "/defaults.list")
(lambda (port)
(format port "[Default Applications]\n")
(format port "inode/directory=org.gnome.Nautilus.desktop\n")))
#t))))
(synopsis "Default MIME type associations for the GNOME desktop")
(description
"Given many installed packages which might handle a given MIME type, a
user running the GNOME desktop probably has some preferences: for example,
that folders be opened by default by the Nautilus file manager, not the Baobab
disk usage analyzer. This package establishes that set of default MIME type
associations for GNOME.")
(license license:gpl3+)
(home-page #f)))
(define-public gnome (define-public gnome
(package (package
(name "gnome") (name "gnome")
@ -5746,6 +5766,7 @@ (define-public gnome
`(("adwaita-icon-theme" ,adwaita-icon-theme) `(("adwaita-icon-theme" ,adwaita-icon-theme)
("baobab" ,baobab) ("baobab" ,baobab)
("font-cantarell" ,font-cantarell) ("font-cantarell" ,font-cantarell)
("font-dejavu" ,font-dejavu)
("at-spi2-core" ,at-spi2-core) ("at-spi2-core" ,at-spi2-core)
("dbus" ,dbus) ("dbus" ,dbus)
("dconf" ,dconf) ("dconf" ,dconf)
@ -5757,13 +5778,20 @@ (define-public gnome
("gedit" ,gedit) ("gedit" ,gedit)
("glib-networking" ,glib-networking) ("glib-networking" ,glib-networking)
("gnome-backgrounds" ,gnome-backgrounds) ("gnome-backgrounds" ,gnome-backgrounds)
("gnome-bluetooth" ,gnome-bluetooth)
("gnome-calculator" ,gnome-calculator)
("gnome-control-center" ,gnome-control-center) ("gnome-control-center" ,gnome-control-center)
("gnome-disk-utility" ,gnome-disk-utility)
("gnome-default-applications" ,gnome-default-applications)
("gnome-keyring" ,gnome-keyring) ("gnome-keyring" ,gnome-keyring)
("gnome-online-accounts" ,gnome-online-accounts)
("gnome-session" ,gnome-session) ("gnome-session" ,gnome-session)
("gnome-settings-daemon" ,gnome-settings-daemon) ("gnome-settings-daemon" ,gnome-settings-daemon)
("gnome-shell" ,gnome-shell) ("gnome-shell" ,gnome-shell)
("gnome-system-monitor" ,gnome-system-monitor)
("gnome-terminal" ,gnome-terminal) ("gnome-terminal" ,gnome-terminal)
("gnome-themes-standard" ,gnome-themes-standard) ("gnome-themes-standard" ,gnome-themes-standard)
("gucharmap" ,gucharmap)
("gvfs" ,gvfs) ("gvfs" ,gvfs)
("hicolor-icon-theme" ,hicolor-icon-theme) ("hicolor-icon-theme" ,hicolor-icon-theme)
("nautilus" ,nautilus) ("nautilus" ,nautilus)

View file

@ -186,14 +186,14 @@ (define-public libmicrohttpd
(define-public gnurl (define-public gnurl
(package (package
(name "gnurl") (name "gnurl")
(version "7.55.0") (version "7.55.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://gnunet.org/sites/default/files/" (uri (string-append "https://gnunet.org/sites/default/files/"
name "-" version ".tar.bz2")) name "-" version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0i9bik76rbyag3mbxbk8j383iaxs5v7lmjkn4v36ascl6bdks6vn")))) "118vb2mc5ivsbrkqzg40w56raf5jdnx00cfmkh735w0mjfy6wccv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(outputs '("out" (outputs '("out"
"doc")) ; 1.5 MiB of man3 pages "doc")) ; 1.5 MiB of man3 pages

View file

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 Andy Wingo <wingo@igalia.com> ;;; Copyright © 2016, 2017 Andy Wingo <wingo@igalia.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -25,6 +26,7 @@ (define-module (gnu packages gobby)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnome) #:use-module (gnu packages gnome)
#:use-module (gnu packages gsasl)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
@ -96,7 +98,10 @@ (define-public obby
documents in one session. Obby is used by the Gobby collaborative editor.") documents in one session. Obby is used by the Gobby collaborative editor.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public gobby ;; Although there is a newer version of Gobby defined below, the protocols are
;; incompatible; you need Gobby 0.4 if you want to connect to servers running
;; the 0.4 protocol.
(define-public gobby-0.4
(package (package
(name "gobby") (name "gobby")
(version "0.4.13") (version "0.4.13")
@ -127,5 +132,81 @@ (define-public gobby
(description (description
"Collaborative editor that supports multiple documents in one session and "Collaborative editor that supports multiple documents in one session and
a multi-user chat. Gobby allows multiple users to edit the same document a multi-user chat. Gobby allows multiple users to edit the same document
together over the internet in real-time.
This is the older 0.4 version of Gobby. Use this version only if you need to
connect to a server running the old 0.4 protocol.")
(license license:gpl2+)))
(define-public gobby
(package
(name "gobby")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append "http://releases.0x539.de/gobby/gobby-"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"165x0r668ma5blziisvbr8qig3jw9hf7i6w8r7wwvz3wsac3bswc"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)))
(inputs
`(("gnutls" ,gnutls)
("gsasl" ,gsasl)
("gtkmm-2" ,gtkmm-2)
("gtksourceview-2" ,gtksourceview-2)
("libinfinity" ,libinfinity)
("libxml++-2" ,libxml++-2)))
(arguments
;; Required by libsigc++.
`(#:configure-flags '("CXXFLAGS=-std=c++11")
#:phases
(modify-phases %standard-phases
(add-after 'install 'move-executable
(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion (assoc-ref outputs "out")
(rename-file "bin/gobby-0.5" "bin/gobby"))
#t)))))
(home-page "https://gobby.github.io/")
(synopsis "Collaborative editor")
(description
"Collaborative editor that supports multiple documents in one session and
a multi-user chat. Gobby allows multiple users to edit the same document
together over the internet in real-time.") together over the internet in real-time.")
(license license:gpl2+))) (license license:gpl2+)))
(define-public libinfinity
(package
(name "libinfinity")
(version "0.6.8")
(source
(origin
(method url-fetch)
(uri (string-append "http://releases.0x539.de/libinfinity/libinfinity-"
version ".tar.gz"))
(sha256
(base32
"0nylsb6qz9pjw3agjp27c4za205i6zg6i5g1vgs5vbdnbh77wkhc"))))
(build-system gnu-build-system)
(inputs
`(("glib" ,glib)
("gsasl" ,gsasl)
("gtk+" ,gtk+-2)
("libxml2" ,libxml2)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags (list "--with-inftextgtk"
"--with-infgtk")))
(home-page "https://gobby.github.io/")
(synopsis "Infininote protocol implementation")
(description "libinfinity is a library to build collaborative text
editors. Changes to the text buffers are synced to all other clients over a
central server. Even though a central server is involved, the local user sees
his changes applied instantly and the merging is done on the individual
clients.")
(license license:lgpl2.1+)))

View file

@ -36,11 +36,13 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages bash) #:use-module (gnu packages bash)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages boost) #:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages documentation) #:use-module (gnu packages documentation)
#:use-module (gnu packages haskell) #:use-module (gnu packages haskell)
#:use-module (gnu packages image) #:use-module (gnu packages image)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate
@ -60,6 +62,7 @@ (define-module (gnu packages graphics)
#:use-module (gnu packages qt) #:use-module (gnu packages qt)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages sdl) #:use-module (gnu packages sdl)
#:use-module (gnu packages swig)
#:use-module (gnu packages video) #:use-module (gnu packages video)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
@ -228,6 +231,74 @@ (define-public ilmbase
exception-handling library.") exception-handling library.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ogre
(package
(name "ogre")
(version "1.10.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/OGRECave/" name
"/archive/v" version ".tar.gz"))
(sha256
(base32
"1ab354bmwwryxr4zgxchfkm6h4z38mjgif8yn89x640rsrgw5ipj"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'configure 'pre-configure
(lambda _
;; It expects googletest source to be downloaded and
;; be in a specific place.
(substitute* "Tests/CMakeLists.txt"
(("URL(.*)$" _ suffix)
(string-append "URL " suffix
"\t\tURL_HASH "
"MD5=16877098823401d1bf2ed7891d7dce36\n")))
#t))
(add-before 'build 'pre-build
(lambda* (#:key inputs #:allow-other-keys)
(copy-file (assoc-ref inputs "googletest-source")
(string-append (getcwd)
"/Tests/googletest-prefix/src/"
"release-1.8.0.tar.gz"))
#t)))
#:configure-flags
(list "-DOGRE_BUILD_TESTS=TRUE"
(string-append "-DCMAKE_INSTALL_RPATH="
(assoc-ref %outputs "out") "/lib:"
(assoc-ref %outputs "out") "/lib/OGRE:"
(assoc-ref %build-inputs "googletest") "/lib")
"-DOGRE_INSTALL_DOCS=TRUE"
"-DOGRE_INSTALL_SAMPLES=TRUE"
"-DOGRE_INSTALL_SAMPLES_SOURCE=TRUE")))
(native-inputs
`(("boost" ,boost)
("doxygen" ,doxygen)
("googletest-source" ,(package-source googletest))
("pkg-config" ,pkg-config)))
(inputs
`(("font-dejavu" ,font-dejavu)
("freeimage" ,freeimage)
("freetype" ,freetype)
("glu" ,glu)
("googletest" ,googletest)
("sdl2" ,sdl2)
("libxaw" ,libxaw)
("libxrandr" ,libxrandr)
("tinyxml" ,tinyxml)
("zziplib" ,zziplib)))
(synopsis "Scene-oriented, flexible 3D engine written in C++")
(description
"OGRE (Object-Oriented Graphics Rendering Engine) is a scene-oriented,
flexible 3D engine written in C++ designed to make it easier and more intuitive
for developers to produce applications utilising hardware-accelerated 3D
graphics.")
(home-page "http://www.ogre3d.org/")
(license license:expat)))
(define-public openexr (define-public openexr
(package (package
(name "openexr") (name "openexr")

View file

@ -0,0 +1,52 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages ham-radio)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (guix build-system cmake))
(define-public rtl-sdr
(package
(name "rtl-sdr")
(version "0.5.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://cgit.osmocom.org/rtl-sdr/snapshot/rtl-sdr-"
version ".tar.xz"))
(sha256
(base32
"08awca3v28sa4lxym4r81pzf0la0j86wbmpyhv3xd53an9gkpjy9"))))
(build-system cmake-build-system)
(inputs
`(("libusb" ,libusb)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON")
#:tests? #f)) ; No tests
(home-page "https://osmocom.org/projects/sdr/wiki/rtl-sdr")
(synopsis "Software defined radio driver for Realtek RTL2832U")
(description "DVB-T dongles based on the Realtek RTL2832U can be used as a
cheap software defined radio, since the chip allows transferring the raw I/Q
samples to the host. @code{rtl-sdr} provides drivers for this purpose.")
(license license:gpl2+)))

View file

@ -10,6 +10,7 @@
;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com> ;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -1324,7 +1325,7 @@ (define-public ghc-streaming-commons
(define-public cpphs (define-public cpphs
(package (package
(name "cpphs") (name "cpphs")
(version "1.19.3") (version "1.20.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -1333,7 +1334,7 @@ (define-public cpphs
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1njpmxgpah5pcqppcl1cxb5xicf6xlqrd162qm12khp9hainlm72")))) "1bh524asqhk9v1s0wvipl0hgn7l63iy3js867yv0z3h5v2kn8vg5"))))
(build-system haskell-build-system) (build-system haskell-build-system)
(inputs (inputs
`(("ghc-polyparse" ,ghc-polyparse) `(("ghc-polyparse" ,ghc-polyparse)
@ -1807,6 +1808,26 @@ (define-public ghc-text
in terms of large data quantities and high speed.") in terms of large data quantities and high speed.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-strict
(package
(name "ghc-strict")
(version "0.3.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/strict/strict-"
version ".tar.gz"))
(sha256
(base32 "08cjajqz9h47fkq98mlf3rc8n5ghbmnmgn8pfsl3bdldjdkmmlrc"))))
(build-system haskell-build-system)
(home-page "https://hackage.haskell.org/package/strict")
(synopsis "Strict data types and String IO")
(description
"This package provides strict versions of some standard Haskell data
types, such as pairs, @code{Maybe} and @code{Either}. It also contains strict
IO operations.")
(license license:bsd-3)))
(define-public ghc-hashable (define-public ghc-hashable
(package (package
(name "ghc-hashable") (name "ghc-hashable")
@ -1837,6 +1858,51 @@ (define-public ghc-hashable
combine hash values.") combine hash values.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-data-hash
(package
(name "ghc-data-hash")
(version "0.2.0.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/data-hash"
"/data-hash-" version ".tar.gz"))
(sha256
(base32 "1ghbqvc48gf9p8wiy71hdpaj7by3b9cw6wgwi3qqz8iw054xs5wi"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
(home-page "https://hackage.haskell.org/package/data-hash")
(synopsis "Combinators for building fast hashing functions")
(description
"This package provides combinators for building fast hashing functions.
It includes hashing functions for all basic Haskell98 types.")
(license license:bsd-3)))
(define-public ghc-murmur-hash
(package
(name "ghc-murmur-hash")
(version "0.1.0.9")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/murmur-hash"
"/murmur-hash-" version ".tar.gz"))
(sha256
(base32 "1bb58kfnzvx3mpc0rc0dhqc1fk36nm8prd6gvf20gk6lxaadpfc9"))))
(build-system haskell-build-system)
(home-page "https://github.com/nominolo/murmur-hash")
(synopsis "MurmurHash2 implementation for Haskell")
(description
"This package provides an implementation of MurmurHash2, a good, fast,
general-purpose, non-cryptographic hashing function. See
@url{https://sites.google.com/site/murmurhash/} for details. This
implementation is pure Haskell, so it might be a bit slower than a C FFI
binding.")
(license license:bsd-3)))
(define-public ghc-hunit (define-public ghc-hunit
(package (package
(name "ghc-hunit") (name "ghc-hunit")
@ -3806,6 +3872,55 @@ (define-public ghc-vault
representing a store for a single element.") representing a store for a single element.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-edisonapi
(package
(name "ghc-edisonapi")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/EdisonAPI"
"/EdisonAPI-" version ".tar.gz"))
(sha256
(base32 "0vmmlsj8ggbpwx6fkf5fvb6jp0zpx6iba6b28m80lllr2p8bi8wm"))))
(build-system haskell-build-system)
(inputs `(("ghc-mtl" ,ghc-mtl)))
(home-page "http://rwd.rdockins.name/edison/home/")
(synopsis "Library of efficient, purely-functional data structures (API)")
(description
"Edison is a library of purely functional data structures written by
Chris Okasaki. It is named after Thomas Alva Edison and for the mnemonic
value EDiSon (Efficient Data Structures). Edison provides several families of
abstractions, each with multiple implementations. The main abstractions
provided by Edison are: Sequences such as stacks, queues, and dequeues;
Collections such as sets, bags and heaps; and Associative Collections such as
finite maps and priority queues where the priority and element are distinct.")
(license license:expat)))
(define-public ghc-edisoncore
(package
(name "ghc-edisoncore")
(version "1.3.1.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/EdisonCore"
"/EdisonCore-" version ".tar.gz"))
(sha256
(base32 "06shxmcqxcahcn6zgl64vlqix4fnq53d97drcgsh94qp7gp201ry"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-edisonapi" ,ghc-edisonapi)))
(home-page "http://rwd.rdockins.name/edison/home/")
(synopsis "Library of efficent, purely-functional data structures")
(description
"This package provides the core Edison data structure implementations,
including multiple sequence, set, bag, and finite map concrete implementations
with various performance characteristics.")
(license license:expat)))
(define-public ghc-mmorph (define-public ghc-mmorph
(package (package
(name "ghc-mmorph") (name "ghc-mmorph")
@ -3855,6 +3970,50 @@ (define-public ghc-monad-control
@code{catch} can be lifted from @code{IO} or any other base monad.") @code{catch} can be lifted from @code{IO} or any other base monad.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-fail
(package
(name "ghc-fail")
(version "4.9.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/fail/fail-"
version ".tar.gz"))
(sha256
(base32 "18nlj6xvnggy61gwbyrpmvbdkq928wv0wx2zcsljb52kbhddnp3d"))))
(build-system haskell-build-system)
(home-page "https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail")
(synopsis "Forward-compatible MonadFail class")
(description
"This package contains the @code{Control.Monad.Fail} module providing the
@uref{https://prime.haskell.org/wiki/Libraries/Proposals/MonadFail, MonadFail}
class that became available in
@uref{https://hackage.haskell.org/package/base-4.9.0.0, base-4.9.0.0} for
older @code{base} package versions. This package turns into an empty package
when used with GHC versions which already provide the
@code{Control.Monad.Fail} module.")
(license license:bsd-3)))
(define-public ghc-monadplus
(package
(name "ghc-monadplus")
(version "1.4.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/monadplus"
"/monadplus-" version ".tar.gz"))
(sha256
(base32 "15b5320wdpmdp5slpphnc1x4rhjch3igw245dp2jxbqyvchdavin"))))
(build-system haskell-build-system)
(home-page "https://hackage.haskell.org/package/monadplus")
(synopsis "Filtering and folding over arbitrary MonadPlus instances")
(description
"This package generalizes many common stream operations such as
@code{filter}, @code{catMaybes} etc, enabling filtering and folding over
arbitrary @code{MonadPlus} instances.")
(license license:bsd-3)))
(define-public ghc-byteorder (define-public ghc-byteorder
(package (package
(name "ghc-byteorder") (name "ghc-byteorder")
@ -4694,6 +4853,35 @@ (define-public ghc-adjunctions
for Haskell.") for Haskell.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-equivalence
(package
(name "ghc-equivalence")
(version "0.3.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/equivalence"
"/equivalence-" version ".tar.gz"))
(sha256
(base32 "0a85bdyyvjqs5z4kfhhf758210k9gi9dv42ik66a3jl0z7aix8kx"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
("ghc-stmonadtrans" ,ghc-stmonadtrans)
("ghc-transformers-compat" ,ghc-transformers-compat)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
(home-page "https://github.com/pa-ba/equivalence")
(synopsis "Maintaining an equivalence relation implemented as union-find")
(description
"This is an implementation of Tarjan's Union-Find algorithm (Robert E.@:
Tarjan. \"Efficiency of a Good But Not Linear Set Union Algorithm\",JACM
22(2), 1975) in order to maintain an equivalence relation. This
implementation is a port of the @code{union-find} package using the @code{ST}
monad transformer (instead of the IO monad).")
(license license:bsd-3)))
(define-public ghc-fast-logger (define-public ghc-fast-logger
(package (package
(name "ghc-fast-logger") (name "ghc-fast-logger")
@ -5081,6 +5269,28 @@ (define-public ghc-aeson-pretty
essentially the opposite of pretty-printing.") essentially the opposite of pretty-printing.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-boxes
(package
(name "ghc-boxes")
(version "0.1.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/boxes/boxes-"
version ".tar.gz"))
(sha256
(base32 "1n7xiplzd3s1a39nizwjcgsh3wi2348mp21c3fk19v98ialfjgjf"))))
(build-system haskell-build-system)
(inputs
`(("ghc-split" ,ghc-split)
("ghc-quickcheck" ,ghc-quickcheck)))
(home-page "https://hackage.haskell.org/package/boxes")
(synopsis "2D text pretty-printing library")
(description
"Boxes is a pretty-printing library for laying out text in two dimensions,
using a simple box model.")
(license license:bsd-3)))
(define-public ghc-wai (define-public ghc-wai
(package (package
(name "ghc-wai") (name "ghc-wai")
@ -5565,6 +5775,50 @@ (define-public ghc-th-orphans
package, and that's where the version number started.") package, and that's where the version number started.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-geniplate-mirror
(package
(name "ghc-geniplate-mirror")
(version "0.7.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package"
"/geniplate-mirror"
"/geniplate-mirror-" version ".tar.gz"))
(sha256
(base32 "17vjps2118s5z3k39ij00lkmkxv3mqf8h59wv6qdamlgmhyr36si"))))
(build-system haskell-build-system)
(inputs `(("ghc-mtl" ,ghc-mtl)))
(home-page "https://github.com/danr/geniplate")
(synopsis "Use Template Haskell to generate Uniplate-like functions")
(description
"Use Template Haskell to generate Uniplate-like functions. This is a
maintained mirror of the @uref{https://hackage.haskell.org/package/geniplate,
geniplate} package, written by Lennart Augustsson.")
(license license:bsd-3)))
(define-public ghc-gitrev
(package
(name "ghc-gitrev")
(version "1.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/gitrev/gitrev-"
version ".tar.gz"))
(sha256
(base32 "0cl3lfm6k1h8fxp2vxa6ihfp4v8igkz9h35iwyq2frzm4kdn96d8"))))
(build-system haskell-build-system)
(inputs `(("ghc-base-compat" ,ghc-base-compat)))
(home-page "https://github.com/acfoltzer/gitrev")
(synopsis "Compile git revision info into Haskell projects")
(description
"This package provides some handy Template Haskell splices for including
the current git hash and branch in the code of your project. This is useful
for including in panic messages, @command{--version} output, or diagnostic
info for more informative bug reports.")
(license license:bsd-3)))
(define-public ghc-haskell-src-meta (define-public ghc-haskell-src-meta
(package (package
(name "ghc-haskell-src-meta") (name "ghc-haskell-src-meta")
@ -6078,6 +6332,31 @@ (define-public ghc-asn1-parse
when ASN1 pattern matching is not convenient.") when ASN1 pattern matching is not convenient.")
(license license:bsd-3))) (license license:bsd-3)))
(define-public ghc-edit-distance
(package
(name "ghc-edit-distance")
(version "0.2.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/edit-distance"
"/edit-distance-" version ".tar.gz"))
(sha256
(base32 "0jkca97zyv23yyilp3jydcrzxqhyk27swhzh82llvban5zp8b21y"))))
(build-system haskell-build-system)
(inputs
`(("ghc-random" ,ghc-random)
("ghc-test-framework" ,ghc-test-framework)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
(home-page "https://github.com/phadej/edit-distance")
(synopsis "Levenshtein and restricted Damerau-Levenshtein edit distances")
(description
"This package provides optimized functions to determine the edit
distances for fuzzy matching, including Levenshtein and restricted
Damerau-Levenshtein algorithms.")
(license license:bsd-3)))
(define-public ghc-tasty-kat (define-public ghc-tasty-kat
(package (package
(name "ghc-tasty-kat") (name "ghc-tasty-kat")
@ -7056,6 +7335,27 @@ (define-public ghc-transformers-0.4.2.0
(base32 (base32
"0a364zfcm17mhpy0c4ms2j88sys4yvgd6071qsgk93la2wjm8mkr")))))) "0a364zfcm17mhpy0c4ms2j88sys4yvgd6071qsgk93la2wjm8mkr"))))))
(define-public ghc-stmonadtrans
(package
(name "ghc-stmonadtrans")
(version "0.4.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/STMonadTrans"
"/STMonadTrans-" version ".tar.gz"))
(sha256
(base32 "1nr26fnmi5fdjc6d00w13kjhmfyvb5b837d0006w4dj0yxndaksp"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)))
(home-page "https://hackage.haskell.org/package/STMonadTrans")
(synopsis "Monad transformer version of the ST monad")
(description
"This package provides a monad transformer version of the @code{ST} monad
for strict state threads.")
(license license:bsd-3)))
(define-public ghc-findbin (define-public ghc-findbin
(package (package
(name "ghc-findbin") (name "ghc-findbin")

View file

@ -16,6 +16,7 @@
;;; Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org> ;;; Copyright © 2016, 2017 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2017 ng0 <ng0@infotropique.org> ;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com> ;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -48,6 +49,8 @@ (define-module (gnu packages image)
#:use-module (gnu packages gl) #:use-module (gnu packages gl)
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages graphics) #:use-module (gnu packages graphics)
#:use-module (gnu packages gtk)
#:use-module (gnu packages lua)
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages mcrypt) #:use-module (gnu packages mcrypt)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -61,6 +64,8 @@ (define-module (gnu packages image)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (srfi srfi-1)) #:use-module (srfi srfi-1))
(define-public libpng (define-public libpng
@ -177,6 +182,29 @@ (define-public libpng-1.2
(sha256 (sha256
(base32 "1n2lrzjkm5jhfg2bs10q398lkwbbx742fi27zgdgx0x23zhj0ihg")))))) (base32 "1n2lrzjkm5jhfg2bs10q398lkwbbx742fi27zgdgx0x23zhj0ihg"))))))
(define-public r-png
(package
(name "r-png")
(version "0.1-7")
(source (origin
(method url-fetch)
(uri (cran-uri "png" version))
(sha256
(base32
"0g2mcp55lvvpx4kd3mn225mpbxqcq73wy5qx8b4lyf04iybgysg2"))))
(build-system r-build-system)
(inputs
`(("libpng" ,libpng)
("zlib" ,zlib)))
(home-page "http://www.rforge.net/png/")
(synopsis "Read and write PNG images")
(description
"This package provides an easy and simple way to read, write and display
bitmap images stored in the PNG format. It can read and write both files and
in-memory raw vectors.")
;; Any of these GPL versions.
(license (list license:gpl2 license:gpl3))))
(define-public pngcrunch (define-public pngcrunch
(package (package
(name "pngcrunch") (name "pngcrunch")
@ -1157,3 +1185,46 @@ (define-public niftilib
(fMRI) brain images.") (fMRI) brain images.")
(home-page "http://niftilib.sourceforge.net") (home-page "http://niftilib.sourceforge.net")
(license license:public-domain))) (license license:public-domain)))
(define-public gpick
(package
(name "gpick")
(version "0.2.5")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/thezbyg/gpick/archive/"
name "-" version ".tar.gz"))
(sha256
(base32
"0mxvxk15xhk2i5vfavjhnkk4j3bnii0gpf8di14rlbpq070hd5rs"))))
(build-system python-build-system)
(native-inputs
`(("boost" ,boost)
("gettext" ,gnu-gettext)
("pkg-config" ,pkg-config)
("scons" ,scons)))
(inputs
`(("expat" ,expat)
("gtk2" ,gtk+-2)
("lua" ,lua-5.2)))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-lua-reference
(lambda _
(substitute* "SConscript"
(("lua5.2") "lua-5.2"))
#t))
(replace 'build
(lambda _
(zero? (system* "scons"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((dest (assoc-ref outputs "out")))
(zero? (system* "scons" "install"
(string-append "DESTDIR=" dest)))))))))
(home-page "http://www.gpick.org/")
(synopsis "Color picker")
(description "Gpick is an advanced color picker and palette editing tool.")
(license license:bsd-3)))

View file

@ -175,7 +175,11 @@ (define-public graphicsmagick
"/GraphicsMagick-" version ".tar.xz"))) "/GraphicsMagick-" version ".tar.xz")))
(sha256 (sha256
(base32 (base32
"122zgs96dqrys62mnh8x5yvfff6km4d3yrnvaxzg3mg5sprib87v")))) "122zgs96dqrys62mnh8x5yvfff6km4d3yrnvaxzg3mg5sprib87v"))
(patches
(search-patches "graphicsmagick-CVE-2017-12935.patch"
"graphicsmagick-CVE-2017-12936.patch"
"graphicsmagick-CVE-2017-12937.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:configure-flags `(#:configure-flags

View file

@ -301,14 +301,14 @@ (define-public sic
(define-public limnoria (define-public limnoria
(package (package
(name "limnoria") (name "limnoria")
(version "2017.03.30") (version "2017.08.18")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "limnoria" version)) (uri (pypi-uri "limnoria" version))
(sha256 (sha256
(base32 (base32
"1q0y6iglg1cbhimgjz3afws51as3shy6rd61dck7jfm25y8pi6g8")))) "1hij444l45mjli8i67iyd3syf263ijj1l0cm3irqjjxv5r3f9zjj"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("python-pytz" ,python-pytz) `(("python-pytz" ,python-pytz)

View file

@ -1064,7 +1064,7 @@ (define-public icedtea-6
(license license:gpl2+))) (license license:gpl2+)))
(define-public icedtea-7 (define-public icedtea-7
(let* ((version "2.6.10") (let* ((version "2.6.11")
(drop (lambda (name hash) (drop (lambda (name hash)
(origin (origin
(method url-fetch) (method url-fetch)
@ -1082,7 +1082,7 @@ (define-public icedtea-7
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0am945k2zqrka2xn7lb5grmkad4lwncnhnwk8iq6f269birzsj8w")) "1ibp6ybqnf8g7mbs45bkbv44dwz4h2w9gr4rh15yvr1m8lqkq1i0"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(substitute* "Makefile.in" '(substitute* "Makefile.in"
@ -1475,25 +1475,25 @@ (define (import-cert cert)
(native-inputs (native-inputs
`(("openjdk-src" `(("openjdk-src"
,(drop "openjdk" ,(drop "openjdk"
"02klsxp9hlf5sial6mxpiq53hmrhlrg6x774j7bjjfhb7hpdvadh")) "1zhr4l9kxnbzghcsgjk3vmih9qpg1wrr9qry7fx04l97svp1ylhd"))
("corba-drop" ("corba-drop"
,(drop "corba" ,(drop "corba"
"1vbly6khri241xda05gnwkpf2fk41d96ls96ximi084mx0a3w5rd")) "108v15ncb2rnsyzgzncjlm1f57d1sv60zd9qbpas8kqmvpp8r0gz"))
("jaxp-drop" ("jaxp-drop"
,(drop "jaxp" ,(drop "jaxp"
"0s8zln64vdwdxwlw1vpfzm8xbpyhgsv3nqjmnv7y36qpsszg27a5")) "0zcpcmm3g1s7m31glrbw3ys7azi97ixcvbyxd40y9xzdja3jyr52"))
("jaxws-drop" ("jaxws-drop"
,(drop "jaxws" ,(drop "jaxws"
"0myd66bv8ib8krzgqv754bc564rd8xwpwabvf7my1apyb86vap3n")) "1gkqm0p3sr8d0xpki3fhf7cvmgqxx8ambgl5f3jx2plfnhsg96d2"))
("jdk-drop" ("jdk-drop"
,(drop "jdk" ,(drop "jdk"
"10b4lfv10vba07zblw0wii7mhrfhf32pf7410x5nz2q0smgszl2h")) "1d9fjnzdx4m6gwkvmj2n097ag0mvkhm3lldaxjki8x8c6a5clknf"))
("langtools-drop" ("langtools-drop"
,(drop "langtools" ,(drop "langtools"
"0lvncxb5qzrlqkflrnd0l8vwy155cwj1jb07rkq10z2vx0bq7lq2")) "0zscdp9arcq7gr8j7jq4m75gq0w1i3ryxpdnrc8fl0msh4w2s2k5"))
("hotspot-drop" ("hotspot-drop"
,(drop "hotspot" ,(drop "hotspot"
"0q6mdgbbd3681y3n0z1v783irdjhhi73z6sn5csczpyhjm318axb")) "1y6vnssn5y50x27g4ypdb5wwpmi7zf7jdi8gqbymkwf6n8p5y1d6"))
("ant" ,ant-bootstrap) ("ant" ,ant-bootstrap)
("attr" ,attr) ("attr" ,attr)
("coreutils" ,coreutils) ("coreutils" ,coreutils)
@ -1543,7 +1543,7 @@ (define (import-cert cert)
(license license:gpl2+)))) (license license:gpl2+))))
(define-public icedtea-8 (define-public icedtea-8
(let* ((version "3.5.0") (let* ((version "3.5.1")
(drop (lambda (name hash) (drop (lambda (name hash)
(origin (origin
(method url-fetch) (method url-fetch)
@ -1552,7 +1552,7 @@ (define-public icedtea-8
"/icedtea8/" version "/" name ".tar.xz")) "/icedtea8/" version "/" name ".tar.xz"))
(sha256 (base32 hash)))))) (sha256 (base32 hash))))))
(package (inherit icedtea-7) (package (inherit icedtea-7)
(version "3.5.0") (version "3.5.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -1560,7 +1560,7 @@ (define-public icedtea-8
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1dfa7ing61i73m6wfx2kx59q44npqdiy7cd66xmslyy0xh09xa4s")) "1j8iv0cdk9fkh3yb5is7z29m9k3s89w6y9090538j6aa7p4nmalf"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -1632,34 +1632,34 @@ (define-public icedtea-8
`(("jdk" ,icedtea-7 "jdk") `(("jdk" ,icedtea-7 "jdk")
("openjdk-src" ("openjdk-src"
,(drop "openjdk" ,(drop "openjdk"
"0di7gmyis1p6rpksmff1q21ck85i51sqcl9awqyvg7xiwggq0wsm")) "0a6yrq8y1zkzc7hm2l28rm3vzy5izfxhmmhhhvc91lhfclnqcd2q"))
("aarch32-drop" ("aarch32-drop"
,(drop "aarch32" ,(drop "aarch32"
"0cway5a5hcfyh4pzl9zz5xr7lil4gsliy6r5iqbaasd2d9alvqiq")) "0cway5a5hcfyh4pzl9zz5xr7lil4gsliy6r5iqbaasd2d9alvqiq"))
("corba-drop" ("corba-drop"
,(drop "corba" ,(drop "corba"
"1xk64bsdxfc66g61d8k6xrhqj8rc56vzrlxx6s23gkr45604bl8x")) "031sc6byd8lqvz3cd07phm13pqrxalxk9f3a2q8pim5n4sbsy0qb"))
("jaxp-drop" ("jaxp-drop"
,(drop "jaxp" ,(drop "jaxp"
"1iw9xa4s5kxijdqpf0ih4x6g0lw142yy11vrzfmz6n1y4b0ic7iw")) "1815jaj0k0w1s0g0jr1ahkajp1jx2qlb08i6l9ha4wyqqyp49a4n"))
("jaxws-drop" ("jaxws-drop"
,(drop "jaxws" ,(drop "jaxws"
"14p2l4j985wh5cdd4hfmm18gb5wmry73yiysdx9pg3aqpkw9qms7")) "0vh4f85cxhqvabzg86ycpz02519cdzgsn5dr75k22rkmbbxnbbl6"))
("jdk-drop" ("jdk-drop"
,(drop "jdk" ,(drop "jdk"
"1qwmb80vicn7jd801f3j23lyil7327ks54d3s87czwv8h108m40r")) "196ycqz4d9kknc6b219q4ib83l1kkl6w6l1cznw9bzaafyynqa35"))
("langtools-drop" ("langtools-drop"
,(drop "langtools" ,(drop "langtools"
"175pi2privhcvn9sbam5mhhgcvicfqbgldiw25fi5g80fqkkrza9")) "0ssnadlr5cxhmj06nmni34kdynix1sjhcvjzahm5yzfd7dfllmgy"))
("hotspot-drop" ("hotspot-drop"
,(drop "hotspot" ,(drop "hotspot"
"1qdyn02p4ssl3p7z9aadhzl9qdam2q7pvwddz2jkyvajcrxb0mpi")) "0f7fxf0s9kadvs80hm5ga72pyp9r0fvl8zm1wmd1wrks8kl79sd6"))
("nashorn-drop" ("nashorn-drop"
,(drop "nashorn" ,(drop "nashorn"
"0kzmpf5b9kwhrvnwn7m20q3dzz8s82jjvbac84606x3ff97xk5gr")) "0m95qgnd4z6p0xp9m06ihss7skx2yrm7xw69jsjsrxpriy1shiwy"))
("shenandoah-drop" ("shenandoah-drop"
,(drop "shenandoah" ,(drop "shenandoah"
"0kjc5m5jj2bzyy1vj1s59khv5xjfnkxy18z0g4bdb1kb3g21c5wi")) "0yjlcgp6mldp30hmkfl68mdwlbg3gb0m6xd5y7srczni7cln5f3i"))
,@(fold alist-delete (package-native-inputs icedtea-7) ,@(fold alist-delete (package-native-inputs icedtea-7)
'("jdk" "openjdk-src" "corba-drop" "jaxp-drop" "jaxws-drop" '("jdk" "openjdk-src" "corba-drop" "jaxp-drop" "jaxws-drop"
"jdk-drop" "langtools-drop" "hotspot-drop"))))))) "jdk-drop" "langtools-drop" "hotspot-drop")))))))

File diff suppressed because it is too large Load diff

View file

@ -258,7 +258,7 @@ (define-public libkomparediff2
(define-public libksysguard (define-public libksysguard
(package (package
(name "libksysguard") (name "libksysguard")
(version "5.8.2") (version "5.10.4")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -266,7 +266,7 @@ (define-public libksysguard
"/libksysguard-" version ".tar.xz")) "/libksysguard-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"158n30wbpsgbw3axhhsc58hnwhwdd02j3zc9hhcybmnbkfl5c96l")))) "01w0laywva0p0ar2lvr1k5000bhjikjfxsb4f6p30qswrchrmrh3"))))
(native-inputs (native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules) `(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
@ -303,7 +303,7 @@ (define-public libksysguard
(replace 'check (replace 'check
(lambda _ ;other tests require a display and therefore fail (lambda _ ;other tests require a display and therefore fail
(zero? (system* "ctest" "-R" "chronotest"))))))) (zero? (system* "ctest" "-R" "chronotest")))))))
(home-page "https://www.kde.org/info/plasma-5.8.2.php") (home-page "https://www.kde.org/info/plasma-5.10.4.php")
(synopsis "Network enabled task and system monitoring") (synopsis "Network enabled task and system monitoring")
(description "KSysGuard can obtain information on system load and (description "KSysGuard can obtain information on system load and
manage running processes. It obtains this information by interacting manage running processes. It obtains this information by interacting

View file

@ -789,7 +789,7 @@ (define xmlsec-src-libreoffice
(define-public libreoffice (define-public libreoffice
(package (package
(name "libreoffice") (name "libreoffice")
(version "5.3.2.2") (version "5.3.5.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -798,7 +798,7 @@ (define-public libreoffice
"http://download.documentfoundation.org/libreoffice/src/" "http://download.documentfoundation.org/libreoffice/src/"
(version-prefix version 3) "/libreoffice-" version ".tar.xz")) (version-prefix version 3) "/libreoffice-" version ".tar.xz"))
(sha256 (base32 (sha256 (base32
"1bcy1wx2cixawpd6cpivakwcwv8ryyy25kdw0fbci319p5gaj4c8")))) "1sknmb9bhm8mxyfycqbwng1jqs4avyp1ffcla7dhlpwqs1aqxvx5"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(;; autoreconf is run by the LibreOffice build system, since after `(;; autoreconf is run by the LibreOffice build system, since after

View file

@ -101,6 +101,7 @@ (define-module (gnu packages linux)
#:use-module (gnu packages xorg) #:use-module (gnu packages xorg)
#:use-module (gnu packages groff) #:use-module (gnu packages groff)
#:use-module (gnu packages selinux) #:use-module (gnu packages selinux)
#:use-module (gnu packages swig)
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
@ -366,8 +367,8 @@ (define* (make-linux-libre version hash supported-systems
(define %intel-compatible-systems '("x86_64-linux" "i686-linux")) (define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define %linux-libre-version "4.12.7") (define %linux-libre-version "4.12.8")
(define %linux-libre-hash "1sjkxkcikdgl2w5h7c5pfyqwi29g69dxp4s2z2yavw7aicc91xfq") (define %linux-libre-hash "1p4ah15qs94id2yj6lhp6abdycvgp7lvn3ccsfs7f6n34hdij0cm")
(define-public linux-libre (define-public linux-libre
(make-linux-libre %linux-libre-version (make-linux-libre %linux-libre-version
@ -376,14 +377,14 @@ (define-public linux-libre
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.9 (define-public linux-libre-4.9
(make-linux-libre "4.9.43" (make-linux-libre "4.9.44"
"0fxid4xmnrcq966vz2wsb6spw3i02pvqp2hv8xfrx7dr3hfs9nrr" "0a92bsb5d0pyhyn5ypc8ashwxixhivdadvikcpv31376j842fmj2"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
(define-public linux-libre-4.4 (define-public linux-libre-4.4
(make-linux-libre "4.4.82" (make-linux-libre "4.4.83"
"01bn0vn6i22hhwiqfh29m1cir1jrvz643lz13war8k9l6h0dmmwy" "1fv3j0w0v82aa9s9n4a4qyrxc5bpq2ag9riawlabx57a380x1n62"
%intel-compatible-systems %intel-compatible-systems
#:configuration-file kernel-config)) #:configuration-file kernel-config))
@ -1466,7 +1467,52 @@ (define-public libnl
(base32 (base32
"1r3lw3hjvqxi5zqyq2w1qadm3gisd9nlf71dkl4yplacmssnhm3h")))) "1r3lw3hjvqxi5zqyq2w1qadm3gisd9nlf71dkl4yplacmssnhm3h"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("flex" ,flex) ("bison" ,bison))) (native-inputs
`(("bison" ,bison)
("flex" ,flex)
("pkg-config" ,pkg-config)
("swig" ,swig)
("libnl3-doc"
,(origin
(method url-fetch)
(uri (string-append
"https://github.com/thom311/libnl/releases/download/libnl"
(string-join (string-split version #\.) "_")
"/libnl-doc-" version ".tar.gz"))
(sha256
(base32 "0srab805yj8wb13l64qjyp3mdbqapxg5vk46v3zlhhzpmxqw8j7r"))))))
(inputs
`(("python-2" ,python-2)
("python-3" ,python-3)))
(outputs '("out" "doc" "python2" "python3"))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-python
(lambda* (#:key outputs #:allow-other-keys)
(define (python-inst python)
(let ((ldflags (format #f "LDFLAGS=-Wl,-rpath=~a/lib"
(assoc-ref %outputs "out")))
(pyout (assoc-ref %outputs python)))
(and
(zero? (system (format #f "~a ~a setup.py build"
ldflags python pyout)))
(zero?
(system (format #f "~a ~a setup.py install --prefix=~a"
ldflags python pyout)))
(zero? (system* python "setup.py" "clean")))))
(with-directory-excursion "./python"
(every python-inst '("python2" "python3")))))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((dest (string-append (assoc-ref outputs "doc")
"/share/doc/libnl")))
(mkdir-p dest)
(zero? (system* "tar" "xf" (assoc-ref inputs "libnl3-doc")
"--strip-components=1" "-C" dest))))))))
(home-page "http://www.infradead.org/~tgr/libnl/") (home-page "http://www.infradead.org/~tgr/libnl/")
(synopsis "NetLink protocol library suite") (synopsis "NetLink protocol library suite")
(description (description
@ -4263,3 +4309,34 @@ (define-public procenv
comparing system environments.") comparing system environments.")
(home-page "http://github.com/jamesodhunt/procenv/") (home-page "http://github.com/jamesodhunt/procenv/")
(license license:gpl3+))) (license license:gpl3+)))
(define-public libfabric
(package
(name "libfabric")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/ofiwg/libfabric/releases/download/v"
version "/libfabric-" version ".tar.bz2"))
(sha256
(base32 "19l2m1frna1l765z4j7wl8hp4rb9wrh0hy5496685hd183hmy5pv"))))
(build-system gnu-build-system)
(inputs `(("rdma-core" ,rdma-core)
;; TODO: add psm, psm(2).
("libnl" ,libnl)))
(home-page "https://ofiwg.github.io/libfabric/")
(synopsis "Open Fabric Interfaces")
(description
"OpenFabrics Interfaces (OFI) is a framework focused on exporting fabric
communication services to applications. OFI is best described as a collection
of libraries and applications used to export fabric services. The key
components of OFI are: application interfaces, provider libraries, kernel
services, daemons, and test applications.
Libfabric is a core component of OFI. It is the library that defines and
exports the user-space API of OFI, and is typically the only software that
applications deal with directly. It works in conjunction with provider
libraries, which are often integrated directly into libfabric.")
(license (list license:bsd-2 license:gpl2)))) ;dual

View file

@ -585,6 +585,14 @@ (define-public hdf4
#:configure-flags '("--enable-shared") #:configure-flags '("--enable-shared")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; This is inspired by two of Debian's patches.
(add-before 'configure 'add-more-aarch64-support
(lambda _
(substitute* '("mfhdf/ncgen/ncgen.l"
"mfhdf/ncgen/ncgenyy.c"
"mfhdf/libsrc/netcdf.h.in")
(("AIX5L64") "__aarch64__"))
#t))
(add-before 'configure 'patchbuild (add-before 'configure 'patchbuild
(lambda _ (lambda _
(substitute* (substitute*
@ -596,7 +604,8 @@ (define-public hdf4
-R\\$\\(abs_top_builddir\\)/mfhdf/xdr/\\.libs") "") -R\\$\\(abs_top_builddir\\)/mfhdf/xdr/\\.libs") "")
(("@HDF_BUILD_SHARED_TRUE@AM_LDFLAGS = \ (("@HDF_BUILD_SHARED_TRUE@AM_LDFLAGS = \
-R\\$\\(abs_top_builddir\\)/mfhdf/libsrc/\\.libs \ -R\\$\\(abs_top_builddir\\)/mfhdf/libsrc/\\.libs \
-R\\$\\(abs_top_builddir\\)/hdf/src/\\.libs \\$\\(XDR_ADD\\)") ""))))))) -R\\$\\(abs_top_builddir\\)/hdf/src/\\.libs \\$\\(XDR_ADD\\)") ""))
#t)))))
(home-page "https://www.hdfgroup.org/products/hdf4/") (home-page "https://www.hdfgroup.org/products/hdf4/")
(synopsis (synopsis
"Library and multi-object file format for storing and managing data") "Library and multi-object file format for storing and managing data")

View file

@ -126,6 +126,8 @@ (define-public openmpi
(inputs (inputs
`(("hwloc" ,hwloc "lib") `(("hwloc" ,hwloc "lib")
("gfortran" ,gfortran) ("gfortran" ,gfortran)
("libfabric" ,libfabric)
("rdma-core" ,rdma-core)
("valgrind" ,valgrind))) ("valgrind" ,valgrind)))
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config) `(("pkg-config" ,pkg-config)

View file

@ -952,7 +952,7 @@ (define-public solfege
(define-public powertabeditor (define-public powertabeditor
(package (package
(name "powertabeditor") (name "powertabeditor")
(version "2.0.0-alpha9") (version "2.0.0-alpha10")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append (uri (string-append
@ -961,7 +961,7 @@ (define-public powertabeditor
(file-name (string-append name "-" version ".tar.gz")) (file-name (string-append name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1zjdz1qpkl83xr6dkap8airqcyjs3mxc5dzfyhrrvkyr7dics7ii")) "1fr14ql0yhlqvh6y08yaanszm2nvca5i50rqym396kfvga3ky18x"))
(modules '((guix build utils))) (modules '((guix build utils)))
(snippet (snippet
'(begin '(begin
@ -996,20 +996,13 @@ (define-public powertabeditor
(replace 'check (replace 'check
(lambda _ (lambda _
(zero? (system* "bin/pte_tests" (zero? (system* "bin/pte_tests"
;; FIXME: one test fails. ;; FIXME: these tests fail
"exclude:Formats/PowerTabOldImport/Directions")))) "exclude:Actions/EditStaff"
(add-after 'unpack 'set-target-directories "exclude:Formats/PowerTabOldImport/MergeMultiBarRests"
(lambda _ "exclude:Score/ViewFilter/FilterRule"
(substitute* "cmake/PTE_Executable.cmake" "exclude:Score/ViewFilter/ViewFilter"
(("set\\( install_dir.*") "exclude:Formats/PowerTabOldImport/Directions"
"set( install_dir bin )\n")) ))))
(substitute* "cmake/PTE_Paths.cmake"
(("set\\( PTE_DATA_DIR .*")
"set( PTE_DATA_DIR share/powertabeditor )\n"))
;; Tests hardcode the data directory as "data"
(substitute* "test/CMakeLists.txt"
(("\\$\\{PTE_DATA_DIR\\}") "data"))
#t))
(add-before 'configure 'remove-third-party-libs (add-before 'configure 'remove-third-party-libs
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; Link with required static libraries, because we're not ;; Link with required static libraries, because we're not
@ -3171,3 +3164,37 @@ (define-public musescore
sample library.") sample library.")
(home-page "https://musescore.org") (home-page "https://musescore.org")
(license license:gpl2))) (license license:gpl2)))
(define-public dssi
(package
(name "dssi")
(version "1.1.1")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/dssi/dssi/" version
"/dssi-" version ".tar.gz"))
(sha256
(base32
"0kl1hzhb7cykzkrqcqgq1dk4xcgrcxv0jja251aq4z4l783jpj7j"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
("jack-2" ,jack-2)
("ladspa" ,ladspa)
("libsamplerate" ,libsamplerate)
("libsndfile" ,libsndfile)
("liblo" ,liblo)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis "Audio plugin API for soft synths and effects")
(description "DSSI is a plugin API for software instruments with user
interfaces, permitting them to be hosted in-process by audio applications.
It is intended to be simple, GUI-toolkit-agnostic, and slightly biased
towards familiarity with MIDI. The DSSI distribution package contains
a JACK/ALSA-sequencer reference host and some plugins as well as the
specification and header.")
(home-page "http://dssi.sourceforge.net/")
;; The DSSI interface is LGPL2.1+, some tests and examples are GPL2+.
;; The vast majority of examples are in the public domain.
(license (list license:lgpl2.1+ license:gpl2+))))

View file

@ -6,7 +6,7 @@
;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com> ;;; Copyright © 2016 Raimon Grau <raimonster@gmail.com>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 John Darrington <jmd@gnu.org> ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> ;;; Copyright © 2016, 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org> ;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net> ;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
@ -55,6 +55,7 @@ (define-module (gnu packages networking)
#:use-module (gnu packages dejagnu) #:use-module (gnu packages dejagnu)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages libidn) #:use-module (gnu packages libidn)
@ -66,7 +67,9 @@ (define-module (gnu packages networking)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages ssh)
#:use-module (gnu packages textutils) #:use-module (gnu packages textutils)
#:use-module (gnu packages tls) #:use-module (gnu packages tls)
#:use-module (gnu packages valgrind) #:use-module (gnu packages valgrind)
@ -480,30 +483,31 @@ (define-public whois
(define-public wireshark (define-public wireshark
(package (package
(name "wireshark") (name "wireshark")
(version "2.2.7") (version "2.4.0")
(synopsis "Network traffic analyzer")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://www.wireshark.org/download/src/wireshark-" (uri (string-append "https://www.wireshark.org/download/src/wireshark-"
version ".tar.bz2")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1dfvhra5v6xhzbp097qsxi0zvirw0srbasl4v1wjf58v49idz7b8")))) "011vvrj76z1azkpvyy2j40b1x1z56ymld508zfc4xw3gh8dv82w9"))))
(build-system glib-or-gtk-build-system) (build-system gnu-build-system)
(inputs `(("bison" ,bison) (inputs `(("c-ares" ,c-ares)
("c-ares" ,c-ares) ("glib" ,glib)
("flex" ,flex)
("gnutls" ,gnutls) ("gnutls" ,gnutls)
("gtk+" ,gtk+)
("libcap" ,libcap) ("libcap" ,libcap)
("libgcrypt" ,libgcrypt) ("libgcrypt" ,libgcrypt)
("libnl" ,libnl) ("libnl" ,libnl)
("libpcap" ,libpcap) ("libpcap" ,libpcap)
("lua" ,lua-5.2) ("libssh" ,libssh)
("libxml2" ,libxml2)
("lua" ,lua-5.2) ;Lua 5.3 unsupported
("krb5" ,mit-krb5) ("krb5" ,mit-krb5)
("openssl" ,openssl) ("openssl" ,openssl)
("portaudio" ,portaudio) ("portaudio" ,portaudio)
("qtbase" ,qtbase)
("qttools" ,qttools)
("sbc" ,sbc) ("sbc" ,sbc)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs `(("perl" ,perl) (native-inputs `(("perl" ,perl)
@ -514,19 +518,21 @@ (define-public wireshark
(list (string-append "--with-c-ares=" (assoc-ref %build-inputs "c-ares")) (list (string-append "--with-c-ares=" (assoc-ref %build-inputs "c-ares"))
(string-append "--with-krb5=" (assoc-ref %build-inputs "krb5")) (string-append "--with-krb5=" (assoc-ref %build-inputs "krb5"))
(string-append "--with-libcap=" (assoc-ref %build-inputs "libcap")) (string-append "--with-libcap=" (assoc-ref %build-inputs "libcap"))
(string-append "--with-libssh=" (assoc-ref %build-inputs "libssh"))
(string-append "--with-lua=" (assoc-ref %build-inputs "lua")) (string-append "--with-lua=" (assoc-ref %build-inputs "lua"))
(string-append "--with-pcap=" (assoc-ref %build-inputs "libpcap")) (string-append "--with-pcap=" (assoc-ref %build-inputs "libpcap"))
(string-append "--with-portaudio=" (string-append "--with-portaudio="
(assoc-ref %build-inputs "portaudio")) (assoc-ref %build-inputs "portaudio"))
(string-append "--with-sbc=" (assoc-ref %build-inputs "sbc")) (string-append "--with-sbc=" (assoc-ref %build-inputs "sbc"))
(string-append "--with-ssl=" (assoc-ref %build-inputs "openssl")) (string-append "--with-ssl=" (assoc-ref %build-inputs "openssl"))
(string-append "--with-zlib=" (assoc-ref %build-inputs "zlib")) (string-append "--with-zlib=" (assoc-ref %build-inputs "zlib")))))
"--without-qt"))) (home-page "https://www.wireshark.org/")
(synopsis "Network traffic analyzer")
(description "Wireshark is a network protocol analyzer, or @dfn{packet (description "Wireshark is a network protocol analyzer, or @dfn{packet
sniffer}, that lets you capture and interactively browse the contents of sniffer}, that lets you capture and interactively browse the contents of
network frames.") network frames.")
(license license:gpl2+) (home-page "https://www.wireshark.org/")
(home-page "https://www.wireshark.org/"))) (license license:gpl2+)))
(define-public fping (define-public fping
(package (package

View file

@ -411,15 +411,15 @@ (define-public stow
(define-public rpm (define-public rpm
(package (package
(name "rpm") (name "rpm")
(version "4.12.0.1") (version "4.13.0.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "http://rpm.org/releases/rpm-4.12.x/rpm-" (uri (string-append "http://ftp.rpm.org/releases/rpm-"
(version-major+minor version) ".x/rpm-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0a82ym8phx7g0f3k6smvxnvzh7yv857l42xafk49689kzhld5pbp")) "03cvbwbfrhm0fa02j7828k1qp05hf2m0fradwcf2nqhrsjkppz17"))))
(patches (search-patches "rpm-CVE-2014-8118.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:configure-flags '("--with-external-db" ;use the system's bdb '(#:configure-flags '("--with-external-db" ;use the system's bdb

View file

@ -0,0 +1,16 @@
Description: Fix test-regidx argument parsing on archs with unsigned char
On architectures where char is unsigned "c >= 0" was always true.
Author: Adrian Bunk <bunk@debian.org>
Bug-Debian: https://bugs.debian.org/865060
--- a/test/test-regidx.c
+++ b/test/test-regidx.c
@@ -336,7 +336,7 @@
{"seed",1,0,'s'},
{0,0,0,0}
};
- char c;
+ int c;
int seed = (int)time(NULL);
while ((c = getopt_long(argc, argv, "hvs:",loptions,NULL)) >= 0)
{

View file

@ -0,0 +1,28 @@
This patch comes from http://hg.code.sf.net/p/graphicsmagick/code/rev/cd699a44f188.
diff -ur a/coders/png.c b/coders/png.c
--- a/coders/png.c 2017-07-04 17:32:08.000000000 -0400
+++ b/coders/png.c 2017-08-19 11:16:20.933969362 -0400
@@ -4101,11 +4101,17 @@
mng_info->image=image;
}
- if ((mng_info->mng_width > 65535L) || (mng_info->mng_height
- > 65535L))
- (void) ThrowException(&image->exception,ImageError,
- WidthOrHeightExceedsLimit,
- image->filename);
+ if ((mng_info->mng_width > 65535L) ||
+ (mng_info->mng_height > 65535L))
+ {
+ (void) LogMagickEvent(CoderEvent,GetMagickModule(),
+ " MNG width or height is too large: %lu, %lu",
+ mng_info->mng_width,mng_info->mng_height);
+ MagickFreeMemory(chunk);
+ ThrowReaderException(CorruptImageError,
+ ImproperImageHeader,image);
+ }
+
FormatString(page_geometry,"%lux%lu+0+0",mng_info->mng_width,
mng_info->mng_height);
mng_info->frame.left=0;

View file

@ -0,0 +1,16 @@
This patch comes from http://hg.code.sf.net/p/graphicsmagick/code/rev/be898b7c97bd.
diff -ur a/coders/wmf.c b/coders/wmf.c
--- a/coders/wmf.c 2016-09-05 15:20:23.000000000 -0400
+++ b/coders/wmf.c 2017-08-19 10:38:08.984187264 -0400
@@ -2719,8 +2719,8 @@
if(image->exception.severity != UndefinedException)
ThrowException2(exception,
CoderWarning,
- ddata->image->exception.reason,
- ddata->image->exception.description);
+ image->exception.reason,
+ image->exception.description);
if(logging)
(void) LogMagickEvent(CoderEvent,GetMagickModule(),"leave ReadWMFImage()");

View file

@ -0,0 +1,28 @@
This patch comes from http://hg.code.sf.net/p/graphicsmagick/code/rev/95d00d55e978.
diff -ur a/coders/sun.c b/coders/sun.c
--- a/coders/sun.c 2016-05-30 13:19:54.000000000 -0400
+++ b/coders/sun.c 2017-08-18 18:00:00.191023610 -0400
@@ -1,5 +1,5 @@
/*
-% Copyright (C) 2003-2015 GraphicsMagick Group
+% Copyright (C) 2003-2017 GraphicsMagick Group
% Copyright (C) 2002 ImageMagick Studio
% Copyright 1991-1999 E. I. du Pont de Nemours and Company
%
@@ -577,6 +577,7 @@
for (bit=7; bit >= 0; bit--)
{
index=((*p) & (0x01 << bit) ? 0x01 : 0x00);
+ VerifyColormapIndex(image,index);
indexes[x+7-bit]=index;
q[x+7-bit]=image->colormap[index];
}
@@ -587,6 +588,7 @@
for (bit=7; bit >= (long) (8-(image->columns % 8)); bit--)
{
index=((*p) & (0x01 << bit) ? 0x01 : 0x00);
+ VerifyColormapIndex(image,index);
indexes[x+7-bit]=index;
q[x+7-bit]=image->colormap[index];
}

View file

@ -1,136 +0,0 @@
These two patches fix some bugs in lz4's test suite:
https://github.com/lz4/lz4/issues/308
Patches copied from upstream source repository:
https://github.com/lz4/lz4/commit/b89cac7b2e92b792af98bb0a12e4d14684d07629
https://github.com/lz4/lz4/commit/0dfb0b9dad2a8cb7cc347d2139bf9b84de7e1481
From b89cac7b2e92b792af98bb0a12e4d14684d07629 Mon Sep 17 00:00:00 2001
From: Eric Siegerman <pub08-git@davor.org>
Date: Tue, 14 Feb 2017 14:17:06 -0500
Subject: [PATCH] Don't use "foo && false || true"
Replace it with either:
test ! -f $FILE_THAT_SHOULD_NOT_EXIST
or:
! $COMMAND_THAT_SHOULD_FAIL
as appropriate.
---
tests/Makefile | 38 +++++++++++++++++++-------------------
1 file changed, 19 insertions(+), 19 deletions(-)
diff --git a/tests/Makefile b/tests/Makefile
index 77e6ae7..ebab278 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -236,17 +236,17 @@ test-lz4-basic: lz4 datagen unlz4 lz4cat
./datagen -g256MB | $(LZ4) -vqB4D | $(LZ4) -t
@echo "hello world" > tmp
$(LZ4) --rm -f tmp
- ls -ls tmp && false || true # must fail (--rm)
- ls -ls tmp.lz4
- $(PRGDIR)/lz4cat tmp.lz4 # must display hello world
- ls -ls tmp.lz4
+ test ! -f tmp # must fail (--rm)
+ test -f tmp.lz4
+ $(PRGDIR)/lz4cat tmp.lz4 # must display hello world
+ test -f tmp.lz4
$(PRGDIR)/unlz4 --rm tmp.lz4
- ls -ls tmp
- ls -ls tmp.lz4 && false || true # must fail (--rm)
- ls -ls tmp.lz4.lz4 && false || true # must fail (unlz4)
- $(PRGDIR)/lz4cat tmp # pass-through mode
- ls -ls tmp
- ls -ls tmp.lz4 && false || true # must fail (lz4cat)
+ test -f tmp
+ test ! -f tmp.lz4 # must fail (--rm)
+ test ! -f tmp.lz4.lz4 # must fail (unlz4)
+ $(PRGDIR)/lz4cat tmp # pass-through mode
+ test -f tmp
+ test ! -f tmp.lz4 # must fail (lz4cat)
$(LZ4) tmp # creates tmp.lz4
$(PRGDIR)/lz4cat < tmp.lz4 > tmp3 # checks lz4cat works with stdin (#285)
$(DIFF) -q tmp tmp3
@@ -262,22 +262,22 @@ test-lz4-hugefile: lz4 datagen
test-lz4-testmode: lz4 datagen
@echo "\n ---- bench mode ----"
- $(LZ4) -bi1
+ $(LZ4) -bi1
@echo "\n ---- test mode ----"
- ./datagen | $(LZ4) -t && false || true
- ./datagen | $(LZ4) -tf && false || true
+ ! ./datagen | $(LZ4) -t
+ ! ./datagen | $(LZ4) -tf
@echo "\n ---- pass-through mode ----"
- ./datagen | $(LZ4) -d > $(VOID) && false || true
- ./datagen | $(LZ4) -df > $(VOID)
+ ! ./datagen | $(LZ4) -d > $(VOID)
+ ./datagen | $(LZ4) -df > $(VOID)
@echo "Hello World !" > tmp1
$(LZ4) -dcf tmp1
@echo "from underground..." > tmp2
$(LZ4) -dcfm tmp1 tmp2
@echo "\n ---- test cli ----"
- $(LZ4) file-does-not-exist && false || true
- $(LZ4) -f file-does-not-exist && false || true
- $(LZ4) -fm file1-dne file2-dne && false || true
- $(LZ4) -fm file1-dne file2-dne && false || true
+ ! $(LZ4) file-does-not-exist
+ ! $(LZ4) -f file-does-not-exist
+ ! $(LZ4) -fm file1-dne file2-dne
+ ! $(LZ4) -fm file1-dne file2-dne
test-lz4-opt-parser: lz4 datagen
@echo "\n ---- test opt-parser ----"
--
2.12.2
From 0dfb0b9dad2a8cb7cc347d2139bf9b84de7e1481 Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv@altlinux.org>
Date: Sun, 5 Mar 2017 23:20:10 +0000
Subject: [PATCH] Fix test-lz4-basic
When no output filename is specified and stdout is not a terminal,
lz4 doesn't attempt to guess an output filename and uses stdout for
output.
This change fixes test-lz4-basic when run without a terminal
by specifying output filenames.
---
tests/Makefile | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/Makefile b/tests/Makefile
index ebab278..d68c700 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -235,19 +235,19 @@ test-lz4-basic: lz4 datagen unlz4 lz4cat
./datagen -g33M | $(LZ4) --no-frame-crc | $(LZ4) -t
./datagen -g256MB | $(LZ4) -vqB4D | $(LZ4) -t
@echo "hello world" > tmp
- $(LZ4) --rm -f tmp
+ $(LZ4) --rm -f tmp tmp.lz4
test ! -f tmp # must fail (--rm)
test -f tmp.lz4
$(PRGDIR)/lz4cat tmp.lz4 # must display hello world
test -f tmp.lz4
- $(PRGDIR)/unlz4 --rm tmp.lz4
+ $(PRGDIR)/unlz4 --rm tmp.lz4 tmp
test -f tmp
test ! -f tmp.lz4 # must fail (--rm)
test ! -f tmp.lz4.lz4 # must fail (unlz4)
$(PRGDIR)/lz4cat tmp # pass-through mode
test -f tmp
test ! -f tmp.lz4 # must fail (lz4cat)
- $(LZ4) tmp # creates tmp.lz4
+ $(LZ4) tmp tmp.lz4 # creates tmp.lz4
$(PRGDIR)/lz4cat < tmp.lz4 > tmp3 # checks lz4cat works with stdin (#285)
$(DIFF) -q tmp tmp3
$(PRGDIR)/lz4cat < tmp > tmp2 # checks lz4cat works with stdin (#285)
--
2.12.2

View file

@ -0,0 +1,34 @@
Fix CVE-2017-12904:
https://github.com/akrennmair/newsbeuter/issues/591
https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12904
Patch copied from the Debian package of newsbeuter, version 2.9-5+deb9u1.
Adapted from upstream source repository:
https://github.com/akrennmair/newsbeuter/commit/96e9506ae9e252c548665152d1b8968297128307
Description: Fix a RCE vulnerability in the bookmark command
Newsbeuter didn't properly escape the title and description fields before
passing them to the bookmarking program which could lead to remote code
execution using the shells command substitution functionality (e.g. "$()", ``,
etc)
Origin: upstream, https://github.com/akrennmair/newsbeuter/commit/96e9506ae9e252c548665152d1b8968297128307
Last-Update: 2017-08-18
--- newsbeuter-2.9.orig/src/controller.cpp
+++ newsbeuter-2.9/src/controller.cpp
@@ -1274,9 +1274,10 @@ std::string controller::bookmark(const s
std::string bookmark_cmd = cfg.get_configvalue("bookmark-cmd");
bool is_interactive = cfg.get_configvalue_as_bool("bookmark-interactive");
if (bookmark_cmd.length() > 0) {
- std::string cmdline = utils::strprintf("%s '%s' %s %s",
+ std::string cmdline = utils::strprintf("%s '%s' '%s' '%s'",
bookmark_cmd.c_str(), utils::replace_all(url,"'", "%27").c_str(),
- stfl::quote(title).c_str(), stfl::quote(description).c_str());
+ utils::replace_all(title,"'", "%27").c_str(),
+ utils::replace_all(description,"'", "%27").c_str());
LOG(LOG_DEBUG, "controller::bookmark: cmd = %s", cmdline.c_str());

View file

@ -1,27 +0,0 @@
This fixes a test failure on 32-bit platforms.
Upstream bug URL: https://github.com/cython/cython/issues/1548
Patch copied from upstream source repository:
https://github.com/cython/cython/commit/d92a718a26c9354fbf35f31a17de5c069865a447
From d92a718a26c9354fbf35f31a17de5c069865a447 Mon Sep 17 00:00:00 2001
From: Robert Bradshaw <robertwb@gmail.com>
Date: Tue, 24 Jan 2017 16:57:00 -0800
Subject: [PATCH] Normalize possible L suffix.
---
tests/run/cpdef_enums.pyx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/run/cpdef_enums.pyx b/tests/run/cpdef_enums.pyx
index 167c762..c264ec5 100644
--- a/tests/run/cpdef_enums.pyx
+++ b/tests/run/cpdef_enums.pyx
@@ -93,4 +93,4 @@ def verify_resolution_GH1533():
3
"""
THREE = 100
- return PyxEnum.THREE
+ return int(PyxEnum.THREE)

View file

@ -1,64 +1,43 @@
Disable tests trying to look up remote servers. Disable tests trying to look up remote servers.
diff --git a/test/test_credentials.py b/test/test_credentials.py diff --git a/test/test_credentials.py b/test/test_credentials.py
index 92482d9..9a281e5 100644
--- a/test/test_credentials.py --- a/test/test_credentials.py
+++ b/test/test_credentials.py +++ b/test/test_credentials.py
@@ -68,39 +68,5 @@ class CredentialCreateTest(utils.NoRepoTestCase): @@ -68,6 +68,7 @@ class CredentialCreateTest(utils.NoRepoTestCase):
self.assertEqual((username, None, None, None), cred.credential_tuple) self.assertEqual((username, None, None, None), cred.credential_tuple)
-class CredentialCallback(utils.RepoTestCase): +@unittest.skipIf(True, "network tests are not supported in Guix")
- def test_callback(self): class CredentialCallback(utils.RepoTestCase):
- class MyCallbacks(pygit2.RemoteCallbacks): def test_callback(self):
- @staticmethod class MyCallbacks(pygit2.RemoteCallbacks):
- def credentials(url, username, allowed): @@ -92,6 +93,7 @@ class CredentialCallback(utils.RepoTestCase):
- self.assertTrue(allowed & GIT_CREDTYPE_USERPASS_PLAINTEXT) remote = self.repo.create_remote("github", url)
- raise Exception("I don't know the password") self.assertRaises(TypeError, lambda: remote.fetch(callbacks=MyCallbacks()))
-
- url = "https://github.com/github/github" +@unittest.skipIf(True, "network tests are not supported in Guix")
- remote = self.repo.create_remote("github", url) class CallableCredentialTest(utils.RepoTestCase):
-
- self.assertRaises(Exception, lambda: remote.fetch(callbacks=MyCallbacks())) def test_user_pass(self):
-
- def test_bad_cred_type(self):
- class MyCallbacks(pygit2.RemoteCallbacks):
- @staticmethod
- def credentials(url, username, allowed):
- self.assertTrue(allowed & GIT_CREDTYPE_USERPASS_PLAINTEXT)
- return Keypair("git", "foo.pub", "foo", "sekkrit")
-
- url = "https://github.com/github/github"
- remote = self.repo.create_remote("github", url)
- self.assertRaises(TypeError, lambda: remote.fetch(callbacks=MyCallbacks()))
-
-class CallableCredentialTest(utils.RepoTestCase):
-
- def test_user_pass(self):
- credentials = UserPass("libgit2", "libgit2")
- callbacks = pygit2.RemoteCallbacks(credentials=credentials)
-
- url = "https://bitbucket.org/libgit2/testgitrepository.git"
- remote = self.repo.create_remote("bb", url)
- remote.fetch(callbacks=callbacks)
-
if __name__ == '__main__':
unittest.main()
diff --git a/test/test_repository.py b/test/test_repository.py diff --git a/test/test_repository.py b/test/test_repository.py
index cfdf01e..c0d8de4 100644
--- a/test/test_repository.py --- a/test/test_repository.py
+++ b/test/test_repository.py +++ b/test/test_repository.py
@@ -538,13 +538,6 @@ class CloneRepositoryTest(utils.NoRepoTestCase): @@ -573,6 +573,7 @@ class CloneRepositoryTest(utils.NoRepoTestCase):
self.assertTrue('refs/remotes/custom_remote/master' in repo.listall_references()) self.assertTrue('refs/remotes/custom_remote/master' in repo.listall_references())
self.assertIsNotNone(repo.remotes["custom_remote"]) self.assertIsNotNone(repo.remotes["custom_remote"])
- def test_clone_with_credentials(self): + @unittest.skipIf(True, "network tests are not supported in Guix")
- repo = clone_repository( def test_clone_with_credentials(self):
- "https://bitbucket.org/libgit2/testgitrepository.git", repo = clone_repository(
- self._temp_dir, callbacks=pygit2.RemoteCallbacks(credentials=pygit2.UserPass("libgit2", "libgit2"))) "https://bitbucket.org/libgit2/testgitrepository.git",
- diff --git a/test/test_submodule.py b/test/test_submodule.py
- self.assertFalse(repo.is_empty) --- a/test/test_submodule.py
- +++ b/test/test_submodule.py
def test_clone_with_checkout_branch(self): @@ -42,6 +42,7 @@ SUBM_PATH = 'submodule'
# create a test case which isolates the remote SUBM_URL = 'https://github.com/libgit2/pygit2'
test_repo = clone_repository('./test/data/testrepo.git', SUBM_HEAD_SHA = '819cbff552e46ac4b8d10925cc422a30aa04e78e'
+@unittest.skipIf(True, "network tests are not supported in Guix")
class SubmoduleTest(utils.SubmoduleRepoTestCase):
def test_lookup_submodule(self):

View file

@ -1,25 +0,0 @@
Fix CVE-2014-8118 (integer overflow allowing arbitrary remote code
execution via crafted CPIO header).
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-8118
Source:
https://bugzilla.redhat.com/attachment.cgi?id=962159&action=diff
Adopted by Debian:
http://anonscm.debian.org/cgit/collab-maint/rpm.git/plain/debian/patches/CVE-2014-8118.patch
diff --git a/lib/cpio.c b/lib/cpio.c
index 253ff0f..600633a 100644
--- a/lib/cpio.c
+++ b/lib/cpio.c
@@ -399,6 +399,9 @@ int rpmcpioHeaderRead(rpmcpio_t cpio, char ** path, int * fx)
GET_NUM_FIELD(hdr.filesize, fsize);
GET_NUM_FIELD(hdr.namesize, nameSize);
+ if (nameSize <= 0 || nameSize > 4096) {
+ return RPMERR_BAD_HEADER;
+ }
char name[nameSize + 1];
read = Fread(name, nameSize, 1, cpio->fd);

View file

@ -0,0 +1,56 @@
Patch taken from Debian: revert changes that prevent building against freerdp
version 1.1 branch.
From 8ebc0685b85e0d1f70eb00171f2e7712de3d44bd Mon Sep 17 00:00:00 2001
From: Michael Biebl <biebl@debian.org>
Date: Thu, 22 Sep 2016 01:15:55 +0200
Subject: [PATCH 1/2] Revert "Improve FreeRDP authentication failure handling"
This reverts commit d7b4f88943e8615d252d27e1efc58cb64a9e1821.
---
plugins/rdp/vinagre-rdp-tab.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
index b731f9b..8572bc3 100644
--- a/plugins/rdp/vinagre-rdp-tab.c
+++ b/plugins/rdp/vinagre-rdp-tab.c
@@ -1195,8 +1195,8 @@ open_freerdp (VinagreRdpTab *rdp_tab)
VinagreTab *tab = VINAGRE_TAB (rdp_tab);
GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
gboolean success = TRUE;
+ gboolean authentication_error = FALSE;
gboolean cancelled = FALSE;
- guint authentication_errors = 0;
priv->events = g_queue_new ();
@@ -1205,12 +1205,14 @@ open_freerdp (VinagreRdpTab *rdp_tab)
do
{
+ authentication_error = FALSE;
+
/* Run FreeRDP session */
success = freerdp_connect (priv->freerdp_session);
if (!success)
{
- authentication_errors += freerdp_get_last_error (priv->freerdp_session->context) == 0x20009 ||
- freerdp_get_last_error (priv->freerdp_session->context) == 0x2000c;
+ authentication_error = freerdp_get_last_error (priv->freerdp_session->context) == 0x20009 ||
+ freerdp_get_last_error (priv->freerdp_session->context) == 0x2000c;
cancelled = freerdp_get_last_error (priv->freerdp_session->context) == 0x2000b;
@@ -1218,7 +1220,7 @@ open_freerdp (VinagreRdpTab *rdp_tab)
init_freerdp (rdp_tab);
}
}
- while (!success && authentication_errors < 3);
+ while (!success && authentication_error);
if (!success)
{
--
2.9.3

View file

@ -0,0 +1,448 @@
Patch taken from Debian: revert changes that prevent building against freerdp
version 1.1 branch.
From bb1828b6b7eb29bb037bcc687cf10f916ddc7561 Mon Sep 17 00:00:00 2001
From: Michael Biebl <biebl@debian.org>
Date: Thu, 22 Sep 2016 01:18:16 +0200
Subject: [PATCH 2/2] Revert "Store credentials for RDP"
This reverts commit 60dea279a24c7f0e398b89a0a60d45e80087ed1d.
---
plugins/rdp/vinagre-rdp-connection.c | 22 +---
plugins/rdp/vinagre-rdp-plugin.c | 29 +----
plugins/rdp/vinagre-rdp-tab.c | 231 +++++++++++++++++------------------
3 files changed, 123 insertions(+), 159 deletions(-)
diff --git a/plugins/rdp/vinagre-rdp-connection.c b/plugins/rdp/vinagre-rdp-connection.c
index f0ff02b..c5f6ed1 100644
--- a/plugins/rdp/vinagre-rdp-connection.c
+++ b/plugins/rdp/vinagre-rdp-connection.c
@@ -127,25 +127,9 @@ rdp_parse_item (VinagreConnection *conn, xmlNode *root)
static void
rdp_parse_options_widget (VinagreConnection *conn, GtkWidget *widget)
{
- const gchar *text;
- GtkWidget *u_entry, *d_entry, *spin_button, *scaling_button;
- gboolean scaling;
- guint width, height;
-
- d_entry = g_object_get_data (G_OBJECT (widget), "domain_entry");
- if (!d_entry)
- {
- g_warning ("Wrong widget passed to rdp_parse_options_widget()");
- return;
- }
-
- text = gtk_entry_get_text (GTK_ENTRY (d_entry));
- vinagre_cache_prefs_set_string ("rdp-connection", "domain", text);
-
- g_object_set (conn,
- "domain", text != NULL && *text != '\0' ? text : NULL,
- NULL);
-
+ GtkWidget *u_entry, *spin_button, *scaling_button;
+ gboolean scaling;
+ guint width, height;
u_entry = g_object_get_data (G_OBJECT (widget), "username_entry");
if (!u_entry)
diff --git a/plugins/rdp/vinagre-rdp-plugin.c b/plugins/rdp/vinagre-rdp-plugin.c
index 4751102..f41da37 100644
--- a/plugins/rdp/vinagre-rdp-plugin.c
+++ b/plugins/rdp/vinagre-rdp-plugin.c
@@ -100,7 +100,7 @@ vinagre_rdp_plugin_init (VinagreRdpPlugin *plugin)
static GtkWidget *
impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
{
- GtkWidget *grid, *label, *u_entry, *d_entry, *spin_button, *check;
+ GtkWidget *grid, *label, *u_entry, *spin_button, *check;
gchar *str;
gint width, height;
@@ -146,29 +146,10 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
g_free (str);
- label = gtk_label_new_with_mnemonic (_("_Domain:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (grid), label, 0, 3, 1, 1);
- gtk_widget_set_margin_left (label, 12);
-
- d_entry = gtk_entry_new ();
- /* Translators: This is the tooltip for the domain field in a RDP connection */
- gtk_widget_set_tooltip_text (d_entry, _("Optional."));
- g_object_set_data (G_OBJECT (grid), "domain_entry", d_entry);
- gtk_grid_attach (GTK_GRID (grid), d_entry, 1, 3, 1, 1);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), d_entry);
- str = g_strdup (VINAGRE_IS_CONNECTION (conn) ?
- vinagre_connection_get_domain (conn) :
- vinagre_cache_prefs_get_string ("rdp-connection", "domain", ""));
- gtk_entry_set_text (GTK_ENTRY (d_entry), str);
- gtk_entry_set_activates_default (GTK_ENTRY (d_entry), TRUE);
- g_free (str);
-
-
/* Host width */
label = gtk_label_new_with_mnemonic (_("_Width:"));
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (grid), label, 0, 4, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), label, 0, 3, 1, 1);
gtk_widget_set_margin_left (label, 12);
spin_button = gtk_spin_button_new_with_range (MIN_SIZE, MAX_SIZE, 1);
@@ -176,7 +157,7 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
gtk_widget_set_tooltip_text (spin_button, _("Set width of the remote desktop"));
gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin_button), DEFAULT_WIDTH);
g_object_set_data (G_OBJECT (grid), "width_spin_button", spin_button);
- gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 4, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 3, 1, 1);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
width = VINAGRE_IS_CONNECTION (conn) ?
vinagre_connection_get_width (conn) :
@@ -188,7 +169,7 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
/* Host height */
label = gtk_label_new_with_mnemonic (_("_Height:"));
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (grid), label, 0, 5, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), label, 0, 4, 1, 1);
gtk_widget_set_margin_left (label, 12);
spin_button = gtk_spin_button_new_with_range (MIN_SIZE, MAX_SIZE, 1);
@@ -196,7 +177,7 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
gtk_widget_set_tooltip_text (spin_button, _("Set height of the remote desktop"));
gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin_button), DEFAULT_HEIGHT);
g_object_set_data (G_OBJECT (grid), "height_spin_button", spin_button);
- gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 5, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 4, 1, 1);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
height = VINAGRE_IS_CONNECTION (conn) ?
vinagre_connection_get_height (conn) :
diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
index 8572bc3..f3d9c08 100644
--- a/plugins/rdp/vinagre-rdp-tab.c
+++ b/plugins/rdp/vinagre-rdp-tab.c
@@ -70,8 +70,6 @@ struct _VinagreRdpTabPrivate
gboolean scaling;
double scale;
double offset_x, offset_y;
-
- guint authentication_attempts;
};
G_DEFINE_TYPE (VinagreRdpTab, vinagre_rdp_tab, VINAGRE_TYPE_TAB)
@@ -611,7 +609,6 @@ frdp_post_connect (freerdp *instance)
0, 0,
gdi->width, gdi->height);
- vinagre_tab_save_credentials_in_keyring (VINAGRE_TAB (rdp_tab));
vinagre_tab_add_recent_used (VINAGRE_TAB (rdp_tab));
vinagre_tab_set_state (VINAGRE_TAB (rdp_tab), VINAGRE_TAB_STATE_CONNECTED);
@@ -862,76 +859,114 @@ frdp_mouse_moved (GtkWidget *widget,
return TRUE;
}
+static void
+entry_text_changed_cb (GtkEntry *entry,
+ GtkBuilder *builder)
+{
+ const gchar *text;
+ GtkWidget *widget;
+ gsize username_length;
+ gsize password_length;
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "username_entry"));
+ text = gtk_entry_get_text (GTK_ENTRY (widget));
+ username_length = strlen (text);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "password_entry"));
+ text = gtk_entry_get_text (GTK_ENTRY (widget));
+ password_length = strlen (text);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "ok_button"));
+ gtk_widget_set_sensitive (widget, password_length > 0 && username_length > 0);
+}
+
static gboolean
frdp_authenticate (freerdp *instance,
char **username,
char **password,
char **domain)
{
- VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
- VinagreRdpTab *rdp_tab = VINAGRE_RDP_TAB (tab);
- VinagreRdpTabPrivate *priv = rdp_tab->priv;
- VinagreConnection *conn = vinagre_tab_get_conn (tab);
- GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
- gboolean save_in_keyring = FALSE;
- gchar *keyring_domain = NULL;
- gchar *keyring_username = NULL;
- gchar *keyring_password = NULL;
+ VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
+ VinagreConnection *conn = vinagre_tab_get_conn (tab);
+ const gchar *user_name;
+ const gchar *domain_name;
+ GtkBuilder *builder;
+ GtkWidget *dialog;
+ GtkWidget *widget;
+ GtkWidget *username_entry;
+ GtkWidget *password_entry;
+ GtkWidget *domain_entry;
+ gboolean save_credential_check_visible;
+ gboolean domain_label_visible;
+ gboolean domain_entry_visible;
+ gint response;
- priv->authentication_attempts++;
+ builder = vinagre_utils_get_builder ();
- if (priv->authentication_attempts == 1)
- {
- vinagre_tab_find_credentials_in_keyring (tab, &keyring_domain, &keyring_username, &keyring_password);
- if (keyring_password != NULL && keyring_username != NULL)
- {
- *domain = keyring_domain;
- *username = keyring_username;
- *password = keyring_password;
+ dialog = GTK_WIDGET (gtk_builder_get_object (builder, "auth_required_dialog"));
+ gtk_window_set_modal ((GtkWindow *) dialog, TRUE);
+ gtk_window_set_transient_for ((GtkWindow *) dialog, GTK_WINDOW (vinagre_tab_get_window (tab)));
- return TRUE;
- }
- else
- {
- g_free (keyring_domain);
- g_free (keyring_username);
- g_free (keyring_password);
- }
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "host_label"));
+ gtk_label_set_text (GTK_LABEL (widget), vinagre_connection_get_host (conn));
+
+ username_entry = GTK_WIDGET (gtk_builder_get_object (builder, "username_entry"));
+ password_entry = GTK_WIDGET (gtk_builder_get_object (builder, "password_entry"));
+ domain_entry = GTK_WIDGET (gtk_builder_get_object (builder, "domain_entry"));
+
+ if (*username != NULL && *username[0] != '\0')
+ {
+ gtk_entry_set_text (GTK_ENTRY (username_entry), *username);
+ gtk_widget_grab_focus (password_entry);
}
- if (vinagre_utils_request_credential (window,
- "RDP",
- vinagre_connection_get_host (conn),
- vinagre_connection_get_domain (conn),
- vinagre_connection_get_username (conn),
- TRUE,
- TRUE,
- TRUE,
- 20,
- domain,
- username,
- password,
- &save_in_keyring))
+ g_signal_connect (username_entry, "changed", G_CALLBACK (entry_text_changed_cb), builder);
+ g_signal_connect (password_entry, "changed", G_CALLBACK (entry_text_changed_cb), builder);
+
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "save_credential_check"));
+ save_credential_check_visible = gtk_widget_get_visible (widget);
+ gtk_widget_set_visible (widget, FALSE);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "domain_label"));
+ domain_label_visible = gtk_widget_get_visible (widget);
+ gtk_widget_set_visible (widget, TRUE);
+
+ domain_entry_visible = gtk_widget_get_visible (domain_entry);
+ gtk_widget_set_visible (domain_entry, TRUE);
+
+
+ response = gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_hide (dialog);
+
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "save_credential_check"));
+ gtk_widget_set_visible (widget, save_credential_check_visible);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "domain_label"));
+ gtk_widget_set_visible (widget, domain_label_visible);
+
+ gtk_widget_set_visible (domain_entry, domain_entry_visible);
+
+
+ if (response == GTK_RESPONSE_OK)
{
- if (*domain && **domain != '\0')
- vinagre_connection_set_domain (conn, *domain);
+ domain_name = gtk_entry_get_text (GTK_ENTRY (domain_entry));
+ if (g_strcmp0 (*domain, domain_name) != 0)
+ *domain = g_strdup (domain_name);
- if (*username && **username != '\0')
- vinagre_connection_set_username (conn, *username);
+ user_name = gtk_entry_get_text (GTK_ENTRY (username_entry));
+ if (g_strcmp0 (*username, user_name) != 0)
+ *username = g_strdup (user_name);
- if (*password && **password != '\0')
- vinagre_connection_set_password (conn, *password);
+ *password = g_strdup (gtk_entry_get_text (GTK_ENTRY (password_entry)));
- vinagre_tab_set_save_credentials (tab, save_in_keyring);
+ return TRUE;
}
else
{
- vinagre_tab_remove_from_notebook (tab);
-
return FALSE;
}
-
- return TRUE;
}
static BOOL
@@ -1028,25 +1063,30 @@ frdp_changed_certificate_verify (freerdp *instance,
#endif
static void
-init_freerdp (VinagreRdpTab *rdp_tab)
+open_freerdp (VinagreRdpTab *rdp_tab)
{
VinagreRdpTabPrivate *priv = rdp_tab->priv;
- rdpSettings *settings;
VinagreTab *tab = VINAGRE_TAB (rdp_tab);
VinagreConnection *conn = vinagre_tab_get_conn (tab);
- gboolean scaling;
- gchar *hostname;
- gint width, height;
- gint port;
+ rdpSettings *settings;
+ GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
+ gboolean success = TRUE;
+ gboolean fullscreen, scaling;
+ gchar *hostname, *username;
+ gint port, width, height;
g_object_get (conn,
"port", &port,
"host", &hostname,
"width", &width,
"height", &height,
+ "fullscreen", &fullscreen,
"scaling", &scaling,
+ "username", &username,
NULL);
+ priv->events = g_queue_new ();
+
/* Setup FreeRDP session */
priv->freerdp_session = freerdp_new ();
priv->freerdp_session->PreConnect = frdp_pre_connect;
@@ -1111,6 +1151,17 @@ init_freerdp (VinagreRdpTab *rdp_tab)
settings->port = port;
#endif
+ /* Set username */
+ username = g_strstrip (username);
+ if (username != NULL && username[0] != '\0')
+ {
+#if HAVE_FREERDP_1_1
+ settings->Username = g_strdup (username);
+#else
+ settings->username = g_strdup (username);
+#endif
+ }
+
/* Set keyboard layout */
#if HAVE_FREERDP_1_1
freerdp_keyboard_init (KBD_US);
@@ -1120,24 +1171,6 @@ init_freerdp (VinagreRdpTab *rdp_tab)
/* Allow font smoothing by default */
settings->AllowFontSmoothing = TRUE;
-}
-
-static void
-init_display (VinagreRdpTab *rdp_tab)
-{
- VinagreRdpTabPrivate *priv = rdp_tab->priv;
- VinagreTab *tab = VINAGRE_TAB (rdp_tab);
- VinagreConnection *conn = vinagre_tab_get_conn (tab);
- GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
- gboolean fullscreen, scaling;
- gint width, height;
-
- g_object_get (conn,
- "width", &width,
- "height", &height,
- "fullscreen", &fullscreen,
- "scaling", &scaling,
- NULL);
/* Setup display for FreeRDP session */
priv->display = gtk_drawing_area_new ();
@@ -1186,54 +1219,20 @@ init_display (VinagreRdpTab *rdp_tab)
priv->key_release_handler_id = g_signal_connect (GTK_WIDGET (tab), "key-release-event",
G_CALLBACK (frdp_key_pressed),
rdp_tab);
-}
-
-static void
-open_freerdp (VinagreRdpTab *rdp_tab)
-{
- VinagreRdpTabPrivate *priv = rdp_tab->priv;
- VinagreTab *tab = VINAGRE_TAB (rdp_tab);
- GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
- gboolean success = TRUE;
- gboolean authentication_error = FALSE;
- gboolean cancelled = FALSE;
-
- priv->events = g_queue_new ();
-
- init_freerdp (rdp_tab);
- init_display (rdp_tab);
-
- do
- {
- authentication_error = FALSE;
- /* Run FreeRDP session */
- success = freerdp_connect (priv->freerdp_session);
- if (!success)
- {
- authentication_error = freerdp_get_last_error (priv->freerdp_session->context) == 0x20009 ||
- freerdp_get_last_error (priv->freerdp_session->context) == 0x2000c;
-
- cancelled = freerdp_get_last_error (priv->freerdp_session->context) == 0x2000b;
-
- freerdp_free (priv->freerdp_session);
- init_freerdp (rdp_tab);
- }
- }
- while (!success && authentication_error);
+ /* Run FreeRDP session */
+ success = freerdp_connect (priv->freerdp_session);
if (!success)
{
gtk_window_unfullscreen (window);
- if (!cancelled)
- vinagre_utils_show_error_dialog (_("Error connecting to host."),
- NULL,
- window);
+ vinagre_utils_show_error_dialog (_("Error connecting to host."),
+ NULL,
+ window);
g_idle_add ((GSourceFunc) idle_close, rdp_tab);
}
else
{
- priv->authentication_attempts = 0;
priv->update_id = g_idle_add ((GSourceFunc) update, rdp_tab);
}
}
--
2.9.3

View file

@ -0,0 +1,171 @@
From eee8fd4c489a693344da0bba14cfa54c54610b89 Mon Sep 17 00:00:00 2001
From: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
Date: Thu, 9 Mar 2017 13:31:34 +0200
Subject: [PATCH] Fix build against xorg server 1.17 on certain architectures
Fixes at least arm64, likely also hppa, m68k, sh4.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@ubuntu.com>
---
src/regsmi.h | 18 ++++++++++++++++++
src/smi.h | 2 ++
src/smi_driver.c | 19 +++++++++----------
src/smilynx_crtc.c | 6 +++---
src/smilynx_hw.c | 5 ++---
5 files changed, 34 insertions(+), 16 deletions(-)
diff --git a/src/regsmi.h b/src/regsmi.h
index 5dd0320..69205ba 100644
--- a/src/regsmi.h
+++ b/src/regsmi.h
@@ -64,8 +64,13 @@ VGAIN8_INDEX(SMIPtr pSmi, int indexPort, int dataPort, CARD8 index)
MMIO_OUT8(pSmi->IOBase, indexPort, index);
return(MMIO_IN8(pSmi->IOBase, dataPort));
} else {
+#ifdef XSERVER_LIBPCIACCESS
+ pci_io_write8(pSmi->io, indexPort, index);
+ return pci_io_read8(pSmi->io, dataPort);
+#else
outb(pSmi->PIOBase + indexPort, index);
return(inb(pSmi->PIOBase + dataPort));
+#endif
}
}
@@ -76,8 +81,13 @@ VGAOUT8_INDEX(SMIPtr pSmi, int indexPort, int dataPort, CARD8 index, CARD8 data)
MMIO_OUT8(pSmi->IOBase, indexPort, index);
MMIO_OUT8(pSmi->IOBase, dataPort, data);
} else {
+#ifdef XSERVER_LIBPCIACCESS
+ pci_io_write8(pSmi->io, indexPort, index);
+ pci_io_write8(pSmi->io, dataPort, data);
+#else
outb(pSmi->PIOBase + indexPort, index);
outb(pSmi->PIOBase + dataPort, data);
+#endif
}
}
@@ -87,7 +97,11 @@ VGAIN8(SMIPtr pSmi, int port)
if (pSmi->IOBase) {
return(MMIO_IN8(pSmi->IOBase, port));
} else {
+#ifdef XSERVER_LIBPCIACCESS
+ return pci_io_read8(pSmi->io, port);
+#else
return(inb(pSmi->PIOBase + port));
+#endif
}
}
@@ -97,7 +111,11 @@ VGAOUT8(SMIPtr pSmi, int port, CARD8 data)
if (pSmi->IOBase) {
MMIO_OUT8(pSmi->IOBase, port, data);
} else {
+#ifdef XSERVER_LIBPCIACCESS
+ pci_io_write8(pSmi->io, port, data);
+#else
outb(pSmi->PIOBase + port, data);
+#endif
}
}
diff --git a/src/smi.h b/src/smi.h
index 2742c8d..1f20a2d 100644
--- a/src/smi.h
+++ b/src/smi.h
@@ -171,6 +171,8 @@ typedef struct
pciVideoPtr PciInfo; /* PCI info vars */
#ifndef XSERVER_LIBPCIACCESS
PCITAG PciTag;
+#else
+ struct pci_io_handle *io;
#endif
int Chipset; /* Chip info, set using PCI
above */
diff --git a/src/smi_driver.c b/src/smi_driver.c
index 8949cae..6bdf64d 100644
--- a/src/smi_driver.c
+++ b/src/smi_driver.c
@@ -446,6 +446,9 @@ SMI_PreInit(ScrnInfoPtr pScrn, int flags)
pSmi->PIOBase = hwp->PIOOffset;
#else
pSmi->PIOBase = 0;
+#ifdef XSERVER_LIBPCIACCESS
+ pSmi->io = hwp->io;
+#endif
#endif
xf86ErrorFVerb(VERBLEV, "\tSMI_PreInit vgaCRIndex=%x, vgaIOBase=%x, "
@@ -2022,16 +2025,14 @@ SMI_EnableMmio(ScrnInfoPtr pScrn)
vgaHWSetStdFuncs(hwp);
/* Enable linear mode */
- outb(pSmi->PIOBase + VGA_SEQ_INDEX, 0x18);
- tmp = inb(pSmi->PIOBase + VGA_SEQ_DATA);
+ tmp = VGAIN8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x18);
pSmi->SR18Value = tmp; /* PDR#521 */
- outb(pSmi->PIOBase + VGA_SEQ_DATA, tmp | 0x11);
+ VGAOUT8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x18, tmp | 0x11);
/* Enable 2D/3D Engine and Video Processor */
- outb(pSmi->PIOBase + VGA_SEQ_INDEX, 0x21);
- tmp = inb(pSmi->PIOBase + VGA_SEQ_DATA);
+ tmp = VGAIN8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x21);
pSmi->SR21Value = tmp; /* PDR#521 */
- outb(pSmi->PIOBase + VGA_SEQ_DATA, tmp & ~0x03);
+ VGAOUT8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x21, tmp & ~0x03);
}
LEAVE();
@@ -2050,12 +2051,10 @@ SMI_DisableMmio(ScrnInfoPtr pScrn)
vgaHWSetStdFuncs(hwp);
/* Disable 2D/3D Engine and Video Processor */
- outb(pSmi->PIOBase + VGA_SEQ_INDEX, 0x21);
- outb(pSmi->PIOBase + VGA_SEQ_DATA, pSmi->SR21Value); /* PDR#521 */
+ VGAOUT8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x21, pSmi->SR21Value); /* PDR#521 */
/* Disable linear mode */
- outb(pSmi->PIOBase + VGA_SEQ_INDEX, 0x18);
- outb(pSmi->PIOBase + VGA_SEQ_DATA, pSmi->SR18Value); /* PDR#521 */
+ VGAOUT8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x18, pSmi->SR18Value); /* PDR#521 */
}
LEAVE();
diff --git a/src/smilynx_crtc.c b/src/smilynx_crtc.c
index fb7183c..f4d8b4e 100644
--- a/src/smilynx_crtc.c
+++ b/src/smilynx_crtc.c
@@ -619,9 +619,9 @@ SMILynx_CrtcModeSet_bios(xf86CrtcPtr crtc,
xf86ExecX86int10(pSmi->pInt10);
/* Enable linear mode. */
- outb(pSmi->PIOBase + VGA_SEQ_INDEX, 0x18);
- tmp = inb(pSmi->PIOBase + VGA_SEQ_DATA);
- outb(pSmi->PIOBase + VGA_SEQ_DATA, tmp | 0x01);
+ VGAOUT8(pSmi, VGA_SEQ_INDEX, 0x18);
+ tmp = VGAIN8(pSmi, VGA_SEQ_DATA);
+ VGAOUT8(pSmi, VGA_SEQ_DATA, tmp | 0x01);
/* Enable DPR/VPR registers. */
tmp = VGAIN8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x21);
diff --git a/src/smilynx_hw.c b/src/smilynx_hw.c
index b2ee8a5..40aa5a4 100644
--- a/src/smilynx_hw.c
+++ b/src/smilynx_hw.c
@@ -365,9 +365,8 @@ SMILynx_WriteMode(ScrnInfoPtr pScrn, vgaRegPtr vgaSavePtr, SMIRegPtr restore)
xf86ExecX86int10(pSmi->pInt10);
/* Enable linear mode. */
- outb(pSmi->PIOBase + VGA_SEQ_INDEX, 0x18);
- tmp = inb(pSmi->PIOBase + VGA_SEQ_DATA);
- outb(pSmi->PIOBase + VGA_SEQ_DATA, tmp | 0x01);
+ tmp = VGAIN8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x18);
+ VGAOUT8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x18, tmp | 0x01);
/* Enable DPR/VPR registers. */
tmp = VGAIN8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x21);
--
2.7.4

View file

@ -3611,15 +3611,14 @@ (define-public python2-rq
(define-public python-cython (define-public python-cython
(package (package
(name "python-cython") (name "python-cython")
(version "0.25.2") (version "0.26")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "Cython" version)) (uri (pypi-uri "Cython" version))
(patches (search-patches "python-cython-fix-tests-32bit.patch"))
(sha256 (sha256
(base32 (base32
"01h3lrf6d98j07iakifi81qjszh6faa37ibx7ylva1vsqbwx2hgi")))) "0riciynnr0r68cvg6r3gbhi9x7h44pdwb7926m6n5vfs5p1f492c"))))
(build-system python-build-system) (build-system python-build-system)
;; we need the full python package and not just the python-wrapper ;; we need the full python package and not just the python-wrapper
;; because we need libpython3.3m.so ;; because we need libpython3.3m.so
@ -3630,7 +3629,7 @@ (define-public python-cython
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'check 'set-HOME (add-before 'check 'set-HOME
;; some tests require access to "$HOME/.cython" ;; some tests require access to "$HOME/.cython"
(lambda _ (setenv "HOME" "/tmp"))) (lambda _ (setenv "HOME" "/tmp") #t))
(replace 'check (replace 'check
(lambda _ (zero? (system* "python" "runtests.py" "-vv"))))))) (lambda _ (zero? (system* "python" "runtests.py" "-vv")))))))
(home-page "http://cython.org/") (home-page "http://cython.org/")
@ -3915,14 +3914,14 @@ (define-public python2-numpy-documentation
(define-public python-pygit2 (define-public python-pygit2
(package (package
(name "python-pygit2") (name "python-pygit2")
(version "0.25.0") (version "0.26.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "pygit2" version)) (uri (pypi-uri "pygit2" version))
(sha256 (sha256
(base32 (base32
"0wf5rp0fvrw7j3j18dvwjq6xqlbm611wd55aphrfpps0v1gxh3ny")) "1cbc488ra3kg7r3qky17ms0szi3cda2d96qfkv1l9djsy9hnvw57"))
(patches (patches
(search-patches "python-pygit2-disable-network-tests.patch")))) (search-patches "python-pygit2-disable-network-tests.patch"))))
(build-system python-build-system) (build-system python-build-system)
@ -7296,7 +7295,7 @@ (define-public python2-msgpack
(define-public python-netaddr (define-public python-netaddr
(package (package
(name "python-netaddr") (name "python-netaddr")
(version "0.7.18") (version "0.7.19")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -7306,7 +7305,7 @@ (define-public python-netaddr
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"06dxjlbcicq7q3vqy8agq11ra01kvvd47j4mk6dmghjsyzyckxd1")))) "1zdfadvpq4lmcqzr383gywxn4xyn355kj1n3lk9q2l03vmyfrbiq"))))
(build-system python-build-system) (build-system python-build-system)
(arguments `(#:tests? #f)) ;; No tests. (arguments `(#:tests? #f)) ;; No tests.
(home-page "https://github.com/drkjam/netaddr/") (home-page "https://github.com/drkjam/netaddr/")
@ -7691,14 +7690,14 @@ (define-public python2-pretend
(define-public python-cryptography-vectors (define-public python-cryptography-vectors
(package (package
(name "python-cryptography-vectors") (name "python-cryptography-vectors")
(version "2.0.2") (version "2.0.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "cryptography_vectors" version)) (uri (pypi-uri "cryptography_vectors" version))
(sha256 (sha256
(base32 (base32
"0yvi2cp23rg20bq3hd47ixbvjh0zgxnxrriqx5v17d7vkmliwbsi")))) "1qa117fs1yd50zn2cfxh7d9l999ds0z4h83m9m7j4fk6ffm33f5y"))))
(build-system python-build-system) (build-system python-build-system)
(home-page "https://github.com/pyca/cryptography") (home-page "https://github.com/pyca/cryptography")
(synopsis "Test vectors for the cryptography package") (synopsis "Test vectors for the cryptography package")
@ -7713,14 +7712,14 @@ (define-public python2-cryptography-vectors
(define-public python-cryptography (define-public python-cryptography
(package (package
(name "python-cryptography") (name "python-cryptography")
(version "2.0.2") (version "2.0.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (pypi-uri "cryptography" version)) (uri (pypi-uri "cryptography" version))
(sha256 (sha256
(base32 (base32
"1aq6ilnf2zdqshwqai4w8gmb5y6p7ip34qrjp1yb7sz77rkb501p")))) "0fnck37zyvbzmccbp7w3jy27jgmij1992j5wyy3gxhw6a11b4jyh"))))
(build-system python-build-system) (build-system python-build-system)
(inputs (inputs
`(("openssl" ,openssl))) `(("openssl" ,openssl)))

View file

@ -26,7 +26,9 @@ (define-module (gnu packages rdesktop)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cups) #:use-module (gnu packages cups)
#:use-module (gnu packages docbook)
#:use-module (gnu packages gstreamer) #:use-module (gnu packages gstreamer)
#:use-module (gnu packages image)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
@ -70,51 +72,65 @@ (define-public rdesktop
(license license:gpl3+))) (license license:gpl3+)))
(define-public freerdp (define-public freerdp
(package (let ((commit "03ab68318966c3a22935a02838daaea7b7fbe96c"))
(name "freerdp") (package
(version "2.0.0-rc0") (name "freerdp")
(source (origin (version (git-version "1.1" "1" commit))
(method url-fetch) (source (origin
(uri (string-append "https://github.com/FreeRDP/FreeRDP/archive/" (method git-fetch)
version ".tar.gz")) (uri (git-reference
(file-name (string-append name "-" version ".tar.gz")) ;; We need the 1.1 branch for RDP support in vinagre.
(sha256 (url "git://github.com/FreeRDP/FreeRDP.git")
(base32 "0r36zwhl7fhmdng5pvl2a106gqbcqq184g2i2klz6ilna8pxjcml")))) (commit commit)))
(build-system cmake-build-system) (file-name (git-file-name name version))
(native-inputs (sha256
`(("pkg-config" ,pkg-config) (base32 "07ish8rmvbk2zd99k91qybmmh5h4afly75l5kbvslhq1r6k8pbmp"))))
("xmlto" ,xmlto))) (build-system cmake-build-system)
(inputs (native-inputs
`(("libx11" ,libx11) `(("pkg-config" ,pkg-config)
("libxkbfile" ,libxkbfile) ("libxslt" ,libxslt)
("libxcursor" ,libxcursor) ("libxml2" ,libxml2)
("libxext" ,libxext) ("docbook-xsl" ,docbook-xsl)
("libxi" ,libxi) ("xmlto" ,xmlto)))
("libxv" ,libxv) (inputs
("libxrandr" ,libxrandr) `(("libx11" ,libx11)
("libxrender" ,libxrender) ("libxkbfile" ,libxkbfile)
("libxinerama" ,libxinerama) ("libxcursor" ,libxcursor)
("libxshmfence" ,libxshmfence) ("libxext" ,libxext)
("libxml2" ,libxml2) ("libxi" ,libxi)
("libxslt" ,libxslt) ("libxv" ,libxv)
("cups" ,cups) ("libxrandr" ,libxrandr)
("ffmpeg" ,ffmpeg) ("libxrender" ,libxrender)
("pulseaudio" ,pulseaudio) ("libxinerama" ,libxinerama)
("alsa-lib" ,alsa-lib) ("libxshmfence" ,libxshmfence)
("gstreamer" ,gstreamer) ("cups" ,cups)
("gst-plugins-base" ,gst-plugins-base) ("ffmpeg" ,ffmpeg-2.8)
("zlib" ,zlib) ("libjpeg" ,libjpeg)
("openssl" ,openssl))) ("pulseaudio" ,pulseaudio)
(arguments ("alsa-lib" ,alsa-lib)
`(#:configure-flags ("zlib" ,zlib)
'("-DCMAKE_INSTALL_LIBDIR=lib" ("openssl" ,openssl)))
"-DWITH_PULSE=ON" (arguments
"-DWITH_CUPS=ON") `(#:configure-flags
#:tests? #f)) ; no 'test' target (list "-DCMAKE_INSTALL_LIBDIR=lib"
(home-page "https://www.freerdp.com") "-DCMAKE_BUILD_TYPE=RELEASE"
(synopsis "Remote Desktop Protocol implementation") "-DWITH_JPEG=ON"
(description "FreeRDP implements Microsoft's Remote Desktop Protocol. It ,@(if (string-prefix? "x86_64"
consists of the @code{xfreerdp} client, libraries for client and server (or (%current-target-system)
(%current-system)))
'("-DWITH_SSE2=ON")
'())
(string-append "-DDOCBOOKXSL_DIR="
(assoc-ref %build-inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl))
"-DWITH_PULSE=ON"
"-DWITH_CUPS=ON")
#:tests? #f)) ; no 'test' target
(home-page "https://www.freerdp.com")
(synopsis "Remote Desktop Protocol implementation")
(description "FreeRDP implements Microsoft's Remote Desktop Protocol.
It consists of the @code{xfreerdp} client, libraries for client and server
functionality, and Windows Portable Runtime (WinPR), a portable implementation functionality, and Windows Portable Runtime (WinPR), a portable implementation
of parts of the Windows API.") of parts of the Windows API.")
(license license:asl2.0))) (license license:asl2.0))))

View file

@ -464,13 +464,13 @@ (define-public ruby-rspec-2
(define-public bundler (define-public bundler
(package (package
(name "bundler") (name "bundler")
(version "1.15.3") (version "1.15.4")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (rubygems-uri "bundler" version)) (uri (rubygems-uri "bundler" version))
(sha256 (sha256
(base32 (base32
"125amldnpzzrfw76mmr7mlx002k1k6xdyrqf5bdnzl5hajvn0s5f")))) "0wl4r7wbwdq68xidfv4hhzfb1spb6lmhbspwlzrg4pf1l6ipxlgs"))))
(build-system ruby-build-system) (build-system ruby-build-system)
(arguments (arguments
'(#:tests? #f)) ; avoid dependency cycles '(#:tests? #f)) ; avoid dependency cycles

View file

@ -148,7 +148,7 @@ (define-public fish-guix
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://dist.pragmatique.xyz/fish-guix/" (uri (string-append "https://dist.infotropique.org/fish-guix/"
name "-" version ".tar.xz")) name "-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32

View file

@ -65,7 +65,7 @@ (define-module (gnu packages statistics)
(define-public pspp (define-public pspp
(package (package
(name "pspp") (name "pspp")
(version "0.10.2") (version "1.0.0")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -73,7 +73,7 @@ (define-public pspp
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1afsq0a3iij64qacczvwhk81qg0q5rfqm055y5h9ls28d6paqz7p")))) "10yb8nknh33c1y2ji3gww5dcnx9n3nqgsj6yfb4wibdjypa1m68v"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("cairo" ,cairo) `(("cairo" ,cairo)
@ -126,6 +126,12 @@ (define-public r-minimal
"PKG_BUILT_STAMP=1970-01-01") "PKG_BUILT_STAMP=1970-01-01")
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
;; FIXME: see bug #28157.
(add-before 'configure 'patch-which
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/library/base/R/unix/system.unix.R"
(("@WHICH@") "which"))
#t))
(add-before 'configure 'patch-uname (add-before 'configure 'patch-uname
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((uname-bin (string-append (assoc-ref inputs "coreutils") (let ((uname-bin (string-append (assoc-ref inputs "coreutils")
@ -227,7 +233,6 @@ (define-public r-minimal
("perl" ,perl) ("perl" ,perl)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("texinfo" ,texinfo) ; for building HTML manuals ("texinfo" ,texinfo) ; for building HTML manuals
("which" ,which) ; for tests/Examples/base-Ex.R
("tzdata" ,tzdata-2017a) ("tzdata" ,tzdata-2017a)
("xz" ,xz))) ("xz" ,xz)))
(inputs (inputs
@ -246,6 +251,9 @@ (define-public r-minimal
("pcre" ,pcre) ("pcre" ,pcre)
("readline" ,readline) ("readline" ,readline)
("zlib" ,zlib))) ("zlib" ,zlib)))
;; FIXME: By default Sys.which embeds a reference to "which", but this
;; reference is not detected by Guix (see bug #28157).
(propagated-inputs `(("which" ,which)))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "R_LIBS_SITE") (variable "R_LIBS_SITE")
@ -4724,7 +4732,8 @@ (define-public r-trimcluster
"The trimmed k-means clustering method by Cuesta-Albertos, Gordaliza and "The trimmed k-means clustering method by Cuesta-Albertos, Gordaliza and
Matran (1997). This optimizes the k-means criterion under trimming a portion Matran (1997). This optimizes the k-means criterion under trimming a portion
of the points.") of the points.")
(license license:gpl2+))) ;; Any GPL version
(license (list license:gpl2+ license:gpl3+))))
(define-public r-fpc (define-public r-fpc
(package (package

View file

@ -18,6 +18,7 @@ (define-module (gnu packages syndication)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages databases) #:use-module (gnu packages databases)
#:use-module (gnu packages gettext) #:use-module (gnu packages gettext)
@ -37,6 +38,7 @@ (define-public newsbeuter
(method url-fetch) (method url-fetch)
(uri (string-append "https://newsbeuter.org/downloads/newsbeuter-" (uri (string-append "https://newsbeuter.org/downloads/newsbeuter-"
version ".tar.gz")) version ".tar.gz"))
(patches (search-patches "newsbeuter-CVE-2017-12904.patch"))
(sha256 (sha256
(base32 (base32
"1j1x0hgwxz11dckk81ncalgylj5y5fgw5bcmp9qb5hq9kc0vza3l")))) "1j1x0hgwxz11dckk81ncalgylj5y5fgw5bcmp9qb5hq9kc0vza3l"))))

View file

@ -112,7 +112,7 @@ (define-public asn1c
(define-public p11-kit (define-public p11-kit
(package (package
(name "p11-kit") (name "p11-kit")
(version "0.23.7") (version "0.23.8")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -120,7 +120,7 @@ (define-public p11-kit
"download/" version "/p11-kit-" version ".tar.gz")) "download/" version "/p11-kit-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0hdy4h8byvcvd4av504xqfqyd1h6xy914j034mq3c6v4ya37r3lq")))) "0gqk1d09yyin75lvlywpbf3kxlnrcwbq8ridgapvqqjbzvjk98ab"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("pkg-config" ,pkg-config))) `(("pkg-config" ,pkg-config)))
@ -667,7 +667,7 @@ (define perl-crypt-arguments
(define-public perl-crypt-openssl-bignum (define-public perl-crypt-openssl-bignum
(package (package
(name "perl-crypt-openssl-bignum") (name "perl-crypt-openssl-bignum")
(version "0.06") (version "0.08")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -677,7 +677,7 @@ (define-public perl-crypt-openssl-bignum
".tar.gz")) ".tar.gz"))
(sha256 (sha256
(base32 (base32
"05yzrdglrrzp191krf77zrwfkmzrfwrsrx1vyskbj94522lszk67")))) "0gamn4dff1bz77nswacy1dlpn9fkwahzw7yvvik4nbwwy2s63hc8"))))
(build-system perl-build-system) (build-system perl-build-system)
(inputs `(("openssl" ,openssl))) (inputs `(("openssl" ,openssl)))
(arguments perl-crypt-arguments) (arguments perl-crypt-arguments)

View file

@ -9,7 +9,7 @@
;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2015, 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com> ;;; Copyright © 2015 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net> ;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com> ;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
@ -121,6 +121,8 @@ (define-public bazaar
(define-public git (define-public git
(package (package
(name "git") (name "git")
;; XXX When updating Git, check if the special 'git:src' input to cgit needs
;; to be updated as well.
(version "2.14.1") (version "2.14.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -349,23 +351,6 @@ (define-public git
(license license:gpl2) (license license:gpl2)
(home-page "https://git-scm.com/"))) (home-page "https://git-scm.com/")))
;; Some dependent packages directly access internal interfaces which
;; have changed in 2.12. TODO: Remove this for cgit > 1.1.
(define-public git@2.10
(package
(inherit git)
(version "2.10.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
"1pni4mgih5w42813dxljl61s7xmcpdnar34d9m4548hzpljjyd4l"))))
(arguments
`(#:tests? #f
,@(package-arguments git)))))
(define-public libgit2 (define-public libgit2
(package (package
(name "libgit2") (name "libgit2")
@ -502,6 +487,8 @@ (define-public git-remote-gcrypt
(define-public cgit (define-public cgit
(package (package
(name "cgit") (name "cgit")
;; XXX When updating cgit, try removing the special 'git:src' input and
;; using the source of the git package.
(version "1.1") (version "1.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -546,7 +533,16 @@ (define-public cgit
;; For building manpage. ;; For building manpage.
`(("asciidoc" ,asciidoc))) `(("asciidoc" ,asciidoc)))
(inputs (inputs
`(("git:src" ,(package-source git@2.10)) `(;; Cgit directly accesses some internal Git interfaces that changed in
;; Git 2.12. Try removing this special input and using the source of the
;; Git package for cgit > 1.1.
("git:src"
,(origin
(method url-fetch)
(uri "mirror://kernel.org/software/scm/git/git-2.10.4.tar.xz")
(sha256
(base32
"1pni4mgih5w42813dxljl61s7xmcpdnar34d9m4548hzpljjyd4l"))))
("openssl" ,openssl) ("openssl" ,openssl)
("zlib" ,zlib))) ("zlib" ,zlib)))
(home-page "https://git.zx2c4.com/cgit/") (home-page "https://git.zx2c4.com/cgit/")
@ -1341,16 +1337,21 @@ (define-public git-annex-remote-hubic
(define-public fossil (define-public fossil
(package (package
(name "fossil") (name "fossil")
(version "1.35") (version "2.2")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append ;; Older downloads are moved to another URL.
"https://www.fossil-scm.org/index.html/uv/download/" (uri (list
"fossil-src-" version ".tar.gz")) (string-append
"https://www.fossil-scm.org/index.html/uv/download/"
"fossil-src-" version ".tar.gz")
(string-append
"https://www.fossil-scm.org/index.html/uv/"
"fossil-src-" version ".tar.gz")))
(sha256 (sha256
(base32 (base32
"07ds6rhq69bhydpm9a01mgdhxf88p9b6y5hdnhn8gjc7ba92zyf1")))) "0wfgacfg29dkl0c3l1rp5ji0kraa64gcbg5lh8p4m7mqdqcq53wv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("tcl" ,tcl) ;for configuration only `(("tcl" ,tcl) ;for configuration only
@ -1379,9 +1380,6 @@ (define-public fossil
(lambda _ (lambda _
(setenv "USER" "guix") (setenv "USER" "guix")
(setenv "TZ" "UTC") (setenv "TZ" "UTC")
;; Fixing the th1 test would require many backports, so
;; just disable for now.
(delete-file "test/th1.test")
#t))))) #t)))))
(home-page "https://fossil-scm.org") (home-page "https://fossil-scm.org")
(synopsis "Software configuration management system") (synopsis "Software configuration management system")

View file

@ -1121,7 +1121,7 @@ (define-public libvpx
(define-public youtube-dl (define-public youtube-dl
(package (package
(name "youtube-dl") (name "youtube-dl")
(version "2017.08.13") (version "2017.08.18")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/" (uri (string-append "https://yt-dl.org/downloads/"
@ -1129,7 +1129,7 @@ (define-public youtube-dl
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1parn0xda7mp1phcj19axldifgh6mcwia6wdi3m20kidc9m4wb11")))) "1mn3wi31k62c6drpplzp2irygjhiwprj5k7w4m0g8m4bgfdjgx57"))))
(build-system python-build-system) (build-system python-build-system)
(arguments (arguments
;; The problem here is that the directory for the man page and completion ;; The problem here is that the directory for the man page and completion

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com> ;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz> ;;; Copyright © 2016, 2017 ng0 <ng0@no-reply.pragmatique.xyz>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
@ -648,24 +648,46 @@ (define-public neovim
(define-public vifm (define-public vifm
(package (package
(name "vifm") (name "vifm")
(version "0.8.2") (version "0.9")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://sourceforge/vifm/vifm/vifm-" (uri (list
version ".tar.bz2")) (string-append "https://github.com/vifm/vifm/releases/download/v"
version "/vifm-" version ".tar.bz2")
(string-append "https://sourceforge.net/projects/vifm/files/vifm/"
"vifm-" version ".tar.bz2")))
(sha256 (sha256
(base32 (base32
"07r15kq7kjl3a41sd11ncpsii866xxps4f90zh3lv8jqcrv6silb")))) "1zd72vcgir3g9rhs2iyca13qf5fc0b1f22y20f5gy92c3sfwj45b"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases '(#:configure-flags '("--disable-build-timestamp")
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-after 'patch-source-shebangs 'patch-test-shebangs (add-after 'patch-source-shebangs 'patch-test-shebangs
(lambda _ (lambda _
(substitute* (find-files "tests" "\\.c$") (substitute* (cons* "src/background.c"
(("/bin/sh") (which "sh"))) "src/cfg/config.c"
#t))))) (find-files "tests" "\\.c$"))
(("/bin/sh") (which "sh"))
(("/bin/bash") (which "bash")))
;; This test segfaults
(substitute* "tests/Makefile"
(("misc") ""))
#t))
(add-after 'install 'install-vim-plugin-files
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(vifm (string-append out "/share/vifm"))
(vimfiles (string-append out "/share/vim/vimfiles")))
(copy-recursively (string-append vifm "/colors")
(string-append vimfiles "/colors"))
(copy-recursively (string-append vifm "/vim")
vimfiles)
(delete-file-recursively (string-append vifm "/colors"))
(delete-file-recursively (string-append vifm "/vim")))
#t)))))
(native-inputs (native-inputs
`(("groff" ,groff) ; for the documentation `(("groff" ,groff) ; for the documentation
("perl" ,perl))) ("perl" ,perl)))

View file

@ -933,7 +933,7 @@ (define-public serf
(define-public sassc (define-public sassc
;; libsass must be statically linked and it isn't included in the sassc ;; libsass must be statically linked and it isn't included in the sassc
;; release tarballs, hence this odd package recipe. ;; release tarballs, hence this odd package recipe.
(let* ((version "3.2.5") (let* ((version "3.4.5")
(libsass (libsass
(origin (origin
(method url-fetch) (method url-fetch)
@ -943,7 +943,7 @@ (define-public sassc
(file-name (string-append "libsass-" version ".tar.gz")) (file-name (string-append "libsass-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1x25k6p1s1yzsdpzb7bzh8japilmi1mk3z96q66pycbinj9z9is4"))))) "1j22138l5ymqjfj5zan9d2hipa3ahjmifgpjahqy1smlg5sb837x")))))
(package (package
(name "sassc") (name "sassc")
(version version) (version version)
@ -954,11 +954,16 @@ (define-public sassc
(file-name (string-append "sassc-" version ".tar.gz")) (file-name (string-append "sassc-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1xf3w75w840rj0nx375rxi7mcv1ngqqq8p3zrzjlyx8jfpnldmv5")))) "1xk4kmmvziz9sal3swpqa10q0s289xjpcz8aggmly8mvxvmngsi9"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:make-flags '("CC=gcc") `(#:make-flags
(list "CC=gcc"
(string-append "PREFIX=" (assoc-ref %outputs "out")))
#:test-target "test" #:test-target "test"
;; FIXME: "make test" rebuilds the application and gets lost in a
;; non-existing directory.
#:tests? #f
#:phases #:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(delete 'configure) (delete 'configure)
@ -968,13 +973,7 @@ (define-public sassc
(begin (begin
(setenv "SASS_LIBSASS_PATH" (setenv "SASS_LIBSASS_PATH"
(string-append (getcwd) "/libsass-" ,version)) (string-append (getcwd) "/libsass-" ,version))
#t)))) #t)))))))
(replace 'install ; no install target
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
(mkdir-p bin)
(copy-file "bin/sassc" (string-append bin "/sassc"))
#t))))))
(inputs (inputs
`(("libsass" ,libsass))) `(("libsass" ,libsass)))
(synopsis "CSS pre-processor") (synopsis "CSS pre-processor")
@ -4920,3 +4919,67 @@ (define-public r-crosstalk
communicate with each other, with Shiny or without (i.e. static @code{.html} communicate with each other, with Shiny or without (i.e. static @code{.html}
files). It currently supports linked brushing and filtering.") files). It currently supports linked brushing and filtering.")
(license l:expat))) (license l:expat)))
(define-public r-rook
(package
(name "r-rook")
(version "1.1-1")
(source
(origin
(method url-fetch)
(uri (cran-uri "Rook" version))
(sha256
(base32
"00s9a0kr9rwxvlq433daxjk4ji8m0w60hjdprf502msw9kxfrx00"))))
(properties `((upstream-name . "Rook")))
(build-system r-build-system)
(propagated-inputs `(("r-brew" ,r-brew)))
(home-page "http://cran.r-project.org/web/packages/Rook")
(synopsis "Web server interface for R")
(description
"This package contains the Rook specification and convenience software
for building and running Rook applications. A Rook application is an R
reference class object that implements a @code{call} method or an R closure
that takes exactly one argument, an environment, and returns a list with three
named elements: the @code{status}, the @code{headers}, and the @code{body}.")
(license l:gpl2)))
(define-public rss-bridge
(package
(name "rss-bridge")
(version "2017-08-03")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/RSS-Bridge/rss-bridge/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"05s16y552hbyj91s7bnlkx1bi64s6aw0fjy29az8via3i3b21yhl"))))
(build-system trivial-build-system)
(native-inputs
`(("gzip" ,gzip)
("tar" ,tar)))
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils)
(ice-9 match))
(let* ((out (assoc-ref %outputs "out"))
(share-rss-bridge (string-append out "/share/rss-bridge")))
(set-path-environment-variable
"PATH" '("bin") (map (match-lambda ((_ . input) input))
%build-inputs))
(mkdir-p share-rss-bridge)
(system* "tar" "xvf" (assoc-ref %build-inputs "source")
"--strip-components" "1" "-C" share-rss-bridge)
#t))))
(home-page "https://github.com/RSS-Bridge/rss-bridge")
(synopsis "Generate Atom feeds for social networking websites")
(description "rss-bridge generates Atom feeds for social networking
websites lacking feeds. Supported websites include Facebook, Twitter,
Instagram and YouTube.")
(license (list l:public-domain
l:expat)))) ;; vendor/simplehtmldom/simple_html_dom.php

View file

@ -73,7 +73,7 @@ (define-module (gnu packages wm)
(define-public libconfuse (define-public libconfuse
(package (package
(name "libconfuse") (name "libconfuse")
(version "3.2") (version "3.2.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "https://github.com/martinh/libconfuse/" (uri (string-append "https://github.com/martinh/libconfuse/"
@ -81,7 +81,7 @@ (define-public libconfuse
"/confuse-" version ".tar.xz")) "/confuse-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0j2fg93w22apjfqnkak8k8m395n2l7hhm9xnjx0k2v82js3bnsm4")))) "0pnjmlj9i0alp407qd7c0vq83sz7gpsjrbdgpcn4xvzjp9r35ii3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "https://github.com/martinh/libconfuse") (home-page "https://github.com/martinh/libconfuse")
(synopsis "Configuration file parser library") (synopsis "Configuration file parser library")

View file

@ -3220,7 +3220,8 @@ (define-public xf86-video-siliconmotion
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1g2r6gxqrmjdff95d42msxdw6vmkg2zn5sqv0rxd420iwy8wdwyh")))) "1g2r6gxqrmjdff95d42msxdw6vmkg2zn5sqv0rxd420iwy8wdwyh"))
(patches (search-patches "xf86-video-siliconmotion-fix-ftbfs.patch"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("xorg-server" ,xorg-server))) (inputs `(("xorg-server" ,xorg-server)))
(native-inputs `(("pkg-config" ,pkg-config))) (native-inputs `(("pkg-config" ,pkg-config)))

View file

@ -216,6 +216,14 @@ (define %memcached-accounts
(home-directory "/var/empty") (home-directory "/var/empty")
(shell (file-append shadow "/sbin/nologin"))))) (shell (file-append shadow "/sbin/nologin")))))
(define memcached-activation
#~(begin
(use-modules (guix build utils))
(let ((user (getpwnam "memcached")))
(mkdir-p "/var/run/memcached")
(chown "/var/run/memcached"
(passwd:uid user) (passwd:gid user)))))
(define memcached-shepherd-service (define memcached-shepherd-service
(match-lambda (match-lambda
(($ <memcached-configuration> memcached interfaces tcp-port udp-port (($ <memcached-configuration> memcached interfaces tcp-port udp-port
@ -233,11 +241,14 @@ (define memcached-shepherd-service
"-p" #$(number->string tcp-port) "-p" #$(number->string tcp-port)
"-U" #$(number->string udp-port) "-U" #$(number->string udp-port)
"--daemon" "--daemon"
"-P" "/var/run/memcached.pid" ;; Memcached changes to the memcached user prior to
;; writing the pid file, so write it to a directory
;; that memcached owns.
"-P" "/var/run/memcached/pid"
"-u" "memcached" "-u" "memcached"
,#$@additional-options) ,#$@additional-options)
#:log-file "/var/log/memcached" #:log-file "/var/log/memcached"
#:pid-file "/var/run/memcached.pid")) #:pid-file "/var/run/memcached/pid"))
(stop #~(make-kill-destructor)))))))) (stop #~(make-kill-destructor))))))))
(define memcached-service-type (define memcached-service-type
@ -245,6 +256,8 @@ (define memcached-service-type
(extensions (extensions
(list (service-extension shepherd-root-service-type (list (service-extension shepherd-root-service-type
memcached-shepherd-service) memcached-shepherd-service)
(service-extension activation-service-type
(const memcached-activation))
(service-extension account-service-type (service-extension account-service-type
(const %memcached-accounts)))) (const %memcached-accounts))))
(default-value (memcached-configuration)))) (default-value (memcached-configuration))))

View file

@ -114,105 +114,109 @@ (define-record-type* <nginx-configuration>
(define (config-domain-strings names) (define (config-domain-strings names)
"Return a string denoting the nginx config representation of NAMES, a list "Return a string denoting the nginx config representation of NAMES, a list
of domain names." of domain names."
(string-join (map (match-lambda
(map (match-lambda
('default "_ ") ('default "_ ")
((? string? str) (string-append str " "))) ((? string? str) (list str " ")))
names))) names))
(define (config-index-strings names) (define (config-index-strings names)
"Return a string denoting the nginx config representation of NAMES, a list "Return a string denoting the nginx config representation of NAMES, a list
of index files." of index files."
(string-join (map (match-lambda
(map (match-lambda ((? string? str) (list str " ")))
((? string? str) (string-append str " "))) names))
names)))
(define nginx-location-config (define emit-nginx-location-config
(match-lambda (match-lambda
(($ <nginx-location-configuration> uri body) (($ <nginx-location-configuration> uri body)
(string-append (list
" location " uri " {\n" " location " uri " {\n"
" " (string-join body "\n ") "\n" (map (lambda (x) (list " " x "\n")) body)
" }\n")) " }\n"))
(($ <nginx-named-location-configuration> name body) (($ <nginx-named-location-configuration> name body)
(string-append (list
" location @" name " {\n" " location @" name " {\n"
" " (string-join body "\n ") "\n" (map (lambda (x) (list " " x "\n")) body)
" }\n")))) " }\n"))))
(define (default-nginx-server-config server) (define (emit-nginx-server-config server)
(string-append (let ((http-port (nginx-server-configuration-http-port server))
" server {\n" (https-port (nginx-server-configuration-https-port server))
(if (nginx-server-configuration-http-port server) (server-name (nginx-server-configuration-server-name server))
(string-append " listen " (ssl-certificate (nginx-server-configuration-ssl-certificate server))
(number->string (nginx-server-configuration-http-port server)) (ssl-certificate-key
";\n") (nginx-server-configuration-ssl-certificate-key server))
"") (root (nginx-server-configuration-root server))
(if (nginx-server-configuration-https-port server) (index (nginx-server-configuration-index server))
(string-append " listen " (server-tokens? (nginx-server-configuration-server-tokens? server))
(number->string (nginx-server-configuration-https-port server)) (locations (nginx-server-configuration-locations server)))
" ssl;\n") (define-syntax-parameter <> (syntax-rules ()))
"") (define-syntax-rule (and/l x tail ...)
" server_name " (config-domain-strings (let ((x* x))
(nginx-server-configuration-server-name server)) (if x*
";\n" (syntax-parameterize ((<> (identifier-syntax x*)))
(if (nginx-server-configuration-ssl-certificate server) (list tail ...))
(let ((certificate (nginx-server-configuration-ssl-certificate server))) '())))
;; lstat fails when the certificate file does not exist: it aborts (for-each
;; and lets the user fix their configuration. (match-lambda
(lstat certificate) ((record-key . file)
(string-append " ssl_certificate " certificate ";\n")) (if (and file (not (file-exists? file)))
"") (error
(if (nginx-server-configuration-ssl-certificate-key server) (simple-format
(let ((key (nginx-server-configuration-ssl-certificate-key server))) #f
(lstat key) "~A in the nginx configuration for the server with name \"~A\" does not exist" record-key server-name)))))
(string-append " ssl_certificate_key " key ";\n")) `(("ssl-certificate" . ,ssl-certificate)
"") ("ssl-certificate-key" . ,ssl-certificate-key)))
" root " (nginx-server-configuration-root server) ";\n" (list
" index " (config-index-strings (nginx-server-configuration-index server)) ";\n" " server {\n"
" server_tokens " (if (nginx-server-configuration-server-tokens? server) (and/l http-port " listen " (number->string <>) ";\n")
"on" "off") ";\n" (and/l https-port " listen " (number->string <>) " ssl;\n")
"\n" " server_name " (config-domain-strings server-name) ";\n"
(string-join (and/l ssl-certificate " ssl_certificate " <> ";\n")
(map nginx-location-config (nginx-server-configuration-locations server)) (and/l ssl-certificate-key " ssl_certificate_key " <> ";\n")
"\n") " root " root ";\n"
" index " (config-index-strings index) ";\n"
" server_tokens " (if server-tokens? "on" "off") ";\n"
"\n"
(map emit-nginx-location-config locations)
"\n"
" }\n")))
(define (emit-nginx-upstream-config upstream)
(list
" upstream " (nginx-upstream-configuration-name upstream) " {\n"
(map (lambda (server)
(simple-format #f " server ~A;\n" server))
(nginx-upstream-configuration-servers upstream))
" }\n")) " }\n"))
(define (nginx-upstream-config upstream) (define (flatten . lst)
(string-append "Return a list that recursively concatenates all sub-lists of LST."
" upstream " (nginx-upstream-configuration-name upstream) " {\n" (define (flatten1 head out)
(string-concatenate (if (list? head)
(map (lambda (server) (fold-right flatten1 out head)
(simple-format #f " server ~A;\n" server)) (cons head out)))
(nginx-upstream-configuration-servers upstream))) (fold-right flatten1 '() lst))
" }\n"))
(define (default-nginx-config nginx log-directory run-directory server-list upstream-list) (define (default-nginx-config nginx log-directory run-directory server-list upstream-list)
(mixed-text-file "nginx.conf" (apply mixed-text-file "nginx.conf"
"user nginx nginx;\n" (flatten
"pid " run-directory "/pid;\n" "user nginx nginx;\n"
"error_log " log-directory "/error.log info;\n" "pid " run-directory "/pid;\n"
"http {\n" "error_log " log-directory "/error.log info;\n"
" client_body_temp_path " run-directory "/client_body_temp;\n" "http {\n"
" proxy_temp_path " run-directory "/proxy_temp;\n" " client_body_temp_path " run-directory "/client_body_temp;\n"
" fastcgi_temp_path " run-directory "/fastcgi_temp;\n" " proxy_temp_path " run-directory "/proxy_temp;\n"
" uwsgi_temp_path " run-directory "/uwsgi_temp;\n" " fastcgi_temp_path " run-directory "/fastcgi_temp;\n"
" scgi_temp_path " run-directory "/scgi_temp;\n" " uwsgi_temp_path " run-directory "/uwsgi_temp;\n"
" access_log " log-directory "/access.log;\n" " scgi_temp_path " run-directory "/scgi_temp;\n"
" include " nginx "/share/nginx/conf/mime.types;\n" " access_log " log-directory "/access.log;\n"
"\n" " include " nginx "/share/nginx/conf/mime.types;\n"
(string-join "\n"
(filter (lambda (section) (not (null? section))) (map emit-nginx-upstream-config upstream-list)
(map nginx-upstream-config upstream-list)) (map emit-nginx-server-config server-list)
"\n") "}\n"
"\n" "events {}\n")))
(let ((http (map default-nginx-server-config server-list)))
(do ((http http (cdr http))
(block "" (string-append (car http) "\n" block )))
((null? http) block)))
"}\n"
"events {}\n"))
(define %nginx-accounts (define %nginx-accounts
(list (user-group (name "nginx") (system? #t)) (list (user-group (name "nginx") (system? #t))

View file

@ -12,7 +12,9 @@
;; Assuming /dev/sdX is the target hard disk, and "my-root" is ;; Assuming /dev/sdX is the target hard disk, and "my-root" is
;; the label of the target root file system. ;; the label of the target root file system.
(bootloader (grub-configuration (device "/dev/sdX"))) (bootloader (bootloader-configuration
(bootloader grub-bootloader)
(device "/dev/sdX")))
(file-systems (cons (file-system (file-systems (cons (file-system
(device "my-root") (device "my-root")
(title 'label) (title 'label)

View file

@ -13,19 +13,20 @@
;; Assuming /dev/sdX is the target hard disk, and "my-root" ;; Assuming /dev/sdX is the target hard disk, and "my-root"
;; is the label of the target root file system. ;; is the label of the target root file system.
(bootloader (grub-configuration (device "/dev/sdX"))) (bootloader (bootloader-configuration
(bootloader grub-bootloader)
(device "/dev/sdX")))
;; Specify a mapped device for the encrypted root partition. ;; Specify a mapped device for the encrypted root partition.
;; The UUID is that returned by 'cryptsetup luksUUID'. ;; The UUID is that returned by 'cryptsetup luksUUID'.
(mapped-devices (mapped-devices
(list (mapped-device (list (mapped-device
(source (uuid "12345678-1234-1234-1234-123456789abc")) (source (uuid "12345678-1234-1234-1234-123456789abc"))
(target "the-root-device") (target "my-root")
(type luks-device-mapping)))) (type luks-device-mapping))))
(file-systems (cons (file-system (file-systems (cons (file-system
(device "my-root") (device "my-root")
(title 'label)
(mount-point "/") (mount-point "/")
(type "ext4") (type "ext4")
(dependencies mapped-devices)) (dependencies mapped-devices))

View file

@ -12,9 +12,10 @@
(locale "en_US.utf8") (locale "en_US.utf8")
;; Use the UEFI variant of GRUB with the EFI System ;; Use the UEFI variant of GRUB with the EFI System
;; Partition on /dev/sda1. ;; Partition mounted on /boot/efi.
(bootloader (grub-configuration (grub grub-efi) (bootloader (bootloader-configuration
(device "/dev/sda1"))) (bootloader grub-efi-bootloader)
(device "/boot/efi")))
;; Assume the target root file system is labelled "my-root". ;; Assume the target root file system is labelled "my-root".
(file-systems (cons* (file-system (file-systems (cons* (file-system

View file

@ -63,13 +63,15 @@ (define marionette
(test-begin "memcached") (test-begin "memcached")
;; Wait for memcached to be up and running. ;; Wait for memcached to be up and running.
(test-eq "service running" (test-assert "service running"
'running!
(marionette-eval (marionette-eval
'(begin '(begin
(use-modules (gnu services herd)) (use-modules (gnu services herd))
(start-service 'memcached) (match (start-service 'memcached)
'running!) (#f #f)
(('service response-parts ...)
(match (assq-ref response-parts 'running)
((pid) (number? pid))))))
marionette)) marionette))
(let* ((ai (car (getaddrinfo "localhost" (let* ((ai (car (getaddrinfo "localhost"

View file

@ -143,12 +143,15 @@ (define (parse-options)
(arg (or (assq-ref opts 'argument) (arg (or (assq-ref opts 'argument)
(leave (G_ "no download URI was specified~%")))) (leave (G_ "no download URI was specified~%"))))
(uri (or (string->uri arg) (uri (or (string->uri arg)
(false-if-exception
(string->uri
(string-append "file://" (canonicalize-path arg))))
(leave (G_ "~a: failed to parse URI~%") (leave (G_ "~a: failed to parse URI~%")
arg))) arg)))
(fetch (assq-ref opts 'download-proc)) (fetch (assq-ref opts 'download-proc))
(path (parameterize ((current-terminal-columns (path (parameterize ((current-terminal-columns
(terminal-columns))) (terminal-columns)))
(fetch arg (fetch (uri->string uri)
#:verify-certificate? #:verify-certificate?
(assq-ref opts 'verify-certificate?)))) (assq-ref opts 'verify-certificate?))))
(hash (call-with-input-file (hash (call-with-input-file

View file

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU ;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; ;;;
;;; This file is part of GNU Guix. ;;; This file is part of GNU Guix.
;;; ;;;
@ -50,19 +51,20 @@ (define-record-type <compressor>
(compressor name extension command) (compressor name extension command)
compressor? compressor?
(name compressor-name) ;string (e.g., "gzip") (name compressor-name) ;string (e.g., "gzip")
(extension compressor-extension) ;string (e.g., "lz") (extension compressor-extension) ;string (e.g., ".lz")
(command compressor-command)) ;gexp (e.g., #~("/gnu/store/…/gzip" "-9n")) (command compressor-command)) ;gexp (e.g., #~("/gnu/store/…/gzip" "-9n"))
(define %compressors (define %compressors
;; Available compression tools. ;; Available compression tools.
(list (compressor "gzip" "gz" (list (compressor "gzip" ".gz"
#~(#+(file-append gzip "/bin/gzip") "-9n")) #~(#+(file-append gzip "/bin/gzip") "-9n"))
(compressor "lzip" "lz" (compressor "lzip" ".lz"
#~(#+(file-append lzip "/bin/lzip") "-9")) #~(#+(file-append lzip "/bin/lzip") "-9"))
(compressor "xz" "xz" (compressor "xz" ".xz"
#~(#+(file-append xz "/bin/xz") "-e -T0")) #~(#+(file-append xz "/bin/xz") "-e -T0"))
(compressor "bzip2" "bz2" (compressor "bzip2" ".bz2"
#~(#+(file-append bzip2 "/bin/bzip2") "-9")))) #~(#+(file-append bzip2 "/bin/bzip2") "-9"))
(compressor "none" "" #f)))
(define (lookup-compressor name) (define (lookup-compressor name)
"Return the compressor object called NAME. Error out if it could not be "Return the compressor object called NAME. Error out if it could not be
@ -180,7 +182,7 @@ (define tar-supports-sort?
(_ #f)) (_ #f))
directives))))))))) directives)))))))))
(gexp->derivation (string-append name ".tar." (gexp->derivation (string-append name ".tar"
(compressor-extension compressor)) (compressor-extension compressor))
build build
#:references-graphs `(("profile" ,profile)))) #:references-graphs `(("profile" ,profile))))
@ -245,7 +247,7 @@ (define build
#:compressor '#$(compressor-command compressor) #:compressor '#$(compressor-command compressor)
#:creation-time (make-time time-utc 0 1))))) #:creation-time (make-time time-utc 0 1)))))
(gexp->derivation (string-append name ".tar." (gexp->derivation (string-append name ".tar"
(compressor-extension compressor)) (compressor-extension compressor))
build build
#:references-graphs `(("profile" ,profile)))) #:references-graphs `(("profile" ,profile))))

View file

@ -2086,12 +2086,8 @@ void DerivationGoal::runChild()
outside of the namespace. Making a subtree private is outside of the namespace. Making a subtree private is
local to the namespace, though, so setting MS_PRIVATE local to the namespace, though, so setting MS_PRIVATE
does not affect the outside world. */ does not affect the outside world. */
Strings mounts = tokenizeString<Strings>(readFile("/proc/self/mountinfo", true), "\n"); if (mount(0, "/", 0, MS_REC|MS_PRIVATE, 0) == -1) {
foreach (Strings::iterator, i, mounts) { throw SysError("unable to make / private mount");
vector<string> fields = tokenizeString<vector<string> >(*i, " ");
string fs = decodeOctalEscaped(fields.at(4));
if (mount(0, fs.c_str(), 0, MS_PRIVATE, 0) == -1)
throw SysError(format("unable to make filesystem `%1%' private") % fs);
} }
/* Bind-mount chroot directory to itself, to treat it as a /* Bind-mount chroot directory to itself, to treat it as a

View file

@ -1106,21 +1106,6 @@ bool endOfList(std::istream & str)
} }
string decodeOctalEscaped(const string & s)
{
string r;
for (string::const_iterator i = s.begin(); i != s.end(); ) {
if (*i != '\\') { r += *i++; continue; }
unsigned char c = 0;
++i;
while (i != s.end() && *i >= '0' && *i < '8')
c = c * 8 + (*i++ - '0');
r += c;
}
return r;
}
void ignoreException() void ignoreException()
{ {
try { try {

View file

@ -356,12 +356,6 @@ string parseString(std::istream & str);
bool endOfList(std::istream & str); bool endOfList(std::istream & str);
/* Escape a string that contains octal-encoded escape codes such as
used in /etc/fstab and /proc/mounts (e.g. "foo\040bar" decodes to
"foo bar"). */
string decodeOctalEscaped(const string & s);
/* Exception handling in destructors: print an error message, then /* Exception handling in destructors: print an error message, then
ignore the exception. */ ignore the exception. */
void ignoreException(); void ignoreException();

View file

@ -29,12 +29,15 @@ then false; else true; fi
if guix download unknown://some/where; if guix download unknown://some/where;
then false; else true; fi then false; else true; fi
if guix download not/a/uri; if guix download /does-not-exist
then false; else true; fi then false; else true; fi
# This one should succeed. # This one should succeed.
guix download "file://$abs_top_srcdir/README" guix download "file://$abs_top_srcdir/README"
# And this one, without the URI scheme.
guix download "$abs_top_srcdir/README"
# This one too, even if it cannot talk to the daemon. # This one too, even if it cannot talk to the daemon.
output="t-download-$$" output="t-download-$$"
trap 'rm -f "$output"' EXIT trap 'rm -f "$output"' EXIT