Merge branch 'master' into core-updates

master
Ludovic Courtès 2015-03-18 18:11:02 +01:00
commit 381c540b93
151 changed files with 9236 additions and 3090 deletions

View File

@ -18,6 +18,7 @@ alphabetical order):
John Darrington <jmd@gnu.org>
Andreas Enge <andreas@enge.fr>
Alírio Eyng <alirioeyng@gmail.com>
Alexander I. Grafov <grafov@gmail.com>
Joshua Grant <tadni@riseup.net>
Raimon Grau <raimonster@gmail.com>
David Hashe <david.hashe@dhashe.com>
@ -32,5 +33,6 @@ alphabetical order):
Jason Self <j@jxself.org>
Sree Harsha Totakura <sreeharsha@totakura.in>
David Thompson <dthompson2@worcester.edu>
Paul van der Walt <paul@denknerd.org>
Mark H. Weaver <mhw@netris.org>
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>

View File

@ -4,7 +4,7 @@ exec guile -l "$0" \
(cdr (command-line)))'
!#
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;;
;;; This file is part of GNU Guix.
@ -242,14 +242,13 @@ description-ids as formal parameters."
(h2 "GNU Guix Package List")
(div (@ (id "intro"))
(div
(img (@ (src "graphics/guix-logo.small.png")
(alt "GNU Guix and the GNU System")
(img (@ (src "graphics/GuixSD-V.png")
(alt "Guix System Distribution")
(height "83"))))
(p "This web page lists the packages currently provided by the "
(a (@ (href "manual/guix.html#GNU-Distribution"))
"GNU system distribution")
" of "
(a (@ (href "/software/guix/guix.html")) "GNU Guix") ". "
"Guix System Distribution")
". "
"Our " (a (@ (href "http://hydra.gnu.org/jobset/gnu/master"))
"continuous integration system")
" shows their current build status."))

View File

@ -2464,6 +2464,11 @@ processes.
When a package or derivation is unquoted inside a gexp, the result is as
if its output file name had been introduced.
Actually this mechanism is not limited to package and derivation
objects; @dfn{compilers} able to ``lower'' other high-level objects to
derivations can be defined, such that these objects can also be inserted
into gexps.
@item
Gexps carry information about the packages or derivations they refer to,
and these dependencies are automatically added as inputs to the build
@ -3730,7 +3735,8 @@ kernel, initial RAM disk, and boot loader looks like this:
(comment "Bob's sister")
(home-directory "/home/alice"))))
(packages (cons emacs %base-packages))
(services (cons (lsh-service #:port 2222 #:root-login? #t)
(services (cons (lsh-service #:port 2222 #:root-login? #t
#:initialize? #t)
%base-services)))
@end lisp
@ -4618,8 +4624,7 @@ started by the @dfn{login manager}, currently SLiM.
@deffn {Monadic Procedure} slim-service [#:allow-empty-passwords? #f] @
[#:auto-login? #f] [#:default-user ""] [#:startx] @
[#:theme @var{%default-slim-theme}] @
[#:theme-name @var{%default-slim-theme-name}] @
[#:sessions @var{%default-sessions}]
[#:theme-name @var{%default-slim-theme-name}]
Return a service that spawns the SLiM graphical login manager, which in
turn starts the X display server with @var{startx}, a command as returned by
@code{xorg-start-command}.
@ -4632,28 +4637,8 @@ If @var{theme} is @code{#f}, the use the default log-in theme; otherwise
@var{theme} must be a gexp denoting the name of a directory containing the
theme to use. In that case, @var{theme-name} specifies the name of the
theme.
Last, @var{session} is a list of @code{<session-type>} objects denoting the
available session types that can be chosen from the log-in screen. The first
one is chosen by default.
@end deffn
@defvr {Scheme Variable} %default-sessions
The list of default session types used by SLiM.
@end defvr
@defvr {Scheme Variable} %ratpoison-session-type
Session type using the Ratpoison window manager.
@end defvr
@defvr {Scheme Variable} %windowmaker-session-type
Session type using the WindowMaker window manager.
@end defvr
@defvr {Scheme Variable} %sawfish-session-type
Session type using the Sawfish window manager.
@end defvr
@defvr {Scheme Variable} %default-theme
@defvrx {Scheme Variable} %default-theme-name
The G-Expression denoting the default SLiM theme and its name.

View File

@ -57,12 +57,11 @@ GNU_SYSTEM_MODULES = \
gnu/packages/ccache.scm \
gnu/packages/cdrom.scm \
gnu/packages/certs.scm \
gnu/packages/cflow.scm \
gnu/packages/check.scm \
gnu/packages/cmake.scm \
gnu/packages/code.scm \
gnu/packages/commencement.scm \
gnu/packages/compression.scm \
gnu/packages/complexity.scm \
gnu/packages/conkeror.scm \
gnu/packages/cook.scm \
gnu/packages/cpio.scm \
@ -81,7 +80,8 @@ GNU_SYSTEM_MODULES = \
gnu/packages/dejagnu.scm \
gnu/packages/dictionaries.scm \
gnu/packages/disk.scm \
gnu/packages/dnsmasq.scm \
gnu/packages/djvu.scm \
gnu/packages/dns.scm \
gnu/packages/docbook.scm \
gnu/packages/doxygen.scm \
gnu/packages/dwm.scm \
@ -90,6 +90,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/elf.scm \
gnu/packages/emacs.scm \
gnu/packages/enchant.scm \
gnu/packages/engineering.scm \
gnu/packages/enlightenment.scm \
gnu/packages/feh.scm \
gnu/packages/file.scm \
@ -120,7 +121,6 @@ GNU_SYSTEM_MODULES = \
gnu/packages/gkrellm.scm \
gnu/packages/gl.scm \
gnu/packages/glib.scm \
gnu/packages/global.scm \
gnu/packages/gnome.scm \
gnu/packages/gnunet.scm \
gnu/packages/gnupg.scm \
@ -143,6 +143,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/guile-wm.scm \
gnu/packages/gv.scm \
gnu/packages/gxmessage.scm \
gnu/packages/haskell.scm \
gnu/packages/hugs.scm \
gnu/packages/hurd.scm \
gnu/packages/icu4c.scm \
@ -156,11 +157,14 @@ GNU_SYSTEM_MODULES = \
gnu/packages/java.scm \
gnu/packages/jrnl.scm \
gnu/packages/kde.scm \
gnu/packages/key-mon.scm \
gnu/packages/language.scm \
gnu/packages/ld-wrapper.scm \
gnu/packages/less.scm \
gnu/packages/lesstif.scm \
gnu/packages/libcanberra.scm \
gnu/packages/libdaemon.scm \
gnu/packages/libedit.scm \
gnu/packages/libevent.scm \
gnu/packages/libffcall.scm \
gnu/packages/libffi.scm \
@ -181,6 +185,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/lsh.scm \
gnu/packages/lsof.scm \
gnu/packages/lua.scm \
gnu/packages/lxqt.scm \
gnu/packages/lynx.scm \
gnu/packages/m4.scm \
gnu/packages/man.scm \
@ -199,6 +204,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/mp3.scm \
gnu/packages/mpi.scm \
gnu/packages/multiprecision.scm \
gnu/packages/music.scm \
gnu/packages/mtools.scm \
gnu/packages/nano.scm \
gnu/packages/ncdu.scm \
@ -274,6 +280,7 @@ GNU_SYSTEM_MODULES = \
gnu/packages/telephony.scm \
gnu/packages/texinfo.scm \
gnu/packages/texlive.scm \
gnu/packages/textutils.scm \
gnu/packages/time.scm \
gnu/packages/tmux.scm \
gnu/packages/tor.scm \
@ -352,6 +359,7 @@ dist_patch_DATA = \
gnu/packages/patches/aegis-perl-tempdir2.patch \
gnu/packages/patches/aegis-test-fixup-1.patch \
gnu/packages/patches/aegis-test-fixup-2.patch \
gnu/packages/patches/agg-am_c_prototype.patch \
gnu/packages/patches/alsa-lib-mips-atomic-fix.patch \
gnu/packages/patches/apr-skip-getservbyname-test.patch \
gnu/packages/patches/ath9k-htc-firmware-binutils.patch \
@ -360,10 +368,12 @@ dist_patch_DATA = \
gnu/packages/patches/automake-skip-amhello-tests.patch \
gnu/packages/patches/avahi-localstatedir.patch \
gnu/packages/patches/avrdude-fix-libusb.patch \
gnu/packages/patches/bash-completion-directories.patch \
gnu/packages/patches/bowtie-fix-makefile.patch \
gnu/packages/patches/bigloo-gc-shebangs.patch \
gnu/packages/patches/binutils-ld-new-dtags.patch \
gnu/packages/patches/binutils-loongson-workaround.patch \
gnu/packages/patches/calibre-drop-unrar.patch \
gnu/packages/patches/cdparanoia-fpic.patch \
gnu/packages/patches/chmlib-inttypes.patch \
gnu/packages/patches/clucene-pkgconfig.patch \
@ -404,13 +414,12 @@ dist_patch_DATA = \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/glibc-locales.patch \
gnu/packages/patches/gmp-arm-asm-nothumb.patch \
gnu/packages/patches/gnunet-fix-scheduler.patch \
gnu/packages/patches/gnunet-fix-tests.patch \
gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch \
gnu/packages/patches/gobject-introspection-cc.patch \
gnu/packages/patches/gobject-introspection-girepository.patch \
gnu/packages/patches/grep-CVE-2015-1345.patch \
gnu/packages/patches/grub-gets-undeclared.patch \
gnu/packages/patches/grub-freetype.patch \
gnu/packages/patches/gstreamer-0.10-bison3.patch \
gnu/packages/patches/gstreamer-0.10-silly-test.patch \
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
@ -421,26 +430,10 @@ dist_patch_DATA = \
gnu/packages/patches/guix-test-networking.patch \
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
gnu/packages/patches/hop-bigloo-4.0b.patch \
gnu/packages/patches/icecat-CVE-2015-0822.patch \
gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch \
gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch \
gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch \
gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch \
gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch \
gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch \
gnu/packages/patches/irrlicht-mesa-10.patch \
gnu/packages/patches/jbig2dec-ignore-testtest.patch \
gnu/packages/patches/kmod-module-directory.patch \
gnu/packages/patches/lftp-dont-save-unknown-host-fingerprint.patch \
gnu/packages/patches/libarchive-CVE-2013-0211.patch \
gnu/packages/patches/libarchive-fix-lzo-test-case.patch \
gnu/packages/patches/libarchive-mtree-filename-length-fix.patch \
@ -485,6 +478,7 @@ dist_patch_DATA = \
gnu/packages/patches/patchelf-page-size.patch \
gnu/packages/patches/patchelf-rework-for-arm.patch \
gnu/packages/patches/patchutils-xfail-gendiff-tests.patch \
gnu/packages/patches/pavucontrol-sigsegv.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/perl-tk-x11-discover.patch \
gnu/packages/patches/petsc-fix-threadcomm.patch \
@ -492,7 +486,6 @@ dist_patch_DATA = \
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
gnu/packages/patches/polkit-drop-test.patch \
gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/pulseaudio-CVE-2014-3970.patch \
gnu/packages/patches/pulseaudio-fix-mult-test.patch \
gnu/packages/patches/pybugz-encode-error.patch \
gnu/packages/patches/pybugz-stty.patch \
@ -525,6 +518,7 @@ dist_patch_DATA = \
gnu/packages/patches/unzip-CVE-2014-8140.patch \
gnu/packages/patches/unzip-CVE-2014-8141.patch \
gnu/packages/patches/util-linux-tests.patch \
gnu/packages/patches/valgrind-glibc-2.21.patch \
gnu/packages/patches/vpnc-script.patch \
gnu/packages/patches/vtk-mesa-10.patch \
gnu/packages/patches/w3m-fix-compile.patch \
@ -550,9 +544,8 @@ dist_patch_DATA = \
gnu/packages/patches/xf86-video-trident-remove-mibstore.patch \
gnu/packages/patches/xf86-video-vmware-glibc-2.20.patch \
gnu/packages/patches/xfce4-panel-plugins.patch \
gnu/packages/patches/xmodmap-asprintf.patch
MISC_DISTRO_FILES = gnu/packages/javac.in
gnu/packages/patches/xmodmap-asprintf.patch \
gnu/packages/patches/zathura-plugindir-environment-variable.patch
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux

View File

@ -4,6 +4,7 @@
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Alex Sassmannshausen <alex.sassmannshausen@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -968,6 +969,31 @@ characters can be replaced as well, as can UTF-8 characters.")
recover lost partitions and/or make non-booting disks bootable again.")
(license license:gpl2+)))
(define-public tree
(package
(name "tree")
(version "1.7.0")
(source (origin
(method url-fetch)
(uri (string-append
"http://mama.indstate.edu/users/ice/tree/src/tree-"
version ".tgz"))
(sha256
(base32 "04kviw799qxly08zb8n5mgxfd96gyis6x69q2qiw86jnh87c4mv9"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-delete 'configure %standard-phases)
#:tests? #f ; no check target
#:make-flags (let ((out (assoc-ref %outputs "out")))
(list (string-append "prefix=" out)))))
(synopsis "Recursively list the contents of a directory")
(description
"Tree is a recursive directory listing command that produces a depth
indented listing of files, which is colorized ala dircolors if the LS_COLORS
environment variable is set and output is to tty.")
(home-page "http://mama.indstate.edu/users/ice/tree/")
(license license:gpl2+)))
(define-public direvent
(package
(name "direvent")
@ -1055,3 +1081,29 @@ Technology System (S.M.A.R.T.) built into most modern ATA and SCSI harddisks.
In many cases, these utilities will provide advanced warning of disk
degradation and failure.")
(license license:gpl2+)))
(define-public fdupes
(package
(name "fdupes")
(version "1.51")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/adrianlopezroche/fdupes/archive/fdupes-"
version ".tar.gz"))
(sha256
(base32
"11j96vxl9vg3jsnxqxskrv3gad6dh7hz2zpyc8n31xzyxka1c7kn"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-delete 'configure %standard-phases)
#:tests? #f ; no 'check' target
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out")))))
(home-page "https://github.com/adrianlopezroche/fdupes")
(synopsis "Identify duplicate files")
(description
"fdupes is a program for identifying duplicate files residing within
specified directories.")
(license license:expat)))

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -114,3 +115,10 @@ dictionaries, including personal ones.")
#:sha256
(base32
"14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr")))
(define-public aspell-dict-ru
(aspell-dictionary "ru" "Russian"
#:version "0.99f7-1"
#:sha256
(base32
"0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw")))

View File

@ -50,6 +50,7 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages zip)
#:use-module (srfi srfi-1))
(define-public alsa-modular-synth
@ -244,20 +245,20 @@ plugins are provided.")
version ".tar.bz2"))
(sha256
(base32
"0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))
(modules '((guix build utils)))
(snippet
'(substitute* "libs/Makefile"
(("/sbin/ldconfig") "true")))))
"0bsacx3l9065gk8g4137qmz2ij7s9x06aldvacinzlcslw7bd1kq"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(alist-cons-after
'unpack
'enter-directory
(lambda _ (chdir "libs"))
'unpack 'patch-makefile-and-enter-directory
(lambda _
(substitute* "libs/Makefile"
(("/sbin/ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs")
#t)
(alist-cons-after
'install
'install-symlink
@ -277,6 +278,38 @@ plugins are provided.")
ALSA PCM devices.")
(license license:gpl2+)))
(define-public faad2
(package
(name "faad2")
(version "2.7")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/faac/faad2-" version ".zip"))
(sha256
(base32
"16f3l16c00sg0wkrkm3vzv0gy3g97x309vw788igs0cap2x1ak3z"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("unzip" ,unzip)))
(arguments
'(#:phases
(alist-cons-after
'unpack 'bootstrap
(lambda _
(substitute* "bootstrap" (("\r\n") "\n"))
(zero? (system* "sh" "bootstrap")))
%standard-phases)))
(home-page "http://www.audiocoding.com/faad2.html")
(synopsis "MPEG-4 and MPEG-2 AAC decoder")
(description
"FAAD2 is an MPEG-4 and MPEG-2 AAC decoder supporting LC, Main, LTP, SBR,
PS, and DAB+.")
(license license:gpl2)))
(define-public freepats
(package
(name "freepats")
@ -491,6 +524,29 @@ applications, restoring program state (i.e. loaded patches) and the
connections between them.")
(license license:gpl2+)))
(define-public libbs2b
(package
(name "libbs2b")
(version "3.1.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/bs2b/libbs2b-" version ".tar.lzma"))
(sha256
(base32
"1mcc4gjkmphczjybnsrip3gq1f974knzys7x49bv197xk3fn8wdr"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("libsndfile" ,libsndfile)))
(home-page "http://sourceforge.net/projects/bs2b/")
(synopsis "Bauer stereophonic-to-binaural DSP")
(description
"The Bauer stereophonic-to-binaural DSP (bs2b) library and plugins is
designed to improve headphone listening of stereo audio records. Recommended
for headphone prolonged listening to disable superstereo fatigue without
essential distortions.")
(license license:expat)))
(define-public liblo
(package
(name "liblo")
@ -657,6 +713,35 @@ extensions into easy to use C++ classes. It is the successor of
lv2-c++-tools.")
(license license:gpl3+)))
(define-public openal
(package
(name "openal")
(version "1.15.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://kcat.strangesoft.net/openal-releases/openal-soft-"
version ".tar.bz2"))
(sha256
(base32
"0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no check target
(inputs
`(("alsa-lib" ,alsa-lib)
("pulseaudio" ,pulseaudio)))
(synopsis "3D audio API")
(description
"OpenAL provides capabilities for playing audio in a virtual 3D
environment. Distance attenuation, doppler shift, and directional sound
emitters are among the features handled by the API. More advanced effects,
including air absorption, occlusion, and environmental reverb, are available
through the EFX extension. It also facilitates streaming audio, multi-channel
buffers, and audio capture.")
(home-page "http://kcat.strangesoft.net/openal.html")
(license license:lgpl2.0+)))
(define-public patchage
(package
(name "patchage")
@ -1020,6 +1105,46 @@ to record and/or play sound using a callback function or a blocking read/write
interface.")
(license license:expat)))
(define-public rsound
(package
(name "rsound")
(version "1.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Themaister/RSound/archive/v"
version ".tar.gz"))
(sha256
(base32 "1wzs40c0k5zpkmm5ffl6c17xmr399sxli7ys0fbb9ib0fd334knx"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
("jack" ,jack-2)
("ao" ,ao)
("libsamplerate" ,libsamplerate)
("openal" ,openal)
("portaudio" ,portaudio)
("pulseaudio" ,pulseaudio)))
(arguments
'(#:phases
(alist-replace
'configure
(lambda* (#:key outputs #:allow-other-keys)
(setenv "CC" "gcc")
(zero?
(system* "./configure"
(string-append "--prefix=" (assoc-ref outputs "out")))))
%standard-phases)
;; No 'check' target.
#:tests? #f))
(home-page "http://themaister.net/rsound.html")
(synopsis "Networked audio system")
(description
"RSound allows you to send audio from an application and transfer it
directly to a different computer on your LAN network. It is an audio daemon
with a much different focus than most other audio daemons.")
(license license:gpl3+)))
(define-public zita-alsa-pcmi
(package
(name "zita-alsa-pcmi")
@ -1032,20 +1157,20 @@ interface.")
version ".tar.bz2"))
(sha256
(base32
"1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))
(modules '((guix build utils)))
(snippet
'(substitute* "libs/Makefile"
(("ldconfig") "true")))))
"1rgv332g82rrrlm4vdam6p2pyrisxbi7b3izfaa0pcjglafsy7j9"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:phases
(alist-cons-after
'unpack
'enter-directory
(lambda _ (chdir "libs"))
'unpack 'patch-makefile-and-enter-directory
(lambda _
(substitute* "libs/Makefile"
(("ldconfig") "true")
(("^LIBDIR =.*") "LIBDIR = lib\n"))
(chdir "libs")
#t)
(alist-cons-after
'install
'install-symlink

View File

@ -48,4 +48,4 @@
(description
"AVR Libc is a project whose goal is to provide a high quality C library
for use with GCC on Atmel AVR microcontrollers.")
(license (bsd-style "http://www.nongnu.org/avr-libc/LICENSE.txt"))))
(license (non-copyleft "http://www.nongnu.org/avr-libc/LICENSE.txt"))))

View File

@ -388,7 +388,11 @@ included.")
(arguments
`(#:out-of-source? #t
#:parallel-build? #f ; There's at least one race in the build.
;; In version 2.21, there a race in the 'elf' directory, see
;; <http://lists.gnu.org/archive/html/guix-devel/2015-02/msg00709.html>.
#:parallel-build? #f
#:configure-flags
(list "--enable-add-ons"
"--sysconfdir=/etc"

View File

@ -19,6 +19,7 @@
(define-module (gnu packages bash)
#:use-module (guix licenses)
#:use-module (gnu packages)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages readline)
#:use-module (gnu packages bison)
@ -242,7 +243,9 @@ without modification.")
"bash-completion-" version ".tar.bz2"))
(sha256
(base32
"0kxf8s5bw7y50x0ksb77d3kv0dwadixhybl818w27y6mlw26hq1b"))))
"0kxf8s5bw7y50x0ksb77d3kv0dwadixhybl818w27y6mlw26hq1b"))
(patches
(list (search-patch "bash-completion-directories.patch")))))
(build-system gnu-build-system)
(synopsis "Bash completions for common commands")
(description

View File

@ -27,6 +27,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
#:use-module (gnu packages java)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@ -237,6 +238,53 @@ gapped, local, and paired-end alignment modes.")
(supported-systems '("x86_64-linux"))
(license license:gpl3+)))
(define-public bwa
(package
(name "bwa")
(version "0.7.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/bio-bwa/bwa-"
version ".tar.bz2"))
(sha256
(base32
"1330dpqncv0px3pbhjzz1gwgg39kkcv2r9qp2xs0sixf8z8wl7bh"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;no "check" target
#:phases
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin (string-append
(assoc-ref outputs "out") "/bin"))
(doc (string-append
(assoc-ref outputs "out") "/share/doc/bwa"))
(man (string-append
(assoc-ref outputs "out") "/share/man/man1")))
(mkdir-p bin)
(mkdir-p doc)
(mkdir-p man)
(copy-file "bwa" (string-append bin "/bwa"))
(copy-file "README.md" (string-append doc "/README.md"))
(copy-file "bwa.1" (string-append man "/bwa.1"))))
;; no "configure" script
(alist-delete 'configure %standard-phases))))
(inputs `(("zlib" ,zlib)))
(home-page "http://bio-bwa.sourceforge.net/")
(synopsis "Burrows-Wheeler sequence aligner")
(description
"BWA is a software package for mapping low-divergent sequences against a
large reference genome, such as the human genome. It consists of three
algorithms: BWA-backtrack, BWA-SW and BWA-MEM. The first algorithm is
designed for Illumina sequence reads up to 100bp, while the rest two for
longer sequences ranged from 70bp to 1Mbp. BWA-MEM and BWA-SW share similar
features such as long-read support and split alignment, but BWA-MEM, which is
the latest, is generally recommended for high-quality queries as it is faster
and more accurate. BWA-MEM also has better performance than BWA-backtrack for
70-100bp Illumina reads.")
(license license:gpl3+)))
(define-public clipper
(package
(name "clipper")
@ -446,6 +494,51 @@ particular, reads spanning multiple exons.")
from high-throughput sequencing assays.")
(license license:gpl3+)))
(define-public htsjdk
(package
(name "htsjdk")
(version "1.129")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/samtools/htsjdk/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0asdk9b8jx2ij7yd6apg9qx03li8q7z3ml0qy2r2qczkra79y6fw"))
(modules '((guix build utils)))
;; remove build dependency on git
(snippet '(substitute* "build.xml"
(("failifexecutionfails=\"true\"")
"failifexecutionfails=\"false\"")))))
(build-system gnu-build-system)
(arguments
`(#:modules ((srfi srfi-1)
(guix build gnu-build-system)
(guix build utils))
#:phases (alist-replace
'build
(lambda _
(setenv "JAVA_HOME" (assoc-ref %build-inputs "jdk"))
(zero? (system* "ant" "all"
(string-append "-Ddist="
(assoc-ref %outputs "out")
"/share/java/htsjdk/"))))
(fold alist-delete %standard-phases
'(configure install check)))))
(native-inputs
`(("ant" ,ant)
("jdk" ,icedtea6 "jdk")))
(home-page "http://samtools.github.io/htsjdk/")
(synopsis "Java API for high-throughput sequencing data (HTS) formats")
(description
"HTSJDK is an implementation of a unified Java library for accessing
common file formats, such as SAM and VCF, used for high-throughput
sequencing (HTS) data. There are also an number of useful utilities for
manipulating HTS data.")
(license license:expat)))
(define-public macs
(package
(name "macs")
@ -477,6 +570,51 @@ resolution of binding sites through combining the information of both
sequencing tag position and orientation.")
(license license:bsd-3)))
(define-public miso
(package
(name "miso")
(version "0.5.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://pypi.python.org/packages/source/m/misopy/misopy-"
version ".tar.gz"))
(sha256
(base32
"0x446867az8ir0z8c1vjqffkp0ma37wm4sylixnkhgawllzx8v5w"))
(modules '((guix build utils)))
;; use "gcc" instead of "cc" for compilation
(snippet
'(substitute* "setup.py"
(("^defines")
"cc.set_executables(
compiler='gcc',
compiler_so='gcc',
linker_exe='gcc',
linker_so='gcc -shared'); defines")))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; only Python 2 is supported
#:tests? #f)) ; no "test" target
(inputs
`(("samtools" ,samtools)
("python-numpy" ,python2-numpy)
("python-pysam" ,python2-pysam)
("python-scipy" ,python2-scipy)
("python-matplotlib" ,python2-matplotlib)))
(native-inputs
`(("python-setuptools" ,python2-setuptools)))
(home-page "http://genes.mit.edu/burgelab/miso/index.html")
(synopsis "Mixture of Isoforms model for RNA-Seq isoform quantitation")
(description
"MISO (Mixture-of-Isoforms) is a probabilistic framework that quantitates
the expression level of alternatively spliced genes from RNA-Seq data, and
identifies differentially regulated isoforms or exons across samples. By
modeling the generative process by which reads are produced from isoforms in
RNA-Seq, the MISO model uses Bayesian inference to compute the probability
that a read originated from a particular isoform.")
(license license:gpl2)))
(define-public rseqc
(package
(name "rseqc")

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -31,7 +32,7 @@
(define-public boost
(package
(name "boost")
(version "1.55.0")
(version "1.57.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -40,7 +41,7 @@
".tar.bz2"))
(sha256
(base32
"0lkv5dzssbl5fmh2nkaszi8x9qbj80pr4acf9i26sj3rvlih1w7z"))))
"0rs94vdmg34bwwj23fllva6mhrml2i7mvmlb11zyrk1k5818q34i"))))
(build-system gnu-build-system)
(inputs `(("zlib" ,zlib)))
(native-inputs
@ -64,10 +65,10 @@
(let ((out (assoc-ref outputs "out")))
(substitute* '("libs/config/configure"
"libs/spirit/classic/phoenix/test/runtest.sh"
"tools/build/v2/doc/bjam.qbk"
"tools/build/v2/engine/execunix.c"
"tools/build/v2/engine/Jambase"
"tools/build/v2/engine/jambase.c")
"tools/build/doc/bjam.qbk"
"tools/build/src/engine/execunix.c"
"tools/build/src/engine/Jambase"
"tools/build/src/engine/jambase.c")
(("/bin/sh") (which "sh")))
(setenv "SHELL" (which "sh"))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -94,9 +95,28 @@ caching facility provided by the library.")
for CD-ROM and CD image file access. It allows the developer to add CD
access to an application without having to worry about the OS- and
device-dependent properties of CD-ROM or the specific details of CD image
formats. It includes pycdio, a Python interface to libcdio, and
libcdio-paranoia, a library providing jitter-free and error-free audio
extraction from CDs.")
formats.")
(license gpl3+)))
(define-public libcdio-paranoia
(package
(name "libcdio-paranoia")
(version "10.2+0.93+1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libcdio/libcdio-paranoia-"
version ".tar.bz2"))
(sha256
(base32
"14x4b4jk5b0zvcalrg02y4jmbkmmlb07qfmk5hph9k18b8frn7gc"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs `(("libcdio" ,libcdio)))
(home-page "http://www.gnu.org/software/libcdio/")
(synopsis "Jitter- and error-tolerant CD audio extraction")
(description
"libcdio-paranoia is an implementation of CD paranoia libraries based on
libcdio.")
(license gpl3+)))
(define-public xorriso

View File

@ -33,10 +33,11 @@
(name "certdata2pem")
(version "2013")
(source
(origin
(origin
(method url-fetch)
(uri
"http://pkgs.fedoraproject.org/cgit/ca-certificates.git/plain/certdata2pem.py?id=053dde8a2f5901e97028a58bf54e7d0ef8095a54")
(file-name "certdata2pem.py")
(sha256
(base32
"0zscrm41gnsf14zvlkxhy00h3dmgidyz645ldpda3y3vabnwv8dx"))))
@ -107,10 +108,6 @@
(system* "certdata2pem.py" "certdata.txt")
;; copy selected .pem files into the output
(for-each maybe-install-cert
;; FIXME: Some of the file names are UTF8 (?) and
;; cause an error message such as find-files:
;; ./EBG_Elektronik_Sertifika_Hizmet_Sa??lay??c??s??:2.8.76.175.115.66.28.142.116.2.pem:
;; No such file or directory
(find-files "." ".*\\.pem")))
(with-directory-excursion certsdir
@ -123,7 +120,7 @@
(system* "c_rehash" "."))))
(map (cut assq <> %standard-phases)
'(set-paths unpack)))))
'(set-paths install-locale unpack)))))
(synopsis "CA certificates from Mozilla")
(description
"This package provides certificates for Certification Authorities (CA)

View File

@ -1,49 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages cflow)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages emacs))
(define-public cflow
(package
(name "cflow")
(version "1.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/cflow/cflow-"
version ".tar.bz2"))
(sha256
(base32
"1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3"))))
(build-system gnu-build-system)
;; Needed to have cflow-mode.el installed.
(native-inputs `(("emacs" ,emacs)))
(home-page "http://www.gnu.org/software/cflow/")
(synopsis "Create a graph of control flow within a program")
(description
"GNU cflow analyzes C source files and produces a graph charting the
control flow of the program. It can output the graph in several styles and
in either the POSIX format or in an extended GNU format. cflow also includes
a major mode for Emacs for examining the flowcharts that it produces.")
(license gpl3+)))

View File

@ -19,6 +19,7 @@
(define-module (gnu packages check)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
@ -48,6 +49,37 @@ faults or other signals. The output from unit tests can be used within
source code editors and IDEs.")
(license lgpl2.1+)))
(define-public cunit
(package
(name "cunit")
(version "2.1-3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/cunit/CUnit/"
version "/CUnit-" version ".tar.bz2"))
(sha256
(base32
"057j82da9vv4li4z5ri3227ybd18nzyq81f6gsvhifs5z0vr3cpm"))))
(build-system gnu-build-system)
(arguments '(#:phases
(alist-cons-before
'configure 'autoconf
(lambda _
(zero? (system* "autoreconf" "-vfi")))
%standard-phases)))
(native-inputs
`(("automake" ,automake)
("autoconf" ,autoconf)
("libtool" ,libtool)))
(home-page "http://cunit.sourceforge.net/")
(synopsis "Automated testing framework for C")
(description
"CUnit is a lightweight system for writing, administering, and running
unit tests in C. It provides C programmers with basic testing functionality
with a flexible variety of user interfaces.")
(license gpl2+)))
(define-public cppunit
(package
(name "cppunit")

View File

@ -101,6 +101,10 @@
("expat" ,expat)
("bzip2" ,bzip2)
("libarchive" ,libarchive)))
(native-search-paths
(list (search-path-specification
(variable "CMAKE_PREFIX_PATH")
(files '("")))))
(home-page "http://www.cmake.org/")
(synopsis "Cross-platform build system")
(description

178
gnu/packages/code.scm Normal file
View File

@ -0,0 +1,178 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; 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 code)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix licenses)
#:use-module (guix build-system gnu)
#:use-module (gnu packages emacs)
#:use-module (gnu packages perl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages autogen)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages autotools))
;;; Tools to deal with source code: metrics, cross-references, etc.
(define-public cflow
(package
(name "cflow")
(version "1.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/cflow/cflow-"
version ".tar.bz2"))
(sha256
(base32
"1jkbq97ajcf834z68hbn3xfhiz921zhn39gklml1racf0kb3jzh3"))))
(build-system gnu-build-system)
;; Needed to have cflow-mode.el installed.
(native-inputs `(("emacs" ,emacs)))
(home-page "http://www.gnu.org/software/cflow/")
(synopsis "Create a graph of control flow within a program")
(description
"GNU cflow analyzes C source files and produces a graph charting the
control flow of the program. It can output the graph in several styles and
in either the POSIX format or in an extended GNU format. cflow also includes
a major mode for Emacs for examining the flowcharts that it produces.")
(license gpl3+)))
(define-public complexity
(package
(name "complexity")
(version "1.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/complexity/complexity-"
version ".tar.gz"))
(sha256
(base32
"0pmlhlj1chl4caaqffvn1cy9z8gwmjbx97syi7pdfa0vqygkql6d"))))
(build-system gnu-build-system)
(native-inputs
`(("texinfo" ,texinfo)
("autogen" ,autogen)))
(home-page "http://www.gnu.org/software/complexity/")
(synopsis "Analyze complexity of C functions")
(description
"GNU complexity provides tools for finding procedures that are
convoluted, overly long or otherwise difficult to understand. This
may help in learning or reviewing unfamiliar code or perhaps
highlighting your own code that seemed comprehensible when you wrote it.")
(license gpl3+)))
(define-public global ; a global variable
(package
(name "global")
(version "6.3.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
"0hcplcayyjf42d8ygzla6142b5dq4ybq4wg3n3cgx3b5yfhvic85"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("libltdl" ,libltdl)))
(arguments
`(#:configure-flags
(list (string-append "--with-ncurses="
(assoc-ref %build-inputs "ncurses")))
#:phases (alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Install the Emacs Lisp file in the right place.
(let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share/gtags"))
(lisp (string-append out "/share/emacs/site-lisp")))
(mkdir-p lisp)
(copy-file (string-append data "/gtags.el")
(string-append lisp "/gtags.el"))
(delete-file (string-append data "/gtags.el"))
#t))
%standard-phases)))
(home-page "http://www.gnu.org/software/global/")
(synopsis "Cross-environment source code tag system")
(description
"GLOBAL is a source code tagging system that functions in the same way
across a wide array of environments, such as different text editors, shells
and web browsers. The resulting tags are useful for quickly moving around in
a large, deeply nested project.")
(license gpl3+)))
(define-public sloccount
(package
(name "sloccount")
(version "2.26")
(source (origin
(method url-fetch)
(uri (string-append "http://www.dwheeler.com/sloccount/sloccount-"
version ".tar.gz"))
(sha256
(base32
"0ayiwfjdh1946asah861ah9269s5xkc8p5fv1wnxs9znyaxs4zzs"))))
(build-system gnu-build-system)
(arguments
'(#:phases (modify-phases %standard-phases
(delete configure)
(add-before build make-dotl-files-older
(lambda _
;; Make the '.l' files as old as the '.c'
;; files to avoid triggering the rule that
;; requires Flex.
(define ref
(stat "README"))
(for-each (lambda (file)
(set-file-time file ref))
(find-files "." "\\.[chl]$"))
#t))
(add-before install make-target-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out
"/share/man/man1"))
(mkdir-p (string-append out
"/share/doc")))))
(replace check
(lambda _
(setenv "HOME" (getcwd))
(setenv "PATH"
(string-append (getcwd) ":"
(getenv "PATH")))
(zero? (system* "make" "test")))))
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out")))))
(inputs `(("perl" ,perl)))
(home-page "http://www.dwheeler.com/sloccount/")
(synopsis "Count physical source lines of code (SLOC)")
(description
"SLOCCount is a set of the programs for counting source lines of
code (SLOC) in large software systems. It can automatically identify and
measure a wide range of programming languages. It automatically estimates the
effort, time, and money it would take to develop the software, using the
COCOMO model or user-provided parameters.")
(license gpl2+)))

View File

@ -1,50 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; 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 complexity)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix licenses)
#:use-module (guix build-system gnu)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages autogen))
(define-public complexity
(package
(name "complexity")
(version "1.2")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/complexity/complexity-"
version ".tar.gz"))
(sha256
(base32
"0pmlhlj1chl4caaqffvn1cy9z8gwmjbx97syi7pdfa0vqygkql6d"))))
(build-system gnu-build-system)
(native-inputs
`(("texinfo" ,texinfo)
("autogen" ,autogen)))
(home-page "http://www.gnu.org/software/complexity/")
(synopsis "Analyze complexity of C functions")
(description
"GNU complexity provides tools for finding procedures that are
convoluted, overly long or otherwise difficult to understand. This
may help in learning or reviewing unfamiliar code or perhaps
highlighting your own code that seemed comprehensible when you wrote it.")
(license gpl3+)))

View File

@ -191,7 +191,7 @@ compressor. It typically compresses files to within 10% to 15% of the best
available techniques (the PPM family of statistical compressors), whilst
being around twice as fast at compression and six times faster at
decompression.")
(license (license:bsd-style "file://LICENSE"
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))
(home-page "http://www.bzip.org/"))))

View File

@ -83,6 +83,6 @@ curl supports SSL certificates, HTTP POST, HTTP PUT, FTP uploading,
HTTP form based upload, proxies, cookies, user+password authentication
(Basic, Digest, NTLM, Negotiate, kerberos...), file transfer resume,
proxy tunneling, and so on")
(license (license:bsd-style "file://COPYING"
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "http://curl.haxx.se/")))

View File

@ -61,6 +61,6 @@
standards-track method for remote computers to authenticate. The Cyrus SASL
library makes supporting various SASL mechanisms easy for both client and
server writers.")
(license (license:bsd-style "file://COPYING"
"See COPYING in the distribution."))
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "http://cyrusimap.web.cmu.edu/index.php")))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -23,6 +24,7 @@
(define-module (gnu packages databases)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages language)
#:use-module (gnu packages linux)
#:use-module (gnu packages openssl)
#:use-module (gnu packages compression)
@ -35,7 +37,7 @@
#:use-module (gnu packages gnupg)
#:use-module (gnu packages python)
#:use-module ((guix licenses)
#:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style bsd-style
#:select (gpl2 gpl3+ lgpl2.1+ lgpl3+ x11-style non-copyleft
public-domain))
#:use-module (guix packages)
#:use-module (guix download)
@ -84,8 +86,8 @@
(description
"Berkeley DB is an embeddable database allowing developers the choice of
SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(license (bsd-style "file://LICENSE"
"See LICENSE in the distribution."))
(license (non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))
(home-page
"http://www.oracle.com/us/products/database/berkeley-db/overview/index.html")))
@ -306,6 +308,140 @@ extremely small.")
(home-page "http://search.cpan.org/~timb/DBI-1.631/DBI.pm")
(license (package-license perl))))
(define-public perl-dbix-class
(package
(name "perl-dbix-class")
(version "0.082810")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/"
"DBIx-Class-" version ".tar.gz"))
(sha256
(base32
"1zlsswk8j2k024gwhdhia8ksrmb8065n98dahkk8c0r69wv85n04"))))
(build-system perl-build-system)
(native-inputs
`(("perl-dbd-sqlite" ,perl-dbd-sqlite)
("perl-file-temp" ,perl-file-temp)
("perl-package-stash" ,perl-package-stash)
("perl-test-deep" ,perl-test-deep)
("perl-test-exception" ,perl-test-exception)
("perl-test-warn" ,perl-test-warn)))
(propagated-inputs
`(("perl-class-accessor-grouped" ,perl-class-accessor-grouped)
("perl-class-c3-componentised" ,perl-class-c3-componentised)
("perl-class-inspector" ,perl-class-inspector)
("perl-config-any" ,perl-config-any)
("perl-context-preserve" ,perl-context-preserve)
("perl-data-dumper-concise" ,perl-data-dumper-concise)
("perl-data-page" ,perl-data-page)
("perl-dbi" ,perl-dbi)
("perl-devel-globaldestruction" ,perl-devel-globaldestruction)
("perl-hash-merge" ,perl-hash-merge)
("perl-module-find" ,perl-module-find)
("perl-moo" ,perl-moo)
("perl-mro-compat" ,perl-mro-compat)
("perl-namespace-clean" ,perl-namespace-clean)
("perl-path-class" ,perl-path-class)
("perl-scalar-list-utils" ,perl-scalar-list-utils)
("perl-scope-guard" ,perl-scope-guard)
("perl-sql-abstract" ,perl-sql-abstract)
("perl-sub-name" ,perl-sub-name)
("perl-text-balanced" ,perl-text-balanced)
("perl-try-tiny" ,perl-try-tiny)))
(home-page "http://search.cpan.org/dist/DBIx-Class")
(synopsis "Extensible and flexible object <-> relational mapper")
(description "An SQL to OO mapper with an object API inspired by
Class::DBI (with a compatibility layer as a springboard for porting) and a
resultset API that allows abstract encapsulation of database operations. It
aims to make representing queries in your code as perl-ish as possible while
still providing access to as many of the capabilities of the database as
possible, including retrieving related records from multiple tables in a
single query, \"JOIN\", \"LEFT JOIN\", \"COUNT\", \"DISTINCT\", \"GROUP BY\",
\"ORDER BY\" and \"HAVING\" support.")
(license (package-license perl))))
(define-public perl-dbix-class-introspectablem2m
(package
(name "perl-dbix-class-introspectablem2m")
(version "0.001001")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/G/GR/GRODITI/"
"DBIx-Class-IntrospectableM2M-" version ".tar.gz"))
(sha256
(base32
"0p9zx1yc1f6jg583l206wilsni2v8mlngc2vf2q8yn10pmy4y6wm"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-dbix-class" ,perl-dbix-class)))
(home-page "http://search.cpan.org/dist/DBIx-Class-IntrospectableM2M")
(synopsis "Introspect many-to-many relationships")
(description "Because the many-to-many relationships are not real
relationships, they can not be introspected with DBIx::Class. Many-to-many
relationships are actually just a collection of convenience methods installed
to bridge two relationships. This DBIx::Class component can be used to store
all relevant information about these non-relationships so they can later be
introspected and examined.")
(license (package-license perl))))
(define-public perl-dbix-class-schema-loader
(package
(name "perl-dbix-class-schema-loader")
(version "0.07042")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/I/IL/ILMARI/"
"DBIx-Class-Schema-Loader-" version ".tar.gz"))
(sha256
(base32
"0sb48as7azmj6s4acxh98wcvcik7lxm7dcjz1c3wdrkrbmbbz0jf"))))
(build-system perl-build-system)
(native-inputs
`(("perl-config-any" ,perl-config-any)
("perl-config-general" ,perl-config-general)
("perl-dbd-sqlite" ,perl-dbd-sqlite)
("perl-dbix-class-introspectablem2m" ,perl-dbix-class-introspectablem2m)
("perl-moose" ,perl-moose)
("perl-moosex-markasmethods" ,perl-moosex-markasmethods)
("perl-moosex-nonmoose" ,perl-moosex-nonmoose)
("perl-namespace-autoclean" ,perl-namespace-autoclean)
("perl-test-deep" ,perl-test-deep)
("perl-test-differences" ,perl-test-differences)
("perl-test-exception" ,perl-test-exception)
("perl-test-pod" ,perl-test-pod)
("perl-test-warn" ,perl-test-warn)))
(propagated-inputs
`(("perl-class-unload" ,perl-class-unload)
("perl-class-inspector" ,perl-class-inspector)
("perl-class-accessor-grouped" ,perl-class-accessor-grouped)
("perl-class-c3-componentised" ,perl-class-c3-componentised)
("perl-carp-clan" ,perl-carp-clan)
("perl-data-dump" ,perl-data-dump)
("perl-dbix-class" ,perl-dbix-class)
("perl-hash-merge" ,perl-hash-merge)
("perl-list-moreutils" ,perl-list-moreutils)
("perl-lingua-en-inflect-phrase" ,perl-lingua-en-inflect-phrase)
("perl-lingua-en-inflect-number" ,perl-lingua-en-inflect-number)
("perl-lingua-en-tagger" ,perl-lingua-en-tagger)
("perl-namespace-clean" ,perl-namespace-clean)
("perl-mro-compat" ,perl-mro-compat)
("perl-scope-guard" ,perl-scope-guard)
("perl-string-camelcase" ,perl-string-camelcase)
("perl-string-toidentifier-en" ,perl-string-toidentifier-en)
("perl-sub-name" ,perl-sub-name)
("perl-try-tiny" ,perl-try-tiny)))
(arguments `(#:tests? #f)) ;TODO: t/20invocations.t fails
(home-page "http://search.cpan.org/dist/DBIx-Class-Schema-Loader")
(synopsis "Create a DBIx::Class::Schema based on a database")
(description "DBIx::Class::Schema::Loader automates the definition of a
DBIx::Class::Schema by scanning database table definitions and setting up the
columns, primary keys, unique constraints and relationships.")
(license (package-license perl))))
(define-public perl-dbd-sqlite
(package
(name "perl-dbd-sqlite")
@ -329,6 +465,37 @@ module, and nothing else.")
(license (package-license perl))
(home-page "http://search.cpan.org/~ishigaki/DBD-SQLite/lib/DBD/SQLite.pm")))
(define-public perl-sql-abstract
(package
(name "perl-sql-abstract")
(version "1.81")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RI/RIBASUSHI/"
"SQL-Abstract-" version ".tar.gz"))
(sha256
(base32
"17sgwq3mvqjhv3b77cnvrq60xgp8harjhlnvpwmxc914rqc5ckaz"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-deep" ,perl-test-deep)
("perl-test-exception" ,perl-test-exception)
("perl-test-warn" ,perl-test-warn)))
(propagated-inputs
`(("perl-hash-merge" ,perl-hash-merge)
("perl-moo" ,perl-moo)
("perl-mro-compat" ,perl-mro-compat)
("perl-text-balanced" ,perl-text-balanced)))
(home-page "http://search.cpan.org/dist/SQL-Abstract")
(synopsis "Generate SQL from Perl data structures")
(description "This module was inspired by the excellent DBIx::Abstract.
While based on the concepts used by DBIx::Abstract, the concepts used have
been modified to make the SQL easier to generate from Perl data structures.
The underlying idea is for this module to do what you mean, based on the data
structures you provide it, so that you don't have to modify your code every
time your data changes")
(license (package-license perl))))
(define-public unixodbc
(package

View File

@ -99,8 +99,8 @@ program to exhibit a bug.")
(inputs
`(("astyle" ,astyle)
("delta" ,delta)
("llvm" ,llvm)
("clang" ,clang)
("llvm" ,llvm-3.5)
("clang" ,clang-3.5)
("flex" ,flex)
("indent" ,indent)
("perl" ,perl)

View File

@ -17,14 +17,18 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages dictionaries)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system trivial)
#:use-module (guix build-system cmake)
#:use-module (gnu packages base)
#:use-module (gnu packages texinfo)
#:use-module ((gnu packages compression)
#:select (gzip)))
#:use-module (gnu packages compression)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages readline)
#:use-module (gnu packages texinfo))
(define-public vera
(package
@ -75,4 +79,37 @@
(description
"V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing
acronyms distributed as an info document.")
(license fdl1.3+)))
(license license:fdl1.3+)))
(define-public sdcv
(package
(name "sdcv")
(version "0.5.0-beta4")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/project/sdcv/sdcv/sdcv-"
version "-Source.tar.bz2"))
(sha256
(base32 "1b9v91al2c1499q6yx6q8jggid0714444mfj6myqgz3nvqjyrrqr"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("glib" ,glib)
("gettext" ,gnu-gettext)
("readline" ,readline)
("zlib" ,zlib)))
(arguments
`(#:tests? #f ; no tests implemented
#:phases
;; this is known workaround for missing lang files
(alist-cons-after 'build 'build-lang
(lambda _ (zero? (system* "make" "lang")))
%standard-phases)))
(home-page "http://sdcv.sourceforge.net/")
(synopsis "Command line variant of StarDict")
(description
"Sdcv is command line dictionary utility, which supports StarDict dictinary
format.")
(license license:gpl2+)))

42
gnu/packages/djvu.scm Normal file
View File

@ -0,0 +1,42 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.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 djvu)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
(define-public djvulibre
(package
(name "djvulibre")
(version "3.5.27")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/djvu/djvulibre-"
version ".tar.gz"))
(sha256
(base32
"0psh3zl9dj4n4r3lx25390nx34xz0bg0ql48zdskhq354ljni5p6"))))
(build-system gnu-build-system)
(home-page "http://djvu.sourceforge.net/")
(synopsis "Implementation of DjVu, the document format")
(description "DjVuLibre is an implementation of DjVu,
including viewers, browser plugins, decoders, simple encoders, and
utilities.")
(license license:gpl2+)))

View File

@ -16,8 +16,14 @@
;;; 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 dnsmasq)
#:use-module (guix licenses)
(define-module (gnu packages dns)
#:use-module (gnu packages databases)
#:use-module (gnu packages gnutls)
#:use-module (gnu packages linux)
#:use-module (gnu packages openssl)
#:use-module (gnu packages perl)
#:use-module (gnu packages xml)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu))
@ -53,4 +59,54 @@ addresses to appear in the DNS with names configured either in each host or in
a central configuration file. Dnsmasq supports static and dynamic DHCP leases
and BOOTP/TFTP for network booting of diskless machines.")
;; Source files only say GPL2 and GPL3 are allowed.
(license (list gpl2 gpl3))))
(license (list license:gpl2 license:gpl3))))
(define-public bind-utils
(package
(name "bind-utils")
(version "9.10.1-P2")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.isc.org/isc/bind9/" version
"/bind-" version ".tar.gz"))
(sha256
(base32
"1svzia5vv0s4bv6r04j8bsvlf3klwyigmdz1iwb4fqds00iyvp22"))))
(build-system gnu-build-system)
(inputs
;; it would be nice to add GeoIP and gssapi once there is package
`(("libcap" ,libcap)
("libxml2" ,libxml2)
("mysql" ,mysql)
("openssl" ,openssl)
("perl" ,perl)
("p11-kit" ,p11-kit)))
(arguments
`(#:tests? #f ; no test phase implemented
#:configure-flags
(list (string-append "--with-openssl="
(assoc-ref %build-inputs "openssl"))
(string-append "--with-dlz-mysql="
(assoc-ref %build-inputs "mysql"))
(string-append "--with-pkcs11="
(assoc-ref %build-inputs "p11-kit")))
#:phases
(alist-replace
'build
(lambda _
(and (zero? (system* "make" "-C" "lib/dns"))
(zero? (system* "make" "-C" "lib/isc"))
(zero? (system* "make" "-C" "lib/bind9"))
(zero? (system* "make" "-C" "lib/isccfg"))
(zero? (system* "make" "-C" "lib/lwres"))
(zero? (system* "make" "-C" "bin/dig"))))
(alist-replace
'install
(lambda _ (zero? (system* "make" "-C" "bin/dig" "install")))
%standard-phases))))
(home-page "https://www.isc.org/downloads/bind/")
(synopsis "Tools for querying nameservers")
(description
"These tools, included with ISC BIND, are useful for analysis of DNS
issues or verification of configuration.")
(license (list license:isc))))

View File

@ -17,11 +17,27 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages ebook)
#:use-module ((guix licenses) #:select (lgpl2.1+))
#:use-module ((guix licenses) #:select (gpl3 lgpl2.1+))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages))
#:use-module (gnu packages)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages databases)
#:use-module (gnu packages ebook)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages libusb)
#:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages qt)
#:use-module (gnu packages xorg))
(define-public chmlib
(package
@ -40,3 +56,90 @@
(synopsis "Library for CHM files")
(description "CHMLIB is a library for dealing with ITSS/CHM format files.")
(license lgpl2.1+)))
(define-public calibre
(package
(name "calibre")
(version "2.21.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://download.calibre-ebook.com/"
version "/calibre-"
version ".tar.xz"))
(sha256
(base32
"1adig2jxwbmsxcs36jaybhc8zdb8mnkc23kabw0c72izrsg4c5gb"))
;; Remove non-free or doubtful code, see
;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
(modules '((guix build utils)))
(snippet
'(begin
(delete-file-recursively "src/unrar")
(delete-file "src/odf/thumbnail.py")))
(patches (list (search-patch "calibre-drop-unrar.patch")))))
(build-system python-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("qt" ,qt) ; for qmake
;; xdg-utils is supposed to be used for desktop integration, but it
;; also creates lots of messages
;; mkdir: cannot create directory '/homeless-shelter': Permission denied
("xdg-utils" ,xdg-utils)))
;; FIXME: The following are missing inputs according to the documentation,
;; but the package can apparently be used without them,
;; They may need to be added if a deficiency is detected.
;; BeautifulSoup >= 3.0.5
;; dnspython >= 1.6.0
;; poppler >= 0.20.2
;; libwmf >= 0.2.8
;; psutil >= 0.6.1
;; python-pygments >= 2.0.1 ; used for ebook editing
(inputs
`(("chmlib" ,chmlib)
("fontconfig" ,fontconfig)
("glib" ,glib)
("icu4c" ,icu4c)
("imagemagick" ,imagemagick)
("libmtp" ,libmtp)
("libpng" ,libpng)
("libusb" ,libusb)
("libxrender" ,libxrender)
("podofo" ,podofo)
("python" ,python-2)
("python2-apsw" ,python2-apsw)
("python2-cssselect" ,python2-cssselect)
("python2-cssutils" ,python2-cssutils)
("python2-dateutil" ,python2-dateutil)
("python2-dbus" ,python2-dbus)
("python2-lxml" ,python2-lxml)
("python2-mechanize" ,python2-mechanize)
("python2-netifaces" ,python2-netifaces)
("python2-pillow" ,python2-pillow)
("python2-pyqt" ,python2-pyqt)
("python2-sip" ,python2-sip)
("qt" ,qt)
("sqlite" ,sqlite)))
(arguments
`(#:python ,python-2
#:test-target "check"
#:tests? #f ; FIXME: enable once flake8 is packaged
#:phases
(alist-cons-before
'build 'configure
(lambda* (#:key inputs #:allow-other-keys)
(let ((podofo (assoc-ref inputs "podofo"))
(pyqt (assoc-ref inputs "python2-pyqt")))
(substitute* "setup/build_environment.py"
(("sys.prefix") (string-append "'" pyqt "'")))
(setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
(setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))))
%standard-phases)))
(home-page "http://calibre-ebook.com/")
(synopsis "E-book library management software")
(description "Calibre is an ebook library manager. It can view, convert
and catalog ebooks in most of the major ebook formats. It can also talk
to many ebook reader devices. It can go out to the Internet and fetch
metadata for books. It can download newspapers and convert them into
ebooks for convenient reading.")
(license gpl3))) ; some files are under various other licenses, see COPYRIGHT

View File

@ -0,0 +1,198 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages engineering)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gd)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module ((gnu packages linux) #:select (eudev)) ; FIXME: for pcb
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt)
#:use-module (gnu packages tcl)
#:use-module (srfi srfi-1))
(define-public librecad
(package
(name "librecad")
(version "2.0.6-rc")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/LibreCAD/LibreCAD/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version))
(sha256
(base32
"1n1mh8asj6yrl5hi438dvizmrbqk1kni5xkizhi3pdmkg7z3hksm"))))
(build-system gnu-build-system)
(arguments
'(#:phases
(alist-cons-after
'unpack
'patch-paths
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "librecad/src/lib/engine/rs_system.cpp"
(("/usr/share") (string-append out "/share")))))
(alist-replace
'configure
(lambda* (#:key inputs #:allow-other-keys)
(system* "qmake" (string-append "BOOST_DIR="
(assoc-ref inputs "boost"))))
(alist-replace
'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
(mkdir-p (string-append out "/share/librecad"))
(copy-file "unix/librecad"
(string-append out "/bin/librecad"))
(copy-recursively "unix/resources"
(string-append out "/share/librecad"))))
%standard-phases)))))
(inputs
`(("boost" ,boost)
("muparser" ,muparser)
("freetype" ,freetype)
("qt" ,qt-4)))
(native-inputs
`(("pkg-config" ,pkg-config)
("which" ,which)))
(home-page "http://librecad.org/")
(synopsis "Computer-aided design (CAD) application")
(description
"LibreCAD is a 2D Computer-aided design (CAD) application for creating
plans and designs.")
(license license:gpl2)))
(define-public geda-gaf
(package
(name "geda-gaf")
(version "1.8.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://ftp.geda-project.org/geda-gaf/stable/v"
(version-major+minor version) "/"
version "/geda-gaf-" version ".tar.gz"))
(sha256
(base32
"08dpa506xk4gjbbi8vnxcb640wq4ihlgmhzlssl52nhvxwx7gx5v"))))
(build-system gnu-build-system)
(arguments
'(#:phases
;; tests require a writable HOME
(alist-cons-before
'check 'set-home
(lambda _
(setenv "HOME" (getenv "TMPDIR")))
%standard-phases)))
(inputs
`(("glib" ,glib)
("gtk" ,gtk+-2)
("guile" ,guile-2.0)
("desktop-file-utils" ,desktop-file-utils)
("shared-mime-info" ,shared-mime-info)))
(native-inputs
`(("pkg-config" ,pkg-config)
("perl" ,perl))) ; for tests
(home-page "http://geda-project.org/")
(synopsis "Schematic capture, netlister, symbols, symbol checker, and utils")
(description
"gaf stands for gschem and friends. It is a subset of the entire tool
suite grouped together under the gEDA name. gEDA/gaf is a collection of tools
which currently includes: gschem, a schematic capture program; gnetlist, a
netlist generation program; gsymcheck, a syntax checker for schematic symbols;
gattrib, a spreadsheet programm that manipulates the properties of symbols of
a schematic; libgeda, libraries for gschem gnetlist and gsymcheck; gsch2pcb, a
tool to forward annotation from your schematic to layout using PCB; some minor
utilities.")
(license license:gpl2+)))
(define-public pcb
(package
(name "pcb")
(version "20140316")
(source (origin
(method url-fetch)
(uri (string-append
"http://ftp.geda-project.org/pcb/pcb-" version "/pcb-"
version ".tar.gz"))
(sha256
(base32
"0l6944hq79qsyp60i5ai02xwyp8l47q7xdm3js0jfkpf72ag7i42"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(alist-cons-after
'unpack 'use-wish8.6
(lambda _
(substitute* "configure"
(("wish85") "wish8.6")))
(alist-cons-after
'install 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
;; FIXME: Mesa tries to dlopen libudev.so.0 and fails. Pending a
;; fix of the mesa package we wrap the pcb executable such that
;; Mesa can find libudev.so.0 through LD_LIBRARY_PATH.
(let* ((out (assoc-ref outputs "out"))
(path (string-append (assoc-ref inputs "udev") "/lib")))
(wrap-program (string-append out "/bin/pcb")
`("LD_LIBRARY_PATH" ":" prefix (,path)))))
%standard-phases))))
(inputs
`(("dbus" ,dbus)
("mesa" ,mesa)
("udev" ,eudev) ;FIXME: required by mesa
("glu" ,glu)
("gd" ,gd)
("gtk" ,gtk+-2)
("gtkglext" ,gtkglext)
("desktop-file-utils" ,desktop-file-utils)
("shared-mime-info" ,shared-mime-info)
("tk" ,tk)))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("bison" ,bison)
("flex" ,flex)))
(home-page "http://pcb.geda-project.org/")
(synopsis "Design printed circuit board layouts")
(description
"GNU PCB is an interactive tool for editing printed circuit board
layouts. It features a rats-nest implementation, schematic/netlist import,
and design rule checking. It also includes an autorouter and a trace
optimizer; and it can produce photorealistic and design review images.")
(license license:gpl2+)))

View File

@ -28,6 +28,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages game-development)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@ -234,3 +235,40 @@ based on Enlightenment Foundation Libraries. It supports multiple tabs, UTF-8,
URL and local path detection, themes, popup based content viewer for non-text
contents and more.")
(license license:bsd-2)))
(define-public enlightenment
(package
(name "enlightenment")
(version "0.19.4")
(source (origin
(method url-fetch)
(uri
(string-append
"http://download.enlightenment.org/rel/apps/enlightenment/enlightenment-"
version ".tar.gz"))
(sha256
(base32 "01pg3ng4m3vmwzzivlssdmvhf72bsvcmm3xwf45849cibllaib8v"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("alsa-lib" ,alsa-lib)
("dbus" ,dbus)
("freetype" ,freetype)
("gettext" ,gnu-gettext)
("libxcb" ,libxcb)
("libxext" ,libxext)
("linux-pam" ,linux-pam)
("xcb-util-keysyms" ,xcb-util-keysyms)))
(propagated-inputs
;; both these inputs are present in pkgconfig file in Require section
`(("efl" ,efl) ; enlightenment.pc
("elementary" ,elementary))) ; enlightenment.pc
(home-page "http://www.enlightenment.org")
(synopsis "Lightweight desktop environment")
(description
"Enlightenment is resource friendly desktop environment with integrated
file manager, wide range of configuration options, plugin system allowing to
unload unused functionality, with support for touchscreen and suitable for
embedded systems.")
(license license:bsd-2)))

View File

@ -80,4 +80,4 @@
"This is the firmware for the Qualcomm Atheros AR7010 and AR9271 USB
802.11n NICs (aka. Wi-Fi USB dongles.) It is used by the ath9k driver of
Linux-libre.")
(license (bsd-style "http://directory.fsf.org/wiki/License:ClearBSD"))))
(license (non-copyleft "http://directory.fsf.org/wiki/License:ClearBSD"))))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2014, 2015 David Thompson <davet@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,14 +28,14 @@
(define-public fish
(package
(name "fish")
(version "2.1.1")
(version "2.1.2")
(source (origin
(method url-fetch)
(uri (string-append "http://fishshell.com/files/"
version "/fish-" version ".tar.gz"))
(sha256
(base32
"096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p"))
"1pgnz5lapm4qk48a13k9698jaswybzlbz2nyc621d852ldf0vhn6"))
(modules '((guix build utils)))
;; Don't try to install /etc/fish/config.fish.
(snippet

View File

@ -75,6 +75,6 @@ can be compiled and linked to produce an executable. When the executable
is run, it analyzes its input for occurrences of text matching the
regular expressions for each rule. Whenever it finds a match, it
executes the corresponding C code.")
(license (bsd-style "file://COPYING"
(license (non-copyleft "file://COPYING"
"See COPYING in the distribution."))))

View File

@ -359,3 +359,50 @@ fonts are intended to support the characters necessary to render or display
text in Simplified Chinese, Traditional Chinese, Japanese, and Korean.
")
(license license:asl2.0)))
(define-public font-wqy-zenhei
(package
(name "font-wqy-zenhei")
(version "0.9.45")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/wqy/wqy-zenhei-"
version ".tar.gz"))
(file-name (string-append "wqy-zenhei-" version ".tar.gz"))
(sha256
(base32
"1mkmxq8g2hjcglb3zajfqj20r4r88l78ymsp2xyl5yav8w3f7dz4"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((PATH (string-append (assoc-ref %build-inputs "tar") "/bin:"
(assoc-ref %build-inputs "gzip") "/bin"))
(font-dir (string-append (assoc-ref %outputs "out")
"/share/fonts/wenquanyi/")))
(setenv "PATH" PATH)
(mkdir-p font-dir)
(system* "tar" "xvf" (assoc-ref %build-inputs "source"))
(chdir "wqy-zenhei")
(copy-file "wqy-zenhei.ttc"
(string-append font-dir "wqy-zenhei.ttc"))))))
(native-inputs
`(("gzip" ,gzip)
("tar" ,tar)))
(home-page "http://wenq.org/wqy2/")
(synopsis "CJK font")
(description
"WenQuanYi Zen Hei is a Hei-Ti style (sans-serif type) Chinese outline
font. It is designed for general purpose text formatting and on-screen
display of Chinese characters and symbols from many other languages.
WenQuanYi Zen Hei provides a rather complete coverage to Chinese Hanzi glyphs,
including both simplified and traditional forms. The total glyph number in
this font is over 35,000, including over 21,000 Chinese Hanzi. This font has
full coverage to GBK(CP936) charset, CJK Unified Ideographs, as well as the
code-points needed for zh_cn, zh_sg, zh_tw, zh_hk, zh_mo, ja (Japanese) and
ko (Korean) locales for fontconfig.")
;; GPLv2 with font embedding exception
(license license:gpl2)))

View File

@ -103,7 +103,7 @@ efficiently and quickly find needed fonts among the set of installed fonts;
be used in concert with the X Render Extension and FreeType to implement
high quality, anti-aliased and subpixel rendered text on a display.")
; The exact license is more X11-style than BSD-style.
(license (license:bsd-style "file://COPYING"
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "http://www.freedesktop.org/wiki/Software/fontconfig")))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -39,7 +40,10 @@
version ".tar.xz"))
(sha256
(base32
"1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni"))))
"1grmp8zg7cjgjinz66mrh53whigkqzl90nlxj05hapnhk3ns3vni"))
(patches
(list (search-patch
"lftp-dont-save-unknown-host-fingerprint.patch")))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))

View File

@ -33,6 +33,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages admin)
#:use-module (gnu packages audio)
#:use-module (gnu packages boost)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
@ -250,7 +251,7 @@ level's exit. The game is presented in a 2D side view.")
(origin
(method url-fetch)
(uri (string-append "http://www.hyperrealm.com/" name "/"
name "-" version ".tar.gz"))
name "-" version ".tar.gz"))
(sha256
(base32 "19nc5vq4bnkjvhk8srqddzhcs93jyvpm9r6lzjzwc1mgf08yg0a6"))))
(build-system gnu-build-system)
@ -440,21 +441,21 @@ Portable Game Notation.")
`(#:tests? #f
#:phases
(alist-replace
'configure
'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Imakefile"
(substitute* "Imakefile"
(("XPMINCLUDE[\t ]*= -I/usr/X11/include/X11")
(string-append "XPMINCLUDE = -I" (assoc-ref %build-inputs "libxpm")
"/include/X11")))
(substitute* "Imakefile"
(substitute* "Imakefile"
(("XBOING_DIR = \\.") "XBOING_DIR=$(PROJECTROOT)"))
;; FIXME: HIGH_SCORE_FILE should be set to somewhere writeable
(zero? (system* "xmkmf" "-a"
(string-append "-DProjectRoot="
(zero? (system* "xmkmf" "-a"
(string-append "-DProjectRoot="
(assoc-ref outputs "out")))))
(alist-replace 'install
(lambda* (#:key outputs #:allow-other-keys)
@ -512,35 +513,6 @@ alternative layouts Dvorak and Colemak, as well as for the numpad. Tutorials
are primarily in English, however some in other languages are provided.")
(license license:gpl3+)))
(define-public openal
(package
(name "openal")
(version "1.15.1")
(source (origin
(method url-fetch)
(uri (string-append
"http://kcat.strangesoft.net/openal-releases/openal-soft-"
version ".tar.bz2"))
(sha256
(base32
"0mmhdqiyb3c9dzvxspm8h2v8jibhi8pfjxnf6m0wn744y1ia2a8f"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f)) ; no check target
(inputs
`(("alsa-lib" ,alsa-lib)
("pulseaudio" ,pulseaudio)))
(synopsis "3D audio API")
(description
"OpenAL provides capabilities for playing audio in a virtual 3D
environment. Distance attenuation, doppler shift, and directional sound
emitters are among the features handled by the API. More advanced effects,
including air absorption, occlusion, and environmental reverb, are available
through the EFX extension. It also facilitates streaming audio, multi-channel
buffers, and audio capture.")
(home-page "http://kcat.strangesoft.net/openal.html")
(license license:lgpl2.0+)))
(define-public irrlicht
(package
(name "irrlicht")
@ -599,7 +571,7 @@ for common mesh file formats, and collision detection.")
(define minetest-data
(package
(name "minetest-data")
(version "0.4.11")
(version "0.4.12")
(source (origin
(method url-fetch)
(uri (string-append
@ -608,7 +580,7 @@ for common mesh file formats, and collision detection.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0hzb27srv6f2j84dpxx2p0p0aaq9vdp5jvbrfpklb5q5ssdjxvc6"))))
"0642vy6r6sv96mz6wbs9qvyr95vd69zj4fxiljdg9801javrmm9p"))))
(build-system trivial-build-system)
(native-inputs
`(("source" ,source)
@ -640,7 +612,7 @@ for common mesh file formats, and collision detection.")
(define-public minetest
(package
(name "minetest")
(version "0.4.11")
(version "0.4.12")
(source (origin
(method url-fetch)
(uri (string-append
@ -649,30 +621,19 @@ for common mesh file formats, and collision detection.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0h223svzkvp63b77nqfxy7k8whw4543gahs3kxd3x4myi5ax5z5f"))))
"1pqp8hfwg5wkimig8j5jrihzgjjgplxr24w5xisrxvx1hlvnczdk"))))
(build-system cmake-build-system)
(arguments
'(#:modules ((guix build utils)
(guix build cmake-build-system)
(ice-9 match))
#:phases (alist-cons-before
'configure 'set-cpath
(lambda* (#:key inputs #:allow-other-keys)
(use-modules (ice-9 match))
;; Adjust the CPATH so that cmake can find irrlicht,
;; openal, and curl headers.
(set-path-environment-variable "CPATH"
'("include/AL"
"include/irrlicht"
"include/curl"
"include")
(map (match-lambda
((_ . dir) dir))
inputs)))
%standard-phases)
#:configure-flags '("-DRUN_IN_PLACE=0"
"-DENABLE_FREETYPE=1"
"-DENABLE_GETTEXT=1")
'(#:configure-flags
(list "-DRUN_IN_PLACE=0"
"-DENABLE_FREETYPE=1"
"-DENABLE_GETTEXT=1"
(string-append "-DIRRLICHT_INCLUDE_DIR="
(assoc-ref %build-inputs "irrlicht")
"/include/irrlicht")
(string-append "-DCURL_INCLUDE_DIR="
(assoc-ref %build-inputs "curl")
"/include/curl"))
#:tests? #f)) ; no check target
(native-search-paths
(list (search-path-specification
@ -683,7 +644,7 @@ for common mesh file formats, and collision detection.")
(inputs
`(("irrlicht" ,irrlicht)
("libpng" ,libpng)
("libjpeg-8" ,libjpeg-8)
("libjpeg" ,libjpeg)
("libxxf86vm" ,libxxf86vm)
("mesa" ,mesa)
("libogg" ,libogg)

View File

@ -1,6 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -338,14 +340,22 @@ Go. It also includes runtime support libraries for these languages.")
;; a cyclic dependency. <http://debbugs.gnu.org/18101>
#:separate-lib-output? #f))
(define javac.in
(origin
(method url-fetch)
(uri (string-append "http://sources.gentoo.org/cgi-bin/viewvc.cgi/"
"gentoo-x86/dev-java/gcj-jdk/files/javac.in?revision=1.1"))
(file-name "javac.in")
(sha256 (base32
"1c3dk4z5yfj6ic2fn3lyxs27n6pmn2wy9k0r1s17lnkf1bzkrciv"))))
(define-public gcj-4.8
(package (inherit gcc-4.8)
(name "gcj")
(inputs
`(("fastjar" ,fastjar)
("perl" ,perl)
("javac.in" ,(search-path %load-path
"gnu/packages/javac.in"))
("javac.in" ,javac.in)
("ecj-bootstrap" ,ecj-bootstrap-4.8)
,@(package-inputs gcc-4.8)))
;; Suppress the separate "lib" output, because otherwise the

View File

@ -26,7 +26,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
#:use-module ((guix licenses) #:select (bsd-style)))
#:use-module ((guix licenses) #:select (non-copyleft)))
(define-public gd
(package
@ -64,5 +64,5 @@ languages. GD creates PNG, JPEG, GIF, WebP, XPM, BMP images, among other
formats. GD is commonly used to generate charts, graphics, thumbnails, and
most anything else, on the fly. While not restricted to use on the web, the
most common applications of GD involve website development.")
(license (bsd-style "file://COPYING"
(license (non-copyleft "file://COPYING"
"See COPYING file in the distribution."))))

View File

@ -114,7 +114,7 @@ documents. Programs included are psnup, for placing out several logical pages
on a single sheet of paper, psselect, for selecting pages from a document,
pstops, for general imposition, psbook, for signature generation for booklet
printing, and psresize, for adjusting page sizes.")
(license (license:bsd-style "file://LICENSE"
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))
(home-page "http://knackered.org/angus/psutils/")))

View File

@ -82,8 +82,8 @@ as ASCII text.")
("libxrandr" ,libxrandr)
("libxxf86vm" ,libxxf86vm)
("inputproto" ,inputproto)
("xinput" ,xinput)
("glu" ,glu)))
("xinput" ,xinput)))
(propagated-inputs `(("glu" ,glu)))
(home-page "http://freeglut.sourceforge.net/")
(synopsis "Alternative to the OpenGL Utility Toolkit (GLUT)")
(description

View File

@ -1,67 +0,0 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages global)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages autotools)
#:use-module (gnu packages))
(define-public global ; a global variable
(package
(name "global")
(version "6.3.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
"0hcplcayyjf42d8ygzla6142b5dq4ybq4wg3n3cgx3b5yfhvic85"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("libltdl" ,libltdl)))
(arguments
`(#:configure-flags
(list (string-append "--with-ncurses="
(assoc-ref %build-inputs "ncurses")))
#:phases (alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
;; Install the Emacs Lisp file in the right place.
(let* ((out (assoc-ref outputs "out"))
(data (string-append out "/share/gtags"))
(lisp (string-append out "/share/emacs/site-lisp")))
(mkdir-p lisp)
(copy-file (string-append data "/gtags.el")
(string-append lisp "/gtags.el"))
(delete-file (string-append data "/gtags.el"))
#t))
%standard-phases)))
(home-page "http://www.gnu.org/software/global/")
(synopsis "Cross-environment source code tag system")
(description
"GLOBAL is a source code tagging system that functions in the same way
across a wide array of environments, such as different text editors, shells
and web browsers. The resulting tags are useful for quickly moving around in
a large, deeply nested project.")
(license gpl3+)))

View File

@ -1089,7 +1089,14 @@ widgets built in the loading process.")
name "-" version ".tar.bz2"))
(sha256
(base32
"129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))))
"129ka3nn8gx9dlfry17ib79azxk45wzfv5rgqzw6dwx2b5ns8phm"))
(modules '((guix build utils)))
(snippet
;; Adapt to newer freetype. As the package is deprecated, there
;; is no use in creating a patch and reporting it.
'(substitute* '("libgnomeprint/gnome-font-face.c"
"libgnomeprint/gnome-rfont.c")
(("freetype/") "freetype2/")))))
(build-system gnu-build-system)
(inputs
`(("popt" ,popt)
@ -1583,3 +1590,34 @@ Extension known as XKB. This library is indended to support XFree86 and other
commercial X servers. It is useful for creating XKB-related software (layout
indicators etc).")
(license license:lgpl2.0+)))
(define-public python2-rsvg
;; XXX: This is actually a subset of gnome-python-desktop.
(package
(name "python2-rsvg")
(version "2.32.0")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
version ".tar.bz2"))
(sha256
(base32
"1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("python" ,python-2)
("python2-pygtk" ,python2-pygtk)
("librsvg" ,librsvg)))
(home-page "http://www.gnome.org")
(synopsis "Python bindings to librsvg")
(description
"This packages provides Python bindings to librsvg, the SVG rendering
library.")
;; This is the license of the rsvg bindings. The license of each module
;; of gnome-python-desktop is given in 'COPYING'.
(license license:lgpl2.1+)))

View File

@ -187,32 +187,21 @@ and support for SSL3 and TLS.")
"Gnurl is a microfork of cURL, a command line tool for transferring data
with URL syntax. While cURL supports many crypto backends, libgnurl only
supports HTTPS, HTTPS and GnuTLS.")
(license (license:bsd-style "file://COPYING"
"See COPYING in the distribution."))
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))
(home-page "https://gnunet.org/gnurl")))
(define-public gnunet
(package
(name "gnunet")
(version "0.10.0")
(version "0.10.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnunet/gnunet-" version
".tar.gz"))
(sha256 (base32
"0zqpc47kywhjrpphl0palz849khv00ra2gjrfkysp6p0gfsbvd0i"))
(patches
(list
;; Patch to fix serious bug in scheduler; upstream commit: #31747
(search-patch "gnunet-fix-scheduler.patch")
;; Patch to fix bugs in testcases:
;; * Disable peerinfo-tool tests as they depend on reverse DNS lookups
;; * Allow revocation and integration-tests testcases to run on
;; loopback; upstream: #32130, #32326
;; * Skip GNS testcases requiring DNS lookups; upstream: #32118
(search-patch "gnunet-fix-tests.patch")))
(patch-flags '("-p0"))))
"04wxzm3wkgqbn42b8ksr4cx6m5cckyig5cls1adh0nwdczwvnp7n"))))
(build-system gnu-build-system)
(inputs
`(("glpk" ,glpk)
@ -233,13 +222,16 @@ supports HTTPS, HTTPS and GnuTLS.")
`(("pkg-config" ,pkg-config)
("python" ,python-2)))
(arguments
'(#:phases
'(#:parallel-tests? #f
;; test_gnunet_service_arm fails; reported upstream
#:tests? #f
#:phases
;; swap check and install phases and set paths to installed binaries
(alist-cons-before
'check 'set-path-for-check
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(setenv "GNUNET_PREFIX" out)
(setenv "GNUNET_PREFIX" (string-append out "/lib"))
(setenv "PATH" (string-append (getenv "PATH") ":" out "/bin"))))
(alist-cons-after
'install 'check

View File

@ -20,14 +20,14 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gnupg)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages curl)
#:use-module (gnu packages openldap)
#:use-module (gnu packages perl)
#:use-module (gnu packages pth)
#:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module ((gnu packages compression) #:prefix guix:)
#:use-module (gnu packages compression)
#:use-module (gnu packages gtk)
#:use-module (gnu packages glib)
#:use-module (gnu packages pkg-config)
@ -56,7 +56,7 @@
for all GnuPG components. Among these are GPG, GPGSM, GPGME,
GPG-Agent, libgcrypt, Libksba, DirMngr, Pinentry, SmartCard
Daemon and possibly more in the future.")
(license lgpl2.0+)))
(license license:lgpl2.0+)))
(define-public libgcrypt
(package
@ -90,7 +90,7 @@ Daemon and possibly more in the future.")
standard cryptographic building blocks such as symmetric ciphers, hash
algorithms, public key algorithms, large integer functions and random number
generation.")
(license lgpl2.0+)))
(license license:lgpl2.0+)))
(define-public libgcrypt-1.5
(package (inherit libgcrypt)
@ -127,7 +127,7 @@ generation.")
protocol. This protocol is used for IPC between most newer
GnuPG components. Both, server and client side functions are
provided.")
(license lgpl2.0+)))
(license license:lgpl2.0+)))
(define-public libksba
(package
@ -160,7 +160,7 @@ provided.")
"KSBA (pronounced Kasbah) is a library to make X.509 certificates
as well as the CMS easily accessible by other applications. Both
specifications are building blocks of S/MIME and TLS.")
(license gpl3+)))
(license license:gpl3+)))
(define-public npth
(package
@ -185,7 +185,7 @@ threads implementation.
In contrast to GNU Pth is is based on the system's standard threads
implementation. This allows the use of libraries which are not
compatible to GNU Pth.")
(license (list lgpl3+ gpl2+)))) ; dual license
(license (list license:lgpl3+ license:gpl2+)))) ; dual license
(define-public gnupg
(package
@ -200,7 +200,7 @@ compatible to GNU Pth.")
"14k7c5spai3yppz6izf1ggbnffskl54ln87v1wgy9pwism1mlks0"))))
(build-system gnu-build-system)
(inputs
`(("bzip2" ,guix:bzip2)
`(("bzip2" ,bzip2)
("curl" ,curl)
("libassuan" ,libassuan)
("libgcrypt" ,libgcrypt)
@ -208,7 +208,7 @@ compatible to GNU Pth.")
("libksba" ,libksba)
("npth" ,npth)
("openldap" ,openldap)
("zlib" ,guix:zlib)
("zlib" ,zlib)
("readline" ,readline)))
(arguments
`(#:phases
@ -227,7 +227,7 @@ features powerful key management and the ability to access public key
servers. It includes several libraries: libassuan (IPC between GnuPG
components), libgpg-error (centralized GnuPG error values), and
libskba (working with X.509 certificates and CMS data).")
(license gpl3+)))
(license license:gpl3+)))
(define-public gnupg-2.0
(package (inherit gnupg)
@ -240,7 +240,7 @@ libskba (working with X.509 certificates and CMS data).")
(base32
"1wihx7dphacg9fy5wfj93h236lr1w5gwzh7ir3js37wi9cz6sr2p"))))
(inputs
`(("bzip2" ,guix:bzip2)
`(("bzip2" ,bzip2)
("curl" ,curl)
("libassuan" ,libassuan)
("libgcrypt" ,libgcrypt)
@ -248,7 +248,7 @@ libskba (working with X.509 certificates and CMS data).")
("libksba" ,libksba)
("pth" ,pth)
("openldap" ,openldap)
("zlib" ,guix:zlib)
("zlib" ,zlib)
("readline" ,readline)))
(arguments
`(#:phases
@ -270,8 +270,8 @@ libskba (working with X.509 certificates and CMS data).")
(base32
"11pxx26sfilh0vswylh9mhiifw5yffw7nn733zknw3sb0jfk22bz"))))
(inputs
`(("zlib" ,guix:zlib)
("bzip2" ,guix:bzip2)
`(("zlib" ,zlib)
("bzip2" ,bzip2)
("curl" ,curl)
("readline" ,readline)
("libgpg-error" ,libgpg-error)))
@ -315,7 +315,7 @@ Because the direct use of GnuPG from an application can be a complicated
programming task, it is suggested that all software should try to use GPGME
instead. This way bug fixes or improvements can be done at a central place
and every application benefits from this.")
(license lgpl2.1+)))
(license license:lgpl2.1+)))
(define-public pius
(package
@ -363,7 +363,7 @@ to the process.
pius-keyring-mgr and pius-party-worksheet help organisers of
PGP keysigning parties.")
(license gpl2)
(license license:gpl2)
(home-page "http://www.phildev.net/pius/index.shtml")))
(define-public signing-party
@ -463,7 +463,7 @@ including tools for signing keys, keyring analysis, and party preparation.
;; gpl2+ for almost all programs, except for keyanalyze: gpl2
;; and caff and gpgsigs: bsd-3, see
;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright
(license gpl2)
(license license:gpl2)
(home-page "http://pgp-tools.alioth.debian.org/")))
(define-public pinentry
@ -489,7 +489,7 @@ including tools for signing keys, keyring analysis, and party preparation.
(description
"Pinentry provides a console and a GTK+ GUI that allows users to
enter a passphrase when `gpg' or `gpg2' is run and needs it.")
(license gpl2+)))
(license license:gpl2+)))
(define-public paperkey
(package
@ -521,4 +521,4 @@ for printing with paper and ink, which have amazingly long retention
qualities. To reconstruct a secret key, you re-enter those
bytes (whether by hand, OCR, QR code, or the like) and paperkey can use
them to transform your existing public key into a secret key.")
(license gpl2+)))
(license license:gpl2+)))

View File

@ -89,7 +89,7 @@ in C/C++.")
(define-public nspr
(package
(name "nspr")
(version "4.10.7")
(version "4.10.8")
(source (origin
(method url-fetch)
(uri (string-append
@ -97,7 +97,7 @@ in C/C++.")
version "/src/nspr-" version ".tar.gz"))
(sha256
(base32
"0f1ri51yzjikigf6z31g03cdv6sgi9gw2c3vvv39psk3m37zb6iq"))))
"05aaakz24ba2hdzlqx8qamwrsp7gni1acms8mr6m432wa9yaazjh"))))
(build-system gnu-build-system)
(native-inputs
`(("perl", perl)))
@ -216,7 +216,7 @@ standards.")
(define-public icecat
(package
(name "icecat")
(version "31.4.0")
(version "31.5.0")
(source
(origin
(method url-fetch)
@ -224,29 +224,12 @@ standards.")
version "/" name "-" version ".tar.bz2"))
(sha256
(base32
"0q5ilgfybcrbwf9hq9zc1cpnlhq1pddnnjmdrxrcrrg8lgx5kkc2"))
(patches (map search-patch
'("icecat-CVE-2015-0822.patch"
"icecat-CVE-2015-0827-pt-1.patch"
"icecat-CVE-2015-0827-pt-2.patch"
"icecat-CVE-2015-0827-pt-3.patch"
"icecat-CVE-2015-0831-pt-1.patch"
"icecat-CVE-2015-0831-pt-2.patch"
"icecat-CVE-2015-0836-pt-01.patch"
"icecat-CVE-2015-0836-pt-02.patch"
"icecat-CVE-2015-0836-pt-03.patch"
"icecat-CVE-2015-0836-pt-04.patch"
"icecat-CVE-2015-0836-pt-05.patch"
"icecat-CVE-2015-0836-pt-06.patch"
"icecat-CVE-2015-0836-pt-07.patch"
"icecat-CVE-2015-0836-pt-08.patch"
"icecat-CVE-2015-0836-pt-09.patch"
"icecat-CVE-2015-0836-pt-10.patch"
"icecat-CVE-2015-0836-pt-11.patch")))))
"1rr4axghaypdkrf60i1qp6dz4cd29ya02fs3vyffvp4x9kgcq2dd"))))
(build-system gnu-build-system)
(inputs
`(("alsa-lib" ,alsa-lib)
("bzip2" ,bzip2)
("cairo" ,cairo)
("dbus" ,dbus)
("dbus-glib" ,dbus-glib)
("glib" ,glib)
@ -264,6 +247,8 @@ standards.")
("pixman" ,pixman)
("pulseaudio" ,pulseaudio)
("mesa" ,mesa)
("nspr" ,nspr)
("nss" ,nss)
("unzip" ,unzip)
("yasm" ,yasm)
("zip" ,zip)
@ -290,19 +275,15 @@ standards.")
"--with-system-libevent"
"--with-system-libvpx"
"--with-system-icu"
"--with-system-nspr"
"--with-system-nss"
"--enable-system-pixman"
;; XXX unsure whether to use these.
;; "--with-system-nspr"
;; "--with-system-nss"
;; Fails with "configure: error: Library requirements
;; (cairo-tee >= 1.10) not met".
;; "--enable-system-cairo"
"--enable-system-cairo"
"--enable-system-ffi"
;; Fails with "configure: error: System
;; SQLite library is not compiled with
;; SQLITE_SECURE_DELETE."
;; SQLITE_ENABLE_UNLOCK_NOTIFY."
;; "--enable-system-sqlite"
;; Fails with "--with-system-png won't work because
@ -324,8 +305,7 @@ standards.")
;; to accelerate baseline JPEG compression/
;; decompression", so we had better not use it
;; "--with-system-jpeg"
"--enable-system-ffi")
)
#:phases
(alist-replace

View File

@ -18,15 +18,24 @@
(define-module (gnu packages graphics)
#:use-module (guix download)
#:use-module (guix svn-download)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages compression)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages boost))
#:use-module (gnu packages boost)
#:use-module (gnu packages gl)
#:use-module (gnu packages qt)
#:use-module (gnu packages sdl)
#:use-module (gnu packages xorg))
(define-public cgal
(package
@ -151,4 +160,110 @@ output.")
;; The web site says it's under a BSD-3 license, but the 'LICENSE' file
;; and headers use different wording.
(license (license:bsd-style "file://LICENSE"))))
(license (license:non-copyleft "file://LICENSE"))))
(define-public brdf-explorer
(package
(name "brdf-explorer")
(version "17") ;svn revision
(source (origin
;; There are no release tarballs, and not even tags in the repo,
;; so use the latest revision.
(method svn-fetch)
(uri (svn-reference
(url "http://github.com/wdas/brdf")
(revision (string->number version))))
(sha256
(base32
"1458fwsqxramh0gpnp24x7brfpl9afhvr1wqg6c78xqwf32960m5"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
(replace configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(chdir "trunk")
(zero? (system* "qmake"
(string-append
"prefix=" out))))))
(add-after install wrap-program
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(data (string-append
out "/share/brdf")))
(with-directory-excursion bin
(rename-file "brdf" ".brdf-real")
(call-with-output-file "brdf"
(lambda (port)
(format port "#!/bin/sh
# Run the thing from its home, otherwise it just bails out.
cd \"~a\"
exec -a \"$0\" ~a/.brdf-real~%"
data bin)))
(chmod "brdf" #o555))))))))
(native-inputs
`(("qt" ,qt-4))) ;for 'qmake'
(inputs
`(("qt" ,qt-4)
("mesa" ,mesa)
("glew" ,glew)
("freeglut" ,freeglut)
("zlib" ,zlib)))
(home-page "http://www.disneyanimation.com/technology/brdf.html")
(synopsis
"Analyze bidirectional reflectance distribution functions (BRDFs)")
(description
"BRDF Explorer is an application that allows the development and analysis
of bidirectional reflectance distribution functions (BRDFs). It can load and
plot analytic BRDF functions (coded as functions in OpenGL's GLSL shader
language), measured material data from the MERL database, and anisotropic
measured material data from MIT CSAIL. Graphs and visualizations update in
real time as parameters are changed, making it a useful tool for evaluating
and understanding different BRDFs (and other component functions).")
(license license:ms-pl)))
(define-public agg
(package
(name "agg")
(version "2.5")
(source (origin
(method url-fetch)
(uri (string-append "http://www.antigrain.com/agg-"
version ".tar.gz"))
(sha256
(base32 "07wii4i824vy9qsvjsgqxppgqmfdxq0xa87i5yk53fijriadq7mb"))
(patches (list (search-patch "agg-am_c_prototype.patch")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
(list (string-append "--x-includes=" (assoc-ref %build-inputs "libx11")
"/include")
(string-append "--x-libraries=" (assoc-ref %build-inputs "libx11")
"/lib"))
#:phases
(alist-cons-after
'unpack 'autoreconf
(lambda _
;; let's call configure from configure phase and not now
(substitute* "autogen.sh" (("./configure") "# ./configure"))
(zero? (system* "sh" "autogen.sh")))
%standard-phases)))
(native-inputs
`(("pkg-config" ,pkg-config)
("libtool" ,libtool)
("autoconf" ,autoconf)
("automake" ,automake)
("bash" ,bash)))
(inputs
`(("libx11" ,libx11)
("freetype" ,freetype)
("sdl" ,sdl)))
(home-page "http://antigrain.com")
(synopsis "High-quality 2D graphics rendering engine for C++")
(description
"Anti-Grain Geometry is a high quality rendering engine written in C++.
It supports sub-pixel resolutions and anti-aliasing. It is also library for
rendering SVG graphics.")
(license license:gpl2+)))

View File

@ -79,7 +79,8 @@
(sha256
(base32
"0n64hpmsccvicagvr0c6v0kgp2yw0kgnd3jvsyd26cnwgs7c6kkq"))
(patches (list (search-patch "grub-gets-undeclared.patch")))))
(patches (list (search-patch "grub-gets-undeclared.patch")
(search-patch "grub-freetype.patch")))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-werror")

View File

@ -198,7 +198,13 @@ without requiring the source code to be rewritten.")
(native-inputs `(("pkgconfig" ,pkg-config)
("gperf" ,gperf)))
(inputs `(("guile" ,guile-2.0)))
(arguments `(#:configure-flags
(arguments `(;; The extract-*.sh scripts really expect to run in the C
;; locale. Failing to do that, we end up with a build
;; failure while extracting doc. (Fixed in Guile-Reader's
;; repo.)
#:locale "C"
#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "--with-guilemoduledir="
out "/share/guile/site/2.0")))))
@ -237,17 +243,25 @@ many readers as needed).")
(string-append "--with-guilesitedir="
(assoc-ref %outputs "out")
"/share/guile/site/2.0"))
#:phases (alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/share/guile/site/"))
(files (find-files dir ".scm")))
(substitute* files
(("\"libguile-ncurses\"")
(format #f "\"~a/lib/libguile-ncurses\""
out)))))
%standard-phases)))
#:phases (alist-cons-before
'check 'change-locale
(lambda _
;; Use the locale that's actually available in the build
;; environment.
(substitute* "test/f009_form_wide.test"
(("en_US\\.utf8")
"en_US.UTF-8")))
(alist-cons-after
'install 'post-install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out "/share/guile/site/"))
(files (find-files dir ".scm")))
(substitute* files
(("\"libguile-ncurses\"")
(format #f "\"~a/lib/libguile-ncurses\""
out)))))
%standard-phases))))
(home-page "http://www.gnu.org/software/guile-ncurses/")
(synopsis "Guile bindings to ncurses")
(description

224
gnu/packages/haskell.scm Normal file
View File

@ -0,0 +1,224 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;;
;;; 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 haskell)
#:use-module (ice-9 regex)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages perl)
#:use-module (gnu packages elf)
#:use-module (gnu packages bootstrap)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libedit)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages python))
;; We use bootstrap binaries with a fix version which can be used to build
;; more versions of the GHC compiler.
(define ghc-bootstrap-7.8.4
(origin
(method url-fetch)
(uri (string-append "https://www.haskell.org/ghc/dist/"
"7.8.4/ghc-7.8.4-"
(if (string-match "x86_64" (%current-system))
"x86_64"
"i386")
"-unknown-linux-deb7.tar.xz"))
(sha256
(base32
(if (string-match "x86_64" (%current-system))
"13azsl53xgj20mi1hj9x0xb32vvcvs6cpmvwx6znxhas7blh0bpn"
"0wj5s435j0zgww70bj1d3f6wvnnpzlxwvwcyh2qv4qjq5z8j64kg")))))
;; 43 tests out of 3965 fail.
;;
;; Most of them do not appear to be serious:
;;
;; - some tests generate files referring to "/bin/sh" and "/bin/ls". I've not
;; figured out how these references are generated.
;;
;; - Some tests allocate more memory than expected (ca. 3% above upper limit)
;;
;; - Some tests try to load unavailable libriries: Control.Concurrent.STM,
;; Data.Vector, Control.Monad.State.
;;
;; - Test posix010 tries to check the existence of a user on the system:
;; getUserEntryForName: does not exist (no such user)
(define-public ghc
(package
(name "ghc")
(version "7.8.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.haskell.org/ghc/dist/"
version "/" name "-" version "-src.tar.xz"))
(sha256
(base32
"1i4254akbb4ym437rf469gc0m40bxm31blp6s1z1g15jmnacs6f3"))))
(build-system gnu-build-system)
(supported-systems '("i686-linux" "x86_64-linux"))
(outputs '("out" "doc"))
(inputs
`(("gmp" ,gmp)
("ncurses" ,ncurses)
("libffi" ,libffi)
("libedit" ,libedit)
("ghc-testsuite"
,(origin
(method url-fetch)
(uri (string-append
"https://www.haskell.org/ghc/dist/"
version "/" name "-" version "-testsuite.tar.xz"))
(sha256
(base32
"0q95whf87y4mxjzwzy899g7z7l9pazq4si6iciyhxkcdhqq2ycyh"))))))
(native-inputs
`(("perl" ,perl)
("python" ,python-2) ; for tests (fails with python-3)
("ghostscript" ,ghostscript) ; for tests
("patchelf" ,patchelf)
;; GHC is built with GHC. Therefore we need bootstrap binaries.
("ghc-binary" ,ghc-bootstrap-7.8.4)))
(arguments
`(#:test-target "test"
;; We get a smaller number of test failures by disabling parallel test
;; execution.
#:parallel-tests? #f
#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build rpath)
(srfi srfi-26)
(srfi srfi-1))
#:imported-modules ((guix build gnu-build-system)
(guix build utils)
(guix build rpath))
#:configure-flags
(list
(string-append "--with-gmp-libraries="
(assoc-ref %build-inputs "gmp") "/lib")
(string-append "--with-gmp-includes="
(assoc-ref %build-inputs "gmp") "/include")
"--with-system-libffi"
(string-append "--with-ffi-libraries="
(assoc-ref %build-inputs "libffi") "/lib")
(string-append "--with-ffi-includes="
(assoc-ref %build-inputs "libffi") "/include"))
;; FIXME: The user-guide needs dblatex, docbook-xsl and docbook-utils.
;; Currently we do not have the last one.
;; #:make-flags
;; (list "BUILD_DOCBOOK_HTML = YES")
#:phases
(let* ((ghc-bootstrap-path
(string-append (getcwd) "/" ,name "-" ,version "/ghc-bin"))
(ghc-bootstrap-prefix
(string-append ghc-bootstrap-path "/usr" )))
(alist-cons-after
'unpack-bin 'unpack-and-fix-testsuite
(lambda* (#:key inputs outputs #:allow-other-keys)
(with-directory-excursion ".."
(copy-file (assoc-ref inputs "ghc-testsuite")
"ghc-testsuite.tar.xz")
(system* "tar" "xvf" "ghc-testsuite.tar.xz"))
(substitute*
(list "testsuite/timeout/Makefile"
"testsuite/timeout/timeout.py"
"testsuite/timeout/timeout.hs"
"testsuite/tests/rename/prog006/Setup.lhs"
"testsuite/tests/programs/life_space_leak/life.test")
(("/bin/sh") (which "sh"))
(("/bin/rm") "rm"))
#t)
(alist-cons-after
'unpack 'unpack-bin
(lambda* (#:key inputs outputs #:allow-other-keys)
(mkdir-p ghc-bootstrap-prefix)
(with-directory-excursion ghc-bootstrap-path
(copy-file (assoc-ref inputs "ghc-binary")
"ghc-bin.tar.xz")
(zero? (system* "tar" "xvf" "ghc-bin.tar.xz"))))
(alist-cons-before
'install-bin 'configure-bin
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((binaries
(list
"./utils/ghc-pwd/dist-install/build/tmp/ghc-pwd"
"./utils/hpc/dist-install/build/tmp/hpc"
"./utils/haddock/dist/build/tmp/haddock"
"./utils/hsc2hs/dist-install/build/tmp/hsc2hs"
"./utils/runghc/dist-install/build/tmp/runghc"
"./utils/ghc-cabal/dist-install/build/tmp/ghc-cabal"
"./utils/hp2ps/dist/build/tmp/hp2ps"
"./utils/ghc-pkg/dist-install/build/tmp/ghc-pkg"
"./utils/unlit/dist/build/tmp/unlit"
"./ghc/stage2/build/tmp/ghc-stage2"))
(gmp (assoc-ref inputs "gmp"))
(gmp-lib (string-append gmp "/lib"))
(gmp-include (string-append gmp "/include"))
(ncurses-lib
(string-append (assoc-ref inputs "ncurses") "/lib"))
(ld-so (string-append (assoc-ref inputs "libc")
,(glibc-dynamic-linker)))
(libtinfo-dir
(string-append ghc-bootstrap-prefix
"/lib/ghc-7.8.4/terminfo-0.4.0.0")))
(with-directory-excursion
(string-append ghc-bootstrap-path "/" ,name "-" ,version)
(setenv "CONFIG_SHELL" (which "bash"))
(setenv "LD_LIBRARY_PATH" gmp-lib)
;; The binaries have "/lib64/ld-linux-x86-64.so.2" hardcoded.
(for-each
(cut system* "patchelf" "--set-interpreter" ld-so <>)
binaries)
;; The binaries include a reference to libtinfo.so.5 which
;; is a subset of libncurses.so.5. We create a symlink in a
;; directory included in the bootstrap binaries rpath.
(mkdir-p libtinfo-dir)
(symlink
(string-append ncurses-lib "/libncursesw.so."
,(version-major+minor
(package-version ncurses)))
(string-append libtinfo-dir "/libtinfo.so.5"))
(setenv "PATH"
(string-append (getenv "PATH") ":"
ghc-bootstrap-prefix "/bin"))
(system*
(string-append (getcwd) "/configure")
(string-append "--prefix=" ghc-bootstrap-prefix)
(string-append "--with-gmp-libraries=" gmp-lib)
(string-append "--with-gmp-includes=" gmp-include)))))
(alist-cons-before
'configure 'install-bin
(lambda* (#:key inputs outputs #:allow-other-keys)
(with-directory-excursion
(string-append ghc-bootstrap-path "/" ,name "-" ,version)
(zero? (system* "make" "install"))))
%standard-phases)))))))
(home-page "https://www.haskell.org/ghc")
(synopsis "The Glasgow Haskell Compiler")
(description
"The Glasgow Haskell Compiler (GHC) is a state-of-the-art compiler and
interactive environment for the functional language Haskell.")
(license bsd-3)))
;;; haskell.scm ends here

View File

@ -76,5 +76,5 @@ Haskell programs. It provides an almost complete implementation of Haskell
with support for simple interactive programs, handle-based I/O, and exception
handling. Hugs has a nearly complete implementation of the Haskell module
system and supports a number of advanced extensions.")
(license (bsd-style "file://License"
"See License in the distribution."))))
(license (non-copyleft "file://License"
"See License in the distribution."))))

View File

@ -1,8 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -21,13 +23,18 @@
(define-module (gnu packages image)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages doxygen)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml)
#:use-module (gnu packages ghostscript) ;lcms
#:use-module (gnu packages xorg)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages maths)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#: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)
@ -119,8 +126,8 @@ image files in PBMPLUS PPM/PGM, GIF, BMP, and Targa file formats.")
used for storing image data.
Included are a library, libtiff, for reading and writing TIFF and a small
collection of tools for doing simple manipulations of TIFF images.")
(license (license:bsd-style "file://COPYRIGHT"
"See COPYRIGHT in the distribution."))
(license (license:non-copyleft "file://COPYRIGHT"
"See COPYRIGHT in the distribution."))
(home-page "http://www.libtiff.org/")))
(define-public libwmf
@ -294,6 +301,25 @@ compose, and analyze GIF images.")
(home-page "http://giflib.sourceforge.net/")
(license license:x11)))
(define-public libungif
(package
(name "libungif")
(version "4.1.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/giflib/libungif-"
version ".tar.bz2"))
(sha256
(base32
"0cnksimmmjngdrys302ik1385sg1sj4i0gxivzldhgwd46n7x2kh"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl))) ;package ships some perl tools
(home-page "http://giflib.sourceforge.net/")
(synopsis "GIF decompression library")
(description
"libungif is the old GIF decompression library by the GIFLIB project.")
(license license:expat)))
(define-public imlib2
(package
(name "imlib2")
@ -406,3 +432,46 @@ supplies a generic doubly-linked list and some string functions.")
graphics image formats like PNG, BMP, JPEG, TIFF and others.")
(license license:gpl2+)
(home-page "http://freeimage.sourceforge.net")))
(define-public vigra
(package
(name "vigra")
(version "1.10.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://hci.iwr.uni-heidelberg.de/vigra/vigra-"
version "-src.tar.gz"))
(sha256 (base32
"16d0jvz3k49niljg9qvvlyxxl15yk0300xkymvyznlmvn1hs7m22"))))
(build-system cmake-build-system)
(inputs
`(("boost" ,boost)
("fftw" ,fftw)
("fftwf" ,fftwf)
("hdf5" ,hdf5)
("libjpeg" ,libjpeg)
("libpng" ,libpng)
("libtiff" ,libtiff)
("python" ,python-2) ; print syntax
("python2-numpy" ,python2-numpy)
("zlib" ,zlib)))
(native-inputs
`(("doxygen" ,doxygen)
("python2-nose" ,python2-nose)
("python2-sphinx" ,python2-sphinx)))
(arguments
`(#:test-target "check"
#:configure-flags
(list "-Wno-dev" ; suppress developer mode with lots of warnings
(string-append "-DVIGRANUMPY_INSTALL_DIR="
(assoc-ref %outputs "out")
"/lib/python2.7/site-packages"))))
(synopsis "Computer vision library")
(description
"VIGRA stands for Vision with Generic Algorithms. It is an image
processing and analysis library that puts its main emphasis on customizable
algorithms and data structures. It is particularly strong for
multi-dimensional image processing.")
(license license:expat)
(home-page "https://hci.iwr.uni-heidelberg.de/vigra")))

View File

@ -1,61 +0,0 @@
#!/usr/bin/perl -w
# Taken from Gentoo:
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-java/gcj-jdk/files/javac.in
use strict;
use constant NO_DUP_ARGS => qw(-source -target -d -encoding);
use constant STRIP_ARGS => qw(-Werror -implicit:none -J-Xbootclasspath/p:);
my $ECJ_WARNINGS="-nowarn";
my ( @bcoption, @source15, @target15, @cp );
push @bcoption, '-bootclasspath', '@RT_JAR@:@TOOLS_JAR@'
unless grep {$_ eq '-bootclasspath'} @ARGV;
push @source15, '-source', '1.5'
unless grep {$_ eq '-source'} @ARGV;
push @target15, '-target', '1.5'
unless grep {$_ eq '-target'} @ARGV;
push @cp, '-cp', '.'
unless grep {$_ =~ '\-c(p|lasspath)'} @ARGV or $ENV{CLASSPATH};
my @ecj_parms = ($ECJ_WARNINGS, @bcoption, @source15, @target15, @cp);
# Work around ecj's inability to handle duplicate command-line
# options and unknown javac options.
sub gen_ecj_opts
{
my @new_args = @{$_[0]};
for my $opt (NO_DUP_ARGS)
{
my @indices = reverse grep {$new_args[$_] eq $opt} 0..$#new_args;
if (@indices > 1) {
shift @indices; # keep last instance only
splice @new_args, $_, 2 for @indices;
}
}
for my $opt (STRIP_ARGS)
{
my @indices = reverse grep {$new_args[$_] eq $opt} 0..$#new_args;
splice @new_args, $_, 1 for @indices;
}
return \@new_args;
}
sub split_vm_args
{
my @new_args = @{$_[0]};
my @vm_args = map { substr $_, 2 } grep $_ =~ /^-J/, @new_args;
my @javac_args = grep $_ !~ /^-J/, @new_args;
return (\@vm_args, \@javac_args);
}
my ($vm_args, $javac_args) = split_vm_args (gen_ecj_opts( \@ARGV ));
my @CLASSPATH = ('@ECJ_JAR@');
push @CLASSPATH, split /:/, $ENV{"CLASSPATH"} if exists $ENV{"CLASSPATH"};
$ENV{"CLASSPATH"} = join ':', @CLASSPATH;
exec '@JAVA@', @$vm_args, 'org.eclipse.jdt.internal.compiler.batch.Main', @ecj_parms, @$javac_args;

69
gnu/packages/key-mon.scm Normal file
View File

@ -0,0 +1,69 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages key-mon)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (gnu packages)
#:use-module (gnu packages python)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (guix build-system python))
(define-public key-mon
(package
(name "key-mon")
(version "1.17")
(source (origin
(method url-fetch)
(uri (string-append
"http://key-mon.googlecode.com/files/key-mon-"
version ".tar.gz"))
(sha256
(base32
"1liz0dxcqmchbnl1xhlxkqm3gh76wz9jxdxn9pa7dy77fnrjkl5q"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ;uses the Python 2 'print' syntax
#:phases (modify-phases %standard-phases
(add-after install wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(rsvg (assoc-ref inputs "librsvg"))
(pixbuf (find-files
rsvg "^loaders\\.cache$")))
;; Allow key-mon to load SVGs.
(wrap-program (string-append bin "/key-mon")
`("GDK_PIXBUF_MODULE_FILE" ":"
prefix ,pixbuf))))))
#:tests? #f)) ;no tests
(native-inputs
`(("python2-setuptools" ,python2-setuptools)))
(propagated-inputs
`(("python2-xlib" ,python2-xlib)
("python2-pygtk" ,python2-pygtk)
("librsvg" ,librsvg)
("python2-rsvg" ,python2-rsvg)))
(home-page "http://code.google.com/p/key-mon")
(synopsis "Show keyboard and mouse status")
(description
"The key-mon utility displays the current keyboard and mouse status.
This is useful for teaching and screencasts.")
(license asl2.0)))

400
gnu/packages/language.scm Normal file
View File

@ -0,0 +1,400 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.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 language)
#:use-module (gnu packages)
#:use-module (gnu packages perl)
#:use-module (gnu packages web)
#:use-module (guix packages)
#:use-module (guix build-system perl)
#:use-module ((guix licenses) #:select (gpl2 gpl3))
#:use-module (guix download))
(define-public perl-lingua-en-findnumber
(package
(name "perl-lingua-en-findnumber")
(version "1.30")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
"Lingua-EN-FindNumber-" version ".tar.gz"))
(sha256
(base32
"0g5h6bwwggizwh3dd3xyx92537s4qy8nspshp1lrm9qlxh3prc28"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-lingua-en-words2nums" ,perl-lingua-en-words2nums)))
(home-page "http://search.cpan.org/dist/Lingua-EN-FindNumber")
(synopsis "Locate (written) numbers in English text ")
(description "This module provides a regular expression for finding
numbers in English text. It also provides functions for extracting and
manipulating such numbers.")
(license (package-license perl))))
(define-public perl-lingua-en-inflect
(package
(name "perl-lingua-en-inflect")
(version "1.895")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/D/DC/DCONWAY/"
"Lingua-EN-Inflect-" version ".tar.gz"))
(sha256
(base32
"0drzg9a2dkjxgf00n6jg0jzhd8972bh3j4wdnmdxpqi3zmfqhwcy"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Lingua-EN-Inflect")
(synopsis "Convert singular to plural")
(description "Lingua::EN::Inflect provides plural inflections,
\"a\"/\"an\" selection for English words, and manipulation of numbers as
words. Plural forms of all nouns, most verbs, and some adjectives are
provided. Where appropriate, \"classical\" variants (for example: \"brother\"
-> \"brethren\", \"dogma\" -> \"dogmata\", etc.) are also provided.")
(license (package-license perl))))
(define-public perl-lingua-en-inflect-number
(package
(name "perl-lingua-en-inflect-number")
(version "1.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
"Lingua-EN-Inflect-Number-" version ".tar.gz"))
(sha256
(base32
"0rvgrff96ja7fqr79dszmiyv2wz4izw82znah0mx9szkir657gfz"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-lingua-en-inflect" ,perl-lingua-en-inflect)))
(home-page "http://search.cpan.org/dist/Lingua-EN-Inflect-Number")
(synopsis "Force number of words to singular or plural")
(description "This module extends the functionality of Lingua::EN::Inflect
with three new functions for determining plurality of a word and forcefully
converting a word to singular or plural.")
(license (package-license perl))))
(define-public perl-lingua-en-inflect-phrase
(package
(name "perl-lingua-en-inflect-phrase")
(version "0.18")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/"
"Lingua-EN-Inflect-Phrase-" version ".tar.gz"))
(sha256
(base32
"19prg6pkgnznrc82ymdkdi3l9schg815axjig7adca5yqa7mn2i9"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-nowarnings" ,perl-test-nowarnings)))
(propagated-inputs
`(("perl-lingua-en-findnumber" ,perl-lingua-en-findnumber)
("perl-lingua-en-inflect" ,perl-lingua-en-inflect)
("perl-lingua-en-inflect-number" ,perl-lingua-en-inflect-number)
("perl-lingua-en-number-isordinal" ,perl-lingua-en-number-isordinal)
("perl-lingua-en-tagger" ,perl-lingua-en-tagger)))
(home-page "http://search.cpan.org/dist/Lingua-EN-Inflect-Phrase")
(synopsis "Inflect short English phrases")
(description "This module attempts to pluralize or singularize short
English phrases.")
(license (package-license perl))))
(define-public perl-lingua-en-number-isordinal
(package
(name "perl-lingua-en-number-isordinal")
(version "0.04")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/"
"Lingua-EN-Number-IsOrdinal-" version ".tar.gz"))
(sha256
(base32
"1321fm4pyqcamffd0qsjm1gb07ijqndlb29qkcqf22kaibngfm4i"))))
(build-system perl-build-system)
(native-inputs
`(("perl-try-tiny" ,perl-try-tiny)
("perl-test-fatal" ,perl-test-fatal)))
(propagated-inputs
`(("perl-lingua-en-findnumber" ,perl-lingua-en-findnumber)))
(home-page "http://search.cpan.org/dist/Lingua-EN-Number-IsOrdinal")
(synopsis "Detect if English number is ordinal or cardinal")
(description "This module will tell you if a number, either in words or as
digits, is a cardinal or ordinal number.")
(license (package-license perl))))
(define-public perl-lingua-en-tagger
(package
(name "perl-lingua-en-tagger")
(version "0.24")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AC/ACOBURN/"
"Lingua-EN-Tagger-" version ".tar.gz"))
(sha256
(base32
"0qksqh1zi8fz76a29s2ll4g6yr8y6agmzgq7ngccvgj3gza5q241"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-memoize-expirelru" ,perl-memoize-expirelru)
("perl-lingua-stem" ,perl-lingua-stem)
("perl-html-parser" ,perl-html-parser)
("perl-html-tagset" ,perl-html-tagset)))
(home-page "http://search.cpan.org/dist/Lingua-EN-Tagger")
(synopsis "Part-of-speech tagger for English natural language processing")
(description "This module is a probability based, corpus-trained tagger
that assigns part-of-speech tags to English text based on a lookup dictionary
and a set of probability values. The tagger assigns appropriate tags based on
conditional probabilities - it examines the preceding tag to determine the
appropriate tag for the current word. Unknown words are classified according
to word morphology or can be set to be treated as nouns or other parts of
speech. The tagger also extracts as many nouns and noun phrases as it can,
using a set of regular expressions.")
(license gpl3)))
(define-public perl-lingua-en-words2nums
(package
(name "perl-lingua-en-words2nums")
(version "0.18")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/J/JO/JOEY/"
"Lingua-EN-Words2Nums-" version ".tar.gz"))
(sha256
(base32
"118xx8qr1zbx30psv7ic55w65h15mc1vz6zicshfm96jgiwmcrb8"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Lingua-EN-Words2Nums")
(synopsis "Convert English text to numbers")
(description "This module converts English text into numbers. It supports
both ordinal and cardinal numbers, negative numbers, and very large numbers.")
(license (package-license perl))))
(define-public perl-lingua-pt-stemmer
(package
(name "perl-lingua-pt-stemmer")
(version "0.01")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/X/XE/XERN/"
"Lingua-PT-Stemmer-" version ".tar.gz"))
(sha256
(base32
"11rqc5pqnkl9c13vy7sihiyas14ci0pj3k6chrgrgjv5sjv2m4a5"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Lingua-PT-Stemmer")
(synopsis "Portuguese language stemming")
(description "This module implements a Portuguese stemming algorithm
proposed in the paper A Stemming Algorithm for the Portuguese Language by
Moreira, V. and Huyck, C.")
(license (package-license perl))))
(define-public perl-lingua-stem
(package
(name "perl-lingua-stem")
(version "0.84")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SN/SNOWHARE/"
"Lingua-Stem-" version ".tar.gz"))
(sha256
(base32
"12avh2mnnc7llmmshrr5bgb473fvydxnlqrqbl2815mf2dp4pxcg"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-lingua-pt-stemmer" ,perl-lingua-pt-stemmer)
("perl-lingua-stem-fr" ,perl-lingua-stem-fr)
("perl-lingua-stem-it" ,perl-lingua-stem-it)
("perl-lingua-stem-ru" ,perl-lingua-stem-ru)
("perl-lingua-stem-snowball-da" ,perl-lingua-stem-snowball-da)
("perl-snowball-norwegian" ,perl-snowball-norwegian)
("perl-snowball-swedish" ,perl-snowball-swedish)
("perl-text-german" ,perl-text-german)))
(home-page "http://search.cpan.org/dist/Lingua-Stem")
(synopsis "Stemming of words in various languages")
(description "This routine applies stemming algorithms to its parameters,
returning the stemmed words as appropriate to the selected locale.")
(license (package-license perl))))
(define-public perl-lingua-stem-fr
(package
(name "perl-lingua-stem-fr")
(version "0.02")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/S/SD/SDP/"
"Lingua-Stem-Fr-" version ".tar.gz"))
(sha256
(base32
"0vyrspwzaqjxm5mqshf4wvwa3938mkajd1918d9ii2l9m2rn8kwx"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Lingua-Stem-Fr")
(synopsis "Porter's stemming algorithm for French")
(description "This module uses a modified version of the Porter Stemming
Algorithm to return a stemmed French word.")
(license (package-license perl))))
(define-public perl-lingua-stem-it
(package
(name "perl-lingua-stem-it")
(version "0.02")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AC/ACALPINI/"
"Lingua-Stem-It-" version ".tar.gz"))
(sha256
(base32
"1207r183s5hlh4mfwa6p46vzm0dhvrs2dnss5s41a0gyfkxp7riq"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Lingua-Stem-It")
(synopsis "Porter's stemming algorithm for Italian")
(description "This module applies the Porter Stemming Algorithm to its
parameters, returning the stemmed Italian word.")
(license (package-license perl))))
(define-public perl-lingua-stem-ru
(package
(name "perl-lingua-stem-ru")
(version "0.01")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AL/ALGDR/"
"Lingua-Stem-Ru-" version ".tar.gz"))
(sha256
(base32
"0pqgg442fkf12ayh9fgmpa8q9x0iqx6s96181r52yn7s7pcs61h6"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Lingua-Stem-Ru")
(synopsis "Porter's stemming algorithm for Russian")
(description "This module applies the Porter Stemming Algorithm to its
parameters, returning the stemmed Russian (KOI8-R only) word.")
(license (package-license perl))))
(define-public perl-lingua-stem-snowball-da
(package
(name "perl-lingua-stem-snowball-da")
(version "1.01")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/C/CI/CINE/"
"Lingua-Stem-Snowball-Da-" version ".tar.gz"))
(sha256
(base32
"0mm0m7glm1s6i9f6a78jslw6wh573208arxhq93yriqmw17bwf9f"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Lingua-Stem-Snowball-Da")
(synopsis "Porters stemming algorithm for Danish")
(description "Lingua::Stem::Snowball::Da is a perl port of the danish
stemmer at http://snowball.sourceforge.net, it was originally altered from the
Lingua::Stem::Snowball::Se.")
(license gpl2)))
(define-public perl-snowball-norwegian
(package
(name "perl-snowball-norwegian")
(version "1.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AS/ASKSH/"
"Snowball-Norwegian-" version ".tar.gz"))
(sha256
(base32
"0675v45bbsh7vr7kpf36xs2q79g02iq1kmfw22h20xdk4rzqvkqx"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Snowball-Norwegian")
(synopsis "Porters stemming algorithm for Norwegian")
(description "Lingua::Stem::Snowball::No is a perl port of the norwegian
stemmer at http://snowball.tartarus.org.")
(license (package-license perl))))
(define-public perl-snowball-swedish
(package
(name "perl-snowball-swedish")
(version "1.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/A/AS/ASKSH/"
"Snowball-Swedish-" version ".tar.gz"))
(sha256
(base32
"0agwc12jk5kmabnpsplw3wf4ii5w1zb159cpin44x3srb0sr5apg"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Snowball-Swedish")
(synopsis "Porters stemming algorithm for Swedish")
(description "Lingua::Stem::Snowball::Se is a perl port of the swedish
stemmer at http://snowball.sourceforge.net.")
(license (package-license perl))))
(define-public perl-string-toidentifier-en
(package
(name "perl-string-toidentifier-en")
(version "0.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/"
"String-ToIdentifier-EN-" version ".tar.gz"))
(sha256
(base32
"1bawghkgkkx7j3avnrj5sg3vix1z5564ks6wf9az3jc2knh8s5nh"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-lingua-en-inflect-phrase" ,perl-lingua-en-inflect-phrase)
("perl-text-unidecode" ,perl-text-unidecode)
("perl-namespace-clean" ,perl-namespace-clean)))
(home-page "http://search.cpan.org/dist/String-ToIdentifier-EN")
(synopsis "Convert strings to english program identifiers")
(description "This module provides a utility method, \"to_identifier\" for
converting an arbitrary string into a readable representation using the ASCII
subset of \"\\w\" for use as an identifier in a computer program. The intent
is to make unique identifier names from which the content of the original
string can be easily inferred by a human just by reading the identifier.")
(license (package-license perl))))
(define-public perl-text-german
(package
(name "perl-text-german")
(version "0.06")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/U/UL/ULPFR/"
"Text-German-" version ".tar.gz"))
(sha256
(base32
"1p87pgap99lw0nv62i3ghvsi7yg90lhn8vsa3yqp75rd04clybcj"))))
(build-system perl-build-system)
(home-page "http://search.cpan.org/dist/Text-German")
(synopsis "German grundform reduction")
(description "This module is a rather incomplete implementaion of work
done by Gudrun Putze-Meier.")
(license (package-license perl))))

50
gnu/packages/libedit.scm Normal file
View File

@ -0,0 +1,50 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;;
;;; 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 libedit)
#:use-module (guix licenses)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (gnu packages ncurses))
(define-public libedit
(package
(name "libedit")
(version "20141030-3.1")
(source
(origin
(method url-fetch)
(uri (string-append "http://thrysoee.dk/editline"
"/" name "-" version ".tar.gz"))
(sha256
(base32
"0h2svwfcdldpbg0fy7fnkld706r2a9k9h1mm0yj7z3zvf1jy20cp"))))
(build-system gnu-build-system)
(inputs
`(("ncurses" ,ncurses)))
(home-page "http://thrysoee.dk/editline/")
(synopsis "NetBSD Editline library")
(description
"This is an autotool- and libtoolized port of the NetBSD Editline
library (libedit). This Berkeley-style licensed command line editor library
provides generic line editing, history, and tokenization functions, similar to
those found in GNU Readline.")
(license bsd-3)))
;;; libedit.scm ends here

View File

@ -198,7 +198,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
#f)))
(define-public linux-libre
(let* ((version "3.18.8")
(let* ((version "3.18.9")
(build-phase
'(lambda* (#:key system inputs #:allow-other-keys #:rest args)
;; Apply the neat patch.
@ -271,7 +271,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM."
(uri (linux-libre-urls version))
(sha256
(base32
"1ai2krm0svq52z4nm0qyw3q3ybfia83zvpv1f38q1wkllwq0gi6j"))))
"0n3p9ci8w71hd168df7xlccafxzb3agr8rk3xmvnj7dnbfiddqv6"))))
(build-system gnu-build-system)
(native-inputs `(("perl" ,perl)
("bc" ,bc)
@ -1891,7 +1891,7 @@ thanks to the use of namespaces.")
(description
"Get/set device parameters for Linux SATA/IDE drives. It's primary use
is for enabling irq-unmasking and IDE multiplemode.")
(license (bsd-style "file://LICENSE.TXT"))))
(license (non-copyleft "file://LICENSE.TXT"))))
(define-public acpid
(package
@ -1961,6 +1961,13 @@ also contains the libsysfs library.")
(substitute* "configure"
(("includedir='(\\$\\{prefix\\}/include)'" all orig)
(string-append "includedir='" orig "/sysfs'")))))))
;; XXX sysfsutils-1.3.0's config.guess fails on mips64el
(arguments `(#:configure-flags
'(,@(if (%current-target-system)
'()
(let ((triplet
(nix-system->gnu-triplet (%current-system))))
(list (string-append "--build=" triplet)))))))
(synopsis "System utilities based on Linux sysfs (version 1.x)")))
(define-public cpufrequtils

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -231,14 +232,16 @@ an interpreter, a compiler, a debugger, and much more.")
(define (quoted-path input path)
(string-append "\"" input path "\""))
;; Patch absolute paths in string literals. Note that this
;; occurs in some .sh files too (which contain Lisp code).
(substitute* (find-files "." "\\.(lisp|sh)$")
(("\"/bin/sh\"") (quoted-path bash "/bin/sh"))
(("\"/usr/bin/env\"") (quoted-path coreutils "/usr/bin/env"))
(("\"/bin/cat\"") (quoted-path coreutils "/bin/cat"))
(("\"/bin/ed\"") (quoted-path ed "/bin/ed"))
(("\"/bin/echo\"") (quoted-path coreutils "/bin/echo"))
(("\"/bin/uname\"") (quoted-path coreutils "/bin/uname")))
;; occurs in some .sh files too (which contain Lisp code). Use
;; ISO-8859-1 because some of the files are ISO-8859-1 encoded.
(with-fluids ((%default-port-encoding #f))
(substitute* (find-files "." "\\.(lisp|sh)$")
(("\"/bin/sh\"") (quoted-path bash "/bin/sh"))
(("\"/usr/bin/env\"") (quoted-path coreutils "/usr/bin/env"))
(("\"/bin/cat\"") (quoted-path coreutils "/bin/cat"))
(("\"/bin/ed\"") (quoted-path ed "/bin/ed"))
(("\"/bin/echo\"") (quoted-path coreutils "/bin/echo"))
(("\"/bin/uname\"") (quoted-path coreutils "/bin/uname"))))
;; This one script has a non-string occurrence of /bin/sh.
(substitute* '("tests/foreign.test.sh")
;; Leave whitespace so we don't match the shebang.

58
gnu/packages/lxqt.scm Normal file
View File

@ -0,0 +1,58 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;;
;;; 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 lxqt)
#:use-module (guix download)
#:use-module ((guix licenses) #:select (lgpl2.1+))
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages qt))
(define-public libqtxdg
(package
(name "libqtxdg")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri
(string-append "https://github.com/lxde/" name "/releases/download/"
version "/" name "-" version ".tar.xz"))
(sha256
(base32
"00j0zzb8zn714lv77fawahlalxjznvh06nlhlz47qf0krngri42w"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; handled by configure flag instead
#:configure-flags '(;; FIXME: Currently, the tests fail; this is a
;; known issue, see
;; https://github.com/lxde/libqtxdg/issues/42
;; Enable in new release.
"-DBUILD_TESTS=OFF")))
(native-inputs
`(("pkg-config" ,pkg-config)))
(propagated-inputs
`(("qt" ,qt))) ; according to Qt5Xdg.pc
(home-page "https://github.com/lxde/libqtxdg")
(synopsis "Qt implementation of freedesktop.org xdg specifications")
(description "Libqtxdg implements the freedesktop.org xdg specifications
in Qt.")
(license lgpl2.1+)))

View File

@ -29,6 +29,7 @@
#:use-module (gnu packages backup)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
#:use-module (gnu packages databases)
#:use-module (gnu packages dejagnu)
#:use-module (gnu packages emacs)
#:use-module (gnu packages enchant)
@ -63,7 +64,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module ((guix licenses)
#:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ bsd-style))
#:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ non-copyleft))
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
@ -227,14 +228,16 @@ operating systems.")
(alist-cons-after
'unpack 'patch-paths-in-tests
(lambda _
;; The test programs run several programs using 'system'
;; with hard-coded paths. Here we patch them all. We also
;; change "gpg" to "gpg2".
(substitute* (find-files "tests" "\\.c$")
(("(system *\\(\")(/[^ ]*)" all pre prog-path)
(let* ((base (basename prog-path))
(prog (which (if (string=? base "gpg") "gpg2" base))))
(string-append pre (or prog (error "not found: " base)))))))
;; The test programs run several programs using 'system' with
;; hard-coded paths. Here we patch them all. We also change "gpg"
;; to "gpg2". We use ISO-8859-1 here because test-iconv.c contains
;; raw byte sequences in several different encodings.
(with-fluids ((%default-port-encoding #f))
(substitute* (find-files "tests" "\\.c$")
(("(system *\\(\")(/[^ ]*)" all pre prog-path)
(let* ((base (basename prog-path))
(prog (which (if (string=? base "gpg") "gpg2" base))))
(string-append pre (or prog (error "not found: " base))))))))
%standard-phases)))
(home-page "http://spruce.sourceforge.net/gmime/")
(synopsis "MIME message parser and creator library")
@ -458,7 +461,7 @@ useful features.")
framework for different kinds of mail access: IMAP, SMTP, POP and NNTP. It
provides an API for C language. It's the low-level API used by MailCore and
MailCore 2.")
(license (bsd-style "file://COPYING"))))
(license (non-copyleft "file://COPYING"))))
(define-public claws-mail
(package
@ -624,4 +627,26 @@ deal of flexibility in the way mail can be routed, and there are extensive
facilities for checking incoming mail.")
(license gpl2+)))
(define-public isync
(package
(name "isync")
(version "1.1.2")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/isync/isync/"
version "/isync-" version ".tar.gz"))
(sha256 (base32
"1960ah3fmp75cakd06lcx50n5q0yvfsadjh3lffhyvjvj7ava9d2"))))
(build-system gnu-build-system)
(inputs
`(("bdb" ,bdb)
("openssl" ,openssl)))
(home-page "http://isync.sourceforge.net/")
(synopsis "Mailbox synchronization program")
(description
"isync/mbsync is command line tool for two-way synchronization of
mailboxes. Currently Maildir and IMAP are supported types.")
(license gpl2+)))
;;; mail.scm ends here

View File

@ -153,7 +153,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
(define-public help2man
(package
(name "help2man")
(version "1.46.4")
(version "1.46.5")
(source
(origin
(method url-fetch)
@ -161,7 +161,7 @@ Linux kernel and C library interfaces employed by user-space programs.")
version ".tar.xz"))
(sha256
(base32
"0csn7jx7nhlrflalw1992p3l5afawlpdyjdff2q5bk5hadgz3rqs"))))
"1gqfqgxq3qgwnldjz3i5mxvzyx2w3j042r3fw1wygic3f6327nha"))))
(build-system gnu-build-system)
(arguments `(;; There's no `check' target.
#:tests? #f))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
@ -29,6 +29,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix svn-download)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
@ -65,7 +66,8 @@
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages texlive)
#:use-module (gnu packages xml))
#:use-module (gnu packages xml)
#:use-module (gnu packages zip))
(define-public units
(package
@ -236,7 +238,7 @@ be output in text, PostScript, PDF or HTML.")
(description
"ARPACK-NG is a collection of Fortran77 subroutines designed to solve
large scale eigenvalue problems.")
(license (license:bsd-style "file://COPYING"
(license (license:non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
(define-public lapack
@ -269,7 +271,7 @@ large scale eigenvalue problems.")
(description
"LAPACK is a Fortran 90 library for solving the most commonly occurring
problems in numerical linear algebra.")
(license (license:bsd-style "file://LICENSE"
(license (license:non-copyleft "file://LICENSE"
"See LICENSE in the distribution."))))
(define-public gnuplot
@ -316,6 +318,8 @@ plotting engine by third-party applications like Octave.")
(sha256
(base32 "0f9n0v3p3lwc7564791a39c6cn1d3dbrn7d1j3ikqsi27a8hy23d"))))
(build-system gnu-build-system)
(inputs
`(("zlib" ,zlib)))
(arguments
`(#:phases
(alist-cons-before
@ -324,7 +328,6 @@ plotting engine by third-party applications like Octave.")
(substitute* "configure"
(("/bin/mv") "mv")))
%standard-phases)))
(outputs '("out" "bin" "lib" "include"))
(home-page "http://www.hdfgroup.org")
(synopsis "Management suite for extremely large and complex data")
(description "HDF5 is a suite that makes possible the management of
@ -357,8 +360,7 @@ extremely large and complex data collections.")
("fltk" ,fltk)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("hdf5-lib" ,hdf5 "lib")
("hdf5-include" ,hdf5 "include")
("hdf5" ,hdf5)
("libxft" ,libxft)
("mesa" ,mesa)
("zlib" ,zlib)))
@ -410,8 +412,7 @@ files.")
`(("fltk" ,fltk)
("gfortran" ,gfortran-4.8)
("gmp" ,gmp)
("hdf5-lib" ,hdf5 "lib")
("hdf5-include" ,hdf5 "include")
("hdf5" ,hdf5)
("lapack" ,lapack)
("mesa" ,mesa)
("glu" ,glu)
@ -521,7 +522,7 @@ ASCII text files using Gmsh's own scripting language.")
(description "PETSc, pronounced PET-see (the S is silent), is a suite of
data structures and routines for the scalable (parallel) solution of
scientific applications modeled by partial differential equations.")
(license (license:bsd-style
(license (license:non-copyleft
"http://www.mcs.anl.gov/petsc/documentation/copyright.html"))))
(define-public petsc-complex
@ -965,6 +966,105 @@ point numbers")
;; GPLv2 only is therefore the smallest subset.
(license license:gpl2)))
(define-public muparser
(package
(name "muparser")
(version "2.2.5")
(source
(origin
(method svn-fetch)
(uri (svn-reference
(url "http://muparser.googlecode.com/svn/trunk/")
(revision 34)))
(sha256
(base32
"1d6bdbhx9zj3srwj3m7c9hvr18gnx1fx43h6d25my7q85gicpcwn"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-samples=no")
#:tests? #f)) ;no "check" target
(home-page "http://muparser.beltoforion.de/")
(synopsis "Fast parser library for mathematical expressions")
(description
"muParser is an extensible high performance math parser library. It is
based on transforming an expression into a bytecode and precalculating
constant parts of it.")
(license license:expat)))
(define-public openlibm
(package
(name "openlibm")
(version "0.4.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/JuliaLang/openlibm/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0cwqqqlblj3kzp9aq1wnpfs1fl0qd1wp1xzm5shb09w06i4rh9nn"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "prefix=" (assoc-ref %outputs "out")))
#:phases
;; no configure script
(alist-delete 'configure %standard-phases)
#:tests? #f)) ;the tests are part of the default target
(home-page "http://openlibm.org/")
(synopsis "Portable C mathematical library (libm)")
(description
"OpenLibm is an effort to have a high quality, portable, standalone C
mathematical library (libm). It can be used standalone in applications and
programming language implementations. The project was born out of a need to
have a good libm for the Julia programming langage that worked consistently
across compilers and operating systems, and in 32-bit and 64-bit
environments.")
;; See LICENSE.md for details.
(license (list license:expat
license:isc
license:bsd-2
license:public-domain
license:lgpl2.1+))))
(define-public openspecfun
(package
(name "openspecfun")
(version "0.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/JuliaLang/openspecfun/archive/v"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0nsa3jjmlhcqkw5ba5ypbn3n0c8b6lc22zzlxnmxkxi9shhdx65z"))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f ;no "check" target
#:make-flags
(list (string-append "prefix=" (assoc-ref %outputs "out")))
;; no configure script
#:phases (alist-delete 'configure %standard-phases)))
(inputs
`(("fortran" ,gfortran-4.8)))
(home-page "https://github.com/JuliaLang/openspecfun")
(synopsis "Collection of special mathematical functions")
(description
"Openspecfun provides AMOS and Faddeeva. AMOS (from Netlib) is a
portable package for Bessel Functions of a Complex Argument and Nonnegative
Order; it contains subroutines for computing Bessel functions and Airy
functions. Faddeeva allows computing the various error functions of arbitrary
complex arguments (Faddeeva function, error function, complementary error
function, scaled complementary error function, imaginary error function, and
Dawson function); given these, one can also easily compute Voigt functions,
Fresnel integrals, and similar related functions as well.")
;; Faddeeva is released under the Expat license; AMOS is included as
;; public domain software.
(license (list license:expat license:public-domain))))
(define-public atlas
(package
(name "atlas")
@ -998,7 +1098,7 @@ point numbers")
(srfi srfi-1)
(guix build gnu-build-system)
(guix build utils))
#:configure-flags
#:configure-flags
`(;; Generate position independent code suitable for dynamic libraries
;; and use WALL timer to get more accurate timing.
"-Fa" "alg" "-fPIC" "-D" "c" "-DWALL"
@ -1025,10 +1125,10 @@ point numbers")
(alist-cons-after
'install 'install-doc
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((doc (string-append (assoc-ref outputs "doc")
(let ((doc (string-append (assoc-ref outputs "doc")
"/share/doc/atlas")))
(mkdir-p doc)
(fold (lambda (file previous)
(fold (lambda (file previous)
(and previous (zero? (system* "cp" file doc))))
#t (find-files "../ATLAS/doc" ".*"))))
(alist-cons-after
@ -1094,3 +1194,25 @@ cpufreq-selector -g performance -c N-1
where N is the number of cores of your CPU. Failure to do so will result in a
library with poor performance.")
(license license:bsd-3)))
(define-public glm
(package
(name "glm")
(version "0.9.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/ogl-math/glm-"
version ".zip"))
(sha256
(base32
"1cnjmi033a16a95v6xfkr1bvfmkd26hzdjka8j1819hgn5b1nr8l"))))
(build-system cmake-build-system)
(native-inputs
`(("unzip" ,unzip)))
(home-page "http://glm.g-truc.net")
(synopsis "OpenGL Mathematics library")
(description "OpenGL Mathematics (GLM) is a header-only C++ mathematics
library for graphics software based on the OpenGL Shading Language (GLSL)
specifications.")
(license license:expat)))

View File

@ -82,6 +82,6 @@
"Massachusetts Institute of Technology implementation of Kerberos.
Kerberos is a network authentication protocol designed to provide strong
authentication for client/server applications by using secret-key cryptography.")
(license (bsd-style "file://NOTICE"
(license (non-copyleft "file://NOTICE"
"See NOTICE in the distribution."))
(home-page "http://web.mit.edu/kerberos/")))

View File

@ -191,7 +191,8 @@ terminal using ncurses.")
(inputs `(("libmpdclient" ,libmpdclient)
("boost" ,boost)
("readline" ,readline)
("ncurses" ,ncurses)))
("ncurses" ,ncurses)
("taglib" ,taglib)))
(native-inputs
`(("pkg-config" ,pkg-config)
("automake" ,automake)
@ -199,7 +200,7 @@ terminal using ncurses.")
("libtool" ,libtool)))
(arguments
'(#:configure-flags
'("BOOST_LIB_SUFFIX=")
'("BOOST_LIB_SUFFIX=" "--with-taglib")
#:phases
(alist-cons-after
'unpack 'autogen

104
gnu/packages/music.scm Normal file
View File

@ -0,0 +1,104 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages music)
#: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 (gnu packages)
#:use-module (gnu packages bison)
#:use-module (gnu packages docbook)
#:use-module (gnu packages flex)
#:use-module (gnu packages fonts)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gettext)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages rsync)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages texlive)
#:use-module (gnu packages zip))
(define-public lilypond
(package
(name "lilypond")
(version "2.18.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://download.linuxaudio.org/lilypond/sources/v"
(version-major+minor version) "/"
name "-" version ".tar.gz"))
(sha256
(base32
"01xs9x2wjj7w9appaaqdhk15r1xvvdbz9qwahzhppfmhclvp779j"))))
(build-system gnu-build-system)
(arguments
`(;; Tests fail with this error:
;; Undefined subroutine &main::get_index called at
;; ./lilypond-2.18.2/Documentation/lilypond-texi2html.init line 2127.
#:tests? #f
#:out-of-source? #t
#:phases
(alist-cons-before
'configure 'prepare-configuration
(lambda _
(substitute* "configure"
(("SHELL=/bin/sh") "SHELL=sh"))
(setenv "out" "")
#t)
%standard-phases)))
(inputs
`(("guile" ,guile-1.8)
("font-dejavu" ,font-dejavu)
("fontconfig" ,fontconfig)
("freetype" ,freetype)
("ghostscript" ,ghostscript)
("pango" ,pango)
("python" ,python-2)))
(native-inputs
`(("bison" ,bison)
("perl" ,perl)
("flex" ,flex)
("fontforge" ,fontforge)
("dblatex" ,dblatex)
("gettext" ,gnu-gettext)
("imagemagick" ,imagemagick)
("netpbm" ,netpbm) ;for pngtopnm
("texlive" ,texlive) ;metafont and metapost
("texinfo" ,texinfo)
("texi2html" ,texi2html)
("rsync" ,rsync)
("pkg-config" ,pkg-config)
("zip" ,zip)))
(home-page "http://www.lilypond.org/")
(synopsis "Music typesetting")
(description
"GNU LilyPond is a music typesetter, which produces high-quality sheet
music. Music is input in a text file containing control sequences which are
interpreted by LilyPond to produce the final document. It is extendable with
Guile.")
(license license:gpl3+)))

View File

@ -142,7 +142,7 @@ the Nix package manager.")
(define guix-devel
;; Development version of Guix.
(let ((commit "f1082ec"))
(let ((commit "07157e8"))
(package (inherit guix-0.8.1)
(version (string-append "0.8.1." commit))
(source (origin
@ -152,7 +152,7 @@ the Nix package manager.")
(commit commit)))
(sha256
(base32
"0mmwmv3wbrgzs49gnxraj11fp1mxfry4r0n222l3p4yga27vzw6d"))))
"0ksfvkkgzsz58h60a8kypg9x24sabl5007hr3a2ddgh05rjckbci"))))
(arguments
(substitute-keyword-arguments (package-arguments guix-0.8.1)
((#:phases phases)

View File

@ -0,0 +1,10 @@
--- a/configure.in 2015-03-15 18:59:12.557417149 +0100
+++ b/configure.in 2015-03-15 18:59:29.273416518 +0100
@@ -8,7 +8,6 @@
AC_PROG_CC
AC_PROG_CXX
AC_ISC_POSIX
-AM_C_PROTOTYPES
if test "x$U" != "x"; then
AC_MSG_ERROR(Compiler not ANSI compliant)
fi

View File

@ -0,0 +1,33 @@
Bash-completion is written with FHS in mind where completion scripts
all get added to /usr/share/bash-completion/completions and are picked
up by the dynamic completion loader from there---whether they are
part of bash-completion or installed by another package.
On Guix systems, we want not only to search within bash-completion's own
directory, but also in the user's profile and in the system profile.
This is what this patch does.
--- bash-completion-2.1/bash_completion 2015-03-11 09:45:45.056846446 +0100
+++ bash-completion-2.1/bash_completion 2015-03-11 09:52:43.248159504 +0100
@@ -1928,9 +1928,20 @@ _completion_loader()
local compfile=./completions
[[ $BASH_SOURCE == */* ]] && compfile="${BASH_SOURCE%/*}/completions"
compfile+="/${1##*/}"
+ local base="${1##*/}"
+ # Look for completion files in the user and global profiles and
+ # lastly in 'bash-completion' itself.
+ for file in \
+ "$HOME/.guix-profile/share/bash-completion/completions/$base" \
+ "$HOME/.guix-profile/etc/bash_completion.d/$base" \
+ "/run/current-system/profile/share/bash-completion/completions/$base" \
+ "/run/current-system/profile/etc/bash_completion.d/$base" \
+ "$compfile"
+ do
# Avoid trying to source dirs; https://bugzilla.redhat.com/903540
- [[ -f "$compfile" ]] && . "$compfile" &>/dev/null && return 124
+ [[ -f "$file" ]] && . "$file" &>/dev/null && return 124
+ done
# Need to define *something*, otherwise there will be no completion at all.
complete -F _minimal "$1" && return 124

View File

@ -0,0 +1,49 @@
Taken from Debian.
Author: Dmitry Shachnev <mitya57@gmail.com>
Description: do not build unrar extension as we strip unrar from the tarball
Forwarded: not-needed
Last-Update: 2013-04-04
Index: calibre/setup/extensions.py
===================================================================
--- calibre.orig/setup/extensions.py 2014-02-02 10:42:14.510954007 +0100
+++ calibre/setup/extensions.py 2014-02-02 10:42:14.502954007 +0100
@@ -209,24 +209,6 @@
sip_files=['calibre/ebooks/pdf/render/qt_hack.sip']
),
- Extension('unrar',
- ['unrar/%s.cpp'%(x.partition('.')[0]) for x in '''
- rar.o strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o
- filefn.o filcreat.o archive.o arcread.o unicode.o system.o
- isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o
- timefn.o rdwrfn.o consio.o options.o ulinks.o errhnd.o rarvm.o
- secpassword.o rijndael.o getbits.o sha1.o extinfo.o extract.o
- volume.o list.o find.o unpack.o cmddata.o filestr.o scantree.o
- '''.split()] + ['calibre/utils/unrar.cpp'],
- inc_dirs=['unrar'],
- cflags=[('/' if iswindows else '-') + x for x in (
- 'DSILENT', 'DRARDLL', 'DUNRAR')] + (
- [] if iswindows else ['-D_FILE_OFFSET_BITS=64',
- '-D_LARGEFILE_SOURCE']),
- optimize_level=2,
- libraries=['User32', 'Advapi32', 'kernel32', 'Shell32'] if iswindows else []
- ),
-
]
Index: calibre/src/calibre/ebooks/metadata/archive.py
===================================================================
--- calibre.orig/src/calibre/ebooks/metadata/archive.py 2014-02-02 10:42:14.510954007 +0100
+++ calibre/src/calibre/ebooks/metadata/archive.py 2014-02-02 10:42:14.502954007 +0100
@@ -42,7 +42,7 @@
description = _('Extract common e-book formats from archives '
'(zip/rar) files. Also try to autodetect if they are actually '
'cbz/cbr files.')
- file_types = set(['zip', 'rar'])
+ file_types = set(['zip'])
supported_platforms = ['windows', 'osx', 'linux']
on_import = True

View File

@ -1,13 +0,0 @@
Index: src/util/scheduler.c
===================================================================
--- src/util/scheduler.c (revision 31745)
+++ src/util/scheduler.c (working copy)
@@ -1599,7 +1599,7 @@
int real_fd;
GNUNET_DISK_internal_file_handle_ (fd, &real_fd, sizeof (int));
- GNUNET_assert (real_fd > 0);
+ GNUNET_assert (real_fd >= 0);
return add_without_sets (
delay, priority,
on_read ? real_fd : -1,

View File

@ -1,58 +0,0 @@
diff -ru a/src/peerinfo-tool/Makefile.in b/src/peerinfo-tool/Makefile.in
--- src/peerinfo-tool/Makefile.in 2013-12-24 13:55:04.000000000 +0100
+++ src/peerinfo-tool/Makefile.in 2014-01-30 13:07:52.275965484 +0100
@@ -335,9 +335,6 @@
$(top_builddir)/src/statistics/libgnunetstatistics.la \
$(top_builddir)/src/util/libgnunetutil.la
-@HAVE_PYTHON_TRUE@check_SCRIPTS = \
-@HAVE_PYTHON_TRUE@ test_gnunet_peerinfo.py
-
@ENABLE_TEST_RUN_TRUE@TESTS = $(check_SCRIPTS)
do_subst = $(SED) -e 's,[@]PYTHON[@],$(PYTHON),g'
EXTRA_DIST = \
diff -ru a/src/revocation/test_revocation.conf b/src/revocation/test_revocation.conf
--- src/revocation/test_revocation.conf 2013-12-21 18:57:06.000000000 +0100
+++ src/revocation/test_revocation.conf 2014-01-30 15:00:02.841340556 +0100
@@ -20,6 +20,9 @@
[transport-udp]
BROADCAST = NO
+[nat]
+RETURN_LOCAL_ADDRESSES = YES
+
[peerinfo]
USE_INCLUDED_HELLOS = NO
Index: src/gns/test_gns_cname_lookup.sh
===================================================================
--- src/gns/test_gns_cname_lookup.sh (revision 32117)
+++ src/gns/test_gns_cname_lookup.sh (revision 32118)
@@ -13,6 +13,15 @@
exit 77
fi
+# permissive DNS resolver we will use for the test
+DNS_RESOLVER="8.8.8.8"
+if ! nslookup gnunet.org $DNS_RESOLVER &> /dev/null
+then
+ echo "Cannot reach DNS, skipping test"
+ exit 77
+fi
+
+
rm -rf /tmp/test-gnunet-gns-peer-1/
TEST_DOMAIN_PLUS="www.gnu"
Index: src/integration-tests/confs/test_defaults.conf
===================================================================
--- src/integration-tests/confs/test_defaults.conf (revision 32320)
+++ src/integration-tests/confs/test_defaults.conf (working copy)
@@ -17,6 +17,7 @@
EXTERNAL_ADDRESS = 127.0.0.1
INTERNAL_ADDRESS = 127.0.0.1
BINDTO = 127.0.0.1
+RETURN_LOCAL_ADDRESSES = YES
[hostlist]
SERVERS =

View File

@ -0,0 +1,24 @@
commit fd0df6d098b1e6a4f60275c48a3ec88d15ba1fbb
Author: Colin Watson <cjwatson@ubuntu.com>
Date: Fri Nov 29 12:19:36 2013 +0000
Fix build with FreeType 2.5.1
* util/grub-gen-asciih.c: Include FT_SYNTHESIS_H rather than
<freetype/ftsynth.h>, fixing build with FreeType 2.5.1.
* util/grub-gen-widthspec.c: Likewise.
* util/grub-mkfont.c: Likewise.
diff --git a/util/grub-mkfont.c b/util/grub-mkfont.c
index 0d8eb78..242dd01 100644
--- a/util/grub-mkfont.c
+++ b/util/grub-mkfont.c
@@ -43,7 +43,7 @@
#include FT_FREETYPE_H
#include FT_TRUETYPE_TAGS_H
#include FT_TRUETYPE_TABLES_H
-#include <freetype/ftsynth.h>
+#include FT_SYNTHESIS_H
#undef __FTERRORS_H__
#define FT_ERROR_START_LIST const char *ft_errmsgs[] = {

View File

@ -1,154 +0,0 @@
From 0922145c255bf2503d3b2dd5f8f1e813338ba990 Mon Sep 17 00:00:00 2001
From: Mats Palmgren <mats@mozilla.com>
Date: Sat, 24 Jan 2015 12:37:47 -0500
Subject: [PATCH] Bug 1110557. r=mak, r=gavin, a=bkerensa
---
.../components/satchel/nsFormFillController.cpp | 67 +++++++++++++++-------
toolkit/components/satchel/nsFormFillController.h | 5 ++
2 files changed, 52 insertions(+), 20 deletions(-)
diff --git a/toolkit/components/satchel/nsFormFillController.cpp b/toolkit/components/satchel/nsFormFillController.cpp
index 315fc68..676ad84 100644
--- a/toolkit/components/satchel/nsFormFillController.cpp
+++ b/toolkit/components/satchel/nsFormFillController.cpp
@@ -61,6 +61,7 @@ nsFormFillController::nsFormFillController() :
mSuppressOnInput(false)
{
mController = do_GetService("@mozilla.org/autocomplete/controller;1");
+ MOZ_ASSERT(mController);
}
struct PwmgrInputsEnumData
@@ -104,6 +105,21 @@ nsFormFillController::AttributeChanged(nsIDocument* aDocument,
int32_t aNameSpaceID,
nsIAtom* aAttribute, int32_t aModType)
{
+ if ((aAttribute == nsGkAtoms::type || aAttribute == nsGkAtoms::readonly ||
+ aAttribute == nsGkAtoms::autocomplete) &&
+ aNameSpaceID == kNameSpaceID_None) {
+ nsCOMPtr<nsIDOMHTMLInputElement> focusedInput(mFocusedInput);
+ // Reset the current state of the controller, unconditionally.
+ StopControllingInput();
+ // Then restart based on the new values. We have to delay this
+ // to avoid ending up in an endless loop due to re-registering our
+ // mutation observer (which would notify us again for *this* event).
+ nsCOMPtr<nsIRunnable> event =
+ NS_NewRunnableMethodWithArg<nsCOMPtr<nsIDOMHTMLInputElement>>
+ (this, &nsFormFillController::MaybeStartControllingInput, focusedInput);
+ NS_DispatchToCurrentThread(event);
+ }
+
if (mListNode && mListNode->Contains(aElement)) {
RevalidateDataList();
}
@@ -841,28 +857,26 @@ nsFormFillController::RemoveForDocumentEnumerator(const nsINode* aKey,
return PL_DHASH_NEXT;
}
-nsresult
-nsFormFillController::Focus(nsIDOMEvent* aEvent)
+void
+nsFormFillController::MaybeStartControllingInput(nsIDOMHTMLInputElement* aInput)
{
- nsCOMPtr<nsIDOMHTMLInputElement> input = do_QueryInterface(
- aEvent->InternalDOMEvent()->GetTarget());
- nsCOMPtr<nsINode> inputNode = do_QueryInterface(input);
+ nsCOMPtr<nsINode> inputNode = do_QueryInterface(aInput);
if (!inputNode)
- return NS_OK;
+ return;
- nsCOMPtr<nsIFormControl> formControl = do_QueryInterface(input);
+ nsCOMPtr<nsIFormControl> formControl = do_QueryInterface(aInput);
if (!formControl || !formControl->IsSingleLineTextControl(true))
- return NS_OK;
+ return;
bool isReadOnly = false;
- input->GetReadOnly(&isReadOnly);
+ aInput->GetReadOnly(&isReadOnly);
if (isReadOnly)
- return NS_OK;
+ return;
- bool autocomplete = nsContentUtils::IsAutocompleteEnabled(input);
+ bool autocomplete = nsContentUtils::IsAutocompleteEnabled(aInput);
nsCOMPtr<nsIDOMHTMLElement> datalist;
- input->GetList(getter_AddRefs(datalist));
+ aInput->GetList(getter_AddRefs(datalist));
bool hasList = datalist != nullptr;
bool dummy;
@@ -871,9 +885,16 @@ nsFormFillController::Focus(nsIDOMEvent* aEvent)
isPwmgrInput = true;
if (isPwmgrInput || hasList || autocomplete) {
- StartControllingInput(input);
+ StartControllingInput(aInput);
}
+}
+nsresult
+nsFormFillController::Focus(nsIDOMEvent* aEvent)
+{
+ nsCOMPtr<nsIDOMHTMLInputElement> input = do_QueryInterface(
+ aEvent->InternalDOMEvent()->GetTarget());
+ MaybeStartControllingInput(input);
return NS_OK;
}
@@ -1087,6 +1108,10 @@ nsFormFillController::StartControllingInput(nsIDOMHTMLInputElement *aInput)
// Make sure we're not still attached to an input
StopControllingInput();
+ if (!mController) {
+ return;
+ }
+
// Find the currently focused docShell
nsCOMPtr<nsIDocShell> docShell = GetDocShellForInput(aInput);
int32_t index = GetIndexOfDocShell(docShell);
@@ -1129,13 +1154,15 @@ nsFormFillController::StopControllingInput()
mListNode = nullptr;
}
- // Reset the controller's input, but not if it has been switched
- // to another input already, which might happen if the user switches
- // focus by clicking another autocomplete textbox
- nsCOMPtr<nsIAutoCompleteInput> input;
- mController->GetInput(getter_AddRefs(input));
- if (input == this)
- mController->SetInput(nullptr);
+ if (mController) {
+ // Reset the controller's input, but not if it has been switched
+ // to another input already, which might happen if the user switches
+ // focus by clicking another autocomplete textbox
+ nsCOMPtr<nsIAutoCompleteInput> input;
+ mController->GetInput(getter_AddRefs(input));
+ if (input == this)
+ mController->SetInput(nullptr);
+ }
if (mFocusedInputNode) {
MaybeRemoveMutationObserver(mFocusedInputNode);
diff --git a/toolkit/components/satchel/nsFormFillController.h b/toolkit/components/satchel/nsFormFillController.h
index b60d28d..8c3ba26 100644
--- a/toolkit/components/satchel/nsFormFillController.h
+++ b/toolkit/components/satchel/nsFormFillController.h
@@ -62,6 +62,11 @@ protected:
void StartControllingInput(nsIDOMHTMLInputElement *aInput);
void StopControllingInput();
+ /**
+ * Checks that aElement is a type of element we want to fill, then calls
+ * StartControllingInput on it.
+ */
+ void MaybeStartControllingInput(nsIDOMHTMLInputElement* aElement);
nsresult PerformInputListAutoComplete(nsIAutoCompleteResult* aPreviousResult);
--
2.2.1

View File

@ -1,33 +0,0 @@
From 28b6204b1421aa57b3c10c43d90cb516910bc80f Mon Sep 17 00:00:00 2001
From: Markus Stange <mstange@themasta.com>
Date: Tue, 6 Jan 2015 12:08:39 +0100
Subject: [PATCH] Bug 1117304 - Also do the checks at the start of CopyRect in
release builds. r=Bas, a=sledru
---
gfx/2d/FilterNodeSoftware.cpp | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp
index 00d790f..396d0da 100644
--- a/gfx/2d/FilterNodeSoftware.cpp
+++ b/gfx/2d/FilterNodeSoftware.cpp
@@ -253,9 +253,12 @@ CopyRect(DataSourceSurface* aSrc, DataSourceSurface* aDest,
MOZ_CRASH("we should never be getting invalid rects at this point");
}
- MOZ_ASSERT(aSrc->GetFormat() == aDest->GetFormat(), "different surface formats");
- MOZ_ASSERT(IntRect(IntPoint(), aSrc->GetSize()).Contains(aSrcRect), "source rect too big for source surface");
- MOZ_ASSERT(IntRect(IntPoint(), aDest->GetSize()).Contains(aSrcRect - aSrcRect.TopLeft() + aDestPoint), "dest surface too small");
+ MOZ_RELEASE_ASSERT(aSrc->GetFormat() == aDest->GetFormat(),
+ "different surface formats");
+ MOZ_RELEASE_ASSERT(IntRect(IntPoint(), aSrc->GetSize()).Contains(aSrcRect),
+ "source rect too big for source surface");
+ MOZ_RELEASE_ASSERT(IntRect(IntPoint(), aDest->GetSize()).Contains(IntRect(aDestPoint, aSrcRect.Size())),
+ "dest surface too small");
if (aSrcRect.IsEmpty()) {
return;
--
2.2.1

View File

@ -1,35 +0,0 @@
From 5ff75fbe51d5760a96b4e614617c9cbf35f1fbaa Mon Sep 17 00:00:00 2001
From: Markus Stange <mstange@themasta.com>
Date: Mon, 5 Jan 2015 18:40:27 +0100
Subject: [PATCH] Bug 1117304 - Make sure the tile filter doesn't call CopyRect
on surfaces with different formats. r=Bas, a=sledru
---
gfx/2d/FilterNodeSoftware.cpp | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp
index 396d0da..10d92c6 100644
--- a/gfx/2d/FilterNodeSoftware.cpp
+++ b/gfx/2d/FilterNodeSoftware.cpp
@@ -1568,7 +1568,16 @@ FilterNodeTileSoftware::Render(const IntRect& aRect)
return nullptr;
}
}
- MOZ_ASSERT(input->GetFormat() == target->GetFormat(), "different surface formats from the same input?");
+
+ if (input->GetFormat() != target->GetFormat()) {
+ // Different rectangles of the input can have different formats. If
+ // that happens, just convert everything to B8G8R8A8.
+ target = FilterProcessing::ConvertToB8G8R8A8(target);
+ input = FilterProcessing::ConvertToB8G8R8A8(input);
+ if (MOZ2D_WARN_IF(!target) || MOZ2D_WARN_IF(!input)) {
+ return nullptr;
+ }
+ }
CopyRect(input, target, srcRect - srcRect.TopLeft(), destRect.TopLeft() - aRect.TopLeft());
}
--
2.2.1

View File

@ -1,56 +0,0 @@
From c91087708686ae1c47abee65e19536688e5ec8f2 Mon Sep 17 00:00:00 2001
From: Ryan VanderMeulen <ryanvm@gmail.com>
Date: Mon, 26 Jan 2015 17:24:46 -0500
Subject: [PATCH] Bug 1117304 - Add missing MOZ2D_WARN_IF definition to fix
bustage. r=milan, a=bustage
---
gfx/2d/FilterNodeSoftware.cpp | 1 +
gfx/2d/Logging.h | 19 +++++++++++++++++++
2 files changed, 20 insertions(+)
diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp
index 10d92c6..48bf162 100644
--- a/gfx/2d/FilterNodeSoftware.cpp
+++ b/gfx/2d/FilterNodeSoftware.cpp
@@ -12,6 +12,7 @@
#include "Blur.h"
#include <map>
#include "FilterProcessing.h"
+#include "Logging.h"
#include "mozilla/PodOperations.h"
#include "mozilla/DebugOnly.h"
diff --git a/gfx/2d/Logging.h b/gfx/2d/Logging.h
index 85e788c..d7728bb 100644
--- a/gfx/2d/Logging.h
+++ b/gfx/2d/Logging.h
@@ -155,6 +155,25 @@ typedef Log<LOG_WARNING> WarningLog;
#define gfxWarning if (1) ; else NoLog
#endif
+// See nsDebug.h and the NS_WARN_IF macro
+
+#ifdef __cplusplus
+#ifdef DEBUG
+inline bool MOZ2D_warn_if_impl(bool aCondition, const char* aExpr,
+ const char* aFile, int32_t aLine)
+{
+ if (MOZ_UNLIKELY(aCondition)) {
+ gfxWarning() << aExpr << " at " << aFile << ":" << aLine;
+ }
+ return aCondition;
+}
+#define MOZ2D_WARN_IF(condition) \
+ MOZ2D_warn_if_impl(condition, #condition, __FILE__, __LINE__)
+#else
+#define MOZ2D_WARN_IF(condition) (bool)(condition)
+#endif
+#endif
+
const int INDENT_PER_LEVEL = 2;
class TreeLog
--
2.2.1

View File

@ -1,32 +0,0 @@
From c8437505a63fc2b2552b8af217d60d79abb92ba3 Mon Sep 17 00:00:00 2001
From: Ben Turner <bent.mozilla@gmail.com>
Date: Fri, 6 Feb 2015 15:25:33 -0800
Subject: [PATCH] Bug 1130541. r=janv, a=sledru
---
dom/indexedDB/IDBDatabase.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/dom/indexedDB/IDBDatabase.cpp b/dom/indexedDB/IDBDatabase.cpp
index 7329cec..c9c7e4f 100644
--- a/dom/indexedDB/IDBDatabase.cpp
+++ b/dom/indexedDB/IDBDatabase.cpp
@@ -536,6 +536,7 @@ IDBDatabase::CreateObjectStore(
IDBTransaction* transaction = AsyncConnectionHelper::GetCurrentTransaction();
if (!transaction ||
+ transaction->Database() != this ||
transaction->GetMode() != IDBTransaction::VERSION_CHANGE) {
aRv.Throw(NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR);
return nullptr;
@@ -577,6 +578,7 @@ IDBDatabase::DeleteObjectStore(const nsAString& aName, ErrorResult& aRv)
IDBTransaction* transaction = AsyncConnectionHelper::GetCurrentTransaction();
if (!transaction ||
+ transaction->Database() != this ||
transaction->GetMode() != IDBTransaction::VERSION_CHANGE) {
aRv.Throw(NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR);
return;
--
2.2.1

View File

@ -1,26 +0,0 @@
From 4e799e44288c951f8d9acd17e7d8c56c9ee6a7d3 Mon Sep 17 00:00:00 2001
From: Ben Turner <bent.mozilla@gmail.com>
Date: Mon, 9 Feb 2015 14:38:26 -0800
Subject: [PATCH] Bug 1130541 followup a=test-only
--HG--
extra : amend_source : 23d80353f87897fdac9c99048d12ebe4ed390f76
---
dom/indexedDB/test/browser_quotaPrompt.html | 1 +
1 file changed, 1 insertion(+)
diff --git a/dom/indexedDB/test/browser_quotaPrompt.html b/dom/indexedDB/test/browser_quotaPrompt.html
index c139970..dbeea68 100644
--- a/dom/indexedDB/test/browser_quotaPrompt.html
+++ b/dom/indexedDB/test/browser_quotaPrompt.html
@@ -38,6 +38,7 @@
let request = indexedDB.open(window.location.pathname, version++);
request.onerror = errorHandler;
request.onupgradeneeded = function(event) {
+ let db = event.target.result;
db.deleteObjectStore("foo");
db.onversionchange = function () { db.close(); };
request.transaction.oncomplete = function(event) {
--
2.2.1

View File

@ -1,26 +0,0 @@
From 4106ffa6ee83b814428bb07948b3595e3fa3847e Mon Sep 17 00:00:00 2001
From: Jan de Mooij <jdemooij@mozilla.com>
Date: Tue, 10 Feb 2015 09:40:46 +0100
Subject: [PATCH] Bug 1128196 - Don't relazify scripts with a TypeScript.
r=till, a=lmandel
---
js/src/jsscript.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/js/src/jsscript.h b/js/src/jsscript.h
index 4d548ef..9a0cfbb 100644
--- a/js/src/jsscript.h
+++ b/js/src/jsscript.h
@@ -1251,7 +1251,7 @@ class JSScript : public js::gc::BarrieredCell<JSScript>
}
bool isRelazifiable() const {
- return (selfHosted() || lazyScript) &&
+ return (selfHosted() || lazyScript) && !types &&
!isGenerator() && !hasBaselineScript() && !hasAnyIonScript() && !hasBeenInlined();
}
void setLazyScript(js::LazyScript *lazy) {
--
2.2.1

View File

@ -1,27 +0,0 @@
From 83c4bfeea2d2203f726e3bfcb7ee6fe56b4d9703 Mon Sep 17 00:00:00 2001
From: Ryan VanderMeulen <ryanvm@gmail.com>
Date: Thu, 29 Jan 2015 10:31:25 -0500
Subject: [PATCH] Bug 1111248. r=Waldo, a=sledru
---
js/src/jsbool.cpp | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/js/src/jsbool.cpp b/js/src/jsbool.cpp
index 5d88bd5..8d5d672 100644
--- a/js/src/jsbool.cpp
+++ b/js/src/jsbool.cpp
@@ -198,7 +198,8 @@ js::ToBooleanSlow(HandleValue v)
bool
js::BooleanGetPrimitiveValueSlow(HandleObject wrappedBool)
{
- JSObject *obj = wrappedBool->as<ProxyObject>().target();
- JS_ASSERT(obj);
+ JSObject *obj = CheckedUnwrap(wrappedBool);
+ if (!obj || !obj->is<BooleanObject>())
+ return false;
return obj->as<BooleanObject>().unbox();
}
--
2.2.1

View File

@ -1,220 +0,0 @@
From 4e4e34238e5bb5af83a645a5f4d2097e3b30e9dd Mon Sep 17 00:00:00 2001
From: Tom Schuster <evilpies@gmail.com>
Date: Sun, 25 Jan 2015 21:42:10 +0100
Subject: [PATCH] Bug 1111243 - Implement ES6 proxy behavior for IsArray.
r=efaust, a=abillings
---
browser/devtools/app-manager/app-projects.js | 2 ++
js/public/Class.h | 5 +++-
js/src/jsarray.cpp | 9 ++++--
js/src/jsobjinlines.h | 15 +++++++++-
js/src/json.cpp | 11 +++----
js/src/jsproxy.cpp | 45 ++++++++++++++++++++++++++++
6 files changed, 78 insertions(+), 9 deletions(-)
diff --git a/browser/devtools/app-manager/app-projects.js b/browser/devtools/app-manager/app-projects.js
index d09f72f..77ca67b 100644
--- a/browser/devtools/app-manager/app-projects.js
+++ b/browser/devtools/app-manager/app-projects.js
@@ -61,6 +61,8 @@ const IDB = {
add: function(project) {
let deferred = promise.defer();
+ project = JSON.parse(JSON.stringify(project));
+
if (!project.location) {
// We need to make sure this object has a `.location` property.
deferred.reject("Missing location property on project object.");
diff --git a/js/public/Class.h b/js/public/Class.h
index ff864b1..46f7d39 100644
--- a/js/public/Class.h
+++ b/js/public/Class.h
@@ -521,7 +521,10 @@ Valueify(const JSClass *c)
*/
enum ESClassValue {
ESClass_Array, ESClass_Number, ESClass_String, ESClass_Boolean,
- ESClass_RegExp, ESClass_ArrayBuffer, ESClass_Date
+ ESClass_RegExp, ESClass_ArrayBuffer, ESClass_Date,
+ // Special snowflake for the ES6 IsArray method.
+ // Please don't use it without calling that function.
+ ESClass_IsArray
};
/*
diff --git a/js/src/jsarray.cpp b/js/src/jsarray.cpp
index 24da176..46f1c20 100644
--- a/js/src/jsarray.cpp
+++ b/js/src/jsarray.cpp
@@ -2645,7 +2645,8 @@ js::array_concat(JSContext *cx, unsigned argc, Value *vp)
HandleValue v = HandleValue::fromMarkedLocation(&p[i]);
if (v.isObject()) {
RootedObject obj(cx, &v.toObject());
- if (ObjectClassIs(obj, ESClass_Array, cx)) {
+ // This should be IsConcatSpreadable
+ if (IsArray(obj, cx)) {
uint32_t alength;
if (!GetLengthProperty(cx, obj, &alength))
return false;
@@ -2870,7 +2871,11 @@ static bool
array_isArray(JSContext *cx, unsigned argc, Value *vp)
{
CallArgs args = CallArgsFromVp(argc, vp);
- bool isArray = args.length() > 0 && IsObjectWithClass(args[0], ESClass_Array, cx);
+ bool isArray = false;
+ if (args.get(0).isObject()) {
+ RootedObject obj(cx, &args[0].toObject());
+ isArray = IsArray(obj, cx);
+ }
args.rval().setBoolean(isArray);
return true;
}
diff --git a/js/src/jsobjinlines.h b/js/src/jsobjinlines.h
index e848ba7..557dd26 100644
--- a/js/src/jsobjinlines.h
+++ b/js/src/jsobjinlines.h
@@ -1032,7 +1032,10 @@ ObjectClassIs(HandleObject obj, ESClassValue classValue, JSContext *cx)
return Proxy::objectClassIs(obj, classValue, cx);
switch (classValue) {
- case ESClass_Array: return obj->is<ArrayObject>();
+ case ESClass_Array:
+ case ESClass_IsArray:
+ // There difference between those is only relevant for proxies.
+ return obj->is<ArrayObject>();
case ESClass_Number: return obj->is<NumberObject>();
case ESClass_String: return obj->is<StringObject>();
case ESClass_Boolean: return obj->is<BooleanObject>();
@@ -1053,6 +1056,16 @@ IsObjectWithClass(const Value &v, ESClassValue classValue, JSContext *cx)
return ObjectClassIs(obj, classValue, cx);
}
+// ES6 7.2.2
+inline bool
+IsArray(HandleObject obj, JSContext *cx)
+{
+ if (obj->is<ArrayObject>())
+ return true;
+
+ return ObjectClassIs(obj, ESClass_IsArray, cx);
+}
+
static MOZ_ALWAYS_INLINE bool
NewObjectMetadata(ExclusiveContext *cxArg, JSObject **pmetadata)
{
diff --git a/js/src/json.cpp b/js/src/json.cpp
index 6e45bfd..81a99a6 100644
--- a/js/src/json.cpp
+++ b/js/src/json.cpp
@@ -300,7 +300,7 @@ JO(JSContext *cx, HandleObject obj, StringifyContext *scx)
Maybe<AutoIdVector> ids;
const AutoIdVector *props;
if (scx->replacer && !scx->replacer->isCallable()) {
- JS_ASSERT(JS_IsArrayObject(cx, scx->replacer));
+ JS_ASSERT(IsArray(scx->replacer, cx));
props = &scx->propertyList;
} else {
JS_ASSERT_IF(scx->replacer, scx->propertyList.length() == 0);
@@ -488,7 +488,7 @@ Str(JSContext *cx, const Value &v, StringifyContext *scx)
scx->depth++;
bool ok;
- if (ObjectClassIs(obj, ESClass_Array, cx))
+ if (IsArray(obj, cx))
ok = JA(cx, obj, scx);
else
ok = JO(cx, obj, scx);
@@ -510,7 +510,7 @@ js_Stringify(JSContext *cx, MutableHandleValue vp, JSObject *replacer_, Value sp
if (replacer) {
if (replacer->isCallable()) {
/* Step 4a(i): use replacer to transform values. */
- } else if (ObjectClassIs(replacer, ESClass_Array, cx)) {
+ } else if (IsArray(replacer, cx)) {
/*
* Step 4b: The spec algorithm is unhelpfully vague about the exact
* steps taken when the replacer is an array, regarding the exact
@@ -541,7 +541,8 @@ js_Stringify(JSContext *cx, MutableHandleValue vp, JSObject *replacer_, Value sp
/* Step 4b(ii). */
uint32_t len;
- JS_ALWAYS_TRUE(GetLengthProperty(cx, replacer, &len));
+ if (!GetLengthProperty(cx, replacer, &len))
+ return false;
if (replacer->is<ArrayObject>() && !replacer->isIndexed())
len = Min(len, replacer->getDenseInitializedLength());
@@ -678,7 +679,7 @@ Walk(JSContext *cx, HandleObject holder, HandleId name, HandleValue reviver, Mut
if (val.isObject()) {
RootedObject obj(cx, &val.toObject());
- if (ObjectClassIs(obj, ESClass_Array, cx)) {
+ if (IsArray(obj, cx)) {
/* Step 2a(ii). */
uint32_t length;
if (!GetLengthProperty(cx, obj, &length))
diff --git a/js/src/jsproxy.cpp b/js/src/jsproxy.cpp
index 7644da1..7453103 100644
--- a/js/src/jsproxy.cpp
+++ b/js/src/jsproxy.cpp
@@ -1108,6 +1108,14 @@ class ScriptedDirectProxyHandler : public DirectProxyHandler {
virtual bool isExtensible(JSContext *cx, HandleObject proxy, bool *extensible) MOZ_OVERRIDE;
/* Spidermonkey extensions. */
+ // A scripted proxy should not be treated as generic in most contexts.
+ virtual bool nativeCall(JSContext *cx, IsAcceptableThis test, NativeImpl impl,
+ CallArgs args) MOZ_OVERRIDE;
+ virtual bool objectClassIs(HandleObject obj, ESClassValue classValue,
+ JSContext *cx) MOZ_OVERRIDE;
+ virtual bool regexp_toShared(JSContext *cx, HandleObject proxy,
+ RegExpGuard *g) MOZ_OVERRIDE;
+
virtual bool call(JSContext *cx, HandleObject proxy, const CallArgs &args) MOZ_OVERRIDE;
virtual bool construct(JSContext *cx, HandleObject proxy, const CallArgs &args) MOZ_OVERRIDE;
virtual bool isScripted() MOZ_OVERRIDE { return true; }
@@ -2350,6 +2358,43 @@ ScriptedDirectProxyHandler::construct(JSContext *cx, HandleObject proxy, const C
return true;
}
+bool
+ScriptedDirectProxyHandler::nativeCall(JSContext *cx, IsAcceptableThis test, NativeImpl impl,
+ CallArgs args)
+{
+ ReportIncompatible(cx, args);
+ return false;
+}
+
+bool
+ScriptedDirectProxyHandler::objectClassIs(HandleObject proxy, ESClassValue classValue,
+ JSContext *cx)
+{
+ // Special case IsArray. In every other instance ES wants to have exactly
+ // one object type and not a proxy around it, so return false.
+ if (classValue != ESClass_IsArray)
+ return false;
+
+ // In ES6 IsArray is supposed to poke at the Proxy target, instead we do this here.
+ // The reason for this is that we have proxies for which looking at the target might
+ // be impossible. So instead we use our little objectClassIs function that just works
+ // already across different wrappers.
+ RootedObject target(cx, proxy->as<ProxyObject>().target());
+ if (!target)
+ return false;
+
+ return IsArray(target, cx);
+}
+
+bool
+ScriptedDirectProxyHandler::regexp_toShared(JSContext *cx, HandleObject proxy,
+ RegExpGuard *g)
+{
+ MOZ_CRASH("Should not end up in ScriptedDirectProxyHandler::regexp_toShared");
+ return false;
+}
+
+
ScriptedDirectProxyHandler ScriptedDirectProxyHandler::singleton;
#define INVOKE_ON_PROTOTYPE(cx, handler, proxy, protoCall) \
--
2.2.1

View File

@ -1,89 +0,0 @@
From 97ba04bf95606b409b1b3035504a41c274ecffe2 Mon Sep 17 00:00:00 2001
From: Shu-yu Guo <shu@rfrn.org>
Date: Mon, 26 Jan 2015 18:26:25 -0800
Subject: [PATCH] Bug 1119579 - Don't GC while iterating compartments in
findAllGlobals. r=sfink, a=abillings
---
js/src/vm/Debugger.cpp | 56 ++++++++++++++++++++++++++++++--------------------
1 file changed, 34 insertions(+), 22 deletions(-)
diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp
index 27e993d..a8decef 100644
--- a/js/src/vm/Debugger.cpp
+++ b/js/src/vm/Debugger.cpp
@@ -2825,37 +2825,49 @@ Debugger::findAllGlobals(JSContext *cx, unsigned argc, Value *vp)
{
THIS_DEBUGGER(cx, argc, vp, "findAllGlobals", args, dbg);
- RootedObject result(cx, NewDenseEmptyArray(cx));
- if (!result)
- return false;
+ AutoObjectVector globals(cx);
- for (CompartmentsIter c(cx->runtime(), SkipAtoms); !c.done(); c.next()) {
- if (c->options().invisibleToDebugger())
- continue;
+ {
+ // Accumulate the list of globals before wrapping them, because
+ // wrapping can GC and collect compartments from under us, while
+ // iterating.
- c->zone()->scheduledForDestruction = false;
+ for (CompartmentsIter c(cx->runtime(), SkipAtoms); !c.done(); c.next()) {
+ if (c->options().invisibleToDebugger())
+ continue;
- GlobalObject *global = c->maybeGlobal();
+ c->zone()->scheduledForDestruction = false;
- if (cx->runtime()->isSelfHostingGlobal(global))
- continue;
+ GlobalObject *global = c->maybeGlobal();
- if (global) {
- /*
- * We pulled |global| out of nowhere, so it's possible that it was
- * marked gray by XPConnect. Since we're now exposing it to JS code,
- * we need to mark it black.
- */
- JS::ExposeGCThingToActiveJS(global, JSTRACE_OBJECT);
+ if (cx->runtime()->isSelfHostingGlobal(global))
+ continue;
- RootedValue globalValue(cx, ObjectValue(*global));
- if (!dbg->wrapDebuggeeValue(cx, &globalValue))
- return false;
- if (!NewbornArrayPush(cx, result, globalValue))
- return false;
+ if (global) {
+ /*
+ * We pulled |global| out of nowhere, so it's possible that it was
+ * marked gray by XPConnect. Since we're now exposing it to JS code,
+ * we need to mark it black.
+ */
+ JS::ExposeGCThingToActiveJS(global, JSTRACE_OBJECT);
+ if (!globals.append(global))
+ return false;
+ }
}
}
+ RootedObject result(cx, NewDenseEmptyArray(cx));
+ if (!result)
+ return false;
+
+ for (size_t i = 0; i < globals.length(); i++) {
+ RootedValue globalValue(cx, ObjectValue(*globals[i]));
+ if (!dbg->wrapDebuggeeValue(cx, &globalValue))
+ return false;
+ if (!NewbornArrayPush(cx, result, globalValue))
+ return false;
+ }
+
args.rval().setObject(*result);
return true;
}
--
2.2.1

View File

@ -1,25 +0,0 @@
From 746ddf19ff532b8abc90d3a91322a04b462ebfa8 Mon Sep 17 00:00:00 2001
From: Brian Hackett <bhackett1024@gmail.com>
Date: Mon, 26 Jan 2015 13:14:34 -0500
Subject: [PATCH] Bug 1124018 - Null the allocation site table if
initialization fails. r=jonco, a=bkerensa
---
js/src/jsinfer.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/js/src/jsinfer.cpp b/js/src/jsinfer.cpp
index b62ad1f..4019b16 100644
--- a/js/src/jsinfer.cpp
+++ b/js/src/jsinfer.cpp
@@ -2035,6 +2035,7 @@ TypeCompartment::addAllocationSiteTypeObject(JSContext *cx, AllocationSiteKey ke
allocationSiteTable = cx->new_<AllocationSiteTable>();
if (!allocationSiteTable || !allocationSiteTable->init()) {
js_delete(allocationSiteTable);
+ allocationSiteTable = nullptr;
return nullptr;
}
}
--
2.2.1

View File

@ -1,41 +0,0 @@
From 0758363d982b0b3e6cf021c164715a028a345b9e Mon Sep 17 00:00:00 2001
From: "Byron Campen [:bwc]" <docfaraday@gmail.com>
Date: Wed, 21 Jan 2015 08:56:36 -0800
Subject: [PATCH] Bug 1123882 - Fix case where offset != 0. r=derf, a=bkerensa
---
content/media/MediaDecoderStateMachine.cpp | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/content/media/MediaDecoderStateMachine.cpp b/content/media/MediaDecoderStateMachine.cpp
index ce5870f..4ed496c 100644
--- a/content/media/MediaDecoderStateMachine.cpp
+++ b/content/media/MediaDecoderStateMachine.cpp
@@ -328,6 +328,8 @@ void MediaDecoderStateMachine::SendStreamAudio(AudioData* aAudio,
if (offset >= aAudio->mFrames)
return;
+ size_t framesToWrite = aAudio->mFrames - offset;
+
aAudio->EnsureAudioBuffer();
nsRefPtr<SharedBuffer> buffer = aAudio->mAudioBuffer;
AudioDataValue* bufferData = static_cast<AudioDataValue*>(buffer->Data());
@@ -335,10 +337,11 @@ void MediaDecoderStateMachine::SendStreamAudio(AudioData* aAudio,
for (uint32_t i = 0; i < aAudio->mChannels; ++i) {
channels.AppendElement(bufferData + i*aAudio->mFrames + offset);
}
- aOutput->AppendFrames(buffer.forget(), channels, aAudio->mFrames);
- VERBOSE_LOG("writing %d frames of data to MediaStream for AudioData at %lld",
- aAudio->mFrames - int32_t(offset), aAudio->mTime);
- aStream->mAudioFramesWritten += aAudio->mFrames - int32_t(offset);
+ aOutput->AppendFrames(buffer.forget(), channels, framesToWrite);
+ VERBOSE_LOG("writing %u frames of data to MediaStream for AudioData at %lld",
+ static_cast<unsigned>(framesToWrite),
+ aAudio->mTime);
+ aStream->mAudioFramesWritten += framesToWrite;
}
static void WriteVideoToMediaStream(layers::Image* aImage,
--
2.2.1

View File

@ -1,54 +0,0 @@
From 94899f849e50a765bb26420f5c70d49002d6673f Mon Sep 17 00:00:00 2001
From: Glenn Randers-Pehrson <glennrp+bmo@gmail.com>
Date: Mon, 26 Jan 2015 16:07:00 -0500
Subject: [PATCH] Bug 1117406 - Fix handling of out-of-range PNG tRNS values.
r=jmuizelaar, a=abillings
---
image/decoders/nsPNGDecoder.cpp | 22 ++++++++++++----------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/image/decoders/nsPNGDecoder.cpp b/image/decoders/nsPNGDecoder.cpp
index acaa835..8e6bc2d 100644
--- a/image/decoders/nsPNGDecoder.cpp
+++ b/image/decoders/nsPNGDecoder.cpp
@@ -528,24 +528,26 @@ nsPNGDecoder::info_callback(png_structp png_ptr, png_infop info_ptr)
png_set_expand(png_ptr);
if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) {
- int sample_max = (1 << bit_depth);
png_color_16p trans_values;
png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, &trans_values);
/* libpng doesn't reject a tRNS chunk with out-of-range samples
so we check it here to avoid setting up a useless opacity
- channel or producing unexpected transparent pixels when using
- libpng-1.2.19 through 1.2.26 (bug #428045) */
- if ((color_type == PNG_COLOR_TYPE_GRAY &&
- (int)trans_values->gray > sample_max) ||
- (color_type == PNG_COLOR_TYPE_RGB &&
- ((int)trans_values->red > sample_max ||
- (int)trans_values->green > sample_max ||
- (int)trans_values->blue > sample_max)))
+ channel or producing unexpected transparent pixels (bug #428045) */
+ if (bit_depth < 16) {
+ png_uint_16 sample_max = (1 << bit_depth) - 1;
+ if ((color_type == PNG_COLOR_TYPE_GRAY &&
+ trans_values->gray > sample_max) ||
+ (color_type == PNG_COLOR_TYPE_RGB &&
+ (trans_values->red > sample_max ||
+ trans_values->green > sample_max ||
+ trans_values->blue > sample_max)))
{
/* clear the tRNS valid flag and release tRNS memory */
png_free_data(png_ptr, info_ptr, PNG_FREE_TRNS, 0);
+ num_trans = 0;
}
- else
+ }
+ if (num_trans != 0)
png_set_expand(png_ptr);
}
--
2.2.1

View File

@ -1,53 +0,0 @@
From 4920c5c447d1153dffa623dd70d8b535b9ca6795 Mon Sep 17 00:00:00 2001
From: Jan de Mooij <jdemooij@mozilla.com>
Date: Mon, 26 Jan 2015 12:59:47 +0100
Subject: [PATCH] Bug 1115776 - Fix LApplyArgsGeneric to always emit the
has-script check. r=shu, a=sledru
---
js/src/jit/CodeGenerator.cpp | 24 ++++++++----------------
1 file changed, 8 insertions(+), 16 deletions(-)
diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
index ba14f86..0669692 100644
--- a/js/src/jit/CodeGenerator.cpp
+++ b/js/src/jit/CodeGenerator.cpp
@@ -2448,27 +2448,19 @@ CodeGenerator::visitApplyArgsGeneric(LApplyArgsGeneric *apply)
masm.checkStackAlignment();
- // If the function is known to be uncompilable, only emit the call to InvokeFunction.
+ // If the function is native, only emit the call to InvokeFunction.
ExecutionMode executionMode = gen->info().executionMode();
- if (apply->hasSingleTarget()) {
- JSFunction *target = apply->getSingleTarget();
- if (target->isNative()) {
- if (!emitCallInvokeFunction(apply, copyreg))
- return false;
- emitPopArguments(apply, copyreg);
- return true;
- }
+ if (apply->hasSingleTarget() && apply->getSingleTarget()->isNative()) {
+ if (!emitCallInvokeFunction(apply, copyreg))
+ return false;
+ emitPopArguments(apply, copyreg);
+ return true;
}
Label end, invoke;
- // Guard that calleereg is an interpreted function with a JSScript:
- if (!apply->hasSingleTarget()) {
- masm.branchIfFunctionHasNoScript(calleereg, &invoke);
- } else {
- // Native single targets are handled by LCallNative.
- JS_ASSERT(!apply->getSingleTarget()->isNative());
- }
+ // Guard that calleereg is an interpreted function with a JSScript.
+ masm.branchIfFunctionHasNoScript(calleereg, &invoke);
// Knowing that calleereg is a non-native function, load the JSScript.
masm.loadPtr(Address(calleereg, JSFunction::offsetOfNativeOrScript()), objreg);
--
2.2.1

View File

@ -1,52 +0,0 @@
From f7d24f37425d3d9054a7e5657815440a07166d3f Mon Sep 17 00:00:00 2001
From: Kartikaya Gupta <kgupta@mozilla.com>
Date: Tue, 20 Jan 2015 10:33:27 -0500
Subject: [PATCH] Bug 1107009 - Additional locking needed for esr31 backport.
r=BenWa a=sledru
---
gfx/layers/ipc/CompositorParent.cpp | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/gfx/layers/ipc/CompositorParent.cpp b/gfx/layers/ipc/CompositorParent.cpp
index 97c8693..cb03e71 100644
--- a/gfx/layers/ipc/CompositorParent.cpp
+++ b/gfx/layers/ipc/CompositorParent.cpp
@@ -1286,13 +1286,19 @@ CrossProcessCompositorParent::ShadowLayersUpdated(
{
uint64_t id = aLayerTree->GetId();
MOZ_ASSERT(id != 0);
+ const CompositorParent::LayerTreeState* state = CompositorParent::GetIndirectShadowTree(id);
+ if (!state) {
+ return;
+ }
+ MOZ_ASSERT(state->mParent);
+
Layer* shadowRoot = aLayerTree->GetRoot();
if (shadowRoot) {
SetShadowProperties(shadowRoot);
}
UpdateIndirectTree(id, shadowRoot, aTargetConfig);
- sIndirectLayerTrees[id].mParent->NotifyShadowTreeTransaction(id, aIsFirstPaint, aScheduleComposite);
+ state->mParent->NotifyShadowTreeTransaction(id, aIsFirstPaint, aScheduleComposite);
}
void
@@ -1329,7 +1335,12 @@ AsyncCompositionManager*
CrossProcessCompositorParent::GetCompositionManager(LayerTransactionParent* aLayerTree)
{
uint64_t id = aLayerTree->GetId();
- return sIndirectLayerTrees[id].mParent->GetCompositionManager(aLayerTree);
+ const CompositorParent::LayerTreeState* state = CompositorParent::GetIndirectShadowTree(id);
+ if (!state) {
+ return nullptr;
+ }
+ MOZ_ASSERT(state->mParent);
+ return state->mParent->GetCompositionManager(aLayerTree);
}
void
--
2.2.1

View File

@ -1,219 +0,0 @@
From 66e65b2138c6db20288ef4cf78d15995f382a7e2 Mon Sep 17 00:00:00 2001
From: Kartikaya Gupta <kgupta@mozilla.com>
Date: Tue, 13 Jan 2015 13:26:26 -0500
Subject: [PATCH] Bug 1107009. r=BenWa, a=sledru
---
gfx/layers/ipc/CompositorParent.cpp | 57 ++++++++++++++++++++++++++++++-------
1 file changed, 46 insertions(+), 11 deletions(-)
diff --git a/gfx/layers/ipc/CompositorParent.cpp b/gfx/layers/ipc/CompositorParent.cpp
index ce50277..cbbb2ef 100644
--- a/gfx/layers/ipc/CompositorParent.cpp
+++ b/gfx/layers/ipc/CompositorParent.cpp
@@ -22,6 +22,7 @@
#include "gfxPrefs.h" // for gfxPrefs
#include "ipc/ShadowLayersManager.h" // for ShadowLayersManager
#include "mozilla/AutoRestore.h" // for AutoRestore
+#include "mozilla/ClearOnShutdown.h" // for ClearOnShutdown
#include "mozilla/DebugOnly.h" // for DebugOnly
#include "mozilla/gfx/2D.h" // for DrawTarget
#include "mozilla/gfx/Point.h" // for IntSize
@@ -70,6 +71,16 @@ CompositorParent::LayerTreeState::LayerTreeState()
typedef map<uint64_t, CompositorParent::LayerTreeState> LayerTreeMap;
static LayerTreeMap sIndirectLayerTrees;
+static StaticAutoPtr<mozilla::Monitor> sIndirectLayerTreesLock;
+
+static void EnsureLayerTreeMapReady()
+{
+ MOZ_ASSERT(NS_IsMainThread());
+ if (!sIndirectLayerTreesLock) {
+ sIndirectLayerTreesLock = new Monitor("IndirectLayerTree");
+ mozilla::ClearOnShutdown(&sIndirectLayerTreesLock);
+ }
+}
// FIXME/bug 774386: we're assuming that there's only one
// CompositorParent, but that's not always true. This assumption only
@@ -132,6 +143,7 @@ void CompositorParent::StartUp()
return;
}
MOZ_ASSERT(!sCompositorLoop);
+ EnsureLayerTreeMapReady();
CreateCompositorMap();
CreateThread();
sMainLoop = MessageLoop::current();
@@ -206,7 +218,11 @@ CompositorParent::CompositorParent(nsIWidget* aWidget,
this, &mCompositorID));
mRootLayerTreeID = AllocateLayerTreeId();
- sIndirectLayerTrees[mRootLayerTreeID].mParent = this;
+
+ { // scope lock
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees[mRootLayerTreeID].mParent = this;
+ }
mApzcTreeManager = new APZCTreeManager();
++sCompositorThreadRefCount;
@@ -249,7 +265,10 @@ CompositorParent::Destroy()
mCompositionManager = nullptr;
mApzcTreeManager->ClearTree();
mApzcTreeManager = nullptr;
- sIndirectLayerTrees.erase(mRootLayerTreeID);
+ { // scope lock
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees.erase(mRootLayerTreeID);
+ }
}
void
@@ -266,6 +285,7 @@ CompositorParent::RecvWillStop()
// Ensure that the layer manager is destroyed before CompositorChild.
if (mLayerManager) {
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
for (LayerTreeMap::iterator it = sIndirectLayerTrees.begin();
it != sIndirectLayerTrees.end(); it++)
{
@@ -380,7 +400,10 @@ CompositorParent::ActorDestroy(ActorDestroyReason why)
if (mLayerManager) {
mLayerManager->Destroy();
mLayerManager = nullptr;
- sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = nullptr;
+ { // scope lock
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = nullptr;
+ }
mCompositionManager = nullptr;
mCompositor = nullptr;
}
@@ -696,6 +719,7 @@ CompositorParent::DidComposite()
{
unused << SendDidComposite(0);
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
for (LayerTreeMap::iterator it = sIndirectLayerTrees.begin();
it != sIndirectLayerTrees.end(); it++) {
LayerTreeState* lts = &it->second;
@@ -867,6 +891,7 @@ CompositorParent::InitializeLayerManager(const nsTArray<LayersBackend>& aBackend
mLayerManager = layerManager;
MOZ_ASSERT(compositor);
mCompositor = compositor;
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = layerManager;
return;
}
@@ -969,6 +994,7 @@ CompositorParent::RecvNotifyChildCreated(const uint64_t& child)
void
CompositorParent::NotifyChildCreated(uint64_t aChild)
{
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
sIndirectLayerTrees[aChild].mParent = this;
sIndirectLayerTrees[aChild].mLayerManager = mLayerManager;
}
@@ -985,6 +1011,7 @@ CompositorParent::AllocateLayerTreeId()
static void
EraseLayerState(uint64_t aId)
{
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
sIndirectLayerTrees.erase(aId);
}
@@ -1001,6 +1028,7 @@ UpdateControllerForLayersId(uint64_t aLayersId,
GeckoContentController* aController)
{
// Adopt ref given to us by SetControllerForLayerTree()
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
sIndirectLayerTrees[aLayersId].mController =
already_AddRefed<GeckoContentController>(aController);
}
@@ -1010,12 +1038,15 @@ ScopedLayerTreeRegistration::ScopedLayerTreeRegistration(uint64_t aLayersId,
GeckoContentController* aController)
: mLayersId(aLayersId)
{
+ EnsureLayerTreeMapReady();
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
sIndirectLayerTrees[aLayersId].mRoot = aRoot;
sIndirectLayerTrees[aLayersId].mController = aController;
}
ScopedLayerTreeRegistration::~ScopedLayerTreeRegistration()
{
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
sIndirectLayerTrees.erase(mLayersId);
}
@@ -1175,6 +1206,7 @@ CompositorParent::CloneToplevel(const InfallibleTArray<mozilla::ipc::ProtocolFdM
static void
UpdateIndirectTree(uint64_t aId, Layer* aRoot, const TargetConfig& aTargetConfig)
{
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
sIndirectLayerTrees[aId].mRoot = aRoot;
sIndirectLayerTrees[aId].mTargetConfig = aTargetConfig;
}
@@ -1182,6 +1214,7 @@ UpdateIndirectTree(uint64_t aId, Layer* aRoot, const TargetConfig& aTargetConfig
/* static */ const CompositorParent::LayerTreeState*
CompositorParent::GetIndirectShadowTree(uint64_t aId)
{
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
LayerTreeMap::const_iterator cit = sIndirectLayerTrees.find(aId);
if (sIndirectLayerTrees.end() == cit) {
return nullptr;
@@ -1189,12 +1222,6 @@ CompositorParent::GetIndirectShadowTree(uint64_t aId)
return &cit->second;
}
-static void
-RemoveIndirectTree(uint64_t aId)
-{
- sIndirectLayerTrees.erase(aId);
-}
-
void
CrossProcessCompositorParent::ActorDestroy(ActorDestroyReason aWhy)
{
@@ -1211,6 +1238,8 @@ CrossProcessCompositorParent::AllocPLayerTransactionParent(const nsTArray<Layers
{
MOZ_ASSERT(aId != 0);
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+
if (sIndirectLayerTrees[aId].mLayerManager) {
sIndirectLayerTrees[aId].mCrossProcessParent = this;
LayerManagerComposite* lm = sIndirectLayerTrees[aId].mLayerManager;
@@ -1234,7 +1263,7 @@ bool
CrossProcessCompositorParent::DeallocPLayerTransactionParent(PLayerTransactionParent* aLayers)
{
LayerTransactionParent* slp = static_cast<LayerTransactionParent*>(aLayers);
- RemoveIndirectTree(slp->GetId());
+ EraseLayerState(slp->GetId());
static_cast<LayerTransactionParent*>(aLayers)->ReleaseIPDLReference();
return true;
}
@@ -1242,6 +1271,7 @@ CrossProcessCompositorParent::DeallocPLayerTransactionParent(PLayerTransactionPa
bool
CrossProcessCompositorParent::RecvNotifyChildCreated(const uint64_t& child)
{
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
sIndirectLayerTrees[child].mParent->NotifyChildCreated(child);
return true;
}
@@ -1269,7 +1299,12 @@ CrossProcessCompositorParent::ForceComposite(LayerTransactionParent* aLayerTree)
{
uint64_t id = aLayerTree->GetId();
MOZ_ASSERT(id != 0);
- sIndirectLayerTrees[id].mParent->ForceComposite(aLayerTree);
+ CompositorParent* parent;
+ { // scope lock
+ MonitorAutoLock lock(*sIndirectLayerTreesLock);
+ parent = sIndirectLayerTrees[id].mParent;
+ }
+ parent->ForceComposite(aLayerTree);
}
bool
--
2.2.1

View File

@ -1,104 +0,0 @@
From 3f0f685829445ae82974d61f6017fdb67349c32b Mon Sep 17 00:00:00 2001
From: Dan Gohman <sunfish@mozilla.com>
Date: Fri, 9 Jan 2015 09:04:12 -0500
Subject: [PATCH] Bug 1096138 - IonMonkey: Augment Nops with Mops to avoid
collisions with fixed live ranges. r=jandem, a=sledru
---
js/src/jit/CodeGenerator.cpp | 6 ++++++
js/src/jit/CodeGenerator.h | 1 +
js/src/jit/LIR-Common.h | 6 ++++++
js/src/jit/LOpcodes.h | 1 +
js/src/jit/Lowering.cpp | 12 ++++++++++++
5 files changed, 26 insertions(+)
diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp
index 4f07524..ba14f86 100644
--- a/js/src/jit/CodeGenerator.cpp
+++ b/js/src/jit/CodeGenerator.cpp
@@ -1077,6 +1077,12 @@ CodeGenerator::visitNop(LNop *lir)
}
bool
+CodeGenerator::visitMop(LMop *lir)
+{
+ return true;
+}
+
+bool
CodeGenerator::visitOsiPoint(LOsiPoint *lir)
{
// Note: markOsiPoint ensures enough space exists between the last
diff --git a/js/src/jit/CodeGenerator.h b/js/src/jit/CodeGenerator.h
index 03677a5..dce095d 100644
--- a/js/src/jit/CodeGenerator.h
+++ b/js/src/jit/CodeGenerator.h
@@ -58,6 +58,7 @@ class CodeGenerator : public CodeGeneratorSpecific
bool visitLabel(LLabel *lir);
bool visitNop(LNop *lir);
+ bool visitMop(LMop *lir);
bool visitOsiPoint(LOsiPoint *lir);
bool visitGoto(LGoto *lir);
bool visitTableSwitch(LTableSwitch *ins);
diff --git a/js/src/jit/LIR-Common.h b/js/src/jit/LIR-Common.h
index c90aef9..e7a0e4c 100644
--- a/js/src/jit/LIR-Common.h
+++ b/js/src/jit/LIR-Common.h
@@ -42,6 +42,12 @@ class LNop : public LInstructionHelper<0, 0, 0>
LIR_HEADER(Nop)
};
+class LMop : public LInstructionHelper<0, 0, 0>
+{
+ public:
+ LIR_HEADER(Mop)
+};
+
// An LOsiPoint captures a snapshot after a call and ensures enough space to
// patch in a call to the invalidation mechanism.
//
diff --git a/js/src/jit/LOpcodes.h b/js/src/jit/LOpcodes.h
index a32d64f..cd7eef8 100644
--- a/js/src/jit/LOpcodes.h
+++ b/js/src/jit/LOpcodes.h
@@ -10,6 +10,7 @@
#define LIR_COMMON_OPCODE_LIST(_) \
_(Label) \
_(Nop) \
+ _(Mop) \
_(OsiPoint) \
_(MoveGroup) \
_(Integer) \
diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp
index d5f8227..48b7fa9 100644
--- a/js/src/jit/Lowering.cpp
+++ b/js/src/jit/Lowering.cpp
@@ -3616,12 +3616,24 @@ LIRGenerator::visitInstruction(MInstruction *ins)
ins->setInWorklistUnchecked();
#endif
+ // If we added a Nop for this instruction, we'll also add a Mop, so that
+ // that live-ranges for fixed register defs, which with LSRA extend through
+ // the Nop so that they can extend through the OsiPoint don't, with their
+ // one-extra extension, extend into a position where they use the input
+ // move group for the following instruction.
+ bool needsMop = !current->instructions().empty() && current->rbegin()->isNop();
+
// If no safepoint was created, there's no need for an OSI point.
if (LOsiPoint *osiPoint = popOsiPoint()) {
if (!add(osiPoint))
return false;
}
+ if (needsMop) {
+ if (!add(new(alloc()) LMop))
+ return false;
+ }
+
return true;
}
--
2.2.1

View File

@ -0,0 +1,81 @@
Fixes "saves unknown host's fingerprint in known_hosts without any prompt".
See:
https://github.com/lavv17/lftp/issues/116
https://bugs.debian.org/774769
From bc7b476e782d77839765f56bbdb4cee9f36b54ec Mon Sep 17 00:00:00 2001
From: "Alexander V. Lukyanov" <lavv17f@gmail.com>
Date: Tue, 13 Jan 2015 15:33:54 +0300
Subject: [PATCH] add settings fish:auto-confirm and sftp:auto-confirm
New host keys are now not confirmed by default, this should improve security.
Suggested by Marcin Szewczyk <Marcin.Szewczyk@wodny.org>
---
doc/lftp.1 | 8 ++++++++
src/SSH_Access.cc | 5 +++--
src/resource.cc | 2 ++
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/doc/lftp.1 b/doc/lftp.1
index cabc1be..ed6c388 100644
--- a/doc/lftp.1
+++ b/doc/lftp.1
@@ -1384,6 +1384,10 @@ address family in dns:order.
.BR file:charset \ (string)
local character set. It is set from current locale initially.
.TP
+.BR fish:auto-confirm \ (boolean)
+when true, lftp answers ``yes'' to all ssh questions, in particular to the
+question about a new host key. Otherwise it answers ``no''.
+.TP
.BR fish:charset \ (string)
the character set used by fish server in requests, replies and file listings.
Default is empty which means the same as local.
@@ -1952,6 +1956,10 @@ minimal chunk size to split the file to.
save pget transfer status this often. Set to `never' to disable saving of the status file.
The status is saved to a file with suffix \fI.lftp-pget-status\fP.
.TP
+.BR sftp:auto-confirm \ (boolean)
+when true, lftp answers ``yes'' to all ssh questions, in particular to the
+question about a new host key. Otherwise it answers ``no''.
+.TP
.BR sftp:charset \ (string)
the character set used by SFTP server in file names and file listings.
Default is empty which means the same as local. This setting is only used
diff --git a/src/SSH_Access.cc b/src/SSH_Access.cc
index 706fc6a..17c716d 100644
--- a/src/SSH_Access.cc
+++ b/src/SSH_Access.cc
@@ -72,8 +72,9 @@ int SSH_Access::HandleSSHMessage()
}
if(s>=y_len && !strncasecmp(b+s-y_len,y,y_len))
{
- pty_recv_buf->Put("yes\n");
- pty_send_buf->Put("yes\n");
+ const char *answer=QueryBool("auto-confirm",hostname)?"yes\n":"no\n";
+ pty_recv_buf->Put(answer);
+ pty_send_buf->Put(answer);
return m;
}
if(!received_greeting && recv_buf->Size()>0)
diff --git a/src/resource.cc b/src/resource.cc
index 91b2e60..3a5e8b9 100644
--- a/src/resource.cc
+++ b/src/resource.cc
@@ -339,6 +339,7 @@ static ResType lftp_vars[] = {
{"mirror:no-empty-dirs", "no", ResMgr::BoolValidate,ResMgr::NoClosure},
{"mirror:require-source", "no", ResMgr::BoolValidate,ResMgr::NoClosure},
+ {"sftp:auto-confirm", "no", ResMgr::BoolValidate,0},
{"sftp:max-packets-in-flight","16", ResMgr::UNumberValidate,0},
{"sftp:protocol-version", "6", ResMgr::UNumberValidate,0},
{"sftp:size-read", "32k", ResMgr::UNumberValidate,0},
@@ -367,6 +368,7 @@ static ResType lftp_vars[] = {
{"dns:strict-dnssec", "no", ResMgr::BoolValidate,0},
#endif
+ {"fish:auto-confirm", "no", ResMgr::BoolValidate,0},
{"fish:shell", "/bin/sh",0,0},
{"fish:connect-program", "ssh -a -x",0,0},
{"fish:charset", "", ResMgr::CharsetValidate,0},

View File

@ -5,6 +5,7 @@ Source: http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/dev-libs/nss/fil
Modifications:
Change libdir from ${prefix}/lib64 to ${prefix}/lib/nss.
Remove optional patching in nss/Makefile.
Include -L$libdir in output from "nss-config --libs".
--- nss-3.17.1/nss/config/Makefile
+++ nss-3.17.1/nss/config/Makefile
@ -181,7 +182,7 @@ Modifications:
+fi
+
+if test "$echo_libs" = "yes"; then
+ libdirs=""
+ libdirs=-L$libdir
+ if test -n "$lib_ssl"; then
+ libdirs="$libdirs -lssl${major_version}"
+ fi

View File

@ -0,0 +1,203 @@
Work around a segmentation fault when starting pavucontrol.
From a98200f2699d453a78c9dfbb85e307bbdb3e3dbf Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede@redhat.com>
Date: Thu, 28 Aug 2014 12:58:05 +0200
Subject: [PATCH] Reference the widget before returning it from ::create
methods
Widgets (unlike Windows and Dialogs) returned by Gtk::Builder::get_widget*
start owned by the GtkBuilder object, the idea being that they will get
added to a container before the scope of the GtkBuilder object ends, and it
thus automatically gets destroyed.
But in the various ::create methods in pavucontrol, a pointer to the widget
gets returned, so that it can be added to a cointainer by the caller.
However as soon as the ::create method exits the GtkBuilder object owning
the widget, and thus also the widget gets destroyed, and we end up returning
free-ed memory.
This commit fixes this by making all ::create methods take a reference on
the widget before returning it, and having all the callers unreference the
widget after adding it to a container.
https://bugs.freedesktop.org/show_bug.cgi?id=83144
https://bugzilla.redhat.com/show_bug.cgi?id=1133339
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
src/cardwidget.cc | 1 +
src/channelwidget.cc | 1 +
src/devicewidget.cc | 1 +
src/mainwindow.cc | 6 ++++++
src/rolewidget.cc | 1 +
src/sinkinputwidget.cc | 1 +
src/sinkwidget.cc | 1 +
src/sourceoutputwidget.cc | 1 +
src/sourcewidget.cc | 1 +
src/streamwidget.cc | 1 +
10 files changed, 15 insertions(+)
diff --git a/src/cardwidget.cc b/src/cardwidget.cc
index c79ac6c..28c558d 100644
--- a/src/cardwidget.cc
+++ b/src/cardwidget.cc
@@ -45,6 +45,7 @@ CardWidget* CardWidget::create() {
CardWidget* w;
Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "cardWidget");
x->get_widget_derived("cardWidget", w);
+ w->reference();
return w;
}
diff --git a/src/channelwidget.cc b/src/channelwidget.cc
index 6f59de2..fe94c11 100644
--- a/src/channelwidget.cc
+++ b/src/channelwidget.cc
@@ -53,6 +53,7 @@ ChannelWidget* ChannelWidget::create() {
x->add_from_file(GLADE_FILE, "adjustment1");
x->add_from_file(GLADE_FILE, "channelWidget");
x->get_widget_derived("channelWidget", w);
+ w->reference();
return w;
}
diff --git a/src/devicewidget.cc b/src/devicewidget.cc
index 1a148ee..813780f 100644
--- a/src/devicewidget.cc
+++ b/src/devicewidget.cc
@@ -89,6 +89,7 @@ void DeviceWidget::setChannelMap(const pa_channel_map &m, bool can_decibel) {
snprintf(text, sizeof(text), "<b>%s</b>", pa_channel_position_to_pretty_string(m.map[i]));
cw->channelLabel->set_markup(text);
channelsVBox->pack_start(*cw, false, false, 0);
+ cw->unreference();
}
channelWidgets[m.channels-1]->last = true;
diff --git a/src/mainwindow.cc b/src/mainwindow.cc
index 5a42318..5d205fb 100644
--- a/src/mainwindow.cc
+++ b/src/mainwindow.cc
@@ -300,6 +300,7 @@ void MainWindow::updateCard(const pa_card_info &info) {
else {
cardWidgets[info.index] = w = CardWidget::create();
cardsVBox->pack_start(*w, false, false, 0);
+ w->unreference();
w->index = info.index;
is_new = true;
}
@@ -416,6 +417,7 @@ bool MainWindow::updateSink(const pa_sink_info &info) {
sinkWidgets[info.index] = w = SinkWidget::create(this);
w->setChannelMap(info.channel_map, !!(info.flags & PA_SINK_DECIBEL_VOLUME));
sinksVBox->pack_start(*w, false, false, 0);
+ w->unreference();
w->index = info.index;
w->monitor_index = info.monitor_source;
is_new = true;
@@ -570,6 +572,7 @@ void MainWindow::updateSource(const pa_source_info &info) {
sourceWidgets[info.index] = w = SourceWidget::create(this);
w->setChannelMap(info.channel_map, !!(info.flags & PA_SOURCE_DECIBEL_VOLUME));
sourcesVBox->pack_start(*w, false, false, 0);
+ w->unreference();
w->index = info.index;
is_new = true;
@@ -686,6 +689,7 @@ void MainWindow::updateSinkInput(const pa_sink_input_info &info) {
sinkInputWidgets[info.index] = w = SinkInputWidget::create(this);
w->setChannelMap(info.channel_map, true);
streamsVBox->pack_start(*w, false, false, 0);
+ w->unreference();
w->index = info.index;
w->clientIndex = info.client;
is_new = true;
@@ -743,6 +747,7 @@ void MainWindow::updateSourceOutput(const pa_source_output_info &info) {
w->setChannelMap(info.channel_map, true);
#endif
recsVBox->pack_start(*w, false, false, 0);
+ w->unreference();
w->index = info.index;
w->clientIndex = info.client;
is_new = true;
@@ -838,6 +843,7 @@ bool MainWindow::createEventRoleWidget() {
eventRoleWidget = RoleWidget::create();
streamsVBox->pack_start(*eventRoleWidget, false, false, 0);
+ eventRoleWidget->unreference();
eventRoleWidget->role = "sink-input-by-media-role:event";
eventRoleWidget->setChannelMap(cm, true);
diff --git a/src/rolewidget.cc b/src/rolewidget.cc
index fd3196c..db07f92 100644
--- a/src/rolewidget.cc
+++ b/src/rolewidget.cc
@@ -40,6 +40,7 @@ RoleWidget* RoleWidget::create() {
RoleWidget* w;
Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget");
x->get_widget_derived("streamWidget", w);
+ w->reference();
return w;
}
diff --git a/src/sinkinputwidget.cc b/src/sinkinputwidget.cc
index b88b718..5a0ba39 100644
--- a/src/sinkinputwidget.cc
+++ b/src/sinkinputwidget.cc
@@ -43,6 +43,7 @@ SinkInputWidget* SinkInputWidget::create(MainWindow* mainWindow) {
Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget");
x->get_widget_derived("streamWidget", w);
w->init(mainWindow);
+ w->reference();
return w;
}
diff --git a/src/sinkwidget.cc b/src/sinkwidget.cc
index 7f4902c..f682cf2 100644
--- a/src/sinkwidget.cc
+++ b/src/sinkwidget.cc
@@ -82,6 +82,7 @@ SinkWidget* SinkWidget::create(MainWindow* mainWindow) {
Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "deviceWidget");
x->get_widget_derived("deviceWidget", w);
w->init(mainWindow, "sink");
+ w->reference();
return w;
}
diff --git a/src/sourceoutputwidget.cc b/src/sourceoutputwidget.cc
index 827c5a8..4d915b0 100644
--- a/src/sourceoutputwidget.cc
+++ b/src/sourceoutputwidget.cc
@@ -49,6 +49,7 @@ SourceOutputWidget* SourceOutputWidget::create(MainWindow* mainWindow) {
Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "streamWidget");
x->get_widget_derived("streamWidget", w);
w->init(mainWindow);
+ w->reference();
return w;
}
diff --git a/src/sourcewidget.cc b/src/sourcewidget.cc
index 5e4ecf0..fde5333 100644
--- a/src/sourcewidget.cc
+++ b/src/sourcewidget.cc
@@ -35,6 +35,7 @@ SourceWidget* SourceWidget::create(MainWindow* mainWindow) {
Glib::RefPtr<Gtk::Builder> x = Gtk::Builder::create_from_file(GLADE_FILE, "deviceWidget");
x->get_widget_derived("deviceWidget", w);
w->init(mainWindow, "source");
+ w->reference();
return w;
}
diff --git a/src/streamwidget.cc b/src/streamwidget.cc
index 94363ec..e602cce 100644
--- a/src/streamwidget.cc
+++ b/src/streamwidget.cc
@@ -77,6 +77,7 @@ void StreamWidget::setChannelMap(const pa_channel_map &m, bool can_decibel) {
snprintf(text, sizeof(text), "<b>%s</b>", pa_channel_position_to_pretty_string(m.map[i]));
cw->channelLabel->set_markup(text);
channelsVBox->pack_start(*cw, false, false, 0);
+ cw->unreference();
}
channelWidgets[m.channels-1]->last = true;
channelWidgets[m.channels-1]->setBaseVolume(PA_VOLUME_NORM);
--
2.1.0

View File

@ -1,57 +0,0 @@
From 26b9d22dd24c17eb118d0205bf7b02b75d435e3c Mon Sep 17 00:00:00 2001
From: "Alexander E. Patrakov" <patrakov@gmail.com>
Date: Thu, 5 Jun 2014 22:29:25 +0600
Subject: [PATCH] rtp-recv: fix crash on empty UDP packets (CVE-2014-3970)
On FIONREAD returning 0 bytes, we cannot return success, as the caller
(rtpoll_work_cb in module-rtp-recv.c) would then try to
pa_memblock_unref(chunk.memblock) and, because memblock is NULL, trigger
an assertion.
Also we have to read out the possible empty packet from the socket, so
that the kernel doesn't tell us again and again about it.
Signed-off-by: Alexander E. Patrakov <patrakov@gmail.com>
---
src/modules/rtp/rtp.c | 25 +++++++++++++++++++++++--
1 file changed, 23 insertions(+), 2 deletions(-)
diff --git a/src/modules/rtp/rtp.c b/src/modules/rtp/rtp.c
index 570737e..7b75e0e 100644
--- a/src/modules/rtp/rtp.c
+++ b/src/modules/rtp/rtp.c
@@ -182,8 +182,29 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_mempool *pool, struct
goto fail;
}
- if (size <= 0)
- return 0;
+ if (size <= 0) {
+ /* size can be 0 due to any of the following reasons:
+ *
+ * 1. Somebody sent us a perfectly valid zero-length UDP packet.
+ * 2. Somebody sent us a UDP packet with a bad CRC.
+ *
+ * It is unknown whether size can actually be less than zero.
+ *
+ * In the first case, the packet has to be read out, otherwise the
+ * kernel will tell us again and again about it, thus preventing
+ * reception of any further packets. So let's just read it out
+ * now and discard it later, when comparing the number of bytes
+ * received (0) with the number of bytes wanted (1, see below).
+ *
+ * In the second case, recvmsg() will fail, thus allowing us to
+ * return the error.
+ *
+ * Just to avoid passing zero-sized memchunks and NULL pointers to
+ * recvmsg(), let's force allocation of at least one byte by setting
+ * size to 1.
+ */
+ size = 1;
+ }
if (c->memchunk.length < (unsigned) size) {
size_t l;
--
2.0.0

View File

@ -0,0 +1,26 @@
Submitted By: Pierre Labastie <pierre at linuxfromscratch dot org>
Date: 2015-02-22
Initial Package Version: 3.10.1
Upstream Status: Unknown
Origin: Self
Description: Allows Valgrind to build with glibc-2.21
diff -Naur valgrind-3.10.1.old/configure valgrind-3.10.1.new/configure
--- valgrind-3.10.1.old/configure 2014-11-25 20:42:25.000000000 +0100
+++ valgrind-3.10.1.new/configure 2015-02-22 10:46:06.607826488 +0100
@@ -6842,6 +6842,16 @@
DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
;;
+ 2.21)
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: 2.21 family" >&5
+$as_echo "2.21 family" >&6; }
+
+$as_echo "#define GLIBC_2_21 1" >>confdefs.h
+
+ DEFAULT_SUPP="glibc-2.X.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.34567-NPTL-helgrind.supp ${DEFAULT_SUPP}"
+ DEFAULT_SUPP="glibc-2.X-drd.supp ${DEFAULT_SUPP}"
+ ;;
darwin)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
$as_echo "Darwin" >&6; }

View File

@ -0,0 +1,35 @@
From ae8e4cc9ab57ff25d2ba6c4b369e8531ce43a6d2 Mon Sep 17 00:00:00 2001
From: Paul van der Walt <paul@denknerd.org>
Date: Mon, 2 Mar 2015 22:15:39 +0100
Subject: [PATCH] Search path environment variable for Zathura.
Adds a search path environment variable for zathura plugins (for reading
different file formats) called ZATHURA_PLUGIN_PATH. Command line option
-p still takes precedence.
Patch by Paul van der Walt <paul@denknerd.org>
---
zathura/zathura.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/zathura/zathura.c b/zathura/zathura.c
index 589dd28..375ec54 100644
--- a/zathura/zathura.c
+++ b/zathura/zathura.c
@@ -413,6 +413,13 @@ zathura_set_plugin_dir(zathura_t* zathura, const char* dir)
g_return_if_fail(zathura != NULL);
g_return_if_fail(zathura->plugins.manager != NULL);
+ /* Added for Guix: check if environment variable
+ * is set to specify location of zathura plugins.
+ */
+
+ if (dir == NULL)
+ dir = g_getenv("ZATHURA_PLUGIN_PATH");
+
if (dir != NULL) {
girara_list_t* paths = girara_split_path_array(dir);
GIRARA_LIST_FOREACH(paths, char*, iter, path)
--
2.3.1

View File

@ -2,6 +2,7 @@
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,6 +29,10 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages databases)
#:use-module (gnu packages djvu)
#:use-module (gnu packages gettext)
#:use-module (gnu packages backup)
#:use-module (gnu packages lesstif)
#:use-module (gnu packages image)
#:use-module (gnu packages pkg-config)
@ -122,7 +127,11 @@
("zlib" ,zlib)))
(arguments
`(#:tests? #f ; there is no check target
#:parallel-build? #f ; build fails randomly on 8-way machines
#:parallel-build? #f ; build fails randomly on 8-way machines
#:configure-flags
(list (string-append "--with-freetype2-includes="
(assoc-ref %build-inputs "freetype")
"/include/freetype2"))
#:phases
(alist-replace
'install
@ -143,6 +152,173 @@
(license license:gpl3) ; or gpl2, but not gpl2+
(home-page "http://www.foolabs.com/xpdf/")))
(define-public zathura-cb
(package
(name "zathura-cb")
(version "0.1.4")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura-cb/download/zathura-cb-"
version ".tar.gz"))
(sha256
(base32
"09ln4fpjxmhcq6cw1ka7mdkmca36gyd4gzrynbw3waz0ri0b277j"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs `(("girara" ,girara)))
(inputs `(("libarchive" ,libarchive)
("gtk+" ,gtk+)
("zathura" ,zathura)))
(build-system gnu-build-system)
(arguments
`(#:make-flags
`(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
"PLUGINDIR=/lib/zathura" "CC=gcc")
#:tests? #f ; Package does not contain tests.
#:phases
(alist-delete 'configure %standard-phases)))
(home-page "https://pwmt.org/projects/zathura-cb/")
(synopsis "Comic book support for zathura (libarchive backend)")
(description "The zathura-cb plugin adds comic book support to zathura
using libarchive.")
(license license:zlib)))
(define-public zathura-ps
(package
(name "zathura-ps")
(version "0.2.2")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura-ps/download/zathura-ps-"
version ".tar.gz"))
(sha256
(base32
"1a6ps5v1wk18qvslbkjln6w8wfzzr6fi13ls96vbdc03vdhn4m76"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs `(("girara" ,girara)))
(inputs `(("libspectre" ,libspectre)
("gtk+" ,gtk+)
("zathura" ,zathura)))
(build-system gnu-build-system)
(arguments
`(#:make-flags
`(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
"PLUGINDIR=/lib/zathura" "CC=gcc")
#:tests? #f ; Package does not contain tests.
#:phases
(alist-delete 'configure %standard-phases)))
(home-page "https://pwmt.org/projects/zathura-ps/")
(synopsis "PS support for zathura (libspectre backend)")
(description "The zathura-ps plugin adds PS support to zathura
using libspectre.")
(license license:zlib)))
(define-public zathura-djvu
(package
(name "zathura-djvu")
(version "0.2.4")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura-djvu/download/zathura-djvu-"
version ".tar.gz"))
(sha256
(base32
"1g1lafmrjbx0xv7fljdmyqxx0k334sq4q6jy4a0q5xfrgz0bh45c"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs `(("girara" ,girara)))
(inputs
`(("djvulibre" ,djvulibre)
("gtk+" ,gtk+)
("zathura" ,zathura)))
(build-system gnu-build-system)
(arguments
`(#:make-flags
`(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
"PLUGINDIR=/lib/zathura" "CC=gcc")
#:tests? #f ; Package does not contain tests.
#:phases
(alist-delete 'configure %standard-phases)))
(home-page "https://pwmt.org/projects/zathura-djvu/")
(synopsis "DjVu support for zathura (DjVuLibre backend)")
(description "The zathura-djvu plugin adds DjVu support to zathura
using the DjVuLibre library.")
(license license:zlib)))
(define-public zathura-pdf-poppler
(package
(name "zathura-pdf-poppler")
(version "0.2.5")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura-pdf-poppler/download/zathura-pdf-poppler-"
version ".tar.gz"))
(sha256
(base32
"1b0chsds8iwjm4g629p6a67nb6wgra65pw2vvngd7g35dmcjgcv0"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(propagated-inputs `(("girara" ,girara)))
(inputs
`(("poppler" ,poppler)
("gtk+" ,gtk+)
("zathura" ,zathura)
("cairo" ,cairo)))
(build-system gnu-build-system)
(arguments
`(#:make-flags
`(,(string-append "DESTDIR=" (assoc-ref %outputs "out"))
"PLUGINDIR=/lib/zathura" "CC=gcc")
#:tests? #f ; Package does not include tests.
#:phases
(alist-delete 'configure %standard-phases)))
(home-page "https://pwmt.org/projects/zathura-pdf-poppler/")
(synopsis "PDF support for zathura (poppler backend)")
(description "The zathura-pdf-poppler plugin adds PDF support to zathura
by using the poppler rendering engine.")
(license license:zlib)))
(define-public zathura
(package
(name "zathura")
(version "0.3.2")
(source (origin
(method url-fetch)
(uri
(string-append "https://pwmt.org/projects/zathura/download/zathura-"
version ".tar.gz"))
(sha256
(base32
"1qk5s7cyqp4l673yhma5igk9g24p5jyqyy81fdk7q7xjqlym19px"))
(patches
(list
(search-patch "zathura-plugindir-environment-variable.patch")))))
(native-inputs `(("pkg-config" ,pkg-config)
("gettext" ,gnu-gettext)))
(inputs `(("girara" ,girara)
("sqlite" ,sqlite)
("gtk+" ,gtk+)))
(native-search-paths
(list (search-path-specification
(variable "ZATHURA_PLUGIN_PATH")
(files '("lib/zathura")))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
`(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc" "COLOR=0")
#:tests? #f ; Tests fail: "Gtk cannot open display".
#:test-target "test"
#:phases
(alist-delete 'configure %standard-phases)))
(home-page "https://pwmt.org/projects/zathura/")
(synopsis "Lightweight keyboard-driven PDF viewer")
(description "Zathura is a customizable document viewer. It provides a
minimalistic interface and an interface that mainly focuses on keyboard
interaction.")
(license license:zlib)))
(define-public podofo
(package
(name "podofo")
@ -166,7 +342,16 @@
("zlib" ,zlib)))
(arguments
`(#:configure-flags '("-DPODOFO_BUILD_SHARED=ON"
"-DPODOFO_BUILD_STATIC=ON")))
"-DPODOFO_BUILD_STATIC=ON")
#:phases
(alist-cons-before
'configure 'patch
(lambda* (#:key inputs #:allow-other-keys)
(let ((freetype (assoc-ref inputs "freetype")))
;; Look for freetype include files in the correct place.
(substitute* "cmake/modules/FindFREETYPE.cmake"
(("/usr/local") freetype))))
%standard-phases)))
(home-page "http://podofo.sourceforge.net")
(synopsis "Tools to work with the PDF file format")
(description

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages plotutils)
#:use-module (guix licenses)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@ -26,6 +26,7 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages compression)
#:use-module (gnu packages))
(define-public plotutils
@ -64,7 +65,7 @@ It includes a library, \"libplot\", for C and C++ for exporting 2D vector
graphics in many file formats. It also has support for 2D vector graphics
animations. The package also contains command-line programs for plotting
scientific data.")
(license gpl2+)))
(license license:gpl2+)))
(define-public guile-charting
(package
@ -93,4 +94,65 @@ scientific data.")
(description
"Guile-Charting is a Guile Scheme library to create bar charts and graphs
using the Cairo drawing library.")
(license lgpl2.1+)))
(license license:lgpl2.1+)))
(define-public ploticus
(package
(name "ploticus")
(version "2.42")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/ploticus/ploticus/"
version "/ploticus242_src.tar.gz"))
(sha256
(base32
"1c70cvfvgjh83hj1x21130wb9qfr2rc0x47cxy9kl805yjwy8a9z"))
(modules '((guix build utils)))
(snippet
;; Install binaries in the right place.
'(substitute* "src/Makefile"
(("INSTALLBIN =.*$")
(string-append "INSTALLBIN = $(out)/bin"))))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f
#:phases
(modify-phases %standard-phases
(replace configure (lambda _ (chdir "src")))
(add-before install make-target-directories
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/bin"))
#t)))
(add-after install install-prefabs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(dir (string-append out
"/share/ploticus/prefabs"))
(bin (string-append out "/bin")))
(mkdir-p dir)
;; Install "prefabs".
(for-each (lambda (file)
(let ((target
(string-append dir "/"
(basename file))))
(copy-file file target)))
(find-files "../prefabs" "."))
;; Allow them to be found.
(wrap-program (string-append bin "/pl")
`("PLOTICUS_PREFABS" ":" = (,dir)))))))))
(inputs
`(("libpng" ,libpng)
("libx11" ,libx11)
("zlib" ,zlib)))
(home-page "http://ploticus.sourceforge.net/")
(synopsis "Command-line tool for producing plots and charts")
(description
"Ploticus is a non-interactive software package for producing plots,
charts, and graphics from data. Ploticus is good for automated or
just-in-time graph generation, handles date and time data nicely, and has
basic statistical capabilities. It allows significant user control over
colors, styles, options and details.")
(license license:gpl2+)))

View File

@ -112,7 +112,7 @@ rates. ")
(define pulseaudio
(package
(name "pulseaudio")
(version "5.0")
(version "6.0")
(source (origin
(method url-fetch)
(uri (string-append
@ -120,7 +120,7 @@ rates. ")
version ".tar.xz"))
(sha256
(base32
"0fgrr8v7yfh0byhzdv4c87v9lkj8g7gpjm8r9xrbvpa92a5kmhcr"))
"1xpnfxa0d8pgf6b4qdgnkcvrvdxbbbjd5ync19h0f5hbp3h401mm"))
(modules '((guix build utils)))
(snippet
;; Disable console-kit support by default since it's deprecated
@ -128,12 +128,14 @@ rates. ")
'(substitute* "src/daemon/default.pa.in"
(("load-module module-console-kit" all)
(string-append "#" all "\n"))))
(patches (list (search-patch "pulseaudio-fix-mult-test.patch")
(search-patch "pulseaudio-CVE-2014-3970.patch")))))
(patches (list (search-patch "pulseaudio-fix-mult-test.patch")))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--localstatedir=/var" ;"--sysconfdir=/etc"
"--disable-oss-output")
`(#:configure-flags (list "--localstatedir=/var" ;"--sysconfdir=/etc"
"--disable-oss-output"
(string-append "--with-udev-rules-dir="
(assoc-ref %outputs "out")
"/lib/udev/rules.d"))
#:phases (alist-cons-before
'check 'pre-check
(lambda _
@ -160,6 +162,7 @@ rates. ")
("libltdl" ,libltdl)
("fftwf" ,fftwf)
("avahi" ,avahi)
("eudev" ,eudev) ;for the detection of hardware audio devices
("check" ,check)))
(propagated-inputs
;; 'libpulse*.la' contain `-lgdbm' and `-lcap', so propagate them.
@ -191,7 +194,8 @@ mixing several sounds into one are easily achieved using a sound server. ")
".tar.xz"))
(sha256
(base32
"02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2"))))
"02s775m1531sshwlbvfddk3pz8zjmwkv1sgzggn386ja3gc9vwi2"))
(patches (list (search-patch "pavucontrol-sigsegv.patch")))))
(build-system gnu-build-system)
(inputs
`(("libcanberra" ,libcanberra)

View File

@ -26,7 +26,7 @@
(define-module (gnu packages python)
#:use-module ((guix licenses)
#:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 x11 x11-style
#:select (asl2.0 bsd-3 bsd-2 non-copyleft cc0 x11 x11-style
gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+
psfl public-domain x11-style))
#:use-module ((guix licenses) #:select (expat zlib) #:prefix license:)
@ -723,7 +723,7 @@ Database API 2.0T.")
(description
"Mechanize implements stateful programmatic web browsing in Python,
after Andy Lesters Perl module WWW::Mechanize.")
(license (bsd-style "file://COPYING"
(license (non-copyleft "file://COPYING"
"See COPYING in the distribution."))))
@ -3146,7 +3146,14 @@ libxml2 and libxslt.")
version ".tar.gz"))
(sha256
(base32
"04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9"))))
"04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9"))
(modules '((guix build utils)))
(snippet
;; Adapt to newer freetype. As the package is unmaintained upstream,
;; there is no use in creating a patch and reporting it.
'(substitute* "_imagingft.c"
(("freetype/")
"freetype2/")))))
(build-system python-build-system)
(inputs
`(("freetype" ,freetype)
@ -3305,3 +3312,64 @@ interfaces in an easy and portable manner.")
providing a clean and modern domain specific specification language (DSL) in
Python style, together with a fast and comfortable execution environment.")
(license license:expat)))
(define-public python-testlib
(package
(name "python-testlib")
(version "0.6.5")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/t/testlib/testlib-"
version ".zip"))
(sha256
(base32 "1mz26cxn4x8bbgv0rn0mvj2z05y31rkc8009nvdlb3lam5b4mj3y"))))
(build-system python-build-system)
(inputs
`(("python-setuptools" ,python-setuptools)))
(native-inputs
`(("unzip" ,unzip)))
(arguments
`(#:phases
(alist-replace
'unpack
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((unzip (string-append (assoc-ref inputs "unzip")
"/bin/unzip"))
(source (assoc-ref inputs "source")))
(and (zero? (system* unzip source))
(chdir (string-append "testlib-" ,version)))))
%standard-phases)))
(synopsis "Python micro test suite harness")
(description "A micro unittest suite harness for Python.")
(home-page "https://github.com/trentm/testlib")
(license license:expat)))
(define-public python2-testlib
(package-with-python2 python-testlib))
(define-public python2-xlib
(package
(name "python2-xlib")
(version "0.14")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/python-xlib/"
"python-xlib-" version ".tar.gz"))
(sha256
(base32
"1sv0447j0rx8cgs3jhjl695p5pv13ihglcjlrrz1kq05lsvb0wa7"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ;Python 2 only
#:tests? #f)) ;no tests
(inputs
`(("python-setuptools" ,python-setuptools)))
(home-page "http://python-xlib.sourceforge.net/")
(synopsis "Python X11 client library")
(description
"The Python X Library is intended to be a fully functional X client
library for Python programs. It is useful to implement low-level X clients.
It is written entirely in Python.")
(license gpl2+)))

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