mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-11 05:39:41 -05:00
Merge branch 'master' into core-updates
This commit is contained in:
commit
ed068b960e
131 changed files with 3976 additions and 1448 deletions
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -25,7 +25,8 @@ (define-module (gnu bootloader extlinux)
|
|||
#: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 @@ (define dd
|
|||
(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 @@ (define install-extlinux
|
|||
(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 @@ (define extlinux-bootloader
|
|||
(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)))
|
||||
|
|
23
gnu/local.mk
23
gnu/local.mk
|
@ -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 \
|
||||
|
|
|
@ -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 @@ (define-public abiword
|
|||
(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 @@ (define-public abiword
|
|||
("libjpeg" ,libjpeg)
|
||||
("libpng" ,libpng)
|
||||
("librsvg" ,librsvg)
|
||||
("libwmf" ,libwmf)
|
||||
("libxml2" ,libxml2)
|
||||
("libxslt" ,libxslt)
|
||||
("ots" ,ots)
|
||||
|
|
|
@ -481,9 +481,9 @@ (define-public 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 @@ (define-public isc-dhcp
|
|||
"/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 @@ (define-public fabric
|
|||
(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 @@ (define-public neofetch
|
|||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rgznkl7a5q7lnc6zxlwvinq20b7k46n949l1hiwifarv0jgwynv"))))
|
||||
"07a32rzmch51znxspzyc7zyaldmr383v70b49wmnjdjs2qfdbv3a"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; there are no tests
|
||||
|
|
|
@ -59,7 +59,7 @@ (define-public adns
|
|||
(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 @@ (define-public c-ares
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yv5ygkd813glz8hbagykgp1hlb6450chig061hr7pyw7i0gk4l6"))))
|
||||
"19qxhv9aiw903fr808y77r6l9js0fq9m3gcaqckan9jan7qhixq3"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
|
|
@ -207,7 +207,7 @@ (define-public gp2c
|
|||
(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 @@ (define-public giac-xcas
|
|||
"source/giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"180146rm8fxlbd6x25x81yscf6q8qjpzr35k203r25c2xkcb7h2x"))))
|
||||
"1w7d4sdjbvqiibnfkhrqy9np3smsysilfba9pry3q1qn5g5y6nrp"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
|
|
@ -34,14 +34,14 @@ (define-module (gnu packages assembly)
|
|||
(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 @@ (define-public nasm
|
|||
(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 _
|
||||
|
|
|
@ -108,6 +108,10 @@ (define-public gnuastro
|
|||
("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
|
||||
|
|
|
@ -79,7 +79,6 @@ (define-module (gnu packages audio)
|
|||
#: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
|
||||
|
|
|
@ -27,11 +27,11 @@ (define-module (gnu packages avr)
|
|||
#: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
|
||||
|
|
|
@ -514,6 +514,7 @@ (define-public glibc/linux
|
|||
(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 @@ (define* (glibc-for-target #:optional
|
|||
(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 @@ (define-public glibc-2.24
|
|||
(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 @@ (define-public glibc-2.22
|
|||
(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 @@ (define-public glibc-2.22
|
|||
(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))))))
|
||||
|
|
|
@ -50,6 +50,7 @@ (define-module (gnu packages bioinformatics)
|
|||
#: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 @@ (define-module (gnu packages bioinformatics)
|
|||
#: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 @@ (define-module (gnu packages bioinformatics)
|
|||
#: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 @@ (define-public bwa-pssm
|
|||
(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 @@ (define-public newick-utils
|
|||
(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 @@ (define-public orfm
|
|||
version "/orfm-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19hwp13n82isdvk16710l9m35cmzf0q3fsrcn3r8c5r67biiz39s"))))
|
||||
"16iigyr2gd8x0imzkk1dr3k5xsds9bpmwg31ayvjg0f4pir9rwqr"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
|
@ -9540,3 +9539,168 @@ (define-public tadbit
|
|||
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+))))
|
||||
|
|
|
@ -91,11 +91,15 @@ (define-public grub
|
|||
;; 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)
|
||||
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages busybox)
|
|||
#: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 @@ (define-public busybox
|
|||
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")))
|
||||
|
|
|
@ -37,7 +37,6 @@ (define-module (gnu packages cdrom)
|
|||
#: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)
|
||||
|
|
|
@ -39,7 +39,6 @@ (define-module (gnu packages ci)
|
|||
#: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
|
||||
|
|
|
@ -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 @@ (define glibc-final-with-bootstrap-bash
|
|||
;; 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 @@ (define gettext-boot0
|
|||
|
||||
(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
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages compression)
|
|||
#: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 @@ (define-public pzstd
|
|||
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)))
|
||||
|
|
|
@ -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 @@ (define-public lmdb
|
|||
(("/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 @@ (define-public mdbtools
|
|||
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))
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages dns)
|
|||
#: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 @@ (define-module (gnu packages dns)
|
|||
#: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 @@ (define-public libasr
|
|||
(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 @@ (define-public yadifa
|
|||
(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 @@ (define-public knot
|
|||
("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 @@ (define-public knot
|
|||
(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"))))
|
||||
|
|
|
@ -31,8 +31,7 @@ (define-module (gnu packages docbook)
|
|||
#: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
|
||||
|
|
|
@ -37,8 +37,7 @@ (define-module (gnu packages documentation)
|
|||
#: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
|
||||
|
|
|
@ -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 chmlib
|
|||
(define-public calibre
|
||||
(package
|
||||
(name "calibre")
|
||||
(version "2.85.1")
|
||||
(version "3.0.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -74,7 +75,7 @@ (define-public calibre
|
|||
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 @@ (define-public calibre
|
|||
(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 @@ (define-public calibre
|
|||
("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 @@ (define-public calibre
|
|||
;; 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"))
|
||||
|
|
253
gnu/packages/electronics.scm
Normal file
253
gnu/packages/electronics.scm
Normal 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+)))
|
|
@ -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 @@ (define-public emacs-neotree
|
|||
(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 @@ (define-public emacs-restclient
|
|||
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+)))
|
||||
|
|
|
@ -452,7 +452,7 @@ (define propeller-binutils
|
|||
("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 @@ (define-public propeller-gcc
|
|||
(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 @@ (define-public propeller-gcc-4
|
|||
"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
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages engineering)
|
|||
#: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 @@ (define-module (gnu packages engineering)
|
|||
#: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 @@ (define-public minicom
|
|||
(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)))
|
||||
|
|
|
@ -86,15 +86,18 @@ (define-public efl
|
|||
("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)
|
||||
|
|
|
@ -53,8 +53,7 @@ (define-module (gnu packages fonts)
|
|||
#: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 @@ (define-public font-go
|
|||
|
||||
(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
|
||||
|
|
|
@ -25,6 +25,7 @@ (define-module (gnu packages fpga)
|
|||
#: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 @@ (define-module (gnu packages fpga)
|
|||
#: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)
|
||||
|
|
|
@ -35,6 +35,7 @@ (define-module (gnu packages game-development)
|
|||
#: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 @@ (define-module (gnu packages game-development)
|
|||
#: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 @@ (define-public deutex
|
|||
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 @@ (define-public gzochi
|
|||
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 @@ (define-public python2-tmx
|
|||
(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
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages games)
|
|||
#: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 @@ (define-module (gnu packages games)
|
|||
#: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 @@ (define-module (gnu packages games)
|
|||
#: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 @@ (define-public prboom-plus
|
|||
"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 @@ (define-public fizmo
|
|||
(define-public retroarch
|
||||
(package
|
||||
(name "retroarch")
|
||||
(version "1.6.0")
|
||||
(version "1.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1183,7 +1271,7 @@ (define-public retroarch
|
|||
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 @@ (define-public retroarch
|
|||
(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 @@ (define openttd-engine
|
|||
;; '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 @@ (define-public red-eclipse
|
|||
(define-public higan
|
||||
(package
|
||||
(name "higan")
|
||||
(version "101")
|
||||
(version "103")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2635,7 +2798,7 @@ (define-public higan
|
|||
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
|
||||
|
|
|
@ -45,7 +45,6 @@ (define-module (gnu packages gl)
|
|||
#: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)
|
||||
|
|
|
@ -132,7 +132,6 @@ (define-module (gnu packages gnome)
|
|||
#: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 @@ (define-public libpeas
|
|||
("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 @@ (define-public eog
|
|||
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 @@ (define-public epiphany
|
|||
(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)
|
||||
|
|
|
@ -58,7 +58,6 @@ (define-module (gnu packages gnuzilla)
|
|||
#: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
|
||||
|
|
|
@ -62,8 +62,7 @@ (define-module (gnu packages graphics)
|
|||
#: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
|
||||
|
|
|
@ -98,7 +98,7 @@ (define-public orc
|
|||
(define-public gstreamer
|
||||
(package
|
||||
(name "gstreamer")
|
||||
(version "1.12.0")
|
||||
(version "1.12.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -107,7 +107,7 @@ (define-public gstreamer
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00j3zwm22582fwyzh316mnh6ghicv4ya93yk52kz4avx57wfxm8l"))))
|
||||
"1lm6lcr0rv0mzsdl9vjdnf3vb136qmcslvz3m5zlai7zngcbji4h"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
|
@ -146,7 +146,7 @@ (define-public gstreamer
|
|||
(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 @@ (define-public gst-plugins-base
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0k9nckvzk2hhhg7w4gzmd7is0lbswdmrkwmcgblvdf2lgy3wcprl"))))
|
||||
"0r84krn8dpimp6kk9cf38danrbbsypx6j6ykr6rl1a3lnnnrzkhc"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(propagated-inputs
|
||||
|
@ -201,7 +201,7 @@ (define-public gst-plugins-base
|
|||
(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 @@ (define-public gst-plugins-good
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1g1f6xyj0f06nmsl01xhr32x2rwyb857yjkrig1013iknx6p67ca"))))
|
||||
"0jzm5jp22238y3rb0j1dsxyp77dq0wk03gn9kvq25rphlx38w7hj"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("aalib" ,aalib)
|
||||
|
@ -266,14 +266,14 @@ (define-public gst-plugins-good
|
|||
(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 @@ (define-public gst-plugins-bad
|
|||
(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 @@ (define-public gst-plugins-ugly
|
|||
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 @@ (define-public gst-plugins-ugly
|
|||
(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 @@ (define-public gst-libav
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1i2h0ymh9jy0rnkcan2rdsdfq7l02rmp33g712q81s9fcizlgl9r"))))
|
||||
"0xshib0hsn8yjmd12ipsrbrvxa5qnhnz7zmdj7lms6b3vwzq5msm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--with-system-libav")
|
||||
|
@ -420,7 +420,7 @@ (define-public gst-libav
|
|||
(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 @@ (define-public python-gst
|
|||
"gst-python-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"01wwbn6z3771ad55ljl9gs6irrs9a8p186zrgrkmzs91kxmxwcxy"))))
|
||||
"18bq03xdc0jgrza4114lrcj82yai4azkjzfxflqagc0y417vw88p"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; XXX: Factorize python-sitedir with python-build-system.
|
||||
|
|
|
@ -36,6 +36,7 @@ (define-module (gnu packages guile)
|
|||
#: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 @@ (define-module (gnu packages guile)
|
|||
#: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)
|
||||
|
|
|
@ -46,7 +46,6 @@ (define-module (gnu packages haskell)
|
|||
#: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 @@ (define-public ghc-setlocale
|
|||
(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)
|
||||
|
|
|
@ -104,14 +104,18 @@ (define-public geeqie
|
|||
"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)
|
||||
|
|
|
@ -55,7 +55,6 @@ (define-module (gnu packages image)
|
|||
#: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 @@ (define-public libtiff
|
|||
"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")
|
||||
|
|
|
@ -46,14 +46,14 @@ (define-public imagemagick
|
|||
;; The 7 release series has an incompatible API, while the 6 series is still
|
||||
;; maintained. Don't update to 7 until we've made sure that the ImageMagick
|
||||
;; users are ready for the 7-series API.
|
||||
(version "6.9.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")
|
||||
|
|
|
@ -142,14 +142,14 @@ (define-public irssi
|
|||
(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)
|
||||
|
|
|
@ -60,7 +60,6 @@ (define-module (gnu packages java)
|
|||
#: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)
|
||||
|
|
|
@ -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 @@ (define-public js-mathjax
|
|||
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)))
|
||||
|
|
|
@ -46,8 +46,8 @@ (define-module (gnu packages julia)
|
|||
#: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 @@ (define libuv-julia
|
|||
(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 libunwind-for-julia
|
|||
(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 @@ (define-public julia
|
|||
version "/julia-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1a9m7hzzrwk71gvwwrd1p45s64yid61i41n95gm5pzbry6p9fpl0"))))
|
||||
"0rd6lcc9sic10q1j3c6f9qr901i1c4554m93n2sz5b3mh37byqhw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
|
@ -122,12 +122,19 @@ (define-public julia
|
|||
(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 @@ (define-public julia
|
|||
("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 @@ (define-public julia
|
|||
(("\"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 @@ (define-public julia
|
|||
(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 @@ (define-public julia
|
|||
("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"))
|
||||
|
|
|
@ -68,8 +68,7 @@ (define-module (gnu packages kodi)
|
|||
#: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"))
|
||||
|
|
|
@ -35,8 +35,7 @@ (define-module (gnu packages ldc)
|
|||
#: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
|
||||
|
|
|
@ -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 @@ (define-public libffcall
|
|||
"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+)))
|
||||
|
|
|
@ -65,8 +65,7 @@ (define-module (gnu packages libreoffice)
|
|||
#: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
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages linux)
|
|||
#: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 @@ (define-public linux-libre-arm-generic
|
|||
%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 @@ (define-public util-linux
|
|||
(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 @@ (define-public iptables
|
|||
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 @@ (define-public cpuid
|
|||
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)))
|
||||
|
|
|
@ -2335,5 +2335,5 @@ (define-public balsa
|
|||
(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+)))
|
||||
|
|
|
@ -26,10 +26,10 @@ (define-module (gnu packages markup)
|
|||
#: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
|
||||
|
|
|
@ -96,7 +96,6 @@ (define-module (gnu packages maths)
|
|||
#: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 @@ (define-public dionysus
|
|||
(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 @@ (define-public hdf4-alt
|
|||
(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 @@ (define-public 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
|
||||
|
|
|
@ -31,7 +31,7 @@ (define-module (gnu packages mc)
|
|||
#: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
|
||||
|
|
|
@ -27,8 +27,7 @@ (define-module (gnu packages monitoring)
|
|||
#: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
|
||||
|
|
|
@ -117,8 +117,7 @@ (define-public mpd
|
|||
("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
|
||||
|
|
|
@ -105,7 +105,6 @@ (define-module (gnu packages music)
|
|||
#: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 @@ (define-public jalv-select
|
|||
(define-public synthv1
|
||||
(package
|
||||
(name "synthv1")
|
||||
(version "0.8.2")
|
||||
(version "0.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -1088,7 +1087,7 @@ (define-public synthv1
|
|||
"/synthv1-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lmblhk0728bxi7cixc2j9p6gisicy6alybga9vwmg453snrsybr"))))
|
||||
"1yqh7jx431q01f15b3h4dh038yvmc4jcsr3vn2175kqgwfj9jqcg"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; There are no tests.
|
||||
|
@ -1098,9 +1097,12 @@ (define-public synthv1
|
|||
`(("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 @@ (define-public synthv1
|
|||
(define-public drumkv1
|
||||
(package
|
||||
(name "drumkv1")
|
||||
(version "0.8.2")
|
||||
(version "0.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -1119,7 +1121,7 @@ (define-public drumkv1
|
|||
"/drumkv1-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lf9x99gmmk64xq73lcwpwqznh8s79qy2fjjjzzw6sbw99w8qyz4"))))
|
||||
"0rvdvc81j4b4n64i7jmk58khry28al8p73g71srdv1kw7j65f2zv"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; There are no tests.
|
||||
|
@ -1130,6 +1132,7 @@ (define-public drumkv1
|
|||
("lv2" ,lv2)
|
||||
("libsndfile" ,libsndfile)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("non-session-manager" ,non-session-manager)
|
||||
("liblo" ,liblo)
|
||||
("qtbase" ,qtbase)))
|
||||
(native-inputs
|
||||
|
@ -1145,7 +1148,7 @@ (define-public drumkv1
|
|||
(define-public samplv1
|
||||
(package
|
||||
(name "samplv1")
|
||||
(version "0.8.2")
|
||||
(version "0.8.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
|
@ -1153,7 +1156,7 @@ (define-public samplv1
|
|||
"/samplv1-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"11mxn3ff9g0x1rl4jl5rngmwlb8dmkbzsjhxb8gqhmlpfj24wl7l"))))
|
||||
"1lbxrn24fg1z659zbaakzq6z8gbax6z16di9v9bhhslk8w2mndik"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; There are no tests.
|
||||
|
@ -1164,6 +1167,7 @@ (define-public samplv1
|
|||
("lv2" ,lv2)
|
||||
("libsndfile" ,libsndfile)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("non-session-manager" ,non-session-manager)
|
||||
("liblo" ,liblo)
|
||||
("qtbase" ,qtbase)))
|
||||
(native-inputs
|
||||
|
|
|
@ -29,7 +29,7 @@ (define-module (gnu packages nano)
|
|||
(define-public nano
|
||||
(package
|
||||
(name "nano")
|
||||
(version "2.8.4")
|
||||
(version "2.8.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -37,7 +37,7 @@ (define-public nano
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04bvmimrw40cbcnm3xm5l5lir0qy7cncfkmwrlzg8jiy1x7jdky7"))))
|
||||
"1hl9gni3qmblr062a7w6vz16gvxbswgc5c19c923ja0bk48vyhyb"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages networking)
|
|||
#: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 @@ (define-public nethogs
|
|||
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")
|
||||
|
|
|
@ -113,32 +113,33 @@ (define-public python2-debtcollector
|
|||
(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)))
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages password-utils)
|
|||
#: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 @@ (define-public cracklib
|
|||
(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 @@ (define-public libpwquality
|
|||
name "-" version ".tar.bz2")))
|
||||
(sha256
|
||||
(base32
|
||||
"0aidriag6h0syfm33nzdfdsqgrnsgihwjv3a5lgkqch3w68fmlkl"))))
|
||||
"0syyz8r54l8mqmbb0mw19qz4z2cx8gdgidicb8k2s5zjdh2gzrhx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; XXX: have RUNPATH issue.
|
||||
|
@ -408,3 +412,37 @@ (define-public python-bcrypt
|
|||
|
||||
(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+)))
|
||||
|
|
|
@ -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" &&
|
|
@ -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">
|
36
gnu/packages/patches/glibc-CVE-2017-1000366-pt1.patch
Normal file
36
gnu/packages/patches/glibc-CVE-2017-1000366-pt1.patch
Normal 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
|
||||
|
124
gnu/packages/patches/glibc-CVE-2017-1000366-pt2.patch
Normal file
124
gnu/packages/patches/glibc-CVE-2017-1000366-pt2.patch
Normal 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
|
||||
|
206
gnu/packages/patches/glibc-CVE-2017-1000366-pt3.patch
Normal file
206
gnu/packages/patches/glibc-CVE-2017-1000366-pt3.patch
Normal 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
|
||||
|
23
gnu/packages/patches/glibc-vectorized-strcspn-guards.patch
Normal file
23
gnu/packages/patches/glibc-vectorized-strcspn-guards.patch
Normal 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
|
|
@ -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))
|
||||
{
|
|
@ -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...");
|
||||
|
|
@ -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
|
||||
{
|
|
@ -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
|
|
@ -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 */
|
|
@ -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;
|
|
@ -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;
|
|
@ -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++;
|
||||
|
|
@ -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))
|
|
@ -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);
|
|
@ -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!");
|
|
@ -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);
|
||||
}
|
287
gnu/packages/patches/qemu-CVE-2017-9524.patch
Normal file
287
gnu/packages/patches/qemu-CVE-2017-9524.patch
Normal 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
|
||||
|
|
@ -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 @@ (define-module (gnu packages photo)
|
|||
#: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 @@ (define-module (gnu packages photo)
|
|||
#: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 @@ (define-public gphoto2
|
|||
(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 @@ (define-public perl-image-exiftool
|
|||
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 @@ (define-public darktable
|
|||
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+)))
|
||||
|
||||
|
|
|
@ -44,7 +44,6 @@ (define-module (gnu packages php)
|
|||
#: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)
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages pretty-print)
|
|||
#: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)
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages python)
|
|||
#: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 @@ (define-public python-setuptools
|
|||
(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 @@ (define-public python-eventlet
|
|||
(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 @@ (define-public python2-sqlalchemy
|
|||
(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 @@ (define-public python-drmaa
|
|||
(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 @@ (define-public python-flake8
|
|||
(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 @@ (define-public python2-psycopg2
|
|||
(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 @@ (define-public python-smmap2
|
|||
|
||||
(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))
|
||||
|
|
|
@ -29,6 +29,7 @@ (define-module (gnu packages qemu)
|
|||
#: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 @@ (define-public qemu
|
|||
"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 @@ (define-public libosinfo
|
|||
(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 @@ (define-public libvirt
|
|||
#:tests? #f
|
||||
#:configure-flags
|
||||
(list "--with-polkit"
|
||||
"--sysconfdir=/etc"
|
||||
"--localstatedir=/var")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
@ -298,16 +301,14 @@ (define-public libvirt
|
|||
"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 @@ (define-public libvirt
|
|||
("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 @@ (define-public libvirt-glib
|
|||
(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 @@ (define-public virt-manager
|
|||
#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)
|
||||
|
|
|
@ -736,6 +736,15 @@ (define-public qtsensors
|
|||
(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)))
|
||||
|
|
|
@ -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 @@ (define-public rustc
|
|||
"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 @@ (define-public rustc
|
|||
(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)
|
||||
|
|
|
@ -59,7 +59,6 @@ (define-module (gnu packages scheme)
|
|||
#: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)
|
||||
|
|
|
@ -28,6 +28,7 @@ (define-module (gnu packages smalltalk)
|
|||
#: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 @@ (define-module (gnu packages smalltalk)
|
|||
#: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
|
||||
|
|
|
@ -58,7 +58,6 @@ (define-module (gnu packages statistics)
|
|||
#: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))
|
||||
|
||||
|
||||
|
|
|
@ -25,10 +25,10 @@ (define-module (gnu packages synergy)
|
|||
#: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
|
||||
|
|
|
@ -58,7 +58,6 @@ (define-module (gnu packages tex)
|
|||
#: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)
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages textutils)
|
|||
#: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
|
||||
|
|
|
@ -751,7 +751,7 @@ (define-public acme-client
|
|||
(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 @@ (define-public mbedtls-apache
|
|||
version "-apache.tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"065hn5zibzflivabdh9p41dknda7wicl2zhc936dmakqfjprip8p"))))
|
||||
"1yc1rj0izjihj9hbzvskpa4gjzqf4dm2i84nmmm2s9j1i66fp6jm"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("perl" ,perl)))
|
||||
|
|
|
@ -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 @@ (define-public tor
|
|||
(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
|
||||
|
|
|
@ -118,14 +118,14 @@ (define-public bazaar
|
|||
(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 @@ (define-public git
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0w7z6mis1x1skhg08qj95yczdsh1qipqnimfj60nsky40ryhkpg3"))))))
|
||||
"0vlbjsnksv5law813av03aa06dx3b0vhira8wgq83sq060qy3q9h"))))))
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
("expat" ,expat)
|
||||
|
@ -904,17 +904,29 @@ (define-public cvs
|
|||
(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)))
|
||||
|
|
|
@ -106,8 +106,7 @@ (define-module (gnu packages video)
|
|||
#: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 @@ (define-public libvpx
|
|||
(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 @@ (define-public youtube-dl
|
|||
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
Loading…
Reference in a new issue