Merge branch 'master' into core-updates

This commit is contained in:
Marius Bakke 2017-12-05 23:41:30 +01:00
commit 77181815ae
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
185 changed files with 8324 additions and 2928 deletions

View File

@ -77,7 +77,8 @@
(eval . (put 'container-excursion 'scheme-indent-function 1))
(eval . (put 'eventually 'scheme-indent-function 1))
;; Recognize '~', '+', and '$', as used for gexps, as quotation symbols.
(eval . (put 'call-with-progress-reporter 'scheme-indent-function 1))
;; This notably allows '(' in Paredit to not insert a space when the
;; preceding symbol is one of these.
(eval . (modify-syntax-entry ?~ "'"))

View File

@ -42,16 +42,17 @@ Mathieu Lirzin <mthl@gnu.org> <mthl@openmailbox.org>
Mathieu Lirzin <mthl@gnu.org> <mathieu.lirzin@openmailbox.org>
Mathieu Othacehe <m.othacehe@gmail.com>
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
ng0 <ng0@infotropique.org>
ng0 <ng0@infotropique.org> <ng0@no-reply.infotropique.org>
ng0 <ng0@infotropique.org> <ng0@no-reply.pragmatique.xyz>
ng0 <ng0@infotropique.org> <ng0@pragmatique.xyz>
ng0 <ng0@infotropique.org> <contact.ng0@cryptolab.net>
ng0 <ng0@infotropique.org> <ng0@we.make.ritual.n0.is>
ng0 <ng0@infotropique.org> <ngillmann@runbox.com>
ng0 <ng0@infotropique.org> <niasterisk@grrlz.net>
ng0 <ng0@infotropique.org> <ng@niasterisk.space>
ng0 <ng0@infotropique.org> <ng0@libertad.pw>
ng0 <ng0@n0.is>
ng0 <ng0@n0.is> <ng0@infotropique.org>
ng0 <ng0@n0.is> <ng0@no-reply.infotropique.org>
ng0 <ng0@n0.is> <ng0@no-reply.pragmatique.xyz>
ng0 <ng0@n0.is> <ng0@pragmatique.xyz>
ng0 <ng0@n0.is> <contact.ng0@cryptolab.net>
ng0 <ng0@n0.is> <ng0@we.make.ritual.n0.is>
ng0 <ng0@n0.is> <ngillmann@runbox.com>
ng0 <ng0@n0.is> <niasterisk@grrlz.net>
ng0 <ng0@n0.is> <ng@niasterisk.space>
ng0 <ng0@n0.is> <ng0@libertad.pw>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public01@thebird.nl>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@thebird.nl>
Pjotr Prins <pjotr.guix@thebird.nl> <pjotr.public12@email>

View File

@ -8,6 +8,7 @@
# Copyright © 2017 Leo Famulari <leo@famulari.name>
# Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
#
# This file is part of GNU Guix.
#
@ -94,6 +95,7 @@ MODULES = \
guix/build-system/waf.scm \
guix/build-system/r.scm \
guix/build-system/ruby.scm \
guix/build-system/scons.scm \
guix/build-system/texlive.scm \
guix/build-system/trivial.scm \
guix/ftp-client.scm \
@ -127,6 +129,7 @@ MODULES = \
guix/build/ocaml-build-system.scm \
guix/build/r-build-system.scm \
guix/build/ruby-build-system.scm \
guix/build/scons-build-system.scm \
guix/build/texlive-build-system.scm \
guix/build/waf-build-system.scm \
guix/build/haskell-build-system.scm \
@ -413,7 +416,7 @@ check-system: $(GOBJECTS)
# Public key used to sign substitutes from hydra.gnu.org & co.
dist_pkgdata_DATA = \
hydra.gnu.org.pub \
bayfront.guixsd.org.pub
berlin.guixsd.org.pub
# Bash completion file.
dist_bashcompletion_DATA = etc/completion/bash/guix
@ -432,6 +435,7 @@ EXTRA_DIST = \
build-aux/hydra/evaluate.scm \
build-aux/hydra/gnu-system.scm \
build-aux/hydra/guix.scm \
build-aux/hydra/guix-modular.scm \
build-aux/check-available-binaries.scm \
build-aux/check-final-inputs-self-contained.scm \
build-aux/generate-authors.scm \
@ -579,7 +583,7 @@ SOURCE_TARBALLS = \
$(foreach ext,tar.gz,$(PACKAGE_FULL_TARNAME).$(ext))
# Systems supported by Guix.
SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux
SUPPORTED_SYSTEMS ?= x86_64-linux i686-linux armhf-linux aarch64-linux
# Guix binary tarballs.
BINARY_TARBALLS = \
@ -597,9 +601,6 @@ GUIXSD_IMAGE_BASE = guixsd-install-$(PACKAGE_VERSION)
# Prefix of the GuixSD VM image file name.
GUIXSD_VM_IMAGE_BASE = guixsd-vm-image-$(PACKAGE_VERSION)
# Size of the VM image (for x86_64 typically).
GUIXSD_VM_IMAGE_SIZE ?= 2GiB
# The release process works in several phases:
#
# 0. We assume the developer created a 'vX.Y' tag.
@ -650,15 +651,14 @@ release: dist
echo "failed to produced GuixSD installation image for $$system" >&2 ; \
exit 1 ; \
fi ; \
xz < "$$image" > "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz.tmp" ; \
mv "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz.tmp" \
"$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.xz" ; \
xz < "$$image" > "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz.tmp" ; \
mv "$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz.tmp" \
"$(releasedir)/$(GUIXSD_IMAGE_BASE).$$system.iso.xz" ; \
done
for system in $(GUIXSD_VM_SYSTEMS) ; do \
image=`$(top_builddir)/pre-inst-env \
guix system vm-image \
--system=$$system \
--image-size=$(GUIXSD_VM_IMAGE_SIZE) \
gnu/system/examples/vm-image.tmpl` ; \
if [ ! -f "$$image" ] ; then \
echo "failed to produced GuixSD VM image for $$system" >&2 ; \

76
NEWS
View File

@ -10,6 +10,82 @@ Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
Please send Guix bug reports to bug-guix@gnu.org.
* Changes in 0.14.0 (since 0.13.0)
** Package management
*** guix package displays how much will be downloaded
*** guix package warns about insufficient disk space
*** guix package now reports package collisions early on
*** guix package --search sorts results by relevance
*** guix pull now fetches code directly over Git using Guile-Git
*** Substitutes can be downloaded from servers equivalent to the authorized ones
*** New guix weather command
*** guix publish --cache now also caches uncompressed items
*** guix publish no longer removes live items from its cache
*** guix challenge now displays an overall summary
*** guix refresh no longer uses FTP for GNU and GNOME packages
*** guix refresh has a new -m or --manifest option
*** New refresh checker for guix lint
*** New json importer for guix import to simplify first packages
*** New texlive importer for guix import
** Distribution
*** GuixSD installation image is now available as ISO-9660
*** GuixSD installation image now includes an sshd service
*** New (gnu bootloaders) API, with support for U-Boot and extlinux
*** grub-configuration is deprecated in favor of bootloader-configuration
*** %desktop-services now includes NetworkManager instead of Wicd
*** The (uuid …) form can now specify FAT32 and ISO-9660 UUIDs
*** guix system now reports missing file system UUIDs and labels
*** guix system can provide hints when reporting unbound variables
*** New --file-system-type option for guix system disk-image
*** guix system disk-image can now creates ISO-9660 images
*** guix system vm-image & co. automatically estimate the image size
*** guix system vm now uses overlayfs instead of unionfs
*** TeX Live is now also available as a set of small texlive- packages
*** New guix system search command to search for services
*** New services
certbot, fcgiwrap, gdm, git-http, knot, libvirt, memcached, mongodb, mpd,
murmur, rsync, tailon, sysctl
*** XXX new packages
*** XXX package updates
** Programming interfaces
*** New build systems: font, meson, minify, scons, texlive
*** cmake-build-system now supports cross-compilation
*** Various improvements to asdf-build-system, emacs-build-system,
ant-build-system, and go-build-system
*** patches field of <origin> can now contain any lowerable object
*** (gnu system vm) has a new make-iso9660-image procedure
*** openssh-service-type can now be extended with new authorized keys
*** rottlog-service-type can now be extended with new log-rotations
*** network-manager-service-type now supports VPN plugins
*** <service-type> now has a description field, used by guix system search
*** New virtual-machine form in (gnu system vm)
*** New (gnu system uuid) module, which defines a disjoint <uuid> type
*** New (guix progress) module
** Noteworthy bug fixes
*** GuixSD no longer creates setuid binaries in /gnu/store
(<https://bugs.gnu.org/28751>)
*** /root is no longer world-readable (<http://bugs.gnu.org/27135>)
*** guix publish no longer leaks memory (<https://bugs.gnu.org/28784>)
*** Missing cursor icons in GNOME could cause crashes
(<https://bugs.gnu.org/25958>)
*** Setuid programs now honor the system timezone
(<https://bugs.gnu.org/29212>)
** Native language support
Updated translations: da (Danish), fr (French)
* Changes in 0.13.0 (since 0.12.0)
** Package management

View File

@ -92,8 +92,10 @@ to 'make'."
#:host host
#:report-load (lambda (file total completed)
(when file
(format #t " LOAD ~a~%" file)))
(format #t " LOAD ~a~%" file)
(force-output)))
#:report-compilation (lambda (file total completed)
(when file
(format #t " GUILEC ~a~%"
(scm->go file)))))))
(scm->go file))
(force-output))))))

View File

@ -27,6 +27,12 @@
(ice-9 pretty-print)
(ice-9 format))
(define %top-srcdir
(and=> (assq-ref (current-source-location) 'filename)
(lambda (file)
(canonicalize-path
(string-append (dirname file) "/../..")))))
(define %user-module
;; Hydra user module.
(let ((m (make-module)))
@ -101,7 +107,8 @@ Otherwise return THING."
(if (equal? cuirass? "cuirass")
'cuirass-jobs
'hydra-jobs))
store '())
store `((guix
. ((file-name . ,%top-srcdir)))))
(((names . thunks) ...)
(map (lambda (job thunk)
(format (current-error-port) "evaluating '~a'... " job)

View File

@ -0,0 +1,104 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; 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/>.
;;;
;;; This file defines a continuous integration job to build the same modular
;;; Guix as 'guix pull', which is defined in (guix self).
;;;
;; Attempt to use our very own Guix modules.
(eval-when (compile load eval)
;; Ignore any available .go, and force recompilation. This is because our
;; checkout in the store has mtime set to the epoch, and thus .go files look
;; newer, even though they may not correspond.
(set! %fresh-auto-compile #t)
(and=> (assoc-ref (current-source-location) 'filename)
(lambda (file)
(let ((dir (canonicalize-path
(string-append (dirname file) "/../.."))))
(format (current-error-port) "prepending ~s to the load path~%"
dir)
(set! %load-path (cons dir %load-path))))))
(use-modules (guix store)
(guix config)
(guix utils)
(guix grafts)
((guix packages) #:select (%hydra-supported-systems))
(guix derivations)
(guix monads)
(guix gexp)
(guix self)
((guix licenses) #:prefix license:)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output
;; port to the bit bucket, let us write to the error port instead.
(setvbuf (current-error-port) _IOLBF)
(set-current-output-port (current-error-port))
(define* (build-job store source version system)
"Return a Hydra job a list building the modular Guix derivation from SOURCE
for SYSTEM. Use VERSION as the version identifier."
(lambda ()
`((derivation . ,(derivation-file-name
(parameterize ((%graft? #f))
(run-with-store store
(lower-object (compiled-guix source
#:version version))))))
(description . "Modular Guix")
(long-description
. "This is the modular Guix package as produced by 'guix pull'.")
(license . ,license:gpl3+)
(home-page . ,%guix-home-page-url)
(maintainers . (,%guix-bug-report-address)))))
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define systems
(match (filter-map (match-lambda
(('system . value) value)
(_ #f))
arguments)
((lst ..1)
lst)
(_
(list (%current-system)))))
(define guix-checkout
(assq-ref arguments 'guix))
(define version
(or (assq-ref guix-checkout 'revision)
"0.unknown"))
(let ((file (assq-ref guix-checkout 'file-name)))
(format (current-error-port) "using checkout ~s (~s)~%"
guix-checkout file)
(map (lambda (system)
(let ((name (string->symbol
(string-append "guix." system))))
`(,name
. ,(build-job store file version system))))
%hydra-supported-systems)))

File diff suppressed because it is too large Load Diff

View File

@ -53,7 +53,7 @@ corresponding to old generations of the system."
APPEND ~a
~%"
#$label #$label
#$kernel #$kernel #$initrd
#$kernel (dirname #$kernel) #$initrd
(string-join (list #$@kernel-arguments)))))
(define builder
@ -85,14 +85,6 @@ TIMEOUT ~a~%"
;;; Install procedures.
;;;
(define dd
#~(lambda (bs count if of)
(zero? (system* "dd"
(string-append "bs=" (number->string bs))
(string-append "count=" (number->string count))
(string-append "if=" if)
(string-append "of=" of)))))
(define (install-extlinux mbr)
#~(lambda (bootloader device mount-point)
(let ((extlinux (string-append bootloader "/sbin/extlinux"))
@ -101,9 +93,15 @@ TIMEOUT ~a~%"
(for-each (lambda (file)
(install-file file install-dir))
(find-files syslinux-dir "\\.c32$"))
(unless (and (zero? (system* extlinux "--install" install-dir))
(#$dd 440 1 (string-append syslinux-dir "/" #$mbr) device))
(unless
(and (zero? (system* extlinux "--install" install-dir))
(call-with-input-file (string-append syslinux-dir "/" #$mbr)
(lambda (input)
(let ((bv (get-bytevector-n input 440)))
(call-with-output-file device
(lambda (output)
(put-bytevector output bv))
#:binary #t)))))
(error "failed to install SYSLINUX")))))
(define install-extlinux-mbr

View File

@ -21,7 +21,6 @@
#:use-module (rnrs io ports)
#:use-module (system repl error-handling)
#:autoload (system repl repl) (start-repl)
#:autoload (system base compile) (compile-file)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
@ -270,6 +269,7 @@ using the kernel build-in overlayfs."
;; Make sure /root/etc/mtab is a symlink to /proc/self/mounts.
(false-if-exception
(delete-file "/root/etc/mtab"))
(mkdir-p "/root/etc")
(symlink "/proc/self/mounts" "/root/etc/mtab"))
(define (switch-root root)

View File

@ -60,11 +60,13 @@
(type "tmpfs")
(check? #f)))
(define passwd
(define accounts
;; This is for processes in the default user namespace but living in a
;; different mount namespace, so that they can lookup users.
(file-system-mapping
(source "/etc/passwd") (target source)))
(list (file-system-mapping
(source "/etc/passwd") (target source))
(file-system-mapping
(source "/etc/group") (target source))))
(define nscd-socket
(file-system-mapping
@ -78,7 +80,7 @@
%network-file-mappings))
,@(if (and (memq 'mnt namespaces)
(not (memq 'user namespaces)))
(list passwd)
accounts
'())
,%store-mapping))) ;XXX: coarse-grain
(map file-system-mapping->bind-mount

View File

@ -378,11 +378,8 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation."
GRUB configuration and OS-DRV as the stuff in it."
(let ((grub-mkrescue (string-append grub "/bin/grub-mkrescue"))
(target-store (string-append "/tmp/root" (%store-directory))))
(mkdir-p "/tmp/root/var/run")
(mkdir-p "/tmp/root/run")
(mkdir-p "/tmp/root/mnt")
(populate-root-file-system os-drv "/tmp/root")
(mkdir-p target-store)
(mount (%store-directory) target-store "" MS_BIND)
(when register-closures?
@ -399,6 +396,7 @@ GRUB configuration and OS-DRV as the stuff in it."
`(,grub-mkrescue "-o" ,target
,(string-append "boot/grub/grub.cfg=" config-file)
,(string-append "gnu/store=" os-drv "/..")
"etc=/tmp/root/etc"
"var=/tmp/root/var"
"run=/tmp/root/run"
;; /mnt is used as part of the installation

View File

@ -444,6 +444,7 @@ GNU_SYSTEM_MODULES = \
%D%/services/audio.scm \
%D%/services/avahi.scm \
%D%/services/base.scm \
%D%/services/certbot.scm \
%D%/services/configuration.scm \
%D%/services/cuirass.scm \
%D%/services/cups.scm \
@ -496,7 +497,6 @@ GNU_SYSTEM_MODULES = \
%D%/build/linux-initrd.scm \
%D%/build/linux-modules.scm \
%D%/build/marionette.scm \
%D%/build/shepherd.scm \
%D%/build/vm.scm \
\
%D%/tests.scm \
@ -519,6 +519,7 @@ GNU_SYSTEM_MODULES = \
# Modules that do not need to be compiled.
MODULES_NOT_COMPILED += \
%D%/build/shepherd.scm \
%D%/build/svg.scm
patchdir = $(guilemoduledir)/%D%/packages/patches
@ -550,6 +551,7 @@ dist_patch_DATA = \
%D%/packages/patches/awesome-reproducible-png.patch \
%D%/packages/patches/azr3.patch \
%D%/packages/patches/bash-completion-directories.patch \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/bcftools-regidx-unsigned-char.patch \
%D%/packages/patches/binutils-ld-new-dtags.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
@ -570,6 +572,7 @@ dist_patch_DATA = \
%D%/packages/patches/chmlib-inttypes.patch \
%D%/packages/patches/clang-libc-search-path.patch \
%D%/packages/patches/clang-3.8-libc-search-path.patch \
%D%/packages/patches/clementine-use-openssl.patch \
%D%/packages/patches/clisp-remove-failing-test.patch \
%D%/packages/patches/clucene-pkgconfig.patch \
%D%/packages/patches/clx-remove-demo.patch \
@ -600,18 +603,20 @@ dist_patch_DATA = \
%D%/packages/patches/doc++-include-directives.patch \
%D%/packages/patches/doc++-segfault-fix.patch \
%D%/packages/patches/doxygen-test.patch \
%D%/packages/patches/dtc-format-modifier.patch \
%D%/packages/patches/dtc-32-bits-check.patch \
%D%/packages/patches/dvd+rw-tools-add-include.patch \
%D%/packages/patches/elfutils-tests-ptrace.patch \
%D%/packages/patches/elixir-disable-failing-tests.patch \
%D%/packages/patches/einstein-build.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-scheme-complete-scheme-r5rs-info.patch \
%D%/packages/patches/emacs-source-date-epoch.patch \
%D%/packages/patches/erlang-man-path.patch \
%D%/packages/patches/eudev-rules-directory.patch \
%D%/packages/patches/evilwm-lost-focus-bug.patch \
%D%/packages/patches/exim-CVE-2017-1000369.patch \
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
%D%/packages/patches/fastcap-mulGlobal.patch \
@ -650,6 +655,8 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-5-source-date-epoch-2.patch \
%D%/packages/patches/gcc-6-arm-none-eabi-multilib.patch \
%D%/packages/patches/gcc-6-cross-environment-variables.patch \
%D%/packages/patches/gcc-6-source-date-epoch-1.patch \
%D%/packages/patches/gcc-6-source-date-epoch-2.patch \
%D%/packages/patches/gcr-disable-failing-tests.patch \
%D%/packages/patches/gcr-fix-collection-tests-to-work-with-gpg-21.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
@ -681,6 +688,7 @@ dist_patch_DATA = \
%D%/packages/patches/glibc-o-largefile.patch \
%D%/packages/patches/glibc-vectorized-strcspn-guards.patch \
%D%/packages/patches/glibc-versioned-locpath.patch \
%D%/packages/patches/glusterfs-use-PATH-instead-of-hardcodes.patch \
%D%/packages/patches/glog-gcc-5-demangling.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
%D%/packages/patches/gmp-faulty-test.patch \
@ -713,6 +721,7 @@ dist_patch_DATA = \
%D%/packages/patches/guile-present-coding.patch \
%D%/packages/patches/guile-relocatable.patch \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
%D%/packages/patches/guile-emacs-fix-configure.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_IM_MODULE_FILE.patch \
%D%/packages/patches/gtk2-theme-paths.patch \
@ -801,6 +810,7 @@ dist_patch_DATA = \
%D%/packages/patches/libmad-armv7-thumb-pt2.patch \
%D%/packages/patches/libmad-frame-length.patch \
%D%/packages/patches/libmad-mips-newgcc.patch \
%D%/packages/patches/libmygpo-qt-fix-jsoncreatortest.patch \
%D%/packages/patches/libsndfile-armhf-type-checks.patch \
%D%/packages/patches/libsndfile-CVE-2017-8361-8363-8365.patch \
%D%/packages/patches/libsndfile-CVE-2017-8362.patch \
@ -810,11 +820,9 @@ dist_patch_DATA = \
%D%/packages/patches/libtasn1-CVE-2017-10790.patch \
%D%/packages/patches/libtheora-config-guess.patch \
%D%/packages/patches/libtirpc-CVE-2017-8779.patch \
%D%/packages/patches/libtorrent-rasterbar-boost-compat.patch \
%D%/packages/patches/libtool-skip-tests2.patch \
%D%/packages/patches/libusb-0.1-disable-tests.patch \
%D%/packages/patches/libusb-for-axoloti.patch \
%D%/packages/patches/libvirt-CVE-2017-1000256.patch \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
%D%/packages/patches/libxcb-python-3.5-compat.patch \
%D%/packages/patches/libxslt-generated-ids.patch \
@ -882,6 +890,7 @@ dist_patch_DATA = \
%D%/packages/patches/newsbeuter-CVE-2017-14500.patch \
%D%/packages/patches/ngircd-handle-zombies.patch \
%D%/packages/patches/ninja-zero-mtime.patch \
%D%/packages/patches/node-test-http2-server-rst-stream.patch \
%D%/packages/patches/nss-increase-test-timeout.patch \
%D%/packages/patches/nss-pkgconfig.patch \
%D%/packages/patches/nvi-assume-preserve-path.patch \
@ -903,6 +912,7 @@ dist_patch_DATA = \
%D%/packages/patches/openssl-runpath.patch \
%D%/packages/patches/openssl-1.1.0-c-rehash-in.patch \
%D%/packages/patches/openssl-c-rehash-in.patch \
%D%/packages/patches/optipng-CVE-2017-1000229.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/osip-CVE-2017-7853.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
@ -913,6 +923,7 @@ dist_patch_DATA = \
%D%/packages/patches/patchelf-rework-for-arm.patch \
%D%/packages/patches/patchutils-xfail-gendiff-tests.patch \
%D%/packages/patches/patch-hurd-path-max.patch \
%D%/packages/patches/pcmanfm-CVE-2017-8934.patch \
%D%/packages/patches/pcre2-CVE-2017-7186.patch \
%D%/packages/patches/pcre2-CVE-2017-8786.patch \
%D%/packages/patches/perl-file-path-CVE-2017-6512.patch \
@ -945,6 +956,7 @@ dist_patch_DATA = \
%D%/packages/patches/portmidi-modular-build.patch \
%D%/packages/patches/procmail-ambiguous-getline-debian.patch \
%D%/packages/patches/procmail-CVE-2014-3618.patch \
%D%/packages/patches/procmail-CVE-2017-16844.patch \
%D%/packages/patches/proot-test-fhs.patch \
%D%/packages/patches/psm-arch.patch \
%D%/packages/patches/psm-ldflags.patch \
@ -993,6 +1005,8 @@ dist_patch_DATA = \
%D%/packages/patches/python-unittest2-python3-compat.patch \
%D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/qemu-CVE-2017-15038.patch \
%D%/packages/patches/qemu-CVE-2017-15118.patch \
%D%/packages/patches/qemu-CVE-2017-15119.patch \
%D%/packages/patches/qemu-CVE-2017-15268.patch \
%D%/packages/patches/qemu-CVE-2017-15289.patch \
%D%/packages/patches/qt4-ldflags.patch \
@ -1020,6 +1034,7 @@ dist_patch_DATA = \
%D%/packages/patches/scotch-test-threading.patch \
%D%/packages/patches/sdl-libx11-1.6.patch \
%D%/packages/patches/seq24-rename-mutex.patch \
%D%/packages/patches/shepherd-close-fds.patch \
%D%/packages/patches/shishi-fix-libgcrypt-detection.patch \
%D%/packages/patches/slim-session.patch \
%D%/packages/patches/slim-config.patch \
@ -1028,13 +1043,8 @@ dist_patch_DATA = \
%D%/packages/patches/slim-login.patch \
%D%/packages/patches/slurm-configure-remove-nonfree-contribs.patch \
%D%/packages/patches/sooperlooper-build-with-wx-30.patch \
%D%/packages/patches/spice-CVE-2016-9577.patch \
%D%/packages/patches/spice-CVE-2016-9578-1.patch \
%D%/packages/patches/spice-CVE-2016-9578-2.patch \
%D%/packages/patches/spice-CVE-2017-7506.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/supertuxkart-angelscript-ftbfs.patch \
%D%/packages/patches/swish-e-search.patch \
%D%/packages/patches/swish-e-format-security.patch \
%D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \
@ -1086,7 +1096,6 @@ dist_patch_DATA = \
%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-2015-6749.patch \
%D%/packages/patches/vpnc-script.patch \
%D%/packages/patches/vsearch-unbundle-cityhash.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \

View File

@ -6,7 +6,7 @@
;;; Copyright © 2015, 2016 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@ -162,7 +162,8 @@ and provides a \"top-like\" mode (monitoring).")
version ".tar.gz"))
(sha256
(base32
"174q1qg7yg6w1hfvlfv720hr6hid4h5xzw15y3ycfpspllzldhcb"))))
"174q1qg7yg6w1hfvlfv720hr6hid4h5xzw15y3ycfpspllzldhcb"))
(patches (search-patches "shepherd-close-fds.patch"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--localstatedir=/var")))
@ -1772,13 +1773,13 @@ a new command using the matched rule, and runs it.")
(define-public di
(package
(name "di")
(version "4.43")
(version "4.44")
(source
(origin
(method url-fetch)
(uri (string-append "https://gentoo.com/di/di-" version ".tar.gz"))
(sha256
(base32 "1q25jy51qfzsym9b2w0cqzscq2j492gn60dy6gbp88m8nwm4sdy8"))))
(base32 "0803lp8kd3mp1jcm17i019xiqxdy85hhs6xk67zib8gmvg500gcn"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; Obscure test failures.
@ -1794,10 +1795,10 @@ a new command using the matched rule, and runs it.")
(home-page "https://www.gentoo.com/di/")
(synopsis "Advanced df like disk information utility")
(description
"'di' is a disk information utility, displaying everything
(and more) that your @code{df} command does. It features the ability to
display your disk usage in whatever format you prefer. It is designed to be
highly portable. Great for heterogeneous networks.")
"'di' is a disk information utility, displaying everything that your
@code{df} command does and more. It features the ability to display your disk
usage in whatever format you prefer. It is designed to be highly portable and
produce uniform output across heterogeneous networks.")
(license license:zlib)))
(define-public cbatticon
@ -2295,3 +2296,39 @@ on systems running the Linux kernel.")
;; arm and aarch64 don't have cpuid.h
(supported-systems '("i686-linux" "x86_64-linux"))
(license license:gpl2+)))
(define-public masscan
(package
(name "masscan")
(version "1.0.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/robertdavidgraham/masscan"
"/archive/" version ".tar.gz"))
(sha256
(base32
"1y9af345g00z83rliv6bmlqg37xwc7xpnx5xqdgmjikzcxgk9pji"))))
(build-system gnu-build-system)
(inputs
`(("libpcap" ,libpcap)))
(arguments
'(#:test-target "regress"
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure) ; There is no ./configure script
(add-after 'unpack 'patch-path
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(pcap (assoc-ref inputs "libpcap")))
(substitute* "src/rawsock-pcap.c"
(("libpcap.so") (string-append pcap "/lib/libpcap.so")))
#t))))))
(synopsis "TCP port scanner")
(description "MASSCAN is an asynchronous TCP port scanner. It can detect
open ports, and also complete the TCP connection and interact with the remote
application, collecting the information received.")
(home-page "https://github.com/robertdavidgraham/masscan")
;; 'src/siphash24.c' is the SipHash reference implementation, which
;; bears a CC0 Public Domain Dedication.
(license license:agpl3+)))

View File

@ -207,7 +207,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
(define-public giac-xcas
(package
(name "giac-xcas")
(version "1.4.9-17")
(version "1.4.9-33")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@ -219,7 +219,7 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
"0fabw706hixp4da4pgkbjrlf9gk4xrmv404f884jb24bnmb5hbax"))))
"1f071j4l9ayri2cxka6bfdb6c0fsdl7q7wk345r7hxjfga69g9mv"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -63,6 +63,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages qt)
#:use-module (gnu packages libbsd)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages mp3) ;taglib
@ -72,6 +73,7 @@
#:use-module (gnu packages python)
#:use-module (gnu packages rdf)
#:use-module (gnu packages readline)
#:use-module (gnu packages telephony)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages vim) ;xxd
@ -83,7 +85,8 @@
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages music)
#:use-module (srfi srfi-1))
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
(define-public alsa-modular-synth
(package
@ -341,13 +344,19 @@ engineers, musicians, soundtrack editors and composers.")
("python" ,python-2)
("which" ,which)))
(arguments
'(#:configure-flags
`(#:configure-flags
(let ((libid3tag (assoc-ref %build-inputs "libid3tag"))
(libmad (assoc-ref %build-inputs "libmad"))
(portmidi (assoc-ref %build-inputs "portmidi")))
(list
;; Loading FFmpeg dynamically is problematic.
"--disable-dynamic-loading"
;; SSE instructions are available on Intel systems only.
,@(if (any (cute string-prefix? <> (or (%current-target-system)
(%current-system)))
'("x64_64" "i686"))
'()
'("--enable-sse=no"))
;; portmidi, libid3tag and libmad provide no .pc files, so
;; pkg-config fails to find them. Force their inclusion.
(string-append "ID3TAG_CFLAGS=-I" libid3tag "/include")
@ -446,14 +455,14 @@ plugins are provided.")
(define-public calf
(package
(name "calf")
(version "0.0.60")
(version "0.90.0")
(source (origin
(method url-fetch)
(uri (string-append "http://calf-studio-gear.org/files/calf-"
version ".tar.gz"))
(sha256
(base32
"019fwg00jv217a5r767z7szh7vdrarybac0pr2sk26xp81kibrx9"))))
"0dijv2j7vlp76l10s4v8gbav26ibaqk8s24ci74vrc398xy00cib"))))
(build-system gnu-build-system)
(inputs
`(("fluidsynth" ,fluidsynth)
@ -1093,17 +1102,19 @@ PS, and DAB+.")
(define-public faust
(package
(name "faust")
(version "0.9.67")
(version "0.9.90")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/faudiostream/faust-" version ".zip"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/grame-cncm/faust.git")
(commit (string-append "v"
(string-map (lambda (c)
(if (char=? c #\.) #\- c))
version)))))
(file-name (string-append "faust-" version "-checkout"))
(sha256
(base32
"068vl9536zn0j4pknwfcchzi90rx5pk64wbcbd67z32w0csx8xm1"))
(snippet
;; Remove prebuilt library
'(delete-file "architecture/android/libs/armeabi-v7a/libfaust_dsp.so"))))
"0qc6iwjd3i80jdyjc186c6ywipmjzl8wlsp4050pbr56q4rlkd4z"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out")))
@ -1111,7 +1122,16 @@ PS, and DAB+.")
#:phases
(modify-phases %standard-phases
;; no "configure" script
(delete 'configure))))
(delete 'configure)
;; Files appear under $out/share/faust that are read-only. The
;; install phase tries to overwrite them and fails, so we change
;; the permissions first.
(add-before 'install 'fix-permissions
(lambda _
(for-each (lambda (file)
(chmod file #o644))
(find-files "architecture/max-msp" ".*"))
#t)))))
(native-inputs
`(("unzip" ,unzip)))
(home-page "http://faust.grame.fr/")
@ -1140,18 +1160,7 @@ PS, and DAB+.")
(substitute-keyword-arguments (package-arguments faust)
((#:make-flags flags)
`(list (string-append "prefix=" (assoc-ref %outputs "out"))
"world"))
((#:phases phases)
`(modify-phases ,phases
;; Files appear under $out/share/faust that are read-only. The
;; install phase tries to overwrite them and fails, so we change
;; the permissions first.
(add-before 'install 'fix-permissions
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (file)
(chmod file #o644))
(find-files "architecture/max-msp" ".*"))
#t))))))
"world"))))
(native-inputs
`(("llvm" ,llvm-with-rtti)
("which" ,which)
@ -1207,7 +1216,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
(define-public guitarix
(package
(name "guitarix")
(version "0.36.0")
(version "0.36.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -1215,7 +1224,7 @@ patches that can be used with softsynths such as Timidity and WildMidi.")
version ".tar.xz"))
(sha256
(base32
"0nb0gwcmvc9xjh9pjasjbaqgpadanv4rw1njccpcmmin9xvicsqn"))))
"1g5949jwh2n755xjs3kcbdb8a1wxr5mn0m115wdnk27dxcdn93b0"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no "check" target
@ -1409,17 +1418,16 @@ synchronous execution of all clients, and low latency operation.")
(define-public jack-2
(package (inherit jack-1)
(name "jack2")
(version "1.9.10")
(version "1.9.11-RC1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/jackaudio/jack2/archive/v"
version
".tar.gz"))
(uri (string-append "https://github.com/jackaudio/jack2/releases/"
"download/v" version "/jack2-"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"03b0iiyk3ng3vh5s8gaqwn565vik7910p56mlbk512bw3dhbdwc8"))))
"0ks72xxv8qrpwjc2ksr74rnp178h62g5vdplb2rn4vhkw86yw3kk"))))
(build-system waf-build-system)
(arguments
`(#:python ,python-2
@ -3022,6 +3030,54 @@ mixers.")
(define-public python2-pyalsaaudio
(package-with-python2 python-pyalsaaudio))
(define-public bluez-alsa
(package
(name "bluez-alsa")
(version "1.2.0")
(source (origin
;; The tarballs are mere snapshots and don't contain a
;; bootstrapped build system.
(method git-fetch)
(uri (git-reference
(url "https://github.com/Arkq/bluez-alsa.git")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1qinf41wl2ihx54zmmhanycihwjkn7dn1cicq6pp4rqbiv79b95x"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'bootstrap
(lambda _
(zero? (system* "autoreconf" "-vif")))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("bluez" ,bluez)
("glib" ,glib)
("libbsd" ,libbsd)
("ncurses" ,ncurses)
("ortp" ,ortp)
("sbc" ,sbc)))
(home-page "https://github.com/Arkq/bluez-alsa")
(synopsis "Bluetooth ALSA backend")
(description "This project is a rebirth of a direct integration between
Bluez and ALSA. Since Bluez >= 5, the build-in integration has been removed
in favor of 3rd party audio applications. From now on, Bluez acts as a
middleware between an audio application, which implements Bluetooth audio
profile, and a Bluetooth audio device. BlueALSA registers all known Bluetooth
audio profiles in Bluez, so in theory every Bluetooth device (with audio
capabilities) can be connected. In order to access the audio stream, one has
to connect to the ALSA PCM device called @code{bluealsa}. The device is based
on the ALSA software PCM plugin.")
(license license:expat)))
(define-public snd
(package
(name "snd")

View File

@ -1816,7 +1816,7 @@ CONFIG_TEGRA_AHB=y
#
# CONFIG_UEVENT_HELPER is not set
CONFIG_DEVTMPFS=y
# CONFIG_DEVTMPFS_MOUNT is not set
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
@ -7466,16 +7466,15 @@ CONFIG_DCACHE_WORD_ACCESS=y
CONFIG_FS_IOMAP=y
# CONFIG_EXT2_FS is not set
# CONFIG_EXT3_FS is not set
CONFIG_EXT4_FS=m
CONFIG_EXT4_FS=y
CONFIG_EXT4_USE_FOR_EXT2=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_EXT4_ENCRYPTION=y
CONFIG_EXT4_FS_ENCRYPTION=y
# CONFIG_EXT4_ENCRYPTION is not set
# CONFIG_EXT4_DEBUG is not set
CONFIG_JBD2=m
CONFIG_JBD2=y
# CONFIG_JBD2_DEBUG is not set
CONFIG_FS_MBCACHE=m
CONFIG_FS_MBCACHE=y
CONFIG_REISERFS_FS=m
# CONFIG_REISERFS_CHECK is not set
# CONFIG_REISERFS_PROC_INFO is not set
@ -7567,12 +7566,12 @@ CONFIG_UDF_NLS=y
#
# DOS/FAT/NT Filesystems
#
CONFIG_FAT_FS=m
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
CONFIG_FAT_DEFAULT_UTF8=y
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
@ -7744,7 +7743,7 @@ CONFIG_9P_FS_POSIX_ACL=y
CONFIG_9P_FS_SECURITY=y
CONFIG_NLS=y
CONFIG_NLS_DEFAULT="utf8"
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_437=y
CONFIG_NLS_CODEPAGE_737=m
CONFIG_NLS_CODEPAGE_775=m
CONFIG_NLS_CODEPAGE_850=m
@ -8162,7 +8161,7 @@ CONFIG_CRYPTO_VMAC=m
#
# Digest
#
CONFIG_CRYPTO_CRC32C=m
CONFIG_CRYPTO_CRC32C=y
CONFIG_CRYPTO_CRC32=m
CONFIG_CRYPTO_CRCT10DIF=y
CONFIG_CRYPTO_GHASH=m
@ -8274,7 +8273,7 @@ CONFIG_GENERIC_IO=y
CONFIG_STMP_DEVICE=y
CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y
CONFIG_CRC_CCITT=m
CONFIG_CRC16=m
CONFIG_CRC16=y
CONFIG_CRC_T10DIF=y
CONFIG_CRC_ITU_T=m
CONFIG_CRC32=y

View File

@ -452,13 +452,13 @@ detection, and lossless compression.")
(define-public borg
(package
(name "borg")
(version "1.1.2")
(version "1.1.3")
(source (origin
(method url-fetch)
(uri (pypi-uri "borgbackup" version))
(sha256
(base32
"00jmbfysdpsb2vcckamvsxw5n8xqh4j67diam2p0lmqzsn92syq9"))
"1rvn8b6clzd1r317r9jkvk34r31risi0dxfjc7jffhnwasck4anc"))
(modules '((guix build utils)))
(snippet
'(for-each
@ -507,7 +507,8 @@ detection, and lossless compression.")
"and not benchmark "
;; These tests assume the kernel supports FUSE.
"and not test_fuse "
"and not test_fuse_allow_damaged_files"))))))
"and not test_fuse_allow_damaged_files "
"and not test_mount_hardlinks"))))))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -543,7 +544,7 @@ provide an efficient and secure way to backup data. The data deduplication
technique used makes Borg suitable for daily backups since only changes are
stored. The authenticated encryption technique makes it suitable for backups
to not fully trusted targets. Borg is a fork of Attic.")
(home-page "https://borgbackup.github.io/borgbackup/")
(home-page "https://www.borgbackup.org/")
(license license:bsd-3)))
(define-public attic

View File

@ -8,6 +8,7 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -39,6 +40,7 @@
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system ruby)
#:use-module (guix build-system scons)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
@ -2961,7 +2963,7 @@ from high-throughput sequencing assays.")
(define-public java-htsjdk
(package
(name "java-htsjdk")
(version "1.129")
(version "2.3.0") ; last version without build dependency on gradle
(source (origin
(method url-fetch)
(uri (string-append
@ -2970,15 +2972,18 @@ from high-throughput sequencing assays.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0asdk9b8jx2ij7yd6apg9qx03li8q7z3ml0qy2r2qczkra79y6fw"))
"1ibhzzxsfc38nqyk9r8zqj6blfc1kh26iirypd4q6n90hs2m6nyq"))
(modules '((guix build utils)))
;; remove build dependency on git
(snippet '(substitute* "build.xml"
(("failifexecutionfails=\"true\"")
"failifexecutionfails=\"false\"")))))
(snippet
;; Delete pre-built binaries
'(begin
(delete-file-recursively "lib")
(mkdir-p "lib")
#t))))
(build-system ant-build-system)
(arguments
`(#:tests? #f ; test require Internet access
#:jdk ,icedtea-8
#:make-flags
(list (string-append "-Ddist=" (assoc-ref %outputs "out")
"/share/java/htsjdk/"))
@ -2987,6 +2992,15 @@ from high-throughput sequencing assays.")
(modify-phases %standard-phases
;; The build phase also installs the jars
(delete 'install))))
(inputs
`(("java-ngs" ,java-ngs)
("java-snappy-1" ,java-snappy-1)
("java-commons-compress" ,java-commons-compress)
("java-commons-logging-minimal" ,java-commons-logging-minimal)
("java-commons-jexl-2" ,java-commons-jexl-2)
("java-xz" ,java-xz)))
(native-inputs
`(("java-testng" ,java-testng)))
(home-page "http://samtools.github.io/htsjdk/")
(synopsis "Java API for high-throughput sequencing data (HTS) formats")
(description
@ -2996,6 +3010,198 @@ sequencing (HTS) data. There are also an number of useful utilities for
manipulating HTS data.")
(license license:expat)))
;; This version matches java-htsjdk 2.3.0. Later versions also require a more
;; recent version of java-htsjdk, which depends on gradle.
(define-public java-picard
(package
(name "java-picard")
(version "2.3.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/broadinstitute/picard.git")
(commit version)))
(file-name (string-append "java-picard-" version "-checkout"))
(sha256
(base32
"1ll7mf4r3by92w2nhlmpa591xd1f46xlkwh59mq6fvbb5pdwzvx6"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete pre-built binaries.
(delete-file-recursively "lib")
(mkdir-p "lib")
(substitute* "build.xml"
;; Remove build-time dependency on git.
(("failifexecutionfails=\"true\"")
"failifexecutionfails=\"false\"")
;; Use our htsjdk.
(("depends=\"compile-htsjdk, ")
"depends=\"")
(("depends=\"compile-htsjdk-tests, ")
"depends=\"")
;; Build picard-lib.jar before building picard.jar
(("name=\"picard-jar\" depends=\"" line)
(string-append line "picard-lib-jar, ")))
#t))))
(build-system ant-build-system)
(arguments
`(#:build-target "picard-jar"
#:test-target "test"
;; Tests require jacoco:coverage.
#:tests? #f
#:make-flags
(list (string-append "-Dhtsjdk_lib_dir="
(assoc-ref %build-inputs "java-htsjdk")
"/share/java/htsjdk/")
"-Dhtsjdk-classes=dist/tmp"
(string-append "-Dhtsjdk-version="
,(package-version java-htsjdk)))
#:jdk ,icedtea-8
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'use-our-htsjdk
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "build.xml"
(("\\$\\{htsjdk\\}/lib")
(string-append (assoc-ref inputs "java-htsjdk")
"/share/java/htsjdk/")))
#t))
(add-after 'unpack 'make-test-target-independent
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "build.xml"
(("name=\"test\" depends=\"compile, ")
"name=\"test\" depends=\""))
#t))
(replace 'install (install-jars "dist")))))
(inputs
`(("java-htsjdk" ,java-htsjdk)
("java-guava" ,java-guava)))
(native-inputs
`(("java-testng" ,java-testng)))
(home-page "http://broadinstitute.github.io/picard/")
(synopsis "Tools for manipulating high-throughput sequencing data and formats")
(description "Picard is a set of Java command line tools for manipulating
high-throughput sequencing (HTS) data and formats. Picard is implemented
using the HTSJDK Java library to support accessing file formats that are
commonly used for high-throughput sequencing data such as SAM, BAM, CRAM and
VCF.")
(license license:expat)))
;; This is the last version of Picard to provide net.sf.samtools
(define-public java-picard-1.113
(package (inherit java-picard)
(name "java-picard")
(version "1.113")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/broadinstitute/picard.git")
(commit version)))
(file-name (string-append "java-picard-" version "-checkout"))
(sha256
(base32
"0lkpvin2fz3hhly4l02kk56fqy8lmlgyzr9kmvljk6ry6l1hw973"))
(modules '((guix build utils)))
(snippet
'(begin
;; Delete pre-built binaries.
(delete-file-recursively "lib")
(mkdir-p "lib")
#t))))
(build-system ant-build-system)
(arguments
`(#:build-target "picard-jar"
#:test-target "test"
;; FIXME: the class path at test time is wrong.
;; [testng] Error: A JNI error has occurred, please check your installation and try again
;; [testng] Exception in thread "main" java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException
#:tests? #f
#:jdk ,icedtea-8
;; This is only used for tests.
#:make-flags
(list "-Dsamjdk.intel_deflater_so_path=lib/jni/libIntelDeflater.so")
#:phases
(modify-phases %standard-phases
;; Do not use bundled ant bzip2.
(add-after 'unpack 'use-ant-bzip
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "build.xml"
(("\\$\\{lib\\}/apache-ant-1.8.2-bzip2.jar")
(string-append (assoc-ref inputs "ant")
"/lib/ant.jar")))
#t))
(add-after 'unpack 'make-test-target-independent
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "build.xml"
(("name=\"test\" depends=\"compile, ")
"name=\"test\" depends=\"compile-tests, ")
(("name=\"compile\" depends=\"compile-src, compile-tests\"")
"name=\"compile\" depends=\"compile-src\""))
#t))
(add-after 'unpack 'fix-deflater-path
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "src/java/net/sf/samtools/Defaults.java"
(("getStringProperty\\(\"intel_deflater_so_path\", null\\)")
(string-append "getStringProperty(\"intel_deflater_so_path\", \""
(assoc-ref outputs "out")
"/lib/jni/libIntelDeflater.so"
"\")")))
#t))
;; Build the deflater library, because we've previously deleted the
;; pre-built one. This can only be built with access to the JDK
;; sources.
(add-after 'build 'build-jni
(lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "lib/jni")
(mkdir-p "jdk-src")
(and (zero? (system* "tar" "--strip-components=1" "-C" "jdk-src"
"-xf" (assoc-ref inputs "jdk-src")))
(zero? (system* "javah" "-jni"
"-classpath" "classes"
"-d" "lib/"
"net.sf.samtools.util.zip.IntelDeflater"))
(with-directory-excursion "src/c/inteldeflater"
(zero? (system* "gcc" "-I../../../lib" "-I."
(string-append "-I" (assoc-ref inputs "jdk")
"/include/linux")
"-I../../../jdk-src/src/share/native/common/"
"-I../../../jdk-src/src/solaris/native/common/"
"-c" "-O3" "-fPIC" "IntelDeflater.c"))
(zero? (system* "gcc" "-shared"
"-o" "../../../lib/jni/libIntelDeflater.so"
"IntelDeflater.o" "-lz" "-lstdc++"))))))
;; We can only build everything else after building the JNI library.
(add-after 'build-jni 'build-rest
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* `("ant" "all" ,@make-flags)))))
(add-before 'build 'set-JAVA6_HOME
(lambda _
(setenv "JAVA6_HOME" (getenv "JAVA_HOME"))
#t))
(replace 'install (install-jars "dist"))
(add-after 'install 'install-jni-lib
(lambda* (#:key outputs #:allow-other-keys)
(let ((jni (string-append (assoc-ref outputs "out")
"/lib/jni")))
(mkdir-p jni)
(install-file "lib/jni/libIntelDeflater.so" jni)
#t))))))
(inputs
`(("java-snappy-1" ,java-snappy-1)
("java-commons-jexl-2" ,java-commons-jexl-2)
("java-cofoja" ,java-cofoja)
("ant" ,ant) ; for bzip2 support at runtime
("zlib" ,zlib)))
(native-inputs
`(("ant-apache-bcel" ,ant-apache-bcel)
("ant-junit" ,ant-junit)
("java-testng" ,java-testng)
("java-commons-bcel" ,java-commons-bcel)
("java-jcommander" ,java-jcommander)
("jdk" ,icedtea-8 "jdk")
("jdk-src" ,(car (assoc-ref (package-native-inputs icedtea-8) "jdk-drop")))))))
(define-public htslib
(package
(name "htslib")
@ -3050,7 +3256,7 @@ data. It also provides the bgzip, htsfile, and tabix utilities.")
(define-public idr
(package
(name "idr")
(version "2.0.0")
(version "2.0.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -3059,10 +3265,15 @@ data. It also provides the bgzip, htsfile, and tabix utilities.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1k3x44biak00aiv3hpm1yd6nn4hhp7n0qnbs3zh2q9sw7qr1qj5r"))))
"1rjdly6daslw66r43g9md8znizlscn1sphycqyldzsidkc4vxqv3"))
;; Delete generated C code.
(snippet
'(begin (delete-file "idr/inv_cdf.c") #t))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; FIXME: "ImportError: No module named 'utility'"
;; There is only one test ("test_inv_cdf.py") and it tests features that
;; are no longer part of this package. It also asserts False, which
;; causes the tests to always fail.
(arguments `(#:tests? #f))
(propagated-inputs
`(("python-scipy" ,python-scipy)
("python-sympy" ,python-sympy)
@ -3076,12 +3287,12 @@ data. It also provides the bgzip, htsfile, and tabix utilities.")
"The IDR (Irreproducible Discovery Rate) framework is a unified approach
to measure the reproducibility of findings identified from replicate
experiments and provide highly stable thresholds based on reproducibility.")
(license license:gpl3+)))
(license license:gpl2+)))
(define-public jellyfish
(package
(name "jellyfish")
(version "2.2.4")
(version "2.2.7")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/gmarcais/Jellyfish/"
@ -3089,7 +3300,7 @@ experiments and provide highly stable thresholds based on reproducibility.")
"/jellyfish-" version ".tar.gz"))
(sha256
(base32
"0a6xnynqy2ibfbfz86b9g2m2dgm7f1469pmymkpam333gi3p26nk"))))
"1a1iwq9pq54k2m9ypvwl5s0bqfl64gwh9dx5af9i382ajas2016q"))))
(build-system gnu-build-system)
(outputs '("out" ;for library
"ruby" ;for Ruby bindings
@ -3112,7 +3323,10 @@ experiments and provide highly stable thresholds based on reproducibility.")
`(("bc" ,bc)
("time" ,time)
("ruby" ,ruby)
("python" ,python-2)))
("python" ,python-2)
("pkg-config" ,pkg-config)))
(inputs
`(("htslib" ,htslib)))
(synopsis "Tool for fast counting of k-mers in DNA")
(description
"Jellyfish is a tool for fast, memory-efficient counting of k-mers in
@ -3434,9 +3648,14 @@ form of assemblies or reads.")
(base32
"1hmvdalz3zj5sqqklg0l4npjdv37cv2hsdi1al9iby2ndxjs1b73"))
(patches (search-patches "metabat-fix-compilation.patch"))))
(build-system gnu-build-system)
(build-system scons-build-system)
(arguments
`(#:phases
`(#:scons ,scons-python2
#:scons-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
(string-append "BOOST_ROOT=" (assoc-ref %build-inputs "boost")))
#:tests? #f ;; Tests are run during the build phase.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-includes
(lambda _
@ -3466,30 +3685,13 @@ form of assemblies or reads.")
"/lib'"))
;; Do not distribute README.
(("^env\\.Install\\(idir_prefix, 'README\\.md'\\)") ""))
#t))
(delete 'configure)
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(mkdir (assoc-ref outputs "out"))
(zero? (system* "scons"
(string-append
"PREFIX="
(assoc-ref outputs "out"))
(string-append
"BOOST_ROOT="
(assoc-ref inputs "boost"))
"install"))))
;; Check and install are carried out during build phase.
(delete 'check)
(delete 'install))))
#t)))))
(inputs
`(("zlib" ,zlib)
("perl" ,perl)
("samtools" ,samtools)
("htslib" ,htslib)
("boost" ,boost)))
(native-inputs
`(("scons" ,scons)))
(home-page "https://bitbucket.org/berkeleylab/metabat")
(synopsis
"Reconstruction of single genomes from complex microbial communities")
@ -5412,14 +5614,14 @@ sequences.")
(define-public subread
(package
(name "subread")
(version "1.5.1")
(version "1.6.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/subread/subread-"
version "/subread-" version "-source.tar.gz"))
(sha256
(base32
"0gn5zhbvllks0mmdg3qlmsbg91p2mpdc2wixwfqpi85yzfrh8hcy"))))
"0ah0n4jx6ksk2m2j7xk385x2qzmk1y4rfc6a4mfrdqrlq721w99i"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;no "check" target
@ -5676,14 +5878,14 @@ data types as well.")
(define-public r-annotate
(package
(name "r-annotate")
(version "1.56.0")
(version "1.56.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "annotate" version))
(sha256
(base32
"0wlrp3v2jxw9is98ap39dfi7z97kmw1wv1xi4h7yfh12zpj2r8l0"))))
"14c5xd9kasvcwg5gbjys2c1vizxhlqlzxakqc2kml0kw97hmx0rq"))))
(build-system r-build-system)
(propagated-inputs
`(("r-annotationdbi" ,r-annotationdbi)
@ -5700,6 +5902,29 @@ data types as well.")
microarrays.")
(license license:artistic2.0)))
(define-public r-copynumber
(package
(name "r-copynumber")
(version "1.18.0")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "copynumber" version))
(sha256
(base32
"01kcwzl485yjrkgyg8117b1il957ss0v6rq4bbxf4ksd5fzcjmyx"))))
(build-system r-build-system)
(propagated-inputs
`(("r-s4vectors" ,r-s4vectors)
("r-iranges" ,r-iranges)
("r-genomicranges" ,r-genomicranges)
("r-biocgenerics" ,r-biocgenerics)))
(home-page "https://bioconductor.org/packages/copynumber")
(synopsis "Segmentation of single- and multi-track copy number data")
(description
"This package segments single- and multi-track copy number data by a
penalized least squares regression method.")
(license license:artistic2.0)))
(define-public r-geneplotter
(package
(name "r-geneplotter")
@ -5755,14 +5980,14 @@ high-throughput sequencing experiments.")
(define-public r-deseq2
(package
(name "r-deseq2")
(version "1.18.0")
(version "1.18.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DESeq2" version))
(sha256
(base32
"1hcxnkkjfvz4hj8iqidshwsjq7jnl1z7wj63dvcwlx1zx5aichyh"))))
"1iyimg1s0x5pdmvl8x08s8h0v019y0nhjzs50chagbpk2x91fsmv"))))
(properties `((upstream-name . "DESeq2")))
(build-system r-build-system)
(propagated-inputs
@ -5792,14 +6017,14 @@ distribution.")
(define-public r-dexseq
(package
(name "r-dexseq")
(version "1.24.0")
(version "1.24.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "DEXSeq" version))
(sha256
(base32
"0qxwnz2ffhav9slcn095k206cfza9i3i5l7w1154plf08gpy1d1d"))))
"1hwckj4ijgpdchbakvh60nmcaz4fwd5yplhn0880z3dnlsrp8ik3"))))
(properties `((upstream-name . "DEXSeq")))
(build-system r-build-system)
(propagated-inputs
@ -5886,14 +6111,14 @@ the graph algorithms contained in the Boost library.")
(define-public r-gseabase
(package
(name "r-gseabase")
(version "1.40.0")
(version "1.40.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "GSEABase" version))
(sha256
(base32
"0kpkl6c5lrar6ip7wlhvd5axqlb9lb5l3lgbdb3dlih32c3nz0yq"))))
"10cmjxahg2plwacfan6g0k8cwyzya96ypc7m1r79gwqkyykxw5fz"))))
(properties `((upstream-name . "GSEABase")))
(build-system r-build-system)
(propagated-inputs
@ -6541,14 +6766,14 @@ checks on R packages that are to be submitted to the Bioconductor repository.")
(define-public r-getopt
(package
(name "r-getopt")
(version "1.20.0")
(version "1.20.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "getopt" version))
(sha256
(base32
"00f57vgnzmg7cz80rjmjz1556xqcmx8nhrlbbhaq4w7gl2ibl87r"))))
"0m463mcvixh54i3ng42n0vxmdlf97dgbfs2sf9wnjm782ddw68hm"))))
(build-system r-build-system)
(home-page "https://github.com/trevorld/getopt")
(synopsis "Command-line option processor for R")
@ -6768,13 +6993,13 @@ CAGE.")
(define-public r-variantannotation
(package
(name "r-variantannotation")
(version "1.24.0")
(version "1.24.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "VariantAnnotation" version))
(sha256
(base32
"1lllp2vgyfbrar1yg28ji7am470hfzrzxm1bgdk68xpnrwcgcl25"))))
"19wgb2kcqy97pm3xgqc781id9fbmzp1hdwzkkhdzpvyf29w4n29j"))))
(properties
`((upstream-name . "VariantAnnotation")))
(inputs
@ -6806,13 +7031,13 @@ coding changes and predict coding outcomes.")
(define-public r-limma
(package
(name "r-limma")
(version "3.34.0")
(version "3.34.2")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "limma" version))
(sha256
(base32
"0a15gsaky0hfrkx8wrrmp0labzxpq6m2hrd33zl206wyas8bqzcs"))))
"1zyw01z9crm1jc86fva4pqxd9zxfsbsqwjq6ry39gag9pfb7pwcz"))))
(build-system r-build-system)
(home-page "http://bioinf.wehi.edu.au/limma")
(synopsis "Package for linear models for microarray and RNA-seq data")
@ -7127,13 +7352,13 @@ samples.")
(define-public r-genomicalignments
(package
(name "r-genomicalignments")
(version "1.14.0")
(version "1.14.1")
(source (origin
(method url-fetch)
(uri (bioconductor-uri "GenomicAlignments" version))
(sha256
(base32
"0sw30lj11wv7ifzypqm04lcah987crqwvj48wz3flaw3biw41zfi"))))
"033p6fw46sn7w2yyn14nb9qcnkf30cl0nv6zh014ixflm3iifz39"))))
(properties
`((upstream-name . "GenomicAlignments")))
(build-system r-build-system)
@ -8098,14 +8323,14 @@ library implementing most of the pipeline's features.")
(define-public r-mutationalpatterns
(package
(name "r-mutationalpatterns")
(version "1.4.0")
(version "1.4.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MutationalPatterns" version))
(sha256
(base32
"0sqbrswg8ylkjb9q3vqcb5ggwixynwj6hyv2n4sk7snyk61z3fq9"))))
"1qhxlfl85ifr30wrsidcn3kca3vs8fd8cmwd82gvgx9ppww8vs06"))))
(build-system r-build-system)
(propagated-inputs
`(("r-biocgenerics" ,r-biocgenerics)
@ -8311,11 +8536,6 @@ of gene-level counts.")
(lambda* (#:key outputs #:allow-other-keys)
(system* "tar" "-xzvf"
"src/hdf5source/hdf5small.tgz" "-C" "src/" )
(substitute* "src/Makevars"
(("^.*cd hdf5source &&.*$") "")
(("^.*gunzip -dc hdf5small.tgz.*$") "")
(("^.*rm -rf hdf5.*$") "")
(("^.*mv hdf5source/hdf5 ..*$") ""))
(substitute* "src/hdf5/configure"
(("/bin/mv") "mv"))
#t)))))
@ -8851,14 +9071,14 @@ trait.")
(define-public r-maldiquant
(package
(name "r-maldiquant")
(version "1.16.4")
(version "1.17")
(source
(origin
(method url-fetch)
(uri (cran-uri "MALDIquant" version))
(sha256
(base32
"1pmhsfvd45a44xdiml4zx3zd5fhygqyziqvygahkk9yibnyhv4cv"))))
"047s6007ydc38x8wm027mlb4mngz15n0d4238fr8h43wyll5zy0z"))))
(properties `((upstream-name . "MALDIquant")))
(build-system r-build-system)
(home-page "http://cran.r-project.org/web/packages/MALDIquant")
@ -9132,14 +9352,14 @@ of mass spectrometry based proteomics data.")
(define-public r-msnid
(package
(name "r-msnid")
(version "1.11.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "MSnID" version))
(sha256
(base32
"1vi4ngwbayrv2jkfb4pbmdp37xn04y07rh1jcklqfh0fcrm1jdig"))))
"1zw508kk4f8brg69674wp18gqkpx2kpya5f6x9cl3qng7v4h5pxx"))))
(properties `((upstream-name . "MSnID")))
(build-system r-build-system)
(propagated-inputs
@ -9370,14 +9590,14 @@ Shiny-based display methods for Bioconductor objects.")
(define-public r-annotationhub
(package
(name "r-annotationhub")
(version "2.10.0")
(version "2.10.1")
(source
(origin
(method url-fetch)
(uri (bioconductor-uri "AnnotationHub" version))
(sha256
(base32
"1arfka3czw8hkv6n2d85bgibq81s2rgkwhmpaxzhy6nw39vv7y8b"))))
"14v8g44a6zg9j2rwn9x9y8509k0wr2cw8yccliz24glplb40wva4"))))
(properties `((upstream-name . "AnnotationHub")))
(build-system r-build-system)
(propagated-inputs
@ -10859,3 +11079,32 @@ contains a few programs for model fitting and phylogenetic tree reconstruction
using nucleotide or amino-acid sequence data.")
;; GPLv3 only
(license license:gpl3)))
(define-public kallisto
(package
(name "kallisto")
(version "0.43.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/pachterlab/"
"kallisto/archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"03j3iqhvq7ya3c91gidly3k3jvgm97vjq4scihrlxh315j696r11"))))
(build-system cmake-build-system)
(arguments `(#:tests? #f)) ; no "check" target
(inputs
`(("hdf5" ,hdf5)
("zlib" ,zlib)))
(home-page "http://pachterlab.github.io/kallisto/")
(synopsis "Near-optimal RNA-Seq quantification")
(description
"Kallisto is a program for quantifying abundances of transcripts from
RNA-Seq data, or more generally of target sequences using high-throughput
sequencing reads. It is based on the novel idea of pseudoalignment for
rapidly determining the compatibility of reads with targets, without the need
for alignment. Pseudoalignment of reads preserves the key information needed
for quantification, and kallisto is therefore not only fast, but also as
accurate as existing quantification tools.")
(license license:bsd-2)))

View File

@ -382,7 +382,7 @@ and will take advantage of multiple processor cores where possible.")
(define-public libtorrent-rasterbar
(package
(name "libtorrent-rasterbar")
(version "1.1.2")
(version "1.1.5")
(source (origin
(method url-fetch)
(uri
@ -390,11 +390,9 @@ and will take advantage of multiple processor cores where possible.")
"https://github.com/arvidn/libtorrent/releases/download/libtorrent-"
(string-join (string-split version #\.) "_")
"/libtorrent-rasterbar-" version ".tar.gz"))
(patches
(search-patches "libtorrent-rasterbar-boost-compat.patch"))
(sha256
(base32
"16im9qsmfrmmkhfjpij9739nqpn4s6wgc9cikdxbcyshfhimzra5"))))
"0c398b7hsa5dvj4m0jc8h7mn0m3nawmagb6c5c7ml5c9hc338c8h"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -50,7 +50,9 @@
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
(define unifont
;; GNU Unifont, <http://gnu.org/s/unifont>.
@ -75,7 +77,7 @@
"03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
`(#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-stuff
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "grub-core/Makefile.in"
@ -102,7 +104,11 @@
(substitute* "Makefile.in"
(("grub_cmd_date grub_cmd_set_date grub_cmd_sleep")
"grub_cmd_date grub_cmd_sleep"))
#t)))))
#t)))
;; Disable tests on ARM and AARCH64 platforms.
#:tests? ,(not (any (cute string-prefix? <> (or (%current-target-system)
(%current-system)))
'("arm" "aarch64")))))
(inputs
`(("gettext" ,gettext-minimal)
@ -158,8 +164,8 @@ menu to select one of the installed operating systems.")
`(;; TODO: Tests need a UEFI firmware for qemu. There is one at
;; https://github.com/tianocore/edk2/tree/master/OvmfPkg .
;; Search for 'OVMF' in "tests/util/grub-shell.in".
#:tests? #f
,@(substitute-keyword-arguments (package-arguments grub)
((#:tests? _ #f) #f)
((#:configure-flags flags ''())
`(cons "--with-platform=efi" ,flags))
((#:phases phases)
@ -296,7 +302,11 @@ menu to select one of the installed operating systems.")
"dtc-" version ".tar.xz"))
(sha256
(base32
"08gnl39i4xy3dm8iqwlz2ygx0ml1bgc5kpiys5ll1wvah1j72b04"))))
"08gnl39i4xy3dm8iqwlz2ygx0ml1bgc5kpiys5ll1wvah1j72b04"))
;; Fix build and tests on 32 bits platforms.
;; Will probably be fixed in 1.4.6 release.
(patches (search-patches "dtc-format-modifier.patch"
"dtc-32-bits-check.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
@ -323,7 +333,7 @@ tree binary files. These are board description files used by Linux and BSD.")
(define u-boot
(package
(name "u-boot")
(version "2017.07")
(version "2017.11")
(source (origin
(method url-fetch)
(uri (string-append
@ -331,7 +341,7 @@ tree binary files. These are board description files used by Linux and BSD.")
"u-boot-" version ".tar.bz2"))
(sha256
(base32
"1zzywk0fgngm1mfnhkp8d0v57rs51zr1y6rp4p03i6nbibfbyx2k"))))
"01bcsah5imy6m3fbjwhqywxg0pfk5fl8ks9ylb7kv3zmrb9qy0ba"))))
(native-inputs
`(("bc" ,bc)
("dtc" ,dtc)

View File

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

View File

@ -1215,6 +1215,64 @@ install: libbitshuffle.so
compresser/decompresser.")
(license license:asl2.0)))
(define-public java-snappy-1
(package
(inherit java-snappy)
(version "1.0.3-rc3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/xerial/snappy-java/archive/"
"snappy-java-" version ".tar.gz"))
(sha256
(base32
"08hsxlqidiqck0q57fshwyv3ynyxy18vmhrai9fyc8mz17m7gsa3"))))
(arguments
`(#:jar-name "snappy.jar"
#:source-dir "src/main/java"
#:phases
(modify-phases %standard-phases
(add-before 'build 'remove-binaries
(lambda _
(delete-file "lib/org/xerial/snappy/OSInfo.class")
(delete-file-recursively "src/main/resources/org/xerial/snappy/native")
#t))
(add-before 'build 'build-jni
(lambda _
;; Rebuild one of the binaries we removed earlier
(system* "javac" "src/main/java/org/xerial/snappy/OSInfo.java"
"-d" "lib")
;; Link to the dynamic snappy, not the static ones
(substitute* "Makefile.common"
(("-shared") "-shared -lsnappy"))
(substitute* "Makefile"
;; Don't download the sources here.
(("\\$\\(SNAPPY_UNPACKED\\) ") "")
((": \\$\\(SNAPPY_UNPACKED\\) ") ":")
;; What we actually want to build
(("SNAPPY_OBJ:=.*")
"SNAPPY_OBJ:=$(addprefix $(SNAPPY_OUT)/, SnappyNative.o)\n")
;; Since we removed the directory structure in "native" during
;; the previous phase, we need to recreate it.
(("NAME\\): \\$\\(SNAPPY_OBJ\\)")
"NAME): $(SNAPPY_OBJ)\n\t@mkdir -p $(@D)"))
;; Finally we can run the Makefile to build the dynamic library.
(zero? (system* "make" "native"))))
;; Once we have built the shared library, we need to place it in the
;; "build" directory so it can be added to the jar file.
(add-after 'build-jni 'copy-jni
(lambda _
(copy-recursively "src/main/resources/org/xerial/snappy/native"
"build/classes/org/xerial/snappy/native")
#t))
(add-before 'check 'fix-tests
(lambda _
(mkdir-p "src/test/resources/org/xerial/snappy/")
(copy-recursively "src/test/java/org/xerial/snappy/testdata"
"src/test/resources/org/xerial/snappy/testdata")
(install-file "src/test/java/org/xerial/snappy/alice29.txt"
"src/test/resources/org/xerial/snappy/")
#t)))))))
(define-public java-iq80-snappy
(package
(name "java-iq80-snappy")
@ -1265,6 +1323,46 @@ Java. This compression code produces a byte-for-byte exact copy of the output
created by the original C++ code, and extremely fast.")
(license license:asl2.0)))
(define-public java-jbzip2
(package
(name "java-jbzip2")
(version "0.9.1")
(source (origin
(method url-fetch)
(uri (string-append "https://storage.googleapis.com/"
"google-code-archive-source/v2/"
"code.google.com/jbzip2/"
"source-archive.zip"))
(file-name (string-append name "-" version ".zip"))
(sha256
(base32
"0ncmhlqmrfmj96nqf6p77b9ws35lcfsvpfxzwxi2asissc83z1l3"))))
(build-system ant-build-system)
(native-inputs
`(("unzip" ,unzip)
("java-junit" ,java-junit)))
(arguments
`(#:tests? #f ; no tests
#:jar-name "jbzip2.jar"
#:source-dir "tags/release-0.9.1/src"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-encoding-problems
(lambda _
;; Some of the files we're patching are
;; ISO-8859-1-encoded, so choose it as the default
;; encoding so the byte encoding is preserved.
(with-fluids ((%default-port-encoding #f))
(substitute* "tags/release-0.9.1/src/org/itadaki/bzip2/HuffmanAllocator.java"
(("Milidi.") "Milidiu")))
#t)))))
(home-page "https://code.google.com/archive/p/jbzip2/")
(synopsis "Java bzip2 compression/decompression library")
(description "Jbzip2 is a Java bzip2 compression/decompression library.
It can be used as a replacement for the Apache @code{CBZip2InputStream} /
@code{CBZip2OutputStream} classes.")
(license license:expat)))
(define-public p7zip
(package
(name "p7zip")
@ -1736,30 +1834,20 @@ manipulate, read, and write Zip archive files.")
(define-public libzip
(package
(name "libzip")
(version "1.3.0")
(version "1.3.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://nih.at/libzip/libzip-" version ".tar.xz"))
"https://libzip.org/download/" name "-" version ".tar.xz"))
(sha256
(base32
"0wykw0q9dwdzx0gssi2dpgckx9ggr2spzc1amjnff6wi6kz6x4xa"))))
(arguments
'(#:phases
(modify-phases %standard-phases
(add-after 'build 'remove-failing-tests
;; These tests are known to fail on 32-bit architectures.
;; see thread: https://nih.at/listarchive/libzip-discuss/msg00713.html
(lambda _
(substitute* "regress/Makefile"
(("encryption-nonrandom") "#encryption-nonrandom"))
#t)))))
"11g1hvm2bxa2v5plakfzcwyk5hb5fz4kgrkp38l0xhnv21888xv2"))))
(native-inputs
`(("perl" ,perl)))
(inputs
`(("zlib" ,zlib)))
(build-system gnu-build-system)
(home-page "https://nih.at/libzip/index.html")
(home-page "https://libzip.org")
(synopsis "C library for reading, creating, and modifying zip archives")
(description "Libzip is a C library for reading, creating, and modifying
zip archives. Files can be added from data buffers, files, or compressed data

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -25,6 +26,7 @@
#:use-module (gnu packages gcc)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages maths)
#:use-module (gnu packages mpi)
#:use-module (gnu packages perl)
#:use-module (gnu packages statistics)
#:use-module (gnu packages web))
@ -92,13 +94,13 @@ error stream.")
(define-public r-rcpp
(package
(name "r-rcpp")
(version "0.12.13")
(version "0.12.14")
(source
(origin
(method url-fetch)
(uri (cran-uri "Rcpp" version))
(sha256
(base32 "1bm84yc48475plgsnnbvzi6nzkixpnfw8ry86ax63f9g524asw55"))))
(base32 "0qvyxggddyg87lza45hjl0a2prabdyshkqzkz418vi777zygqa6s"))))
(build-system r-build-system)
(home-page "http://www.rcpp.org")
(synopsis "Seamless R and C++ integration")
@ -242,14 +244,14 @@ validation and filtering on the values, making options invisible or private.")
(define-public r-circlize
(package
(name "r-circlize")
(version "0.4.1")
(version "0.4.2")
(source
(origin
(method url-fetch)
(uri (cran-uri "circlize" version))
(sha256
(base32
"1w7i3jgxgq510axglzmw54ma9kq7k4c86i9ccndz10mrwc51fji0"))))
"0py82f5v25mi0s4626zbl5br1frdrj3diz2dakar1rz5yn956mdi"))))
(build-system r-build-system)
(propagated-inputs
`(("r-colorspace" ,r-colorspace)
@ -318,14 +320,14 @@ rows, dropping names) to see if the modified versions are identical.")
(define-public r-dendextend
(package
(name "r-dendextend")
(version "1.5.2")
(version "1.6.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "dendextend" version))
(sha256
(base32
"04jz58apibfrkjcrdmw2hmsav6qpb5cs6qdai81k1v1iznfcya42"))))
"0pichh08zi12lpxzc061dmv4smj6lizygd1xymln8wfz18sf7923"))))
(build-system r-build-system)
(propagated-inputs
`(("r-fpc" ,r-fpc)
@ -601,6 +603,29 @@ and other distributions related to the eigenvalues of large Wishart
matrices.")
(license license:bsd-3)))
(define-public r-rmpi
(package
(name "r-rmpi")
(version "0.6-6")
(source (origin
(method url-fetch)
(uri (cran-uri "Rmpi" version))
(sha256
(base32
"0fm6z049aaq2c9xagm8n64d9560hg9d8hyb0m359fii672nhkz6q"))))
(properties `((upstream-name . "Rmpi")))
(build-system r-build-system)
(arguments
`(#:configure-flags '("--configure-args=\"--with-Rmpi-type=OPENMPI\"")))
(inputs
`(("openmpi" ,openmpi)))
(home-page "http://www.stats.uwo.ca/faculty/yu/Rmpi")
(synopsis "R interface to message-passing interface (MPI)")
(description
"This package provides an interface (wrapper) to MPI APIs. It also
provides an interactive R manager and worker environment.")
(license license:gpl2+)))
(define-public r-lmoments
(package
(name "r-lmoments")
@ -1059,14 +1084,14 @@ methods.")
(define-public r-timedate
(package
(name "r-timedate")
(version "3012.100")
(version "3042.101")
(source
(origin
(method url-fetch)
(uri (cran-uri "timeDate" version))
(sha256
(base32
"0cn4h23y2y2bbg62qgm79xx4cvfla5xbpmi9hbdvkvpmm5yfyqk2"))))
"0vcckaw1gqz3j4v69r9jn41vlmk5a5c7572xam1nl75ki5v4r3bc"))))
(properties `((upstream-name . "timeDate")))
(build-system r-build-system)
(home-page "https://www.rmetrics.org")
@ -1183,26 +1208,95 @@ classification and bagging for classification, regression and survival
problems as well as resampling based estimators of prediction error.")
(license license:gpl2+)))
(define-public r-psych
(package
(name "r-psych")
(version "1.7.8")
(source
(origin
(method url-fetch)
(uri (cran-uri "psych" version))
(sha256
(base32
"0daismb8pdk392vdy304hqx0m3jx62gx3a0hygjygc125rhfla7k"))))
(build-system r-build-system)
(propagated-inputs
`(("r-foreign" ,r-foreign)
("r-lattice" ,r-lattice)
("r-mnormt" ,r-mnormt)
("r-nlme" ,r-nlme)))
(home-page "http://cran.r-project.org/web/packages/psych/")
(synopsis "Procedures for psychological, psychometric, and personality research")
(description
"This package provides a general purpose toolbox for personality,
psychometric theory and experimental psychology. Functions are primarily for
multivariate analysis and scale construction using factor analysis, principal
component analysis, cluster analysis and reliability analysis, although others
provide basic descriptive statistics. Item Response Theory is done using
factor analysis of tetrachoric and polychoric correlations. Functions for
analyzing data at multiple levels include within and between group statistics,
including correlations and factor analysis. Functions for simulating and
testing particular item and test structures are included. Several functions
serve as a useful front end for structural equation modeling. Graphical
displays of path diagrams, factor analysis and structural equation models are
created using basic graphics.")
(license license:gpl2+)))
(define-public r-broom
(package
(name "r-broom")
(version "0.4.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "broom" version))
(sha256
(base32
"119pc2jnxvm13cvd77c7d14p3bn68f4jm310vj3yfck40101n9if"))))
(build-system r-build-system)
(propagated-inputs
`(("r-dplyr" ,r-dplyr)
("r-nlme" ,r-nlme)
("r-plyr" ,r-plyr)
("r-psych" ,r-psych)
("r-reshape2" ,r-reshape2)
("r-stringr" ,r-stringr)
("r-tidyr" ,r-tidyr)))
(home-page "http://github.com/tidyverse/broom")
(synopsis "Convert statistical analysis objects into tidy data frames")
(description
"This package provides tools to convert statistical analysis objects from
R into tidy data frames, so that they can more easily be combined, reshaped
and otherwise processed with tools like @code{dplyr}, @code{tidyr} and
@code{ggplot2}. The package provides three S3 generics: @code{tidy}, which
summarizes a model's statistical findings such as coefficients of a
regression; @code{augment}, which adds columns to the original data such as
predictions, residuals and cluster assignments; and @code{glance}, which
provides a one-row summary of model-level statistics.")
(license license:expat)))
(define-public r-recipes
(package
(name "r-recipes")
(version "0.1.0")
(version "0.1.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "recipes" version))
(sha256
(base32
"0rydk403qihxmcv3zz323r3ywk4g1v7ibvj452rxhm0z22sqk9kb"))))
"0id46c7iaf49miw4kxpidsbg3hdywav43n1lh2zd1vg5946bzg04"))))
(build-system r-build-system)
(propagated-inputs
`(("r-ddalpha" ,r-ddalpha)
`(("r-broom" ,r-broom)
("r-ddalpha" ,r-ddalpha)
("r-dimred" ,r-dimred)
("r-dplyr" ,r-dplyr)
("r-gower" ,r-gower)
("r-ipred" ,r-ipred)
("r-lubridate" ,r-lubridate)
("r-magrittr" ,r-magrittr)
("r-matrix" ,r-matrix)
("r-purrr" ,r-purrr)
("r-rcpproll" ,r-rcpproll)
("r-rlang" ,r-rlang)

View File

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

View File

@ -44,6 +44,7 @@
(package
(name "curl")
(version "7.56.1")
(replacement curl-7.57.0)
(source (origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
@ -130,3 +131,16 @@ tunneling, and so on.")
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
(define-public curl-7.57.0
(package
(inherit curl)
(version "7.57.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://curl.haxx.se/download/curl-"
version ".tar.xz"))
(sha256
(base32
"0y3qbjjcxhcvm1yawp3spfssjbskv0g6gyzld6ckif5pf8ygvxpm"))))))

View File

@ -98,7 +98,10 @@
#:use-module (guix build-system ruby)
#:use-module (guix build-system cmake)
#:use-module (guix build-system r)
#:use-module (guix build-system scons)
#:use-module ((guix build utils) #:hide (which))
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
@ -376,35 +379,52 @@ applications.")
(define-public mongodb
(package
(name "mongodb")
(version "3.4.9")
(version "3.4.10")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mongodb/mongo/archive/r"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0gidwyvh3bdwmk2pccgkqkaln4ysgn8iwa7ihjzllsq0rdg95045"))
(base32 "0676lvkljj7a5hdhv78dbykqnqrj9lbn9799mi84b8vbnzsq961r"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each (lambda (dir)
(delete-file-recursively
(string-append "src/third_party/" dir)))
'("pcre-8.41" "scons-2.5.0" "snappy-1.1.3"
"valgrind-3.11.0" "wiredtiger"
"yaml-cpp-0.5.3" "zlib-1.2.8"))))
(patches
(list
(search-patch "mongodb-support-unknown-linux-distributions.patch")))))
(build-system gnu-build-system)
(build-system scons-build-system)
(inputs
`(("openssl" ,openssl)
("pcre" ,pcre)
,@(match (%current-system)
((or "x86_64-linux" "aarch64-linux" "mips64el-linux")
`(("wiredtiger" ,wiredtiger)))
(_ `()))
("yaml-cpp" ,yaml-cpp)
("zlib" ,zlib)
("snappy" ,snappy)
("boost" ,boost)))
("snappy" ,snappy)))
(native-inputs
`(("scons" ,scons)
("python" ,python-2)
("valgrind" ,valgrind)
`(("valgrind" ,valgrind)
("perl" ,perl)))
(arguments
`(#:phases
`(#:scons ,scons-python2
#:phases
(let ((common-options
`(;; "--use-system-tcmalloc" TODO: Missing gperftools
"--use-system-pcre"
;; wiredtiger is 64-bit only
,,(if (any (cute string-prefix? <> (or (%current-target-system)
(%current-system)))
'("i686-linux" "armhf-linux"))
``"--wiredtiger=off"
``"--use-system-wiredtiger")
;; TODO
;; build/opt/mongo/db/fts/unicode/string.o failed: Error 1
;; --use-system-boost
@ -417,7 +437,6 @@ applications.")
,(format #f "--jobs=~a" (parallel-job-count))
"--ssl")))
(modify-phases %standard-phases
(delete 'configure) ; There is no configure phase
(add-after 'unpack 'scons-propagate-environment
(lambda _
;; Modify the SConstruct file to arrange for
@ -1764,6 +1783,33 @@ for ODBC.")
(define-public python2-pyodbc-c
(package-with-python2 python-pyodbc-c))
(define-public python-pyodbc
(package
(name "python-pyodbc")
(version "4.0.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyodbc" version))
(sha256
(base32
"0a83zwz3h1agshnsc6r7al6q83222w8601gpzzzjvjz5m56ghmcn"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system python-build-system)
(inputs
`(("unixodbc" ,unixodbc)))
(arguments
`(;; No unit tests exist.
#:tests? #f))
(home-page "https://github.com/mkleehammer/pyodbc")
(synopsis "Python ODBC Library")
(description "@code{python-pyodbc} provides a Python DB-API driver
for ODBC.")
(license (license:x11-style "file:///LICENSE.TXT"))))
(define-public python2-pyodbc
(package-with-python2 python-pyodbc))
(define-public mdbtools
(package
(name "mdbtools")

View File

@ -17,7 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages direct-connect)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@ -44,23 +44,11 @@
(sha256
(base32
"12i92hirmwryl1qy0n3jfrpziwzb82f61xca9jcjwyilx502f0b6"))))
(build-system python-build-system)
(build-system scons-build-system)
(arguments
`(#:python ,python-2
#:tests? #f ; no tests
#:phases
;; TODO: Add scons-build-system and use it here.
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p out)
(zero? (system* "scons" (string-append "PREFIX=" out)
"-j" (number->string (parallel-job-count)))))))
(replace 'install
(lambda _
(zero? (system* "scons" "install")))))))
`(#:scons ,scons-python2
#:scons-flags (list (string-append "PREFIX=" %output))
#:tests? #f)) ; no tests
(inputs
`(("boost" ,boost)
("bzip2" ,bzip2)
@ -71,8 +59,7 @@
(native-inputs
`(("bazaar" ,bazaar)
("gettext-minimal" ,gettext-minimal)
("pkg-config" ,pkg-config)
("scons" ,scons)))
("pkg-config" ,pkg-config)))
(home-page "https://launchpad.net/linuxdcpp/")
(synopsis "Direct Connect client")
(description "LinuxDC++ is a Direct Connect (DC) client. Direct Connect

View File

@ -208,6 +208,26 @@ them do this.")
(base32
"1fslqc5qqb0b66yscvkyjwfv8cnbfx5nlkpnwimyb3pf1nc1w7r3"))))
(build-system python-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
;; TODO: Tagging the tests requiring the web could be done upstream.
(add-before 'check 'skip-test-requiring-network-access
(lambda _
(substitute* "allauth/socialaccount/providers/openid/tests.py"
(("def test_login")
"from django.test import tag
@tag('requires-web')
def test_login"))))
(replace 'check
(lambda _
(setenv "DJANGO_SETTINGS_MODULE" "test_settings")
(zero? (system*
"django-admin"
"test"
"allauth"
"--verbosity=2"
"--exclude-tag=requires-web")))))))
(propagated-inputs
`(("python-openid" ,python-openid)
("python-requests" ,python-requests)

View File

@ -483,31 +483,27 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
(version "2.6.1")
(version "2.6.3")
(source (origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
name "-" version ".tar.xz"))
(sha256
(base32
"1qs1rqfir0nxi0a0dcg60sbbr99hyxk8y1xd7j7jd13l9idx84rh"))
"143pk2124liiq1r4ja1s579nbv3hm2scbbfbfclc2pw60r07mcig"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove bundled libraries and dependencies on them.
(substitute* "configure"
(("src/contrib/dnstap/Makefile") ""))
(substitute* "src/Makefile.in"
(("contrib/dnstap ") ""))
;; Delete bundled libraries.
(with-directory-excursion "src/contrib"
(for-each delete-file-recursively
(list "dnstap" "lmdb")))
(delete-file-recursively "lmdb"))
#t))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("gnutls" ,gnutls)
`(("fstrm" ,fstrm)
("gnutls" ,gnutls)
("jansson" ,jansson)
("libcap-ng" ,libcap-ng)
("libedit" ,libedit)
@ -516,6 +512,7 @@ Extensions} (DNSSEC).")
("lmdb" ,lmdb)
("ncurses" ,ncurses)
("nettle" ,nettle)
("protobuf-c" ,protobuf-c)
;; For pykeymgr, needed to migrate keys from versions <= 2.4.
("python" ,python-2)
@ -548,6 +545,7 @@ Extensions} (DNSSEC).")
(list "--sysconfdir=/etc"
"--localstatedir=/var"
"--with-module-rosedb=yes" ; serve static records from a database
"--with-module-dnstap=yes" ; allow detailed query logging
(string-append "--with-bash-completions="
(assoc-ref %outputs "out")
"/etc/bash_completion.d"))))
@ -560,6 +558,11 @@ number of programming techniques to improve speed. For example, the responder
is completely lock-free, resulting in a very high response rate. Other features
include automatic @dfn{DNS Security Extensions} (DNSSEC) signing, dynamic record
synthesis, and on-the-fly re-configuration.")
(license (list license:expat ; src/contrib/{hat-trie,murmurhash3}
license:lgpl2.0+ ; parts of scr/contrib/ucw
license:gpl3+)))) ; everything else
(license
(list
;; src/contrib/{hat-trie,murmurhash3,openbsd},
;; src/dnssec/contrib/vpool.[ch], and parts of libtap/ are MIT (expat).
license:expat
license:lgpl2.0+ ; parts of scr/contrib/ucw
license:public-domain ; src/contrib/fnv and possibly murmurhash3
license:gpl3+)))) ; everything else

View File

@ -2,6 +2,7 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 nee <nee.git@cock.li>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,7 +31,7 @@
(define-public elixir
(package
(name "elixir")
(version "1.4.2")
(version "1.5.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/elixir-lang/elixir"
@ -38,7 +39,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0gsmgx4h6rvxilcbsx2z6yirm6g2g5bsxdvr0608ng4bsv22wknb"))
"0v7z0avs3gir7qdfgysfw88l3z9p5f7p7pjnrnsz5gmmsflvf5vk"))
;; FIXME: 27 tests (out of 4K) had to be disabled as
;; they fail in the build environment. Common failures
;; are:
@ -55,14 +56,18 @@
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'replace-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* '("lib/elixir/lib/system.ex"
"lib/mix/lib/mix/scm/git.ex")
(("(cmd\\(['\"])git" _ prefix)
(string-append prefix (which "git"))))
(substitute* "bin/elixir"
(("ERL_EXEC=\"erl\"")
(string-append "ERL_EXEC=" (which "erl"))))
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* '("lib/elixir/lib/system.ex"
"lib/mix/lib/mix/scm/git.ex")
(("(cmd\\(['\"])git" _ prefix)
(string-append prefix (which "git"))))
(substitute* "bin/elixir"
(("ERL_EXEC=\"erl\"")
(string-append "ERL_EXEC=" (which "erl"))))
(substitute* "bin/mix"
(("#!/usr/bin/env elixir")
(string-append "#!" out "/bin/elixir"))))
#t))
(add-after 'unpack 'fix-or-disable-tests
(lambda* (#:key inputs #:allow-other-keys)
@ -75,6 +80,15 @@
;; FIXME: Mix.Shell.cmd() always fails with error code 130.
(delete-file "lib/mix/test/mix/shell_test.exs")
;; FIXME:
;; disabled failing impure tests to make it build again.
;; related discussion: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=28034#14
(delete-file "lib/elixir/test/elixir/kernel/cli_test.exs")
(delete-file "lib/elixir/test/elixir/kernel/dialyzer_test.exs")
(delete-file "lib/iex/test/iex/helpers_test.exs")
(delete-file "lib/ex_unit/test/ex_unit/capture_io_test.exs")
#t))
(add-before 'build 'make-current
;; The Elixir compiler checks whether or not to compile files by

View File

@ -29,6 +29,8 @@
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -276,6 +278,7 @@ editor (without an X toolkit)" )
(uri (git-reference
(url "git://git.hcoop.net/git/bpt/emacs.git")
(commit "41120e0f595b16387eebfbf731fff70481de1b4b")))
(patches (search-patches "guile-emacs-fix-configure.patch"))
(sha256
(base32
"0lvcvsz0f4mawj04db35p1dvkffdqkz8pkhc0jzh9j9x2i63kcz6"))))
@ -294,7 +297,11 @@ editor (without an X toolkit)" )
`(modify-phases ,phases
(add-after 'unpack 'autogen
(lambda _
(zero? (system* "sh" "autogen.sh"))))))))))
(zero? (system* "sh" "autogen.sh"))))
;; Build sometimes fails: deps/dispnew.d: No such file or directory
(add-before 'build 'make-deps-dir
(lambda _
(zero? (system* "mkdir" "-p" "src/deps"))))))))))
;;;
@ -434,6 +441,7 @@ on stdout instead of using a socket as the Emacsclient does.")
("perl" ,perl)))
(propagated-inputs
`(("dash" ,emacs-dash)
;; XXX Add 'magit-popup' dependency for the next release (after 2.11.0).
("with-editor" ,emacs-with-editor)))
(arguments
`(#:modules ((guix build gnu-build-system)
@ -544,20 +552,28 @@ support for Git-SVN.")
(define-public emacs-magit-popup
(package
(name "emacs-magit-popup")
(version (package-version magit))
(version "2.12.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://raw.githubusercontent.com/magit/magit/"
version "/lisp/magit-popup.el"))
(file-name (string-append "magit-popup-" version ".el"))
"https://github.com/magit/magit-popup/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0w750kwngq63hi9drad3jxldwkg83sldb9w9r2xl2mqm3hm4l8s6"))))
"1dnk611f7lww6rb03hk8ijg2jwxx9f26pjfff4bwjmnjz7hnd6vz"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'make-info
(lambda _
(zero? (system* "make" "info")))))))
(native-inputs
`(("texinfo" ,texinfo)))
(propagated-inputs
`(("emacs-dash" ,emacs-dash)))
(home-page "https://github.com/magit/magit")
(home-page "https://github.com/magit/magit-popup")
(synopsis "Define prefix-infix-suffix command combos")
(description
"This library implements a generic interface for toggling switches and
@ -3014,7 +3030,7 @@ regardless of @code{highlight-symbol-idle-delay}.
(define-public emacs-hl-todo
(package
(name "emacs-hl-todo")
(version "1.7.4")
(version "1.8.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -3023,7 +3039,7 @@ regardless of @code{highlight-symbol-idle-delay}.
(file-name (string-append "hl-todo-" version ".el"))
(sha256
(base32
"016ivl4s0ysrm1xbfi86j5xcs759fcb0mkspxw81x8mpi3yb46ya"))))
"0g0h9v4572p7mcird8wsj1c41haf60krslm6mlpi4mdbh248kv6z"))))
(build-system emacs-build-system)
(home-page "https://github.com/tarsius/hl-todo")
(synopsis "Emacs mode to highlight TODO and similar keywords")
@ -4188,14 +4204,16 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
(version "20171016")
;; emacs-org-contrib inherits from this package. Please update its sha256
;; checksum as well.
(version "20171205")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
"1196kv83p953nd9c5gxkn8ndw2kmm2kfw34dldap6m89khqflz5a"))))
"0a1rm94ci47jf5579sxscily680ysmy3hnxjcs073n45nk76za04"))))
(build-system emacs-build-system)
(home-page "http://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@ -4215,7 +4233,7 @@ reproducible research.")
(package-version emacs-org) ".tar"))
(sha256
(base32
"0xy2xrndlhs4kyvh6mmv24dnh3fn5p63d2gaimnrypf1p8znwzh4"))))
"1y61csa284gy8l0fj0mv67mkm4fsi4lz401987qp6a6z260df4n5"))))
(arguments
`(#:modules ((guix build emacs-build-system)
(guix build utils)
@ -4242,11 +4260,11 @@ reproducible research.")
#t))))))
(propagated-inputs
`(("emacs-org" ,emacs-org)))
(synopsis "Contributed packages to Org-mode")
(synopsis "Contributed packages to Org mode")
(description "Org is an Emacs mode for keeping notes, maintaining TODO
lists, and project planning with a fast and effective plain-text system.
This package is equivilent to org-plus-contrib, but only includes additional
This package is equivalent to org-plus-contrib, but only includes additional
files that you would find in @file{contrib/} from the git repository.")))
(define-public emacs-flx
@ -4851,6 +4869,31 @@ jQuery and Bootstrap resources included via osscdn.")
"This Emacs package highlights the s-exp at the current position.")
(license license:gpl3+)))
(define-public emacs-highlight-stages
(let ((commit "29cbc5b78261916da042ddb107420083da49b271")
(revision "1"))
(package
(name "emacs-highlight-stages")
(version (string-append "1.1.0" "-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/zk-phi/highlight-stages.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0r6nbcrr0dqpgm8dir8ahzjy7rw4nrac48byamzrq96r7ajlxlv0"))
(patches
(search-patches "emacs-highlight-stages-add-gexp.patch"))))
(build-system emacs-build-system)
(home-page "https://github.com/wigust/highlight-stages")
(synopsis "Minor mode that highlights (quasi-quoted) expressions")
(description "@code{highlight-stages} provides an Emacs minor mode that
highlights quasi-quoted expressions.")
(license license:gpl3+))))
(define-public emacspeak
(package
(name "emacspeak")
@ -6258,3 +6301,83 @@ contexts.
@item Toggle downloading and set priorities for individual files.
@end itemize\n")
(license license:gpl3+)))
(define-public eless
(package
(name "eless")
(version "0.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/kaushalmodi/eless/archive/"
"v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0gjnnhgw5xs1w3qfnkvwa2nv44gnxr8pkhx3c7qig45p8nh1461h"))))
(build-system trivial-build-system)
(inputs
`(("bash" ,bash)))
(native-inputs
`(("tar" ,tar)
("gzip" ,gzip)))
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(setenv "PATH" (string-append
(assoc-ref %build-inputs "tar") "/bin" ":"
(assoc-ref %build-inputs "gzip") "/bin"))
(system* "tar" "xvf" (assoc-ref %build-inputs "source"))
(chdir (string-append "eless" "-" ,version))
(substitute* "eless" (("/usr/bin/env bash")
(string-append (assoc-ref %build-inputs "bash")
"/bin/bash")))
(install-file "eless" (string-append %output "/bin"))
(install-file "doc/eless.info" (string-append %output "/share/info"))
#t)))
(home-page "https://github.com/kaushalmodi/eless")
(synopsis "Use Emacs as a paginator")
(description "@code{eless} provides a combination of Bash script
and a minimal Emacs view-mode.
Feautures:
@itemize
@item Independent of a users Emacs config.
@item Customizable via the @code{(locate-user-emacs-file \"elesscfg\")} config.
@item Not require an Emacs server to be already running.
@item Syntax highlighting.
@item Org-mode file rendering.
@item @code{man} page viewer.
@item Info viewer.
@item Dired, wdired, (batch edit symbolic links).
@item Colored diffs, git diff, git log, ls with auto ANSI detection.
@item Filter log files lines matching a regexp.
@item Auto-revert log files similar to @code{tail -f}.
@item Quickly change frame and font sizes.
@end itemize\n")
(license license:expat)))
(define-public emacs-evil-matchit
(package
(name "emacs-evil-matchit")
(version "2.2.5")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/redguardtoo/evil-matchit/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1hm0k53m7d8zv2pk4p93k5mmilsv1mz7y2z6dqf7r6f0zmncs31a"))))
(build-system emacs-build-system)
(home-page "https://github.com/redguardtoo/evil-matchit")
(synopsis "Vim matchit ported into Emacs")
(description
"@code{evil-matchit} is a minor mode for jumping between matching tags in
evil mode using @kbd{%}. It is a port of @code{matchit} for Vim.")
(license license:gpl3+)))

View File

@ -127,7 +127,19 @@
(install-file "unix/librecad" bin)
(mkdir-p share)
(copy-recursively "unix/resources" share))
#t)))))
#t))
;; Ensure that icons are found at runtime
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(qt '("qtbase" "qtsvg")))
(wrap-program (string-append out "/bin/librecad")
`("QT_PLUGIN_PATH" ":" prefix
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/plugins/"))
qt)))
#t))))))
(inputs
`(("boost" ,boost)
("muparser" ,muparser)

View File

@ -59,7 +59,7 @@
(define-public efl
(package
(name "efl")
(version "1.20.5")
(version "1.20.6")
(source (origin
(method url-fetch)
(uri (string-append
@ -67,7 +67,7 @@
version ".tar.xz"))
(sha256
(base32
"07624c71l9d1jx1zvdhwkr1bgb1n7i0i5hyg6579zdwl3jw6jpns"))))
"1h9jkb1pkp2g6ld7ra9mxgblx3x5id4162ja697klx9mfjkpxijn"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -255,7 +255,7 @@ Libraries with some extra bells and whistles.")
(define-public enlightenment
(package
(name "enlightenment")
(version "0.22.0")
(version "0.22.1")
(source (origin
(method url-fetch)
(uri
@ -263,7 +263,7 @@ Libraries with some extra bells and whistles.")
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"0xmrvryr35idd7fyqgshfhvy2053bs3vwrxbx681pi6rgpdvjghv"))))
"1q57fz57d0b26z06m1wiq7c1sniwh885b0vs02mk4jgwva46nyr0"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-mount-eeze")

View File

@ -35,7 +35,7 @@
(define-public erlang
(package
(name "erlang")
(version "20.0")
(version "20.1")
(source (origin
(method url-fetch)
;; The tarball from http://erlang.org/download contains many
@ -46,7 +46,7 @@
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"11xp6vv1v7iay9dg1xc6xm7izfsanbn5pgwp96ba0j1fmlkhjw92"))
"0r4g8ag7nlpw06y4c39fgcyccykj2sbyhv5jgp4qmrjci2ydgns8"))
(patches (search-patches "erlang-man-path.patch"))))
(build-system gnu-build-system)
(native-inputs
@ -62,7 +62,7 @@
version ".tar.gz"))
(sha256
(base32
"1k25p37w1l1j20qd8rga4j4q7s7r0rbsi02x3xwzhw51jhm59wdp"))))))
"0ikvdpn4z7az6szg176l1r2yxhgs3msa3wgb3gmy45jkz0pzik05"))))))
(inputs
`(("ncurses" ,ncurses)
("openssl" ,openssl)

View File

@ -150,7 +150,9 @@ non-determinism in the build process.")
"/glusterfs-" version ".tar.gz"))
(sha256
(base32
"02sn9s3jjva2i1l47y3in326n8jgp57rbykz5s8m87y4bzpw0ym1"))))
"02sn9s3jjva2i1l47y3in326n8jgp57rbykz5s8m87y4bzpw0ym1"))
(patches
(search-patches "glusterfs-use-PATH-instead-of-hardcodes.patch"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags

View File

@ -5,6 +5,7 @@
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -48,6 +49,7 @@
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
@ -319,7 +321,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
;; the system's dynamically linked library.
(package
(name "monero")
(version "0.11.0.0")
(version "0.11.1.0")
(source
(origin
(method url-fetch)
@ -337,7 +339,7 @@ other machines/servers. Electrum does not download the Bitcoin blockchain.")
#t))
(sha256
(base32
"083w40a553c0r3i18020jcrv5s0b64vx3d8xrn9nwkb2237ighlk"))))
"16shd834025jyzy68h3gag1sz8vbk875hy4j97hrki8pacz8vd5m"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@ -418,7 +420,7 @@ Monero command line client and daemon.")
(define-public monero-core
(package
(name "monero-core")
(version "0.11.0.0")
(version "0.11.1.0")
(source
(origin
(method url-fetch)
@ -427,7 +429,7 @@ Monero command line client and daemon.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0hnrkgwb1sva67pcjym2gvb4zifp2s849dfbnjzbxk3yczpcyqzg"))))
"1q7a9kpcjgp74fbplzs2iszdld6gwbfrydyd9in9izhwp100p1rr"))))
(build-system gnu-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@ -438,6 +440,7 @@ Monero command line client and daemon.")
("libunwind" ,libunwind)
("openssl" ,openssl)
("qt" ,qt)
("readline" ,readline)
("unbound" ,unbound)))
(propagated-inputs
`(("monero" ,monero)))

View File

@ -170,6 +170,45 @@ itself."))))
sans-serif designed for on-screen reading. It is used by GNOME@tie{}3.")
(license license:silofl1.1)))
(define-public font-lato
(package
(name "font-lato")
(version "2.010")
(source (origin
(method url-fetch)
(uri (string-append "http://www.latofonts.com/download/Lato2OFL.zip"))
(sha256
(base32
"1f5540g0ja1nx3ddd3ywn77xc81ssrxpq8n3gyb9sabyq2b4xda2"))))
(build-system trivial-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$"))))))
(native-inputs `(("unzip" ,unzip)))
(home-page "http://www.latofonts.com/lato-free-fonts/")
(synopsis "Lato sans-serif typeface")
(description
"Lato is a sanserif typeface family. It covers over 3000 glyphs per style.
The Lato 2.010 family supports more than 100 Latin-based languages, over
50 Cyrillic-based languages as well as Greek and IPA phonetics.")
(license license:silofl1.1)))
(define-public font-gnu-freefont-ttf
(package
(name "font-gnu-freefont-ttf")
@ -831,6 +870,24 @@ designed to work well in user interface environments.")
(description "This is the typeface used by Mozilla in Firefox OS.")
(license license:silofl1.1)))
(define-public font-fira-sans
(package
(name "font-fira-sans")
(version "4.202")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mozilla/Fira/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1r6zdnqqp4bgq5nmgqbj0vvj7x1h9w912851ggbl9wc7fdjnjqnq"))))
(build-system font-build-system)
(home-page "http://mozilla.github.io/Fira/")
(synopsis "Mozilla's Fira Sans Font")
(description "This is the typeface used by Mozilla in Firefox OS.")
(license license:silofl1.1)))
(define-public font-awesome
(package
(name "font-awesome")
@ -1070,3 +1127,52 @@ emphasis while still being readable.")
"The Font Software may be sold as part of a larger software package but
no copy of one or more of the Font Software typefaces may be sold by
itself."))))
(define-public font-dosis
(package
(name "font-dosis")
(version "1.7")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.impallari.com/media/releases/dosis-"
"v" version ".zip"))
(sha256
(base32
"1qhci68f68mf87jd69vjf9qjq3wydgw1q7ivn3amjb65ls1s0c4s"))))
(build-system trivial-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"))
(ttf-dir (string-append %output
"/share/fonts/truetype"))
(otf-dir (string-append %output
"/share/fonts/opentype")))
(setenv "PATH" PATH)
(system* "unzip" (assoc-ref %build-inputs "source"))
(mkdir-p ttf-dir)
(mkdir-p otf-dir)
(for-each (lambda (ttf)
(install-file ttf ttf-dir))
(find-files "." "\\.ttf$"))
(for-each (lambda (otf)
(install-file otf otf-dir))
(find-files "." "\\.otf$"))))))
(native-inputs `(("unzip" ,unzip)))
(home-page "http://www.impallari.com/dosis")
(synopsis "Very simple, rounded, sans serif family")
(description
"Dosis is a very simple, rounded, sans serif family.
The lighter weights are minimalist. The bolder weights have more personality.
The medium weight is nice and balanced. The overall result is a family
that's clean and modern, and can express a wide range of voices & feelings.
It comes in 7 incremental weights:
ExtraLight, Light, Book, Medium, Semibold, Bold & ExtraBold")
(license license:silofl1.1)))

View File

@ -5,6 +5,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 ng0 <ng0@n0.is>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,6 +25,7 @@
(define-module (gnu packages fontutils)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages check)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -44,7 +46,8 @@
#:use-module (guix svn-download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:use-module (guix build-system python))
(define-public freetype
(package
@ -556,3 +559,103 @@ opentype fonts. You can save fonts in many different outline formats, and
generate bitmaps.")
(license license:gpl3+)
(home-page "https://fontforge.github.io/en-US/")))
(define-public python2-ufolib
(package
(name "python2-ufolib")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ufoLib" version ".zip"))
(sha256
(base32 "1njin1465qqzshnrvcl5sbv0bsy15gj6fycbw4lmcnwkx5sldgyx"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(propagated-inputs
`(("python2-fonttools" ,python2-fonttools)))
(native-inputs
`(("unzip" ,unzip)
("python2-pytest-3.0" ,python2-pytest-3.0)
("python2-pytest-runner" ,python2-pytest-runner)))
(home-page "https://github.com/unified-font-object/ufoLib")
(synopsis "Low-level UFO reader and writer")
(description
"UfoLib reads and writes Unified Font Object (UFO)
files. UFO is a file format that stores fonts source files.")
(license license:bsd-3)))
(define-public python2-defcon
(package
(name "python2-defcon")
(version "0.3.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "defcon" version ".zip"))
(sha256
(base32
"1f41w54fdjy9izxcwzqa142kd56whqsg9nq5k4508jb6iip84h89"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(native-inputs
`(("unzip" ,unzip)
("python2-pytest-3.0" ,python2-pytest-3.0)
("python2-pytest-runner" ,python2-pytest-runner)))
(propagated-inputs
`(("python2-fonttools" ,python2-fonttools)
("python2-ufolib" ,python2-ufolib)))
(home-page "https://pypi.python.org/pypi/defcon")
(synopsis "Flexible objects for representing @acronym{UFO, unified font object} data")
(description
"Defcon is a set of @acronym{UFO, unified font object} based objects
optimized for use in font editing applications. The objects are built to
be lightweight, fast and flexible. The objects are very bare-bones and
they are not meant to be end-all, be-all objects. Rather, they are meant
to provide base functionality so that you can focus on your applications
behavior, not object observing or maintaining cached data. Defcon
implements UFO3 as described by the UFO font format.")
(license license:expat)))
(define-public nototools
(package
(name "nototools")
(version "20170925")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/googlei18n/nototools/"
"archive/v2017-09-25-tooling-for-phase3-"
"update.tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1pvacw18cm9l4sb66pqyjc7hc74xhhfxc7kd5ald8lixf4wzg0s8"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(propagated-inputs
`(("python2-booleanoperations" ,python2-booleanoperations)
("python2-defcon" ,python2-defcon)
("python2-fonttools" ,python2-fonttools)
("python2-pillow" ,python2-pillow)
("python2-pyclipper" ,python2-pyclipper)
("python2-ufolib" ,python2-ufolib)))
(home-page "https://github.com/googlei18n/nototools")
(synopsis "Noto fonts support tools and scripts")
(description
"Nototools is a Python package containing Python scripts used to
maintain the Noto Fonts project.")
(license (list license:asl2.0
;; Sample texts are attributed to UN and OHCHR.
;; The permissions on the UDHR are pretty lax:
;; http://www.ohchr.org/EN/UDHR/Pages/Introduction.aspx
;; "If UDHR translations or materials are reproduced, users
;; should make reference to this website as a source by
;; providing a link."
license:public-domain
(license:non-copyleft
"file://sample_texts/attributions.txt"
"See sample_texts/attributions.txt in the distribution.")))))

View File

@ -10,6 +10,7 @@
;;; Copyright © 2017 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32,6 +33,7 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system perl)
#:use-module (guix build-system python)
#:use-module (gnu packages acl)
#:use-module (gnu packages admin)
@ -40,7 +42,9 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages databases)
#:use-module (gnu packages disk)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages gettext)
@ -56,10 +60,15 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages m4)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages polkit)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages perl)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages python)
#:use-module (gnu packages w3m)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg))
@ -85,7 +94,8 @@
("w3m" ,w3m)
("xmlto" ,xmlto)))
(propagated-inputs
`(("xprop" ,xprop) ; for Xfce detecting
`(("perl-file-mimeinfo" ,perl-file-mimeinfo) ; for mimeopen fallback
("xprop" ,xprop) ; for Xfce detecting
("xset" ,xset))) ; for xdg-screensaver
(arguments
`(#:tests? #f ; no check target
@ -211,6 +221,7 @@ the freedesktop.org XDG Base Directory specification.")
(method url-fetch)
(uri (string-append "https://github.com/elogind/elogind/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1qcxian48z2dj5gfmp7brrngdydqf2jm00f4rjr5sy1myh8fy931"))
@ -268,7 +279,16 @@ the freedesktop.org XDG Base Directory specification.")
(substitute* (string-append out "/lib/libelogind.la")
(("-lcap")
(string-append "-L" libcap "/lib -lcap")))
#t))))))
#t)))
(add-after 'unpack 'remove-uaccess-tag
(lambda _
;; systemd supports a "uaccess" built-in tag, but eudev currently
;; doesn't. This leads to eudev warnings that we'd rather not
;; see, so remove the reference to "uaccess."
(substitute* "src/login/73-seat-late.rules.in"
(("^TAG==\"uaccess\".*" line)
(string-append "# " line "\n")))
#t)))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
@ -602,7 +622,9 @@ Analysis and Reporting Technology) functionality.")
("libatasmart" ,libatasmart)
("libgudev" ,libgudev)
("polkit" ,polkit)
("util-linux" ,util-linux)))
("util-linux" ,util-linux)
("cryptsetup" ,cryptsetup)
("parted" ,parted)))
(outputs '("out"
"doc")) ;5 MiB of gtk-doc HTML
(arguments
@ -642,14 +664,22 @@ Analysis and Reporting Technology) functionality.")
"girdir = $(datadir)/gir-1.0\n")
(("typelibsdir = .*")
"typelibsdir = $(libdir)/girepository-1.0\n"))))
(add-after 'install 'set-mount-file-name
(add-after 'install 'wrap-udisksd
(lambda* (#:key outputs inputs #:allow-other-keys)
;; Tell 'udisksd' where to find the 'mount' command.
(let ((out (assoc-ref outputs "out"))
(utils (assoc-ref inputs "util-linux")))
(utils (assoc-ref inputs "util-linux"))
(cryptsetup (assoc-ref inputs "cryptsetup"))
(parted (assoc-ref inputs "parted")))
(wrap-program (string-append out "/libexec/udisks2/udisksd")
`("PATH" ":" prefix
(,(string-append utils "/bin") ;for 'mount'
;; cryptsetup is required for setting encrypted
;; partitions, e.g. in gnome-disks
,(string-append cryptsetup "/sbin")
;; parted is required for managing partitions, e.g. in
;; gnome-disks
,(string-append parted "/sbin")
"/run/current-system/profile/bin"
"/run/current-system/profile/sbin")))
#t))))))
@ -1090,3 +1120,110 @@ localization (i.e. translation) of the file names. Designed to be
automatically run when a user logs in, xdg-user-dirs can also be run
manually by a user.")
(license license:gpl2)))
(define-public perl-file-basedir
(package
(name "perl-file-basedir")
(version "0.07")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/K/KI/KIMRYAN/"
"File-BaseDir-" version ".tar.gz"))
(sha256
(base32
"0aq8d4hsaxqibp36f773y6dfck7zd82v85sp8vhi6pjkg3pmf2hj"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
("perl-file-which" ,perl-file-which)
("perl-test-pod" ,perl-test-pod)
("perl-test-pod-coverage" ,perl-test-pod-coverage)
("xdg-user-dirs" ,xdg-user-dirs)))
(propagated-inputs
`(("perl-ipc-system-simple" ,perl-ipc-system-simple)))
(home-page "http://search.cpan.org/dist/File-BaseDir/")
(synopsis "Use the Freedesktop.org base directory specification")
(description
"@code{File::Basedir} can be used to find directories and files as
specified by the Freedesktop.org Base Directory Specification. This
specifications gives a mechanism to locate directories for configuration,
application data and cache data.")
(license license:perl-license)))
(define-public perl-file-desktopentry
(package
(name "perl-file-desktopentry")
(version "0.22")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MI/MICHIELB/"
"File-DesktopEntry-" version ".tar.gz"))
(sha256
(base32
"1f1maqix2kbfg2rf008m7mqnvv6nvcf9y6pcgdv2kxp2vbih370n"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-pod" ,perl-test-pod)
("perl-test-pod-coverage" ,perl-test-pod-coverage)))
(propagated-inputs
`(("perl-file-basedir" ,perl-file-basedir)
("perl-uri" ,perl-uri)))
(home-page "http://search.cpan.org/~michielb/File-DesktopEntry/")
(synopsis "Handle @file{.desktop} files")
(description
"@code{File::DesktopEntry} parses @file{.desktop} files defined by the
Freedesktop.org @dfn{Desktop Entry} specification. It can also run the
applications define in those files.")
(license license:perl-license)))
(define-public perl-file-mimeinfo
(package
(name "perl-file-mimeinfo")
(version "0.28")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/M/MI/MICHIELB/"
"File-MimeInfo-" version ".tar.gz"))
(sha256
(base32
"1ipbh63bkh1r2gy5g7q4bzhki8j29mm1jkhbv60p9vwsdys5s91a"))))
(build-system perl-build-system)
;; If the tests are fixed, add perl-test-pod, perl-test-pod-coverage, and
;; perl-test-tiny as native-inputs.
(propagated-inputs
`(("shared-mime-info" ,shared-mime-info)
("perl-file-desktopentry" ,perl-file-desktopentry)))
(arguments
;; Some tests fail due to requiring the mimetype of perl files to be
;; text/plain when they are actually application/x-perl.
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(for-each (lambda (prog)
(wrap-program (string-append out "/bin/" prog)
`("PERL5LIB" ":" prefix
(,(string-append (getenv "PERL5LIB") ":" out
"/lib/perl5/site_perl")))))
'("mimeopen" "mimetype")))
#t)))))
(home-page "http://search.cpan.org/dist/File-MimeInfo/")
(synopsis "Determine file type from the file name")
(description
"@code{File::Mimeinfo} can be used to determine the MIME type of a file.
It tries to implement the Freedesktop specification for a shared MIME
database.
This package also contains two related utilities:
@itemize
@item @command{mimetype} determines a file's MIME type;
@item @command{mimeopen} opens files in an appropriate program according to
their MIME type.
@end itemize")
(license license:perl-license)))

View File

@ -37,6 +37,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
@ -1063,12 +1064,26 @@ games.")
(file-name (string-append name "-" version))
(sha256
(base32 "1mz89nafc1m7srbqvy7iagxrxmqvf5hbqi7i0lwaapkx6q0kpkq7"))))
(build-system gnu-build-system)
(build-system scons-build-system)
(arguments
`(#:tests? #f ; There are no tests
`(#:scons ,scons-python2
#:scons-flags (list "platform=x11"
;; Avoid using many of the bundled libs.
;; Note: These options can be found in the SConstruct file.
"builtin_freetype=no"
"builtin_glew=no"
"builtin_libmpdec=no"
"builtin_libogg=no"
"builtin_libpng=no"
"builtin_libtheora=no"
"builtin_libvorbis=no"
"builtin_libwebp=no"
"builtin_openssl=no"
"builtin_opus=no"
"builtin_zlib=no")
#:tests? #f ; There are no tests
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'scons-use-env
(lambda _
;; Scons does not use the environment variables by default,
@ -1079,24 +1094,6 @@ games.")
"env_base = Environment(tools=custom_tools)\n"
"env_base = Environment(ENV=os.environ)")))
#t))
(replace 'build
(lambda _
(zero? (system*
"scons"
"platform=x11"
;; Avoid using many of the bundled libs.
;; Note: These options can be found in the SConstruct file.
"builtin_freetype=no"
"builtin_glew=no"
"builtin_libmpdec=no"
"builtin_libogg=no"
"builtin_libpng=no"
"builtin_libtheora=no"
"builtin_libvorbis=no"
"builtin_libwebp=no"
"builtin_openssl=no"
"builtin_opus=no"
"builtin_zlib=no"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -1128,8 +1125,7 @@ games.")
Type=Application~%"
out)))
#t))))))
(native-inputs `(("pkg-config" ,pkg-config)
("scons" ,scons)))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("alsa-lib" ,alsa-lib)
("freetype" ,freetype)
("glew" ,glew)
@ -1144,8 +1140,7 @@ games.")
("mesa" ,mesa)
("openssl" ,openssl)
("opusfile" ,opusfile)
("pulseaudio" ,pulseaudio)
("python2" ,python-2)))
("pulseaudio" ,pulseaudio)))
(home-page "https://godotengine.org/")
(synopsis "Advanced 2D and 3D game engine")
(description

View File

@ -580,6 +580,92 @@ utilizing the art assets from the @code{SuperTux} project.")
license:gpl2+
license:gpl3+))))
(define-public roguebox-adventures
(let ((commit "19a2c340b34d5b4e7cc89118c7aedc058babbd93")
(revision "1"))
(package
(name "roguebox-adventures")
(version (git-version "2.1.2" revision commit))
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://git.postactiv.com/themightyglider/RogueBoxAdventures.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0afmg8fjdcs3sqdp5rc7irgr7riil8jwysfjn1imfxslf1wcx5ah"))))
(build-system python-build-system)
(arguments
'(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
;; no setup.py script
(replace 'build
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(data (string-append
out "/share/games/roguebox-adventures")))
;; Use the correct data directory.
(substitute* '("main.py" "LIB/getch.py" "LIB/getch_gcwz.py")
(("basic_path + os\\.sep + 'DATA'")
(string-append "'" data "'"))
(("^basic_path.*$")
(string-append "basic_path ='" data "'\n")))
(substitute* "LIB/gra_files.py"
(("basic_path = b_path\\.replace\\('/LIB',''\\)")
(string-append "basic_path ='" data "'\n")))
;; The game must save in the user's home directory because
;; the store is read-only.
(substitute* "main.py"
(("home_save = False") "home_save = True")
(("'icon_small.png'")
(string-append "'" data "/icon_small.png'"))))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(data (string-append
out "/share/games/roguebox-adventures"))
(doc (string-append
out "/share/doc/roguebox-adventures")))
(mkdir-p bin)
(mkdir-p doc)
(copy-file "main.py"
(string-append bin "/roguebox-adventures"))
(chmod (string-append bin "/roguebox-adventures") #o555)
(for-each (lambda (file)
(copy-recursively file
(string-append data "/" file)))
'("AUDIO" "FONT" "GRAPHIC" "LIB" "LICENSE"
"icon_big.png" "icon_small.png"))
(copy-recursively "DOC" doc)
(wrap-program (string-append bin "/roguebox-adventures")
`("PYTHONPATH" ":" prefix (,(string-append data "/LIB")))))
#t)))))
(inputs
`(("python-pygame" ,python-pygame)
("python-tmx" ,python-tmx)))
(home-page "https://rogueboxadventures.tuxfamily.org")
(synopsis "A classical roguelike/sandbox game")
(description
"RogueBox Adventures is a graphical roguelike with strong influences
from sandbox games like Minecraft or Terraria. The main idea of RogueBox
Adventures is to offer the player a kind of roguelike toy-world. This world
can be explored and changed freely.")
;; The GPL3+ is for code, the rest are for art.
(license (list license:cc0
license:cc-by3.0
license:gpl3+
license:silofl1.1)))))
(define-public xshogi
(package
(name "xshogi")
@ -722,7 +808,7 @@ fight Morgoth, the Lord of Darkness.")
(patches (search-patches "pingus-sdl-libs-config.patch"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("scons" ,scons)))
("scons-python2" ,scons-python2)))
(inputs `(("sdl" ,sdl)
("sdl-image" ,sdl-image)
("sdl-mixer" ,sdl-mixer)
@ -731,15 +817,11 @@ fight Morgoth, the Lord of Darkness.")
("libpng" ,libpng)
("boost" ,boost)))
(arguments
'(#:tests? #f ; no check target
'(#:make-flags (list (string-append "PREFIX=" %output))
#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(zero? (system* "make" "install"
(string-append "PREFIX="
(assoc-ref outputs "out")))))))))
(delete 'configure)))) ; no configure script
(home-page "http://pingus.seul.org/welcome.html")
(synopsis "Lemmings clone")
(description
@ -1346,7 +1428,7 @@ either by Infocom or created using the Inform compiler.")
(define-public retroarch
(package
(name "retroarch")
(version "1.6.7")
(version "1.6.9")
(source
(origin
(method url-fetch)
@ -1354,7 +1436,7 @@ either by Infocom or created using the Inform compiler.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "13vp5skf95a4fla3dwdk2v48dgnmrvimvp9fgpr1vppb7wfjhbr1"))))
(base32 "1d3qbph59d43k10mprqm8h23143yji5mwjkciwynwa4xvsgydpb6"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
@ -1461,7 +1543,7 @@ This game is based on the GPL version of the famous game TuxRacer.")
(define-public supertuxkart
(package
(name "supertuxkart")
(version "0.9.2")
(version "0.9.3")
(source
(origin
(method url-fetch)
@ -1469,8 +1551,7 @@ This game is based on the GPL version of the famous game TuxRacer.")
version "/supertuxkart-" version "-src.tar.xz"))
(sha256
(base32
"10l2ljmd7mv8f9ylarqmxxryicdnph2qkm3g5maxnsm2k2q0n20b"))
(patches (search-patches "supertuxkart-angelscript-ftbfs.patch"))
"1c4w47ibj87lgwiqygq8qi7jiz6gklj4dwf5bs5zk15s0rqlw0fq"))
(modules '((guix build utils)))
(snippet
;; Delete bundled library sources
@ -1495,6 +1576,8 @@ This game is based on the GPL version of the famous game TuxRacer.")
(list "-DUSE_WIIUSE=0"
;; Do not use the bundled zlib
"-DNO_IRR_COMPILE_WITH_ZLIB_=TRUE"
;; FIXME: needs libopenglrecorder
"-DBUILD_RECORDER=0"
;; Irrlicht returns an integer instead of a boolean
"-DCMAKE_C_FLAGS=-fpermissive")
#:phases
@ -3035,7 +3118,7 @@ Red Eclipse provides fast paced and accessible gameplay.")
(define-public higan
(package
(name "higan")
(version "104")
(version "106")
(source
(origin
(method url-fetch)
@ -3044,7 +3127,7 @@ Red Eclipse provides fast paced and accessible gameplay.")
version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "18by01ir2mvdi9hq571in1hk18gw2bd0ynq4avfs1qj0qra35fqb"))
(base32 "0y42pra0dxzlbkyzcp3r8a39pji2bj3p9fl40425f60af2igr4rw"))
(patches (search-patches "higan-remove-march-native-flag.patch"))))
(build-system gnu-build-system)
(native-inputs
@ -4154,7 +4237,7 @@ emerges from a sewer hole and pulls her below ground.")
(define-public cdogs-sdl
(package
(name "cdogs-sdl")
(version "0.6.5")
(version "0.6.6")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/cxong/cdogs-sdl/"
@ -4162,7 +4245,7 @@ emerges from a sewer hole and pulls her below ground.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"17llrpdrrwi8h37vjpkxk2asj7h8qdfp2zy28wiwb7cjzribmz3k"))))
"08gbx6vqqir48xs6qdfa4kv70gj4j96wzs90pg7qldfasxz34ljm"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@ -4504,7 +4587,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
(define-public crawl
(package
(name "crawl")
(version "0.20.0")
(version "0.20.1")
(source
(origin
(method url-fetch)
@ -4518,7 +4601,7 @@ fish. The whole game is accompanied by quiet, comforting music.")
version "-nodeps.tar.xz")))
(sha256
(base32
"0127dgldij2h4m7cf32yy9ndv4vcz03g4km71lmxrsi5mw7ljgpd"))
"0cagx7687r5ln7pmzl60akjhjpyqd62z9zhfr2mqfk53wl9jbsbj"))
(patches (search-patches "crawl-upgrade-saves.patch"))))
(build-system gnu-build-system)
(inputs
@ -4603,7 +4686,7 @@ fabulous Orb of Zot.")
("sdl2-mixer" ,sdl2-mixer)))
(native-inputs
`(,@(package-native-inputs crawl)
;; TODO: Add advpng or pngcrush for additional PNG optimization.
("pngcrush" ,pngcrush)
("which" ,which)))
(synopsis "Graphical roguelike dungeon crawler game")))

View File

@ -413,7 +413,12 @@ Go. It also includes runtime support libraries for these languages.")
(base32
"1m0lr7938lw5d773dkvwld90hjlcq2282517d1gwvrfzmwgg42w5"))
(patches (search-patches "gcc-strmov-store-file-names.patch"
"gcc-5.0-libvtv-runpath.patch"))))))
"gcc-6-source-date-epoch-1.patch"
"gcc-6-source-date-epoch-2.patch"
"gcc-5.0-libvtv-runpath.patch"))))
(inputs
`(("isl" ,isl)
,@(package-inputs gcc-4.7)))))
(define-public gcc-7
(package

View File

@ -454,6 +454,16 @@ commonly used macros.")
(base32
"0pkq5l1llw8gkjhfq6y58iyj6wac8dh1mc3rzjzn6nd7lrkdx8cg"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-path
(lambda* (#:key inputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc")))
(substitute* "libgnome-desktop/gnome-languages.c"
(("\"locale\"")
(string-append "\"" libc "/bin/locale\"")))
#t))))))
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
("itstool" ,itstool)
@ -1059,7 +1069,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
(define-public glade3
(package
(name "glade")
(version "3.20.1")
(version "3.20.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -1067,7 +1077,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
name "-" version ".tar.xz"))
(sha256
(base32
"1pxikhzdzd092d4x3nacf5gfzi3mvhywrhcfqc07xakbsinnfr40"))))
"1vdbqqvf6nrkqml4awrq4pzfwsm5v39wdzg943nys6lmf1am9l87"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:tests? #f ; needs X, GL, and software rendering
@ -1787,14 +1797,14 @@ Hints specification (EWMH).")
(define-public goffice
(package
(name "goffice")
(version "0.10.35")
(version "0.10.36")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "0f2p3p7idfpbms4mi75031014mqsv09s21b6w1359p09raph3461"))))
(base32 "1mma1gp179dh7kvwzd7q3mwg0719hhbm9f5sqw28flv5lv05zrng"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;4.1 MiB of gtk-doc
@ -1851,7 +1861,7 @@ Hints specification (EWMH).")
(define-public gnumeric
(package
(name "gnumeric")
(version "1.12.35")
(version "1.12.36")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -1859,7 +1869,7 @@ Hints specification (EWMH).")
name "-" version ".tar.xz"))
(sha256
(base32
"02kcq2af16m9mlzgkbdzswhw0nl6zf01dmvsfq3shy1mab7f7cbp"))))
"0j28qpbz9a9p80x27kcwxl5n1hf36nn2fa7dxwrbhcdx4rgy5grw"))))
(build-system glib-or-gtk-build-system)
(arguments
`(;; The gnumeric developers don't worry much about failing tests.
@ -2945,7 +2955,7 @@ service via the system message bus.")
(define-public libgweather
(package
(name "libgweather")
(version "3.26.0")
(version "3.26.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -2953,7 +2963,7 @@ service via the system message bus.")
name "-" version ".tar.xz"))
(sha256
(base32
"0vkbc8rvmrlfiws844izxfl01r6l9p6agf8vvgszzkry1gfbm12v"))))
"1f64ix7acj0j0qvxwxaazii2bhsjgh5ang1kw14fkg25ndq899zw"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -3687,7 +3697,7 @@ which can read a large number of file formats.")
(define-public rhythmbox
(package
(name "rhythmbox")
(version "3.4.1")
(version "3.4.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -3695,7 +3705,7 @@ which can read a large number of file formats.")
name "-" version ".tar.xz"))
(sha256
(base32
"1dj1hgdyhmwzs6h2zr89b1ipk0p6g7x74rfz56a5yjds3ik8d7q3"))))
"0hzcns8gf5yb0rm4ss8jd8qzarcaplp5cylk6plwilsqfvxj4xn2"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@ -4051,7 +4061,7 @@ work and the interface is well tested.")
(define-public eolie
(package
(name "eolie")
(version "0.9.12")
(version "0.9.13")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/gnumdk/eolie/"
@ -4059,7 +4069,7 @@ work and the interface is well tested.")
"/eolie-" version ".tar.xz"))
(sha256
(base32
"1qlaxczs82vyww06v5m8zwhvaiilp5zhxp5yp632a8947cg5blnz"))))
"1khpc6x40y5gm0a3p5fxiva9p1djijxmsh74xinigddnyqbjqw69"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:phases
@ -4386,7 +4396,7 @@ metadata in photo and video files of various formats.")
(define-public shotwell
(package
(name "shotwell")
(version "0.26.3")
(version "0.27.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
@ -4394,7 +4404,7 @@ metadata in photo and video files of various formats.")
name "-" version ".tar.xz"))
(sha256
(base32
"1r8fd63r7c5n99hwrkzv9jlrk84z4sa15q3h70pydzfjnfqf90zv"))))
"1jav7qv0s1v6wvd7x2ri85hjqnbswq883pnd228qhd6bhjbryp89"))))
(build-system glib-or-gtk-build-system)
(propagated-inputs
`(("dconf" ,dconf)))
@ -5866,7 +5876,8 @@ software that do not provide their own configuration interface.")
(build-system trivial-build-system)
(source #f)
(propagated-inputs
`(("nautilus" ,nautilus)))
`(("nautilus" ,nautilus)
("evince" ,evince)))
(arguments
`(#:modules ((guix build utils))
#:builder
@ -5878,7 +5889,9 @@ software that do not provide their own configuration interface.")
(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")))
(format port "inode/directory=org.gnome.Nautilus.desktop\n")
(format port "application/pdf=evince.desktop\n")
(format port "application/postscript=evince.desktop\n")))
#t))))
(synopsis "Default MIME type associations for the GNOME desktop")
(description

View File

@ -2,10 +2,10 @@
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Sree Harsha Totakura <sreeharsha@totakura.in>
;;; Copyright © 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2016, 2017 ng0 <ng0@n0.is>
;;;
;;; This file is part of GNU Guix.
;;;
@ -144,14 +144,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "0.9.55")
(version "0.9.57")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"1y6h1slav5l6k8zyb01dpw65dscdgxxgfa3a0z9qnn7jr66sn70c"))))
"0kmgkk9sjg1n3q7rbzw5y4qmgh51zn5qi2j69gbqmr6phxjaghfy"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
@ -177,23 +177,22 @@ tool to extract metadata from a file and print the results.")
C library. It makes it easy to run an HTTP server as part of another
application. The library is fully HTTP 1.1 compliant. It can listen on
multiple ports, supports four different threading models, and supports
IPv6. It
also features security features such as basic and digest authentication
and support for SSL3 and TLS.")
IPv6. It also features security features such as basic and digest
authentication and support for SSL3 and TLS.")
(license license:lgpl2.1+)
(home-page "https://www.gnu.org/software/libmicrohttpd/")))
(define-public gnurl
(package
(name "gnurl")
(version "7.56.1")
(version "7.56.1-2")
(source (origin
(method url-fetch)
(uri (string-append "https://gnunet.org/sites/default/files/"
name "-" version ".tar.bz2"))
(sha256
(base32
"0phbs3lw0a561fqsj4fyngmpaznjlnx4qx9n9xzglivy69r9j1n8"))))
"092lpwjdg0z5bbf6i331ydm49qy05xrb3vagggmpi8pl7v3zv88j"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 1.5 MiB of man3 pages
@ -207,17 +206,7 @@ and support for SSL3 and TLS.")
("pkg-config" ,pkg-config)
("python" ,python-2)))
(arguments
`(#:configure-flags '("--enable-ipv6" "--with-gnutls" "--without-libssh2"
"--without-libmetalink" "--without-winidn"
"--without-librtmp" "--without-nghttp2"
"--without-nss" "--without-cyassl"
"--without-polarssl" "--without-ssl"
"--without-winssl" "--without-darwinssl"
"--disable-sspi" "--disable-ntlm-wb"
"--disable-ldap" "--disable-rtsp" "--disable-dict"
"--disable-telnet" "--disable-tftp" "--disable-pop3"
"--disable-imap" "--disable-smtp" "--disable-gopher"
"--disable-file" "--disable-ftp" "--disable-smb")
`(#:configure-flags (list "--disable-ntlm-wb")
#:test-target "test"
#:parallel-tests? #f
#:phases

View File

@ -212,14 +212,14 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
(version "2.2.2")
(version "2.2.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"15w1q0bib742jqnir67bk07mc6ph9yik8wbc5i1bkcyf29s2rdmz"))))
"1d4482c4pbi0p1k8cc0f9c4q51k56v8navrbz5samxrrs42p3lyb"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -7,6 +7,7 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -381,11 +382,11 @@ in the Mozilla clients.")
"https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS")
(synopsis "Network Security Services")
(description
"Network Security Services (NSS) is a set of libraries designed to support
cross-platform development of security-enabled client and server applications.
Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7,
PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security
standards.")
"Network Security Services (@dfn{NSS}) is a set of libraries designed to
support cross-platform development of security-enabled client and server
applications. Applications built with NSS can support SSL v2 and v3, TLS,
PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other
security standards.")
(license license:mpl2.0)))
(define (mozilla-patch file-name changeset hash)

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,6 +26,7 @@
#:use-module (gnu packages base)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages compression)
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages image)
#:use-module (gnu packages xml)
@ -131,3 +132,31 @@ the photo was taken. It does this by using the timestamp in the photo and
finding a data point in the GPS track that matches, or interpolating a point
between two other data points.")
(license license:gpl2+))))
(define-public gama
(package
(name "gama")
(version "1.21")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gama/gama-"
version ".tar.gz"))
(sha256
(base32
"0yy8czw5dldbw1qj5v2h2wfh397bfx5wd3lrrgs8m1qdf1njnhcq"))))
(build-system gnu-build-system)
(arguments '(#:parallel-tests? #f)) ; race condition
(native-inputs
`(("libxml2" ,libxml2)))
(inputs
`(("expat" ,expat)
("sqlite" ,sqlite)))
(home-page "https://www.gnu.org/software/gama")
(synopsis "Adjustment of geodetic networks")
(description
"GNU Gama is a program for the adjustment of geodetic networks. It is
useful in measurements where Global Positioning System (GPS) is not available,
such as underground. It features the ability to adjust in local Cartesian
coordinates as well as partial support for adjustments in global coordinate systems.")
(license license:gpl3+)))

View File

@ -7,6 +7,7 @@
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -500,7 +501,7 @@ virtual reality, scientific visualization and modeling.")
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("xvfb" ,xorg-server)))
(home-page "http://rapicorn.org")
(home-page "https://rapicorn.testbit.org/")
(synopsis "Toolkit for rapid development of user interfaces")
(description
"Rapicorn is a toolkit for rapid development of user interfaces in C++

View File

@ -2,6 +2,7 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -72,6 +73,52 @@ is usually the formatter of \"man\" documentation pages.")
(license gpl3+)
(home-page "https://www.gnu.org/software/groff/")))
(define-public groff-minimal
;; Minimialist groff for use by man-db. Its closure size is less than half
;; that of the full-blown groff.
(package
(inherit groff)
(name "groff-minimal")
(synopsis "Minimalist variant of Groff for use by man-db")
(outputs '("out"))
;; Omit the DVI, PS, PDF, and HTML backends.
(inputs '())
(native-inputs `(("bison" ,bison)
("perl" ,perl)))
(arguments
`(#:disallowed-references (,perl)
#:configure-flags '("--docdir=/tmp/trash/doc")
#:phases (modify-phases %standard-phases
(add-after 'install 'remove-non-essential-programs
(lambda* (#:key outputs #:allow-other-keys)
;; Keep only the programs that man-db needs at run time,
;; and make sure we don't pull in Perl.
(let ((out (assoc-ref outputs "out"))
(kept '("eqn" "neqn" "pic" "tbl" "refer"
"nroff" "groff" "troff" "grotty")))
(for-each (lambda (file)
(unless (member (basename file) kept)
(delete-file file)))
(find-files (string-append out "/bin")))
;; Remove a bunch of unneeded Perl scripts.
(for-each delete-file (find-files out "\\.pl$"))
(for-each delete-file
(find-files out "BuildFoundries"))
;; Remove ~3 MiB from share/groff/X.Y/font/devBACKEND
;; corresponding to the unused backends.
(for-each delete-file-recursively
(find-files out "^dev(dvi|ps|pdf|html|lj4)$"
#:directories? #t))
#t))))
,@(package-arguments groff)))))
;; There are no releases, so we take the latest commit.
(define-public roffit
(let ((commit "e5228388e3faf2b7f1ae5bd048ad46ed565304c6")

View File

@ -5,6 +5,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,6 +46,7 @@
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages qt)
@ -64,14 +66,14 @@
(define-public orc
(package
(name "orc")
(version "0.4.27")
(version "0.4.28")
(source (origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/data/src/"
"orc/orc-" version ".tar.xz"))
(sha256
(base32
"14vbwdydwarcvswzf744jdjb3ibhv6k4j6hzdacfan41zic3xrai"))))
"1kl3rlmzr27bdpn78nvpnjs142ja1m6grvafdhw74mmhcdjprkdz"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -469,3 +471,31 @@ be used by Python applications using GStreamer.")
(propagated-inputs
`(("gst-plugins-base" ,gst-plugins-base)
("python-pygobject" ,python2-pygobject)))))
(define-public gst123
(package
(name "gst123")
(version "0.3.5")
(source (origin
(method url-fetch)
(uri (string-append "http://space.twc.de/~stefan/gst123/gst123-"
version ".tar.bz2"))
(sha256
(base32
"0zaa117n4wkya9p903vkj8hj58lmdb66pxsdx5wwcv7nffbp5d67"))))
(build-system gnu-build-system)
(inputs
`(("gtk+" ,gtk+-2)
("ncurses" ,ncurses)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://space.twc.de/~stefan/gst123.php")
(synopsis "Flexible command line media player based on gstreamer")
(description "The program gst123 is designed to be a more flexible command
line player in the spirit of ogg123 and mpg123, based on the gstreamer media
framework. It plays all file formats gstreamer supports, so if you have a
music collection which contains different file formats, like flac, ogg and
mp3, you can use gst123 to play all your music files.")
(license license:lgpl2.0+)))

View File

@ -221,7 +221,7 @@ without requiring the source code to be rewritten.")
(define-public guile-2.2
(package (inherit guile-2.0)
(name "guile")
(version "2.2.2")
(version "2.2.2") ;TODO: Update to 2.2.3 (see below).
(source (origin
(method url-fetch)
@ -251,6 +251,21 @@ without requiring the source code to be rewritten.")
(files '("lib/guile/2.2/site-ccache"
"share/guile/site/2.2")))))))
(define-public guile-2.2.3
;; TODO: Make it the new 'guile-2.2' on the next rebuild cycle.
(package
(inherit guile-2.2)
(version "2.2.3")
(source (origin (inherit (package-source guile-2.2))
(uri (list (string-append "mirror://gnu/guile/guile-"
version ".tar.xz")
(string-append
"https://wingolog.org/priv/guile-"
version ".tar.xz")))
(sha256
(base32
"11j01agvnci2cx32wwpqs9078856yxmvs15gcsz7ganpkj2ahlw3"))))))
(define-public guile-2.2/fixed
;; A package of Guile 2.2 that's rarely changed. It is the one used
;; in the `base' module, and thus changing it entails a full rebuild.
@ -1263,7 +1278,7 @@ key-value cache and store.")
(define-public guile-wisp
(package
(name "guile-wisp")
(version "0.9.0")
(version "0.9.8")
(source (origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/ArneBab/"
@ -1271,25 +1286,26 @@ key-value cache and store.")
version ".tar.gz"))
(sha256
(base32
"0y5fxacalkgbv9s71h58vdvm2h2ln3rk024dd0vszwcf953as5fq"))))
"1f2bbicq1rxnwmiplrm4r75wj06w385mjkyvi7g4k740bgwcrzxr"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((system base compile)
,@%gnu-build-system-modules)
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 rdelim)
(ice-9 popen))
#:phases
(modify-phases %standard-phases
(add-before
'configure 'substitute-before-config
(add-before 'configure 'substitute-before-config
(lambda* (#:key inputs #:allow-other-keys)
(let ((bash (assoc-ref inputs "bash")))
;; configure checks for guile-2.0, but ours is just named "guile" :)
(substitute* "configure"
(("guile-2.0") "guile"))
;; Puts together some test files with /bin/bash hardcoded
(substitute* "Makefile.in"
(("/bin/bash")
(string-append bash "/bin/bash") ))
(("/usr/bin/env bash")
(string-append bash "/bin/bash"))
(("\\$\\(GUILE_EFFECTIVE_VERSION\\)/site")
"site/$(GUILE_EFFECTIVE_VERSION)")) ;use the right order
#t)))
;; auto compilation breaks, but if we set HOME to /tmp,
@ -1299,37 +1315,33 @@ key-value cache and store.")
(lambda _
(setenv "HOME" "/tmp")
#t))
(replace
'install
(add-after 'install 'install-go-files
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(module-dir (string-append out "/share/guile/site/2.0"))
(language-dir
(string-append module-dir "/language/wisp"))
(guild (string-append (assoc-ref inputs "guile")
"/bin/guild")))
;; Make installation directories.
(mkdir-p module-dir)
(mkdir-p language-dir)
;; copy the source
(copy-file "wisp-scheme.scm"
(string-append module-dir "/wisp-scheme.scm"))
(copy-file "language/wisp/spec.scm"
(string-append language-dir "/spec.scm"))
(effective (read-line
(open-pipe* OPEN_READ
"guile" "-c"
"(display (effective-version))")))
(module-dir (string-append out "/share/guile/site/"
effective))
(object-dir (string-append out "/lib/guile/" effective
"/site-ccache"))
(prefix (string-length module-dir)))
;; compile to the destination
(compile-file "wisp-scheme.scm"
#:output-file (string-append
module-dir "/wisp-scheme.go"))
(compile-file "language/wisp/spec.scm"
#:output-file (string-append
language-dir "/spec.go"))
(for-each (lambda (file)
(let* ((base (string-drop (string-drop-right file 4)
prefix))
(go (string-append object-dir base ".go")))
(invoke "guild" "compile" "-L" module-dir
file "-o" go)))
(find-files module-dir "\\.scm$"))
#t))))))
(home-page "http://draketo.de/english/wisp")
(inputs
`(("guile" ,guile-2.0)
("python" ,python)))
`(("guile" ,guile-2.2)))
(native-inputs
`(("python" ,python)
("pkg-config" ,pkg-config)))
(synopsis "Whitespace to lisp syntax for Guile")
(description "Wisp is a syntax for Guile which provides a Python-like
whitespace-significant language. It may be easier on the eyes for some
@ -1374,11 +1386,11 @@ users and in some situations.")
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
`(("guile" ,guile-2.2)
("guile-sdl" ,guile-sdl)
`(("guile-sdl" ,guile-sdl)
("guile-opengl" ,guile-opengl)))
(inputs
`(("gsl" ,gsl)
`(("guile" ,guile-2.2)
("gsl" ,gsl)
("freeimage" ,freeimage)
("mesa" ,mesa)))
(synopsis "2D/3D game engine for GNU Guile")
@ -1492,6 +1504,55 @@ It currently supports MySQL, Postgres and SQLite3.")
SQL databases. This package implements the interface for SQLite.")
(license license:gpl2+)))
(define-public guile-dsv
(package
(name "guile-dsv")
(version "0.2.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/artyom-poptsov/guile-dsv")
(commit "bdc5267d007478abc20ea96d7c459b7dd9560b3d")))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1irw6mz8998nwyhzrw9g94jcz60b9zljgqfmipaz1ybn8579qjx0"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("pkg-config" ,pkg-config)
("texinfo" ,texinfo)))
(inputs `(("guile" ,guile-2.2)))
(propagated-inputs `(("guile-lib" ,guile-lib)))
(arguments
'(#:phases (modify-phases %standard-phases
(add-before 'configure 'set-guilesitedir
(lambda _
(substitute* "Makefile.in"
(("^guilesitedir =.*$")
"guilesitedir = \
$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
(substitute* "modules/Makefile.in"
(("^guilesitedir =.*$")
"guilesitedir = \
$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
(substitute* "modules/dsv/Makefile.in"
(("^guilesitedir =.*$")
"guilesitedir = \
$(datadir)/guile/site/$(GUILE_EFFECTIVE_VERSION)\n"))
#t))
(add-after 'unpack 'autoreconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))))))
(home-page "https://github.com/artyom-poptsov/guile-dsv")
(synopsis "DSV module for Guile")
(description
"Guile-DSV is a GNU Guile module for working with the
delimiter-separated values (DSV) data format. Guile-DSV supports the
Unix-style DSV format and RFC 4180 format.")
(license license:gpl3+)))
(define-public guile-xosd
(package
(name "guile-xosd")

View File

@ -7,6 +7,7 @@
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -283,7 +284,7 @@ test-framework.")
(define-public ghc-tasty-rerun
(package
(name "ghc-tasty-rerun")
(version "1.1.6")
(version "1.1.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -291,7 +292,7 @@ test-framework.")
"tasty-rerun-" version ".tar.gz"))
(sha256
(base32
"0ycxg7whabgcxyzy6gr536x8ykzx45whh1wrbsc7c58zi862fczd"))))
"18hz1xqinf59mzvd68ygj9333v0a32qxfcas7crn4iniq5zv71kj"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)

View File

@ -3,6 +3,7 @@
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 ng0 <ng0@infotropique.org>
;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -33,7 +34,7 @@
(define-public ghc-asn1-types
(package
(name "ghc-asn1-types")
(version "0.3.1")
(version "0.3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -41,7 +42,7 @@
version ".tar.gz"))
(sha256
(base32
"1iif9yrh4mmj249gyvam0zb2vb3jnlz777gahh2z9sx00dsx9rja"))))
"05vjchyqiy9n275cygffhn0ma7fz7jx52j0dcdm9qm8h9bziymqc"))))
(build-system haskell-build-system)
(inputs
`(("ghc-memory" ,ghc-memory)
@ -56,7 +57,7 @@ format.")
(define-public ghc-asn1-encoding
(package
(name "ghc-asn1-encoding")
(version "0.9.3")
(version "0.9.5")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -64,7 +65,7 @@ format.")
version ".tar.gz"))
(sha256
(base32
"01ki5msrpccgdbdiaaa5a9zw0icp1hki4hca8qx6hzlp0rcf1mwh"))))
"0adgbamyq0mj1l1hdq4zyyllay714bac1wl0rih3fv1z6vykp1hy"))))
(build-system haskell-build-system)
(inputs
`(("ghc-hourglass" ,ghc-hourglass)

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -64,7 +65,7 @@ for screen-scraping.")
(define-public ghc-cookie
(package
(name "ghc-cookie")
(version "0.4.1.6")
(version "0.4.3")
(source
(origin
(method url-fetch)
@ -74,7 +75,7 @@ for screen-scraping.")
".tar.gz"))
(sha256
(base32
"0b6ym6fn29p5az4dwydy036lxj131kagrmgb93w4bbkqfkds8b9s"))))
"0qpdydhb9gw590ffabqg70x7xvjpg8l74idqnrfbhv5yrr7hryzv"))))
(build-system haskell-build-system)
(inputs
`(("ghc-old-locale" ,ghc-old-locale)
@ -791,14 +792,14 @@ essentially the opposite of pretty-printing.")
(define-public ghc-aeson-qq
(package
(name "ghc-aeson-qq")
(version "0.8.1")
(version "0.8.2")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"aeson-qq/aeson-qq-" version ".tar.gz"))
(sha256
(base32
"1z8kh3qjc4khadz1ijdqm7fbk7dh17sisqhpwd3c9aibj2927k9d"))))
"0ln13jqyfh5726hdrk1rad9a6cgrrj201plmwcfcpvq18v4m5ckd"))))
(build-system haskell-build-system)
(inputs
`(("ghc-base-compat" ,ghc-base-compat)

View File

@ -12,6 +12,7 @@
;;; Copyright © 2017 Peter Mikkelsen <petermikkelsen10@gmail.com>
;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 rsiddharth <s@ricketyspace.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -771,7 +772,7 @@ package are to parse or generate Haskell 98 code.")
(define-public ghc-alex
(package
(name "ghc-alex")
(version "3.1.4")
(version "3.2.3")
(source
(origin
(method url-fetch)
@ -781,11 +782,8 @@ package are to parse or generate Haskell 98 code.")
".tar.gz"))
(sha256
(base32
"17x13nbbr79xgdlzywjqw19vcl6iygjnssjnxnajgijkv764wknn"))))
"0bi1cs9b8ir33h1fl6x2xw4ymygapqbr713ridpf7rmk2wa7jqqs"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: Tests broken for GHC 7.10. Fixed
; upstream, see
; <https://github.com/simonmar/alex/issues/62>
(inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
(home-page "http://www.haskell.org/alex/")
(synopsis
@ -831,17 +829,16 @@ tool lex or flex for C/C++.")
(define-public ghc-cmdargs
(package
(name "ghc-cmdargs")
(version "0.10.13")
(version "0.10.18")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/cmdargs/cmdargs-"
version
".tar.gz"))
version ".tar.gz"))
(sha256
(base32
"0vmz7f0ssrqlp6wzmc0mjqj4qczfgk58g0lr0yz7jamamlgpq4b6"))))
"1lnmcsf6p9yrwwz1zvrw5lbc32xpff7b70yz4ylawaflnlz6wrlh"))))
(build-system haskell-build-system)
(home-page
"http://community.haskell.org/~ndm/cmdargs/")
@ -875,7 +872,7 @@ postfix notation. For more information on stack based languages, see
(define-public ghc-happy
(package
(name "ghc-happy")
(version "1.19.5")
(version "1.19.8")
(source
(origin
(method url-fetch)
@ -885,10 +882,8 @@ postfix notation. For more information on stack based languages, see
".tar.gz"))
(sha256
(base32
"1nj353q4z1g186fpjzf0dnsg71qhxqpamx8jy89rjjvv3p0kmw32"))))
"186ky3bly0i3cc56qk3r7j7pxh2108aackq4n2lli7jmbnb3kxsd"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ;; cannot satisfy -package mtl. Possible Cabal
;; issue.
(inputs
`(("ghc-mtl" ,ghc-mtl)))
(home-page "https://hackage.haskell.org/package/happy")
@ -1105,17 +1100,16 @@ PNG, PNM, TGA, TIFF, XCF, XPM, XV.")
(define-public ghc-half
(package
(name "ghc-half")
(version "0.2.2.1")
(version "0.2.2.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/half/half-"
version
".tar.gz"))
version ".tar.gz"))
(sha256
(base32
"0zhwc6ps5w4ccnxl8sy623z4rjsafmnry69jpkw4hrbq11l402f1"))))
"0p4sb7vv9cljv48wlx65wgdnkryrk5d6yfh7g4yrm20w1p449hl5"))))
(build-system haskell-build-system)
(home-page "https://github.com/ekmett/half")
(synopsis "Half-precision floating-point computations")
@ -1392,7 +1386,7 @@ old @code{time} library. For new projects, the newer
(define-public ghc-dlist
(package
(name "ghc-dlist")
(version "0.7.1.2")
(version "0.8.0.3")
(source
(origin
(method url-fetch)
@ -1401,7 +1395,7 @@ old @code{time} library. For new projects, the newer
version
".tar.gz"))
(sha256
(base32 "10rp96rryij7d8gz5kv8ygc6chm1624ck5mbnqs2a3fkdzqj2b9k"))))
(base32 "0brgai4vs7xz29p06kd6gzg5bpa8iy3k7yzgcc44izspd74q4rw7"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)))
@ -2368,15 +2362,14 @@ parser isolation, and labeled blocks for better error messages.")
(base32
"0arvbaxgkawzdp38hh53akkahjg2aa3kj2b4ns0ni8a5ylg2cqmp"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: Test fails with "cannot satisfy
; -package contravariant-1.3.3"
(native-inputs
`(("ghc-doctest" ,ghc-doctest)))
(inputs
`(("ghc-distributive" ,ghc-distributive)
("ghc-transformers-compat" ,ghc-transformers-compat)
("ghc-contravariant" ,ghc-contravariant)
`(("ghc-contravariant" ,ghc-contravariant)
("ghc-distributive" ,ghc-distributive)
("ghc-semigroups" ,ghc-semigroups)
("ghc-tagged" ,ghc-tagged)
("ghc-contravariant" ,ghc-contravariant)))
("ghc-transformers-compat" ,ghc-transformers-compat)))
(home-page "https://github.com/ekmett/comonad/")
(synopsis "Comonads for Haskell")
(description "This library provides @code{Comonad}s for Haskell.")
@ -2652,7 +2645,7 @@ online}.")
(define-public ghc-exceptions
(package
(name "ghc-exceptions")
(version "0.8.0.2")
(version "0.8.3")
(source
(origin
(method url-fetch)
@ -2662,9 +2655,11 @@ online}.")
".tar.gz"))
(sha256
(base32
"1x1bk1jf42k1gigiqqmkkh38z2ffhx8rsqiszdq3f94m2h6kw2h7"))))
"1gl7xzffsqmigam6zg0jsglncgzxqafld2p6kb7ccp9xirzdjsjd"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: Missing test-framework package.
(native-inputs
`(("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
(inputs
`(("ghc-stm" ,ghc-stm)
("ghc-mtl" ,ghc-mtl)
@ -2875,7 +2870,7 @@ encourages inductive, recursive definitions of graph algorithms.")
(define-public ghc-chasingbottoms
(package
(name "ghc-chasingbottoms")
(version "1.3.0.13")
(version "1.3.1.3")
(source
(origin
(method url-fetch)
@ -2883,14 +2878,7 @@ encourages inductive, recursive definitions of graph algorithms.")
"ChasingBottoms-" version ".tar.gz"))
(sha256
(base32
"1fb86jd6cdz4rx3fj3r9n8d60kx824ywwy7dw4qnrdran46ja3pl"))
(modules '((guix build utils)))
(snippet
;; The Hackage page and the cabal file linked there for this package
;; both list 0.7 as the upper version limit, but the source tarball
;; specifies 0.6. Assume the Hackage page is correct.
'(substitute* "ChasingBottoms.cabal"
(("syb >= 0.1.0.2 && < 0.6") "syb >= 0.1.0.2 && < 0.7")))))
"04jwwjs22mqc4hvpp4c3gpb79inrrq5sapks5khknspv2hslm61q"))))
(build-system haskell-build-system)
(inputs
`(("ghc-mtl" ,ghc-mtl)
@ -3329,7 +3317,7 @@ finite maps and priority queues where the priority and element are distinct.")
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-edisonapi" ,ghc-edisonapi)))
(home-page "http://rwd.rdockins.name/edison/home/")
(synopsis "Library of efficent, purely-functional data structures")
(synopsis "Library of efficient, purely-functional data structures")
(description
"This package provides the core Edison data structure implementations,
including multiple sequence, set, bag, and finite map concrete implementations
@ -3456,7 +3444,7 @@ system.")
(define-public ghc-base-compat
(package
(name "ghc-base-compat")
(version "0.8.2")
(version "0.9.3")
(source
(origin
(method url-fetch)
@ -3466,7 +3454,7 @@ system.")
".tar.gz"))
(sha256
(base32
"02m93hzgxg4bcnp7xcc2fdh2hrsc2h6fwl8hix5nx9k864kwf41q"))))
"0452l6zf6fjhy4kxqwv6i6hhg6yfx4wcg450k3axpyj30l7jnq3x"))))
(build-system haskell-build-system)
(native-inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
@ -3482,7 +3470,7 @@ pragmas in your code.")
(define-public ghc-blaze-builder
(package
(name "ghc-blaze-builder")
(version "0.4.0.1")
(version "0.4.0.2")
(source
(origin
(method url-fetch)
@ -3492,7 +3480,7 @@ pragmas in your code.")
".tar.gz"))
(sha256
(base32
"1id3w33x9f7q5m3xpggmvzw03bkp94bpfyz81625bldqgf3yqdn1"))))
"1m33y6p5xldni8p4fzg8fmsyqvkfmnimdamr1xjnsmgm3dkf9lws"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: Missing test libraries.
(inputs
@ -3556,7 +3544,7 @@ library for Haskell.")
(define-public ghc-async
(package
(name "ghc-async")
(version "2.0.2")
(version "2.1.1.1")
(source
(origin
(method url-fetch)
@ -3566,7 +3554,7 @@ library for Haskell.")
".tar.gz"))
(sha256
(base32
"0azx4qk65a9a2gvqsfmz3w89m6shzr2iz0i5lly2zvly4n2d6m6v"))))
"1qj4fp1ynwg0l453gmm27vgkzb5k5m2hzdlg5rdqi9kf8rqy90yd"))))
(build-system haskell-build-system)
(inputs
`(("ghc-stm" ,ghc-stm)
@ -3584,19 +3572,23 @@ will eventually deliver a value of type @code{a}.")
(define-public ghc-fingertree
(package
(name "ghc-fingertree")
(version "0.1.1.0")
(version "0.1.3.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://hackage.haskell.org/package/fingertree/fingertree-"
version
".tar.gz"))
version ".tar.gz"))
(sha256
(base32
"1w6x3kp3by5yjmam6wlrf9vap5l5rrqaip0djbrdp0fpf2imn30n"))))
"1ryjj7qrx70ckcjlr02x9zh86kfp76azbxq05r7hawqkaqg44sfs"))))
(build-system haskell-build-system)
(arguments `(#:tests? #f)) ; FIXME: testing libraries are missing.
(native-inputs
`(("ghc-hunit" ,ghc-hunit)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
(home-page "https://hackage.haskell.org/package/fingertree")
(synopsis "Generic finger-tree structure")
(description "This library provides finger trees, a general sequence
@ -3722,7 +3714,7 @@ unbounded @code{Integer} type.")
(define-public ghc-clock
(package
(name "ghc-clock")
(version "0.5.1")
(version "0.7.2")
(source
(origin
(method url-fetch)
@ -3731,7 +3723,7 @@ unbounded @code{Integer} type.")
"clock/"
"clock-" version ".tar.gz"))
(sha256
(base32 "1ncph7vi2q6ywwc8ysxl1ibw6i5dwfvln88ssfazk8jgpj4iyykw"))))
(base32 "07v91s20halsqjmziqb1sqjp2sjpckl9by7y28aaklwqi2bh2rl8"))))
(build-system haskell-build-system)
(inputs
`(("ghc-tasty" ,ghc-tasty)
@ -3769,7 +3761,7 @@ Haskell, based on complemented PATRICIA tries.")
(define-public ghc-bytestring-builder
(package
(name "ghc-bytestring-builder")
(version "0.10.6.0.0")
(version "0.10.8.1.0")
(source
(origin
(method url-fetch)
@ -3778,7 +3770,7 @@ Haskell, based on complemented PATRICIA tries.")
"/bytestring-builder-" version ".tar.gz"))
(sha256
(base32
"1mkg24zl0rapb3gqzkyj5ibp07wx3yzd72hmfczssl0is63rjhww"))))
"1hnvjac28y44yn78c9vdp1zvrknvlw98ky3g4n5vivr16rvh8x3d"))))
(build-system haskell-build-system)
(arguments `(#:haddock? #f)) ; Package contains no documentation.
(home-page "https://hackage.haskell.org/package/bytestring-builder")
@ -3956,24 +3948,24 @@ indexed variants.")
"0drx1hlqvdcrij4097q6bxhbfcqm73jsqv1wwhd3hsnjdmr46ch2"))))
(build-system haskell-build-system)
(inputs
`(("ghc-xss-sanitize" ,ghc-xss-sanitize)
("ghc-data-default" ,ghc-data-default)
("ghc-mtl" ,ghc-mtl)
("ghc-text" ,ghc-text)
`(("ghc-aeson" ,ghc-aeson)
("ghc-blaze-html" ,ghc-blaze-html)
("ghc-data-default" ,ghc-data-default)
("ghc-http-types" ,ghc-http-types)
("ghc-mtl" ,ghc-mtl)
("ghc-syb" ,ghc-syb)
("ghc-text" ,ghc-text)
("ghc-uniplate" ,ghc-uniplate)
("ghc-aeson" ,ghc-aeson)
("ghc-wai-extra" ,ghc-wai-extra)
("ghc-wai" ,ghc-wai)
("ghc-http-types" ,ghc-http-types)))
("ghc-xss-sanitize" ,ghc-xss-sanitize)))
(home-page "https://github.com/jgm/cheapskate")
(synopsis "Experimental markdown processor")
(description "Cheapskate is an experimental Markdown processor in pure
Haskell. It aims to process Markdown efficiently and in the most forgiving
possible way. It is designed to deal with any input, including garbage, with
linear performance. Output is sanitized by default for protection against XSS
attacks.")
linear performance. Output is sanitized by default for protection against
cross-site scripting (@dfn{XSS}) attacks.")
(license license:bsd-3)))
(define-public ghc-bifunctors
@ -4039,7 +4031,7 @@ just a @code{Semigroup} are added.")
(define-public ghc-contravariant
(package
(name "ghc-contravariant")
(version "1.3.3")
(version "1.4")
(source
(origin
(method url-fetch)
@ -4049,7 +4041,7 @@ just a @code{Semigroup} are added.")
".tar.gz"))
(sha256
(base32
"184hcmhsznqrkmqlc1kza9pb5p591anva574ry8wrh81vqmhwfb5"))))
"117fff8kkrvlmr8cb2jpj71z7lf2pdiyks6ilyx89mry6zqnsrp1"))))
(build-system haskell-build-system)
(inputs
`(("ghc-void" ,ghc-void)
@ -4097,7 +4089,7 @@ semigroup.")
(define-public ghc-free
(package
(name "ghc-free")
(version "4.12.1")
(version "4.12.4")
(source
(origin
(method url-fetch)
@ -4107,7 +4099,7 @@ semigroup.")
".tar.gz"))
(sha256
(base32
"0sr8phvrb4ny8j1wzq55rdn8q4br23q4pw2j276npr844825jr9p"))))
"1147s393442xf4gkpbq0rd1p286vmykgx85mxhk5d1c7wfm4bzn9"))))
(build-system haskell-build-system)
(inputs
`(("ghc-prelude-extras" ,ghc-prelude-extras)
@ -4388,7 +4380,7 @@ using a simple box model.")
(define-public ghc-deepseq-generics
(package
(name "ghc-deepseq-generics")
(version "0.1.1.2")
(version "0.2.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -4396,16 +4388,8 @@ using a simple box model.")
version ".tar.gz"))
(sha256
(base32
"01pvigx8n9p8hwbzp2qiq6kzf7cxiam843jz2sjgliacmmp1v7l3"))))
"17bwghc15mc9pchfd1w46jh2p3wzc86aj6a537wqwxn08rayzcxh"))))
(build-system haskell-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'relax-ghc-prim-dependency
(lambda _
(substitute* "deepseq-generics.cabal"
(("< 0.4") "< 0.5"))
#t)))))
(native-inputs
`(("ghc-hunit" ,ghc-hunit)
("ghc-test-framework" ,ghc-test-framework)
@ -4553,14 +4537,16 @@ descriptions.")
(define-public ghc-cmark
(package
(name "ghc-cmark")
(version "0.5.3.1")
(version "0.5.6")
(source (origin
(method url-fetch)
;; XXX As of version 0.5.6, this package bundles libcmark 0.28.0.
;; See cbits/cmark_version.h.
(uri (string-append "https://hackage.haskell.org/package/"
"cmark/cmark-" version ".tar.gz"))
(sha256
(base32
"09515h9b26az9c2mbl6l7azimaixa6yff8w359k0ml8jwykjvqaa"))))
"1c1j3a8b9qx5zk9myqm3gap8ymz7fipwrdmyfsq9wkkdr9x4np45"))))
(build-system haskell-build-system)
(inputs
`(("ghc-text" ,ghc-text)))
@ -4571,14 +4557,14 @@ descriptions.")
(description
"This package provides Haskell bindings for
@uref{https://github.com/jgm/cmark, libcmark}, the reference parser for
CommonMark, a fully specified variant of Markdown. It includes sources for
libcmark (0.21.0) and does not require prior installation of the C library.")
CommonMark, a fully specified variant of Markdown. It includes bundled libcmark
sources, and does not require prior installation of the C library.")
(license license:bsd-3)))
(define-public ghc-executable-path
(package
(name "ghc-executable-path")
(version "0.0.3")
(version "0.0.3.1")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -4586,7 +4572,7 @@ libcmark (0.21.0) and does not require prior installation of the C library.")
version ".tar.gz"))
(sha256
(base32
"1jg58qf19qz93c60ryglcavwdcysz4fd4qn8kpw5im9w9kniawlc"))))
"0vxwmnsvx13cawcyhbyljkds0l1vr996ijldycx7nj0asjv45iww"))))
(build-system haskell-build-system)
(home-page "https://hackage.haskell.org/package/executable-path")
(synopsis "Find out the full path of the executable")
@ -4600,7 +4586,7 @@ as invoked.\" This library tries to provide the missing path.")
(define-public ghc-enclosed-exceptions
(package
(name "ghc-enclosed-exceptions")
(version "1.0.1.1")
(version "1.0.2")
(source (origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
@ -4608,7 +4594,7 @@ as invoked.\" This library tries to provide the missing path.")
version ".tar.gz"))
(sha256
(base32
"16ax1kqdsk4apg642qxkm2hf9vb5hzmkd14zmkxra8ssp8rn28z5"))))
"1wc9h6zdnb5impvvml6vnjapajjanw7zgpnzg7c0v7115nwfm6vv"))))
(build-system haskell-build-system)
(inputs
`(("ghc-lifted-base" ,ghc-lifted-base)
@ -5694,7 +5680,7 @@ this problem.")
(define-public ghc-bytestring-handle
(package
(name "ghc-bytestring-handle")
(version "0.1.0.4")
(version "0.1.0.6")
(source
(origin
(method url-fetch)
@ -5703,14 +5689,14 @@ this problem.")
version ".tar.gz"))
(sha256
(base32
"0q5yzx90ad9w7qvaix05bynxwlsbqjrgfc4hqb355ibf991wd0rh"))))
"18f17aja1ivhr3zyg2cccn2m03hdn5jf5410dndkhf12gvgiqs7y"))))
(build-system haskell-build-system)
(inputs
`(("ghc-quickcheck" ,ghc-quickcheck)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
("ghc-hunit" ,ghc-hunit)
`(("ghc-hunit" ,ghc-hunit)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
("ghc-test-framework" ,ghc-test-framework)))
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
(home-page "http://hub.darcs.net/ganesh/bytestring-handle")
(synopsis "ByteString-backed Handles")
(description "ByteString-backed Handles") ; There is no description
@ -5885,7 +5871,7 @@ the @code{mtl-tf} package.")
(define-public ghc-bytestring
(package
(name "ghc-bytestring")
(version "0.10.8.1")
(version "0.10.8.2")
(source
(origin
(method url-fetch)
@ -5894,18 +5880,18 @@ the @code{mtl-tf} package.")
version ".tar.gz"))
(sha256
(base32
"16zwb1p83z7vc5wlhvknpy80b5a2jxc5awx67rk52qnp9idmyq9d"))))
"0fjc5ybxx67l0kh27l6vq4saf88hp1wnssj5ka90ii588y76cvys"))))
(build-system haskell-build-system)
(inputs
`(("ghc-random" ,ghc-random)
`(("ghc-dlist" ,ghc-dlist)
("ghc-byteorder" ,ghc-byteorder)
("ghc-hunit" ,ghc-hunit)
("ghc-mtl" ,ghc-mtl)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-random" ,ghc-random)
("ghc-test-framework" ,ghc-test-framework)
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)
("ghc-quickcheck" ,ghc-quickcheck)
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
("ghc-hunit" ,ghc-hunit)
("ghc-byteorder" ,ghc-byteorder)
("ghc-dlist" ,ghc-dlist)
("ghc-mtl" ,ghc-mtl)))
("ghc-test-framework-hunit" ,ghc-test-framework-hunit)))
(arguments
`(#:tests? #f)) ; Test number two becomes non-responsive for 20+ minutes
(home-page "https://github.com/haskell/bytestring")
@ -5944,7 +5930,7 @@ supported. A module of colour names (\"Data.Colour.Names\") is provided.")
(define-public ghc-directory
(package
(name "ghc-directory")
(version "1.2.7.0")
(version "1.3.1.5")
(source
(origin
(method url-fetch)
@ -5953,7 +5939,7 @@ supported. A module of colour names (\"Data.Colour.Names\") is provided.")
version ".tar.gz"))
(sha256
(base32
"0h3hrqskadmbigaxbz2k5xxjjjlmfaq2zdn2g7jh1wv9k6yrxraa"))))
"0zkqihmdfz7bzv3sxh1p9ijl4vra880kfy3qy9h96flq7d2if0f2"))))
(build-system haskell-build-system)
(home-page "http://hackage.haskell.org/package/directory")
(synopsis "Platform-agnostic library for filesystem operations")
@ -6016,7 +6002,7 @@ files and directories in a portable way.")
(define-public ghc-fgl-arbitrary
(package
(name "ghc-fgl-arbitrary")
(version "0.2.0.2")
(version "0.2.0.3")
(source
(origin
(method url-fetch)
@ -6025,7 +6011,7 @@ files and directories in a portable way.")
version ".tar.gz"))
(sha256
(base32
"12qbsla4vivffris6y3gj29vrafkpyazqdbdy2m55nggypqpf7ah"))))
"0ln1szgfy8fa78l3issq4fx3aqnnd54w3cb4wssrfi48vd5rkfjm"))))
(build-system haskell-build-system)
(inputs
`(("ghc-fgl" ,ghc-fgl)
@ -6085,7 +6071,7 @@ and edge labels with positional information, etc.
(define-public ghc-array
(package
(name "ghc-array")
(version "0.5.1.1")
(version "0.5.2.0")
(source
(origin
(method url-fetch)
@ -6094,7 +6080,7 @@ and edge labels with positional information, etc.
version ".tar.gz"))
(sha256
(base32
"08r2rq4blvc737mrg3xhlwiw13jmsz5dlf2fd0ghb9cdaxc6kjc9"))))
"12v83s2imxb3p2crnlzrpjh0nk6lpysw9bdk9yahs6f37csa5jaj"))))
(build-system haskell-build-system)
(home-page
"http://hackage.haskell.org/package/array")
@ -7109,8 +7095,8 @@ different API.
@item @code{IntPSQ p v} is a far more efficient implementation. It fixes the
key type to @code{Int} and uses a
@code{http://en.wikipedia.org/wiki/Radix_tree, radix tree}
(like @code{IntMap}) with an additional min-heap property.
@code{http://en.wikipedia.org/wiki/Radix_tree, radix tree} (like @code{IntMap})
with an additional min-heap property.
@item @code{HashPSQ k p v} is a fairly straightforward extension
of @code{IntPSQ}: it simply uses the keys' hashes as indices in the
@ -7136,7 +7122,7 @@ Typical applications of Priority Search Queues include:
(define-public ghc-glob
(package
(name "ghc-glob")
(version "0.7.14")
(version "0.9.1")
(source
(origin
(method url-fetch)
@ -7145,7 +7131,7 @@ Typical applications of Priority Search Queues include:
"Glob-" version ".tar.gz"))
(sha256
(base32
"0aw43izg8vlvjl40ms6k92w7gxg7n3l6smdvzla47fp82s4vhdr8"))))
"0rzmsknl02p332dxmm36fyrz3dpma7bchn0ymyjipxvqil20pjw0"))))
(build-system haskell-build-system)
(inputs
`(("ghc-dlist" ,ghc-dlist)
@ -7159,7 +7145,7 @@ Typical applications of Priority Search Queues include:
("ghc-test-framework-quickcheck2" ,ghc-test-framework-quickcheck2)))
(home-page "http://iki.fi/matti.niemenmaa/glob/")
(synopsis "Haskell library matching glob patterns against file paths")
(description "This package providesa Haskell library for globbing:
(description "This package providesa Haskell library for @dfn{globbing}:
matching patterns against file paths.")
(license license:bsd-3)))
@ -7891,7 +7877,7 @@ vector. ")
(define-public ghc-foldl
(package
(name "ghc-foldl")
(version "1.3.2")
(version "1.3.5")
(source
(origin
(method url-fetch)
@ -7900,7 +7886,7 @@ vector. ")
"foldl-" version ".tar.gz"))
(sha256
(base32
"1z3xjz4khs2kr3mqkbh7dz4kd6gkdk2r67wjkvrxnmp533aqh90n"))))
"10qsp7dj2xsq4q2xm6x6b12y5pq32qf7my41hnkmdwwbccvhdxb2"))))
(build-system haskell-build-system)
(inputs `(("ghc-mwc-randam" ,ghc-mwc-random)
("ghc-primitive" ,ghc-primitive)

View File

@ -10,9 +10,9 @@
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2017 ng0 <ng0@infotropique.org>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
@ -67,6 +67,7 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system scons)
#:use-module (srfi srfi-1))
(define-public libpng
@ -207,25 +208,24 @@ in-memory raw vectors.")
;; Any of these GPL versions.
(license (list license:gpl2 license:gpl3))))
(define-public pngcrunch
(define-public pngcrush
(package
(name "pngcrunch")
(version "1.8.11")
(name "pngcrush")
(version "1.8.13")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/pmt/pngcrush/"
version "/pngcrush-" version ".tar.xz"))
version "/pngcrush-" version "-nolib.tar.xz"))
(sha256 (base32
"1c7m316i91jp3h1dj1ppppdv6zilm2njk1wrpqy2zj0fcll06lwd"))))
"0l43c59d6v9l0g07z3q3ywhb8xb3vz74llv3mna0izk9bj6aqkiv"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags '("-f" "Makefile-nolib")
#:tests? #f ; no check target
'(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "Makefile-nolib"
(substitute* "Makefile"
(("^(PNG(INC|LIB) = )/usr/local/" line vardef)
(string-append vardef (assoc-ref inputs "libpng") "/"))
(("^(Z(INC|LIB) = )/usr/local/" line vardef)
@ -236,12 +236,16 @@ in-memory raw vectors.")
(inputs
`(("libpng" ,libpng)
("zlib" , zlib)))
(home-page "https://pmt.sourceforge.net/pngcrush")
(home-page "https://pmt.sourceforge.io/pngcrush")
(synopsis "Utility to compress PNG files")
(description "pngcrusqh is an optimizer for PNG (Portable Network Graphics)
files. It can compress them as much as 40% losslessly.")
(license license:zlib)))
(define-public pngcrunch
;; This package used to be wrongfully name "pngcrunch".
(deprecated-package "pngcrunch" pngcrush))
(define-public libjpeg
(package
(name "libjpeg")
@ -787,7 +791,7 @@ multi-dimensional image processing.")
(define-public libwebp
(package
(name "libwebp")
(version "0.6.0")
(version "0.6.1")
(source
(origin
(method url-fetch)
@ -796,7 +800,7 @@ multi-dimensional image processing.")
".tar.gz"))
(sha256
(base32
"0h1brwkyxc7lb8lc53aacdks5vc1y9hzngqi41gg7y6l56912a69"))))
"1ayq2zq0zbgf5yizbm32zh7p1vb8kibw74am6am1n5cz5mw3ql06"))))
(build-system gnu-build-system)
(inputs
`(("freeglut" ,freeglut)
@ -1040,10 +1044,9 @@ differences in file encoding, image quality, and other small variations.")
(home-page "http://steghide.sourceforge.net")
(synopsis "Image and audio steganography")
(description
"Steghide is a steganography program that is able to hide data in various
kinds of image- and audio-files. The color- respectivly sample-frequencies
are not changed thus making the embedding resistant against first-order
statistical tests.")
"Steghide is a program to hide data in various kinds of image and audio
files (known as @dfn{steganography}). Neither color nor sample frequencies are
changed, making the embedding resistant against first-order statistical tests.")
(license license:gpl2+)))
(define-public stb-image-for-extempore
@ -1082,6 +1085,7 @@ installed as @code{stb_image}.")
(method url-fetch)
(uri (string-append "http://prdownloads.sourceforge.net/optipng/optipng-"
version ".tar.gz"))
(patches (search-patches "optipng-CVE-2017-1000229.patch"))
(sha256
(base32
"105yk5qykvhiahzag67gm36s2kplxf6qn5hay02md0nkrcgn6w28"))))
@ -1191,33 +1195,26 @@ medical image data, e.g. magnetic resonance image (MRI) and functional MRI
(sha256
(base32
"0mxvxk15xhk2i5vfavjhnkk4j3bnii0gpf8di14rlbpq070hd5rs"))))
(build-system python-build-system)
(build-system scons-build-system)
(native-inputs
`(("boost" ,boost)
("gettext" ,gnu-gettext)
("pkg-config" ,pkg-config)
("scons" ,scons)))
("pkg-config" ,pkg-config)))
(inputs
`(("expat" ,expat)
("gtk2" ,gtk+-2)
("lua" ,lua-5.2)))
(arguments
`(#:tests? #f
#:scons ,scons-python2
#:scons-flags (list (string-append "DESTDIR=" %output))
#: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)))))))))
#t)))))
(home-page "http://www.gpick.org/")
(synopsis "Color picker")
(description "Gpick is an advanced color picker and palette editing tool.")

View File

@ -153,14 +153,14 @@ SILC and ICB protocols via plugins.")
(define-public weechat
(package
(name "weechat")
(version "1.9.1")
(version "2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://weechat.org/files/src/weechat-"
version ".tar.xz"))
(sha256
(base32
"1z92hprvgp128svfbr25x8j9kd114j9929bzbqasrcd92v31z6f2"))
"1ix2izrlr5jx5vl49kz9jbib7cq9mr6i7iyxkcz6xjfrryx2s5x9"))
(patches (search-patches "weechat-python.patch"))))
(build-system cmake-build-system)
(native-inputs `(("gettext" ,gettext-minimal)
@ -297,14 +297,14 @@ using a mouse. It is customizable and extensible with plugins and scripts.")
(define-public limnoria
(package
(name "limnoria")
(version "2017.08.18")
(version "2017.10.01")
(source
(origin
(method url-fetch)
(uri (pypi-uri "limnoria" version))
(sha256
(base32
"1hij444l45mjli8i67iyd3syf263ijj1l0cm3irqjjxv5r3f9zjj"))))
"1hd8h257x7a0s4rvb4aqvfi77qfcyv6jaz70nndg7y6p4yhvjmy6"))))
(build-system python-build-system)
(inputs
`(("python-pytz" ,python-pytz)

View File

@ -5,6 +5,8 @@
;;; Copyright © 2017 Carlo Zancanaro <carlo@zancanaro.id.au>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2016, 2017 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1752,6 +1754,70 @@ IcedTea build harness.")
(native-inputs
`(("jdk" ,icedtea-7 "jdk")))))
(define-public ant-apache-bcel
(package
(inherit ant/java8)
(name "ant-apache-bcel")
(arguments
(substitute-keyword-arguments (package-arguments ant/java8)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'link-bcel
(lambda* (#:key inputs #:allow-other-keys)
(for-each (lambda (file)
(symlink file
(string-append "lib/optional/"
(basename file))))
(find-files (assoc-ref inputs "java-commons-bcel")
"\\.jar$"))
#t))
(add-after 'build 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/java"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib")))
(mkdir-p share)
(install-file (string-append lib "/ant-apache-bcel.jar") share)
(delete-file-recursively bin)
(delete-file-recursively lib)
#t)))))))
(inputs
`(("java-commons-bcel" ,java-commons-bcel)
,@(package-inputs ant/java8)))))
(define-public ant-junit
(package
(inherit ant/java8)
(name "ant-junit")
(arguments
(substitute-keyword-arguments (package-arguments ant/java8)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'link-junit
(lambda* (#:key inputs #:allow-other-keys)
(for-each (lambda (file)
(symlink file
(string-append "lib/optional/"
(basename file))))
(find-files (assoc-ref inputs "java-junit")
"\\.jar$"))
#t))
(add-after 'build 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share/java"))
(bin (string-append out "/bin"))
(lib (string-append out "/lib")))
(mkdir-p share)
(install-file (string-append lib "/ant-junit.jar") share)
(delete-file-recursively bin)
(delete-file-recursively lib)
#t)))))))
(inputs
`(("java-junit" ,java-junit)
,@(package-inputs ant/java8)))))
(define-public clojure
(let* ((remove-archives '(begin
(for-each delete-file
@ -1893,6 +1959,62 @@ designs.")
license:asl2.0
license:cpl1.0)))))
(define-public javacc
(package
(name "javacc")
(version "7.0.3")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/javacc/javacc/"
"archive/" version ".tar.gz"))
(file-name (string-append "javacc-" version ".tar.gz"))
(sha256
(base32
"111xc9mnmc5a6qz6x3xbhqc07y1lg2b996ggzw0hrblg42zya9xf"))))
(build-system ant-build-system)
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'delete-bundled-libs
(lambda _
(delete-file-recursively "lib") #t))
(replace 'install (install-jars "target")))))
(home-page "https://javacc.org/")
(synopsis "Java parser generator")
(description "Java Compiler Compiler (JavaCC) is the most popular parser
generator for use with Java applications. A parser generator is a tool that
reads a grammar specification and converts it to a Java program that can
recognize matches to the grammar. In addition to the parser generator itself,
JavaCC provides other standard capabilities related to parser generation such
as tree building (via a tool called JJTree included with JavaCC), actions,
debugging, etc.")
(license license:bsd-3)))
(define-public javacc-4
(package (inherit javacc)
(version "4.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/javacc/javacc.git")
(commit "release_41")))
(file-name (string-append "javacc-" version "-checkout"))
(sha256
(base32
"07ysav7j8r1c6h8qxrgqk6lwdp74ly0ad1935lragxml0qqc3ka0"))))
;; Tests fail with
;; /tmp/guix-build-javacc-4.1.drv-0/source/test/javacodeLA/build.xml:60:
;; JAVACODE failed
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'delete-bundled-libs
(lambda _
(delete-file-recursively "lib") #t))
(replace 'install (install-jars "bin/lib")))))))
(define-public java-classpathx-servletapi
(package
(name "java-classpathx-servletapi")
@ -2358,8 +2480,8 @@ these two libraries to vary independently of one another.")
`(("java-junit" ,java-junit)))
(home-page "http://codehaus-plexus.github.io/plexus-classworlds/")
(synopsis "Java class loader framework")
(description "Plexus classworlds replaces the native ClassLoader mechanism
of Java. It is especially usefull for dynamic loading of application
(description "Plexus classworlds replaces the native @code{ClassLoader}
mechanism of Java. It is especially useful for dynamic loading of application
components.")
(license license:asl2.0)))
@ -2396,9 +2518,9 @@ components.")
("junit" ,java-junit)
("guava" ,java-guava)))
(home-page "https://github.com/codehaus-plexus/plexus-containers")
(synopsis "Inversion of controll container")
(synopsis "Inversion-of-control container")
(description "Plexus-default-container is Plexus' inversion-of-control
(IoC) container. It is composed of its public API and its default
(@dfn{IoC}) container. It is composed of its public API and its default
implementation.")
(license license:asl2.0)))
@ -2963,7 +3085,7 @@ available in the Java programming language or Commons Lang.")
(synopsis "Benchmark harness for the JVM")
(description "JMH is a Java harness for building, running, and analysing
nano/micro/milli/macro benchmarks written in Java and other languages
targetting the JVM.")
targeting the JVM.")
;; GPLv2 only
(license license:gpl2)))
@ -6061,7 +6183,7 @@ the system under test at the same time.")
(define-public java-fasterxml-jackson-annotations
(package
(name "java-fasterxml-jackson-annotations")
(version "2.9.1")
(version "2.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/FasterXML/"
@ -6069,7 +6191,7 @@ the system under test at the same time.")
"jackson-annotations-" version ".tar.gz"))
(sha256
(base32
"005ksgqx2ds3zdmlvbcmmz82y28b1mx0i9bpvprim1jaddbba0bd"))))
"0b4wdxjxfbl3gkilylfdbl7fzimfpyih676jiwdf19i4056j8lqw"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jackson-annotations.jar"
@ -6087,7 +6209,7 @@ not included are ones that require dependency to the Databind package.")
(define-public java-fasterxml-jackson-core
(package
(name "java-fasterxml-jackson-core")
(version "2.9.1")
(version "2.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/FasterXML/"
@ -6095,7 +6217,7 @@ not included are ones that require dependency to the Databind package.")
"jackson-core-" version ".tar.gz"))
(sha256
(base32
"1sdfp74zvlh4xr5h5bj87yjlp6kny3i8ai9m0q3xs7f8hvmxpx09"))))
"0q2d6qnylyxj5jh0sam1b095b5486f7ipzhxgwcgbm254ls7fqc1"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jackson-core.jar"
@ -6144,7 +6266,7 @@ not included are ones that require dependency to the Databind package.")
(define-public java-fasterxml-jackson-databind
(package
(name "java-fasterxml-jackson-databind")
(version "2.9.1")
(version "2.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/FasterXML/"
@ -6152,7 +6274,7 @@ not included are ones that require dependency to the Databind package.")
"jackson-databind-" version ".tar.gz"))
(sha256
(base32
"02xrbj6g7pzybq8q33xmpf7cxfapk6z6lgxvig7d38fijz400lji"))))
"1d5ns8ypqhdy8d94i8q560ip9kka6q8lhnk6q7nfh2g9mr22cc4w"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jackson-databind.jar"
@ -6187,7 +6309,7 @@ configuration.")
(define-public java-fasterxml-jackson-modules-base-jaxb
(package
(name "java-fasterxml-jackson-modules-base-jaxb")
(version "2.9.1")
(version "2.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/FasterXML/"
@ -6195,7 +6317,7 @@ configuration.")
"jackson-modules-base-" version ".tar.gz"))
(sha256
(base32
"0bj2pzvycnj3ysbcfa6xl38dmvnp01mnjfcb9jyhv503fch2iv44"))))
"0kc19n5a188g4vpyay44xfb7qcabcbfnwzhx1g84lg0sac8lf0ng"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jackson-modules-base-jaxb.jar"
@ -6257,7 +6379,7 @@ configuration.")
(define-public java-fasterxml-jackson-dataformat-yaml
(package
(name "java-fasterxml-jackson-dataformat-yaml")
(version "2.9.1")
(version "2.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/FasterXML/"
@ -6265,7 +6387,7 @@ configuration.")
"jackson-dataformats-text-" version ".tar.gz"))
(sha256
(base32
"140fwcafv05zbh2ppa6z533dzmfcvzbdxf0dbpbyzqvd84v2vhl2"))))
"1x7c7v201jpb8ynjsmmq7jj7hyqzzp39jvpr053ggdndm022yzc7"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jackson-dataformat-yaml.jar"
@ -6366,7 +6488,7 @@ interface and high-performance Typed Access API.")
(define-public java-fasterxml-jackson-dataformat-xml
(package
(name "java-fasterxml-jackson-dataformat-xml")
(version "2.9.1")
(version "2.9.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/FasterXML/"
@ -6374,7 +6496,7 @@ interface and high-performance Typed Access API.")
"jackson-dataformat-xml-" version ".tar.gz"))
(sha256
(base32
"0x3m9n4kwclcyvxhxjx654qpjza4crphml1q2392qpnbfydx6lnh"))))
"1j1qanvcdh6afagr67zqrlypjkf0n6wr1qzpbvkw79lii72j6pbr"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jackson-dataformat-xml.jar"
@ -6459,6 +6581,62 @@ provides control over value quantization behavior across the value range and
the subsequent value resolution at any given level.")
(license license:public-domain)))
(define-public java-cofoja
(package
(name "java-cofoja")
(version "1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/nhatminhle/cofoja.git")
(commit (string-append "v" version))))
(file-name (string-append "java-cofoja-" version "-checkout"))
(sha256
(base32
"0p7sz8y5xgpi5rx1qwn6587fkd52qr3ha3ybh14gqcyxhikl525w"))))
(build-system ant-build-system)
(arguments
`(#:build-target "dist"
#:test-target "test"
#:jdk ,icedtea-8
#:make-flags
(list "-Ddist.dir=dist")
#:modules ((guix build ant-build-system)
(guix build java-utils)
(guix build utils)
(srfi srfi-1)
(ice-9 match))
#:phases
(modify-phases %standard-phases
;; The bulid system ignores the class path the ant-build-system sets
;; up and instead expects to find all dependencies in the "lib"
;; directory.
(add-after 'unpack 'create-libdir
(lambda* (#:key inputs #:allow-other-keys)
(mkdir-p "lib")
(for-each
(lambda (file)
(let ((target (string-append "lib/" (basename file))))
(unless (file-exists? target)
(symlink file target))))
(append-map (match-lambda
((label . dir)
(find-files dir "\\.jar$")))
inputs))
#t))
(replace 'install (install-jars "dist")))))
(inputs
`(("java-asm" ,java-asm)))
(native-inputs
`(("java-junit" ,java-junit)))
(home-page "https://github.com/nhatminhle/cofoja")
(synopsis "Contracts for Java")
(description "Contracts for Java, or Cofoja for short, is a contract
programming framework and test tool for Java, which uses annotation processing
and bytecode instrumentation to provide run-time checking. (In particular,
this is not a static analysis tool.)")
(license license:lgpl3+)))
(define-public java-aopalliance
(package
(name "java-aopalliance")
@ -6935,6 +7113,63 @@ In addition to the expression language, MVEL serves as a templating language for
configuration and string construction.")
(license license:asl2.0)))
(define-public java-commons-jexl-2
(package
(name "java-commons-jexl")
(version "2.1.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/commons/jexl/source/"
"commons-jexl-" version "-src.tar.gz"))
(sha256
(base32
"1ai7632bwwaxglb0nbpblpr2jw5g20afrsaq372ipkphi3ncy1jz"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "commons-jexl-2.jar"
#:jdk ,icedtea-8
#:source-dir "src/main/java"
#:phases
(modify-phases %standard-phases
(add-before 'check 'disable-broken-tests
(lambda* (#:key inputs #:allow-other-keys)
(with-directory-excursion "src/test/java/org/apache/commons/jexl2/"
(substitute* "ArithmeticTest.java"
(("asserter.assertExpression\\(\"3 / 0\"") "//")
(("asserter.assertExpression\\(\"imanull") "//"))
;; This test fails with "ambiguous method invocation"
(delete-file "CacheTest.java")
;; This test doesn't have access to the temp directory
(substitute* "ClassCreatorTest.java"
(("java.io.tmpdir") "user.dir"))
;; This test fails in trying to detect whether it can run.
(substitute* "ClassCreator.java"
(("boolean canRun =.*") "boolean canRun = false;\n"))
;; ...and these tests depend on it.
(delete-file "scripting/JexlScriptEngineOptionalTest.java")
(delete-file "scripting/JexlScriptEngineTest.java"))
#t))
(add-before 'build 'run-javacc
(lambda _
(with-directory-excursion "src/main/java/org/apache/commons/jexl2/parser/"
(and (zero? (system* "java" "jjtree" "Parser.jjt"))
(zero? (system* "java" "javacc" "Parser.jj")))))))))
(inputs
`(("java-commons-logging-minimal" ,java-commons-logging-minimal)))
(native-inputs
`(("java-junit" ,java-junit)
("java-hamcrest-core" ,java-hamcrest-core)
("javacc" ,javacc-4)))
(home-page "https://commons.apache.org/proper/commons-jexl/")
(synopsis "Java Expression Language ")
(description "JEXL is a library intended to facilitate the implementation
of dynamic and scripting features in applications and frameworks written in
Java. JEXL implements an Expression Language based on some extensions to the
JSTL Expression Language supporting most of the constructs seen in
shell-script or ECMAScript. Its goal is to expose scripting features usable
by technical operatives or consultants working with enterprise platforms.")
(license license:asl2.0)))
(define-public java-lz4
(package
(name "java-lz4")
@ -7066,6 +7301,41 @@ for high performance inter-thread communication that avoids the need for
message queues or resource locking.")
(license license:asl2.0)))
(define-public java-commons-bcel
(package
(name "java-commons-bcel")
(version "6.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://apache/commons/bcel/source/bcel-"
version "-src.tar.gz"))
(sha256
(base32
"0j3x1rxd673k07psclk8k13rqh0x0mf2yy5qiwkiw4z3afa568jy"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "bcel.jar"
#:jdk ,icedtea-8
#:source-dir "src/main/java"
#:test-dir "src/test/java"
;; FIXME: Tests require the unpackaged jna.
#:tests? #f))
(home-page "https://commons.apache.org/proper/commons-bcel/")
(synopsis "Byte code engineering library")
(description "The Byte Code Engineering Library (Apache Commons BCEL) is
intended to give users a convenient way to analyze, create, and
manipulate (binary) Java class files. Classes are represented by objects
which contain all the symbolic information of the given class: methods, fields
and byte code instructions, in particular.
Such objects can be read from an existing file, be transformed by a
program (e.g. a class loader at run-time) and written to a file again. An
even more interesting application is the creation of classes from scratch at
run-time. The @dfn{Byte Code Engineering Library} (BCEL) may be also useful
if you want to learn about the @dfn{Java Virtual Machine} (JVM) and the format
of Java @code{.class} files.")
(license license:asl2.0)))
(define-public java-xerial-core
(package
(name "java-xerial-core")
@ -7094,9 +7364,9 @@ message queues or resource locking.")
`(("junit" ,java-junit)
("hamcrest" ,java-hamcrest-core)))
(home-page "https://github.com/xerial/xerial-java")
(synopsis "Data managment libraries for Java")
(synopsis "Data management libraries for Java")
(description "Xerial is a set of data management libraries for the Java
programming language. The ulitimate goal of the Xerial project is to manage
programming language. The ultimate goal of the Xerial project is to manage
everything as database, including class objects, text format data, data
streams, etc.")
(license license:asl2.0)))

View File

@ -241,8 +241,8 @@ generator library for C++.")
(define-public kodi
;; We package the git version because the current released
;; version was cut while the cmake transition was in turmoil.
(let ((commit "f22d62dc3f6e811a538dda9c434e1804abb8b95f")
(revision "6"))
(let ((commit "67fd70f01a363002881f3519b50765b756716e3b")
(revision "7"))
(package
(name "kodi")
(version (string-append "18.0_alpha-" revision "-" (string-take commit 7)))
@ -254,7 +254,7 @@ generator library for C++.")
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0x8fqvid8b8qra327z615r2ygfkdca2p7wccdj5nfb4i5gy0sr09"))
"12975n4r982kmxc0r9w24n3lrj7aj3cs4fjkdjnn0r9jbnvfxhs3"))
(snippet
'(begin
(use-modules (guix build utils))

View File

@ -139,8 +139,8 @@ sounds for various system events.")
(source
(origin
(method url-fetch)
(uri (string-append "https://dist.ng0.infotropique.org/releases/"
"pycanberra/pycanberra-" version ".tar.xz"))
(uri (string-append "https://d.n0.is/releases/pycanberra/"
"pycanberra-" version ".tar.xz"))
(sha256
(base32
"16jjf8fcgaprmz6jacsxrh17l1ad891fns38bxv49lg3s3mn1nj2"))))
@ -152,5 +152,5 @@ sounds for various system events.")
(synopsis "Ctypes wrapper for the libcanberra API")
(description
"Pycanberra is a basic Python wrapper for libcanberra.")
(home-page "https://git.ng0.infotropique.org/pycanberra/")
(home-page "https://c.n0.is/pycanberra/")
(license lgpl2.1+)))

View File

@ -131,7 +131,7 @@
(define-public (system->defconfig system)
"Some systems (notably powerpc-linux) require a special target for kernel
defconfig. Return the appropiate make target if applicable, otherwise return
defconfig. Return the appropriate make target if applicable, otherwise return
\"defconfig\"."
(cond ((string-prefix? "powerpc-" system) "pmac32_defconfig")
((string-prefix? "powerpc64le-" system) "ppc64_defconfig")
@ -369,8 +369,8 @@ It has been modified to remove all non-free binary blobs.")
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux"))
(define %linux-libre-version "4.14")
(define %linux-libre-hash "0y42cn0lq08njvsfg3b2xyziaga268aj2lx034k40wilha6hkw3h")
(define %linux-libre-version "4.14.3")
(define %linux-libre-hash "1hs94lj2bryci4m75bfrhhj9aqrjpq6a57nhxic63zj6xjhi53l7")
;; linux-libre configuration for armhf-linux is derived from Debian armmp. It
;; supports qemu "virt" machine and possibly a large number of ARM boards.
@ -383,14 +383,14 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.62"
"00brapsvchkv2q4p6spvjk92524mfcsj5aq5jcjvqhx50fn71y1w"
(make-linux-libre "4.9.66"
"0k29i5wnljck4nwkzcjxjfzrddwifj2pb6zxqh7f522j9cw2g4zd"
%intel-compatible-systems
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.98"
"1n34bwz6c122byjyfz6z916v7lx4pgsys0a2kq2zmxcfs9kv60xs"
(make-linux-libre "4.4.103"
"1x2pyrjz8myja77nz0zg2k74yrcbiq7g1caqjnafbgc8qwh31fp8"
%intel-compatible-systems
#:configuration-file kernel-config))
@ -3083,7 +3083,7 @@ and copy/paste text in the console and in xterm.")
(define-public btrfs-progs
(package
(name "btrfs-progs")
(version "4.13.3")
(version "4.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/linux/kernel/"
@ -3091,7 +3091,7 @@ and copy/paste text in the console and in xterm.")
"btrfs-progs-v" version ".tar.xz"))
(sha256
(base32
"10yp0b4pwrw5mcd81yn3d0d87fnqpp4si5d25dfhl6n2640dnnw0"))))
"1bwirg6hz6gyfj5r3xkj4lfwadvl9pxlccf916fsmdn27fy5q289"))))
(build-system gnu-build-system)
(outputs '("out"
"static")) ; static versions of the binaries in "out"
@ -4273,7 +4273,7 @@ the MTP device as a filesystem.")
(define-public procenv
(package
(name "procenv")
(version "0.49")
(version "0.50")
(source
(origin
(method url-fetch)
@ -4281,7 +4281,7 @@ the MTP device as a filesystem.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0brzf6185hb76imw107cl21c8lzwiywkxi3jknihrk86bvvicd0d"))))
(base32 "0dvscyf47i3j5ay0amncqmqw9kd916689r2pqdvpnsrhp6j46zp1"))))
(build-system gnu-build-system)
(arguments `(#:configure-flags '("--disable-silent-rules")))
(inputs `(("expat" ,expat) ("libcap" ,libcap) ("check" ,check)

View File

@ -76,81 +76,102 @@
,lisp))))
(define-public gcl
(package
(name "gcl")
(version "2.6.12")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/" name "/" name "-" version ".tar.gz"))
(sha256
(base32 "1s4hs2qbjqmn9h88l4xvsifq5c3dlc5s74lyb61rdi5grhdlkf4f"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; The build system seems not to be thread safe.
#:tests? #f ; There does not seem to be make check or anything similar.
#:configure-flags '("--enable-ansi") ; required for use by the maxima package
#:make-flags (list
"CFLAGS=-fgnu89-inline" ; removes inline function warnings
(string-append "GCC=" (assoc-ref %build-inputs "gcc")
"/bin/gcc"))
#:phases (modify-phases %standard-phases
(add-before 'configure 'pre-conf
(lambda _
(substitute*
(append
'("pcl/impl/kcl/makefile.akcl"
"add-defs"
"unixport/makefile.dos"
"add-defs.bat"
"gcl-tk/makefile.prev"
"add-defs1")
(find-files "h" "\\.defs"))
(("SHELL=/bin/bash")
(string-append "SHELL=" (which "bash")))
(("SHELL=/bin/sh")
(string-append "SHELL=" (which "sh"))))
(substitute* "h/linux.defs"
(("#CC") "CC")
(("-fwritable-strings") "")
(("-Werror") ""))
#t))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((gcl (assoc-ref outputs "out"))
(input-path (lambda (lib path)
(string-append
(assoc-ref inputs lib) path)))
(binaries '("binutils")))
;; GCC and the GNU binutils are necessary for GCL to be
;; able to compile Lisp functions and programs (this is
;; a standard feature in Common Lisp). While the
;; the location of GCC is specified in the make-flags,
;; the GNU binutils must be available in GCL's $PATH.
(wrap-program (string-append gcl "/bin/gcl")
`("PATH" prefix ,(map (lambda (binary)
(input-path binary "/bin"))
binaries))))
#t))
;; drop strip phase to make maxima build, see
;; https://www.ma.utexas.edu/pipermail/maxima/2008/009769.html
(delete 'strip))))
(inputs
`(("gmp" ,gmp)
("readline" ,readline)))
(native-inputs
`(("gcc" ,gcc-4.9)
("m4" ,m4)
("texinfo" ,texinfo)
("texlive" ,texlive)))
(home-page "https://www.gnu.org/software/gcl/")
(synopsis "A Common Lisp implementation")
(description "GCL is an implementation of the Common Lisp language. It
(let ((commit "5956140b1083e2302a59d7ce2054b0b7c2cbb417")
(revision "1")) ;Guix package revision
(package
(name "gcl")
(version (string-append "2.6.12-" revision "."
(string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/r/gcl.git")
(commit commit)))
(file-name (string-append "gcl-" version "-checkout"))
(sha256
(base32 "0mwclf2879mh3d9xqkqhghf58lwy7srsnsq9x0f1cc6j302sy4hb"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-build? #f ; The build system seems not to be thread safe.
#:tests? #f ; There does not seem to be make check or anything similar.
#:configure-flags '("--enable-ansi") ; required for use by the maxima package
#:make-flags (list
(string-append "GCL_CC=" (assoc-ref %build-inputs "gcc")
"/bin/gcc")
(string-append "CC=" (assoc-ref %build-inputs "gcc")
"/bin/gcc"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'pre-conf
(lambda* (#:key inputs #:allow-other-keys)
(chdir "gcl")
(substitute*
(append
'("pcl/impl/kcl/makefile.akcl"
"add-defs"
"unixport/makefile.dos"
"add-defs.bat"
"gcl-tk/makefile.prev"
"add-defs1")
(find-files "h" "\\.defs"))
(("SHELL=/bin/bash")
(string-append "SHELL=" (which "bash")))
(("SHELL=/bin/sh")
(string-append "SHELL=" (which "sh"))))
(substitute* "h/linux.defs"
(("#CC") "CC")
(("-fwritable-strings") "")
(("-Werror") ""))
(substitute* "lsp/gcl_top.lsp"
(("\"cc\"")
(string-append "\"" (assoc-ref %build-inputs "gcc")
"/bin/gcc\""))
(("\\(or \\(get-path \\*cc\\*\\) \\*cc\\*\\)") "*cc*")
(("\"ld\"")
(string-append "\"" (assoc-ref %build-inputs "binutils")
"/bin/ld\""))
(("\\(or \\(get-path \\*ld\\*\\) \\*ld\\*\\)") "*ld*")
(("\\(get-path \"objdump --source \"\\)")
(string-append "\"" (assoc-ref %build-inputs "binutils")
"/bin/objdump --source \"")))
#t))
(add-after 'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((gcl (assoc-ref outputs "out"))
(input-path (lambda (lib path)
(string-append
(assoc-ref inputs lib) path)))
(binaries '("binutils")))
;; GCC and the GNU binutils are necessary for GCL to be
;; able to compile Lisp functions and programs (this is
;; a standard feature in Common Lisp). While the
;; the location of GCC is specified in the make-flags,
;; the GNU binutils must be available in GCL's $PATH.
(wrap-program (string-append gcl "/bin/gcl")
`("PATH" prefix ,(map (lambda (binary)
(input-path binary "/bin"))
binaries))))
#t))
;; drop strip phase to make maxima build, see
;; https://www.ma.utexas.edu/pipermail/maxima/2008/009769.html
(delete 'strip))))
(inputs
`(("gmp" ,gmp)
("readline" ,readline)))
(native-inputs
`(("gcc" ,gcc-4.9)
("m4" ,m4)
("texinfo" ,texinfo)
("texlive" ,texlive)))
(home-page "https://www.gnu.org/software/gcl/")
(synopsis "A Common Lisp implementation")
(description "GCL is an implementation of the Common Lisp language. It
features the ability to compile to native object code and to load native
object code modules directly into its lisp core. It also features a
stratified garbage collection strategy, a source-level debugger and a built-in
interface to the Tk widget system.")
(license license:lgpl2.0+)))
(license license:lgpl2.0+))))
(define-public ecl
(package

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
;;; Copyright © 2016 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
@ -356,9 +356,9 @@ based libraries. It allows using GObject-based libraries directly from Lua.
Notable examples are GTK+, GStreamer and Webkit.")
(license license:expat)))
(define-public lua-lpeg
(define (make-lua-lpeg name lua)
(package
(name "lua-lpeg")
(name name)
(version "1.0.1")
(source (origin
(method url-fetch)
@ -390,34 +390,16 @@ Grammars (PEGs).")
(home-page "http://www.inf.puc-rio.br/~roberto/lpeg")
(license license:expat)))
(define-public lua-lpeg
(make-lua-lpeg "lua-lpeg" lua))
(define-public lua5.2-lpeg
(package (inherit lua-lpeg)
(name "lua5.2-lpeg")
;; XXX: The arguments field is almost an exact copy of the field in
;; "lua-lpeg", except for the version string, which was derived from "lua"
;; and now is taken from "lua-5.2". See this discussion for context:
;; http://lists.gnu.org/archive/html/guix-devel/2017-01/msg02048.html
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'configure)
;; `make install` isn't available, so we have to do it manually
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(lua-version ,(version-major+minor (package-version lua-5.2))))
(install-file "lpeg.so"
(string-append out "/lib/lua/" lua-version))
(install-file "re.lua"
(string-append out "/share/lua/" lua-version))
#t))))
#:test-target "test"))
(inputs `(("lua", lua-5.2)))))
(make-lua-lpeg "lua5.2-lpeg" lua-5.2))
;; Lua 5.3 is not supported.
(define-public lua5.2-bitop
(define (make-lua-bitop name lua)
(package
(name "lua5.2-bitop")
(name name)
(version "1.0.2")
(source (origin
(method url-fetch)
@ -434,15 +416,21 @@ Grammars (PEGs).")
(string-append "INSTALLPATH=printf "
(assoc-ref %outputs "out")
"/lib/lua/"
,(version-major+minor (package-version lua-5.2))
,(version-major+minor (package-version lua))
"/bit/bit.so"))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(inputs `(("lua", lua-5.2)))
(inputs `(("lua", lua)))
(home-page "http://bitop.luajit.org/index.html")
(synopsis "Bitwise operations on numbers for Lua")
(description
"Lua BitOp is a C extension module for Lua which adds bitwise operations
on numbers.")
(license license:expat)))
(define-public lua5.2-bitop
(make-lua-bitop "lua5.2-bitop" lua-5.2))
(define-public lua5.1-bitop
(make-lua-bitop "lua5.1-bitop" lua-5.1))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -214,18 +215,20 @@ speed up the access to freedesktop.org defined application menus.")
(uri (string-append "mirror://sourceforge/" name "/"
"PCManFM%20%2B%20Libfm%20%28tarball%20release"
"%29/PCManFM/" name "-" version ".tar.xz"))
(patches (search-patches "pcmanfm-CVE-2017-8934.patch"))
(sha256
(base32
"0rxdh0dfzc84l85c54blq42gczygq8adhr3l9hqzy1dp530cm1hc"))))
(build-system gnu-build-system)
;; (#:configure-flags '("--sysconfdir=/etc")) suggested in README.
(inputs `(("gtk+" ,gtk+-2)
;; TODO: add ("gvfs" ,gvfs).
("gvfs" ,gvfs) ;for trash and mount support
("libfm" ,libfm)
("libx11" ,libx11)))
(native-inputs `(("intltool" ,intltool)
("libtool" ,libtool)
("pkg-config" ,pkg-config)))
(propagated-inputs
`(("lxmenu-data" ,lxmenu-data))) ;for "Open With..." application list
(synopsis "LXDE file manager")
(description "PCMan is a lightweight GTK+ based file manager, compliant
with freedesktop.org standard.")

View File

@ -611,7 +611,7 @@ computing environments.")
(define-public python-scikit-learn
(package
(name "python-scikit-learn")
(version "0.19.0")
(version "0.19.1")
(source
(origin
(method url-fetch)
@ -621,7 +621,7 @@ computing environments.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0g7q4ri75mj93wpa9bp83a3jmrf3dm5va9h7k4zkbcxr6bgqka15"))))
"18n8775kyfwbvcjjjzda9c5sqy4737c0hrmj6qj1ps2jmlqzair9"))))
(build-system python-build-system)
(arguments
`(#:phases

View File

@ -1034,7 +1034,7 @@ delivery.")
(define-public exim
(package
(name "exim")
(version "4.89")
(version "4.89.1")
(source
(origin
(method url-fetch)
@ -1042,10 +1042,9 @@ delivery.")
version ".tar.bz2")
(string-append "ftp://ftp.exim.org/pub/exim/exim4/old/exim-"
version ".tar.bz2")))
(patches (search-patches "exim-CVE-2017-1000369.patch"))
(sha256
(base32
"1c0syp7yxngmq7y8vqsrvijinzin5m941vn0ljihdfld7kh2wbwi"))))
"133sjkcm9wlhpcxflr5v865varc1995bqa1y3vjs1w6zc34kp18w"))))
(build-system gnu-build-system)
(inputs
`(("bdb" ,bdb)
@ -1611,7 +1610,8 @@ deliver it in various ways.")
;; getline() in formail.c. The patch is provided by Debian as
;; patch 24.
(patches (search-patches "procmail-ambiguous-getline-debian.patch"
"procmail-CVE-2014-3618.patch"))))
"procmail-CVE-2014-3618.patch"
"procmail-CVE-2017-16844.patch"))))
(arguments
`(#:phases (modify-phases %standard-phases
(replace 'configure
@ -2107,9 +2107,9 @@ installation on systems where resources are limited. Its features include:
@end enumerate\n")
(license license:expat)))
(define-public python-django-mailman3
(define-public python2-django-mailman3
(package
(name "python-django-mailman3")
(name "python2-django-mailman3")
(version "1.0.1")
(source
(origin
@ -2119,16 +2119,28 @@ installation on systems where resources are limited. Its features include:
(base32
"1adxyh8knw9knjlh73xq0jpn5adml0ck4alsv0swakm95wfyx46z"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(zero?
(system*
"django-admin"
"test"
"--settings=django_mailman3.tests.settings_test"
"django_mailman3")))))
#:python ,python-2))
(inputs
`(("python-django" ,python-django)))
`(("python2-django" ,python2-django)))
(propagated-inputs
`(("python-requests" ,python-requests)
("python-requests-oauthlib" ,python-requests-oauthlib)
("python-openid" ,python-openid)
("python-mailmanclient" ,python-mailmanclient)
("python-django-allauth" ,python-django-allauth)
("python-django-gravatar2" ,python-django-gravatar2)
("python-pytz" ,python-pytz)))
`(("python2-requests" ,python2-requests)
("python2-requests-oauthlib" ,python2-requests-oauthlib)
("python2-openid" ,python2-openid)
("python2-mailmanclient" ,python2-mailmanclient)
("python2-django-allauth" ,python2-django-allauth)
("python2-django-gravatar2" ,python2-django-gravatar2)
("python2-pytz" ,python2-pytz)))
(home-page "https://gitlab.com/mailman/django-mailman3")
(synopsis "Django library for Mailman UIs")
(description
@ -2136,15 +2148,6 @@ installation on systems where resources are limited. Its features include:
interacting with Mailman.")
(license gpl3+)))
(define-public python2-django-mailman3
(let ((base (package-with-python2
python-django-mailman3)))
(package
(inherit base)
(propagated-inputs
`(("python2-openid" ,python2-openid)
,@(package-propagated-inputs base))))))
(define-public postorius
(package
(name "postorius")

View File

@ -1,9 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2014, 2015, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 David Thompson <dthompson2@worcester.edu>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -67,7 +68,7 @@ a flexible and convenient way.")
"0gqgs4zc3r87apns0k5qp689p2ylxx2596s2mkmkxjjay99brv88"))))
(build-system gnu-build-system)
(arguments
'(#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'patch-source-shebangs 'patch-test-shebangs
(lambda* (#:key outputs #:allow-other-keys)
@ -87,6 +88,7 @@ a flexible and convenient way.")
#t)))
#:configure-flags
(let ((groff (assoc-ref %build-inputs "groff"))
(groff-minimal (assoc-ref %build-inputs "groff-minimal"))
(less (assoc-ref %build-inputs "less"))
(gzip (assoc-ref %build-inputs "gzip"))
(bzip2 (assoc-ref %build-inputs "bzip2"))
@ -109,17 +111,24 @@ a flexible and convenient way.")
(string-append "--with-systemdtmpfilesdir="
%output "/lib/tmpfiles.d"))
(map (lambda (prog)
(string-append "--with-" prog "=" groff "/bin/" prog))
(string-append "--with-" prog "=" groff-minimal
"/bin/" prog))
'("nroff" "eqn" "neqn" "tbl" "refer" "pic"))))
;; At run time we should refer to GROFF-MINIMAL, not GROFF (the latter
;; pulls in Perl.)
#:disallowed-references (,groff)
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))))
(native-inputs
`(("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)
("groff" ,groff))) ;needed at build time (troff, grops, soelim, etc.)
(inputs
`(("flex" ,flex)
("gdbm" ,gdbm)
("groff" ,groff)
("groff-minimal" ,groff-minimal)
("less" ,less)
("libpipeline" ,libpipeline)
("util-linux" ,util-linux)))
@ -138,7 +147,7 @@ the traditional flat-text whatis databases.")
(define-public man-pages
(package
(name "man-pages")
(version "4.13")
(version "4.14")
(source (origin
(method url-fetch)
(uri
@ -151,7 +160,7 @@ the traditional flat-text whatis databases.")
"man-pages-" version ".tar.xz")))
(sha256
(base32
"1gri0rm9i3a6w5dvsmwawhwzywl5x80dwq05d2v8l92knv2hbh6m"))))
"0wf9ymqxk1k5xwcl3n919p66a1aayif3x4cahj4w04y3k1wbhlih"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases (delete 'configure))

View File

@ -161,7 +161,7 @@ convert it to structurally valid XHTML (or HTML).")
(base32
"1xx7v3wnla7m6wa3h33whxw3vvincaicg4yra1b9wbzf2aix9rnw"))
(patches
(search-patches "perl-text-markdown-discount-use-system-markdown.patch"))))
(search-patches "perl-text-markdown-discount-unbundle.patch"))))
(build-system perl-build-system)
(arguments
`(#:phases

View File

@ -20,6 +20,7 @@
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -152,14 +153,14 @@ interactive dialogs to guide them.")
(define-public coda
(package
(name "coda")
(version "2.18.2")
(version "2.18.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/stcorp/coda/releases/download/"
version "/coda-" version ".tar.gz"))
(sha256
(base32 "01fnqcby9jijvf3jxr1fk4bny059lvvq5wbqm7ns60ilykfdnm6a"))
(base32 "1zlzgcvwmmjm8mw8w4rg2rqy0pjilz7kyyxm0y4p8cbljbbjxxz0"))
(patches (search-patches "coda-use-system-libs.patch"))
(modules '((guix build utils)))
(snippet
@ -1893,12 +1894,12 @@ programming problems.")
(define-public r-pracma
(package
(name "r-pracma")
(version "2.0.7")
(version "2.1.1")
(source (origin
(method url-fetch)
(uri (cran-uri "pracma" version))
(sha256
(base32 "0hxa0rbbp54j0c05qj7vfwhqfdmiz5ax8vhqxd09g33x7c0hqbc5"))))
(base32 "1mylrrkyycaw9m01mmg6xkn5wgdlabs5l0qyws60r0n2ycblp897"))))
(build-system r-build-system)
(propagated-inputs
`(("r-quadprog" ,r-quadprog)))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -106,7 +107,7 @@ Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in
(define-public mescc-tools
(package
(name "mescc-tools")
(version "0.2")
(version "0.3")
(source (origin
(method url-fetch)
(uri (string-append
@ -116,9 +117,8 @@ Guile-] Scheme interpreter prototype in C and a Nyacc-based C compiler in
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0gmyczh88xcsmrmxqksbpaqidchj5hfqxqk7apx40k9r3vav6mnz"))))
"04lvyyp7isamgddrnfpi92lgqdflzdzx5kc2x8fxmgsjisy0dgr4"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:test-target "test"

View File

@ -550,7 +550,8 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
(native-inputs
`(("intltool" ,intltool)))
(inputs
`(("python2-nbxmpp" ,python2-nbxmpp)
`(("python2-axolotl" ,python2-axolotl)
("python2-nbxmpp" ,python2-nbxmpp)
("python2-pyopenssl" ,python2-pyopenssl)
("python2-gnupg" ,python2-gnupg)
("python2-pygtk" ,python2-pygtk)
@ -634,14 +635,14 @@ a graphical desktop environment like GNOME.")
(define-public prosody
(package
(name "prosody")
(version "0.9.12")
(version "0.10.0")
(source (origin
(method url-fetch)
(uri (string-append "https://prosody.im/downloads/source/"
"prosody-" version ".tar.gz"))
(sha256
(base32
"139yxqpinajl32ryrybvilh54ddb1q6s0ajjhlcs4a0rnwia6n8s"))))
"1644jy5dk46vahmh6nna36s79k8k668sbi3qamjb4q3c4m3y853l"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
@ -707,7 +708,10 @@ a graphical desktop environment like GNOME.")
(inputs
`(("libidn" ,libidn)
("openssl" ,openssl)
;; Lua 5.1 is still recommended for production usage.
;; See https://prosody.im/doc/packagers.
("lua" ,lua-5.1)
("lua5.1-bitop" ,lua5.1-bitop)
("lua5.1-expat" ,lua5.1-expat)
("lua5.1-socket" ,lua5.1-socket)
("lua5.1-filesystem" ,lua5.1-filesystem)
@ -768,7 +772,7 @@ protocols.")
(define-public c-toxcore
(package
(name "c-toxcore")
(version "0.1.9")
(version "0.1.10")
(source
(origin
(method url-fetch)
@ -777,7 +781,7 @@ protocols.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1y30xc1dzq9knww274d4y0m8gridcf5j851rxdri8j2s64p3qqgk"))))
"1lbvq9pp1ganjk5lql5lzcn8bcmgfi8y026pb2j2nq8yldqrrjby"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -795,7 +799,7 @@ messenger protocol.")
(define-public utox
(package
(name "utox")
(version "0.11.0")
(version "0.16.1")
(source
(origin
(method url-fetch)
@ -804,37 +808,42 @@ messenger protocol.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"15s4iwjk1s0kihjqn0f07c9618clbphpr827mds3xddkiwnjz37v"))))
"14xl72y4w1x2kk0cvkcr9pmywllm0r9w2grjqiknwn95pw6yxz6q"))))
(build-system cmake-build-system)
(arguments
'(#:tests? #f ; No test phase.
#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-freetype-include
(lambda _
(substitute* "CMakeLists.txt"
(("/usr/include/freetype2")
(string-append (assoc-ref %build-inputs "freetype")
"/include/freetype2")))))
(add-before 'install 'patch-cmake-find-utox
(lambda _
(substitute* "../build/cmake_install.cmake"
(("/uTox-0.11.0/utox")
"/build/utox")))))))
(add-before 'build 'patch-absolute-filename-libgtk-3
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "../uTox-0.16.1/src/xlib/gtk.c"
(("libgtk-3.so")
(string-append (assoc-ref inputs "gtk+")
"/lib/libgtk-3.so")))))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(wrap-program (string-append (assoc-ref outputs "out")
"/bin/utox")
;; For GtkFileChooserDialog.
`("GSETTINGS_SCHEMA_DIR" =
(,(string-append (assoc-ref inputs "gtk+")
"/share/glib-2.0/schemas")))))))))
(inputs
;; TODO: Fix the file chooser dialog; which input does it need?
`(("dbus" ,dbus)
("filteraudio" ,filteraudio)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("libsodium" ,libsodium)
("c-toxcore" ,c-toxcore)
("gtk+" ,gtk+)
("libvpx" ,libvpx)
("libx11" ,libx11)
("libxext" ,libxext)
("libxrender" ,libxrender)
("openal" ,openal)
("v4l-utils" ,v4l-utils)))
(native-inputs
`(("check" ,check)
("pkg-config" ,pkg-config)))
(synopsis "Lightweight Tox client")
(description
"Utox is a lightweight Tox client. Tox is a distributed and secure
@ -845,14 +854,14 @@ instant messenger with audio and video chat capabilities.")
(define-public qtox
(package
(name "qtox")
(version "1.12.1")
(version "1.13.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/qTox/qTox/archive/v"
version ".tar.gz"))
(sha256
(base32
"0dwy0abcxzzcybww2xi33cla71a7752cq02qswcks5kbxnf5pck5"))
"0dyplmlqhg4zbg7hdzp3iqppn9xgp7pds5k6w6byjcqhb9zv91ca"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system cmake-build-system)
(arguments
@ -867,6 +876,7 @@ instant messenger with audio and video chat capabilities.")
#t)))))
(inputs
`(("ffmpeg" ,ffmpeg-3.3)
("filteraudio", filteraudio)
("glib" ,glib)
("gtk+" ,gtk+-2)
("libsodium" ,libsodium)

View File

@ -4,6 +4,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -151,18 +152,20 @@ a highly stable and efficient implementation.")
(define-public taglib
(package
(name "taglib")
(version "1.10")
(version "1.11.1")
(source (origin
(method url-fetch)
(uri (string-append "http://taglib.github.io/releases/taglib-"
version ".tar.gz"))
(sha256
(base32
"1alv6vp72p0x9i9yscmz2a71anjwqy53y9pbcbqxvc1c0i82vhr4"))))
"0ssjcdjv4qf9liph5ry1kngam1y7zp8fzr9xv4wzzrma22kabldn"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ;no 'test' target
(arguments
'(#:tests? #f ; Tests are not ran with BUILD_SHARED_LIBS on.
#:configure-flags (list "-DBUILD_SHARED_LIBS=ON")))
(inputs `(("zlib" ,zlib)))
(home-page "http://developer.kde.org/~wheeler/taglib.html")
(home-page "http://taglib.org")
(synopsis "Library to access audio file meta-data")
(description
"TagLib is a C++ library for reading and editing the meta-data of several

View File

@ -12,6 +12,7 @@
;;; Copyright © 2017 Rodger Fox <thylakoid@openmailbox.org>
;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -38,6 +39,7 @@
#:use-module (guix build-system ant)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
#:use-module (guix build-system waf)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
@ -54,8 +56,11 @@
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages crypto)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages emacs)
@ -73,12 +78,14 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages graphics)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages java)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux) ; for alsa-utils
#:use-module (gnu packages lirc)
#:use-module (gnu packages llvm)
@ -91,6 +98,7 @@
#:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio) ;libsndfile
#:use-module (gnu packages python)
#:use-module (gnu packages python-web)
@ -177,6 +185,114 @@ and play MIDI files with a few clicks in a user-friendly interface offering
score, keyboard, guitar, drum and controller views.")
(license license:gpl3+)))
;; We don't use the latest release because it depends on Qt4. Instead we
;; download the sources from the tip of the "qt5" branch.
(define-public clementine
(let ((commit "0a59257dc334b8df60a4d7d90b04f1766747efcf")
(revision "1"))
(package
(name "clementine")
(version (string-append "1.3.1-" revision "." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/clementine-player/Clementine.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0cdcj7di7j9jgzc1ihjna1a5df64f9hnmx7b9kh8rlg76hc0l0hi"))
(modules '((guix build utils)))
(snippet
'(for-each
(lambda (dir)
(delete-file-recursively
(string-append "3rdparty/" dir)))
(list
;; TODO: The following dependencies are still bundled:
;; - "qxt": Appears to be unmaintained upstream.
;; - "qsqlite"
;; - "qtsingleapplication"
;; - "qocoa"
;; - "qtiocompressor"
;; - "gmock": The tests crash when using our googletest
;; package instead of the bundled gmock.
"SPMediaKeyTap"
"fancytabwidget"
"google-breakpad"
"libmygpo-qt"
"libmygpo-qt5"
"libprojectm"
"qtwin"
"sha2" ;; Replaced by openssl.
"taglib"
"tinysvcmdns")))
(patches (search-patches "clementine-use-openssl.patch"))))
(build-system cmake-build-system)
(arguments
'(#:test-target "clementine_test"
#:configure-flags
(let ((crypto (assoc-ref %build-inputs "crypto++")))
(list "-DENABLE_VISUALISATIONS=OFF" ; requires unpackaged "projectm"
"-DCRYPTOPP_FOUND=TRUE"
(string-append "-DCRYPTOPP_INCLUDE_DIRS=" crypto "/include")
(string-append "-DCRYPTOPP_LIBRARY_DIRS=" crypto "/lib")
(string-append "-DCRYPTOPP_LIBRARIES=" crypto "/lib/libcryptopp.a")
"-DUSE_SYSTEM_SHA2=TRUE"))
#:phases
(modify-phases %standard-phases
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gst-plugin-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
(wrap-program (string-append out "/bin/clementine")
`("GST_PLUGIN_SYSTEM_PATH" ":" prefix (,gst-plugin-path)))
#t))))))
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)
("qtlinguist" ,qttools)))
(inputs
`(("boost" ,boost)
("chromaprint" ,chromaprint)
("crypto++" ,crypto++)
("fftw" ,fftw)
("glib" ,glib)
("glu" ,glu)
("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base)
("libcdio" ,libcdio)
("libmygpo-qt" ,libmygpo-qt)
("libechonest" ,libechonest)
;; TODO: Package libgpod.
("libmtp" ,libmtp)
("libxml2" ,libxml2)
("openssl" ,openssl)
("protobuf" ,protobuf)
("pulseaudio" ,pulseaudio)
("qtbase" ,qtbase)
("qtx11extras" ,qtx11extras)
("qtwebkit" ,qtwebkit)
("sqlite" ,sqlite-with-fts3)
("sparsehash" ,sparsehash)
("taglib" ,taglib)))
(home-page "http://clementine-player.org")
(synopsis "Music player and library organizer")
(description "Clementine is a multiplatform music player. It is inspired
by Amarok 1.4, focusing on a fast and easy-to-use interface for searching and
playing your music.")
(license (list
;; clementine and qtiocompressor are under GPLv3.
license:gpl3+
;; gmock is under BSD-3.
license:bsd-3
;; qxt is under CPL1.0.
license:cpl1.0
;; qsqlite and qtsingleapplication are under LGPL2.1+.
license:lgpl2.1+
;; qocoa is under MIT and CC by-sa for the icons.
license:cc-by-sa3.0)))))
(define-public cmus
(package
(name "cmus")
@ -508,19 +624,10 @@ audio and video).")
(sha256
(base32
"0hmcaywnwzjci3pp4xpvbijnnwvibz7gf9xzcdjbdca910y5728j"))))
(build-system gnu-build-system)
(build-system scons-build-system)
(arguments
`(#:tests? #f ;no "check" target
#:phases
;; TODO: Add scons-build-system and use it here.
(modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p out)
(zero? (system* "scons" (string-append "PREFIX=" out))))))
(replace 'install (lambda _ (zero? (system* "scons" "install")))))))
`(#:scons-flags (list (string-append "PREFIX=" %output))
#:tests? #f)) ;no "check" target
(inputs
`(("boost" ,boost)
("jack" ,jack-1)
@ -529,9 +636,7 @@ audio and video).")
("liblo" ,liblo)
("rubberband" ,rubberband)))
(native-inputs
`(("scons" ,scons)
("python" ,python-2)
("pkg-config" ,pkg-config)))
`(("pkg-config" ,pkg-config)))
(home-page "http://das.nasophon.de/klick/")
(synopsis "Metronome for JACK")
(description
@ -1090,7 +1195,7 @@ users to select LV2 plugins and run them with jalv.")
(define-public synthv1
(package
(name "synthv1")
(version "0.8.4")
(version "0.8.5")
(source (origin
(method url-fetch)
(uri
@ -1098,7 +1203,7 @@ users to select LV2 plugins and run them with jalv.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
"0awk2zx0xa6vl6ah24zz0k2mwsx50hh5g1rh32mp790fp4x7l5s8"))))
"0mvrqk6jy7h2wg442ixwm49w7x15rs4066c2ljrz4kvxlzp5z69i"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@ -1124,7 +1229,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
(version "0.8.4")
(version "0.8.5")
(source (origin
(method url-fetch)
(uri
@ -1132,7 +1237,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
"0qqpklzy4wgw9jy0v2810j06712q90bwc69fp7da82536ba058a9"))))
"06xqqm1ylmpp2s7xk7xav325gc50kxlvh9vf1343b0n3i8xkgjfg"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@ -1159,7 +1264,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
(version "0.8.4")
(version "0.8.5")
(source (origin
(method url-fetch)
(uri
@ -1167,7 +1272,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
"107p2xsj066q2bil0xcgqrrn7lawp02wzf7qmlajcbnd79jhsi6i"))))
"1gscwybsbaqbnylmgf2baf71cm2g7a0pd11rqmk3cz9hi3lyjric"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@ -3083,16 +3188,30 @@ are a C compiler and glib. Full API documentation and examples are included.")
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS"
(string-append
"-Wl,-rpath=\""
(assoc-ref outputs "out") "/lib/lmms"
":"
(assoc-ref outputs "out") "/lib/lmms/ladspa"
"\"")))))))
(add-before 'configure 'set-ldflags
(lambda* (#:key outputs #:allow-other-keys)
(setenv "LDFLAGS"
(string-append
"-Wl,-rpath=\""
(assoc-ref outputs "out") "/lib/lmms"
":"
(assoc-ref outputs "out") "/lib/lmms/ladspa"
"\""))
#t))
(add-before 'configure 'remove-Werror
(lambda _
(substitute* "CMakeLists.txt"
(("SET\\(WERROR_FLAGS \"\\$\\{WERROR_FLAGS\\} -Werror")
"SET(WERROR_FLAGS \"${WERROR_FLAGS}"))
#t))
(add-before 'reset-gzip-timestamps 'make-manpages-writable
(lambda* (#:key outputs #:allow-other-keys)
(map (lambda (file)
(make-file-writable file))
(find-files (string-append (assoc-ref outputs "out")
"/share/man")
".*\\.gz$"))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
@ -3402,3 +3521,30 @@ the electronic or dubstep genre.")
designed to make a developer's life easy when trying to use the APIs provided
by The Echo Nest.")
(license license:gpl2+)))
(define-public libmygpo-qt
(package
(name "libmygpo-qt")
(version "1.0.9")
(source (origin
(method url-fetch)
(uri (string-append "http://stefan.derkits.at/files/"
"libmygpo-qt/libmygpo-qt." version ".tar.gz"))
(sha256
(base32
"1wsgh2vjnd52rkvpncj1ycpbp84sj9hh12ija46b42z9mmqf2jm4"))
(patches
(search-patches "libmygpo-qt-fix-jsoncreatortest.patch"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DBUILD_WITH_QT4=OFF")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("qt" ,qtbase)))
(home-page "http://wiki.gpodder.org/wiki/Libmygpo-qt")
(synopsis "Qt/C++ library wrapping the gpodder web service")
(description "@code{libmygpo-qt} is a Qt/C++ library wrapping the
@url{https://gpodder.net} APIs. It allows applications to discover, manage
and track podcasts.")
(license license:lgpl2.1+)))

View File

@ -27,14 +27,14 @@
(define-public musl
(package
(name "musl")
(version "1.1.17")
(version "1.1.18")
(source (origin
(method url-fetch)
(uri (string-append "http://www.musl-libc.org/releases/"
name "-" version ".tar.gz"))
(sha256
(base32
"0r0lyp2w6v2bvm8h1si7w3p2qx037szl14qnxm5p00568z3m3an8"))))
"0651lnj5spckqjf83nz116s8qhhydgqdy3rkl4icbh5f05fyw5yh"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; Musl has no tests

View File

@ -29,7 +29,7 @@
(define-public nano
(package
(name "nano")
(version "2.9.0")
(version "2.9.1")
(source
(origin
(method url-fetch)
@ -37,7 +37,7 @@
version ".tar.xz"))
(sha256
(base32
"17hjgvig59a2ha2b0494bprrci3d33sayjqvxjhsnlzgr8whrlyj"))))
"0z5sxji8jh8sh0g3inbzndhsrbm4qyqlvjrxl5wkxbr61lnxa5k3"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)

View File

@ -489,7 +489,7 @@ which can be used to encrypt a password with @code{crypt(3)}.")
(define-public wireshark
(package
(name "wireshark")
(version "2.4.2")
(version "2.4.3")
(source
(origin
(method url-fetch)
@ -497,7 +497,7 @@ which can be used to encrypt a password with @code{crypt(3)}.")
version ".tar.xz"))
(sha256
(base32
"0zglapd3sz08p2z9x8a5va3jnz17b3n5a1bskf7f2dgx6m3v5b6i"))))
"0bpiby916k3k8bm7q8b1dflva6zs0a4ircskrck0d538dfcrb50q"))))
(build-system gnu-build-system)
(inputs `(("c-ares" ,c-ares)
("glib" ,glib)
@ -1536,3 +1536,34 @@ at the IP layer and link layer, as well as a host of supplementary
functionality. Using libnet, quick and simple packet assembly applications
can be whipped up with little effort.")
(license license:bsd-2)))
(define-public mtr
(package
(name "mtr")
(version "0.92")
(source
(origin
(method url-fetch)
(uri (string-append "ftp://ftp.bitwizard.nl/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32 "10j3ds3p27jygys4x08kj8fi3zlsgiv72xsfazkah6plwawrv5zj"))))
(build-system gnu-build-system)
(inputs
`(("libcap" ,libcap)
("ncurses" ,ncurses)))
(native-inputs
;; The 0.92 release tarball still requires the autoheader tool.
`(("autoconf" ,autoconf)))
(arguments
`(#:tests? #f)) ; tests require network access
(home-page "https://www.bitwizard.nl/mtr/")
(synopsis "Network diagnostic tool")
(description
"@dfn{mtr} (My TraceRoute) combines the functionality of the
@command{traceroute} and @command{ping} programs in a single network diagnostic
tool. @command{mtr} can use several network protocols to detect intermediate
routers (or @dfn{hops}) between the local host and a user-specified destination.
It then continually measures the response time and packet loss at each hop, and
displays the results in real time.")
(license license:gpl2+)))

View File

@ -3,6 +3,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Mike Gerwitz <mtg@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -40,14 +41,18 @@
(define-public node
(package
(name "node")
(version "8.7.0")
(version "8.9.1")
(source (origin
(method url-fetch)
(uri (string-append "http://nodejs.org/dist/v" version
"/node-v" version ".tar.gz"))
(sha256
(base32
"1a0ginagx3pav6v7adyp76jisia4qgbsq6pz3als4kshwlk4a667"))))
"1qbiz7hgwlirhwpd71c8yzcbwsyi5bjlfp6lxb6v55j6rizinj9j"))
;; See https://github.com/nodejs/node/issues/16688
;; Remove this next update (>8.9.1).
(patches
(search-patches "node-test-http2-server-rst-stream.patch"))))
(build-system gnu-build-system)
(arguments
;; TODO: Purge the bundled copies from the source.
@ -76,6 +81,10 @@
(("'/usr/bin/env'")
(string-append "'" (which "env") "'")))
;; test-make-doc needs doc-only target, which is inhibited below
(for-each delete-file
'("test/doctool/test-make-doc.js"))
;; FIXME: This test seems to depends on files that are not
;; available in the bundled v8. See
;; https://github.com/nodejs/node/issues/13344
@ -88,12 +97,12 @@
"test/parallel/test-util-inspect.js"
"test/parallel/test-v8-serdes.js"
"test/parallel/test-dgram-membership.js"
"test/parallel/test-dgram-multicast-set-interface-lo.js"
"test/parallel/test-dns-cancel-reverse-lookup.js"
"test/parallel/test-dns-resolveany.js"
"test/parallel/test-cluster-master-error.js"
"test/parallel/test-cluster-master-kill.js"
"test/parallel/test-npm-install.js"
"test/parallel/test-regress-GH-746.js"
"test/sequential/test-child-process-emfile.js"
"test/sequential/test-benchmark-child-process.js"
"test/sequential/test-http-regr-gh-2928.js"))
@ -115,6 +124,14 @@
(string-append (assoc-ref inputs "python")
"/bin/python")
"configure" flags)))))
(add-before 'check 'skip-check-doc-only
(lambda _
(substitute* "Makefile"
;; requires js-yaml, which is not part of the distribution,
;; and falls back to using npm to download it
(("\\$\\(MAKE\\) doc-only" all)
(string-append "#" all)))
#t))
(add-after 'patch-shebangs 'patch-npm-shebang
(lambda* (#:key outputs #:allow-other-keys)
(let* ((bindir (string-append (assoc-ref outputs "out")

View File

@ -98,15 +98,17 @@ computers over a network.")
(define-public openntpd
(package
(name "openntpd")
(version "6.2p2")
(version "6.2p3")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://openbsd/OpenNTPD/" name "-" version ".tar.gz"))
(sha256
(base32
"1chghbh1bnwhxdgkqki51w94nwvlyj1a9q8716r4v2h0gc9s822q"))))
"0fn12i4kzsi0zkr4qp3dp9bycmirnfapajqvdfx02zhr4hanj0kv"))))
(build-system gnu-build-system)
(inputs
`(("libressl" ,libressl))) ; enable TLS time constraints. See ntpd.conf(5).
(home-page "http://www.openntpd.org/")
(synopsis "NTP client and server by the OpenBSD Project")
(description "OpenNTPD is the OpenBSD Project's implementation of a client

View File

@ -3964,7 +3964,7 @@ provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
(source (origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"file/36538/interval-" version ".tar.gz"))
"file/37077/interval-" version ".tar.gz"))
(sha256
(base32
"08fdcf3hbwqphglvwprvqzgkg0qbimpyhnqsgv3gac4y1ap0f903"))))

View File

@ -64,6 +64,7 @@
#:use-module (gnu packages ssh)
#:use-module (gnu packages vim)
#:use-module (gnu packages serialization)
#:use-module (gnu packages acl)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@ -86,8 +87,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "0.13.0")
(commit "ff23b47dbee038236386ddc2ed2fff4c77ad3aa1")
(revision 9))
(commit "3fb6464ba43141b671481ce5ba158b6e6d1badfe")
(revision 13))
(package
(name "guix")
@ -103,7 +104,7 @@
(commit commit)))
(sha256
(base32
"19y39fm4bjvq4rz3360p8avxpsmflsgrz83l8ig49819a38qs6zm"))
"0nx3nvr3myjhg7zyyrvxfs63ddmb7yv0ndzn1dq4gp2is65n3krr"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@ -143,6 +144,12 @@
(chmod po #o666))
(find-files "." "\\.po$"))
(patch-shebang "build-aux/git-version-gen")
(call-with-output-file ".tarball-version"
(lambda (port)
(display ,version port)))
(zero? (system* "sh" "bootstrap"))))
(add-before
'configure 'copy-bootstrap-guile
@ -170,8 +177,7 @@
(copy "armhf")
(copy "aarch64")
#t))
(add-after
'unpack 'disable-container-tests
(add-after 'unpack 'disable-failing-tests
;; XXX FIXME: These tests fail within the build container.
(lambda _
(substitute* "tests/syscalls.scm"
@ -193,15 +199,17 @@
#t))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure the 'guix' command finds GnuTLS and
;; Guile-JSON automatically.
;; Make sure the 'guix' command finds GnuTLS,
;; Guile-JSON, and Guile-Git automatically.
(let* ((out (assoc-ref outputs "out"))
(guile (assoc-ref inputs "guile"))
(json (assoc-ref inputs "guile-json"))
(git (assoc-ref inputs "guile-git"))
(bs (assoc-ref inputs
"guile-bytestructures"))
(ssh (assoc-ref inputs "guile-ssh"))
(gnutls (assoc-ref inputs "gnutls"))
(deps (list json gnutls git ssh))
(deps (list json gnutls git bs ssh))
(effective
(read-line
(open-pipe* OPEN_READ
@ -502,7 +510,6 @@ transactions from C or Python.")
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(add-before 'unpack 'n (lambda _ #t))
;; setup.py mistakenly requires python-magic from PyPi, even
;; though the Python bindings of `file` are sufficient.
;; https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815844
@ -517,8 +524,15 @@ transactions from C or Python.")
(string-append "['" (which "xxd") "',")))
(substitute* "diffoscope/comparators/elf.py"
(("@tool_required\\('readelf'\\)") "")
(("\\['readelf',")
(string-append "['" (which "readelf") "',")))
(("get_tool_name\\('readelf'\\)")
(string-append "'" (which "readelf") "'")))
(substitute* "diffoscope/comparators/directory.py"
(("@tool_required\\('stat'\\)") "")
(("@tool_required\\('getfacl'\\)") "")
(("\\['stat',")
(string-append "['" (which "stat") "',"))
(("\\['getfacl',")
(string-append "['" (which "getfacl") "',")))
#t))
(add-before 'check 'delete-failing-test
(lambda _
@ -529,6 +543,7 @@ transactions from C or Python.")
("python-debian" ,python-debian)
("python-libarchive-c" ,python-libarchive-c)
("python-tlsh" ,python-tlsh)
("acl" ,acl) ;for getfacl
("colordiff" ,colordiff)
("xxd" ,xxd)

View File

@ -6,6 +6,7 @@
;;; Copyright © 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,7 +46,7 @@
(define-public parallel
(package
(name "parallel")
(version "20171022")
(version "20171122")
(source
(origin
(method url-fetch)
@ -53,7 +54,7 @@
version ".tar.bz2"))
(sha256
(base32
"18pq10npl7g764ww7cy9r5n5s3kiy984jclf932qfgndcxsbpqpp"))))
"19l2r8zzh8jyb76r3ksfq9y3r8fg07xw31h0dq1d7jpf73fnmd21"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -13,6 +13,7 @@
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -86,7 +87,7 @@ human.")
(define-public keepassxc
(package
(name "keepassxc")
(version "2.2.1")
(version "2.2.2")
(source
(origin
(method url-fetch)
@ -95,7 +96,7 @@ human.")
version "-src.tar.xz"))
(sha256
(base32
"1gkxsv3g4pkzbjkd1c27k15m2b5y2fqnnijphnaiv542yk7csqb7"))))
"0wrl8kxb16wzdgfjj057yv18cfg0b8z8lxp1fl2q8fkdgr7phm9g"))))
(build-system cmake-build-system)
(inputs
`(("libgcrypt" ,libgcrypt)

View File

@ -0,0 +1,166 @@
Fix CVE-2017-14176:
https://bugs.launchpad.net/bzr/+bug/1710979
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-14176
Patch copied from Debian's Bazaar package version bzr_2.7.0+bzr6619-7+deb9u1:
https://alioth.debian.org/scm/loggerhead/pkg-bazaar/bzr/2.7/revision/4204
Description: Prevent SSH command line options from being specified in bzr+ssh:// URLs
Bug: https://bugs.launchpad.net/brz/+bug/1710979
Bug-Debian: https://bugs.debian.org/874429
Bug-Debian-Security: https://security-tracker.debian.org/tracker/CVE-2017-14176
Forwarded: no
Author: Jelmer Vernooij <jelmer@jelmer.uk>
Last-Update: 2017-11-26
=== modified file 'bzrlib/tests/test_ssh_transport.py'
--- old/bzrlib/tests/test_ssh_transport.py 2010-10-07 12:45:51 +0000
+++ new/bzrlib/tests/test_ssh_transport.py 2017-08-20 01:59:20 +0000
@@ -22,6 +22,7 @@
SSHCorpSubprocessVendor,
LSHSubprocessVendor,
SSHVendorManager,
+ StrangeHostname,
)
@@ -161,6 +162,19 @@
class SubprocessVendorsTests(TestCase):
+ def test_openssh_command_tricked(self):
+ vendor = OpenSSHSubprocessVendor()
+ self.assertEqual(
+ vendor._get_vendor_specific_argv(
+ "user", "-oProxyCommand=blah", 100, command=["bzr"]),
+ ["ssh", "-oForwardX11=no", "-oForwardAgent=no",
+ "-oClearAllForwardings=yes",
+ "-oNoHostAuthenticationForLocalhost=yes",
+ "-p", "100",
+ "-l", "user",
+ "--",
+ "-oProxyCommand=blah", "bzr"])
+
def test_openssh_command_arguments(self):
vendor = OpenSSHSubprocessVendor()
self.assertEqual(
@@ -171,6 +185,7 @@
"-oNoHostAuthenticationForLocalhost=yes",
"-p", "100",
"-l", "user",
+ "--",
"host", "bzr"]
)
@@ -184,9 +199,16 @@
"-oNoHostAuthenticationForLocalhost=yes",
"-p", "100",
"-l", "user",
- "-s", "host", "sftp"]
+ "-s", "--", "host", "sftp"]
)
+ def test_openssh_command_tricked(self):
+ vendor = SSHCorpSubprocessVendor()
+ self.assertRaises(
+ StrangeHostname,
+ vendor._get_vendor_specific_argv,
+ "user", "-oProxyCommand=host", 100, command=["bzr"])
+
def test_sshcorp_command_arguments(self):
vendor = SSHCorpSubprocessVendor()
self.assertEqual(
@@ -209,6 +231,13 @@
"-s", "sftp", "host"]
)
+ def test_lsh_command_tricked(self):
+ vendor = LSHSubprocessVendor()
+ self.assertRaises(
+ StrangeHostname,
+ vendor._get_vendor_specific_argv,
+ "user", "-oProxyCommand=host", 100, command=["bzr"])
+
def test_lsh_command_arguments(self):
vendor = LSHSubprocessVendor()
self.assertEqual(
@@ -231,6 +260,13 @@
"--subsystem", "sftp", "host"]
)
+ def test_plink_command_tricked(self):
+ vendor = PLinkSubprocessVendor()
+ self.assertRaises(
+ StrangeHostname,
+ vendor._get_vendor_specific_argv,
+ "user", "-oProxyCommand=host", 100, command=["bzr"])
+
def test_plink_command_arguments(self):
vendor = PLinkSubprocessVendor()
self.assertEqual(
=== modified file 'bzrlib/transport/ssh.py'
--- old/bzrlib/transport/ssh.py 2015-07-31 01:04:41 +0000
+++ new/bzrlib/transport/ssh.py 2017-08-20 01:59:20 +0000
@@ -46,6 +46,10 @@
from paramiko.sftp_client import SFTPClient
+class StrangeHostname(errors.BzrError):
+ _fmt = "Refusing to connect to strange SSH hostname %(hostname)s"
+
+
SYSTEM_HOSTKEYS = {}
BZR_HOSTKEYS = {}
@@ -360,6 +364,11 @@
# tests, but beware of using PIPE which may hang due to not being read.
_stderr_target = None
+ @staticmethod
+ def _check_hostname(arg):
+ if arg.startswith('-'):
+ raise StrangeHostname(hostname=arg)
+
def _connect(self, argv):
# Attempt to make a socketpair to use as stdin/stdout for the SSH
# subprocess. We prefer sockets to pipes because they support
@@ -424,9 +433,9 @@
if username is not None:
args.extend(['-l', username])
if subsystem is not None:
- args.extend(['-s', host, subsystem])
+ args.extend(['-s', '--', host, subsystem])
else:
- args.extend([host] + command)
+ args.extend(['--', host] + command)
return args
register_ssh_vendor('openssh', OpenSSHSubprocessVendor())
@@ -439,6 +448,7 @@
def _get_vendor_specific_argv(self, username, host, port, subsystem=None,
command=None):
+ self._check_hostname(host)
args = [self.executable_path, '-x']
if port is not None:
args.extend(['-p', str(port)])
@@ -460,6 +470,7 @@
def _get_vendor_specific_argv(self, username, host, port, subsystem=None,
command=None):
+ self._check_hostname(host)
args = [self.executable_path]
if port is not None:
args.extend(['-p', str(port)])
@@ -481,6 +492,7 @@
def _get_vendor_specific_argv(self, username, host, port, subsystem=None,
command=None):
+ self._check_hostname(host)
args = [self.executable_path, '-x', '-a', '-ssh', '-2', '-batch']
if port is not None:
args.extend(['-P', str(port)])

View File

@ -0,0 +1,67 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4022c383b..3202b8b69 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -83,6 +83,7 @@ pkg_check_modules(LIBPULSE libpulse)
pkg_check_modules(LIBXML libxml-2.0)
pkg_check_modules(SPOTIFY libspotify>=12.1.45)
pkg_check_modules(TAGLIB REQUIRED taglib>=1.6)
+pkg_check_modules(OPENSSL REQUIRED openssl)
if (WIN32)
find_package(ZLIB REQUIRED)
@@ -381,20 +382,6 @@ if(GMOCK_INCLUDE_DIRS)
endif(GTEST_INCLUDE_DIRS)
endif(GMOCK_INCLUDE_DIRS)
-# Use the system's sha2 if it's available.
-find_path(SHA2_INCLUDE_DIRS sha2.h)
-find_library(SHA2_LIBRARIES sha2)
-if(SHA2_LIBRARIES AND SHA2_INCLUDE_DIRS)
- message(STATUS "Using system sha2 library")
- set(USE_SYSTEM_SHA2 ON)
-else()
- message(STATUS "Using builtin sha2 library")
- set(USE_SYSTEM_SHA2 OFF)
- add_subdirectory(3rdparty/sha2)
- set(SHA2_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/sha2)
- set(SHA2_LIBRARIES sha2)
-endif()
-
# Use the system libmygpo-qt5 if a recent enough version was found
if(LIBMYGPO_QT5_FOUND)
set(MYGPOQT5_LIBRARIES ${LIBMYGPO_QT5_LIBRARIES})
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6e24c9726..104d044d9 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -29,7 +29,6 @@ include_directories(${LIBPROJECTM_INCLUDE_DIRS})
include_directories(${QTSINGLEAPPLICATION_INCLUDE_DIRS})
include_directories(${QTIOCOMPRESSOR_INCLUDE_DIRS})
include_directories(${QXT_INCLUDE_DIRS})
-include_directories(${SHA2_INCLUDE_DIRS})
include_directories(${CHROMAPRINT_INCLUDE_DIRS})
include_directories(${MYGPOQT5_INCLUDE_DIRS})
@@ -1223,7 +1222,7 @@ target_link_libraries(clementine_lib
libclementine-common
libclementine-tagreader
libclementine-remote
- ${SHA2_LIBRARIES}
+ ${OPENSSL_LIBRARIES}
${TAGLIB_LIBRARIES}
${MYGPOQT5_LIBRARIES}
${CHROMAPRINT_LIBRARIES}
diff --git a/src/core/utilities.cpp b/src/core/utilities.cpp
index ce76f22da..80bf623fb 100644
--- a/src/core/utilities.cpp
+++ b/src/core/utilities.cpp
@@ -52,7 +52,7 @@
#include "config.h"
#include "timeconstants.h"
-#include "sha2.h"
+#include <openssl/sha.h>
#if defined(Q_OS_UNIX)
#include <sys/statvfs.h>

View File

@ -0,0 +1,134 @@
This fixes tests on 32 bits platforms. Patch taken from upstream.
commit f8872e29ce06d78d3db71b3ab26a7465fc8a9586
Author: David Gibson <david@gibson.dropbear.id.au>
Date: Fri Oct 6 23:07:30 2017 +1100
tests: Avoid 64-bit arithmetic in assembler
For testing we (ab)use the assembler to build us a sample dtb, independent
of the other tools (dtc and libfdt) that we're trying to test. In a few
places this uses 64-bit arithmetic to decompose 64-bit constants into
the individual bytes in the blob.
Unfortunately, it seems that some builds of GNU as don't support >32 bit
arithmetic, though it's not entirely clear to me which do and which don't
(Fedora i386 does support 64-bit, Debian arm32 doesn't).
Anyway, to be safe, this avoids 64-bit arithmetic in assembler at the cost
of some extra awkwardness because we have to define the values in 32-bit
halves.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
diff --git a/tests/testdata.h b/tests/testdata.h
index 3588778..f6bbe1d 100644
--- a/tests/testdata.h
+++ b/tests/testdata.h
@@ -4,15 +4,25 @@
#define ASM_CONST_LL(x) (x##ULL)
#endif
-#define TEST_ADDR_1 ASM_CONST_LL(0xdeadbeef00000000)
-#define TEST_SIZE_1 ASM_CONST_LL(0x100000)
-#define TEST_ADDR_2 ASM_CONST_LL(123456789)
-#define TEST_SIZE_2 ASM_CONST_LL(010000)
+#define TEST_ADDR_1H ASM_CONST_LL(0xdeadbeef)
+#define TEST_ADDR_1L ASM_CONST_LL(0x00000000)
+#define TEST_ADDR_1 ((TEST_ADDR_1H << 32) | TEST_ADDR_1L)
+#define TEST_SIZE_1H ASM_CONST_LL(0x00000000)
+#define TEST_SIZE_1L ASM_CONST_LL(0x00100000)
+#define TEST_SIZE_1 ((TEST_SIZE_1H << 32) | TEST_SIZE_1L)
+#define TEST_ADDR_2H ASM_CONST_LL(0)
+#define TEST_ADDR_2L ASM_CONST_LL(123456789)
+#define TEST_ADDR_2 ((TEST_ADDR_2H << 32) | TEST_ADDR_2L)
+#define TEST_SIZE_2H ASM_CONST_LL(0)
+#define TEST_SIZE_2L ASM_CONST_LL(010000)
+#define TEST_SIZE_2 ((TEST_SIZE_2H << 32) | TEST_SIZE_2L)
#define TEST_VALUE_1 0xdeadbeef
#define TEST_VALUE_2 123456789
-#define TEST_VALUE64_1 ASM_CONST_LL(0xdeadbeef01abcdef)
+#define TEST_VALUE64_1H ASM_CONST_LL(0xdeadbeef)
+#define TEST_VALUE64_1L ASM_CONST_LL(0x01abcdef)
+#define TEST_VALUE64_1 ((TEST_VALUE64_1H << 32) | TEST_VALUE64_1L)
#define PHANDLE_1 0x2000
#define PHANDLE_2 0x2001
diff --git a/tests/trees.S b/tests/trees.S
index 9854d1d..9859914 100644
--- a/tests/trees.S
+++ b/tests/trees.S
@@ -7,16 +7,6 @@
.byte ((val) >> 8) & 0xff ; \
.byte (val) & 0xff ;
-#define FDTQUAD(val) \
- .byte ((val) >> 56) & 0xff ; \
- .byte ((val) >> 48) & 0xff ; \
- .byte ((val) >> 40) & 0xff ; \
- .byte ((val) >> 32) & 0xff ; \
- .byte ((val) >> 24) & 0xff ; \
- .byte ((val) >> 16) & 0xff ; \
- .byte ((val) >> 8) & 0xff ; \
- .byte (val) & 0xff ;
-
#define TREE_HDR(tree) \
.balign 8 ; \
.globl _##tree ; \
@@ -33,14 +23,16 @@ tree: \
FDTLONG(tree##_strings_end - tree##_strings) ; \
FDTLONG(tree##_struct_end - tree##_struct) ;
-#define RSVMAP_ENTRY(addr, len) \
- FDTQUAD(addr) ; \
- FDTQUAD(len) ; \
+#define RSVMAP_ENTRY(addrh, addrl, lenh, lenl) \
+ FDTLONG(addrh) ; \
+ FDTLONG(addrl) ; \
+ FDTLONG(lenh) ; \
+ FDTLONG(lenl)
#define EMPTY_RSVMAP(tree) \
.balign 8 ; \
tree##_rsvmap: ; \
- RSVMAP_ENTRY(0, 0) \
+ RSVMAP_ENTRY(0, 0, 0, 0) \
tree##_rsvmap_end: ;
#define PROPHDR(tree, name, len) \
@@ -52,9 +44,10 @@ tree##_rsvmap_end: ;
PROPHDR(tree, name, 4) \
FDTLONG(val) ;
-#define PROP_INT64(tree, name, val) \
+#define PROP_INT64(tree, name, valh, vall) \
PROPHDR(tree, name, 8) \
- FDTQUAD(val) ;
+ FDTLONG(valh) ; \
+ FDTLONG(vall) ;
#define PROP_STR(tree, name, str) \
PROPHDR(tree, name, 55f - 54f) \
@@ -81,16 +74,16 @@ tree##_##name: ; \
.balign 8
test_tree1_rsvmap:
- RSVMAP_ENTRY(TEST_ADDR_1, TEST_SIZE_1)
- RSVMAP_ENTRY(TEST_ADDR_2, TEST_SIZE_2)
- RSVMAP_ENTRY(0, 0)
+ RSVMAP_ENTRY(TEST_ADDR_1H, TEST_ADDR_1L, TEST_SIZE_1H, TEST_SIZE_1L)
+ RSVMAP_ENTRY(TEST_ADDR_2H, TEST_ADDR_2L, TEST_SIZE_2H, TEST_SIZE_2L)
+ RSVMAP_ENTRY(0, 0, 0, 0)
test_tree1_rsvmap_end:
test_tree1_struct:
BEGIN_NODE("")
PROP_STR(test_tree1, compatible, "test_tree1")
PROP_INT(test_tree1, prop_int, TEST_VALUE_1)
- PROP_INT64(test_tree1, prop_int64, TEST_VALUE64_1)
+ PROP_INT64(test_tree1, prop_int64, TEST_VALUE64_1H, TEST_VALUE64_1L)
PROP_STR(test_tree1, prop_str, TEST_STRING_1)
PROP_INT(test_tree1, address_cells, 1)
PROP_INT(test_tree1, size_cells, 0)

View File

@ -0,0 +1,38 @@
This fixes build on 32 bits platforms. This patch is taken from upstream.
commit 497432fd2131967f349e69dc5d259072151cc4b4
Author: Thierry Reding <treding@nvidia.com>
Date: Wed Sep 27 15:04:09 2017 +0200
checks: Use proper format modifier for size_t
The size of size_t can vary between architectures, so using %ld isn't
going to work on 32-bit builds. Use the %zu modifier to make sure it is
always correct.
Signed-off-by: Thierry Reding <treding@nvidia.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
diff --git a/checks.c b/checks.c
index 902f2e3..08a3a29 100644
--- a/checks.c
+++ b/checks.c
@@ -972,7 +972,7 @@ static void check_property_phandle_args(struct check *c,
int cell, cellsize = 0;
if (prop->val.len % sizeof(cell_t)) {
- FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %ld in node %s",
+ FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %zu in node %s",
prop->name, prop->val.len, sizeof(cell_t), node->fullpath);
return;
}
@@ -1163,7 +1163,7 @@ static void check_interrupts_property(struct check *c,
return;
if (irq_prop->val.len % sizeof(cell_t))
- FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %ld in node %s",
+ FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %zu in node %s",
irq_prop->name, irq_prop->val.len, sizeof(cell_t),
node->fullpath);

View File

@ -0,0 +1,26 @@
Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
This patch adds highlighting for (guix) G-Expressions.
diff --git a/highlight-stages.el b/highlight-stages.el
index 3094c3c..e11260e 100644
--- a/highlight-stages.el
+++ b/highlight-stages.el
@@ -237,14 +237,14 @@ non-nil, (match-string 0) must be the expression matched."
(defun highlight-stages-lisp-quote-matcher (&optional limit)
(when (highlight-stages--search-forward-regexp
- "\\(?:`\\|\\(#?'\\)\\)\\|([\s\t\n]*\\(?:backquote\\|\\(quote\\)\\)[\s\t\n]+" limit)
+ "\\(?:`\\|\\(#?'\\)\\)\\|([\s\t\n]*\\(?:backquote\\|\\(quote\\)\\)[\s\t\n]+\\|\\(?:#~\\)\\|([\s\t\n]*\\(?:gexp\\)[\s\t\n]+" limit)
(prog1 (if (or (match-beginning 1) (match-beginning 2)) 'real t)
(set-match-data
(list (point)
(progn (ignore-errors (forward-sexp 1)) (point)))))))
(defun highlight-stages-lisp-escape-matcher (&optional limit)
- (when (highlight-stages--search-forward-regexp ",@?\\|([\s\t\n]*\\\\,@?+[\s\t\n]+" limit)
+ (when (highlight-stages--search-forward-regexp ",@?\\|([\s\t\n]*\\\\,@?+[\s\t\n]+\\|\\(unquote\\)\\|\\(unquote-splicing\\)\\|\\(ungexp-native\\)\\|\\(ungexp-splicing\\)\\|\\(ungexp-native-splicing\\)\\|\\(ungexp\\)\\|#\\$" limit)
(set-match-data
(list (point)
(progn (ignore-errors (forward-sexp 1)) (point))))

View File

@ -1,59 +0,0 @@
Fix CVE-2017-1000369:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000369
https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt
Patch adapted from upstream source repository:
https://git.exim.org/exim.git/commit/65e061b76867a9ea7aeeb535341b790b90ae6c21
From 65e061b76867a9ea7aeeb535341b790b90ae6c21 Mon Sep 17 00:00:00 2001
From: "Heiko Schlittermann (HS12-RIPE)" <hs@schlittermann.de>
Date: Wed, 31 May 2017 23:08:56 +0200
Subject: [PATCH] Cleanup (prevent repeated use of -p/-oMr to avoid mem leak)
---
doc/doc-docbook/spec.xfpt | 3 ++-
src/src/exim.c | 19 +++++++++++++++++--
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/src/src/exim.c b/src/src/exim.c
index 67583e58..88e11977 100644
--- a/src/exim.c
+++ b/src/exim.c
@@ -3106,7 +3106,14 @@ for (i = 1; i < argc; i++)
/* -oMr: Received protocol */
- else if (Ustrcmp(argrest, "Mr") == 0) received_protocol = argv[++i];
+ else if (Ustrcmp(argrest, "Mr") == 0)
+
+ if (received_protocol)
+ {
+ fprintf(stderr, "received_protocol is set already\n");
+ exit(EXIT_FAILURE);
+ }
+ else received_protocol = argv[++i];
/* -oMs: Set sender host name */
@@ -3202,7 +3209,15 @@ for (i = 1; i < argc; i++)
if (*argrest != 0)
{
- uschar *hn = Ustrchr(argrest, ':');
+ uschar *hn;
+
+ if (received_protocol)
+ {
+ fprintf(stderr, "received_protocol is set already\n");
+ exit(EXIT_FAILURE);
+ }
+
+ hn = Ustrchr(argrest, ':');
if (hn == NULL)
{
received_protocol = argrest;
--
2.13.1

View File

@ -0,0 +1,187 @@
Make GCC respect SOURCE_DATE_EPOCH in __DATE__ and __TIME__ macros.
Cherry-picked from upstream commit:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=e3e8c48c4a494d9da741c1c8ea6c4c0b7c4ff934
diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index 6cf8c610b4e..b5daea65ba7 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -12750,4 +12750,37 @@ valid_array_size_p (location_t loc, tree type, tree name)
return true;
}
+/* Read SOURCE_DATE_EPOCH from environment to have a deterministic
+ timestamp to replace embedded current dates to get reproducible
+ results. Returns -1 if SOURCE_DATE_EPOCH is not defined. */
+time_t
+get_source_date_epoch ()
+{
+ char *source_date_epoch;
+ long long epoch;
+ char *endptr;
+
+ source_date_epoch = getenv ("SOURCE_DATE_EPOCH");
+ if (!source_date_epoch)
+ return (time_t) -1;
+
+ errno = 0;
+ epoch = strtoll (source_date_epoch, &endptr, 10);
+ if ((errno == ERANGE && (epoch == LLONG_MAX || epoch == LLONG_MIN))
+ || (errno != 0 && epoch == 0))
+ fatal_error (UNKNOWN_LOCATION, "environment variable $SOURCE_DATE_EPOCH: "
+ "strtoll: %s\n", xstrerror(errno));
+ if (endptr == source_date_epoch)
+ fatal_error (UNKNOWN_LOCATION, "environment variable $SOURCE_DATE_EPOCH: "
+ "no digits were found: %s\n", endptr);
+ if (*endptr != '\0')
+ fatal_error (UNKNOWN_LOCATION, "environment variable $SOURCE_DATE_EPOCH: "
+ "trailing garbage: %s\n", endptr);
+ if (epoch < 0)
+ fatal_error (UNKNOWN_LOCATION, "environment variable $SOURCE_DATE_EPOCH: "
+ "value must be nonnegative: %lld \n", epoch);
+
+ return (time_t) epoch;
+}
+
#include "gt-c-family-c-common.h"
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index dd74d0dd62e..c6e0ed12b55 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1467,4 +1467,9 @@ extern bool reject_gcc_builtin (const_tree, location_t = UNKNOWN_LOCATION);
extern void warn_duplicated_cond_add_or_warn (location_t, tree, vec<tree> **);
extern bool valid_array_size_p (location_t, tree, tree);
+/* Read SOURCE_DATE_EPOCH from environment to have a deterministic
+ timestamp to replace embedded current dates to get reproducible
+ results. Returns -1 if SOURCE_DATE_EPOCH is not defined. */
+extern time_t get_source_date_epoch (void);
+
#endif /* ! GCC_C_COMMON_H */
diff --git a/gcc/c-family/c-lex.c b/gcc/c-family/c-lex.c
index 96da4fc974e..bf1db6c0252 100644
--- a/gcc/c-family/c-lex.c
+++ b/gcc/c-family/c-lex.c
@@ -385,6 +385,9 @@ c_lex_with_flags (tree *value, location_t *loc, unsigned char *cpp_flags,
enum cpp_ttype type;
unsigned char add_flags = 0;
enum overflow_type overflow = OT_NONE;
+ time_t source_date_epoch = get_source_date_epoch ();
+
+ cpp_init_source_date_epoch (parse_in, source_date_epoch);
timevar_push (TV_CPP);
retry:
diff --git a/gcc/doc/cppenv.texi b/gcc/doc/cppenv.texi
index 22c8cb37624..e958e93e97e 100644
--- a/gcc/doc/cppenv.texi
+++ b/gcc/doc/cppenv.texi
@@ -79,4 +79,21 @@ main input file is omitted.
@ifclear cppmanual
@xref{Preprocessor Options}.
@end ifclear
+
+@item SOURCE_DATE_EPOCH
+
+If this variable is set, its value specifies a UNIX timestamp to be
+used in replacement of the current date and time in the @code{__DATE__}
+and @code{__TIME__} macros, so that the embedded timestamps become
+reproducible.
+
+The value of @env{SOURCE_DATE_EPOCH} must be a UNIX timestamp,
+defined as the number of seconds (excluding leap seconds) since
+01 Jan 1970 00:00:00 represented in ASCII, identical to the output of
+@samp{@command{date +%s}}.
+
+The value should be a known timestamp such as the last modification
+time of the source or package and it should be set by the build
+process.
+
@end vtable
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index 35b0375c09c..4998b3a8ab8 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -784,6 +784,9 @@ extern void cpp_init_special_builtins (cpp_reader *);
/* Set up built-ins like __FILE__. */
extern void cpp_init_builtins (cpp_reader *, int);
+/* Initialize the source_date_epoch value. */
+extern void cpp_init_source_date_epoch (cpp_reader *, time_t);
+
/* This is called after options have been parsed, and partially
processed. */
extern void cpp_post_options (cpp_reader *);
diff --git a/libcpp/init.c b/libcpp/init.c
index 4343075ba85..f5ff85b3bae 100644
--- a/libcpp/init.c
+++ b/libcpp/init.c
@@ -533,8 +533,15 @@ cpp_init_builtins (cpp_reader *pfile, int hosted)
_cpp_define_builtin (pfile, "__OBJC__ 1");
}
+/* Initialize the source_date_epoch value. */
+void
+cpp_init_source_date_epoch (cpp_reader *pfile, time_t source_date_epoch)
+{
+ pfile->source_date_epoch = source_date_epoch;
+}
+
/* Sanity-checks are dependent on command-line options, so it is
- called as a subroutine of cpp_read_main_file (). */
+ called as a subroutine of cpp_read_main_file. */
#if CHECKING_P
static void sanity_checks (cpp_reader *);
static void sanity_checks (cpp_reader *pfile)
diff --git a/libcpp/internal.h b/libcpp/internal.h
index 9ce870738cc..e3eb26b1f27 100644
--- a/libcpp/internal.h
+++ b/libcpp/internal.h
@@ -502,6 +502,10 @@ struct cpp_reader
const unsigned char *date;
const unsigned char *time;
+ /* Externally set timestamp to replace current date and time useful for
+ reproducibility. */
+ time_t source_date_epoch;
+
/* EOF token, and a token forcing paste avoidance. */
cpp_token avoid_paste;
cpp_token eof;
diff --git a/libcpp/macro.c b/libcpp/macro.c
index c2515534504..c2a83764660 100644
--- a/libcpp/macro.c
+++ b/libcpp/macro.c
@@ -357,13 +357,20 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node,
time_t tt;
struct tm *tb = NULL;
- /* (time_t) -1 is a legitimate value for "number of seconds
- since the Epoch", so we have to do a little dance to
- distinguish that from a genuine error. */
- errno = 0;
- tt = time(NULL);
- if (tt != (time_t)-1 || errno == 0)
- tb = localtime (&tt);
+ /* Set a reproducible timestamp for __DATE__ and __TIME__ macro
+ usage if SOURCE_DATE_EPOCH is defined. */
+ if (pfile->source_date_epoch != (time_t) -1)
+ tb = gmtime (&pfile->source_date_epoch);
+ else
+ {
+ /* (time_t) -1 is a legitimate value for "number of seconds
+ since the Epoch", so we have to do a little dance to
+ distinguish that from a genuine error. */
+ errno = 0;
+ tt = time (NULL);
+ if (tt != (time_t)-1 || errno == 0)
+ tb = localtime (&tt);
+ }
if (tb)
{
--
2.14.1

View File

@ -0,0 +1,346 @@
Cherry-picked from upstream commit:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=dfa5c0d3f3e23e4fdb14857a42de376d9ff8601c
diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index b5daea65ba7..a4539da15ce 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -12753,8 +12753,9 @@ valid_array_size_p (location_t loc, tree type, tree name)
/* Read SOURCE_DATE_EPOCH from environment to have a deterministic
timestamp to replace embedded current dates to get reproducible
results. Returns -1 if SOURCE_DATE_EPOCH is not defined. */
+
time_t
-get_source_date_epoch ()
+cb_get_source_date_epoch (cpp_reader *pfile ATTRIBUTE_UNUSED)
{
char *source_date_epoch;
long long epoch;
@@ -12766,19 +12767,14 @@ get_source_date_epoch ()
errno = 0;
epoch = strtoll (source_date_epoch, &endptr, 10);
- if ((errno == ERANGE && (epoch == LLONG_MAX || epoch == LLONG_MIN))
- || (errno != 0 && epoch == 0))
- fatal_error (UNKNOWN_LOCATION, "environment variable $SOURCE_DATE_EPOCH: "
- "strtoll: %s\n", xstrerror(errno));
- if (endptr == source_date_epoch)
- fatal_error (UNKNOWN_LOCATION, "environment variable $SOURCE_DATE_EPOCH: "
- "no digits were found: %s\n", endptr);
- if (*endptr != '\0')
- fatal_error (UNKNOWN_LOCATION, "environment variable $SOURCE_DATE_EPOCH: "
- "trailing garbage: %s\n", endptr);
- if (epoch < 0)
- fatal_error (UNKNOWN_LOCATION, "environment variable $SOURCE_DATE_EPOCH: "
- "value must be nonnegative: %lld \n", epoch);
+ if (errno != 0 || endptr == source_date_epoch || *endptr != '\0'
+ || epoch < 0 || epoch > MAX_SOURCE_DATE_EPOCH)
+ {
+ error_at (input_location, "environment variable SOURCE_DATE_EPOCH must "
+ "expand to a non-negative integer less than or equal to %wd",
+ MAX_SOURCE_DATE_EPOCH);
+ return (time_t) -1;
+ }
return (time_t) epoch;
}
diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h
index c6e0ed12b55..44699f716e0 100644
--- a/gcc/c-family/c-common.h
+++ b/gcc/c-family/c-common.h
@@ -1084,6 +1084,16 @@ extern vec<tree, va_gc> *make_tree_vector_copy (const vec<tree, va_gc> *);
c_register_builtin_type. */
extern GTY(()) tree registered_builtin_types;
+/* Read SOURCE_DATE_EPOCH from environment to have a deterministic
+ timestamp to replace embedded current dates to get reproducible
+ results. Returns -1 if SOURCE_DATE_EPOCH is not defined. */
+extern time_t cb_get_source_date_epoch (cpp_reader *pfile);
+
+/* The value (as a unix timestamp) corresponds to date
+ "Dec 31 9999 23:59:59 UTC", which is the latest date that __DATE__ and
+ __TIME__ can store. */
+#define MAX_SOURCE_DATE_EPOCH HOST_WIDE_INT_C (253402300799)
+
/* In c-gimplify.c */
extern void c_genericize (tree);
extern int c_gimplify_expr (tree *, gimple_seq *, gimple_seq *);
@@ -1467,9 +1477,4 @@ extern bool reject_gcc_builtin (const_tree, location_t = UNKNOWN_LOCATION);
extern void warn_duplicated_cond_add_or_warn (location_t, tree, vec<tree> **);
extern bool valid_array_size_p (location_t, tree, tree);
-/* Read SOURCE_DATE_EPOCH from environment to have a deterministic
- timestamp to replace embedded current dates to get reproducible
- results. Returns -1 if SOURCE_DATE_EPOCH is not defined. */
-extern time_t get_source_date_epoch (void);
-
#endif /* ! GCC_C_COMMON_H */
diff --git a/gcc/c-family/c-lex.c b/gcc/c-family/c-lex.c
index bf1db6c0252..42a4135d339 100644
--- a/gcc/c-family/c-lex.c
+++ b/gcc/c-family/c-lex.c
@@ -80,6 +80,7 @@ init_c_lex (void)
cb->valid_pch = c_common_valid_pch;
cb->read_pch = c_common_read_pch;
cb->has_attribute = c_common_has_attribute;
+ cb->get_source_date_epoch = cb_get_source_date_epoch;
/* Set the debug callbacks if we can use them. */
if ((debug_info_level == DINFO_LEVEL_VERBOSE
@@ -385,9 +386,6 @@ c_lex_with_flags (tree *value, location_t *loc, unsigned char *cpp_flags,
enum cpp_ttype type;
unsigned char add_flags = 0;
enum overflow_type overflow = OT_NONE;
- time_t source_date_epoch = get_source_date_epoch ();
-
- cpp_init_source_date_epoch (parse_in, source_date_epoch);
timevar_push (TV_CPP);
retry:
diff --git a/gcc/doc/cppenv.texi b/gcc/doc/cppenv.texi
index e958e93e97e..8cefd529aa3 100644
--- a/gcc/doc/cppenv.texi
+++ b/gcc/doc/cppenv.texi
@@ -81,7 +81,6 @@ main input file is omitted.
@end ifclear
@item SOURCE_DATE_EPOCH
-
If this variable is set, its value specifies a UNIX timestamp to be
used in replacement of the current date and time in the @code{__DATE__}
and @code{__TIME__} macros, so that the embedded timestamps become
@@ -89,8 +88,9 @@ reproducible.
The value of @env{SOURCE_DATE_EPOCH} must be a UNIX timestamp,
defined as the number of seconds (excluding leap seconds) since
-01 Jan 1970 00:00:00 represented in ASCII, identical to the output of
-@samp{@command{date +%s}}.
+01 Jan 1970 00:00:00 represented in ASCII; identical to the output of
+@samp{@command{date +%s}} on GNU/Linux and other systems that support the
+@code{%s} extension in the @code{date} command.
The value should be a known timestamp such as the last modification
time of the source or package and it should be set by the build
diff --git a/gcc/gcc.c b/gcc/gcc.c
index cfa074d4e43..f88596219bc 100644
--- a/gcc/gcc.c
+++ b/gcc/gcc.c
@@ -3541,6 +3541,29 @@ save_switch (const char *opt, size_t n_args, const char *const *args,
n_switches++;
}
+/* Set the SOURCE_DATE_EPOCH environment variable to the current time if it is
+ not set already. */
+
+static void
+set_source_date_epoch_envvar ()
+{
+ /* Array size is 21 = ceil(log_10(2^64)) + 1 to hold string representations
+ of 64 bit integers. */
+ char source_date_epoch[21];
+ time_t tt;
+
+ errno = 0;
+ tt = time (NULL);
+ if (tt < (time_t) 0 || errno != 0)
+ tt = (time_t) 0;
+
+ snprintf (source_date_epoch, 21, "%llu", (unsigned long long) tt);
+ /* Using setenv instead of xputenv because we want the variable to remain
+ after finalizing so that it's still set in the second run when using
+ -fcompare-debug. */
+ setenv ("SOURCE_DATE_EPOCH", source_date_epoch, 0);
+}
+
/* Handle an option DECODED that is unknown to the option-processing
machinery. */
@@ -3840,6 +3863,7 @@ driver_handle_option (struct gcc_options *opts,
else
compare_debug_opt = arg;
save_switch (compare_debug_replacement_opt, 0, NULL, validated, true);
+ set_source_date_epoch_envvar ();
return true;
case OPT_fdiagnostics_color_:
diff --git a/gcc/testsuite/gcc.dg/cpp/source_date_epoch-1.c b/gcc/testsuite/gcc.dg/cpp/source_date_epoch-1.c
new file mode 100644
index 00000000000..f6aa1a360ff
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/source_date_epoch-1.c
@@ -0,0 +1,11 @@
+/* { dg-do run } */
+/* { dg-set-compiler-env-var SOURCE_DATE_EPOCH "630333296" } */
+
+int
+main(void)
+{
+ __builtin_printf ("%s %s\n", __DATE__, __TIME__);
+ return 0;
+}
+
+/* { dg-output "^Dec 22 1989 12:34:56\n$" } */
diff --git a/gcc/testsuite/gcc.dg/cpp/source_date_epoch-2.c b/gcc/testsuite/gcc.dg/cpp/source_date_epoch-2.c
new file mode 100644
index 00000000000..ae18362ae87
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/cpp/source_date_epoch-2.c
@@ -0,0 +1,12 @@
+/* { dg-do compile } */
+/* { dg-set-compiler-env-var SOURCE_DATE_EPOCH "AAA" } */
+
+/* Make sure that SOURCE_DATE_EPOCH is only parsed once */
+
+int
+main(void)
+{
+ __builtin_printf ("%s %s\n", __DATE__, __TIME__); /* { dg-error "SOURCE_DATE_EPOCH must expand" } */
+ __builtin_printf ("%s %s\n", __DATE__, __TIME__);
+ return 0;
+}
diff --git a/gcc/testsuite/lib/gcc-dg.exp b/gcc/testsuite/lib/gcc-dg.exp
index 9dd909b0985..822d2fbb3b9 100644
--- a/gcc/testsuite/lib/gcc-dg.exp
+++ b/gcc/testsuite/lib/gcc-dg.exp
@@ -450,6 +450,38 @@ proc restore-target-env-var { } {
}
}
+proc dg-set-compiler-env-var { args } {
+ global set_compiler_env_var
+ global saved_compiler_env_var
+ if { [llength $args] != 3 } {
+ error "dg-set-compiler-env-var: need two arguments"
+ return
+ }
+ set var [lindex $args 1]
+ set value [lindex $args 2]
+ if [info exists ::env($var)] {
+ lappend saved_compiler_env_var [list $var 1 $::env($var)]
+ } else {
+ lappend saved_compiler_env_var [list $var 0]
+ }
+ setenv $var $value
+ lappend set_compiler_env_var [list $var $value]
+}
+
+proc restore-compiler-env-var { } {
+ global saved_compiler_env_var
+ for { set env_vari [llength $saved_compiler_env_var] } {
+ [incr env_vari -1] >= 0 } {} {
+ set env_var [lindex $saved_compiler_env_var $env_vari]
+ set var [lindex $env_var 0]
+ if [lindex $env_var 1] {
+ setenv $var [lindex $env_var 2]
+ } else {
+ unsetenv $var
+ }
+ }
+}
+
# Utility routines.
#
@@ -873,6 +905,11 @@ if { [info procs saved-dg-test] == [list] } {
if [info exists set_target_env_var] {
unset set_target_env_var
}
+ if [info exists set_compiler_env_var] {
+ restore-compiler-env-var
+ unset set_compiler_env_var
+ unset saved_compiler_env_var
+ }
if [info exists keep_saved_temps_suffixes] {
unset keep_saved_temps_suffixes
}
diff --git a/libcpp/include/cpplib.h b/libcpp/include/cpplib.h
index 4998b3a8ab8..9d70cc856ef 100644
--- a/libcpp/include/cpplib.h
+++ b/libcpp/include/cpplib.h
@@ -594,6 +594,9 @@ struct cpp_callbacks
/* Callback that can change a user builtin into normal macro. */
bool (*user_builtin_macro) (cpp_reader *, cpp_hashnode *);
+
+ /* Callback to parse SOURCE_DATE_EPOCH from environment. */
+ time_t (*get_source_date_epoch) (cpp_reader *);
};
#ifdef VMS
@@ -784,9 +787,6 @@ extern void cpp_init_special_builtins (cpp_reader *);
/* Set up built-ins like __FILE__. */
extern void cpp_init_builtins (cpp_reader *, int);
-/* Initialize the source_date_epoch value. */
-extern void cpp_init_source_date_epoch (cpp_reader *, time_t);
-
/* This is called after options have been parsed, and partially
processed. */
extern void cpp_post_options (cpp_reader *);
diff --git a/libcpp/init.c b/libcpp/init.c
index f5ff85b3bae..e78b3206def 100644
--- a/libcpp/init.c
+++ b/libcpp/init.c
@@ -257,6 +257,9 @@ cpp_create_reader (enum c_lang lang, cpp_hash_table *table,
/* Do not force token locations by default. */
pfile->forced_token_location_p = NULL;
+ /* Initialize source_date_epoch to -2 (not yet set). */
+ pfile->source_date_epoch = (time_t) -2;
+
/* The expression parser stack. */
_cpp_expand_op_stack (pfile);
@@ -533,13 +536,6 @@ cpp_init_builtins (cpp_reader *pfile, int hosted)
_cpp_define_builtin (pfile, "__OBJC__ 1");
}
-/* Initialize the source_date_epoch value. */
-void
-cpp_init_source_date_epoch (cpp_reader *pfile, time_t source_date_epoch)
-{
- pfile->source_date_epoch = source_date_epoch;
-}
-
/* Sanity-checks are dependent on command-line options, so it is
called as a subroutine of cpp_read_main_file. */
#if CHECKING_P
diff --git a/libcpp/internal.h b/libcpp/internal.h
index e3eb26b1f27..cea32ec73c6 100644
--- a/libcpp/internal.h
+++ b/libcpp/internal.h
@@ -503,7 +503,8 @@ struct cpp_reader
const unsigned char *time;
/* Externally set timestamp to replace current date and time useful for
- reproducibility. */
+ reproducibility. It should be initialized to -2 (not yet set) and
+ set to -1 to disable it or to a non-negative value to enable it. */
time_t source_date_epoch;
/* EOF token, and a token forcing paste avoidance. */
diff --git a/libcpp/macro.c b/libcpp/macro.c
index c2a83764660..a3b8348a23f 100644
--- a/libcpp/macro.c
+++ b/libcpp/macro.c
@@ -358,9 +358,13 @@ _cpp_builtin_macro_text (cpp_reader *pfile, cpp_hashnode *node,
struct tm *tb = NULL;
/* Set a reproducible timestamp for __DATE__ and __TIME__ macro
- usage if SOURCE_DATE_EPOCH is defined. */
- if (pfile->source_date_epoch != (time_t) -1)
- tb = gmtime (&pfile->source_date_epoch);
+ if SOURCE_DATE_EPOCH is defined. */
+ if (pfile->source_date_epoch == (time_t) -2
+ && pfile->cb.get_source_date_epoch != NULL)
+ pfile->source_date_epoch = pfile->cb.get_source_date_epoch (pfile);
+
+ if (pfile->source_date_epoch >= (time_t) 0)
+ tb = gmtime (&pfile->source_date_epoch);
else
{
/* (time_t) -1 is a legitimate value for "number of seconds
--
2.14.1

View File

@ -0,0 +1,140 @@
This patch was taken from Nixpkgs.
From 616381bc25b0e90198683fb049f994e82d467d96 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Niklas=20Hamb=C3=BCchen?= <mail@nh2.me>
Date: Sat, 13 May 2017 02:45:49 +0200
Subject: [PATCH] Don't use hardcoded /sbin, /usr/bin etc. paths. Fixes
#1450546.
Instead, rely on programs to be in PATH, as gluster already
does in many places across its code base.
Change-Id: Id21152fe42f5b67205d8f1571b0656c4d5f74246
---
contrib/fuse-lib/mount-common.c | 8 ++++----
xlators/mgmt/glusterd/src/glusterd-ganesha.c | 6 +++---
xlators/mgmt/glusterd/src/glusterd-quota.c | 6 +++---
xlators/mgmt/glusterd/src/glusterd-snapshot.c | 4 ++--
xlators/mgmt/glusterd/src/glusterd-utils.c | 14 +-------------
5 files changed, 13 insertions(+), 25 deletions(-)
diff --git a/contrib/fuse-lib/mount-common.c b/contrib/fuse-lib/mount-common.c
index e9f80fe81..6380dd867 100644
--- a/contrib/fuse-lib/mount-common.c
+++ b/contrib/fuse-lib/mount-common.c
@@ -255,16 +255,16 @@ fuse_mnt_umount (const char *progname, const char *abs_mnt,
exit (1);
}
#ifdef GF_LINUX_HOST_OS
- execl ("/bin/umount", "/bin/umount", "-i", rel_mnt,
+ execl ("umount", "umount", "-i", rel_mnt,
lazy ? "-l" : NULL, NULL);
- GFFUSE_LOGERR ("%s: failed to execute /bin/umount: %s",
+ GFFUSE_LOGERR ("%s: failed to execute umount: %s",
progname, strerror (errno));
#elif __NetBSD__
/* exitting the filesystem causes the umount */
exit (0);
#else
- execl ("/sbin/umount", "/sbin/umount", "-f", rel_mnt, NULL);
- GFFUSE_LOGERR ("%s: failed to execute /sbin/umount: %s",
+ execl ("umount", "umount", "-f", rel_mnt, NULL);
+ GFFUSE_LOGERR ("%s: failed to execute umount: %s",
progname, strerror (errno));
#endif /* GF_LINUX_HOST_OS */
exit (1);
diff --git a/xlators/mgmt/glusterd/src/glusterd-quota.c b/xlators/mgmt/glusterd/src/glusterd-quota.c
index 0e6629cf0..fcb4738b7 100644
--- a/xlators/mgmt/glusterd/src/glusterd-quota.c
+++ b/xlators/mgmt/glusterd/src/glusterd-quota.c
@@ -30,7 +30,7 @@
#ifndef _PATH_SETFATTR
# ifdef GF_LINUX_HOST_OS
-# define _PATH_SETFATTR "/usr/bin/setfattr"
+# define _PATH_SETFATTR "setfattr"
# endif
# ifdef __NetBSD__
# define _PATH_SETFATTR "/usr/pkg/bin/setfattr"
@@ -335,7 +335,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv,
if (type == GF_QUOTA_OPTION_TYPE_ENABLE ||
type == GF_QUOTA_OPTION_TYPE_ENABLE_OBJECTS)
- runner_add_args (&runner, "/usr/bin/find", ".", NULL);
+ runner_add_args (&runner, "find", ".", NULL);
else if (type == GF_QUOTA_OPTION_TYPE_DISABLE) {
@@ -351,7 +351,7 @@ _glusterd_quota_initiate_fs_crawl (glusterd_conf_t *priv,
VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "1",
"{}", "\\", ";", NULL);
#else
- runner_add_args (&runner, "/usr/bin/find", ".",
+ runner_add_args (&runner, "find", ".",
"-exec", _PATH_SETFATTR, "-n",
VIRTUAL_QUOTA_XATTR_CLEANUP_KEY, "-v",
"1", "{}", "\\", ";", NULL);
diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot.c b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
index da0152366..f0d135350 100644
--- a/xlators/mgmt/glusterd/src/glusterd-snapshot.c
+++ b/xlators/mgmt/glusterd/src/glusterd-snapshot.c
@@ -121,7 +121,7 @@ glusterd_build_snap_device_path (char *device, char *snapname,
}
runinit (&runner);
- runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "vg_name",
+ runner_add_args (&runner, "lvs", "--noheadings", "-o", "vg_name",
device, NULL);
runner_redir (&runner, STDOUT_FILENO, RUN_PIPE);
snprintf (msg, sizeof (msg), "Get volume group for device %s", device);
@@ -1982,7 +1982,7 @@ glusterd_is_thinp_brick (char *device, uint32_t *op_errno)
runinit (&runner);
- runner_add_args (&runner, "/sbin/lvs", "--noheadings", "-o", "pool_lv",
+ runner_add_args (&runner, "lvs", "--noheadings", "-o", "pool_lv",
device, NULL);
runner_redir (&runner, STDOUT_FILENO, RUN_PIPE);
runner_log (&runner, this->name, GF_LOG_DEBUG, msg);
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 51db13df0..6fa7b92f9 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -6027,7 +6027,6 @@ static struct fs_info {
char *fs_tool_pattern;
char *fs_tool_pkg;
} glusterd_fs[] = {
- /* some linux have these in /usr/sbin/and others in /sbin/? */
{ "xfs", "xfs_info", NULL, "isize=", "xfsprogs" },
{ "ext3", "tune2fs", "-l", "Inode size:", "e2fsprogs" },
{ "ext4", "tune2fs", "-l", "Inode size:", "e2fsprogs" },
@@ -6048,7 +6047,6 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count)
char *trail = NULL;
runner_t runner = {0, };
struct fs_info *fs = NULL;
- char fs_tool_name[256] = {0, };
static dict_t *cached_fs = NULL;
memset (key, 0, sizeof (key));
@@ -6085,17 +6083,7 @@ glusterd_add_inode_size_to_dict (dict_t *dict, int count)
cur_word = "N/A";
goto cached;
}
-
- snprintf (fs_tool_name, sizeof (fs_tool_name),
- "/usr/sbin/%s", fs->fs_tool_name);
- if (sys_access (fs_tool_name, R_OK|X_OK) == 0)
- runner_add_arg (&runner, fs_tool_name);
- else {
- snprintf (fs_tool_name, sizeof (fs_tool_name),
- "/sbin/%s", fs->fs_tool_name);
- if (sys_access (fs_tool_name, R_OK|X_OK) == 0)
- runner_add_arg (&runner, fs_tool_name);
- }
+ runner_add_arg (&runner, fs->fs_tool_name);
break;
}
}
--
2.12.0

View File

@ -0,0 +1,211 @@
Two patches here backporting fixes from Emacs master.
Upstream status: emailed first patch to latest committer, Robin Templeton
<robin@igalia.com>, no response.
From dfcb3b6ff318e47b84a28cfc43f50bec42fa3570 Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Tue, 7 Nov 2017 18:48:03 +0100
Subject: [PATCH 1/2] backport: Port jpeg configuration to Solaris 10 with Sun
C.
* configure.ac: Check for jpeglib 6b by trying to link it, instead
of relying on cpp magic that has problems in practice. Check for
both jpeglib.h and jerror.h features. Remove special case for
mingw32, which should no longer be needed (and if it were needed,
should now be addressable by hotwiring emacs_cv_jpeglib).
Fixes: bug#20332
From fdf532b9c915ad9ba72155646d29d0f530fd72ec Mon Sep 17 00:00:00 2001
From: Paul Eggert <address@hidden>
Date: Wed, 15 Apr 2015 18:30:01 -0700
Subject: [PATCH] Port jpeg configuration to Solaris 10 with Sun C.
* configure.ac: Check for jpeglib 6b by trying to link it, instead
of relying on cpp magic that has problems in practice. Check for
both jpeglib.h and jerror.h features. Remove special case for
mingw32, which should no longer be needed (and if it were needed,
should now be addressable by hotwiring emacs_cv_jpeglib).
Fixes: bug#20332
---
configure.ac | 72 ++++++++++++++++++++++++++++--------------------------------
1 file changed, 34 insertions(+), 38 deletions(-)
diff --git a/configure.ac b/configure.ac
index 2445db4886..36fa8eb390 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3014,44 +3014,40 @@ AC_SUBST(LIBXPM)
### mingw32 doesn't use -ljpeg, since it loads the library dynamically.
HAVE_JPEG=no
LIBJPEG=
-if test "${opsys}" = "mingw32"; then
- if test "${with_jpeg}" != "no"; then
- dnl Checking for jpeglib.h can lose because of a redefinition of
- dnl HAVE_STDLIB_H.
- AC_CHECK_HEADER(jerror.h, HAVE_JPEG=yes, HAVE_JPEG=no)
- fi
- AH_TEMPLATE(HAVE_JPEG, [Define to 1 if you have the jpeg library (-ljpeg).])dnl
- if test "${HAVE_JPEG}" = "yes"; then
- AC_DEFINE(HAVE_JPEG)
- AC_EGREP_CPP([version= *(6[2-9]|[7-9][0-9])],
- [#include <jpeglib.h>
- version=JPEG_LIB_VERSION
-],
- [AC_DEFINE(HAVE_JPEG)],
- [AC_MSG_WARN([libjpeg found, but not version 6b or later])
- HAVE_JPEG=no])
- fi
-elif test "${HAVE_X11}" = "yes" || test "${HAVE_W32}" = "yes"; then
- if test "${with_jpeg}" != "no"; then
- dnl Checking for jpeglib.h can lose because of a redefinition of
- dnl HAVE_STDLIB_H.
- AC_CHECK_HEADER(jerror.h,
- [AC_CHECK_LIB(jpeg, jpeg_destroy_compress, HAVE_JPEG=yes)])
- fi
-
- AH_TEMPLATE(HAVE_JPEG, [Define to 1 if you have the jpeg library (-ljpeg).])dnl
- if test "${HAVE_JPEG}" = "yes"; then
- AC_DEFINE(HAVE_JPEG)
- AC_EGREP_CPP([version= *(6[2-9]|[7-9][0-9])],
- [#include <jpeglib.h>
- version=JPEG_LIB_VERSION
-],
- [AC_DEFINE(HAVE_JPEG)],
- [AC_MSG_WARN([libjpeg found, but not version 6b or later])
- HAVE_JPEG=no])
- fi
- if test "${HAVE_JPEG}" = "yes"; then
- LIBJPEG=-ljpeg
+if test "${with_jpeg}" != "no"; then
+ AC_CACHE_CHECK([for jpeglib 6b or later],
+ [emacs_cv_jpeglib],
+ [OLD_LIBS=$LIBS
+ for emacs_cv_jpeglib in yes -ljpeg no; do
+ case $emacs_cv_jpeglib in
+ yes) ;;
+ no) break;;
+ *) LIBS="$LIBS $emacs_cv_jpeglib";;
+ esac
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#undef HAVE_STDLIB_H /* Avoid config.h/jpeglib.h collision. */
+ #include <stdio.h> /* jpeglib.h needs FILE and size_t. */
+ #include <jpeglib.h>
+ #include <jerror.h>
+ char verify[JPEG_LIB_VERSION < 62 ? -1 : 1];
+ struct jpeg_decompress_struct cinfo;
+ ]],
+ [[
+ jpeg_create_decompress (&cinfo);
+ WARNMS (&cinfo, JWRN_JPEG_EOF);
+ jpeg_destroy_decompress (&cinfo);
+ ]])],
+ [emacs_link_ok=yes],
+ [emacs_link_ok=no])
+ LIBS=$OLD_LIBS
+ test $emacs_link_ok = yes && break
+ done])
+ if test "$emacs_cv_jpeglib" != no; then
+ HAVE_JPEG=yes
+ AC_DEFINE([HAVE_JPEG], 1,
+ [Define to 1 if you have the jpeg library (typically -ljpeg).])
+ test "$emacs_cv_jpeglib" != yes && LIBJPEG=$emacs_cv_jpeglib
fi
fi
AC_SUBST(LIBJPEG)
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
From f761b92d520b72954be28ad66eb82d1a96c785fb Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Wed, 8 Nov 2017 14:05:43 +0100
Subject: [PATCH 2/2] backport fix for #24065: calloc loop when compiling with
-O2.
This patch fixes
EMACSLOADPATH= '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp -l autoload \
--eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \
--eval "(setq generated-autoload-file (expand-file-name
(unmsys--file-name
\"../../git-checkout/lisp/calendar/cal-loaddefs.el\")))" \
-f batch-update-autoloads ../../git-checkout/lisp/calendar
make[2]: *** [Makefile:466: ../../git-checkout/lisp/calendar/cal-loaddefs.el] Segmentation fault
in gdb seen as
in calloc (nmemb=<error reading variable: DWARF-2 expression error:Loop detected (257).>, size=size@entry=1) at gmalloc.c:1510
I did not find malloc-fixing commits from emacs master to cleanly
cherry-pick, so this patch replaces the relevant part in configure
(emacs 53da55b8cc45e76b836ebaadd23f46e92d25abce).
* configure.ac: backport system_malloc/hybrid_malloc detection.
---
configure.ac | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index 36fa8eb390..3cc1794f37 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1966,7 +1966,25 @@ case "$opsys" in
darwin|mingw32|sol2-10) system_malloc=yes ;;
esac
+hybrid_malloc=
+system_malloc=yes
+
+test "$CANNOT_DUMP" = yes ||
+case "$opsys" in
+ ## darwin ld insists on the use of malloc routines in the System framework.
+ darwin | mingw32 | nacl | sol2-10) ;;
+ cygwin) hybrid_malloc=yes
+ system_malloc= ;;
+ *) test "$ac_cv_func_sbrk" = yes && system_malloc=$emacs_cv_sanitize_address;;
+esac
+
+if test "${system_malloc}" != yes && test "${doug_lea_malloc}" != yes \
+ && test "${UNEXEC_OBJ}" = unexelf.o; then
+ hybrid_malloc=yes
+fi
+
GMALLOC_OBJ=
+HYBRID_MALLOC=
if test "${system_malloc}" = "yes"; then
AC_DEFINE([SYSTEM_MALLOC], 1,
[Define to 1 to use the system memory allocator, even if it is not
@@ -1975,6 +1993,14 @@ if test "${system_malloc}" = "yes"; then
GNU_MALLOC_reason="
(The GNU allocators don't work with this system configuration.)"
VMLIMIT_OBJ=
+elif test "$hybrid_malloc" = yes; then
+ AC_DEFINE(HYBRID_MALLOC, 1,
+ [Define to use gmalloc before dumping and the system malloc after.])
+ HYBRID_MALLOC=1
+ GNU_MALLOC=no
+ GNU_MALLOC_reason=" (only before dumping)"
+ GMALLOC_OBJ=gmalloc.o
+ VMLIMIT_OBJ=
else
test "$doug_lea_malloc" != "yes" && GMALLOC_OBJ=gmalloc.o
VMLIMIT_OBJ=vm-limit.o
@@ -1993,10 +2019,11 @@ else
of the main data segment.])
fi
fi
+AC_SUBST([HYBRID_MALLOC])
AC_SUBST(GMALLOC_OBJ)
AC_SUBST(VMLIMIT_OBJ)
-if test "$doug_lea_malloc" = "yes" ; then
+if test "$doug_lea_malloc" = "yes" && test "$hybrid_malloc" != yes; then
if test "$GNU_MALLOC" = yes ; then
GNU_MALLOC_reason="
(Using Doug Lea's new malloc from the GNU C Library.)"
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com

View File

@ -2,12 +2,11 @@ Remove -march=native from build flags.
--- a/higan/GNUmakefile
+++ b/higan/GNUmakefile
@@ -32,7 +32,7 @@ ifeq ($(platform),windows)
else ifeq ($(platform),macosx)
flags += -march=native
else ifneq ($(filter $(platform),linux bsd),)
- flags += -march=native -fopenmp
+ flags += -fopenmp
@@ -26,7 +26,6 @@
flags += -fopenmp
link += -fopenmp
link += -Wl,-export-dynamic
link += -lX11 -lXext
ifeq ($(binary),application)
- flags += -march=native
link += -Wl,-export-dynamic
link += -lX11 -lXext
else ifeq ($(binary),library)

View File

@ -0,0 +1,41 @@
From ebe2323727f8d646590245b0bf06dbc92b5808d6 Mon Sep 17 00:00:00 2001
From: Golubev Alexander <fatzer2@gmail.com>
Date: Tue, 20 Sep 2016 15:33:30 +0400
Subject: [PATCH] JsonCreatorTest failed due to extra space
JsonCreatorTest failed with next message:
```
********* Start testing of mygpo::JsonCreatorTest *********
Config: Using QTest library 4.8.6, Qt 4.8.6
PASS : mygpo::JsonCreatorTest::initTestCase()
PASS : mygpo::JsonCreatorTest::testAddRemoveSubsToJSON()
PASS : mygpo::JsonCreatorTest::testSaveSettingsToJSON()
FAIL! : mygpo::JsonCreatorTest::testEpisodeActionListToJSON() Compared values are not the same
Actual (outString2): [{"action":"download","device":"device1","episode":"http://episode.url","podcast":"http://podcast.url","timestamp":"1998-01-01T00:01:02"},{"action":"delete","device":"device3","episode":"http://episode2.url","podcast":"http://podcast2.url","timestamp":"1920-01-01T12:01:02"},{"action":"new","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","timestamp":"1998-01-01T00:01:02"},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","timestamp":"1920-01-01T12:01:02"},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","position":123,"started":10,"timestamp":"1998-01-01T00:01:02","total":321},{"action":"play","device":"foodev","episode":"http://www.podtrac.com","podcast":"http://leo.am","position":10,"timestamp":"1998-01-01T00:01:02"}]
Expected (expected2): [{"action":"download","device":"device1","episode":"http://episode.url","podcast":"http:
Loc: [/var/tmp/portage/media-libs/libmygpo-qt-1.0.9-r1/work/libmygpo-qt-1.0.9/tests/JsonCreatorTest.cpp(138)]
PASS : mygpo::JsonCreatorTest::testRenameDeviceStringToJSON()
PASS : mygpo::JsonCreatorTest::testDeviceSynchronizationListsToJSON()
PASS : mygpo::JsonCreatorTest::cleanupTestCase()
Totals: 6 passed, 1 failed, 0 skipped
********* Finished testing of mygpo::JsonCreatorTest *********
```
This was caused by extra space in the expected string.
---
tests/JsonCreatorTest.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/JsonCreatorTest.cpp b/tests/JsonCreatorTest.cpp
index b15b006..feb03d5 100644
--- a/tests/JsonCreatorTest.cpp
+++ b/tests/JsonCreatorTest.cpp
@@ -133,7 +133,7 @@ void JsonCreatorTest::testEpisodeActionListToJSON()
output = JsonCreator::episodeActionListToJSON(episodeActions);
QString outString2 = QString::fromLatin1( output ).replace( QLatin1String(" "), QLatin1String("") );
- QString expected2( QLatin1String( "[{\"action\":\"download\",\"device\":\"device1\",\"episode\":\"http://episode.url\",\"podcast\":\"http://podcast.url\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"delete\",\"device\":\"device3\",\"episode\":\"http://episode2.url\",\"podcast\":\"http://podcast2.url\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"new\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1920-01-01T12:01:02\" },{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":123,\"started\":10,\"timestamp\":\"1998-01-01T00:01:02\",\"total\":321},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":10,\"timestamp\":\"1998-01-01T00:01:02\"}]" ) );
+ QString expected2( QLatin1String( "[{\"action\":\"download\",\"device\":\"device1\",\"episode\":\"http://episode.url\",\"podcast\":\"http://podcast.url\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"delete\",\"device\":\"device3\",\"episode\":\"http://episode2.url\",\"podcast\":\"http://podcast2.url\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"new\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1998-01-01T00:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"timestamp\":\"1920-01-01T12:01:02\"},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":123,\"started\":10,\"timestamp\":\"1998-01-01T00:01:02\",\"total\":321},{\"action\":\"play\",\"device\":\"foodev\",\"episode\":\"http://www.podtrac.com\",\"podcast\":\"http://leo.am\",\"position\":10,\"timestamp\":\"1998-01-01T00:01:02\"}]" ) );
QCOMPARE(outString2, expected2 );
}

View File

@ -1,27 +0,0 @@
Fix compatibility with Boost 1.63.
Patch copied from upstream source repository:
https://github.com/arvidn/libtorrent/commit/6d2d736cecce0af274dd651dd1f562716b625d92
From 6d2d736cecce0af274dd651dd1f562716b625d92 Mon Sep 17 00:00:00 2001
From: arvidn <arvid@cs.umu.se>
Date: Sun, 12 Mar 2017 13:03:26 -0400
Subject: [PATCH] fix test_ssl.cpp build with newer versions of boost
---
test/test_ssl.cpp | 1 -
1 file changed, 1 deletion(-)
diff --git a/test/test_ssl.cpp b/test/test_ssl.cpp
index 01c5bc7..2903332 100644
--- a/test/test_ssl.cpp
+++ b/test/test_ssl.cpp
@@ -51,7 +51,6 @@ POSSIBILITY OF SUCH DAMAGE.
#include <boost/asio/connect.hpp>
#ifdef TORRENT_USE_OPENSSL
-#include <boost/asio/ssl/error.hpp> // for asio::error::get_ssl_category()
#include <boost/asio/ssl.hpp>
#include "libtorrent/aux_/disable_warnings_pop.hpp"

View File

@ -1,84 +0,0 @@
Fix CVE-2017-1000256:
https://security.libvirt.org/2017/0002.html
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-1000256
Patch copied from upstream source repository:
https://libvirt.org/git/?p=libvirt.git;a=commit;h=dc6c41798d1eb5c52c75365ffa22f7672709dfa7
From dc6c41798d1eb5c52c75365ffa22f7672709dfa7 Mon Sep 17 00:00:00 2001
From: Daniel P. Berrange <berrange@redhat.com>
Date: Thu, 5 Oct 2017 17:54:28 +0100
Subject: [PATCH] qemu: ensure TLS clients always verify the server certificate
The default_tls_x509_verify (and related) parameters in qemu.conf
control whether the QEMU TLS servers request & verify certificates
from clients. This works as a simple access control system for
servers by requiring the CA to issue certs to permitted clients.
This use of client certificates is disabled by default, since it
requires extra work to issue client certificates.
Unfortunately the code was using this configuration parameter when
setting up both TLS clients and servers in QEMU. The result was that
TLS clients for character devices and disk devices had verification
turned off, meaning they would ignore errors while validating the
server certificate.
This allows for trivial MITM attacks between client and server,
as any certificate returned by the attacker will be accepted by
the client.
This is assigned CVE-2017-1000256 / LSN-2017-0002
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
(cherry picked from commit 441d3eb6d1be940a67ce45a286602a967601b157)
---
src/qemu/qemu_command.c | 2 +-
.../qemuxml2argv-serial-tcp-tlsx509-chardev.args | 2 +-
...xml2argv-serial-tcp-tlsx509-secret-chardev.args | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 9a27987..ae78cd1 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -718,7 +718,7 @@ qemuBuildTLSx509BackendProps(const char *tlspath,
if (virJSONValueObjectCreate(propsret,
"s:dir", path,
"s:endpoint", (isListen ? "server": "client"),
- "b:verify-peer", verifypeer,
+ "b:verify-peer", (isListen ? verifypeer : true),
NULL) < 0)
goto cleanup;
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args
index 5aff773..ab5f7e2 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-chardev.args
@@ -26,7 +26,7 @@ server,nowait \
localport=1111 \
-device isa-serial,chardev=charserial0,id=serial0 \
-object tls-creds-x509,id=objcharserial1_tls0,dir=/etc/pki/libvirt-chardev,\
-endpoint=client,verify-peer=no \
+endpoint=client,verify-peer=yes \
-chardev socket,id=charserial1,host=127.0.0.1,port=5555,\
tls-creds=objcharserial1_tls0 \
-device isa-serial,chardev=charserial1,id=serial1 \
diff --git a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args
index 91f1fe0..2567abb 100644
--- a/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args
+++ b/tests/qemuxml2argvdata/qemuxml2argv-serial-tcp-tlsx509-secret-chardev.args
@@ -31,7 +31,7 @@ localport=1111 \
data=9eao5F8qtkGt+seB1HYivWIxbtwUu6MQtg1zpj/oDtUsPr1q8wBYM91uEHCn6j/1,\
keyid=masterKey0,iv=AAECAwQFBgcICQoLDA0ODw==,format=base64 \
-object tls-creds-x509,id=objcharserial1_tls0,dir=/etc/pki/libvirt-chardev,\
-endpoint=client,verify-peer=no,passwordid=charserial1-secret0 \
+endpoint=client,verify-peer=yes,passwordid=charserial1-secret0 \
-chardev socket,id=charserial1,host=127.0.0.1,port=5555,\
tls-creds=objcharserial1_tls0 \
-device isa-serial,chardev=charserial1,id=serial1 \
--
1.7.1

View File

@ -0,0 +1,131 @@
From a41cc020fd6e40b358103425edfa50e6a10fc973 Mon Sep 17 00:00:00 2001
From: Anatoli Papirovski <apapirovski@mac.com>
Date: Thu, 2 Nov 2017 12:46:31 -0400
Subject: [PATCH] test: fix flaky test-http2-server-rst-stream.js
PR-URL: https://github.com/nodejs/node/pull/16690
Fixes: https://github.com/nodejs/node/issues/16688
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
---
test/parallel/test-http2-server-rst-stream.js | 93 ++++++++++-----------------
1 file changed, 35 insertions(+), 58 deletions(-)
diff --git a/test/parallel/test-http2-server-rst-stream.js b/test/parallel/test-http2-server-rst-stream.js
index b92217dc99..dd38efb42f 100644
--- a/test/parallel/test-http2-server-rst-stream.js
+++ b/test/parallel/test-http2-server-rst-stream.js
@@ -5,11 +5,9 @@ if (!common.hasCrypto)
common.skip('missing crypto');
const assert = require('assert');
const http2 = require('http2');
+const Countdown = require('../common/countdown');
const {
- HTTP2_HEADER_METHOD,
- HTTP2_HEADER_PATH,
- HTTP2_METHOD_POST,
NGHTTP2_CANCEL,
NGHTTP2_NO_ERROR,
NGHTTP2_PROTOCOL_ERROR,
@@ -17,63 +15,42 @@ const {
NGHTTP2_INTERNAL_ERROR
} = http2.constants;
-const errCheck = common.expectsError({ code: 'ERR_HTTP2_STREAM_ERROR' }, 6);
+const tests = [
+ ['rstStream', NGHTTP2_NO_ERROR, false],
+ ['rstWithNoError', NGHTTP2_NO_ERROR, false],
+ ['rstWithProtocolError', NGHTTP2_PROTOCOL_ERROR, true],
+ ['rstWithCancel', NGHTTP2_CANCEL, false],
+ ['rstWithRefuse', NGHTTP2_REFUSED_STREAM, true],
+ ['rstWithInternalError', NGHTTP2_INTERNAL_ERROR, true]
+];
+
+const server = http2.createServer();
+server.on('stream', (stream, headers) => {
+ const method = headers['rstmethod'];
+ stream[method]();
+});
+
+server.listen(0, common.mustCall(() => {
+ const client = http2.connect(`http://localhost:${server.address().port}`);
+
+ const countdown = new Countdown(tests.length, common.mustCall(() => {
+ client.destroy();
+ server.close();
+ }));
-function checkRstCode(rstMethod, expectRstCode) {
- const server = http2.createServer();
- server.on('stream', (stream, headers, flags) => {
- stream.respond({
- 'content-type': 'text/html',
- ':status': 200
+ tests.forEach((test) => {
+ const req = client.request({
+ ':method': 'POST',
+ rstmethod: test[0]
});
- stream.write('test');
- if (rstMethod === 'rstStream')
- stream[rstMethod](expectRstCode);
- else
- stream[rstMethod]();
-
- if (expectRstCode !== NGHTTP2_NO_ERROR &&
- expectRstCode !== NGHTTP2_CANCEL) {
- stream.on('error', common.mustCall(errCheck));
- } else {
- stream.on('error', common.mustNotCall());
- }
- });
-
- server.listen(0, common.mustCall(() => {
- const port = server.address().port;
- const client = http2.connect(`http://localhost:${port}`);
-
- const headers = {
- [HTTP2_HEADER_PATH]: '/',
- [HTTP2_HEADER_METHOD]: HTTP2_METHOD_POST
- };
- const req = client.request(headers);
-
- req.setEncoding('utf8');
- req.on('streamClosed', common.mustCall((actualRstCode) => {
- assert.strictEqual(
- expectRstCode, actualRstCode, `${rstMethod} is not match rstCode`);
- server.close();
- client.destroy();
+ req.on('streamClosed', common.mustCall((code) => {
+ assert.strictEqual(code, test[1]);
+ countdown.dec();
}));
- req.on('data', common.mustCall());
req.on('aborted', common.mustCall());
- req.on('end', common.mustCall());
-
- if (expectRstCode !== NGHTTP2_NO_ERROR &&
- expectRstCode !== NGHTTP2_CANCEL) {
- req.on('error', common.mustCall(errCheck));
- } else {
+ if (test[2])
+ req.on('error', common.mustCall());
+ else
req.on('error', common.mustNotCall());
- }
-
- }));
-}
-
-checkRstCode('rstStream', NGHTTP2_NO_ERROR);
-checkRstCode('rstWithNoError', NGHTTP2_NO_ERROR);
-checkRstCode('rstWithProtocolError', NGHTTP2_PROTOCOL_ERROR);
-checkRstCode('rstWithCancel', NGHTTP2_CANCEL);
-checkRstCode('rstWithRefuse', NGHTTP2_REFUSED_STREAM);
-checkRstCode('rstWithInternalError', NGHTTP2_INTERNAL_ERROR);
+ });
+}));
--
2.15.0

View File

@ -0,0 +1,22 @@
Fix CVE-2017-1000229:
https://security-tracker.debian.org/tracker/CVE-2017-1000229
https://people.canonical.com/~ubuntu-security/cve/2017/CVE-2017-1000229.html
https://nvd.nist.gov/vuln/detail/CVE-2017-1000229
Patch copied from upstream bug tracker:
https://sourceforge.net/p/optipng/bugs/65/
diff --git a/src/minitiff/tiffread.c b/src/minitiff/tiffread.c
index b4910ec..5f9b376 100644
--- a/src/minitiff/tiffread.c
+++ b/src/minitiff/tiffread.c
@@ -350,6 +350,8 @@ minitiff_read_info(struct minitiff_info *tiff_ptr, FILE *fp)
count = tiff_ptr->strip_offsets_count;
if (count == 0 || count > tiff_ptr->height)
goto err_invalid;
+ if (count > (size_t)-1 / sizeof(long))
+ goto err_memory;
tiff_ptr->strip_offsets = (long *)malloc(count * sizeof(long));
if (tiff_ptr->strip_offsets == NULL)
goto err_memory;

Some files were not shown because too many files have changed in this diff Show More