Merge branch 'master' into core-updates
This commit is contained in:
commit
381c540b93
2
AUTHORS
2
AUTHORS
|
@ -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>
|
||||
|
|
|
@ -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."))
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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")))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"))))
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
(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)
|
||||
|
|
|
@ -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+)))
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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+)))
|
|
@ -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+)))
|
|
@ -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/"))))
|
||||
|
||||
|
|
|
@ -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/")))
|
||||
|
|
|
@ -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"
|
||||
(license (license:non-copyleft "file://COPYING"
|
||||
"See COPYING in the distribution."))
|
||||
(home-page "http://cyrusimap.web.cmu.edu/index.php")))
|
||||
|
|
|
@ -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,7 +86,7 @@
|
|||
(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"
|
||||
(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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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+)))
|
||||
|
|
|
@ -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+)))
|
|
@ -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))))
|
|
@ -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
|
||||
|
|
|
@ -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+)))
|
|
@ -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)))
|
||||
|
|
|
@ -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"))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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."))))
|
||||
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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")))
|
||||
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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)
|
||||
|
@ -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"
|
||||
'(#:configure-flags
|
||||
(list "-DRUN_IN_PLACE=0"
|
||||
"-DENABLE_FREETYPE=1"
|
||||
"-DENABLE_GETTEXT=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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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."))))
|
||||
|
|
|
@ -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/")))
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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+)))
|
|
@ -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+)))
|
||||
|
|
|
@ -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"
|
||||
(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
|
||||
|
|
|
@ -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+)))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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+)))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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,7 +243,15 @@ many readers as needed).")
|
|||
(string-append "--with-guilesitedir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/guile/site/2.0"))
|
||||
#:phases (alist-cons-after
|
||||
#: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"))
|
||||
|
@ -247,7 +261,7 @@ many readers as needed).")
|
|||
(("\"libguile-ncurses\"")
|
||||
(format #f "\"~a/lib/libguile-ncurses\""
|
||||
out)))))
|
||||
%standard-phases)))
|
||||
%standard-phases))))
|
||||
(home-page "http://www.gnu.org/software/guile-ncurses/")
|
||||
(synopsis "Guile bindings to ncurses")
|
||||
(description
|
||||
|
|
|
@ -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
|
|
@ -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"
|
||||
(license (non-copyleft "file://License"
|
||||
"See License in the distribution."))))
|
||||
|
|
|
@ -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,7 +126,7 @@ 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"
|
||||
(license (license:non-copyleft "file://COPYRIGHT"
|
||||
"See COPYRIGHT in the distribution."))
|
||||
(home-page "http://www.libtiff.org/")))
|
||||
|
||||
|
@ -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")))
|
||||
|
|
|
@ -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;
|
|
@ -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)))
|
|
@ -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))))
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
@ -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).
|
||||
;; 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")))
|
||||
(("\"/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.
|
||||
|
|
|
@ -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+)))
|
|
@ -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".
|
||||
;; 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)))))))
|
||||
(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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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")
|
||||
|
@ -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)))
|
||||
|
|
|
@ -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/")))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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+)))
|
|
@ -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)
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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,
|
|
@ -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 =
|
|
@ -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[] = {
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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},
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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; }
|
|
@ -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
|
||||
|
|
@ -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)
|
||||
|
@ -123,6 +128,10 @@
|
|||
(arguments
|
||||
`(#:tests? #f ; there is no check target
|
||||
#: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
|
@ -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+)))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 Lester’s 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
Loading…
Reference in New Issue