Merge branch 'master' into core-updates

master
Mark H Weaver 2017-06-26 00:00:58 -04:00
commit ed068b960e
No known key found for this signature in database
GPG Key ID: 7CEF29847562C516
131 changed files with 3976 additions and 1448 deletions

View File

@ -333,6 +333,12 @@ distribution to make transverse changes such as applying security
updates for a given software package in a single place and have them
affect the whole system---something that bundled copies prevent.
@item
If the authors of the packaged software provide a cryptographic
signature for the release tarball, make an effort to verify the
authenticity of the archive. For a detached GPG signature file this
would be done with the @code{gpg --verify} command.
@item
Take a look at the profile reported by @command{guix size}
(@pxref{Invoking guix size}). This will allow you to notice references

View File

@ -1258,12 +1258,47 @@ Assume @var{system} as the current system type. By default it is the
architecture/kernel pair found at configure time, such as
@code{x86_64-linux}.
@item --listen=@var{socket}
Listen for connections on @var{socket}, the file name of a Unix-domain
socket. The default socket is
@file{@var{localstatedir}/daemon-socket/socket}. This option is only
useful in exceptional circumstances, such as if you need to run several
daemons on the same machine.
@item --listen=@var{endpoint}
Listen for connections on @var{endpoint}. @var{endpoint} is interpreted
as the file name of a Unix-domain socket if it starts with
@code{/} (slash sign). Otherwise, @var{endpoint} is interpreted as a
host name or host name and port to listen to. Here are a few examples:
@table @code
@item --listen=/gnu/var/daemon
Listen for connections on the @file{/gnu/var/daemon} Unix-domain socket,
creating it if needed.
@item --listen=localhost
@cindex daemon, remote access
@cindex remote access to the daemon
@cindex daemon, cluster setup
@cindex clusters, daemon setup
Listen for TCP connections on the network interface corresponding to
@code{localhost}, on port 44146.
@item --listen=128.0.0.42:1234
Listen for TCP connections on the network interface corresponding to
@code{128.0.0.42}, on port 1234.
@end table
This option can be repeated multiple times, in which case
@command{guix-daemon} accepts connections on all the specified
endpoints. Users can tell client commands what endpoint to connect to
by setting the @code{GUIX_DAEMON_SOCKET} environment variable
(@pxref{The Store, @code{GUIX_DAEMON_SOCKET}}).
@quotation Note
The daemon protocol is @emph{unauthenticated and unencrypted}. Using
@code{--listen=@var{host}} is suitable on local networks, such as
clusters, where only trusted nodes may connect to the build daemon. In
other cases where remote access to the daemon is needed, we recommend
using Unix-domain sockets along with SSH.
@end quotation
When @code{--listen} is omitted, @command{guix-daemon} listens for
connections on the Unix-domain socket located at
@file{@var{localstatedir}/daemon-socket/socket}.
@end table
@ -3769,9 +3804,13 @@ These are for Unix-domain sockets.
@file{/var/guix/daemon-socket/socket}.
@item guix
@cindex daemon, remote access
@cindex remote access to the daemon
@cindex daemon, cluster setup
@cindex clusters, daemon setup
These URIs denote connections over TCP/IP, without encryption nor
authentication of the remote host. The URI must always specify both the
host name and port number:
authentication of the remote host. The URI must specify the host name
and optionally a port number (by default port 44146 is used):
@example
guix://master.guix.example.org:1234
@ -3781,6 +3820,10 @@ This setup is suitable on local networks, such as clusters, where only
trusted nodes may connect to the build daemon at
@code{master.guix.example.org}.
The @code{--listen} option of @command{guix-daemon} can be used to
instruct it to listen for TCP connections (@pxref{Invoking guix-daemon,
@code{--listen}}).
@item ssh
@cindex SSH access to build daemons
These URIs allow you to connect to a remote daemon over
@ -13907,26 +13950,21 @@ The serial number of the zone. As this is used to keep track of changes by
both slaves and resolvers, it is mandatory that it @emph{never} decreases.
Always increment it when you make a change in your zone.
@item @code{refresh} (default: @code{"2d"})
The frequency at which slaves will do a zone transfer. This value can be
a number of seconds or a number of some unit between:
@itemize
@item m: minute
@item h: hour
@item d: day
@item w: week
@end itemize
@item @code{refresh} (default: @code{(* 2 24 3600)})
The frequency at which slaves will do a zone transfer. This value is a number
of seconds. It can be computed by multiplications or with
@code{(string->duration)}.
@item @code{retry} (default: @code{"15m"})
@item @code{retry} (default: @code{(* 15 60)})
The period after which a slave will retry to contact its master when it fails
to do so a first time.
@item @code{expiry} (default: @code{"2w"})
@item @code{expiry} (default: @code{(* 14 24 3600)})
Default TTL of records. Existing records are considered correct for at most
this amount of time. After this period, resolvers will invalidate their cache
and check again that it still exists.
@item @code{nx} (default: @code{"1h"})
@item @code{nx} (default: @code{3600})
Default TTL of inexistant records. This delay is usually short because you want
your new domains to reach everyone quickly.
@ -14029,17 +14067,17 @@ algorithm, but would be unsecure for other algorithms.
The TTL value for DNSKEY records added into zone apex. The special
@code{'default} value means same as the zone SOA TTL.
@item @code{zsk-lifetime} (default: @code{"30d"})
@item @code{zsk-lifetime} (default: @code{(* 30 24 3600)})
The period between ZSK publication and the next rollover initiation.
@item @code{propagation-delay} (default: @code{"1d"})
@item @code{propagation-delay} (default: @code{(* 24 3600)})
An extra delay added for each key rollover step. This value should be high
enough to cover propagation of data from the master server to all slaves.
@item @code{rrsig-lifetime} (default: @code{"14d"})
@item @code{rrsig-lifetime} (default: @code{(* 14 24 3600)})
A validity period of newly issued signatures.
@item @code{rrsig-refresh} (default: @code{"7d"})
@item @code{rrsig-refresh} (default: @code{(* 7 24 3600)})
A period how long before a signature expiration the signature will be refreshed.
@item @code{nsec3?} (default: @code{#f})
@ -14052,7 +14090,7 @@ The number of additional times the hashing is performed.
The length of a salt field in octets, which is appended to the original owner
name before hashing.
@item @code{nsec3-salt-lifetime} (default: @code{"30d"})
@item @code{nsec3-salt-lifetime} (default: @code{(* 30 24 3600)})
The validity period of newly issued salt field.
@end table

View File

@ -25,7 +25,8 @@
#:use-module (guix monads)
#:use-module (guix records)
#:use-module (guix utils)
#:export (extlinux-bootloader))
#:export (extlinux-bootloader
extlinux-bootloader-gpt))
(define* (extlinux-configuration-file config entries
#:key
@ -93,7 +94,7 @@ TIMEOUT ~a~%"
(string-append "if=" if)
(string-append "of=" of)))))
(define install-extlinux
(define (install-extlinux mbr)
#~(lambda (bootloader device mount-point)
(let ((extlinux (string-append bootloader "/sbin/extlinux"))
(install-dir (string-append mount-point "/boot/extlinux"))
@ -103,9 +104,15 @@ TIMEOUT ~a~%"
(find-files syslinux-dir "\\.c32$"))
(unless (and (zero? (system* extlinux "--install" install-dir))
(#$dd 440 1 (string-append syslinux-dir "/mbr.bin") device))
(#$dd 440 1 (string-append syslinux-dir "/" #$mbr) device))
(error "failed to install SYSLINUX")))))
(define install-extlinux-mbr
(install-extlinux "mbr.bin"))
(define install-extlinux-gpt
(install-extlinux "gptmbr.bin"))
;;;
@ -116,6 +123,11 @@ TIMEOUT ~a~%"
(bootloader
(name 'extlinux)
(package syslinux)
(installer install-extlinux)
(installer install-extlinux-mbr)
(configuration-file "/boot/extlinux/extlinux.conf")
(configuration-file-generator extlinux-configuration-file)))
(define extlinux-bootloader-gpt
(bootloader
(inherit extlinux-bootloader)
(installer install-extlinux-gpt)))

View File

@ -126,6 +126,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/ebook.scm \
%D%/packages/ed.scm \
%D%/packages/education.scm \
%D%/packages/electronics.scm \
%D%/packages/elf.scm \
%D%/packages/elixir.scm \
%D%/packages/embedded.scm \
@ -416,7 +417,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/xorg.scm \
%D%/packages/xfce.scm \
%D%/packages/zile.scm \
%D%/packages/zip.scm \
\
%D%/services.scm \
%D%/services/admin.scm \
@ -493,7 +493,6 @@ dist_patch_DATA = \
%D%/packages/patches/a2ps-CVE-2001-1593.patch \
%D%/packages/patches/a2ps-CVE-2014-0466.patch \
%D%/packages/patches/abiword-explictly-cast-bools.patch \
%D%/packages/patches/abiword-wmf-version-lookup-fix.patch \
%D%/packages/patches/abiword-black-drawing-with-gtk322.patch \
%D%/packages/patches/acl-hurd-path-max.patch \
%D%/packages/patches/aegis-constness-error.patch \
@ -522,7 +521,6 @@ dist_patch_DATA = \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/cairo-CVE-2016-9082.patch \
%D%/packages/patches/calibre-drop-unrar.patch \
%D%/packages/patches/calibre-dont-load-remote-icons.patch \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-use-packaged-feedparser.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
@ -622,11 +620,15 @@ dist_patch_DATA = \
%D%/packages/patches/ghostscript-runpath.patch \
%D%/packages/patches/glib-networking-ssl-cert-file.patch \
%D%/packages/patches/glib-tests-timer.patch \
%D%/packages/patches/glibc-CVE-2017-1000366-pt1.patch \
%D%/packages/patches/glibc-CVE-2017-1000366-pt2.patch \
%D%/packages/patches/glibc-CVE-2017-1000366-pt3.patch \
%D%/packages/patches/glibc-bootstrap-system.patch \
%D%/packages/patches/glibc-ldd-x86_64.patch \
%D%/packages/patches/glibc-locales.patch \
%D%/packages/patches/glibc-memchr-overflow-i686.patch \
%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/glog-gcc-5-demangling.patch \
%D%/packages/patches/gmp-arm-asm-nothumb.patch \
@ -649,7 +651,7 @@ dist_patch_DATA = \
%D%/packages/patches/guile-present-coding.patch \
%D%/packages/patches/guile-relocatable.patch \
%D%/packages/patches/guile-rsvg-pkgconfig.patch \
gnu/packages/patches/guile-ssh-channel-finalization.patch \
%D%/packages/patches/guile-ssh-channel-finalization.patch \
%D%/packages/patches/guile-ssh-double-free.patch \
%D%/packages/patches/guile-ssh-rexec-bug.patch \
%D%/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
@ -753,18 +755,6 @@ dist_patch_DATA = \
%D%/packages/patches/libunwind-CVE-2015-3239.patch \
%D%/packages/patches/libunistring-gnulib-multi-core.patch \
%D%/packages/patches/libvpx-CVE-2016-2818.patch \
%D%/packages/patches/libwmf-CAN-2004-0941.patch \
%D%/packages/patches/libwmf-CVE-2006-3376.patch \
%D%/packages/patches/libwmf-CVE-2007-0455.patch \
%D%/packages/patches/libwmf-CVE-2007-2756.patch \
%D%/packages/patches/libwmf-CVE-2007-3472.patch \
%D%/packages/patches/libwmf-CVE-2007-3473.patch \
%D%/packages/patches/libwmf-CVE-2007-3477.patch \
%D%/packages/patches/libwmf-CVE-2009-1364.patch \
%D%/packages/patches/libwmf-CVE-2009-3546.patch \
%D%/packages/patches/libwmf-CVE-2015-0848+CVE-2015-4588.patch \
%D%/packages/patches/libwmf-CVE-2015-4695.patch \
%D%/packages/patches/libwmf-CVE-2015-4696.patch \
%D%/packages/patches/libxcb-python-3.5-compat.patch \
%D%/packages/patches/libxml2-CVE-2016-4658.patch \
%D%/packages/patches/libxml2-CVE-2016-5131.patch \
@ -941,6 +931,7 @@ dist_patch_DATA = \
%D%/packages/patches/qemu-CVE-2017-8309.patch \
%D%/packages/patches/qemu-CVE-2017-8379.patch \
%D%/packages/patches/qemu-CVE-2017-8380.patch \
%D%/packages/patches/qemu-CVE-2017-9524.patch \
%D%/packages/patches/qt4-ldflags.patch \
%D%/packages/patches/qtscript-disable-tests.patch \
%D%/packages/patches/quickswitch-fix-dmenu-check.patch \

View File

@ -2,6 +2,7 @@
;;; Copyright © 2014 Marek Benc <merkur32@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
@ -55,8 +56,7 @@
(sha256
(base32 "08imry821g81apdwym3gcs4nss0l9j5blqk31j5rv602zmcd9gxg"))
(patches
(search-patches "abiword-wmf-version-lookup-fix.patch"
"abiword-explictly-cast-bools.patch"
(search-patches "abiword-explictly-cast-bools.patch"
"abiword-black-drawing-with-gtk322.patch"))))
(build-system glib-or-gtk-build-system)
@ -97,7 +97,6 @@
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("librsvg" ,librsvg)
("libwmf" ,libwmf)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
("ots" ,ots)

View File

@ -481,9 +481,9 @@ connection alive.")
(define-public isc-dhcp
(let* ((bind-major-version "9")
(bind-minor-version "9")
(bind-patch-version "9")
(bind-patch-version "10")
(bind-release-type "-P") ; for patch release, use "-P"
(bind-release-version "8") ; for patch release, e.g. "6"
(bind-release-version "1") ; for patch release, e.g. "6"
(bind-version (string-append bind-major-version
"."
bind-minor-version
@ -599,7 +599,7 @@ connection alive.")
"/bind-" bind-version ".tar.gz"))
(sha256
(base32
"1f5i64f6y4rmy61y63r5if1lifw8dw8r8dh6ns3x4002hanzrpgz"))))
"1ibbparr9k52rbs0qf0ar8jwvhhx6lja7ylxzpf32swklmhz629c"))))
;; When cross-compiling, we need the cross Coreutils and sed.
;; Otherwise just use those from %FINAL-INPUTS.
@ -2126,7 +2126,7 @@ tool for remote execution and deployment.")
(define-public neofetch
(package
(name "neofetch")
(version "3.1.0")
(version "3.2.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/dylanaraps/neofetch/"
@ -2134,7 +2134,7 @@ tool for remote execution and deployment.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1rgznkl7a5q7lnc6zxlwvinq20b7k46n949l1hiwifarv0jgwynv"))))
"07a32rzmch51znxspzyc7zyaldmr383v70b49wmnjdjs2qfdbv3a"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; there are no tests

View File

@ -59,7 +59,7 @@ scripts.")
(define-public c-ares
(package
(name "c-ares")
(version "1.12.0")
(version "1.13.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -67,7 +67,7 @@ scripts.")
".tar.gz"))
(sha256
(base32
"1yv5ygkd813glz8hbagykgp1hlb6450chig061hr7pyw7i0gk4l6"))))
"19qxhv9aiw903fr808y77r6l9js0fq9m3gcaqckan9jan7qhixq3"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

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.2.3-37")
(version "1.2.3-51")
(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
"180146rm8fxlbd6x25x81yscf6q8qjpzr35k203r25c2xkcb7h2x"))))
"1w7d4sdjbvqiibnfkhrqy9np3smsysilfba9pry3q1qn5g5y6nrp"))))
(build-system gnu-build-system)
(arguments
`(#:phases

View File

@ -34,14 +34,14 @@
(define-public nasm
(package
(name "nasm")
(version "2.12.02")
(version "2.13.01")
(source (origin
(method url-fetch)
(uri (string-append "http://www.nasm.us/pub/nasm/releasebuilds/"
version "/" name "-" version ".tar.xz"))
(sha256
(base32
"08a3ah791cl7xdyrlz33mwv4xzs08rxh0p902p3ypi5iq1h6p1jc"))))
"0plsvcwxc7q3llr3bz10prwq1gn4ll38aqmv0yzfqcq4iw0160ma"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl) ;for doc and test target
("texinfo" ,texinfo)))
@ -52,10 +52,10 @@
(add-after 'unpack 'dont-build-ps-pdf-outputs
(lambda _
(substitute* "doc/Makefile.in"
(("info html nasmdoc.txt nasmdoc.ps nasmdoc.pdf")
"info html nasmdoc.txt")
(("nasmdoc.ps nasmdoc.pdf nasmdoc.txt \\$\\(INSTALLROOT\\)\\$\\(docdir\\)")
"nasmdoc.txt $(INSTALLROOT)$(docdir)"))
(("html nasmdoc.txt nasmdoc.pdf")
"html nasmdoc.txt")
(("\\$\\(INSTALL_DATA\\) nasmdoc.pdf")
"$(INSTALL_DATA)"))
#t))
(add-after 'install 'install-info
(lambda _

View File

@ -108,6 +108,10 @@ systems in a FITS image header.")
("libjpeg" ,libjpeg-8)
("wcslib" ,wcslib)))
(build-system gnu-build-system)
(arguments
;; Reduce the number of required type conversions by enabling arithmetic
;; with all the supported types.
`(#:configure-flags '("--enable-bin-op-alltypes")))
(home-page "https://www.gnu.org/software/gnuastro/")
(synopsis "Astronomy utilities")
(description "The GNU Astronomy Utilities (Gnuastro) is a suite of

View File

@ -79,7 +79,6 @@
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1))
(define-public alsa-modular-synth

View File

@ -27,11 +27,11 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages cross-base)
#:use-module (gnu packages flashing-tools)
#:use-module (gnu packages gcc)
#:use-module (gnu packages vim)
#:use-module (gnu packages zip))
#:use-module (gnu packages vim))
(define-public avr-binutils
(package

View File

@ -514,6 +514,7 @@ store.")
(package
(name "glibc")
(version "2.25")
(replacement glibc-2.25-patched)
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/glibc/glibc-"
@ -768,6 +769,20 @@ GLIBC/HURD for a Hurd host"
(define-syntax glibc
(identifier-syntax (glibc-for-target)))
(define glibc-2.25-patched
(package
(inherit glibc)
(replacement #f)
(source (origin
(inherit (package-source glibc))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
"glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2017-1000366-pt1.patch"
"glibc-CVE-2017-1000366-pt2.patch"
"glibc-CVE-2017-1000366-pt3.patch"))))))
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
@ -775,30 +790,47 @@ GLIBC/HURD for a Hurd host"
(package
(inherit glibc)
(version "2.24")
(replacement #f)
(source (origin
(inherit (package-source glibc))
(uri (string-append "mirror://gnu/glibc/glibc-"
version ".tar.xz"))
(sha256
(base32
"1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r"))))))
"1lxmprg9gm73gvafxd503x70z32phwjzcy74i0adfi6ixzla7m4r"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
"glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2017-1000366-pt1.patch"
"glibc-CVE-2017-1000366-pt2.patch"
"glibc-CVE-2017-1000366-pt3.patch"))))))
(define-public glibc-2.23
(package
(inherit glibc)
(version "2.23")
(replacement #f)
(source (origin
(inherit (package-source glibc))
(uri (string-append "mirror://gnu/glibc/glibc-"
version ".tar.xz"))
(sha256
(base32
"1s8krs3y2n6pzav7ic59dz41alqalphv7vww4138ag30wh0fpvwl"))))))
"1s8krs3y2n6pzav7ic59dz41alqalphv7vww4138ag30wh0fpvwl"))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-versioned-locpath.patch"
"glibc-o-largefile.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2017-1000366-pt1.patch"
"glibc-CVE-2017-1000366-pt2.patch"
"glibc-CVE-2017-1000366-pt3.patch"))))))
(define-public glibc-2.22
(package
(inherit glibc)
(version "2.22")
(replacement #f)
(source (origin
(inherit (package-source glibc))
(uri (string-append "mirror://gnu/glibc/glibc-"
@ -806,7 +838,11 @@ GLIBC/HURD for a Hurd host"
(sha256
(base32
"0j49682pm2nh4qbdw35bas82p1pgfnz4d2l7iwfyzvrvj0318wzb"))
(patches (search-patches "glibc-ldd-x86_64.patch"))))
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-vectorized-strcspn-guards.patch"
"glibc-CVE-2017-1000366-pt1.patch"
"glibc-CVE-2017-1000366-pt2.patch"
"glibc-CVE-2017-1000366-pt3.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments glibc)
((#:phases phases)
@ -815,25 +851,27 @@ GLIBC/HURD for a Hurd host"
(lambda _
;; Use `pwd' instead of `/bin/pwd' for glibc-2.21
(substitute* "configure"
(("/bin/pwd") "pwd"))))))))))
(("/bin/pwd") "pwd"))
#t))))))))
(define-public glibc-2.21
(package
(inherit glibc-2.22)
(version "2.21")
(replacement #f)
(source (origin
(inherit (package-source glibc))
(inherit (package-source glibc-2.22))
(uri (string-append "mirror://gnu/glibc/glibc-"
version ".tar.xz"))
(sha256
(base32
"1f135546j34s9bfkydmx2nhh9vwxlx60jldi80zmsnln6wj3dsxf"))
(patches (search-patches "glibc-ldd-x86_64.patch"))))))
"1f135546j34s9bfkydmx2nhh9vwxlx60jldi80zmsnln6wj3dsxf"))))))
(define-public glibc-locales
(package
(inherit glibc)
(name "glibc-locales")
(replacement #f)
(source (origin (inherit (package-source glibc))
(patches (cons (search-patch "glibc-locales.patch")
(origin-patches (package-source glibc))))))

View File

@ -50,6 +50,7 @@
#:use-module (gnu packages cpio)
#:use-module (gnu packages curl)
#:use-module (gnu packages documentation)
#:use-module (gnu packages databases)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages file)
#:use-module (gnu packages flex)
@ -84,6 +85,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
#:use-module (gnu packages statistics)
#:use-module (gnu packages swig)
#:use-module (gnu packages tbb)
@ -96,7 +98,6 @@
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
@ -1384,15 +1385,13 @@ well as many of the command line options.")
(define-public python2-bx-python
(package
(name "python2-bx-python")
(version "0.7.2")
(version "0.7.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/b/bx-python/bx-python-"
version ".tar.gz"))
(uri (pypi-uri "bx-python" version))
(sha256
(base32
"0ld49idhc5zjdvbhvjq1a2qmpjj7h5v58rqr25dzmfq7g34b50xh"))
"15z2w3bvnc0n4qmb9bd6d8ylc2h2nj883x2w9iixf4x3vki9b22i"))
(modules '((guix build utils)))
(snippet
'(substitute* "setup.py"
@ -3697,7 +3696,7 @@ trimming, pruning, condensing, drawing (ASCII graphics or SVG).")
(define-public orfm
(package
(name "orfm")
(version "0.6.1")
(version "0.7.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -3705,7 +3704,7 @@ trimming, pruning, condensing, drawing (ASCII graphics or SVG).")
version "/orfm-" version ".tar.gz"))
(sha256
(base32
"19hwp13n82isdvk16710l9m35cmzf0q3fsrcn3r8c5r67biiz39s"))))
"16iigyr2gd8x0imzkk1dr3k5xsds9bpmwg31ayvjg0f4pir9rwqr"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)))
(native-inputs
@ -9540,3 +9539,168 @@ correct interaction matrices, identify and compare the so-called
interaction matrices, and finally, extract structural properties from the
models. TADbit is complemented by TADkit for visualizing 3D models.")
(license license:gpl3+)))
(define-public kentutils
(package
(name "kentutils")
;; 302.1.0 is out, but the only difference is the inclusion of
;; pre-built binaries.
(version "302.0.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/ENCODE-DCC/kentUtils/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"134aja3k1cj32kbk1nnw0q9gxjb2krr15q6sga8qldzvc0585rmm"))
(modules '((guix build utils)
(srfi srfi-26)
(ice-9 ftw)))
(snippet
'(begin
;; Only the contents of the specified directories are free
;; for all uses, so we remove the rest. "hg/autoSql" and
;; "hg/autoXml" are nominally free, but they depend on a
;; library that is built from the sources in "hg/lib",
;; which is nonfree.
(let ((free (list "." ".."
"utils" "lib" "inc" "tagStorm"
"parasol" "htslib"))
(directory? (lambda (file)
(eq? 'directory (stat:type (stat file))))))
(for-each (lambda (file)
(and (directory? file)
(delete-file-recursively file)))
(map (cut string-append "src/" <>)
(scandir "src"
(lambda (file)
(not (member file free)))))))
;; Only make the utils target, not the userApps target,
;; because that requires libraries we won't build.
(substitute* "Makefile"
((" userApps") " utils"))
;; Only build libraries that are free.
(substitute* "src/makefile"
(("DIRS =.*") "DIRS =\n")
(("cd jkOwnLib.*") "")
((" hgLib") "")
(("cd hg.*") ""))
(substitute* "src/utils/makefile"
;; These tools depend on "jkhgap.a", which is part of the
;; nonfree "src/hg/lib" directory.
(("raSqlQuery") "")
(("pslLiftSubrangeBlat") "")
;; Do not build UCSC tools, which may require nonfree
;; components.
(("ALL_APPS =.*") "ALL_APPS = $(UTILS_APPLIST)\n"))
#t))))
(build-system gnu-build-system)
(arguments
`( ;; There is no global test target and the test target for
;; individual tools depends on input files that are not
;; included.
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda _
(substitute* "Makefile"
(("/bin/echo") (which "echo")))
#t))
(add-after 'unpack 'prepare-samtabix
(lambda* (#:key inputs #:allow-other-keys)
(copy-recursively (assoc-ref inputs "samtabix")
"samtabix")
#t))
(delete 'configure)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append (assoc-ref outputs "out")
"/bin")))
(copy-recursively "bin" bin))
#t)))))
(native-inputs
`(("samtabix"
,(origin
(method git-fetch)
(uri (git-reference
(url "http://genome-source.cse.ucsc.edu/samtabix.git")
(commit "10fd107909c1ac4d679299908be4262a012965ba")))
(sha256
(base32
"0c1nj64l42v395sa84n7az43xiap4i6f9n9dfz4058aqiwkhkmma"))))))
(inputs
`(("zlib" ,zlib)
("tcsh" ,tcsh)
("perl" ,perl)
("libpng" ,libpng)
("mysql" ,mysql)
("openssl" ,openssl)))
(home-page "http://genome.cse.ucsc.edu/index.html")
(synopsis "Assorted bioinformatics utilities")
(description "This package provides the kentUtils, a selection of
bioinformatics utilities used in combination with the UCSC genome
browser.")
;; Only a subset of the sources are released under a non-copyleft
;; free software license. All other sources are removed in a
;; snippet. See this bug report for an explanation of how the
;; license statements apply:
;; https://github.com/ENCODE-DCC/kentUtils/issues/12
(license (license:non-copyleft
"http://genome.ucsc.edu/license/"
"The contents of this package are free for all uses."))))
(define-public f-seq
(let ((commit "6ccded34cff38cf432deed8503648b4a66953f9b")
(revision "1"))
(package
(name "f-seq")
(version (string-append "1.1-" revision "." commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/aboyle/F-seq.git")
(commit commit)))
(file-name (string-append name "-" version))
(sha256
(base32
"1nk33k0yajg2id4g59bc4szr58r2q6pdq42vgcw054m8ip9wv26h"))
(modules '((guix build utils)))
;; Remove bundled Java library archives.
(snippet
'(begin
(for-each delete-file (find-files "lib" ".*"))
#t))))
(build-system ant-build-system)
(arguments
`(#:tests? #f ; no tests included
#:phases
(modify-phases %standard-phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((target (assoc-ref outputs "out"))
(doc (string-append target "/share/doc/f-seq/")))
(mkdir-p target)
(mkdir-p doc)
(substitute* "bin/linux/fseq"
(("java") (which "java")))
(install-file "README.txt" doc)
(install-file "bin/linux/fseq" (string-append target "/bin"))
(install-file "build~/fseq.jar" (string-append target "/lib"))
(copy-recursively "lib" (string-append target "/lib"))
#t))))))
(inputs
`(("perl" ,perl)
("java-commons-cli" ,java-commons-cli)))
(home-page "http://fureylab.web.unc.edu/software/fseq/")
(synopsis "Feature density estimator for high-throughput sequence tags")
(description
"F-Seq is a software package that generates a continuous tag sequence
density estimation allowing identification of biologically meaningful sites
such as transcription factor binding sites (ChIP-seq) or regions of open
chromatin (DNase-seq). Output can be displayed directly in the UCSC Genome
Browser.")
(license license:gpl3+))))

View File

@ -91,11 +91,15 @@
;; Make the font visible.
(copy-file (assoc-ref inputs "unifont") "unifont.bdf.gz")
(system* "gunzip" "unifont.bdf.gz")
#t)))
;; We suspect there are race conditions when running tests in parallel:
;; <https://bugs.gnu.org/26936>.
#:parallel-tests? #f))
#t))
(add-before 'check 'disable-flaky-test
(lambda _
;; This test is unreliable. For more information, see:
;; <https://bugs.gnu.org/26936>.
(substitute* "Makefile.in"
(("grub_cmd_date grub_cmd_set_date grub_cmd_sleep")
"grub_cmd_date grub_cmd_sleep"))
#t)))))
(inputs
`(("gettext" ,gettext-minimal)

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@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.
;;;
@ -24,13 +24,13 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages admin)
#:use-module (gnu packages perl)
#:use-module (gnu packages zip))
#:use-module (gnu packages compression)
#:use-module (gnu packages perl))
(define-public busybox
(package
(name "busybox")
(version "1.26.0")
(version "1.26.2")
(source (origin
(method url-fetch)
(uri (string-append
@ -38,44 +38,44 @@
version ".tar.bz2"))
(sha256
(base32
"0k0g3hk58m99c2sfq97ngnixb2rv2wzyhv3z00lxaw78bqvjglis"))))
"05mg6rh5smkzfwqfcazkpwy6h6555llsazikqnvwkaf17y8l8gns"))))
(build-system gnu-build-system)
(arguments
`(#:phases
'(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _ (zero? (system* "make" "defconfig"))))
(replace 'check
(lambda _
(substitute* '("testsuite/du/du-s-works"
"testsuite/du/du-works")
(substitute* '("testsuite/du/du-s-works"
"testsuite/du/du-works")
(("/bin") "/etc")) ; there is no /bin but there is a /etc
;; There is no /usr/bin or /bin - replace it with /gnu/store
(substitute* "testsuite/cpio.tests"
;; There is no /usr/bin or /bin - replace it with /gnu/store
(substitute* "testsuite/cpio.tests"
(("/usr/bin") (%store-directory))
(("usr") (car (filter (negate string-null?)
(string-split (%store-directory) #\/)))))
(string-split (%store-directory) #\/)))))
(substitute* "testsuite/date/date-works-1"
(substitute* "testsuite/date/date-works-1"
(("/bin/date") (which "date")))
;; The pidof tests assume that pid 1 is called "init" but that is not
;; true in guix build environment
(substitute* "testsuite/pidof.tests"
;; The pidof tests assume that pid 1 is called "init" but that is not
;; true in guix build environment
(substitute* "testsuite/pidof.tests"
(("-s init") "-s $(cat /proc/1/comm)"))
;; This test cannot possibly pass.
;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set.
;; However, this relies on /bin/ls existing. Which it does not in guix.
(delete-file "testsuite/which/which-uses-default-path")
(rmdir "testsuite/which")
;; This test cannot possibly pass.
;; It is trying to test that "which ls" returns "/bin/ls" when PATH is not set.
;; However, this relies on /bin/ls existing. Which it does not in guix.
(delete-file "testsuite/which/which-uses-default-path")
(rmdir "testsuite/which")
(zero? (system* "make"
;; "V=1"
"SKIP_KNOWN_BUGS=1"
"SKIP_INTERNET_TESTS=1"
"check"))))
(zero? (system* "make"
;; "V=1"
"SKIP_KNOWN_BUGS=1"
"SKIP_INTERNET_TESTS=1"
"check"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))

View File

@ -37,7 +37,6 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages bison)
#:use-module (gnu packages compression)
#:use-module (gnu packages zip)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)

View File

@ -39,7 +39,6 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages zip)
#:use-module (guix build-system gnu))
(define-public hydra

View File

@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2017 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -467,7 +467,7 @@ the bootstrap environment."
;; built just below; the only difference is that this one uses the
;; bootstrap Bash.
(package-with-bootstrap-guile
(package (inherit glibc)
(package/inherit glibc
(name "glibc-intermediate")
(arguments
`(#:guile ,%bootstrap-guile
@ -633,7 +633,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(define glibc-final
;; The final glibc, which embeds the statically-linked Bash built above.
(package (inherit glibc-final-with-bootstrap-bash)
(package/inherit glibc-final-with-bootstrap-bash
(name "glibc")
(inputs `(("static-bash" ,static-bash-for-glibc)
,@(alist-delete

View File

@ -16,6 +16,7 @@
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -54,7 +55,6 @@
#:use-module (gnu packages python)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages zip)
#:use-module (ice-9 match)
#:use-module ((srfi srfi-1) #:select (last)))
@ -1331,3 +1331,189 @@ as is the decompression of data compressed in this manner. Data compressed by
other implementations will only be decompressed by two threads: one performing
the actual decompression, the other input and output.")
(license (package-license zstd))))
(define-public zip
(package
(name "zip")
(version "3.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/infozip"
"/Zip%203.x%20%28latest%29/3.0/zip30.tar.gz"))
(sha256
(base32
"0sb3h3067pzf3a7mlxn1hikpcjrsvycjcnj9hl9b1c3ykcgvps7h"))))
(build-system gnu-build-system)
(inputs `(("bzip2" ,bzip2)))
(arguments
`(#:tests? #f ; no test target
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list "-f" "unix/Makefile"
(string-append "prefix=" out)
(string-append "MANDIR=" out "/share/man/man1")))
#:modules ((guix build gnu-build-system)
(guix build utils)
(srfi srfi-1))
#:phases
(modify-phases %standard-phases
(replace 'build
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(zero? (apply system* "make" "generic_gcc" make-flags))))
(delete 'configure))))
(home-page "http://www.info-zip.org/Zip.html")
(synopsis "Compression and file packing utility")
(description
"Zip is a compression and file packaging/archive utility. Zip is useful
for packaging a set of files for distribution, for archiving files, and for
saving disk space by temporarily compressing unused files or directories.
Zip puts one or more compressed files into a single ZIP archive, along with
information about the files (name, path, date, time of last modification,
protection, and check information to verify file integrity). An entire
directory structure can be packed into a ZIP archive with a single command.
Zip has one compression method (deflation) and can also store files without
compression. Zip automatically chooses the better of the two for each file.
Compression ratios of 2:1 to 3:1 are common for text files.")
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))))
(define-public unzip
(package (inherit zip)
(name "unzip")
(version "6.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/infozip"
"/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz"))
(sha256
(base32
"0dxx11knh3nk95p2gg2ak777dd11pr7jx5das2g49l262scrcv83"))
(patches (search-patches "unzip-CVE-2014-8139.patch"
"unzip-CVE-2014-8140.patch"
"unzip-CVE-2014-8141.patch"
"unzip-CVE-2014-9636.patch"
"unzip-CVE-2015-7696.patch"
"unzip-CVE-2015-7697.patch"
"unzip-allow-greater-hostver-values.patch"
"unzip-initialize-symlink-flag.patch"
"unzip-remove-build-date.patch"
"unzip-attribs-overflow.patch"
"unzip-overflow-on-invalid-input.patch"
"unzip-format-secure.patch"
"unzip-overflow-long-fsize.patch"))))
(build-system gnu-build-system)
;; no inputs; bzip2 is not supported, since not compiled with BZ_NO_STDIO
(arguments
`(#:phases (modify-phases %standard-phases
(delete 'configure)
(replace 'build
(lambda* (#:key make-flags #:allow-other-keys)
(zero? (apply system* "make"
`("-j" ,(number->string
(parallel-job-count))
,@make-flags
"generic_gcc"))))))
#:make-flags (list "-f" "unix/Makefile"
(string-append "prefix=" %output)
(string-append "MANDIR=" %output "/share/man/man1"))))
(home-page "http://www.info-zip.org/UnZip.html")
(synopsis "Decompression and file extraction utility")
(description
"UnZip is an extraction utility for archives compressed in .zip format,
also called \"zipfiles\".
UnZip lists, tests, or extracts files from a .zip archive. The default
behaviour (with no options) is to extract into the current directory, and
subdirectories below it, all files from the specified zipfile. UnZip
recreates the stored directory structure by default.")
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))))
(define-public zziplib
(package
(name "zziplib")
(version "0.13.62")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/zziplib/zziplib13/"
version "/zziplib-"
version ".tar.bz2"))
(patches (search-patches "zziplib-CVE-2017-5974.patch"
"zziplib-CVE-2017-5975.patch"
"zziplib-CVE-2017-5976.patch"
"zziplib-CVE-2017-5978.patch"
"zziplib-CVE-2017-5979.patch"
"zziplib-CVE-2017-5981.patch"))
(sha256
(base32
"0nsjqxw017hiyp524p9316283jlf5piixc1091gkimhz38zh7f51"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
(native-inputs `(("perl" ,perl) ; for the documentation
("pkg-config" ,pkg-config)
;; for the documentation; Python 3 not supported,
;; http://forums.gentoo.org/viewtopic-t-863161-start-0.html
("python" ,python-2)
("zip" ,zip))) ; to create test files
(arguments
`(#:parallel-tests? #f)) ; since test files are created on the fly
(home-page "http://zziplib.sourceforge.net/")
(synopsis "Library for accessing zip files")
(description
"ZZipLib is a library based on zlib for accessing zip files.")
(license license:lgpl2.0+)))
(define-public perl-zip
(package
(name "perl-zip")
(version "1.59")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://cpan/authors/id/A/AD/ADAMK/Archive-Zip-"
version ".tar.gz"))
(sha256
(base32
"0m31qlppg65vh32pwxkwjby02q70abx49d2yk6vfd4585fqb27cx"))))
(build-system perl-build-system)
(synopsis "Provides an interface to ZIP archive files")
(description "The Archive::Zip module allows a Perl program to create,
manipulate, read, and write Zip archive files.")
(home-page "http://search.cpan.org/~adamk/Archive-Zip-1.30/")
(license license:perl-license)))
(define-public libzip
(package
(name "libzip")
(version "1.2.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://nih.at/libzip/libzip-" version ".tar.gz"))
(sha256
(base32
"17vxj2ffsxwh8lkc6801ppmwj15jp8q58rin76znxfbx88789ybc"))))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'patch-perl
(lambda _
(substitute* "regress/runtest.in"
(("/usr/bin/env perl") (which "perl"))))))))
(native-inputs
`(("perl" ,perl)))
(inputs
`(("zlib" ,zlib)))
(build-system gnu-build-system)
(home-page "https://nih.at/libzip/index.html")
(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
copied directly from other zip archives. Changes made without closing the
archive can be reverted.")
(license license:bsd-3)))

View File

@ -16,6 +16,7 @@
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1356,8 +1357,17 @@ trees (LSM), for sustained throughput under random insert workloads.")
(("/usr/local") (assoc-ref outputs "out")))
#t)))))
(home-page "https://symas.com/products/lightning-memory-mapped-database")
(synopsis "Lightning memory-mapped database library")
(description "Lightning memory-mapped database library.")
(synopsis "Lightning Memory-Mapped Database library")
(description
"The @dfn{Lightning Memory-Mapped Database} (LMDB) is a high-performance
transactional database. Unlike more complex relational databases, LMDB handles
only key-value pairs (stored as arbitrary byte arrays) and relies on the
underlying operating system for caching and locking, keeping the code small and
simple.
The use of zero-copy memory-mapped files combines the persistence of classic
disk-based databases with high read performance that scales linearly over
multiple cores. The size of each database is limited only by the size of the
virtual address space not physical RAM.")
(license license:openldap2.8)))
(define-public libpqxx
@ -1539,3 +1549,49 @@ file format to other databases such as MySQL, Oracle, Sybase, PostgreSQL,
etc., and an SQL engine for performing simple SQL queries.")
(license (list license:lgpl2.0
license:gpl2+))))
(define-public python-lmdb
(package
(name "python-lmdb")
(version "0.92")
(source (origin
(method url-fetch)
(uri (pypi-uri "lmdb" version))
(sha256
(base32
"01nw6r08jkipx6v92kw49z34wmwikrpvc5j9xawdiyg1n2526wrx"))
(modules '((guix build utils)))
(snippet
;; Delete bundled lmdb source files.
'(for-each delete-file (list "lib/lmdb.h"
"lib/mdb.c"
"lib/midl.c"
"lib/midl.h")))))
(build-system python-build-system)
(inputs
`(("lmdb" ,lmdb)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'use-system-lmdb
(lambda* (#:key inputs #:allow-other-keys)
(let ((lmdb (assoc-ref inputs "lmdb")))
(setenv "LMDB_FORCE_SYSTEM" "set")
(setenv "LMDB_INCLUDEDIR" (string-append lmdb "/include"))
(setenv "LMDB_LIBDIR" (string-append lmdb "/lib"))
#t))))
;; Tests fail with: lmdb.tool: Please specify environment (--env).
#:tests? #f))
(home-page "https://github.com/dw/py-lmdb")
(synopsis "Python binding for the Lightning database (LMDB)")
(description
"python-lmdb or py-lmdb is a Python binding for the @dfn{Lightning
Memory-Mapped Database} (LMDB), a high-performance key-value store.")
(license
(list license:openldap2.8
;; lib/win32/inttypes.h and lib/win32-stdint/stdint.h are BSD-3,
;; but not actually needed on platforms currently supported by Guix.
license:bsd-3))))
(define-public python2-lmdb
(package-with-python2 python-lmdb))

View File

@ -8,6 +8,7 @@
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -31,6 +32,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages crypto)
#:use-module (gnu packages datastructures)
#:use-module (gnu packages flex)
#:use-module (gnu packages glib)
#:use-module (gnu packages groff)
#:use-module (gnu packages groff)
@ -42,12 +44,16 @@
#:use-module (gnu packages nettle)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages protobuf)
#:use-module (gnu packages python)
#:use-module (gnu packages swig)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu))
(define-public dnsmasq
@ -275,6 +281,165 @@ asynchronous fashion.")
(license:non-copyleft "file://LICENSE") ; includes.h
license:openssl))))
(define-public unbound
(package
(name "unbound")
(version "1.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.unbound.net/downloads/unbound-"
version ".tar.gz"))
(sha256
(base32
"0pw4m4z5qspsagxzbjb61xq5bhd57amw26xqvqzi6b8d3mf6azjc"))))
(build-system gnu-build-system)
(outputs '("out" "python"))
(native-inputs
`(("flex" ,flex)
("swig" ,swig)))
(inputs
`(("expat" ,expat)
("libevent" ,libevent)
("protobuf" ,protobuf)
("python" ,python-3)
("python-wrapper" ,python-wrapper)
("openssl" ,openssl)))
(arguments
`(#:configure-flags
(list "--disable-static" ;save space and non-determinism in libunbound.a
(string-append
"--with-ssl=" (assoc-ref %build-inputs "openssl"))
(string-append
"--with-libevent=" (assoc-ref %build-inputs "libevent"))
(string-append
"--with-libexpat=" (assoc-ref %build-inputs "expat"))
"--with-pythonmodule" "--with-pyunbound")
#:phases
(modify-phases %standard-phases
(add-after 'configure 'fix-python-site-package-path
;; Move python modules into their own output.
(lambda* (#:key outputs #:allow-other-keys)
(let ((pyout (assoc-ref outputs "python"))
(ver ,(version-major+minor (package-version python))))
(substitute* "Makefile"
(("^PYTHON_SITE_PKG=.*$")
(string-append
"PYTHON_SITE_PKG="
pyout "/lib/python-" ver "/site-packages\n"))))
#t))
(add-before 'check 'fix-missing-nss-for-tests
;; Unfortunately, the package's unittests involve some checks
;; looking up protocols and services which are not provided
;; by the minimalistic build environment, in particular,
;; /etc/protocols and /etc/services are missing.
;; Also, after plain substitution of protocol and service names
;; in the test data, the tests still fail because the
;; corresponding Resource Records have been signed by
;; RRSIG records.
;; The following LD_PRELOAD library overwrites the glibc
;; functions get{proto,serv}byname, getprotobynumber and
;; getservbyport providing the few records required for the
;; unit tests to pass.
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((source (assoc-ref %build-inputs "source"))
(gcc (assoc-ref %build-inputs "gcc")))
(call-with-output-file "/tmp/nss_preload.c"
(lambda (port)
(display "#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include <netdb.h>
struct protoent *getprotobyname(const char *name) {
struct protoent *p = malloc(sizeof(struct protoent));
p->p_aliases = malloc(sizeof(char*));
if (strcasecmp(name, \"tcp\") == 0) {
p->p_name = \"tcp\";
p->p_proto = 6;
p->p_aliases[0] = \"TCP\";
} else if (strcasecmp(name, \"udp\") == 0) {
p->p_name = \"udp\";
p->p_proto = 17;
p->p_aliases[0] = \"UDP\";
} else
p = NULL;
return p;
}
struct protoent *getprotobynumber(int proto) {
struct protoent *p = malloc(sizeof(struct protoent));
p->p_aliases = malloc(sizeof(char*));
switch(proto) {
case 6:
p->p_name = \"tcp\";
p->p_proto = 6;
p->p_aliases[0] = \"TCP\";
break;
case 17:
p->p_name = \"udp\";
p->p_proto = 17;
p->p_aliases[0] = \"UDP\";
break;
default:
p = NULL;
break;
}
return p;
}
struct servent *getservbyname(const char *name, const char *proto) {
struct servent *s = malloc(sizeof(struct servent));
char* buf = malloc((strlen(proto)+1)*sizeof(char));
strcpy(buf, proto);
s->s_aliases = malloc(sizeof(char*));
s->s_aliases[0] = NULL;
if (strcasecmp(name, \"domain\") == 0) {
s->s_name = \"domain\";
s->s_port = htons(53);
s->s_proto = buf;
} else
s = NULL;
return s;
}
struct servent *getservbyport(int port, const char *proto) {
char buf[32];
struct servent *s = malloc(sizeof(struct servent));
strcpy(buf, proto);
s->s_aliases = malloc(sizeof(char*));
s->s_aliases[0] = NULL;
switch(port) {
case 53:
s->s_name = \"domain\";
s->s_port = 53;
s->s_proto = \"udp\";
break;
default:
s = NULL;
break;
}
return s;
}" port)))
(system* (string-append gcc "/bin/gcc")
"-shared" "-fPIC" "-o" "/tmp/nss_preload.so"
"/tmp/nss_preload.c")
;; The preload library only affects the unittests.
(substitute* "Makefile"
(("./unittest")
"LD_PRELOAD=/tmp/nss_preload.so ./unittest")))
#t)))))
(home-page "https://www.unbound.net")
(synopsis "Validating, recursive, and caching DNS resolver")
(description
"Unbound is a recursive-only caching DNS server which can perform DNSSEC
validation of results. It implements only a minimal amount of authoritative
service to prevent leakage to the root nameservers: forward lookups for
localhost, reverse for @code{127.0.0.1} and @code{::1}, and NXDOMAIN for zones
served by AS112. Stub and forward zones are supported.")
(license license:bsd-4)))
(define-public yadifa
(package
(name "yadifa")
@ -321,14 +486,14 @@ Extensions} (DNSSEC).")
(define-public knot
(package
(name "knot")
(version "2.4.4")
(version "2.5.2")
(source (origin
(method url-fetch)
(uri (string-append "https://secure.nic.cz/files/knot-dns/"
name "-" version ".tar.xz"))
(sha256
(base32
"0g2n5r2n03bqz322xlwdw4bqhj8l4n8q0hzrqngi4rgmk4rp97ly"))
"1sgmw8k9qccc7bgxbwrvahdinj1bjq90iza55rxj199mxsj72ri8"))
(modules '((guix build utils)))
(snippet
'(begin
@ -353,7 +518,11 @@ Extensions} (DNSSEC).")
("liburcu" ,liburcu)
("lmdb" ,lmdb)
("ncurses" ,ncurses)
("nettle" ,nettle)))
("nettle" ,nettle)
;; For pykeymgr, needed to migrate keys from versions <= 2.4.
("python" ,python-2)
("python-lmdb" ,python2-lmdb)))
(arguments
`(#:phases
(modify-phases %standard-phases
@ -370,11 +539,18 @@ Extensions} (DNSSEC).")
(zero?
(system* "make"
(string-append "config_dir=" etc)
"install"))))))
"install")))))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(path (getenv "PYTHONPATH")))
(wrap-program (string-append out "/sbin/pykeymgr")
`("PYTHONPATH" ":" prefix (,path))))
#t)))
#:configure-flags
(list "--sysconfdir=/etc"
"--localstatedir=/var"
"--enable-rosedb" ; serve static records from a database
"--with-module-rosedb=yes" ; serve static records from a database
(string-append "--with-bash-completions="
(assoc-ref %outputs "out")
"/etc/bash_completion.d"))))

View File

@ -31,8 +31,7 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system trivial)
#:use-module (guix build-system python)
#:autoload (gnu packages zip) (unzip))
#:use-module (guix build-system python))
(define-public docbook-xml
(package

View File

@ -37,8 +37,7 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages perl)
#:use-module (gnu packages xml)
#:autoload (gnu packages zip) (unzip))
#:use-module (gnu packages xml))
(define-public asciidoc
(package

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -65,7 +66,7 @@
(define-public calibre
(package
(name "calibre")
(version "2.85.1")
(version "3.0.0")
(source
(origin
(method url-fetch)
@ -74,7 +75,7 @@
version ".tar.xz"))
(sha256
(base32
"1g8s0kp1gj05yysfgqpp2lgrxvzc0fsny1hwzx5jh9hvqn0b53cc"))
"1zhk7bvgr973dd18x4wp48kzai29qqqi5qcy72sxc4wcbk2sbnkw"))
;; Remove non-free or doubtful code, see
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils)))
@ -84,13 +85,11 @@
(delete-file-recursively "src/unrar")
(delete-file "src/odf/thumbnail.py")
(delete-file-recursively "resources/fonts/liberation")
(delete-file-recursively "src/chardet")
(substitute* (find-files "." "\\.py")
(("calibre\\.ebooks\\.markdown") "markdown"))
#t))
(patches (search-patches "calibre-drop-unrar.patch"
"calibre-use-packaged-feedparser.patch"
"calibre-dont-load-remote-icons.patch"
"calibre-no-updates-dialog.patch"))))
(build-system python-build-system)
(native-inputs
@ -132,6 +131,7 @@
("python2-pygments" ,python2-pygments)
("python2-pyqt" ,python2-pyqt)
("python2-sip" ,python2-sip)
("python2-regex" ,python2-regex)
("sqlite" ,sqlite)))
(arguments
`(#:python ,python-2
@ -148,6 +148,12 @@
;; We can't use the uninstaller in Guix. Don't build it.
(("self\\.create_uninstaller()") ""))
#t))
(add-after 'unpack 'dont-load-remote-icons
(lambda _
(substitute* "setup/plugins_mirror.py"
(("href=\"//calibre-ebook.com/favicon.ico\"")
"href=\"favicon.ico\""))
#t))
(add-before 'build 'configure
(lambda* (#:key inputs #:allow-other-keys)
(let ((podofo (assoc-ref inputs "podofo"))

View File

@ -0,0 +1,253 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Theodoros Foradis <theodoros.for@openmailbox.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/>.
(define-module (gnu packages electronics)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages glib)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages libftdi)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages sdcc))
(define-public libserialport
(package
(name "libserialport")
(version "0.1.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://sigrok.org/download/source/libserialport/libserialport-"
version ".tar.gz"))
(sha256
(base32
"17ajlwgvyyrap8z7f16zcs59pksvncwbmd3mzf98wj7zqgczjaja"))))
(build-system gnu-build-system)
(home-page "http://sigrok.org/wiki/Libserialport")
(synopsis "Library for using serial ports")
(description "Libserialport is a minimal shared library written in C that is intended
to take care of the OS-specific details when writing software that uses serial ports.")
(license license:lgpl3+)))
(define-public libsigrokdecode
(package
(name "libsigrokdecode")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-"
version ".tar.gz"))
(sha256
(base32
"1hfigfj1976qk11kfsgj75l20qvyq8c9p2h4mjw23d59rsg5ga2a"))))
(outputs '("out" "doc"))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'build 'build-doc
(lambda _
(zero? (system* "doxygen"))))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(copy-recursively "doxy/html-api"
(string-append (assoc-ref outputs "doc")
"/share/doc/libsigrokdecode"))
#t)))))
(native-inputs
`(("check" ,check)
("doxygen" ,doxygen)
("graphviz" ,graphviz)
("pkg-config" ,pkg-config)))
;; libsigrokdecode.pc lists "python" in Requires.private, and "glib" in Requires.
(propagated-inputs
`(("glib" ,glib)
("python" ,python)))
(build-system gnu-build-system)
(home-page "http://www.sigrok.org/wiki/Libsigrokdecode")
(synopsis "Library providing (streaming) protocol decoding functionality")
(description "Libsigrokdecode is a shared library written in C, which provides
(streaming) protocol decoding functionality.")
(license license:gpl3+)))
(define-public sigrok-firmware-fx2lafw
(package
(name "sigrok-firmware-fx2lafw")
(version "0.1.5")
(source (origin
(method url-fetch)
(uri (string-append
"http://sigrok.org/download/source/sigrok-firmware-fx2lafw/"
"sigrok-firmware-fx2lafw-" version ".tar.gz"))
(sha256
(base32
"0bbdgy4rpc00jl0l0744m2ibjlqi26bhrkjr7vplivdsjdmhjx6a"))))
(native-inputs
`(("sdcc" ,sdcc)))
(build-system gnu-build-system)
(home-page "http://www.sigrok.org/wiki/Fx2lafw")
(synopsis "Firmware for Cypress FX2 chips")
(description "Fx2lafw is free firmware for Cypress FX2 chips which makes them usable
as simple logic analyzer and/or oscilloscope hardware.")
(license license:gpl2+)))
(define-public libsigrok
(package
(name "libsigrok")
(version "0.5.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://sigrok.org/download/source/libsigrok/libsigrok-"
version ".tar.gz"))
(sha256
(base32
"197kr5ip98lxn7rv10zs35d1w0j7265s0xvckx0mq2l8kdvqd32c"))))
(outputs '("out" "doc"))
(arguments
`(#:tests? #f ; tests need usb access
#:phases
(modify-phases %standard-phases
(add-before 'configure 'change-udev-group
(lambda _
(let ((file "contrib/z60_libsigrok.rules"))
(substitute* file
(("plugdev") "dialout"))
(rename-file file "contrib/60-libsigrok.rules")
#t)))
(add-after 'build 'build-doc
(lambda _
(zero? (system* "doxygen"))))
(add-after 'install 'install-doc
(lambda* (#:key outputs #:allow-other-keys)
(copy-recursively "doxy/html-api"
(string-append (assoc-ref outputs "doc")
"/share/doc/libsigrok"))
#t))
(add-after 'install-doc 'install-udev-rules
(lambda* (#:key outputs #:allow-other-keys)
(install-file "contrib/60-libsigrok.rules"
(string-append
(assoc-ref outputs "out")
"/lib/udev/rules.d/"))))
(add-after 'install-udev-rules 'install-fw
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw"))
(out (assoc-ref outputs "out"))
(dir-suffix "/share/sigrok-firmware/")
(input-dir (string-append fx2lafw dir-suffix))
(output-dir (string-append out dir-suffix)))
(mkdir-p output-dir)
(for-each
(lambda (file)
(install-file file output-dir))
(find-files input-dir ".")))
#t)))))
(native-inputs
`(("check" ,check)
("doxygen" ,doxygen)
("graphviz" ,graphviz)
("sigrok-firmware-fx2lafw" ,sigrok-firmware-fx2lafw)
("pkg-config" ,pkg-config)))
(inputs
`(("python" ,python)
("zlib" ,zlib)))
;; libsigrokcxx.pc lists "glibmm" in Requires
;; libsigrok.pc lists "libserialport", "libusb", "libftdi" and "libzip" in
;; Requires.private and "glib" in Requires
(propagated-inputs
`(("glib" ,glib)
("glibmm" ,glibmm)
("libserialport" ,libserialport)
("libusb" ,libusb)
("libftdi" ,libftdi)
("libzip" ,libzip)))
(build-system gnu-build-system)
(home-page "http://www.sigrok.org/wiki/Libsigrok")
(synopsis "Library which provides the basic hardware access drivers for logic
analyzers")
(description "@code{libsigrok} is a shared library written in C which provides the basic hardware
access drivers for logic analyzers and other supported devices, as well as input/output file
format support.")
(license license:gpl3+)))
(define-public sigrok-cli
(package
(name "sigrok-cli")
(version "0.7.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://sigrok.org/download/source/sigrok-cli/sigrok-cli-"
version ".tar.gz"))
(sha256
(base32
"072ylscp0ppgii1k5j07hhv7dfmni4vyhxnsvxmgqgfyq9ldjsan"))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
("libsigrok" ,libsigrok)
("libsigrokdecode" ,libsigrokdecode)))
(build-system gnu-build-system)
(home-page "http://sigrok.org/wiki/Sigrok-cli")
(synopsis "Command-line frontend for sigrok")
(description "Sigrok-cli is a command-line frontend for sigrok.")
(license license:gpl3+)))
(define-public pulseview
(package
(name "pulseview")
(version "0.4.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://sigrok.org/download/source/pulseview/pulseview-"
version ".tar.gz"))
(sha256
(base32
"1f8f2342d5yam98mmcb8f9g2vslcwv486bmi4x45pxn68l82ky3q"))))
(arguments
`(#:configure-flags '("-DCMAKE_CXX_FLAGS=-fext-numeric-literals")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("boost" ,boost)
("glib" ,glib)
("glibmm" ,glibmm)
("qt" ,qt)
("libsigrok" ,libsigrok)
("libsigrokdecode" ,libsigrokdecode)))
(build-system cmake-build-system)
(home-page "http://www.sigrok.org/wiki/PulseView")
(synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok")
(description "PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI
for sigrok.")
(license license:gpl3+)))

View File

@ -26,6 +26,7 @@
;;; Copyright © 2017 George Clemmer <myglc2@gmail.com>
;;; Copyright © 2017 Feng Shu <tumashu@163.com>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2017 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -3641,14 +3642,14 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
(version "20170606")
(version "20170622")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
"0m2gln3wz9v3aflyxxy2317808yy05rrzrjx35spw2d90d10hmkz"))))
"0922lcbr2r7bkswljqzbm5y3ny1n67qfrmf7h7z9hsw2wy0505dp"))))
(build-system emacs-build-system)
(home-page "http://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@ -4896,3 +4897,78 @@ running a customisable handler command (@code{ignore} by default). ")
from within Emacs. Restclient runs queries from a plan-text query sheet,
displays results pretty-printed in XML or JSON with @code{restclient-mode}")
(license license:public-domain))))
(define-public emacs-dired-hacks
(let ((commit "eda68006ce73bbf6b9b995bfd70d08bec8cade36")
(revision "1"))
(package
(name "emacs-dired-hacks")
(version (string-append "0.0.1-" revision "."
(string-take commit 7)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/Fuco1/dired-hacks.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1w7ssl9zssn5rcha6apf4h8drkd02k4xgvs203bdbqyqp9wz9brx"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-dash" ,emacs-dash)
("emacs-f" ,emacs-f)
("emacs-s" ,emacs-s)))
(home-page "https://github.com/Fuco1/dired-hacks")
(synopsis
"Collection of useful dired additions")
(description
"Collection of Emacs dired mode additions:
@itemize
@item dired-avfs
@item dired-columns
@item dired-filter
@item dired-hacks-utils
@item dired-images
@item dired-list
@item dired-narrow
@item dired-open
@item dired-rainbow
@item dired-ranger
@item dired-subtree
@item dired-tagsistant
@end itemize\n")
(license license:gpl3+))))
(define-public emacs-which-key
(package
(name "emacs-which-key")
(version "3.0.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/justbur/emacs-which-key/archive/v"
version ".tar.gz"))
(sha256
(base32
"0zc9yivdkbxmcllhlbbcvsbj8g8nzzgs0xib488s08p4s0l7xs8m"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'install 'check
(lambda _
(zero? (system* "emacs" "--batch" "-L" "."
"-l" "which-key-tests.el"
"-f" "ert-run-tests-batch-and-exit")))))))
(home-page "https://github.com/justbur/emacs-which-key")
(synopsis "Display available key bindings in popup")
(description "@code{emacs-which-key} is a minor mode for Emacs that
displays the key bindings following your currently entered incomplete command
(a prefix) in a popup. For example, after enabling the minor mode if you
enter C-x and wait for the default of 1 second, the minibuffer will expand
with all of the available key bindings that follow C-x (or as many as space
allows given your settings).")
(license license:gpl3+)))

View File

@ -452,7 +452,7 @@ with a layered architecture of JTAG interface and TAP support.")
("dejagnu" ,dejagnu)
,@(package-native-inputs xbinutils))))))
(define-public propeller-gcc
(define-public propeller-gcc-6
(let ((xgcc (cross-gcc "propeller-elf"
#:xbinutils propeller-binutils))
(commit "b4f45a4725e0b6d0af59e594c4e3e35ca4105867")
@ -489,7 +489,7 @@ with a layered architecture of JTAG interface and TAP support.")
(synopsis "GCC for the Parallax Propeller"))))
(define-public propeller-gcc-4
(let ((xgcc propeller-gcc)
(let ((xgcc propeller-gcc-6)
(commit "f1b01001b760d691a91ff1db4830d41bb712557f")
(revision "1"))
(package (inherit xgcc)
@ -511,6 +511,11 @@ with a layered architecture of JTAG interface and TAP support.")
"gcc-cross-environment-variables.patch")))))
(home-page "https://github.com/dbetz/propgcc-gcc"))))
;; Version 6 is experimental and may not work correctly. This is why we
;; default to version 4, which is also used in the binary toolchain bundle
;; provided by Parallax Inc.
(define-public propeller-gcc propeller-gcc-4)
;; There is no release, so we take the latest version as referenced from here:
;; https://github.com/dbetz/propeller-gcc
(define-public proplib

View File

@ -4,7 +4,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016, 2017 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Theodoros Foradis <theodoros.for@openmailbox.org>
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros.for@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,6 +45,7 @@
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gd)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
@ -63,6 +64,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages tls)
@ -843,3 +845,171 @@ interface to select the best such procedures to use on a given system.")
(synopsis "Serial terminal emulator")
(description "@code{minicom} is a serial terminal emulator.")
(license license:gpl2+)))
(define-public harminv
(package
(name "harminv")
(version "1.4")
(source (origin
(method url-fetch)
(uri
(string-append
"http://ab-initio.mit.edu/harminv/harminv-"
version ".tar.gz"))
(sha256
(base32
"1pmm8d6fx9ahhnk7w12bfa6zx3afbkg4gkvlvgwhpjxbcrvrp3jk"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-tests
(lambda _
(substitute* "./sines-test.sh"
; change test frequency range - default fails
(("0\\.15") "0.16"))
#t)))))
(native-inputs
`(("fortran" ,gfortran)))
(inputs
`(("lapack" ,lapack)))
(home-page "http://ab-initio.mit.edu/wiki/index.php/Harminv")
(synopsis "Harmonic inversion solver")
(description
"Harminv is a free program (and accompanying library) to solve the problem of
harmonic inversion given a discrete-time, finite-length signal that consists of a sum
of finitely-many sinusoids (possibly exponentially decaying) in a given bandwidth, it
determines the frequencies, decay constants, amplitudes, and phases of those sinusoids.")
(license license:gpl2+)))
(define-public guile-libctl
(package
(name "guile-libctl")
(version "3.2.2")
(source (origin
(method url-fetch)
(uri
(string-append
"http://ab-initio.mit.edu/libctl/libctl-"
version ".tar.gz"))
(sha256
(base32
"1g7gqybq20jhdnw5vg18bgbj9jz0408gfmjvs8b4xs30pic8pgca"))))
(build-system gnu-build-system)
(native-inputs
`(("fortran" ,gfortran)))
(inputs
`(("guile" ,guile-2.2)))
(home-page "http://ab-initio.mit.edu/wiki/index.php/Libctl")
(synopsis "Flexible control files implementation for scientific simulations")
(description
"Libctl is a Guile-based library implementing flexible control files
for scientific simulations.")
(license license:gpl2+)))
(define-public mpb
(package
(name "mpb")
(version "1.5")
(source (origin
(method url-fetch)
(uri
(string-append
"http://ab-initio.mit.edu/mpb/mpb-"
version ".tar.gz"))
(sha256
(base32
"1mqb2d8jq957nksayjygq58iy8i42vjryzg9iy5fpfay31wzxsix"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "--with-libctl="
(assoc-ref %build-inputs "libctl")
"/share/libctl"))))
(native-inputs
`(("fortran" ,gfortran)
("pkg-config" ,pkg-config)
("swig" ,swig)))
(inputs
`(("fftw" ,fftw)
("gsl" ,gsl)
("guile" ,guile-2.2)
("hdf5" ,hdf5)
("lapack" ,lapack)
("libctl" ,guile-libctl)
("readline" ,readline)
("zlib" ,zlib)))
(home-page "http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands")
(synopsis "Computes band structures and electromagnetic modes of dielectric
structures")
(description
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates (harmonic modes)
of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using
fully-vectorial and three-dimensional methods.")
(license license:gpl2+)))
(define-public meep
(package
(name "meep")
(version "1.3")
(source (origin
(method url-fetch)
(uri
(string-append
"http://ab-initio.mit.edu/meep/meep-"
version ".tar.gz"))
(sha256
(base32
"0f6lbw2hrksg7xscwdqs78jc9nmzx9fs8j0hz1y4i8qknkqiyk2n"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(list (string-append "--with-libctl="
(assoc-ref %build-inputs "libctl")
"/share/libctl"))))
(native-inputs
`(("fortran" ,gfortran)
("pkg-config" ,pkg-config)
("swig" ,swig)))
(inputs
`(("fftw" ,fftw)
("gsl" ,gsl)
("guile" ,guile-2.0) ; doesn't build with guile-2.2
("harminv" ,harminv)
("hdf5" ,hdf5)
("lapack" ,lapack)
("libctl" ,guile-libctl)
("mpb" ,mpb)
("zlib" ,zlib)))
(home-page "http://ab-initio.mit.edu/wiki/index.php/Meep")
(synopsis "Finite-difference time-domain (FDTD) simulation software")
(description
"Meep is a finite-difference time-domain (FDTD) simulation software package
developed at MIT to model electromagnetic systems.")
(license license:gpl2+)))
(define-public adms
(package
(name "adms")
(version "2.3.6")
(source (origin
(method url-fetch)
(uri
(string-append
"mirror://sourceforge/mot-adms/adms-source/"
(version-major+minor version) "/adms-" version ".tar.gz"))
(sha256
(base32
"1rn98l6jxcjhi6ai5f7p588khra9z80m0m0lql4n4sb7773fh1vk"))))
(build-system gnu-build-system)
(native-inputs
`(("flex" ,flex)
("bison" ,bison)))
(home-page "https://sourceforge.net/projects/mot-adms")
(synopsis "Automatic device model synthesizer")
(description
"ADMS is a code generator that converts electrical compact device models
specified in high-level description language into ready-to-compile C code for
the API of spice simulators. Based on transformations specified in XML
language, ADMS transforms Verilog-AMS code into other target languages.")
(license license:gpl3)))

View File

@ -86,15 +86,18 @@
("libtiff" ,libtiff)
("libwebp" ,libwebp)
("libx11" ,libx11)
("libxau" ,libxau)
("libxcomposite" ,libxcomposite)
("libxcursor" ,libxcursor)
("libxdamage" ,libxdamage)
("libxdmcp" ,libxdmcp)
("libxext" ,libxext)
("libxi" ,libxi)
("libxkbfile" ,libxkbfile)
("libxfixes" ,libxfixes)
("libxinerama" ,libxinerama)
("libxp" ,libxp)
("libxrandr" ,libxrandr)
("libxrender" ,libxrender)
("libxscrnsaver" ,libxscrnsaver)
("libxtst" ,libxtst)
("lz4" ,lz4)

View File

@ -53,8 +53,7 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip))
#:use-module (gnu packages xorg))
(define-public font-inconsolata
(package
@ -1045,51 +1044,28 @@ monospace, slab-serif fonts.")
(define-public font-google-material-design-icons
(package
(name "font-google-material-design-icons")
(version "3.0.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/google/material-design-icons/archive/"
(name "font-google-material-design-icons")
(version "3.0.1")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/google/material-design-icons/archive/"
version ".tar.gz"))
(sha256
(base32
"183n0qv3q8w6n27libarq1fhc4mqv2d3sasbfmbn7x9r5pw9c6ga"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system trivial-build-system)
(native-inputs
`(("tar" ,tar)
("gzip" ,gzip)))
(arguments
`(#:modules ((guix build utils))
#:builder (begin
(use-modules (guix build utils))
(let* ((font-dir (string-append %output
"/share/fonts/truetype"))
(source (assoc-ref %build-inputs "source"))
(font-filename "MaterialIcons-Regular.ttf")
(src-ttf-file (string-append "material-design-icons-"
,version
"/iconfont/"
font-filename))
(dest-ttf-file (string-append font-dir font-filename))
(gzip (assoc-ref %build-inputs "gzip"))
(tar (assoc-ref %build-inputs "tar")))
(setenv "PATH" (string-append gzip "/bin:"
tar "/bin:"))
(system* "tar" "xf" source)
(mkdir-p font-dir)
(copy-file src-ttf-file dest-ttf-file)))))
(home-page "http://google.github.io/material-design-icons")
(synopsis "Icon font of Google Material Design icons")
(description
"Material design system icons are simple, modern, friendly, and sometimes
(sha256
(base32
"183n0qv3q8w6n27libarq1fhc4mqv2d3sasbfmbn7x9r5pw9c6ga"))
(file-name (string-append name "-" version ".tar.gz"))))
(build-system font-build-system)
(home-page "http://google.github.io/material-design-icons")
(synopsis "Icon font of Google Material Design icons")
(description
"Material design system icons are simple, modern, friendly, and sometimes
quirky. Each icon is created using our design guidelines to depict in simple
and minimal forms the universal concepts used commonly throughout a UI.
Ensuring readability and clarity at both large and small sizes, these icons
have been optimized for beautiful display on all common platforms and display
resolutions.")
(license license:asl2.0)))
(license license:asl2.0)))
(define-public font-mathjax
(package

View File

@ -25,6 +25,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages tcl)
#:use-module (gnu packages readline)
@ -35,7 +36,6 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages zip)
#:use-module (gnu packages perl)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gperf)

View File

@ -35,6 +35,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages boost)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
@ -51,7 +52,6 @@
#:use-module (gnu packages qt)
#:use-module (gnu packages video)
#:use-module (gnu packages compression)
#:use-module (gnu packages zip)
#:use-module (gnu packages gl)
#:use-module (gnu packages linux)
#:use-module (gnu packages xorg)
@ -147,6 +147,65 @@ conversions (for example, from PPM to Doom picture format). In addition,
DeuTex has functions such as merging wads, etc.")
(license license:gpl2+)))
(define-public grfcodec
(package
(name "grfcodec")
(version "6.0.6")
(source (origin
(method url-fetch)
(uri (string-append "http://binaries.openttd.org/extra/"
name "/" version "/" name "-" version
"-source.tar.xz"))
(sha256
(base32
"08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(delete 'configure) ; no configure script
(replace 'install ; no install target
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(doc (string-append out "/share/doc"))
(man (string-append out "/share/man/man1")))
(for-each (lambda (file)
(install-file file bin))
'("grfcodec" "grfid" "grfstrip" "nforenum"))
(install-file "COPYING" doc)
(with-directory-excursion "docs"
(for-each (lambda (file)
(install-file (string-append file ".txt") doc))
'("auto_correct" "commands" "grf" "grfcodec" "grftut"
"readme" "readme.rpn"))
(for-each (lambda (file)
(install-file file man))
(find-files "." "\\.1"))))
#t)))))
(inputs
`(("boost" ,boost)
("libpng" ,libpng)
("zlib" ,zlib)))
(synopsis "GRF development tools")
(description
"The @dfn{Graphics Resource File} (GRF) development tools are a set of
tools for developing (New)GRFs. It includes a number of smaller programs, each
with a specific task:
@enumerate
@item @code{grfcodec} decodes and encodes GRF files for OpenTTD.
@item @code{grfid} extracts the so-called \"GRF ID\" from a GRF.
@item @code{grfstrip} strips all sprites from a GRF.
@item @code{nforenum} checks NFO code for errors, making corrections when
necessary.
@end enumerate")
(home-page "http://dev.openttdcoop.org/projects/grfcodec")
;; GRFCodec, GRFID, and GRFStrip are exclusively under the GPL2.
;; NFORenum is under the GPL2+.
;; The MD5 implementation contained in GRFID is under the zlib license.
(license (list license:gpl2 license:gpl2+ license:zlib))))
(define-public gzochi
(package
(name "gzochi")
@ -189,21 +248,46 @@ and network communications. A very thin client library can be embedded to
provide connectivity for client applications written in any language.")
(license license:gpl3+)))
(define-public nml
(package
(name "nml")
(version "0.4.4")
(source
(origin
(method url-fetch)
(uri (string-append "http://bundles.openttdcoop.org/nml/releases/"
version "/nml-" version ".tar.gz"))
(sha256
(base32
"0wk9ls5qyjwkra54rkj1gg94xbwzi7b84a5fh1ma1q7pbimi8rmg"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pillow" ,python-pillow)
("python-ply" ,python-ply)))
(home-page "http://dev.openttdcoop.org/projects/nml")
(synopsis "NML compiler")
(description
"@dfn{NewGRF Meta Language} (NML) is a python-based compiler, capable of
compiling NML files (along with their associated language, sound and graphic
files) into @file{.grf} and/or @file{.nfo} files.")
(license license:gpl2+)))
(define-public python-sge-pygame
(package
(name "python-sge-pygame")
(version "1.4.4")
(version "1.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sge-pygame" version))
(sha256
(base32
"1qhrcja1igqkjjn1w425ni5f41mijdq5dpq0ymkhl29xxrf8hnx8"))))
"0g0n722md6nfayiqzadwf0dh821hzqv0alp4by0vjfwr1xzv49mc"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pygame" ,python-pygame)
("python-six" ,python-six)))
("python-six" ,python-six)
("python-uniseg" ,python-uniseg)))
(home-page "http://stellarengine.nongnu.org")
(synopsis "2D game engine for Python")
(description
@ -255,14 +339,14 @@ levels.")
(define-public python-xsge
(package
(name "python-xsge")
(version "2017.04.10")
(version "2017.06.09")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/xsge/xsge-"
version ".tar.gz"))
(sha256
(base32
"04il5yx0py6kchxxw6ydbbx0wpiyjf9dgkwsdynirpkczlnid3am"))))
"1vy7c2y7ihvmggs93zgfv2h3049s384wid8a5snzrrba8bhbb89p"))))
(build-system python-build-system)
(arguments
'(#:phases

View File

@ -31,6 +31,7 @@
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -73,6 +74,7 @@
#:use-module (gnu packages game-development)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gimp)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@ -110,7 +112,6 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages linux)
#:use-module (gnu packages zip)
#:use-module (gnu packages xiph)
#:use-module (gnu packages curl)
#:use-module (gnu packages lua)
@ -136,6 +137,35 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system trivial))
(define-public armagetronad
(package
(name "armagetronad")
(version "0.2.8.3.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/" name "/stable/"
version "/" name "-" version ".src.tar.gz"))
(sha256
(base32
"1pgy0r80z702qdv94aw3ywdn4ynnr4cdi86ml558pljfc5ygasj4"))))
(build-system gnu-build-system)
(inputs
`(("libxml2" ,libxml2)
("sdl" ,sdl)
("sdl-image" ,sdl-image)
("freeglut" ,freeglut)
("libpng" ,libpng)
("libjpeg-turbo" ,libjpeg-turbo)))
(home-page "http://www.armagetronad.org")
(synopsis "Tron clone in 3D")
(description "Armagetron is a multiplayer game in 3d that attempts to
emulate and expand on the lightcycle sequence from the movie Tron. It's
an old school arcade game slung into the 21st century. Highlights include
a customizable playing arena, HUD, unique graphics, and AI bots. For the
more advanced player there are new game modes and a wide variety of physics
settings to tweak as well.")
(license license:gpl2+)))
(define-public cataclysm-dda
(package
(name "cataclysm-dda")
@ -409,6 +439,64 @@ Chess). It is similar to standard chess but this variant is far more complicate
"PrBoom+ is a Doom source port developed from the original PrBoom project.")
(license license:gpl2+)))
(define-public retux
(package
(name "retux")
(version "1.3.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://savannah/retux/"
(version-major+minor version) "/retux-"
version "-src.tar.gz"))
(sha256
(base32
"1wgvh3q96kfgymb2jpd58xsms9hmckhhc4fq7v2k61gh2l11cvdj"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
;; no setup.py script
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(data (string-append out "/share/retux"))
(doc (string-append out "/share/doc/retux")))
(mkdir-p bin)
(substitute* "retux.py"
;; Use the correct data directory.
(("os\\.path\\.join\\(os\\.path\\.dirname\\(__file__\\), \"data\"\\),")
(string-append "\"" data "\","))
;; Use Python 3 so the patch-shebangs phase works properly.
((".*python2.*") "#!/usr/bin/python3"))
(copy-file "retux.py" (string-append bin "/retux"))
(copy-recursively "data" data)
(install-file "COPYING" doc)))))))
(inputs
`(("python-sge-pygame" ,python-sge-pygame)
("python-six" ,python-six)
("python-xsge" ,python-xsge)))
(home-page "http://retux.nongnu.org")
(synopsis "Action platformer game")
(description
"ReTux is an action platformer loosely inspired by the Mario games,
utilizing the art assets from the @code{SuperTux} project.")
;; GPL version 3 or later is the license for the code and some art.
;; The rest of the licenses are for the art exclusively, as listed in
;; data/LICENSES.
(license (list license:cc0
license:cc-by3.0
license:cc-by-sa3.0
license:cc-by-sa4.0
license:gpl2+
license:gpl3+))))
(define-public xshogi
(package
(name "xshogi")
@ -1175,7 +1263,7 @@ either by Infocom or created using the Inform compiler.")
(define-public retroarch
(package
(name "retroarch")
(version "1.6.0")
(version "1.6.1")
(source
(origin
(method url-fetch)
@ -1183,7 +1271,7 @@ either by Infocom or created using the Inform compiler.")
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "01h9mswlfjk3zpdxwk1ciy5qkq6xq925gvk6wrh8k066b2wx8f8k"))))
(base32 "121h9j57gvjr155vvm4f7ybphfvqrdz2ib059kfi444xcxz19sl0"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no tests
@ -1219,7 +1307,7 @@ either by Infocom or created using the Inform compiler.")
(native-inputs
`(("pkg-config" ,pkg-config)
("which" ,which)))
(home-page "http://www.libretro.com/")
(home-page "https://www.libretro.com/")
(synopsis "Reference frontend for the libretro API")
(description
"Libretro is a simple but powerful development interface that allows for
@ -2299,10 +2387,85 @@ engine. When you start it you will be prompted to download a graphics set.")
;; 'openttd' a wrapper around them. The engine is playable by itself,
;; but it asks a user to download graphics if it's not found.
(define openttd-opengfx
(package
(name "openttd-opengfx")
(version "0.5.2")
(source
(origin
(method url-fetch)
(uri (string-append "http://binaries.openttd.org/extra/opengfx/"
version "/opengfx-" version "-source.tar.xz"))
(sha256
(base32
"0iz66q7p1mf00njfjbc4vibh3jaybki7armkl18iz7p6x4chp9zv"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
(string-append "INSTALL_DIR="
(assoc-ref %outputs "out")
"/share/openttd/baseset"))
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda _
;; Make sure HOME is writable for GIMP.
(setenv "HOME" (getcwd))
;; Redirect stdout, not stderr, to /dev/null. This prevents
;; dos2unix from receiving its version information as a flag.
(substitute* "Makefile"
(("\\$\\(UNIX2DOS\\) -q --version 2>/dev/null")
"$(UNIX2DOS) -q --version 1>/dev/null")))))
;; The check phase for this package only checks the md5sums of the built
;; GRF files against the md5sums of the release versions. Because we use
;; different software versions than upstream does, some of the md5sums
;; are different. However, the package is still reproducible, it's safe
;; to disable this test.
#:tests? #f))
(native-inputs `(("dos2unix" ,dos2unix)
("gimp" ,gimp)
("grfcodec" ,grfcodec)
("nml" ,nml)
("python" ,python-2)))
(home-page "http://dev.openttdcoop.org/projects/opengfx")
(synopsis "Base graphics set for OpenTTD")
(description
"The OpenGFX projects is an implementation of the OpenTTD base grahics
set that aims to ensure the best possible out-of-the-box experience.
OpenGFX provides you with...
@enumerate
@item All graphics you need to enjoy OpenTTD.
@item Uniquely drawn rail vehicles for every climate.
@item Completely snow-aware rivers.
@item Different river and sea water.
@item Snow-aware buoys.
@end enumerate")
(license license:gpl2)))
(define-public openttd
(package
(inherit openttd-engine)
(name "openttd")))
(name "openttd")
(arguments
(substitute-keyword-arguments (package-arguments openttd-engine)
((#:phases phases)
`(modify-phases ,phases
(add-after 'install 'install-data
(lambda* (#:key inputs outputs #:allow-other-keys)
(let*
((opengfx (assoc-ref inputs "opengfx"))
(out (assoc-ref outputs "out"))
(gfx-dir
(string-append out
"/share/games/openttd/baseset/opengfx")))
(mkdir-p gfx-dir)
(copy-recursively opengfx gfx-dir))
#t))))))
(native-inputs
`(("opengfx" ,openttd-opengfx)
,@(package-native-inputs openttd-engine)))))
(define-public pinball
(package
@ -2626,7 +2789,7 @@ Red Eclipse provides fast paced and accessible gameplay.")
(define-public higan
(package
(name "higan")
(version "101")
(version "103")
(source
(origin
(method url-fetch)
@ -2635,7 +2798,7 @@ Red Eclipse provides fast paced and accessible gameplay.")
version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0qavwkmzc63p6qplmxii4gc541z5mcs8gjwh3m4y7i576r7rcbk9"))
(base32 "013r0lcm0qw8zwavz977mqk2clg80gngkjijr3n0q8snpc1727r7"))
(patches (search-patches "higan-remove-march-native-flag.patch"))))
(build-system gnu-build-system)
(native-inputs

View File

@ -45,7 +45,6 @@
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (guix download)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)

View File

@ -132,7 +132,6 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages fonts)
#:use-module (gnu packages qemu)
#:use-module (gnu packages zip)
#:use-module (gnu packages speech)
#:use-module (srfi srfi-1))
@ -920,6 +919,9 @@ some form of information without getting in the user's way.")
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)))
(propagated-inputs
;; The .pc file "Requires" gobject-introspection.
`(("gobject-introspection" ,gobject-introspection)))
(home-page "https://wiki.gnome.org/Libpeas")
(synopsis "GObject plugin system")
(description
@ -3648,6 +3650,51 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
supports image conversion, rotation, and slideshows.")
(license license:gpl2+)))
(define-public eog-plugins
;; Note: EOG looks for its plugins (via libpeas) in ~/.local as well as
;; $DATA/lib/eog/plugins, where DATA is one of the entries in
;; $XDG_DATA_DIRS. Thus, for EOG to find these, you have to have
;; 'XDG_DATA_DIRS' appropriately set.
(package
(name "eog-plugins")
(version "3.25.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0an04z8v83qa6j950rbwdzf1s86y7zd8h1r4p2x36fwbkk1m617q"))))
(build-system gnu-build-system)
(home-page "https://wiki.gnome.org/Apps/EyeOfGnome/Plugins")
(synopsis "Extensions for the Eye of GNOME image viewer")
(native-inputs
`(("pkg-config" ,pkg-config)
("gettext" ,gnu-gettext)))
(inputs
`(("eog" ,eog)
("glib" ,glib)
("gtk+" ,gtk+)
("libpeas" ,libpeas)
("libexif" ,libexif)
("libchamplain" ,libchamplain)))
(description
"This package provides plugins for the Eye of GNOME (EOG) image viewer,
notably:
@itemize
@item @dfn{EXIF Display}, which displays camera (EXIF) information;
@item @dfn{Map}, which displays a map of where the picture was taken on the
side panel;
@item @dfn{Slideshow Shuffle}, to shuffle images in slideshow mode.
@end itemize\n")
;; XXX: eog-postasa-plugin-resources.c (which we don't build) contains a
;; long suspicious byte stream that goes to a
;; ".gresource.eog_postasa_plugin" ELF section.
(license license:gpl2+)))
(define-public libgudev
(package
(name "libgudev")
@ -3859,6 +3906,7 @@ work and the interface is well tested.")
(inputs
`(("avahi" ,avahi)
("gcr" ,gcr)
("gdk-pixbuf" ,gdk-pixbuf) ; for loading SVG files
("glib-networking" ,glib-networking)
("gnome-desktop" ,gnome-desktop)
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)

View File

@ -58,7 +58,6 @@
#:use-module (gnu packages icu4c)
#:use-module (gnu packages video)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages zip)
#:use-module (gnu packages readline))
(define-public mozjs

View File

@ -62,8 +62,7 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages video)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip))
#:use-module (gnu packages xorg))
(define-public blender
(package

View File

@ -98,7 +98,7 @@ arrays of data.")
(define-public gstreamer
(package
(name "gstreamer")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
@ -107,7 +107,7 @@ arrays of data.")
version ".tar.xz"))
(sha256
(base32
"00j3zwm22582fwyzh316mnh6ghicv4ya93yk52kz4avx57wfxm8l"))))
"1lm6lcr0rv0mzsdl9vjdnf3vb136qmcslvz3m5zlai7zngcbji4h"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@ -146,7 +146,7 @@ This package provides the core library and elements.")
(define-public gst-plugins-base
(package
(name "gst-plugins-base")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
@ -154,7 +154,7 @@ This package provides the core library and elements.")
name "-" version ".tar.xz"))
(sha256
(base32
"0k9nckvzk2hhhg7w4gzmd7is0lbswdmrkwmcgblvdf2lgy3wcprl"))))
"0r84krn8dpimp6kk9cf38danrbbsypx6j6ykr6rl1a3lnnnrzkhc"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(propagated-inputs
@ -201,7 +201,7 @@ for the GStreamer multimedia library.")
(define-public gst-plugins-good
(package
(name "gst-plugins-good")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
@ -210,7 +210,7 @@ for the GStreamer multimedia library.")
name "-" version ".tar.xz"))
(sha256
(base32
"1g1f6xyj0f06nmsl01xhr32x2rwyb857yjkrig1013iknx6p67ca"))))
"0jzm5jp22238y3rb0j1dsxyp77dq0wk03gn9kvq25rphlx38w7hj"))))
(build-system gnu-build-system)
(inputs
`(("aalib" ,aalib)
@ -266,14 +266,14 @@ developers consider to have good quality code and correct functionality.")
(define-public gst-plugins-bad
(package
(name "gst-plugins-bad")
(version "1.12.0")
(version "1.12.1")
(source (origin
(method url-fetch)
(uri (string-append "https://gstreamer.freedesktop.org/src/"
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"0d45zgdnflwpwvlb1fmgj35yfds9m1g46mhppvlsh5dky7zkrdqi"))))
"15svf3d4n13r1c18mx9ya3ymibv0vbx9s593j0cm0kn4s54q1vvx"))))
(outputs '("out" "doc"))
(build-system gnu-build-system)
(arguments
@ -343,7 +343,7 @@ par compared to the rest.")
(define-public gst-plugins-ugly
(package
(name "gst-plugins-ugly")
(version "1.12.0")
(version "1.12.1")
(source
(origin
(method url-fetch)
@ -351,7 +351,7 @@ par compared to the rest.")
name "/" name "-" version ".tar.xz"))
(sha256
(base32
"1mhasi20kvi9p72kh4qyfzync509wqqkk8fp2xxyhgp88r8bls2y"))))
"0s8hiv4asqd6nwnksqv6cwpzan41zd0nd8nhlm7s64wp0lyi5hlg"))))
(build-system gnu-build-system)
(inputs
`(("gst-plugins-base" ,gst-plugins-base)
@ -382,7 +382,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
(define-public gst-libav
(package
(name "gst-libav")
(version "1.12.0")
(version "1.12.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -390,7 +390,7 @@ distribution problems in some jurisdictions, e.g. due to patent threats.")
name "-" version ".tar.xz"))
(sha256
(base32
"1i2h0ymh9jy0rnkcan2rdsdfq7l02rmp33g712q81s9fcizlgl9r"))))
"0xshib0hsn8yjmd12ipsrbrvxa5qnhnz7zmdj7lms6b3vwzq5msm"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--with-system-libav")
@ -420,7 +420,7 @@ compression formats through the use of the libav library.")
(define-public python-gst
(package
(name "python-gst")
(version "1.12.0")
(version "1.12.1")
(source (origin
(method url-fetch)
(uri (string-append
@ -428,7 +428,7 @@ compression formats through the use of the libav library.")
"gst-python-" version ".tar.xz"))
(sha256
(base32
"01wwbn6z3771ad55ljl9gs6irrs9a8p186zrgrkmzs91kxmxwcxy"))))
"18bq03xdc0jgrza4114lrcj82yai4azkjzfxflqagc0y417vw88p"))))
(build-system gnu-build-system)
(arguments
;; XXX: Factorize python-sitedir with python-build-system.

View File

@ -36,6 +36,7 @@
#:use-module (gnu packages aspell)
#:use-module (gnu packages bash)
#:use-module (gnu packages bdw-gc)
#:use-module (gnu packages compression)
#:use-module (gnu packages gawk)
#:use-module (gnu packages gperf)
#:use-module (gnu packages libffi)
@ -62,7 +63,6 @@
#:use-module (gnu packages version-control)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)

View File

@ -46,7 +46,6 @@
#:use-module (gnu packages sdl)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (guix build-system gnu)
#:use-module (guix build-system haskell)
#:use-module (guix download)
@ -1633,14 +1632,14 @@ environment variables.")
(define-public ghc-x11
(package
(name "ghc-x11")
(version "1.6.1.2")
(version "1.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/X11/"
"X11-" version ".tar.gz"))
(sha256
(base32 "1kzjcynm3rr83ihqx2y2d852jc49da4p18gv6jzm7g87z22x85jj"))))
(base32 "13lxq36856fzp61y4api78vssykyh8fm2aplr0nsj18ymdm1c6sl"))))
(build-system haskell-build-system)
(inputs
`(("libx11" ,libx11)

View File

@ -104,14 +104,18 @@ actions.")
"0gzc82sy66pbsmq7lnmq4y37zqad1zfwfls3ik3dmfm8s5nmcvsb"))))
(build-system gnu-build-system)
(arguments
`(#:phases
`(;; Enable support for a "map" pane using GPS data.
#:configure-flags '("--enable-map")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autogen
(lambda _
(setenv "NOCONFIGURE" "true")
(zero? (system* "sh" "autogen.sh")))))))
(inputs
`(;; ("libchamplain" ,libchamplain)
`(("clutter" ,clutter)
("libchamplain" ,libchamplain)
("lcms" ,lcms)
("exiv2" ,exiv2)
("libpng" ,libpng)

View File

@ -55,7 +55,6 @@
#:use-module (gnu packages python)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
@ -366,52 +365,6 @@ collection of tools for doing simple manipulations of TIFF images.")
"See COPYRIGHT in the distribution."))
(home-page "http://www.simplesystems.org/libtiff/")))
(define-public libwmf
(package
(name "libwmf")
(version "0.2.8.4")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/wvware/"
name "/" version
"/" name "-" version ".tar.gz"))
(sha256
(base32 "1y3wba4q8pl7kr51212jwrsz1x6nslsx1gsjml1x0i8549lmqd2v"))
(patches
(search-patches "libwmf-CAN-2004-0941.patch"
"libwmf-CVE-2006-3376.patch"
"libwmf-CVE-2007-0455.patch"
"libwmf-CVE-2007-2756.patch"
"libwmf-CVE-2007-3472.patch"
"libwmf-CVE-2007-3473.patch"
"libwmf-CVE-2007-3477.patch"
"libwmf-CVE-2009-1364.patch"
"libwmf-CVE-2009-3546.patch"
"libwmf-CVE-2015-0848+CVE-2015-4588.patch"
"libwmf-CVE-2015-4695.patch"
"libwmf-CVE-2015-4696.patch"))))
(build-system gnu-build-system)
(inputs
`(("freetype" ,freetype)
("libjpeg" ,libjpeg)
("libpng",libpng)
("libxml2" ,libxml2)
("zlib" ,zlib)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(synopsis "Library for reading images in the Microsoft WMF format")
(description
"libwmf is a library for reading vector images in Microsoft's native
Windows Metafile Format (WMF) and for either (a) displaying them in, e.g., an X
window; or (b) converting them to more standard/free file formats such as, e.g.,
the W3C's XML-based Scaleable Vector Graphic (SVG) format.")
(home-page "http://wvware.sourceforge.net/libwmf.html")
;; 'COPYING' is the GPLv2, but file headers say LGPLv2.0+.
(license license:lgpl2.0+)))
(define-public leptonica
(package
(name "leptonica")

View File

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

View File

@ -142,14 +142,14 @@ SILC and ICB protocols via plugins.")
(define-public weechat
(package
(name "weechat")
(version "1.8")
(version "1.9")
(source (origin
(method url-fetch)
(uri (string-append "https://weechat.org/files/src/weechat-"
version ".tar.xz"))
(sha256
(base32
"05z0qmlmdm0zgkzhi6cy6snxdz37h1n5z2s460df76akjr7capxn"))
"1zvxz98krq98y7jh3yrjbardg3yxp6y2031rvb7rp5ssk8lyp1fc"))
(patches (search-patches "weechat-python.patch"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)

View File

@ -60,7 +60,6 @@
#:use-module (gnu packages kerberos)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (gnu packages texinfo)
#:use-module ((srfi srfi-1) #:select (fold alist-delete))
#:use-module (srfi srfi-11)

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -83,3 +84,53 @@ and AsciiMath notation that works in all modern browsers. It requires no
plugins or software to be installed on the browser. So the page author can
write web documents that include mathematics and be confident that readers will
be able to view it naturally and easily.")))
(define-public js-respond
(package
(name "js-respond")
(version "1.4.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/scottjehl/Respond/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0ds1ya2a185jp93mdn07159c2x8zczwi960ykrawpp62bwk2n93d"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils)
(ice-9 match)
(ice-9 popen)
(srfi srfi-26))
(set-path-environment-variable
"PATH" '("bin") (map (match-lambda
((_ . input)
input))
%build-inputs))
(let ((install-directory (string-append %output
"/share/javascript/respond/")))
(system* "tar" "xvf"
(assoc-ref %build-inputs "source")
"--strip" "1")
(mkdir-p install-directory)
(let* ((file "src/respond.js")
(installed (string-append install-directory "respond.min.js")))
(let ((minified (open-pipe* OPEN_READ "uglify-js" file)))
(call-with-output-file installed
(cut dump-port minified <>)))))
#t)))
(home-page "https://github.com/scottjehl/Respond")
(native-inputs
`(("uglify-js" ,uglify-js)
("source" ,source)
("gzip" ,gzip)
("tar" ,tar)))
(synopsis "Polyfill for min/max-width CSS3 Media Queries")
(description "The goal of this script is to provide a fast and lightweight
script to enable responsive web designs in browsers that don't support CSS3
Media Queries.")
(license license:expat)))

View File

@ -46,8 +46,8 @@
#:use-module (ice-9 match))
(define libuv-julia
(let ((commit "8d5131b6c1595920dd30644cd1435b4f344b46c8")
(revision "4"))
(let ((commit "52d72a52cc7ccd570929990f010ed16e2ec604c8")
(revision "5"))
(package (inherit libuv)
(name "libuv-julia")
(version (string-append "1.9.0-" revision "." (string-take commit 8)))
@ -59,7 +59,7 @@
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1fq0vhiprdryw8iisxxwyld3xdr5za6y8458p22ff56al98h22fv"))))
"1daxh6ci6q7znxxajr3bm16dd53ragm0d681wf4kzg542qnjq3lh"))))
(build-system gnu-build-system)
(arguments
(substitute-keyword-arguments (package-arguments libuv)
@ -83,7 +83,7 @@
(define-public julia
(package
(name "julia")
(version "0.5.1")
(version "0.6.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -91,7 +91,7 @@
version "/julia-" version ".tar.gz"))
(sha256
(base32
"1a9m7hzzrwk71gvwwrd1p45s64yid61i41n95gm5pzbry6p9fpl0"))))
"0rd6lcc9sic10q1j3c6f9qr901i1c4554m93n2sz5b3mh37byqhw"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@ -122,12 +122,19 @@
(copy-file (string-append (assoc-ref inputs "virtualenv")
"/bin/virtualenv")
"julia-env")
(copy-file (assoc-ref inputs "unicode-data")
"doc/UnicodeData.txt")
#t))
(add-after 'unpack 'fix-llvm-flag
;; FIXME: Building the documentation requires Julia packages that
;; would be downloaded from the Internet. We should build them in a
;; separate build phase.
(add-after 'unpack 'disable-documentation
(lambda _
(substitute* "src/Makefile"
(("-lLLVM-\\$\\(shell \\$\\(LLVM_CONFIG_HOST\\) --version\\)")
"$(shell $(LLVM_CONFIG_HOST) --libs)"))
(substitute* "Makefile"
(("(install: .*) \\$\\(BUILDROOT\\)/doc/_build/html/en/index.html" _ line)
(string-append line "\n"))
(("src ui doc deps")
"src ui deps"))
#t))
(add-before 'check 'set-home
;; Some tests require a home directory to be set.
@ -156,16 +163,16 @@
("gmp" "libgmp" "libgmp.so")
("openlibm" "libopenlibm" "libopenlibm.so")
("openspecfun" "libopenspecfun" "libopenspecfun.so")
("fftw" "libfftw3" "libfftw3.so")
("fftwf" "libfftw3f" "libfftw3f.so"))))))
("fftw" "libfftw3" "libfftw3_threads.so")
("fftwf" "libfftw3f" "libfftw3f_threads.so"))))))
(substitute* "base/fft/FFTW.jl"
(("const libfftw = Base.libfftw_name")
(string-append "const libfftw = \""
(assoc-ref inputs "fftw") "/lib/libfftw3.so"
(assoc-ref inputs "fftw") "/lib/libfftw3_threads.so"
"\""))
(("const libfftwf = Base.libfftwf_name")
(string-append "const libfftwf = \""
(assoc-ref inputs "fftwf") "/lib/libfftw3f.so"
(assoc-ref inputs "fftwf") "/lib/libfftw3f_threads.so"
"\"")))
(substitute* "base/math.jl"
(("const libm = Base.libm_name")
@ -228,7 +235,14 @@
(("\"backtrace\",") "")
(("\"compile\",") "")
(("\"replutil\",") "")
(("\"cmdlineargs\",") ""))
(("\"cmdlineargs\",") "")
;; FIXME: This test fails with the following error:
;; Error in testset file:
;; Test Failed
;; Expression: download("ba\0d", "good")
;; Expected: ArgumentError
;; Thrown: Base.UVError
(("\"file\",") ""))
#t)))
#:make-flags
(list
@ -268,6 +282,8 @@
(assoc-ref %build-inputs "utf8proc")
"/include")
"USE_SYSTEM_LLVM=1"
"USE_LLVM_SHLIB=0" ; FIXME: fails when set to 1
"USE_SYSTEM_LIBUNWIND=1"
"USE_SYSTEM_LIBUV=1"
(string-append "LIBUV="
@ -339,7 +355,14 @@
("perl" ,perl)
("patchelf" ,patchelf)
("pkg-config" ,pkg-config)
("python" ,python-2)))
("python" ,python-2)
("unicode-data"
,(origin
(method url-fetch)
(uri "http://www.unicode.org/Public/9.0.0/ucd/UnicodeData.txt")
(sha256
(base32
"13zfannnr6sa6s27ggvcvzmh133ndi38pfyxsssvjmw2s8ac9pv8"))))))
;; Julia is not officially released for ARM and MIPS.
;; See https://github.com/JuliaLang/julia/issues/10639
(supported-systems '("i686-linux" "x86_64-linux"))

View File

@ -68,8 +68,7 @@
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages assembly)
#:use-module (gnu packages zip))
#:use-module (gnu packages assembly))
(define-public crossguid
(let ((commit "8f399e8bd4252be9952f3dfa8199924cc8487ca4"))

View File

@ -35,8 +35,7 @@
#:use-module (gnu packages libedit)
#:use-module (gnu packages llvm)
#:use-module (gnu packages python)
#:use-module (gnu packages textutils)
#:use-module (gnu packages zip))
#:use-module (gnu packages textutils))
(define-public rdmd
(package

View File

@ -20,27 +20,22 @@
(define-module (gnu packages libffcall)
#:use-module ((guix licenses) #:prefix l:)
#:use-module (guix utils) ; string-replace-substring
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu))
(define-public libffcall
(package
(name "libffcall")
(version "1.12")
(version "1.13")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/r/libffcall.git")
(commit (string-append
"ffcall-" (string-replace-substring version "." "-")))))
(file-name (string-append name "-" version "-checkout"))
(method url-fetch)
(uri (string-append
"mirror://gnu/libffcall/libffcall-" version ".tar.gz"))
(sha256
(base32
"0p7gg5k4ifcqpmrmdfmr2r4x909cn35g87iff539p6i8891fdfxf"))))
"1rxwkfr0p7vdv6q6x8nmn13611nsq0lnk9cspqdpzxdvgmqcw1qp"))))
(build-system gnu-build-system)
(arguments `(#:parallel-build? #f))
(synopsis "Foreign function calls from interpreters")
@ -48,5 +43,4 @@
"GNU Libffcall is a collection of libraries that can be used to build
foreign function call interfaces in embedded interpreters.")
(home-page "https://www.gnu.org/software/libffcall/")
(supported-systems (delete "aarch64-linux" %supported-systems))
(license l:gpl2+)))

View File

@ -65,8 +65,7 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages version-control)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip))
#:use-module (gnu packages xorg))
(define-public ixion
(package

View File

@ -25,6 +25,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 nee <nee-git@hidamari.blue>
;;;
;;; This file is part of GNU Guix.
;;;
@ -62,6 +63,7 @@
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages file)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
@ -420,7 +422,17 @@ https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch
%linux-libre-hash
'("armhf-linux")
#:defconfig "multi_v7_defconfig"
#:extra-version "arm-generic"))
#:extra-version "arm-generic"
#:patches
(list %boot-logo-patch
(origin
(method url-fetch)
(uri "\
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git/patch/?id=167ec8235f978d7af78c73e9490dae1af3fee67f")
(file-name "linux-libre-4.11-CVE-2017-1000364.patch")
(sha256
(base32
"0hv3lxjgpssvsldkydg5q7znnzxv5ncpzrk6g11q01k3gkl0q689"))))))
;;;
@ -595,6 +607,27 @@ block devices, UUIDs, TTYs, and many other tools.")
(license (list license:gpl3+ license:gpl2+ license:gpl2 license:lgpl2.0+
license:bsd-4 license:public-domain))))
(define-public ddate
(package
(name "ddate")
(version "0.2.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bo0ts/ddate/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1bbqqq8mswj4bp9083gxjaky5ysfznax4cynsqwmy125z053yg6m"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f))
(home-page "https://github.com/bo0ts/ddate")
(synopsis "PERPETUAL DATE CONVERTER FROM GREGORIAN TO POEE CALENDAR")
(description
"ddate displays the Discordian date and holidays of a given date.
The Discordian calendar was made popular by the \"Illuminatus!\" trilogy
by Robert Shea and Robert Anton Wilson.")
(license license:public-domain)))
(define-public procps
(package
(name "procps")
@ -1061,6 +1094,61 @@ package also includes ip6tables. ip6tables is used for configuring the IPv6
packet filter.")
(license license:gpl2+)))
(define-public ebtables
(package
(name "ebtables")
(version "2.0.10-4")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://netfilter.org/ebtables/ebtables-v"
version ".tar.gz"))
(sha256
(base32
"0pa5ljlk970yfyhpf3iqwfpbc30j8mgn90fapw9cfz909x47nvyw"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ; no test suite
#:make-flags
(let* ((out (assoc-ref %outputs "out"))
(bin (string-append out "/sbin"))
(lib (string-append out "/lib"))
(man (string-append out "/share/man"))
(iptables (assoc-ref %build-inputs "iptables"))
(ethertypes (string-append iptables "/etc/ethertypes")))
(list (string-append "LIBDIR=" lib)
(string-append "MANDIR=" man)
(string-append "BINDIR=" bin)
(string-append "ETHERTYPESFILE=" ethertypes)
;; With the default CFLAGS, it falis with:
;; communication.c:259:58: error: variable ret set but not
;; used [-Werror=unused-but-set-variable]
"CFLAGS=-Wall"))
#:phases
(modify-phases %standard-phases
(replace 'configure
;; no configure script
(lambda _
(substitute* "Makefile"
;; Remove user and group options from install commands,
;; otherwise it fails with: invalid user 'root'.
(("-o root -g root") "")
;; Remove 'ethertypes' from the install target.
(("install: .*")
"install: $(MANDIR)/man8/ebtables.8 exec scripts\n"))
#t)))))
(inputs
`(("perl" ,perl)
("iptables" ,iptables)))
(synopsis "Ethernet bridge frame table administration")
(home-page "http://ebtables.netfilter.org/")
(description
"ebtables is an application program used to set up and maintain the
tables of rules (inside the Linux kernel) that inspect Ethernet frames. It is
analogous to the iptables application, but less complicated, due to the fact
that the Ethernet protocol is much simpler than the IP protocol.")
(license license:gpl2+)))
(define-public iproute
(package
(name "iproute2")
@ -4061,3 +4149,30 @@ from the CPUID instruction, and also determines the exact model of CPU(s). It
supports Intel, AMD, and VIA CPUs, as well as older Transmeta, Cyrix, UMC,
NexGen, Rise, and SiS CPUs.")
(license license:gpl2+)))
(define-public jmtpfs
(package
(name "jmtpfs")
(version "0.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/JasonFerrara/jmtpfs/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"10v8d7mmx8b8123x5f9y9zaaa428ms6wkngwn2ra71n5a53wrjn0"))))
(build-system gnu-build-system)
(inputs
`(("file" ,file)
("fuse" ,fuse)
("libmtp" ,libmtp)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/JasonFerrara/jmtpfs")
(synopsis "Use a FUSE filesystem to access data over MTP")
(description "jmtpfs uses FUSE (filesystem in userspace) to provide access
to data over the Media Transfer Protocol (MTP). Unprivileged users can mount
the MTP device as a filesystem.")
(license license:gpl3)))

View File

@ -2335,5 +2335,5 @@ tools and applications:
(description "Balsa is a highly configurable and robust mail client for
the GNOME desktop. It supports both POP3 and IMAP servers as well as the
mbox, maildir and mh local mailbox formats. Balsa also supports SMTP and/or
the use of a local MTA such as Sendemail.")
the use of a local MTA such as Sendmail.")
(license gpl3+)))

View File

@ -26,10 +26,10 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages web)
#:use-module (gnu packages zip))
#:use-module (gnu packages web))
(define-public hoedown
(package

View File

@ -96,7 +96,6 @@
#:use-module (gnu packages tls)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1))
(define-public aris
@ -259,19 +258,18 @@ semiconductors.")
(define-public gsl
(package
(name "gsl")
(version "2.3")
(version "2.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gsl/gsl-"
version ".tar.gz"))
(sha256
(base32
"1yxdzqjwmi2aid650fa9zyr8llw069x7lm489wx9nnfdi6vh09an"))
"16yfs5n444s03np1naj6yp1fsysd42kdscxzkg0k2yvfjixx0ijd"))
(patches (search-patches "gsl-test-i686.patch"))))
(build-system gnu-build-system)
(arguments
`(#:parallel-tests? #f
;; Currently there are numerous tests that fail on "exotic"
`(;; Currently there are numerous tests that fail on "exotic"
;; architectures such as aarch64 and ppc64le.
,@(if (string-prefix? "aarch64-linux"
(or (%current-target-system) (%current-system)))
@ -610,12 +608,13 @@ incompatible with HDF5.")
(define-public hdf5
(package
(name "hdf5")
(version "1.8.18")
(version "1.8.19")
(source
(origin
(method url-fetch)
(uri (list (string-append "http://www.hdfgroup.org/ftp/HDF5/releases/"
"hdf5-" version "/src/hdf5-"
(uri (list (string-append "https://support.hdfgroup.org/ftp/HDF5/releases/"
"hdf5-" (version-major+minor version)
"/hdf5-" version "/src/hdf5-"
version ".tar.bz2")
(string-append "https://support.hdfgroup.org/ftp/HDF5/"
"current"
@ -623,7 +622,7 @@ incompatible with HDF5.")
(take (string-split version #\.) 2))
"/src/hdf5-" version ".tar.bz2")))
(sha256
(base32 "13542vrnl1p35n8vbq0wzk40vddmm33q5nh04j98c7r1yjnxxih1"))
(base32 "0f3jfbqpaaq21ighi40qzs52nb52kc2d2yjk541rjmsx20b3ih2r"))
(patches (list (search-patch "hdf5-config-date.patch")))))
(build-system gnu-build-system)
(inputs

View File

@ -31,7 +31,7 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages check)
#:use-module (gnu packages perl)
#:use-module (gnu packages zip))
#:use-module (gnu packages compression))
(define-public mc
(package

View File

@ -27,8 +27,7 @@
#:use-module (gnu packages gd)
#:use-module (gnu packages image)
#:use-module (gnu packages mail)
#:use-module (gnu packages perl)
#:use-module (gnu packages zip))
#:use-module (gnu packages perl))
(define-public nagios
(package

View File

@ -117,8 +117,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
("pulseaudio" ,pulseaudio)
("sqlite" ,sqlite)
("zlib" ,zlib)))
(native-inputs `(("gcc" ,gcc-5) ; Fails to build with GCC@4.
("pkg-config" ,pkg-config)))
(native-inputs `(("pkg-config" ,pkg-config)))
;; Missing optional inputs:
;; libyajl
;; libcdio_paranoia

View File

@ -105,7 +105,6 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xiph)
#:use-module (gnu packages zip)
#:use-module ((srfi srfi-1) #:select (last)))
(define-public aria-maestosa
@ -1080,7 +1079,7 @@ users to select LV2 plugins and run them with jalv.")
(define-public synthv1
(package
(name "synthv1")
(version "0.8.2")
(version "0.8.3")
(source (origin
(method url-fetch)
(uri
@ -1088,7 +1087,7 @@ users to select LV2 plugins and run them with jalv.")
"/synthv1-" version ".tar.gz"))
(sha256
(base32
"0lmblhk0728bxi7cixc2j9p6gisicy6alybga9vwmg453snrsybr"))))
"1yqh7jx431q01f15b3h4dh038yvmc4jcsr3vn2175kqgwfj9jqcg"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@ -1098,9 +1097,12 @@ users to select LV2 plugins and run them with jalv.")
`(("jack" ,jack-1)
("lv2" ,lv2)
("alsa-lib" ,alsa-lib)
("non-session-manager" ,non-session-manager)
("liblo" ,liblo)
("qtbase" ,qtbase)
("qttools" ,qttools)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://synthv1.sourceforge.net")
(synopsis "Polyphonic subtractive synthesizer")
(description
@ -1111,7 +1113,7 @@ oscillators and stereo effects.")
(define-public drumkv1
(package
(name "drumkv1")
(version "0.8.2")
(version "0.8.3")
(source (origin
(method url-fetch)
(uri
@ -1119,7 +1121,7 @@ oscillators and stereo effects.")
"/drumkv1-" version ".tar.gz"))
(sha256
(base32
"0lf9x99gmmk64xq73lcwpwqznh8s79qy2fjjjzzw6sbw99w8qyz4"))))
"0rvdvc81j4b4n64i7jmk58khry28al8p73g71srdv1kw7j65f2zv"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@ -1130,6 +1132,7 @@ oscillators and stereo effects.")
("lv2" ,lv2)
("libsndfile" ,libsndfile)
("alsa-lib" ,alsa-lib)
("non-session-manager" ,non-session-manager)
("liblo" ,liblo)
("qtbase" ,qtbase)))
(native-inputs
@ -1145,7 +1148,7 @@ effects.")
(define-public samplv1
(package
(name "samplv1")
(version "0.8.2")
(version "0.8.3")
(source (origin
(method url-fetch)
(uri
@ -1153,7 +1156,7 @@ effects.")
"/samplv1-" version ".tar.gz"))
(sha256
(base32
"11mxn3ff9g0x1rl4jl5rngmwlb8dmkbzsjhxb8gqhmlpfj24wl7l"))))
"1lbxrn24fg1z659zbaakzq6z8gbax6z16di9v9bhhslk8w2mndik"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; There are no tests.
@ -1164,6 +1167,7 @@ effects.")
("lv2" ,lv2)
("libsndfile" ,libsndfile)
("alsa-lib" ,alsa-lib)
("non-session-manager" ,non-session-manager)
("liblo" ,liblo)
("qtbase" ,qtbase)))
(native-inputs

View File

@ -29,7 +29,7 @@
(define-public nano
(package
(name "nano")
(version "2.8.4")
(version "2.8.5")
(source
(origin
(method url-fetch)
@ -37,7 +37,7 @@
version ".tar.xz"))
(sha256
(base32
"04bvmimrw40cbcnm3xm5l5lir0qy7cncfkmwrlzg8jiy1x7jdky7"))))
"1hl9gni3qmblr062a7w6vz16gvxbswgc5c19c923ja0bk48vyhyb"))))
(build-system gnu-build-system)
(inputs
`(("gettext" ,gettext-minimal)

View File

@ -15,6 +15,7 @@
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -66,6 +67,7 @@
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
#:use-module (gnu packages xml)
#:use-module (ice-9 match))
(define-public macchanger
@ -1095,6 +1097,44 @@ which PID is causing this. This makes it easy to identify programs that have
gone wild and are suddenly taking up your bandwidth.")
(license license:gpl2+)))
(define-public nzbget
(package
(name "nzbget")
(version "18.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/nzbget/nzbget/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1a8wmbhc1si1n8axzrr8ysmrd3gr643lbh6pvzmr0hnd65fixmx5"))))
(arguments
`(#:configure-flags
(list
(string-append "--with-libcurses-includes=" (assoc-ref
%build-inputs "ncurses") "/include")
(string-append "--with-libcurses-libraries=" (assoc-ref
%build-inputs "ncurses") "/lib")
(string-append "--with-tlslib=GnuTLS"))))
(build-system gnu-build-system)
(inputs `(("gnutls", gnutls)
("libxml2", libxml2)
("ncurses", ncurses)
("zlib", zlib)))
(native-inputs `(("pkg-config", pkg-config)))
(home-page "https://github.com/nzbget/nzbget")
(synopsis "Usenet binary file downloader")
(description
"NZBGet is a binary newsgrabber, which downloads files from Usenet based
on information given in @code{nzb} files. NZBGet can be used in standalone
and in server/client modes. In standalone mode, you pass NZBGet @command{nzb}
files as command-line parameters and it downloads them and exits. NZBGet also
contains a Web interface. Its server can be controlled through remote
procedure calls (RPCs).")
(license license:gpl2+)))
(define-public openvswitch
(package
(name "openvswitch")

View File

@ -113,32 +113,33 @@ manner.")
(define-public python-hacking
(package
(name "python-hacking")
(version "0.10.2")
(version "0.13.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "hacking" version))
(sha256
(base32
"1a310k3dv04jg7zvmk37h2ql7y9kf4hvdxb74bjlwdxgmy6h4wap"))))
"1s1wq2sds6fjp8rwz31vkp33kjl9nyk5y2g2pri8shic75dr00h4"))))
(build-system python-build-system)
(arguments
;; TODO: Requires unpackaged 'eventlet'.
'(#:tests? #f))
(propagated-inputs
`(("python-flake8-2.2.4" ,python-flake8-2.2.4)
("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
("python-pbr" ,python-pbr)
("python-pep8-1.5.7" ,python-pep8-1.5.7)
("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
("python-six" ,python-six)))
`(("python-flake8" ,python-flake8)
("python-mccabe-0.2.1" ,python-mccabe-0.2.1)
("python-pbr" ,python-pbr)
("python-pep8-1.5.7" ,python-pep8-1.5.7)
("python-pyflakes-0.8.1" ,python-pyflakes-0.8.1)
("python-six" ,python-six)))
(native-inputs
`(;; Tests
("python-testscenarios" ,python-testscenarios)))
`( ;; Tests
("python-eventlet" ,python-eventlet)
("python-mock" ,python-mock)
("python-reno" ,python-reno)
("python-testrepository" ,python-testrepository)
("python-testscenarios" ,python-testscenarios)))
(home-page "https://github.com/openstack-dev/hacking")
(synopsis "OpenStack hacking guideline enforcement")
(description
"Python-hacking is a set of flake8 plugins that test and enforce the
"Python-hacking is a set of flake8 plugins that test and enforce the
@uref{http://docs.openstack.org/developer/hacking/, OpenStack style
guidelines}.")
(license asl2.0)))

View File

@ -9,6 +9,8 @@
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Jelle Licht <jlicht@fsfe.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,6 +38,7 @@
#:use-module (gnu packages aidc)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
@ -186,14 +189,15 @@ and vice versa.")
(home-page "https://github.com/cracklib/cracklib")
(description
"CrackLib is a library containing a C function which may be used in a
passwd like program. The idea is simple: try to prevent users from choosing
passwords that could be guessed by crack by filtering them out, at source.")
@command{passwd}-like program. The idea is simple: try to prevent users from
choosing passwords that could easily be guessed (or \"cracked\") by filtering
them out, at the source.")
(license license:lgpl2.1)))
(define-public libpwquality
(package
(name "libpwquality")
(version "1.3.0")
(version "1.4.0")
(source (origin
(method url-fetch)
(uri (list
@ -205,7 +209,7 @@ passwords that could be guessed by crack by filtering them out, at source.")
name "-" version ".tar.bz2")))
(sha256
(base32
"0aidriag6h0syfm33nzdfdsqgrnsgihwjv3a5lgkqch3w68fmlkl"))))
"0syyz8r54l8mqmbb0mw19qz4z2cx8gdgidicb8k2s5zjdh2gzrhx"))))
(build-system gnu-build-system)
(arguments
;; XXX: have RUNPATH issue.
@ -408,3 +412,37 @@ Password Scheme\"} by Niels Provos and David Mazieres.")
(define-public python2-bcrypt
(package-with-python2 python-bcrypt))
(define-public pass-git-helper
(package
(name "pass-git-helper")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/languitar/pass-git-helper/archive/release-"
version ".tar.gz"))
(sha256
(base32
"0lz5ncy44pz7z1j2nnyildx8sq33zi3xvg5nkwg25n11nasqh2xn"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'patch-pass-path
(lambda* (#:key inputs #:allow-other-keys)
(let* ((password-store (assoc-ref inputs "password-store"))
(pass (string-append password-store "/bin/pass")))
(substitute* "pass-git-helper"
(("'pass'") (string-append "'" pass "'")))
#t))))))
(inputs
`(("python-pyxdg" ,python-pyxdg)
("password-store" ,password-store)))
(home-page "https://github.com/languitar/pass-git-helper")
(synopsis "Git credential helper interfacing with pass")
(description "pass-git-helper is a git credential helper which allows to
use pass, the standard unix password manager, as the credential backend for
your git repositories. This is achieved by explicitly defining mappings
between hosts and entries in the password store.")
(license license:lgpl3+)))

View File

@ -1,28 +0,0 @@
The way the configure script determines the version of libwmf is by temporarily
making dots separator characters, but since the file name of the program which
returns the version contains dots in Guix (the version in the store entry name),
doing it this way will always fail.
This is a simple guix-specific fix for the problem.
--- a/configure 2010-06-13 23:17:37.000000000 +0200
+++ b/configure 2014-09-08 17:31:52.102371800 +0200
@@ -21140,13 +21140,11 @@
$as_echo "$as_me: WARNING: wmf plugin: program libwmf-config not found in path" >&2;}
fi
else
- IFS_old="$IFS"
- IFS='.'
- set -- `$libwmfconfig --version`
- libwmf_major_found="${1}"
- libwmf_minor_found="${2}"
- libwmf_micro_found="${3}"
- IFS="$IFS_old"
+ libwmf_fullver_found=`$libwmfconfig --version`
+ libwmf_major_found=$(echo $libwmf_fullver_found | cut -d . -f 1)
+ libwmf_minor_found=$(echo $libwmf_fullver_found | cut -d . -f 2)
+ libwmf_micro_found=$(echo $libwmf_fullver_found | cut -d . -f 3)
+
if test "$libwmf_major_found" -gt "$libwmf_major_req"; then
wmf_deps="yes"
elif test "$libwmf_major_found" -eq "$libwmf_major_req" &&

View File

@ -1,45 +0,0 @@
From: Martin Pitt <mpitt@debian.org>
Date: Mon, 14 Nov 2016 22:41:24 +0100
Subject: content-server: Don't load external URLs for privacy
Spotted by lintian.
---
resources/content_server/browse/browse.html | 4 +---
resources/content_server/index.html | 2 +-
2 files changed, 2 insertions(+), 4 deletions(-)
diff --git a/resources/content_server/browse/browse.html b/resources/content_server/browse/browse.html
index 36f7199..e615707 100644
--- a/resources/content_server/browse/browse.html
+++ b/resources/content_server/browse/browse.html
@@ -7,7 +7,7 @@
<title>..:: calibre {library} ::.. {title}</title>
<meta http-equiv="X-UA-Compatible" content="IE=100" />
<meta name="robots" content="noindex" />
- <link rel="icon" type="image/x-icon" href="//calibre-ebook.com/favicon.ico" />
+ <link rel="icon" type="image/x-icon" href="favicon.ico" />
<link rel="stylesheet" type="text/css" href="{prefix}/static/browse/browse.css" />
<link type="text/css" href="{prefix}/static/jquery_ui/css/humanity-custom/jquery-ui-1.8.5.custom.css" rel="stylesheet" />
@@ -63,8 +63,6 @@
<input type="image"
src="{prefix}/static/button-donate.png"
name="submit"></input>
- <img alt="" src="https://www.paypal.com/en_US/i/scr/pixel.gif"
- width="1" height="1"></img>
</div>
</form>
<div id="calibre-home-link" title="Go to the calibre website"></div>
diff --git a/resources/content_server/index.html b/resources/content_server/index.html
index 51cc33a..e71d0e8 100644
--- a/resources/content_server/index.html
+++ b/resources/content_server/index.html
@@ -9,7 +9,7 @@
<script type="text/javascript" src="{prefix}/static/date.js" charset="utf-8"></script>
<script type="text/javascript" src="{prefix}/static/jquery.js" charset="utf-8"></script>
<script type="text/javascript" src="{prefix}/static/gui.js" charset="utf-8"></script>
- <link rel="icon" href="//calibre-ebook.com/favicon.ico" type="image/x-icon" />
+ <link rel="icon" href="favicon.ico" type="image/x-icon" />
</head>
<body>
<div id="banner">

View File

@ -0,0 +1,36 @@
From f6110a8fee2ca36f8e2d2abecf3cba9fa7b8ea7d Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Mon, 19 Jun 2017 17:09:55 +0200
Subject: [PATCH] CVE-2017-1000366: Ignore LD_LIBRARY_PATH for AT_SECURE=1
programs [BZ #21624]
LD_LIBRARY_PATH can only be used to reorder system search paths, which
is not useful functionality.
This makes an exploitable unbounded alloca in _dl_init_paths unreachable
for AT_SECURE=1 programs.
patch from:
https://sourceware.org/git/?p=glibc.git;a=commit;h=f6110a8fee2ca36f8e2d2abecf3cba9fa7b8ea7d
---
ChangeLog | 7 +++++++
elf/rtld.c | 3 ++-
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/elf/rtld.c b/elf/rtld.c
index 2446a87..2269dbe 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -2422,7 +2422,8 @@ process_envvars (enum mode *modep)
case 12:
/* The library search path. */
- if (memcmp (envline, "LIBRARY_PATH", 12) == 0)
+ if (!__libc_enable_secure
+ && memcmp (envline, "LIBRARY_PATH", 12) == 0)
{
library_path = &envline[13];
break;
--
2.9.3

View File

@ -0,0 +1,124 @@
From 6d0ba622891bed9d8394eef1935add53003b12e8 Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Mon, 19 Jun 2017 22:31:04 +0200
Subject: [PATCH] ld.so: Reject overly long LD_PRELOAD path elements
patch from:
https://sourceware.org/git/?p=glibc.git;a=patch;h=6d0ba622891bed9d8394eef1935add53003b12e8
---
ChangeLog | 7 ++++++
elf/rtld.c | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++------------
2 files changed, 73 insertions(+), 16 deletions(-)
diff --git a/elf/rtld.c b/elf/rtld.c
index 2269dbe..86ae20c 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -99,6 +99,35 @@ uintptr_t __pointer_chk_guard_local
strong_alias (__pointer_chk_guard_local, __pointer_chk_guard)
#endif
+/* Length limits for names and paths, to protect the dynamic linker,
+ particularly when __libc_enable_secure is active. */
+#ifdef NAME_MAX
+# define SECURE_NAME_LIMIT NAME_MAX
+#else
+# define SECURE_NAME_LIMIT 255
+#endif
+#ifdef PATH_MAX
+# define SECURE_PATH_LIMIT PATH_MAX
+#else
+# define SECURE_PATH_LIMIT 1024
+#endif
+
+/* Check that AT_SECURE=0, or that the passed name does not contain
+ directories and is not overly long. Reject empty names
+ unconditionally. */
+static bool
+dso_name_valid_for_suid (const char *p)
+{
+ if (__glibc_unlikely (__libc_enable_secure))
+ {
+ /* Ignore pathnames with directories for AT_SECURE=1
+ programs, and also skip overlong names. */
+ size_t len = strlen (p);
+ if (len >= SECURE_NAME_LIMIT || memchr (p, '/', len) != NULL)
+ return false;
+ }
+ return *p != '\0';
+}
/* List of auditing DSOs. */
static struct audit_list
@@ -718,6 +747,42 @@ static const char *preloadlist attribute_relro;
/* Nonzero if information about versions has to be printed. */
static int version_info attribute_relro;
+/* The LD_PRELOAD environment variable gives list of libraries
+ separated by white space or colons that are loaded before the
+ executable's dependencies and prepended to the global scope list.
+ (If the binary is running setuid all elements containing a '/' are
+ ignored since it is insecure.) Return the number of preloads
+ performed. */
+unsigned int
+handle_ld_preload (const char *preloadlist, struct link_map *main_map)
+{
+ unsigned int npreloads = 0;
+ const char *p = preloadlist;
+ char fname[SECURE_PATH_LIMIT];
+
+ while (*p != '\0')
+ {
+ /* Split preload list at space/colon. */
+ size_t len = strcspn (p, " :");
+ if (len > 0 && len < sizeof (fname))
+ {
+ memcpy (fname, p, len);
+ fname[len] = '\0';
+ }
+ else
+ fname[0] = '\0';
+
+ /* Skip over the substring and the following delimiter. */
+ p += len;
+ if (*p != '\0')
+ ++p;
+
+ if (dso_name_valid_for_suid (fname))
+ npreloads += do_preload (fname, main_map, "LD_PRELOAD");
+ }
+ return npreloads;
+}
+
static void
dl_main (const ElfW(Phdr) *phdr,
ElfW(Word) phnum,
@@ -1464,23 +1529,8 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
if (__glibc_unlikely (preloadlist != NULL))
{
- /* The LD_PRELOAD environment variable gives list of libraries
- separated by white space or colons that are loaded before the
- executable's dependencies and prepended to the global scope
- list. If the binary is running setuid all elements
- containing a '/' are ignored since it is insecure. */
- char *list = strdupa (preloadlist);
- char *p;
-
HP_TIMING_NOW (start);
-
- /* Prevent optimizing strsep. Speed is not important here. */
- while ((p = (strsep) (&list, " :")) != NULL)
- if (p[0] != '\0'
- && (__builtin_expect (! __libc_enable_secure, 1)
- || strchr (p, '/') == NULL))
- npreloads += do_preload (p, main_map, "LD_PRELOAD");
-
+ npreloads += handle_ld_preload (preloadlist, main_map);
HP_TIMING_NOW (stop);
HP_TIMING_DIFF (diff, start, stop);
HP_TIMING_ACCUM_NT (load_time, diff);
--
2.9.3

View File

@ -0,0 +1,206 @@
From 81b82fb966ffbd94353f793ad17116c6088dedd9 Mon Sep 17 00:00:00 2001
From: Florian Weimer <fweimer@redhat.com>
Date: Mon, 19 Jun 2017 22:32:12 +0200
Subject: [PATCH] ld.so: Reject overly long LD_AUDIT path elements
Also only process the last LD_AUDIT entry.
patch from:
https://sourceware.org/git/?p=glibc.git;a=commit;h=81b82fb966ffbd94353f793ad17116c6088dedd9
---
ChangeLog | 11 +++++++
elf/rtld.c | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++---------
2 files changed, 106 insertions(+), 15 deletions(-)
diff --git a/elf/rtld.c b/elf/rtld.c
index 86ae20c..65647fb 100644
--- a/elf/rtld.c
+++ b/elf/rtld.c
@@ -129,13 +129,91 @@ dso_name_valid_for_suid (const char *p)
return *p != '\0';
}
-/* List of auditing DSOs. */
+/* LD_AUDIT variable contents. Must be processed before the
+ audit_list below. */
+const char *audit_list_string;
+
+/* Cyclic list of auditing DSOs. audit_list->next is the first
+ element. */
static struct audit_list
{
const char *name;
struct audit_list *next;
} *audit_list;
+/* Iterator for audit_list_string followed by audit_list. */
+struct audit_list_iter
+{
+ /* Tail of audit_list_string still needing processing, or NULL. */
+ const char *audit_list_tail;
+
+ /* The list element returned in the previous iteration. NULL before
+ the first element. */
+ struct audit_list *previous;
+
+ /* Scratch buffer for returning a name which is part of
+ audit_list_string. */
+ char fname[SECURE_NAME_LIMIT];
+};
+
+/* Initialize an audit list iterator. */
+static void
+audit_list_iter_init (struct audit_list_iter *iter)
+{
+ iter->audit_list_tail = audit_list_string;
+ iter->previous = NULL;
+}
+
+/* Iterate through both audit_list_string and audit_list. */
+static const char *
+audit_list_iter_next (struct audit_list_iter *iter)
+{
+ if (iter->audit_list_tail != NULL)
+ {
+ /* First iterate over audit_list_string. */
+ while (*iter->audit_list_tail != '\0')
+ {
+ /* Split audit list at colon. */
+ size_t len = strcspn (iter->audit_list_tail, ":");
+ if (len > 0 && len < sizeof (iter->fname))
+ {
+ memcpy (iter->fname, iter->audit_list_tail, len);
+ iter->fname[len] = '\0';
+ }
+ else
+ /* Do not return this name to the caller. */
+ iter->fname[0] = '\0';
+
+ /* Skip over the substring and the following delimiter. */
+ iter->audit_list_tail += len;
+ if (*iter->audit_list_tail == ':')
+ ++iter->audit_list_tail;
+
+ /* If the name is valid, return it. */
+ if (dso_name_valid_for_suid (iter->fname))
+ return iter->fname;
+ /* Otherwise, wrap around and try the next name. */
+ }
+ /* Fall through to the procesing of audit_list. */
+ }
+
+ if (iter->previous == NULL)
+ {
+ if (audit_list == NULL)
+ /* No pre-parsed audit list. */
+ return NULL;
+ /* Start of audit list. The first list element is at
+ audit_list->next (cyclic list). */
+ iter->previous = audit_list->next;
+ return iter->previous->name;
+ }
+ if (iter->previous == audit_list)
+ /* Cyclic list wrap-around. */
+ return NULL;
+ iter->previous = iter->previous->next;
+ return iter->previous->name;
+}
+
#ifndef HAVE_INLINED_SYSCALLS
/* Set nonzero during loading and initialization of executable and
libraries, cleared before the executable's entry point runs. This
@@ -1305,11 +1383,13 @@ of this helper program; chances are you did not intend to run this program.\n\
GL(dl_rtld_map).l_tls_modid = _dl_next_tls_modid ();
/* If we have auditing DSOs to load, do it now. */
- if (__glibc_unlikely (audit_list != NULL))
+ bool need_security_init = true;
+ if (__glibc_unlikely (audit_list != NULL)
+ || __glibc_unlikely (audit_list_string != NULL))
{
- /* Iterate over all entries in the list. The order is important. */
struct audit_ifaces *last_audit = NULL;
- struct audit_list *al = audit_list->next;
+ struct audit_list_iter al_iter;
+ audit_list_iter_init (&al_iter);
/* Since we start using the auditing DSOs right away we need to
initialize the data structures now. */
@@ -1320,9 +1400,14 @@ of this helper program; chances are you did not intend to run this program.\n\
use different values (especially the pointer guard) and will
fail later on. */
security_init ();
+ need_security_init = false;
- do
+ while (true)
{
+ const char *name = audit_list_iter_next (&al_iter);
+ if (name == NULL)
+ break;
+
int tls_idx = GL(dl_tls_max_dtv_idx);
/* Now it is time to determine the layout of the static TLS
@@ -1331,7 +1416,7 @@ of this helper program; chances are you did not intend to run this program.\n\
no DF_STATIC_TLS bit is set. The reason is that we know
glibc will use the static model. */
struct dlmopen_args dlmargs;
- dlmargs.fname = al->name;
+ dlmargs.fname = name;
dlmargs.map = NULL;
const char *objname;
@@ -1344,7 +1429,7 @@ of this helper program; chances are you did not intend to run this program.\n\
not_loaded:
_dl_error_printf ("\
ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
- al->name, err_str);
+ name, err_str);
if (malloced)
free ((char *) err_str);
}
@@ -1448,10 +1533,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
goto not_loaded;
}
}
-
- al = al->next;
}
- while (al != audit_list->next);
/* If we have any auditing modules, announce that we already
have two objects loaded. */
@@ -1715,7 +1797,7 @@ ERROR: ld.so: object '%s' cannot be loaded as audit interface: %s; ignored.\n",
if (tcbp == NULL)
tcbp = init_tls ();
- if (__glibc_likely (audit_list == NULL))
+ if (__glibc_likely (need_security_init))
/* Initialize security features. But only if we have not done it
earlier. */
security_init ();
@@ -2346,9 +2428,7 @@ process_dl_audit (char *str)
char *p;
while ((p = (strsep) (&str, ":")) != NULL)
- if (p[0] != '\0'
- && (__builtin_expect (! __libc_enable_secure, 1)
- || strchr (p, '/') == NULL))
+ if (dso_name_valid_for_suid (p))
{
/* This is using the local malloc, not the system malloc. The
memory can never be freed. */
@@ -2412,7 +2492,7 @@ process_envvars (enum mode *modep)
break;
}
if (memcmp (envline, "AUDIT", 5) == 0)
- process_dl_audit (&envline[6]);
+ audit_list_string = &envline[6];
break;
case 7:
--
2.9.3

View File

@ -0,0 +1,23 @@
Copied from Debian.
2017-06-14 Florian Weimer <fweimer@redhat.com>
* sysdeps/i386/i686/multiarch/strcspn-c.c: Add IS_IN (libc) guard.
* sysdeps/i386/i686/multiarch/varshift.c: Likewise.
--- a/sysdeps/i386/i686/multiarch/strcspn-c.c
+++ b/sysdeps/i386/i686/multiarch/strcspn-c.c
@@ -1,2 +1,4 @@
-#define __strcspn_sse2 __strcspn_ia32
-#include <sysdeps/x86_64/multiarch/strcspn-c.c>
+#if IS_IN (libc)
+# define __strcspn_sse2 __strcspn_ia32
+# include <sysdeps/x86_64/multiarch/strcspn-c.c>
+#endif
--- a/sysdeps/i386/i686/multiarch/varshift.c
+++ b/sysdeps/i386/i686/multiarch/varshift.c
@@ -1 +1,3 @@
-#include <sysdeps/x86_64/multiarch/varshift.c>
+#if IS_IN (libc)
+# include <sysdeps/x86_64/multiarch/varshift.c>
+#endif

View File

@ -1,21 +0,0 @@
Copied from Fedora.
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CAN-2004-0941.patch
--- libwmf-0.2.8.4/src/extra/gd/gd_png.c 2004-11-11 14:02:37.407589824 -0500
+++ libwmf-0.2.8.4/src/extra/gd/gd_png.c 2004-11-11 14:04:29.672522960 -0500
@@ -188,6 +188,14 @@
png_get_IHDR (png_ptr, info_ptr, &width, &height, &bit_depth, &color_type,
&interlace_type, NULL, NULL);
+ if (overflow2(sizeof (int), width))
+ {
+ return NULL;
+ }
+ if (overflow2(sizeof (int) * width, height))
+ {
+ return NULL;
+ }
if ((color_type == PNG_COLOR_TYPE_RGB) ||
(color_type == PNG_COLOR_TYPE_RGB_ALPHA))
{

View File

@ -1,30 +0,0 @@
Copied from Debian.
--- libwmf-0.2.8.4.orig/src/player.c
+++ libwmf-0.2.8.4/src/player.c
@@ -23,6 +23,7 @@
#include <stdio.h>
#include <stdlib.h>
+#include <stdint.h>
#include <string.h>
#include <math.h>
@@ -132,8 +133,14 @@
}
}
-/* P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API)-3) * 2 * sizeof (unsigned char));
- */ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
+ if (MAX_REC_SIZE(API) > UINT32_MAX / 2)
+ {
+ API->err = wmf_E_InsMem;
+ WMF_DEBUG (API,"bailing...");
+ return (API->err);
+ }
+
+ P->Parameters = (unsigned char*) wmf_malloc (API,(MAX_REC_SIZE(API) ) * 2 * sizeof (unsigned char));
if (ERR (API))
{ WMF_DEBUG (API,"bailing...");

View File

@ -1,15 +0,0 @@
Copied from Fedora.
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CVE-2007-0455.patch
--- libwmf-0.2.8.4/src/extra/gd/gdft.c 2010-12-06 11:18:26.000000000 +0000
+++ libwmf-0.2.8.4/src/extra/gd/gdft.c 2010-12-06 11:21:09.000000000 +0000
@@ -811,7 +811,7 @@
{
ch = c & 0xFF; /* don't extend sign */
}
- next++;
+ if (*next) next++;
}
else
{

View File

@ -1,20 +0,0 @@
Copied from Fedora.
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CVE-2007-2756.patch
--- libwmf-0.2.8.4/src/extra/gd/gd_png.c 1 Apr 2007 20:41:01 -0000 1.21.2.1
+++ libwmf-0.2.8.4/src/extra/gd/gd_png.c 16 May 2007 19:06:11 -0000
@@ -78,8 +78,11 @@
gdPngReadData (png_structp png_ptr,
png_bytep data, png_size_t length)
{
- gdGetBuf (data, length, (gdIOCtx *)
- png_get_io_ptr (png_ptr));
+ int check;
+ check = gdGetBuf (data, length, (gdIOCtx *) png_get_io_ptr (png_ptr));
+ if (check != length) {
+ png_error(png_ptr, "Read Error: truncated data");
+ }
}
static void

View File

@ -1,63 +0,0 @@
Based on a patch from Fedora.
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CVE-2007-3472.patch
--- libwmf-0.2.8.4/src/extra/gd/gd.c
+++ libwmf-0.2.8.4/src/extra/gd/gd.c
@@ -106,6 +106,18 @@
gdImagePtr im;
unsigned long cpa_size;
+ if (overflow2(sx, sy)) {
+ return NULL;
+ }
+
+ if (overflow2(sizeof (int *), sy)) {
+ return NULL;
+ }
+
+ if (overflow2(sizeof(int), sx)) {
+ return NULL;
+ }
+
im = (gdImage *) gdMalloc (sizeof (gdImage));
if (im == 0) return 0;
memset (im, 0, sizeof (gdImage));
--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.c 2010-12-06 11:47:31.000000000 +0000
+++ libwmf-0.2.8.4/src/extra/gd/gdhelpers.c 2010-12-06 11:48:04.000000000 +0000
@@ -2,6 +2,7 @@
#include "gdhelpers.h"
#include <stdlib.h>
#include <string.h>
+#include <limits.h>
/* TBB: gd_strtok_r is not portable; provide an implementation */
@@ -94,3 +95,18 @@
{
free (ptr);
}
+
+int overflow2(int a, int b)
+{
+ if(a < 0 || b < 0) {
+ fprintf(stderr, "gd warning: one parameter to a memory allocation multiplication is negative, failing operation gracefully\n");
+ return 1;
+ }
+ if(b == 0)
+ return 0;
+ if(a > INT_MAX / b) {
+ fprintf(stderr, "gd warning: product of memory allocation multiplication would exceed INT_MAX, failing operation gracefully\n");
+ return 1;
+ }
+ return 0;
+}
--- libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2010-12-06 11:47:17.000000000 +0000
+++ libwmf-0.2.8.4/src/extra/gd/gdhelpers.h 2010-12-06 11:48:36.000000000 +0000
@@ -15,4 +15,6 @@
void *gdMalloc(size_t size);
void *gdRealloc(void *ptr, size_t size);
+int overflow2(int a, int b);
+
#endif /* GDHELPERS_H */

View File

@ -1,17 +0,0 @@
Copied from Fedora.
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CVE-2007-3473.patch
--- libwmf-0.2.8.4/src/extra/gd/gd.c
+++ libwmf-0.2.8.4/src/extra/gd/gd.c
@@ -2483,6 +2483,10 @@ BGD_DECLARE(gdImagePtr) gdImageCreateFromXbm (FILE * fd)
}
bytes = (w * h / 8) + 1;
im = gdImageCreate (w, h);
+ if (!im) {
+ return 0;
+ }
+
gdImageColorAllocate (im, 255, 255, 255);
gdImageColorAllocate (im, 0, 0, 0);
x = 0;

View File

@ -1,42 +0,0 @@
Copied from Fedora.
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CVE-2007-3477.patch
--- libwmf-0.2.8.4/src/extra/gd/gd.c
+++ libwmf-0.2.8.4/src/extra/gd/gd.c
@@ -1335,10 +1335,31 @@
int w2, h2;
w2 = w / 2;
h2 = h / 2;
- while (e < s)
- {
- e += 360;
- }
+
+ if ((s % 360) == (e % 360)) {
+ s = 0; e = 360;
+ } else {
+ if (s > 360) {
+ s = s % 360;
+ }
+
+ if (e > 360) {
+ e = e % 360;
+ }
+
+ while (s < 0) {
+ s += 360;
+ }
+
+ while (e < s) {
+ e += 360;
+ }
+
+ if (s == e) {
+ s = 0; e = 360;
+ }
+ }
+
for (i = s; (i <= e); i++)
{
int x, y;

View File

@ -1,13 +0,0 @@
Copied from Debian.
--- libwmf-0.2.8.4.orig/src/extra/gd/gd_clip.c
+++ libwmf-0.2.8.4/src/extra/gd/gd_clip.c
@@ -70,6 +70,7 @@
{ more = gdRealloc (im->clip->list,(im->clip->max + 8) * sizeof (gdClipRectangle));
if (more == 0) return;
im->clip->max += 8;
+ im->clip->list = more;
}
im->clip->list[im->clip->count] = (*rect);
im->clip->count++;

View File

@ -1,17 +0,0 @@
Copied from Fedora.
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CVE-2009-3546.patch
--- libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2010-12-06 14:56:06.000000000 +0000
+++ libwmf-0.2.8.4/src/extra/gd/gd_gd.c 2010-12-06 14:57:04.000000000 +0000
@@ -42,6 +42,10 @@
{
goto fail1;
}
+ if (&im->colorsTotal > gdMaxColors)
+ {
+ goto fail1;
+ }
}
/* Int to accommodate truecolor single-color transparency */
if (!gdGetInt (&im->transparent, in))

View File

@ -1,122 +0,0 @@
Copied from Fedora.
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CVE-2015-0848+CVE-2015-4588.patch
--- libwmf-0.2.8.4/src/ipa/ipa/bmp.h 2015-06-08 14:46:24.591876404 +0100
+++ libwmf-0.2.8.4/src/ipa/ipa/bmp.h 2015-06-08 14:46:35.345993247 +0100
@@ -859,7 +859,7 @@
%
%
*/
-static void DecodeImage (wmfAPI* API,wmfBMP* bmp,BMPSource* src,unsigned int compression,unsigned char* pixels)
+static int DecodeImage (wmfAPI* API,wmfBMP* bmp,BMPSource* src,unsigned int compression,unsigned char* pixels)
{ int byte;
int count;
int i;
@@ -870,12 +870,14 @@
U32 u;
unsigned char* q;
+ unsigned char* end;
for (u = 0; u < ((U32) bmp->width * (U32) bmp->height); u++) pixels[u] = 0;
byte = 0;
x = 0;
q = pixels;
+ end = pixels + bmp->width * bmp->height;
for (y = 0; y < bmp->height; )
{ count = ReadBlobByte (src);
@@ -884,7 +886,10 @@
{ /* Encoded mode. */
byte = ReadBlobByte (src);
for (i = 0; i < count; i++)
- { if (compression == 1)
+ {
+ if (q == end)
+ return 0;
+ if (compression == 1)
{ (*(q++)) = (unsigned char) byte;
}
else
@@ -896,13 +901,15 @@
else
{ /* Escape mode. */
count = ReadBlobByte (src);
- if (count == 0x01) return;
+ if (count == 0x01) return 1;
switch (count)
{
case 0x00:
{ /* End of line. */
x = 0;
y++;
+ if (y >= bmp->height)
+ return 0;
q = pixels + y * bmp->width;
break;
}
@@ -910,13 +917,20 @@
{ /* Delta mode. */
x += ReadBlobByte (src);
y += ReadBlobByte (src);
+ if (y >= bmp->height)
+ return 0;
+ if (x >= bmp->width)
+ return 0;
q = pixels + y * bmp->width + x;
break;
}
default:
{ /* Absolute mode. */
for (i = 0; i < count; i++)
- { if (compression == 1)
+ {
+ if (q == end)
+ return 0;
+ if (compression == 1)
{ (*(q++)) = ReadBlobByte (src);
}
else
@@ -943,7 +957,7 @@
byte = ReadBlobByte (src); /* end of line */
byte = ReadBlobByte (src);
- return;
+ return 1;
}
/*
@@ -1143,8 +1157,18 @@
}
}
else
- { /* Convert run-length encoded raster pixels. */
- DecodeImage (API,bmp,src,(unsigned int) bmp_info.compression,data->image);
+ {
+ if (bmp_info.bits_per_pixel == 8) /* Convert run-length encoded raster pixels. */
+ {
+ if (!DecodeImage (API,bmp,src,(unsigned int) bmp_info.compression,data->image))
+ { WMF_ERROR (API,"corrupt bmp");
+ API->err = wmf_E_BadFormat;
+ }
+ }
+ else
+ { WMF_ERROR (API,"Unexpected pixel depth");
+ API->err = wmf_E_BadFormat;
+ }
}
if (ERR (API))
--- libwmf-0.2.8.4/src/ipa/ipa.h 2015-06-08 14:46:24.590876393 +0100
+++ libwmf-0.2.8.4/src/ipa/ipa.h 2015-06-08 14:46:35.345993247 +0100
@@ -48,7 +48,7 @@
static unsigned short ReadBlobLSBShort (BMPSource*);
static unsigned long ReadBlobLSBLong (BMPSource*);
static long TellBlob (BMPSource*);
-static void DecodeImage (wmfAPI*,wmfBMP*,BMPSource*,unsigned int,unsigned char*);
+static int DecodeImage (wmfAPI*,wmfBMP*,BMPSource*,unsigned int,unsigned char*);
static void ReadBMPImage (wmfAPI*,wmfBMP*,BMPSource*);
static int ExtractColor (wmfAPI*,wmfBMP*,wmfRGB*,unsigned int,unsigned int);
static void SetColor (wmfAPI*,wmfBMP*,wmfRGB*,unsigned char,unsigned int,unsigned int);

View File

@ -1,60 +0,0 @@
Copied from Fedora.
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CVE-2015-4695.patch
--- libwmf-0.2.8.4/src/player/meta.h
+++ libwmf-0.2.8.4/src/player/meta.h
@@ -1565,7 +1565,7 @@ static int meta_rgn_create (wmfAPI* API,
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
@@ -2142,7 +2142,7 @@ static int meta_dib_brush (wmfAPI* API,w
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
@@ -3067,7 +3067,7 @@ static int meta_pen_create (wmfAPI* API,
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
@@ -3181,7 +3181,7 @@ static int meta_brush_create (wmfAPI* AP
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
@@ -3288,7 +3288,7 @@ static int meta_font_create (wmfAPI* API
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");
@@ -3396,7 +3396,7 @@ static int meta_palette_create (wmfAPI*
objects = P->objects;
i = 0;
- while (objects[i].type && (i < NUM_OBJECTS (API))) i++;
+ while ((i < NUM_OBJECTS (API)) && objects[i].type) i++;
if (i == NUM_OBJECTS (API))
{ WMF_ERROR (API,"Object out of range!");

View File

@ -1,27 +0,0 @@
Copied from Fedora.
http://pkgs.fedoraproject.org/cgit/libwmf.git/tree/libwmf-0.2.8.4-CVE-2015-4696.patch
--- libwmf-0.2.8.4/src/player/meta.h
+++ libwmf-0.2.8.4/src/player/meta.h
@@ -2585,6 +2585,8 @@
polyrect.BR[i] = clip->rects[i].BR;
}
+ if (FR->region_clip) FR->region_clip (API,&polyrect);
+
wmf_free (API,polyrect.TL);
wmf_free (API,polyrect.BR);
}
@@ -2593,9 +2595,10 @@
polyrect.BR = 0;
polyrect.count = 0;
+
+ if (FR->region_clip) FR->region_clip (API,&polyrect);
}
- if (FR->region_clip) FR->region_clip (API,&polyrect);
return (changed);
}

View File

@ -0,0 +1,287 @@
Fix CVE-2017-9524:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9524
http://seclists.org/oss-sec/2017/q2/454
Patches copied from upstream source repository:
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=df8ad9f128c15aa0a0ebc7b24e9a22c9775b67af
http://git.qemu.org/?p=qemu.git;a=commitdiff;h=0c9390d978cbf61e8f16c9f580fa96b305c43568
From df8ad9f128c15aa0a0ebc7b24e9a22c9775b67af Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake@redhat.com>
Date: Fri, 26 May 2017 22:04:21 -0500
Subject: [PATCH] nbd: Fully initialize client in case of failed negotiation
If a non-NBD client connects to qemu-nbd, we would end up with
a SIGSEGV in nbd_client_put() because we were trying to
unregister the client's association to the export, even though
we skipped inserting the client into that list. Easy trigger
in two terminals:
$ qemu-nbd -p 30001 --format=raw file
$ nmap 127.0.0.1 -p 30001
nmap claims that it thinks it connected to a pago-services1
server (which probably means nmap could be updated to learn the
NBD protocol and give a more accurate diagnosis of the open
port - but that's not our problem), then terminates immediately,
so our call to nbd_negotiate() fails. The fix is to reorder
nbd_co_client_start() to ensure that all initialization occurs
before we ever try talking to a client in nbd_negotiate(), so
that the teardown sequence on negotiation failure doesn't fault
while dereferencing a half-initialized object.
While debugging this, I also noticed that nbd_update_server_watch()
called by nbd_client_closed() was still adding a channel to accept
the next client, even when the state was no longer RUNNING. That
is fixed by making nbd_can_accept() pay attention to the current
state.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1451614
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20170527030421.28366-1-eblake@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
nbd/server.c | 8 +++-----
qemu-nbd.c | 2 +-
2 files changed, 4 insertions(+), 6 deletions(-)
diff --git a/nbd/server.c b/nbd/server.c
index ee59e5d234..49b55f6ede 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -1358,16 +1358,14 @@ static coroutine_fn void nbd_co_client_start(void *opaque)
if (exp) {
nbd_export_get(exp);
+ QTAILQ_INSERT_TAIL(&exp->clients, client, next);
}
+ qemu_co_mutex_init(&client->send_lock);
+
if (nbd_negotiate(data)) {
client_close(client);
goto out;
}
- qemu_co_mutex_init(&client->send_lock);
-
- if (exp) {
- QTAILQ_INSERT_TAIL(&exp->clients, client, next);
- }
nbd_client_receive_next_request(client);
diff --git a/qemu-nbd.c b/qemu-nbd.c
index f60842fd86..651f85ecc1 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -325,7 +325,7 @@ out:
static int nbd_can_accept(void)
{
- return nb_fds < shared;
+ return state == RUNNING && nb_fds < shared;
}
static void nbd_export_closed(NBDExport *exp)
--
2.13.1
From 0c9390d978cbf61e8f16c9f580fa96b305c43568 Mon Sep 17 00:00:00 2001
From: Eric Blake <eblake@redhat.com>
Date: Thu, 8 Jun 2017 17:26:17 -0500
Subject: [PATCH] nbd: Fix regression on resiliency to port scan
Back in qemu 2.5, qemu-nbd was immune to port probes (a transient
server would not quit, regardless of how many probe connections
came and went, until a connection actually negotiated). But we
broke that in commit ee7d7aa when removing the return value to
nbd_client_new(), although that patch also introduced a bug causing
an assertion failure on a client that fails negotiation. We then
made it worse during refactoring in commit 1a6245a (a segfault
before we could even assert); the (masked) assertion was cleaned
up in d3780c2 (still in 2.6), and just recently we finally fixed
the segfault ("nbd: Fully intialize client in case of failed
negotiation"). But that still means that ever since we added
TLS support to qemu-nbd, we have been vulnerable to an ill-timed
port-scan being able to cause a denial of service by taking down
qemu-nbd before a real client has a chance to connect.
Since negotiation is now handled asynchronously via coroutines,
we no longer have a synchronous point of return by re-adding a
return value to nbd_client_new(). So this patch instead wires
things up to pass the negotiation status through the close_fn
callback function.
Simple test across two terminals:
$ qemu-nbd -f raw -p 30001 file
$ nmap 127.0.0.1 -p 30001 && \
qemu-io -c 'r 0 512' -f raw nbd://localhost:30001
Note that this patch does not change what constitutes successful
negotiation (thus, a client must enter transmission phase before
that client can be considered as a reason to terminate the server
when the connection ends). Perhaps we may want to tweak things
in a later patch to also treat a client that uses NBD_OPT_ABORT
as being a 'successful' negotiation (the client correctly talked
the NBD protocol, and informed us it was not going to use our
export after all), but that's a discussion for another day.
Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1451614
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20170608222617.20376-1-eblake@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
---
blockdev-nbd.c | 6 +++++-
include/block/nbd.h | 2 +-
nbd/server.c | 24 +++++++++++++++---------
qemu-nbd.c | 4 ++--
4 files changed, 23 insertions(+), 13 deletions(-)
diff --git a/blockdev-nbd.c b/blockdev-nbd.c
index dd0860f4a6..28f551a7b0 100644
--- a/blockdev-nbd.c
+++ b/blockdev-nbd.c
@@ -27,6 +27,10 @@ typedef struct NBDServerData {
static NBDServerData *nbd_server;
+static void nbd_blockdev_client_closed(NBDClient *client, bool ignored)
+{
+ nbd_client_put(client);
+}
static gboolean nbd_accept(QIOChannel *ioc, GIOCondition condition,
gpointer opaque)
@@ -46,7 +50,7 @@ static gboolean nbd_accept(QIOChannel *ioc, GIOCondition condition,
qio_channel_set_name(QIO_CHANNEL(cioc), "nbd-server");
nbd_client_new(NULL, cioc,
nbd_server->tlscreds, NULL,
- nbd_client_put);
+ nbd_blockdev_client_closed);
object_unref(OBJECT(cioc));
return TRUE;
}
diff --git a/include/block/nbd.h b/include/block/nbd.h
index 416257abca..8fa5ce51f3 100644
--- a/include/block/nbd.h
+++ b/include/block/nbd.h
@@ -162,7 +162,7 @@ void nbd_client_new(NBDExport *exp,
QIOChannelSocket *sioc,
QCryptoTLSCreds *tlscreds,
const char *tlsaclname,
- void (*close)(NBDClient *));
+ void (*close_fn)(NBDClient *, bool));
void nbd_client_get(NBDClient *client);
void nbd_client_put(NBDClient *client);
diff --git a/nbd/server.c b/nbd/server.c
index 49b55f6ede..f2b1aa47ce 100644
--- a/nbd/server.c
+++ b/nbd/server.c
@@ -81,7 +81,7 @@ static QTAILQ_HEAD(, NBDExport) exports = QTAILQ_HEAD_INITIALIZER(exports);
struct NBDClient {
int refcount;
- void (*close)(NBDClient *client);
+ void (*close_fn)(NBDClient *client, bool negotiated);
bool no_zeroes;
NBDExport *exp;
@@ -778,7 +778,7 @@ void nbd_client_put(NBDClient *client)
}
}
-static void client_close(NBDClient *client)
+static void client_close(NBDClient *client, bool negotiated)
{
if (client->closing) {
return;
@@ -793,8 +793,8 @@ static void client_close(NBDClient *client)
NULL);
/* Also tell the client, so that they release their reference. */
- if (client->close) {
- client->close(client);
+ if (client->close_fn) {
+ client->close_fn(client, negotiated);
}
}
@@ -975,7 +975,7 @@ void nbd_export_close(NBDExport *exp)
nbd_export_get(exp);
QTAILQ_FOREACH_SAFE(client, &exp->clients, next, next) {
- client_close(client);
+ client_close(client, true);
}
nbd_export_set_name(exp, NULL);
nbd_export_set_description(exp, NULL);
@@ -1337,7 +1337,7 @@ done:
out:
nbd_request_put(req);
- client_close(client);
+ client_close(client, true);
nbd_client_put(client);
}
@@ -1363,7 +1363,7 @@ static coroutine_fn void nbd_co_client_start(void *opaque)
qemu_co_mutex_init(&client->send_lock);
if (nbd_negotiate(data)) {
- client_close(client);
+ client_close(client, false);
goto out;
}
@@ -1373,11 +1373,17 @@ out:
g_free(data);
}
+/*
+ * Create a new client listener on the given export @exp, using the
+ * given channel @sioc. Begin servicing it in a coroutine. When the
+ * connection closes, call @close_fn with an indication of whether the
+ * client completed negotiation.
+ */
void nbd_client_new(NBDExport *exp,
QIOChannelSocket *sioc,
QCryptoTLSCreds *tlscreds,
const char *tlsaclname,
- void (*close_fn)(NBDClient *))
+ void (*close_fn)(NBDClient *, bool))
{
NBDClient *client;
NBDClientNewData *data = g_new(NBDClientNewData, 1);
@@ -1394,7 +1400,7 @@ void nbd_client_new(NBDExport *exp,
object_ref(OBJECT(client->sioc));
client->ioc = QIO_CHANNEL(sioc);
object_ref(OBJECT(client->ioc));
- client->close = close_fn;
+ client->close_fn = close_fn;
data->client = client;
data->co = qemu_coroutine_create(nbd_co_client_start, data);
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 651f85ecc1..9464a0461c 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -336,10 +336,10 @@ static void nbd_export_closed(NBDExport *exp)
static void nbd_update_server_watch(void);
-static void nbd_client_closed(NBDClient *client)
+static void nbd_client_closed(NBDClient *client, bool negotiated)
{
nb_fds--;
- if (nb_fds == 0 && !persistent && state == RUNNING) {
+ if (negotiated && nb_fds == 0 && !persistent && state == RUNNING) {
state = TERMINATE;
}
nbd_update_server_watch();
--
2.13.1

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2017 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;;
@ -28,12 +28,14 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages databases)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages gnome)
@ -53,7 +55,9 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages tex)
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xfig)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26))
@ -173,7 +177,7 @@ MTP, and much more.")
(define-public perl-image-exiftool
(package
(name "perl-image-exiftool")
(version "10.40")
(version "10.55")
(source (origin
(method url-fetch)
(uri (string-append
@ -181,20 +185,20 @@ MTP, and much more.")
version ".tar.gz"))
(sha256
(base32
"1p05d9k94win8a24cr7lsllb6wjl3dagsmdbcxzv6f68z7i1jdly"))))
"0z8zwjjfvyllnhsafhddbybywpgqv0pl1dbn1g034cs27yj836q2"))))
(build-system perl-build-system)
(arguments
'(#:phases (alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure the 'exiftool' commands finds the library.
;; XXX: Shouldn't it be handled by PERL-BUILD-SYSTEM?
(let* ((out (assoc-ref outputs "out"))
(pm (find-files out "^ExifTool\\.pm$"))
(lib (dirname (dirname (car pm)))))
(wrap-program (string-append out "/bin/exiftool")
`("PERL5LIB" prefix (,lib)))))
%standard-phases)))
'(#:phases
(modify-phases %standard-phases
(add-after 'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure the 'exiftool' commands finds the library.
;; XXX: Shouldn't it be handled by PERL-BUILD-SYSTEM?
(let* ((out (assoc-ref outputs "out"))
(pm (find-files out "^ExifTool\\.pm$"))
(lib (dirname (dirname (car pm)))))
(wrap-program (string-append out "/bin/exiftool")
`("PERL5LIB" prefix (,lib)))))))))
(home-page "http://search.cpan.org/dist/Image-ExifTool")
(synopsis "Program and Perl library to manipulate EXIF and other metadata")
(description "This package provides the @code{exiftool} command and the
@ -383,3 +387,74 @@ developer. It manages your digital negatives in a database, lets you view
them through a zoomable lighttable and enables you to develop raw images
and enhance them.")
(license license:gpl3+)))
(define-public hugin
(package
(name "hugin")
(version "2016.2.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hugin/hugin/hugin-"
(version-major+minor version)
"/hugin-" version ".tar.bz2"))
(sha256
(base32
"058zd63vx29yrx2pphbbll7kzcxkai22q26lpw13rn4lvp41pasl"))))
(build-system cmake-build-system)
(native-inputs
`(("gettext" ,gnu-gettext)
("pkg-config" ,pkg-config)))
(inputs
`(("boost" ,boost)
("enblend-enfuse" ,enblend-enfuse)
("exiv2" ,exiv2)
("fftw" ,fftw)
("flann" ,flann)
("freeglut" ,freeglut)
("glew" ,glew)
("lcms" ,lcms)
("libjpeg" ,libjpeg)
("libpano13" ,libpano13)
("libpng" ,libpng)
("libtiff" ,libtiff)
("libxi" ,libxi)
("libxmu" ,libxmu)
("mesa" ,mesa)
("openexr" ,openexr)
("sqlite" ,sqlite)
("vigra" ,vigra)
("wxwidgets" ,wxwidgets)
("zlib" ,zlib)))
(arguments
`(#:tests? #f ; no check target
#:configure-flags
(list
;; The header files of ilmbase (propagated by openexr) are not found
;; when included by the header files of openexr, and an explicit
;; flag needs to be set.
(string-append "-DCMAKE_CXX_FLAGS=-I"
(assoc-ref %build-inputs "ilmbase")
"/include/OpenEXR")
;; Disable installation of the Python scripting interface.
;; It would require the additional inputs python and swig.
;; Installation would need to be tweaked, as it tries to install
;; into the python directory.
"-DBUILD_HSI=OFF")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'substitute
(lambda _
(substitute* "src/hugin1/base_wx/StitchingExecutor.cpp"
(("wxT\\(\"enblend\"\\)")
(string-append "wxT(\"" (which "enblend") "\")"))
(("wxT\\(\"enfuse\"\\)")
(string-append "wxT(\"" (which "enfuse") "\")")))
#t)))))
(home-page "http://hugin.sourceforge.net/")
(synopsis "Panorama photo stitcher")
(description
"Hugin is an easy to use panoramic imaging toolchain with a graphical
user interface. It can be used to assemble a mosaic of photographs into
a complete panorama and stitch any series of overlapping pictures.")
(license license:gpl2+)))

View File

@ -44,7 +44,6 @@
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)

View File

@ -3,6 +3,7 @@
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -37,23 +38,28 @@
#:use-module (gnu packages lua)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages zip))
#:use-module (gnu packages compression))
(define-public a2ps
(package
(name "a2ps")
(version "4.14")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/a2ps/a2ps-"
version ".tar.gz"))
(sha256
(base32
"195k78m1h03m961qn7jr120z815iyb93gwi159p1p9348lyqvbpk"))
(patches (search-patches
"a2ps-CVE-2001-1593.patch"
"a2ps-CVE-2014-0466.patch"))))
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/a2ps/a2ps-"
version ".tar.gz"))
(sha256
(base32
"195k78m1h03m961qn7jr120z815iyb93gwi159p1p9348lyqvbpk"))
(modules '((guix build utils)))
(snippet
;; Remove timestamp from the installed 'README' file.
'(substitute* "etc/README.in"
(("@date@")
"1st of some month, sometime after 1970")))
(patches (search-patches
"a2ps-CVE-2001-1593.patch"
"a2ps-CVE-2014-0466.patch"))))
(build-system gnu-build-system)
(inputs
`(("psutils" ,psutils)

View File

@ -7,7 +7,7 @@
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
@ -40,6 +40,9 @@
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2017 Kei Kebreau <kei@openmailbox.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -110,7 +113,6 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages zip)
#:use-module (gnu packages tcl)
#:use-module (gnu packages bdw-gc)
#:use-module (guix packages)
@ -990,6 +992,42 @@ Python 3 support.")
(define-public python2-setuptools
(package-with-python2 python-setuptools))
(define-public python-uniseg
(package
(name "python-uniseg")
(version "0.7.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/emptypage/uniseg-python/"
"get/rel-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"1df4gddnj2a0v8z35wb2ra5vvh1f1qyxs8fgd25c8g64031mna6x"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; The test suite requires network access.
(home-page
"https://bitbucket.org/emptypage/uniseg-python")
(synopsis
"Python library to determine Unicode text segmentations")
(description
"Uniseg is a Python package used to determine Unicode text segmentations.
Supported segmentations include:
@enumerate
@item @dfn{Code point} (any value in the Unicode codespace)
@item @dfn{Grapheme cluster} (user-perceived character made of a single or
multiple Unicode code points, e.g. \"G\" + acute-accent)
@item Word break
@item Sentence break
@item Line break
@end enumerate")
(license license:expat)))
(define-public python2-uniseg
(package-with-python2 python-uniseg))
;;; Pycrypto is abandoned upstream:
;;;
;;; https://github.com/dlitz/pycrypto/issues/173
@ -1050,6 +1088,9 @@ etc.). The package is structured to make adding new modules easy.")
(build-system python-build-system)
(propagated-inputs
`(("python-greenlet" ,python-greenlet)))
(arguments
;; TODO: Requires unpackaged 'enum-compat'.
'(#:tests? #f))
(home-page "http://eventlet.net")
(synopsis "Concurrent networking library for Python")
(description
@ -4357,14 +4398,14 @@ simple and Pythonic domain language.")
(define-public python-pycodestyle
(package
(name "python-pycodestyle")
(version "2.0.0")
(version "2.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycodestyle" version))
(sha256
(base32
"1rz2v8506mdjdyxcnv9ygiw6v0d4dqx8z5sjyjm0w2v32h5l5w1p"))))
"0rk78b66p57ala26mdldl9lafr48blv5s659sah9q50qnfjmc8k8"))))
(build-system python-build-system)
(home-page "https://pycodestyle.readthedocs.io/")
(synopsis "Python style guide checker")
@ -4901,9 +4942,7 @@ etc. The core of this module is a decorator factory.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/d/drmaa/drmaa-"
version ".tar.gz"))
(uri (pypi-uri "drmaa" version))
(sha256
(base32 "0xzqriqyvk5b8hszbavsyxd29wm3sxirm8zvvdm73rs2iq7w4hkx"))))
(build-system python-build-system)
@ -6521,40 +6560,6 @@ complexity of Python source code.")
(define-public python2-flake8
(package-with-python2 python-flake8))
;; This will only be needed by the python-hacking package and will not be
;; necessary once python-hacking > 0.10.2 is released.
(define-public python-flake8-2.2.4
(package (inherit python-flake8)
(propagated-inputs
`(("python-pep8" ,python-pep8-1.5.7)
("python-pyflakes" ,python-pyflakes-0.8.1)
("python-mccabe" ,python-mccabe-0.2.1)))
(native-inputs
`(("python-mock" ,python-mock)
("python-nose" ,python-nose)))
(version "2.2.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "flake8" version))
(sha256
(base32
"1r9wsry4va45h1rck5hxd3vzsg2q3y6lnl6pym1bxvz8ry19jwx8"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove pre-compiled .pyc files from source.
(for-each delete-file-recursively
(find-files "." "__pycache__" #:directories? #t))
(for-each delete-file (find-files "." "\\.pyc$"))
#t))))
(arguments
;; XXX Fails with Python 3.5.
'(#:tests? #f))))
(define-public python2-flake8-2.2.4
(package-with-python2 python-flake8-2.2.4))
(define-public python-flake8-polyfill
(package
(name "python-flake8-polyfill")
@ -10200,13 +10205,13 @@ introspection of @code{zope.interface} instances in code.")
(define-public python-vobject
(package
(name "python-vobject")
(version "0.9.2")
(version "0.9.4.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "vobject" version))
(sha256
(base32
"1qfnwlx8qwkgr6nf5wvl6ff1r3kll53dh3z6nyp173nmlhhhqccb"))))
"0741h2cf743sbk89dpfm1yca26l4s159nzvy6vv8xg72nd7pvsps"))))
(build-system python-build-system)
(arguments
'(;; The test suite relies on some non-portable Windows interfaces.
@ -15423,3 +15428,74 @@ window memory map manager.")
(define-public python2-smmap2
(package-with-python2 python-smmap2))
(define-public python-regex
(package
(name "python-regex")
(version "2017.06.07")
(source (origin
(method url-fetch)
(uri (pypi-uri "regex" version))
(sha256
(base32
"06r6b7yigikbj3a72whl85r2b64pj1r0ypmw9yalmkm0wnxq8mz4"))))
(build-system python-build-system)
(home-page "https://bitbucket.org/mrabarnett/mrab-regex")
(synopsis "Alternative regular expression module")
(description "This regular expression implementation is backwards-
compatible with the standard @code{re} module, but offers additional
functionality like full case-folding for case-insensitive matches in Unicode.")
(license license:psfl)))
(define-public python2-regex
(package-with-python2 python-regex))
(define-public python2-pyopengl
(package
(name "python2-pyopengl")
(version "3.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyOpenGL" version))
(sha256
(base32
"1byxjj6a8rwzhxhjqlc588zdad2qwxdd7vlam2653ylll31waiwv"))))
(arguments
`(#:python ,python-2))
(build-system python-build-system)
(home-page "http://pyopengl.sourceforge.net")
(synopsis "Standard OpenGL bindings for Python")
(description
"PyOpenGL is the most common cross platform Python binding to OpenGL and
related APIs. The binding is created using the standard @code{ctypes}
library.")
(license license:bsd-3)))
(define-public python-rencode
(package
(name "python-rencode")
(version "1.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rencode" version))
(sha256
(base32
"08if5yax1xn5yfp8p3765ccjmfcv9di7i4m5jckgnwvdsgznwkbj"))))
(build-system python-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("python-cython", python-cython)))
(home-page "https://github.com/aresch/rencode")
(synopsis "Serialization of heterogeneous data structures")
(description
"The @code{rencode} module is a data structure serialization library,
similar to @code{bencode} from the BitTorrent project. For complex,
heterogeneous data structures with many small elements, r-encoding stake up
significantly less space than b-encodings. This version of rencode is a
complete rewrite in Cython to attempt to increase the performance over the
pure Python module.")
(license license:bsd-3)))
(define-public python2-rencode
(package-with-python2 python-rencode))

View File

@ -29,6 +29,7 @@
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages disk)
#:use-module (gnu packages dns)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@ -78,7 +79,8 @@
"qemu-CVE-2017-8112.patch"
"qemu-CVE-2017-8309.patch"
"qemu-CVE-2017-8379.patch"
"qemu-CVE-2017-8380.patch"))
"qemu-CVE-2017-8380.patch"
"qemu-CVE-2017-9524.patch"))
(sha256
(base32
"08mhfs0ndbkyqgw7fjaa9vjxf4dinrly656f6hjzvmaz7hzc677h"))))
@ -267,14 +269,14 @@ all common programming languages. Vala bindings are also provided.")
(define-public libvirt
(package
(name "libvirt")
(version "3.2.0")
(version "3.4.0")
(source (origin
(method url-fetch)
(uri (string-append "http://libvirt.org/sources/libvirt-"
version ".tar.xz"))
(sha256
(base32
"17i08v3836c9w4dwcklvbgzin3aw1gbksm9ry8kpk837nn1s10cl"))))
"13945hrijybfh634c4x9cbkfazvpzajgv55ll2nx412r4bv6l622"))))
(build-system gnu-build-system)
(arguments
`(;; FAIL: virshtest
@ -288,6 +290,7 @@ all common programming languages. Vala bindings are also provided.")
#:tests? #f
#:configure-flags
(list "--with-polkit"
"--sysconfdir=/etc"
"--localstatedir=/var")
#:phases
(modify-phases %standard-phases
@ -298,16 +301,14 @@ all common programming languages. Vala bindings are also provided.")
"gnulib/tests/test-posix_spawn2.c")
(("/bin/sh") (which "sh")))
#t))
(add-after 'unpack 'do-not-mkdir-in-/var
;; Since the localstatedir should be /var at runtime, we must
;; prevent writing to /var at installation time.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(localstatedir (string-append out "/var")))
(substitute* '("src/Makefile.in"
"daemon/Makefile.in")
(("\\$\\(DESTDIR\\)\\$\\(localstatedir)") localstatedir)))
#t)))))
(replace 'install
;; Since the sysconfdir and localstatedir should be /etc and /var
;; at runtime, we must prevent writing to them at installation
;; time.
(lambda _
(zero? (system* "make" "install"
"sysconfdir=/tmp/etc"
"localstatedir=/tmp/var")))))))
(inputs
`(("libxml2" ,libxml2)
("gnutls" ,gnutls)
@ -324,7 +325,12 @@ all common programming languages. Vala bindings are also provided.")
("perl" ,perl)
("python" ,python-2)
("libyajl" ,libyajl)
("audit" ,audit)))
("audit" ,audit)
("dmidecode" ,dmidecode)
("dnsmasq" ,dnsmasq)
("ebtables" ,ebtables)
("iproute" ,iproute)
("iptables" ,iptables)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://libvirt.org")
@ -386,13 +392,13 @@ three libraries:
(define-public python-libvirt
(package
(name "python-libvirt")
(version "3.2.0")
(version "3.4.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "libvirt-python" version))
(sha256
(base32
"0g80vhjss1a48w60zw0pd5fhpwfjw2dqhh0fbs730brkxj6xv1dc"))))
"04dma3979171p9yf0cg7m03shk038hc9vyfm9lb8z60qyn0pg9xg"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -472,9 +478,11 @@ virtualization library.")
#t)))))
(inputs
`(("gtk+" ,gtk+)
("gtk-vnc" ,gtk-vnc)
("libvirt" ,libvirt)
("libvirt-glib" ,libvirt-glib)
("libosinfo" ,libosinfo)
("vte" ,vte)
("gobject-introspection" ,gobject-introspection)
("python2-libvirt" ,python2-libvirt)
("python2-requests" ,python2-requests)

View File

@ -736,6 +736,15 @@ developers using C++ or QML, a CSS & JavaScript like language.")
(sha256
(base32
"0jdaw0i6rirs66x4cjh8l24fsyp020x1mv1psyf3ffbkdq1pngjx"))))
(arguments
(substitute-keyword-arguments (package-arguments qtsvg)
((#:phases phases)
`(modify-phases ,phases
(add-after 'unpack 'lengthen-test-timeout
(lambda _
(substitute* "tests/auto/qsensorgestures_gestures/tst_sensorgestures_gestures.cpp"
(("2000") "5000"))
#t))))))
(native-inputs
`(("perl" ,perl)
("qtdeclarative" ,qtdeclarative)))

View File

@ -21,13 +21,16 @@
(define-module (gnu packages rust)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages elf)
#:use-module (gnu packages flex)
#:use-module (gnu packages gcc)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
@ -205,22 +208,27 @@ rustc-bootstrap and cargo-bootstrap packages.")
"rustc-" version "-src.tar.gz"))
(sha256
(base32
"1d78jq7mc34n265by68amr9r4nzbiqrilfbwh7gx56ydn4gb6rpr"))))
"1d78jq7mc34n265by68amr9r4nzbiqrilfbwh7gx56ydn4gb6rpr"))
(modules '((guix build utils)))
(snippet
`(begin
(delete-file-recursively "src/llvm")
#t))))
(build-system gnu-build-system)
(native-inputs
`(("cmake" ,cmake)
`(("bison" ,bison) ; For the tests
("cmake" ,cmake)
("flex" ,flex) ; For the tests
("git" ,git)
("procps" ,procps) ; For the tests
("python-2" ,python-2)
("rust-bootstrap" ,rust-bootstrap)
("which" ,which)))
(inputs
`(("jemalloc" ,jemalloc)
("llvm" ,llvm)))
("llvm" ,llvm-3.9.1)))
(arguments
;; FIXME: Test failure with llvm 3.8; Update llvm.
;; https://github.com/rust-lang/rust/issues/36835
`(#:tests? #f
#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-configure
(lambda _
@ -254,7 +262,18 @@ rustc-bootstrap and cargo-bootstrap packages.")
(substitute* "src/tools/tidy/src/main.rs"
(("^.*cargo.*::check.*$") ""))
(substitute* "src/libstd/process.rs"
(("\"/bin/sh\"") (string-append "\"" bash "/bin/sh\"")))
;; The newline is intentional.
;; There's a line length "tidy" check in Rust which would
;; fail otherwise.
(("\"/bin/sh\"") (string-append "
\"" bash "/bin/sh\"")))
;; See <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00222.html>.
(substitute* "src/libstd/sys/unix/process/process_common.rs"
(("fn test_process_mask") "#[cfg_attr(target_os = \"linux\", ignore)]
fn test_process_mask"))
;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH.
;; See <https://lists.gnu.org/archive/html/guix-devel/2017-06/msg00193.html>.
(delete-file-recursively "src/test/run-make/linker-output-non-utf8")
#t)))
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)

View File

@ -59,7 +59,6 @@
#:use-module (gnu packages xorg)
#:use-module (gnu packages tls)
#:use-module (gnu packages gl)
#:use-module (gnu packages zip)
#:use-module (ice-9 match))
(define (mit-scheme-source-directory system version)

View File

@ -28,6 +28,7 @@
#:use-module (gnu packages audio)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@ -36,8 +37,7 @@
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip))
#:use-module (gnu packages xorg))
(define-public smalltalk
(package

View File

@ -58,7 +58,6 @@
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1))

View File

@ -25,10 +25,10 @@
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
#:use-module (gnu packages curl)
#:use-module (gnu packages compression)
#:use-module (gnu packages python)
#:use-module (gnu packages tls)
#:use-module (gnu packages xorg)
#:use-module (gnu packages zip)
#:use-module (srfi srfi-26))
(define-public synergy

View File

@ -58,7 +58,6 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages zip)
#:autoload (gnu packages texinfo) (texinfo)
#:use-module (ice-9 ftw)
#:use-module (ice-9 match)

View File

@ -11,6 +11,7 @@
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2017 Kei Kebreau <kei@openmailbox.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -38,14 +39,43 @@
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages java)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages slang)
#:use-module (gnu packages zip))
#:use-module (gnu packages slang))
(define-public dos2unix
(package
(name "dos2unix")
(version "7.3.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://waterlan.home.xs4all.nl/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32 "1i9hbxn0br7xa18z4bjpkdv7mrzmbfxhm44mzpd07yd2qnxsgkcc"))))
(build-system gnu-build-system)
(arguments
'(#:make-flags (list "CC=gcc"
(string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
(modify-phases %standard-phases
(delete 'configure)))) ; no configure script
(native-inputs
`(("gettext" ,gettext-minimal)
("perl" ,perl)))
(home-page "https://waterlan.home.xs4all.nl/dos2unix.html")
(synopsis "DOS/Mac to Unix and vice versa text file format converter")
(description
"dos2unix is a tool to convert line breaks in a text file from Unix format
to DOS format and vice versa.")
(license license:bsd-2)))
(define-public recode
(package

View File

@ -751,7 +751,7 @@ then ported to the GNU / Linux environment.")
(define-public mbedtls-apache
(package
(name "mbedtls-apache")
(version "2.4.2")
(version "2.5.1")
(source
(origin
(method url-fetch)
@ -761,7 +761,7 @@ then ported to the GNU / Linux environment.")
version "-apache.tgz"))
(sha256
(base32
"065hn5zibzflivabdh9p41dknda7wicl2zhc936dmakqfjprip8p"))))
"1yc1rj0izjihj9hbzvskpa4gjzqf4dm2i84nmmm2s9j1i66fp6jm"))))
(build-system cmake-build-system)
(native-inputs
`(("perl" ,perl)))

View File

@ -5,6 +5,7 @@
;;; Copyright © 2016, 2017 ng0 <contact.ng0@cryptolab.net>
;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017 Rutger Helling <rhelling@mykolab.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -61,7 +62,8 @@
(inputs
`(("zlib" ,zlib)
("openssl" ,openssl)
("libevent" ,libevent)))
("libevent" ,libevent)
("libseccomp", libseccomp)))
(home-page "https://www.torproject.org/")
(synopsis "Anonymous network router to improve privacy on the Internet")
(description

View File

@ -118,14 +118,14 @@ as well as the classic centralized workflow.")
(define-public git
(package
(name "git")
(version "2.13.1")
(version "2.13.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://kernel.org/software/scm/git/git-"
version ".tar.xz"))
(sha256
(base32
"1zl88rlga9nhgaqc9d04vp1l1g4x6qj1d02698asnxrzk36vxh9v"))))
"1rfx2gj7dw9rw0w22ihi940zv3wdrj1xmjv25djq2vs6a4vsq40d"))))
(build-system gnu-build-system)
(native-inputs
`(("native-perl" ,perl)
@ -138,7 +138,7 @@ as well as the classic centralized workflow.")
version ".tar.xz"))
(sha256
(base32
"0w7z6mis1x1skhg08qj95yczdsh1qipqnimfj60nsky40ryhkpg3"))))))
"0vlbjsnksv5law813av03aa06dx3b0vhira8wgq83sq060qy3q9h"))))))
(inputs
`(("curl" ,curl)
("expat" ,expat)
@ -904,17 +904,29 @@ RCS, PRCS, and Aegis packages.")
(define-public cvs-fast-export
(package
(name "cvs-fast-export")
(version "1.33")
(version "1.43")
(source (origin
(method url-fetch)
(uri (string-append "http://www.catb.org/~esr/"
name "/" name "-" version ".tar.gz"))
(sha256
(base32
"1c3s4nacbwlaaccx1fr7hf72kxxrzy49y2rdz5hhqbk8r29vm8w1"))))
"17xp5q4cxmd6z0ii1fdr4j1djb9mz1qv7hzr6fawdapjzahi65m3"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases (delete 'configure))
'(#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'remove-optimizations
(lambda _
;; Don't optimize for a specific processor architecture.
(substitute* "Makefile"
(("CFLAGS \\+= -march=native") ""))
;; This code runs with Python2 or Python3
(substitute* "cvsreduce"
(("python3") "python"))
#t)))
#:parallel-build? #f ; parallel a2x commands fail spectacularly
#:make-flags
(list "CC=gcc" (string-append "prefix?=" (assoc-ref %outputs "out")))))
(inputs `(("git" ,git)))

View File

@ -106,8 +106,7 @@
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (gnu packages assembly)
#:use-module (gnu packages zip))
#:use-module (gnu packages assembly))
(define-public aalib
(package
@ -1002,7 +1001,7 @@ access to mpv's powerful playback capabilities.")
(define-public youtube-dl
(package
(name "youtube-dl")
(version "2017.06.12")
(version "2017.06.23")
(source (origin
(method url-fetch)
(uri (string-append "https://yt-dl.org/downloads/"
@ -1010,7 +1009,7 @@ access to mpv's powerful playback capabilities.")
version ".tar.gz"))
(sha256
(base32
"1p4d8g44v8vgr4xwvmbvzkjz6zakl2r89spaak6yw1zxmymd9b1w"))))
"09x11k69imfx6j2dj3p8bckk8f59q276hy65q5qr8qc41s80j8b3"))))
(build-system python-build-system)
(arguments
;; The problem here is that the directory for the man page and completion

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