Merge branch 'master' into core-updates
This commit is contained in:
commit
eb74eb4199
5
.mailmap
5
.mailmap
@ -12,6 +12,7 @@ Ben Woodcroft <donttrustben@gmail.com> <b.woodcroft@uq.edu.au>
|
||||
Ben Woodcroft <donttrustben@gmail.com> <donttrustben near gmail.com>
|
||||
Claes Wallin (韋嘉誠) <claes.wallin@greatsinodevelopment.com>
|
||||
Cyprien Nicolas <cyprien@nicolas.tf> <c.nicolas+gitorious@gmail.com>
|
||||
Danny Milosavljevic <dannym@scratchpost.org> <dannym+a@scratchpost.org>
|
||||
David Thompson <davet@gnu.org> <dthompson2@worcester.edu>
|
||||
David Thompson <davet@gnu.org> <dthompson@member.fsf.org>
|
||||
David Thompson <davet@gnu.org> <dthompson@vistahigherlearning.com>
|
||||
@ -28,10 +29,12 @@ Ludovic Courtès <ludo@gnu.org> <ludovic.courtes@inria.fr>
|
||||
Mathieu Lirzin <mthl@gnu.org> <mthl@openmailbox.org>
|
||||
Mathieu Lirzin <mthl@gnu.org> <mathieu.lirzin@openmailbox.org>
|
||||
Nikita Karetnikov <nikita@karetnikov.org> <nikita.karetnikov@gmail.com>
|
||||
Nils Gillmann <niasterisk@grrlz.net> <ng@niasterisk.space>
|
||||
Nils Gillmann <ng0@libertad.pw> <niasterisk@grrlz.net>
|
||||
Nils Gillmann <ng0@libertad.pw> <ng@niasterisk.space>
|
||||
Pjotr Prins <pjotr.public01@thebird.nl>
|
||||
Pjotr Prins <pjotr.public01@thebird.nl> <pjotr.public12@thebird.nl>
|
||||
Raimon Grau <raimonster@gmail.com> <raimon@3scale.net>
|
||||
Raymond Nicholson <rain1@openmailbox.org>
|
||||
Ricardo Wurmus <rekado@elephly.net>
|
||||
Ricardo Wurmus <rekado@elephly.net> <ricardo.wurmus@mdc-berlin.de>
|
||||
Sou Bunnbu (宋文武) <iyzsong@gmail.com>
|
||||
|
17
Makefile.am
17
Makefile.am
@ -38,6 +38,7 @@ MODULES = \
|
||||
guix/hash.scm \
|
||||
guix/pk-crypto.scm \
|
||||
guix/pki.scm \
|
||||
guix/combinators.scm \
|
||||
guix/utils.scm \
|
||||
guix/sets.scm \
|
||||
guix/download.scm \
|
||||
@ -231,6 +232,7 @@ SCM_TESTS = \
|
||||
tests/ui.scm \
|
||||
tests/records.scm \
|
||||
tests/upstream.scm \
|
||||
tests/combinators.scm \
|
||||
tests/utils.scm \
|
||||
tests/build-utils.scm \
|
||||
tests/packages.scm \
|
||||
@ -295,8 +297,11 @@ TESTS = $(SCM_TESTS) $(SH_TESTS)
|
||||
|
||||
AM_TESTS_ENVIRONMENT = abs_top_srcdir="$(abs_top_srcdir)" GUILE_AUTO_COMPILE=0
|
||||
|
||||
SCM_LOG_DRIVER = $(top_builddir)/test-env $(GUILE) --no-auto-compile \
|
||||
-e main $(top_srcdir)/build-aux/test-driver.scm
|
||||
SCM_LOG_DRIVER = \
|
||||
$(top_builddir)/test-env --quiet-stderr \
|
||||
$(GUILE) --no-auto-compile -e main \
|
||||
$(top_srcdir)/build-aux/test-driver.scm
|
||||
|
||||
AM_SCM_LOG_DRIVER_FLAGS = --brief=yes
|
||||
|
||||
SH_LOG_COMPILER = $(top_builddir)/test-env $(SHELL)
|
||||
@ -325,6 +330,13 @@ check-local:
|
||||
|
||||
endif !CAN_RUN_TESTS
|
||||
|
||||
check-system: $(GOBJECTS)
|
||||
$(AM_V_at)echo "Running system tests..."
|
||||
$(AM_V_at)$(top_builddir)/pre-inst-env \
|
||||
$(GUILE) --no-auto-compile \
|
||||
-e '(@@ (run-system-tests) run-system-tests)' \
|
||||
$(top_srcdir)/build-aux/run-system-tests.scm
|
||||
|
||||
# Public key used to sign substitutes from hydra.gnu.org.
|
||||
dist_pkgdata_DATA = hydra.gnu.org.pub
|
||||
|
||||
@ -349,6 +361,7 @@ EXTRA_DIST = \
|
||||
build-aux/make-binary-tarball.scm \
|
||||
build-aux/generate-authors.scm \
|
||||
build-aux/test-driver.scm \
|
||||
build-aux/run-system-tests.scm \
|
||||
srfi/srfi-37.scm.in \
|
||||
srfi/srfi-64.scm \
|
||||
srfi/srfi-64.upstream.scm \
|
||||
|
71
build-aux/run-system-tests.scm
Normal file
71
build-aux/run-system-tests.scm
Normal file
@ -0,0 +1,71 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 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 (run-system-tests)
|
||||
#:use-module (gnu tests base)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix derivations)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:export (run-system-tests))
|
||||
|
||||
(define (built-derivations* drv)
|
||||
(lambda (store)
|
||||
(guard (c ((nix-protocol-error? c)
|
||||
(values #f store)))
|
||||
(values (build-derivations store drv) store))))
|
||||
|
||||
(define (filterm mproc lst) ;XXX: move to (guix monads)
|
||||
(with-monad %store-monad
|
||||
(>>= (foldm %store-monad
|
||||
(lambda (item result)
|
||||
(mlet %store-monad ((keep? (mproc item)))
|
||||
(return (if keep?
|
||||
(cons item result)
|
||||
result))))
|
||||
'()
|
||||
lst)
|
||||
(lift1 reverse %store-monad))))
|
||||
|
||||
(define %system-tests
|
||||
(list %test-basic-os))
|
||||
|
||||
(define (run-system-tests . args)
|
||||
(with-store store
|
||||
(run-with-store store
|
||||
(mlet* %store-monad ((drv (sequence %store-monad %system-tests))
|
||||
(out -> (map derivation->output-path drv)))
|
||||
(mbegin %store-monad
|
||||
(show-what-to-build* drv)
|
||||
(set-build-options* #:keep-going? #t #:keep-failed? #t)
|
||||
(built-derivations* drv)
|
||||
(mlet %store-monad ((valid (filterm (store-lift valid-path?)
|
||||
out))
|
||||
(failed (filterm (store-lift
|
||||
(negate valid-path?))
|
||||
out)))
|
||||
(format #t "TOTAL: ~a\n" (length drv))
|
||||
(for-each (lambda (item)
|
||||
(format #t "PASS: ~a~%" item))
|
||||
valid)
|
||||
(for-each (lambda (item)
|
||||
(format #t "FAIL: ~a~%" item))
|
||||
failed)
|
||||
(exit (null? failed))))))))
|
@ -29,12 +29,18 @@
|
||||
# stdout.
|
||||
unset CDPATH
|
||||
|
||||
case "$1" in
|
||||
--quiet-stderr)
|
||||
# Silence the daemon's output, which is often useless, as well as that
|
||||
# of Bash (such as "Terminated" messages when 'guix-daemon' is
|
||||
# killed.)
|
||||
exec 2> /dev/null
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ -x "@abs_top_builddir@/guix-daemon" ]
|
||||
then
|
||||
# Silence the daemon's output, which is often useless, as well as that of
|
||||
# Bash (such as "Terminated" messages when 'guix-daemon' is killed.)
|
||||
exec 2> /dev/null
|
||||
|
||||
NIX_STORE_DIR="@GUIX_TEST_ROOT@/store"
|
||||
|
||||
# Do that because store.scm calls `canonicalize-path' on it.
|
||||
|
@ -166,6 +166,11 @@ Display package(s) located in the specified file. These files usually
|
||||
have the following form: @file{gnu/packages/emacs.scm}, but don't type
|
||||
them manually! Press @key{TAB} to complete the file name.
|
||||
|
||||
@item M-x guix-package-from-file
|
||||
Display package that the code within the specified file evaluates to.
|
||||
@xref{Invoking guix package, @code{--install-from-file}}, for an example
|
||||
of what such a file may look like.
|
||||
|
||||
@item M-x guix-search-by-regexp
|
||||
Search for packages by a specified regexp. By default ``name'',
|
||||
``synopsis'' and ``description'' of the packages will be searched. This
|
||||
|
@ -18,7 +18,8 @@ Copyright @copyright{} 2014 Pierre-Antoine Rault@*
|
||||
Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@*
|
||||
Copyright @copyright{} 2015, 2016 Leo Famulari@*
|
||||
Copyright @copyright{} 2016 Ben Woodcroft@*
|
||||
Copyright @copyright{} 2016 Chris Marusich
|
||||
Copyright @copyright{} 2016 Chris Marusich@*
|
||||
Copyright @copyright{} 2016 Efraim Flashner
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
@ -374,7 +375,7 @@ If that command fails because you do not have the required public key,
|
||||
then run this command to import it:
|
||||
|
||||
@example
|
||||
$ gpg --keyserver keys.gnupg.net --recv-keys 3D9AEBB5
|
||||
$ gpg --keyserver keys.gnupg.net --recv-keys 090B11993D9AEBB5
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
@ -7330,7 +7331,7 @@ See @code{man loadkeys} for details.
|
||||
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} gpm-service-type [#:gpm @var{gpm}] @
|
||||
@deffn {Scheme Procedure} gpm-service [#:gpm @var{gpm}] @
|
||||
[#:options]
|
||||
Run @var{gpm}, the general-purpose mouse daemon, with the given
|
||||
command-line @var{options}. GPM allows users to use the mouse in the console,
|
||||
@ -7390,6 +7391,17 @@ Return a service that runs NetworkManager, a network connection manager
|
||||
attempting to keep network connectivity active when available.
|
||||
@end deffn
|
||||
|
||||
@cindex Connman
|
||||
@deffn {Scheme Procedure} connman-service @
|
||||
[#:connman @var{connman}]
|
||||
Return a service that runs @url{https://01.org/connman,Connman}, a network
|
||||
connection manager.
|
||||
|
||||
This service adds the @var{connman} package to the global profile, providing
|
||||
several the @command{connmanctl} command to interact with the daemon and
|
||||
configure networking."
|
||||
@end deffn
|
||||
|
||||
@deffn {Scheme Procedure} ntp-service [#:ntp @var{ntp}] @
|
||||
[#:name-service @var{%ntp-servers}]
|
||||
Return a service that runs the daemon from @var{ntp}, the
|
||||
|
37
emacs/guix-about.el
Normal file
37
emacs/guix-about.el
Normal file
@ -0,0 +1,37 @@
|
||||
;;; guix-about.el --- Various info about Guix
|
||||
|
||||
;; Copyright © 2016 Alex Kost <alezost@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 Location as published by
|
||||
;; the Free Software Foundation, either version 3 of the Location, 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 Location for more details.
|
||||
|
||||
;; You should have received a copy of the GNU General Public Location
|
||||
;; along with this program. If not, see <http://www.gnu.org/locations/>.
|
||||
|
||||
;;; Commentary:
|
||||
|
||||
;; This file provides the code to display various info about Guix (e.g., its
|
||||
;; version).
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'guix-config)
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-version ()
|
||||
"Display Guix version in the echo area."
|
||||
(interactive)
|
||||
(message "%s %s" guix-config-name guix-config-version))
|
||||
|
||||
(provide 'guix-about)
|
||||
|
||||
;;; guix-about.el ends here
|
@ -1,7 +1,7 @@
|
||||
;;; guix-config.el --- Compile-time configuration of Guix.
|
||||
|
||||
;; Copyright © 2015 Mathieu Lirzin <mthl@openmailbox.org>
|
||||
;; Copyright © 2015 Alex Kost <alezost@gmail.com>
|
||||
;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
|
||||
|
||||
;; This file is part of GNU Guix.
|
||||
|
||||
@ -20,6 +20,12 @@
|
||||
|
||||
;;; Code:
|
||||
|
||||
(defconst guix-config-name "@PACKAGE_NAME@"
|
||||
"Guix full name.")
|
||||
|
||||
(defconst guix-config-version "@PACKAGE_VERSION@"
|
||||
"Guix version.")
|
||||
|
||||
(defconst guix-config-emacs-interface-directory
|
||||
(replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@"))
|
||||
|
||||
|
@ -57,7 +57,7 @@ Return nil, if current buffer does not define a module."
|
||||
(defun guix-guile-boolean (arg)
|
||||
"Return a string with guile boolean value.
|
||||
Transform elisp ARG (nil or non-nil) to the guile boolean (#f or #t)."
|
||||
(concat "#" (prin1-to-string (if arg 't 'f))))
|
||||
(if arg "#t" "#f"))
|
||||
|
||||
(defun guix-guile-keyword-regexp (keyword)
|
||||
"Return regexp to find guile KEYWORD."
|
||||
|
@ -32,14 +32,6 @@
|
||||
;; still "name-version" string. So ‘id’ package parameter in the code
|
||||
;; below is either an object-address number or a full-name string.
|
||||
|
||||
;; To speed-up the process of getting information, the following
|
||||
;; auxiliary variables are used:
|
||||
;;
|
||||
;; - `%packages' - VHash of "package address"/"package" pairs.
|
||||
;;
|
||||
;; - `%package-table' - Hash table of
|
||||
;; "name+version key"/"list of packages" pairs.
|
||||
|
||||
;;; Code:
|
||||
|
||||
(use-modules
|
||||
@ -52,6 +44,7 @@
|
||||
(srfi srfi-19)
|
||||
(srfi srfi-26)
|
||||
(guix)
|
||||
(guix combinators)
|
||||
(guix git-download)
|
||||
(guix packages)
|
||||
(guix profiles)
|
||||
@ -100,38 +93,6 @@ return two values: name and version. For example, for SPEC
|
||||
(string-append full-name ":" output)
|
||||
full-name)))
|
||||
|
||||
(define name+version->key cons)
|
||||
(define key->name+version car+cdr)
|
||||
|
||||
(define %package-vhash
|
||||
(delay
|
||||
(fold-packages (lambda (pkg res)
|
||||
(vhash-consq (object-address pkg) pkg res))
|
||||
vlist-null)))
|
||||
|
||||
(define (package-vhash)
|
||||
"Return vhash of 'package ID (address)'/'package' pairs."
|
||||
(force %package-vhash))
|
||||
|
||||
(define %package-table
|
||||
(delay
|
||||
(let ((table (make-hash-table (vlist-length (package-vhash)))))
|
||||
(vlist-for-each
|
||||
(lambda (elem)
|
||||
(match elem
|
||||
((address . pkg)
|
||||
(let* ((key (name+version->key (package-name pkg)
|
||||
(package-version pkg)))
|
||||
(ref (hash-ref table key)))
|
||||
(hash-set! table key
|
||||
(if ref (cons pkg ref) (list pkg)))))))
|
||||
(package-vhash))
|
||||
table)))
|
||||
|
||||
(define (package-table)
|
||||
"Return hash table of 'name+version key'/'list of packages' pairs."
|
||||
(force %package-table))
|
||||
|
||||
(define (manifest-entry->name+version+output entry)
|
||||
(values
|
||||
(manifest-entry-name entry)
|
||||
@ -339,15 +300,39 @@ Example:
|
||||
|
||||
;;; Finding packages.
|
||||
|
||||
(define (package-by-address address)
|
||||
(match (vhash-assq address (package-vhash))
|
||||
((_ . package) package)
|
||||
(_ #f)))
|
||||
(define-values (package-by-address
|
||||
register-package)
|
||||
(let ((table (delay (fold-packages
|
||||
(lambda (package table)
|
||||
(vhash-consq (object-address package)
|
||||
package table))
|
||||
vlist-null))))
|
||||
(values
|
||||
(lambda (address)
|
||||
"Return package by its object ADDRESS."
|
||||
(match (vhash-assq address (force table))
|
||||
((_ . package) package)
|
||||
(_ #f)))
|
||||
(lambda (package)
|
||||
"Register PACKAGE by its 'object-address', so that later
|
||||
'package-by-address' can be used to access it."
|
||||
(let ((table* (force table)))
|
||||
(set! table
|
||||
(delay (vhash-consq (object-address package)
|
||||
package table*))))))))
|
||||
|
||||
(define (packages-by-name+version name version)
|
||||
(or (hash-ref (package-table)
|
||||
(name+version->key name version))
|
||||
'()))
|
||||
(define packages-by-name+version
|
||||
(let ((table (delay (fold-packages
|
||||
(lambda (package table)
|
||||
(let ((file (location-file
|
||||
(package-location package))))
|
||||
(vhash-cons (cons (package-name package)
|
||||
(package-version package))
|
||||
package table)))
|
||||
vlist-null))))
|
||||
(lambda (name version)
|
||||
"Return packages matching NAME and VERSION."
|
||||
(vhash-fold* cons '() (cons name version) (force table)))))
|
||||
|
||||
(define (packages-by-full-name full-name)
|
||||
(call-with-values
|
||||
@ -434,6 +419,15 @@ MATCH-PARAMS is a list of parameters that REGEXP can match."
|
||||
'()
|
||||
(find-newest-available-packages)))
|
||||
|
||||
(define (packages-from-file file)
|
||||
"Return a list of packages from FILE."
|
||||
(let ((package (load (canonicalize-path file))))
|
||||
(if (package? package)
|
||||
(begin
|
||||
(register-package package)
|
||||
(list package))
|
||||
'())))
|
||||
|
||||
|
||||
;;; Making package/output patterns.
|
||||
|
||||
@ -686,6 +680,8 @@ ENTRIES is a list of installed manifest entries."
|
||||
(lookup-license license-name))))
|
||||
(location-proc (lambda (_ location)
|
||||
(packages-by-location-file location)))
|
||||
(file-proc (lambda (_ file)
|
||||
(packages-from-file file)))
|
||||
(all-proc (lambda _ (all-available-packages)))
|
||||
(newest-proc (lambda _ (newest-available-packages))))
|
||||
`((package
|
||||
@ -696,6 +692,7 @@ ENTRIES is a list of installed manifest entries."
|
||||
(regexp . ,regexp-proc)
|
||||
(license . ,license-proc)
|
||||
(location . ,location-proc)
|
||||
(from-file . ,file-proc)
|
||||
(all-available . ,all-proc)
|
||||
(newest-available . ,newest-proc))
|
||||
(output
|
||||
@ -706,6 +703,7 @@ ENTRIES is a list of installed manifest entries."
|
||||
(regexp . ,regexp-proc)
|
||||
(license . ,license-proc)
|
||||
(location . ,location-proc)
|
||||
(from-file . ,file-proc)
|
||||
(all-available . ,all-proc)
|
||||
(newest-available . ,newest-proc)))))
|
||||
|
||||
|
@ -44,6 +44,9 @@
|
||||
,(lambda (_ entries locations)
|
||||
(apply #'guix-message-packages-by-location
|
||||
entries 'package locations)))
|
||||
(from-file
|
||||
(0 "No package in file '%s'." val)
|
||||
(1 "Package from file '%s'." val))
|
||||
(regexp
|
||||
(0 "No packages matching '%s'." val)
|
||||
(1 "A single package matching '%s'." val)
|
||||
@ -80,6 +83,10 @@
|
||||
,(lambda (_ entries locations)
|
||||
(apply #'guix-message-packages-by-location
|
||||
entries 'output locations)))
|
||||
(from-file
|
||||
(0 "No package in file '%s'." val)
|
||||
(1 "Package from file '%s'." val)
|
||||
(many "Package outputs from file '%s'." val))
|
||||
(regexp
|
||||
(0 "No package outputs matching '%s'." val)
|
||||
(1 "A single package output matching '%s'." val)
|
||||
|
@ -393,15 +393,17 @@ formatted with this string, an action button is inserted.")
|
||||
(guix-format-insert nil)
|
||||
(let ((location-file (car (split-string location ":"))))
|
||||
(guix-info-insert-value-indent location 'guix-package-location)
|
||||
(guix-info-insert-indent)
|
||||
(guix-info-insert-action-button
|
||||
"Packages"
|
||||
(lambda (btn)
|
||||
(guix-package-get-display (guix-ui-current-profile)
|
||||
'location
|
||||
(button-get btn 'location)))
|
||||
(format "Display packages from location '%s'" location-file)
|
||||
'location location-file))))
|
||||
;; Do not show "Packages" button if a package 'from file' is displayed.
|
||||
(unless (eq (guix-ui-current-search-type) 'from-file)
|
||||
(guix-info-insert-indent)
|
||||
(guix-info-insert-action-button
|
||||
"Packages"
|
||||
(lambda (btn)
|
||||
(guix-package-get-display (guix-ui-current-profile)
|
||||
'location
|
||||
(button-get btn 'location)))
|
||||
(format "Display packages from location '%s'" location-file)
|
||||
'location location-file)))))
|
||||
|
||||
(defun guix-package-info-insert-systems (systems entry)
|
||||
"Insert supported package SYSTEMS at point."
|
||||
@ -1000,6 +1002,19 @@ Interactively with prefix, prompt for PROFILE."
|
||||
(guix-ui-read-profile)))
|
||||
(guix-package-get-display profile 'location location))
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-package-from-file (file &optional profile)
|
||||
"Display Guix package that the code from FILE evaluates to.
|
||||
If PROFILE is nil, use `guix-current-profile'.
|
||||
Interactively with prefix, prompt for PROFILE."
|
||||
(interactive
|
||||
(list (read-file-name "File with package: ")
|
||||
(guix-ui-read-profile)))
|
||||
(guix-buffer-get-display-entries
|
||||
'info 'package
|
||||
(list (or profile guix-current-profile) 'from-file file)
|
||||
'add))
|
||||
|
||||
;;;###autoload
|
||||
(defun guix-search-by-regexp (regexp &optional params profile)
|
||||
"Search for Guix packages by REGEXP.
|
||||
|
@ -20,6 +20,7 @@
|
||||
AUTOLOADS = emacs/guix-autoloads.el
|
||||
|
||||
ELFILES = \
|
||||
emacs/guix-about.el \
|
||||
emacs/guix-backend.el \
|
||||
emacs/guix-base.el \
|
||||
emacs/guix-build-log.el \
|
||||
|
206
gnu/build/marionette.scm
Normal file
206
gnu/build/marionette.scm
Normal file
@ -0,0 +1,206 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 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 build marionette)
|
||||
#:use-module (srfi srfi-9)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (rnrs io ports)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (marionette?
|
||||
make-marionette
|
||||
marionette-eval
|
||||
marionette-control
|
||||
%qwerty-us-keystrokes
|
||||
marionette-type))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
;;; Instrumentation tools for QEMU virtual machines (VMs). A "marionette" is
|
||||
;;; essentially a VM (a QEMU instance) with its monitor connected to a
|
||||
;;; Unix-domain socket, and with a REPL inside the guest listening on a
|
||||
;;; virtual console, which is itself connected to the host via a Unix-domain
|
||||
;;; socket--these are the marionette's strings, connecting it to the almighty
|
||||
;;; puppeteer.
|
||||
;;;
|
||||
;;; Code:
|
||||
|
||||
(define-record-type <marionette>
|
||||
(marionette command pid monitor repl)
|
||||
marionette?
|
||||
(command marionette-command) ;list of strings
|
||||
(pid marionette-pid) ;integer
|
||||
(monitor marionette-monitor) ;port
|
||||
(repl marionette-repl)) ;port
|
||||
|
||||
(define* (wait-for-monitor-prompt port #:key (quiet? #t))
|
||||
"Read from PORT until we have seen all of QEMU's monitor prompt. When
|
||||
QUIET? is false, the monitor's output is written to the current output port."
|
||||
(define full-prompt
|
||||
(string->list "(qemu) "))
|
||||
|
||||
(let loop ((prompt full-prompt)
|
||||
(matches '())
|
||||
(prefix '()))
|
||||
(match prompt
|
||||
(()
|
||||
;; It's useful to set QUIET? so we don't display the echo of our own
|
||||
;; commands.
|
||||
(unless quiet?
|
||||
(for-each (lambda (line)
|
||||
(format #t "qemu monitor: ~a~%" line))
|
||||
(string-tokenize (list->string (reverse prefix))
|
||||
(char-set-complement (char-set #\newline))))))
|
||||
((chr rest ...)
|
||||
(let ((read (read-char port)))
|
||||
(cond ((eqv? read chr)
|
||||
(loop rest (cons read matches) prefix))
|
||||
((eof-object? read)
|
||||
(error "EOF while waiting for QEMU monitor prompt"
|
||||
(list->string (reverse prefix))))
|
||||
(else
|
||||
(loop full-prompt
|
||||
'()
|
||||
(cons read (append matches prefix))))))))))
|
||||
|
||||
(define* (make-marionette command
|
||||
#:key (socket-directory "/tmp") (timeout 20))
|
||||
"Return a QEMU marionette--i.e., a virtual machine with open connections to the
|
||||
QEMU monitor and to the guest's backdoor REPL."
|
||||
(define (file->sockaddr file)
|
||||
(make-socket-address AF_UNIX
|
||||
(string-append socket-directory "/" file)))
|
||||
|
||||
(define extra-options
|
||||
(list "-nographic"
|
||||
"-monitor" (string-append "unix:" socket-directory "/monitor")
|
||||
"-chardev" (string-append "socket,id=repl,path=" socket-directory
|
||||
"/repl")
|
||||
"-device" "virtio-serial"
|
||||
"-device" "virtconsole,chardev=repl"))
|
||||
|
||||
(let ((monitor (socket AF_UNIX SOCK_STREAM 0))
|
||||
(repl (socket AF_UNIX SOCK_STREAM 0)))
|
||||
(bind monitor (file->sockaddr "monitor"))
|
||||
(listen monitor 1)
|
||||
(bind repl (file->sockaddr "repl"))
|
||||
(listen repl 1)
|
||||
|
||||
(match (primitive-fork)
|
||||
(0
|
||||
(catch #t
|
||||
(lambda ()
|
||||
(close monitor)
|
||||
(close repl)
|
||||
(match command
|
||||
((program . args)
|
||||
(apply execl program program
|
||||
(append args extra-options)))))
|
||||
(lambda (key . args)
|
||||
(print-exception (current-error-port)
|
||||
(stack-ref (make-stack #t) 1)
|
||||
key args)
|
||||
(primitive-exit 1))))
|
||||
(pid
|
||||
(format #t "QEMU runs as PID ~a~%" pid)
|
||||
(sigaction SIGALRM
|
||||
(lambda (signum)
|
||||
(display "time is up!\n") ;FIXME: break
|
||||
#t))
|
||||
(alarm timeout)
|
||||
|
||||
(match (accept monitor)
|
||||
((monitor-conn . _)
|
||||
(display "connected to QEMU's monitor\n")
|
||||
(close-port monitor)
|
||||
(wait-for-monitor-prompt monitor-conn)
|
||||
(display "read QEMU monitor prompt\n")
|
||||
(match (accept repl)
|
||||
((repl-conn . addr)
|
||||
(display "connected to guest REPL\n")
|
||||
(close-port repl)
|
||||
(match (read repl-conn)
|
||||
('ready
|
||||
(alarm 0)
|
||||
(sigaction SIGALRM SIG_DFL)
|
||||
(display "marionette is ready\n")
|
||||
(marionette (append command extra-options) pid
|
||||
monitor-conn repl-conn)))))))))))
|
||||
|
||||
(define (marionette-eval exp marionette)
|
||||
"Evaluate EXP in MARIONETTE's backdoor REPL. Return the result."
|
||||
(match marionette
|
||||
(($ <marionette> command pid monitor repl)
|
||||
(write exp repl)
|
||||
(newline repl)
|
||||
(read repl))))
|
||||
|
||||
(define (marionette-control command marionette)
|
||||
"Run COMMAND in the QEMU monitor of MARIONETTE. COMMAND is a string such as
|
||||
\"sendkey ctrl-alt-f1\" or \"screendump foo.ppm\" (info \"(qemu-doc)
|
||||
pcsys_monitor\")."
|
||||
(match marionette
|
||||
(($ <marionette> _ _ monitor)
|
||||
(display command monitor)
|
||||
(newline monitor)
|
||||
(wait-for-monitor-prompt monitor))))
|
||||
|
||||
(define %qwerty-us-keystrokes
|
||||
;; Maps "special" characters to their keystrokes.
|
||||
'((#\newline . "ret")
|
||||
(#\space . "spc")
|
||||
(#\- . "minus")
|
||||
(#\+ . "shift-equal")
|
||||
(#\* . "shift-8")
|
||||
(#\= . "equal")
|
||||
(#\? . "shift-slash")
|
||||
(#\[ . "bracket_left")
|
||||
(#\] . "bracket_right")
|
||||
(#\( . "shift-9")
|
||||
(#\) . "shift-0")
|
||||
(#\/ . "slash")
|
||||
(#\< . "less")
|
||||
(#\> . "shift-less")
|
||||
(#\. . "dot")
|
||||
(#\, . "comma")
|
||||
(#\; . "semicolon")
|
||||
(#\bs . "backspace")
|
||||
(#\tab . "tab")))
|
||||
|
||||
(define* (string->keystroke-commands str
|
||||
#:optional
|
||||
(keystrokes
|
||||
%qwerty-us-keystrokes))
|
||||
"Return a list of QEMU monitor commands to send the keystrokes corresponding
|
||||
to STR. KEYSTROKES is an alist specifying a mapping from characters to
|
||||
keystrokes."
|
||||
(string-fold-right (lambda (chr result)
|
||||
(cons (string-append "sendkey "
|
||||
(or (assoc-ref keystrokes chr)
|
||||
(string chr)))
|
||||
result))
|
||||
'()
|
||||
str))
|
||||
|
||||
(define* (marionette-type str marionette
|
||||
#:key (keystrokes %qwerty-us-keystrokes))
|
||||
"Type STR on MARIONETTE's keyboard, using the KEYSTROKES alist to map characters
|
||||
to actual keystrokes."
|
||||
(for-each (cut marionette-control <> marionette)
|
||||
(string->keystroke-commands str keystrokes)))
|
||||
|
||||
;;; marionette.scm ends here
|
63
gnu/local.mk
63
gnu/local.mk
@ -40,7 +40,6 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/anthy.scm \
|
||||
gnu/packages/apl.scm \
|
||||
gnu/packages/apr.scm \
|
||||
gnu/packages/asciidoc.scm \
|
||||
gnu/packages/aspell.scm \
|
||||
gnu/packages/attr.scm \
|
||||
gnu/packages/audacity.scm \
|
||||
@ -73,6 +72,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/compression.scm \
|
||||
gnu/packages/conkeror.scm \
|
||||
gnu/packages/conky.scm \
|
||||
gnu/packages/connman.scm \
|
||||
gnu/packages/cook.scm \
|
||||
gnu/packages/cpio.scm \
|
||||
gnu/packages/cppi.scm \
|
||||
@ -97,7 +97,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/dns.scm \
|
||||
gnu/packages/docbook.scm \
|
||||
gnu/packages/docker.scm \
|
||||
gnu/packages/doxygen.scm \
|
||||
gnu/packages/documentation.scm \
|
||||
gnu/packages/dunst.scm \
|
||||
gnu/packages/dvtm.scm \
|
||||
gnu/packages/ebook.scm \
|
||||
@ -107,6 +107,7 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/packages/enchant.scm \
|
||||
gnu/packages/engineering.scm \
|
||||
gnu/packages/enlightenment.scm \
|
||||
gnu/packages/entr.scm \
|
||||
gnu/packages/fcitx.scm \
|
||||
gnu/packages/feh.scm \
|
||||
gnu/packages/figlet.scm \
|
||||
@ -398,11 +399,16 @@ GNU_SYSTEM_MODULES = \
|
||||
gnu/build/linux-container.scm \
|
||||
gnu/build/linux-initrd.scm \
|
||||
gnu/build/linux-modules.scm \
|
||||
gnu/build/vm.scm
|
||||
gnu/build/marionette.scm \
|
||||
gnu/build/vm.scm \
|
||||
\
|
||||
gnu/tests.scm \
|
||||
gnu/tests/base.scm
|
||||
|
||||
|
||||
patchdir = $(guilemoduledir)/gnu/packages/patches
|
||||
dist_patch_DATA = \
|
||||
gnu/packages/patches/4store-fix-buildsystem.patch \
|
||||
gnu/packages/patches/abiword-explictly-cast-bools.patch \
|
||||
gnu/packages/patches/abiword-wmf-version-lookup-fix.patch \
|
||||
gnu/packages/patches/acl-hurd-path-max.patch \
|
||||
@ -452,6 +458,8 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/dico-libtool-deterministic.patch \
|
||||
gnu/packages/patches/diffutils-gets-undeclared.patch \
|
||||
gnu/packages/patches/dfu-programmer-fix-libusb.patch \
|
||||
gnu/packages/patches/doc++-include-directives.patch \
|
||||
gnu/packages/patches/doc++-segfault-fix.patch \
|
||||
gnu/packages/patches/doxygen-test.patch \
|
||||
gnu/packages/patches/duplicity-piped-password.patch \
|
||||
gnu/packages/patches/duplicity-test_selection-tmp.patch \
|
||||
@ -490,11 +498,7 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/ghostscript-CVE-2015-3228.patch \
|
||||
gnu/packages/patches/ghostscript-runpath.patch \
|
||||
gnu/packages/patches/glib-networking-ssl-cert-file.patch \
|
||||
gnu/packages/patches/glib-tests-desktop.patch \
|
||||
gnu/packages/patches/glib-tests-homedir.patch \
|
||||
gnu/packages/patches/glib-tests-prlimit.patch \
|
||||
gnu/packages/patches/glib-tests-timer.patch \
|
||||
gnu/packages/patches/glib-tests-gapplication.patch \
|
||||
gnu/packages/patches/glibc-bootstrap-system.patch \
|
||||
gnu/packages/patches/glibc-hurd-extern-inline.patch \
|
||||
gnu/packages/patches/glibc-ldd-x86_64.patch \
|
||||
@ -504,7 +508,6 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/gmp-arm-asm-nothumb.patch \
|
||||
gnu/packages/patches/gmp-faulty-test.patch \
|
||||
gnu/packages/patches/gnucash-price-quotes-perl.patch \
|
||||
gnu/packages/patches/gnupg-simple-query-ignore-status-messages.patch \
|
||||
gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch \
|
||||
gnu/packages/patches/gobject-introspection-cc.patch \
|
||||
gnu/packages/patches/gobject-introspection-girepository.patch \
|
||||
@ -520,29 +523,22 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/guile-relocatable.patch \
|
||||
gnu/packages/patches/guile-rsvg-pkgconfig.patch \
|
||||
gnu/packages/patches/gtk2-respect-GUIX_GTK2_PATH.patch \
|
||||
gnu/packages/patches/gtk2-theme-paths.patch \
|
||||
gnu/packages/patches/gtk3-respect-GUIX_GTK3_PATH.patch \
|
||||
gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \
|
||||
gnu/packages/patches/hdf5-config-date.patch \
|
||||
gnu/packages/patches/hop-bigloo-4.0b.patch \
|
||||
gnu/packages/patches/hop-linker-flags.patch \
|
||||
gnu/packages/patches/hydra-automake-1.15.patch \
|
||||
gnu/packages/patches/hydra-disable-darcs-test.patch \
|
||||
gnu/packages/patches/hypre-doc-tables.patch \
|
||||
gnu/packages/patches/hypre-ldflags.patch \
|
||||
gnu/packages/patches/icecat-avoid-bundled-includes.patch \
|
||||
gnu/packages/patches/icecat-re-enable-DHE-cipher-suites.patch \
|
||||
gnu/packages/patches/icecat-update-bundled-graphite2.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2805.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt1.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt2.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt3.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt4.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2807-pt5.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2808.patch \
|
||||
gnu/packages/patches/icecat-CVE-2016-2814.patch \
|
||||
gnu/packages/patches/icu4c-CVE-2014-6585.patch \
|
||||
gnu/packages/patches/icu4c-CVE-2015-1270.patch \
|
||||
gnu/packages/patches/icu4c-CVE-2015-4760.patch \
|
||||
gnu/packages/patches/ilmbase-fix-tests.patch \
|
||||
gnu/packages/patches/imagemagick-test-segv.patch \
|
||||
gnu/packages/patches/imlib2-CVE-2016-4024.patch \
|
||||
gnu/packages/patches/inkscape-drop-wait-for-targets.patch \
|
||||
gnu/packages/patches/irrlicht-mesa-10.patch \
|
||||
gnu/packages/patches/jasper-CVE-2007-2721.patch \
|
||||
gnu/packages/patches/jasper-CVE-2008-3520.patch \
|
||||
@ -567,6 +563,7 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/liba52-use-mtune-not-mcpu.patch \
|
||||
gnu/packages/patches/libarchive-bsdtar-test.patch \
|
||||
gnu/packages/patches/libarchive-CVE-2013-0211.patch \
|
||||
gnu/packages/patches/libarchive-CVE-2016-1541.patch \
|
||||
gnu/packages/patches/libarchive-fix-lzo-test-case.patch \
|
||||
gnu/packages/patches/libarchive-mtree-filename-length-fix.patch \
|
||||
gnu/packages/patches/libbonobo-activation-test-race.patch \
|
||||
@ -634,6 +631,7 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/mupen64plus-ui-console-notice.patch \
|
||||
gnu/packages/patches/mutt-store-references.patch \
|
||||
gnu/packages/patches/net-tools-bitrot.patch \
|
||||
gnu/packages/patches/netcdf-config-date.patch \
|
||||
gnu/packages/patches/ngircd-handle-zombies.patch \
|
||||
gnu/packages/patches/ngircd-no-dns-in-tests.patch \
|
||||
gnu/packages/patches/ninja-tests.patch \
|
||||
@ -642,6 +640,7 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/nvi-assume-preserve-path.patch \
|
||||
gnu/packages/patches/nvi-dbpagesize-binpower.patch \
|
||||
gnu/packages/patches/nvi-db4.patch \
|
||||
gnu/packages/patches/ocaml-CVE-2015-8869.patch \
|
||||
gnu/packages/patches/ocaml-findlib-make-install.patch \
|
||||
gnu/packages/patches/openexr-missing-samples.patch \
|
||||
gnu/packages/patches/openimageio-boost-1.60.patch \
|
||||
@ -680,8 +679,8 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/plink-1.07-unclobber-i.patch \
|
||||
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
|
||||
gnu/packages/patches/polkit-drop-test.patch \
|
||||
gnu/packages/patches/poppler-CVE-2015-8868.patch \
|
||||
gnu/packages/patches/portaudio-audacity-compat.patch \
|
||||
gnu/packages/patches/portmidi-modular-build.patch \
|
||||
gnu/packages/patches/procmail-ambiguous-getline-debian.patch \
|
||||
gnu/packages/patches/procps-non-linux.patch \
|
||||
gnu/packages/patches/pt-scotch-build-parallelism.patch \
|
||||
@ -707,18 +706,6 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/python-paste-remove-timing-test.patch \
|
||||
gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \
|
||||
gnu/packages/patches/python-pandas-fix-tslib-test-failure.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-8558.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-8567.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-8613.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-8619.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-8701.patch \
|
||||
gnu/packages/patches/qemu-CVE-2015-8743.patch \
|
||||
gnu/packages/patches/qemu-CVE-2016-1568.patch \
|
||||
gnu/packages/patches/qemu-CVE-2016-1922.patch \
|
||||
gnu/packages/patches/qemu-CVE-2016-1981.patch \
|
||||
gnu/packages/patches/qemu-CVE-2016-2197.patch \
|
||||
gnu/packages/patches/qemu-usb-ehci-oob-read.patch \
|
||||
gnu/packages/patches/qemu-virtio-9p-use-accessor-to-get-thread-pool.patch \
|
||||
gnu/packages/patches/qt4-ldflags.patch \
|
||||
gnu/packages/patches/ratpoison-shell.patch \
|
||||
gnu/packages/patches/readline-link-ncurses.patch \
|
||||
@ -753,10 +740,7 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/ttfautohint-source-date-epoch.patch \
|
||||
gnu/packages/patches/tophat-build-with-later-seqan.patch \
|
||||
gnu/packages/patches/torsocks-dns-test.patch \
|
||||
gnu/packages/patches/tvtime-gcc41.patch \
|
||||
gnu/packages/patches/tvtime-pngoutput.patch \
|
||||
gnu/packages/patches/tvtime-videodev2.patch \
|
||||
gnu/packages/patches/tvtime-xmltv.patch \
|
||||
gnu/packages/patches/totem-debug-format-fix.patch \
|
||||
gnu/packages/patches/unzip-CVE-2014-8139.patch \
|
||||
gnu/packages/patches/unzip-CVE-2014-8140.patch \
|
||||
gnu/packages/patches/unzip-CVE-2014-8141.patch \
|
||||
@ -792,6 +776,11 @@ dist_patch_DATA = \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2015-5314.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2015-5315.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2015-5316.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2016-4476.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2016-4477-pt1.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2016-4477-pt2.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2016-4477-pt3.patch \
|
||||
gnu/packages/patches/wpa-supplicant-CVE-2016-4477-pt4.patch \
|
||||
gnu/packages/patches/xdotool-fix-makefile.patch \
|
||||
gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \
|
||||
gnu/packages/patches/xf86-video-ast-remove-mibstore.patch \
|
||||
|
@ -24,6 +24,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix ui)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix combinators)
|
||||
#:use-module ((guix build utils)
|
||||
#:select ((package-name->name+version
|
||||
. hyphen-separated-name->name+version)))
|
||||
|
@ -486,9 +486,9 @@ connection alive.")
|
||||
(define-public isc-dhcp
|
||||
(let* ((bind-major-version "9")
|
||||
(bind-minor-version "9")
|
||||
(bind-patch-version "8")
|
||||
(bind-release-type "-P")
|
||||
(bind-release-version "4")
|
||||
(bind-patch-version "9")
|
||||
(bind-release-type "") ; for patch release, use "-P"
|
||||
(bind-release-version "") ; for patch release, e.g. "4"
|
||||
(bind-version (string-append bind-major-version
|
||||
"."
|
||||
bind-minor-version
|
||||
@ -498,14 +498,14 @@ connection alive.")
|
||||
bind-release-version)))
|
||||
(package
|
||||
(name "isc-dhcp")
|
||||
(version "4.3.3-P1")
|
||||
(version "4.3.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.isc.org/isc/dhcp/"
|
||||
version "/dhcp-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08crcsmg4dm2v533aq3883ik8mf4vvvd6r998r4vrgx1zxnqj7n1"))))
|
||||
"0zk0imll6bfyp9p4ndn8h6s4ifijnw5bhixswifr5rnk7pp5l4gm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:parallel-build? #f
|
||||
@ -604,7 +604,7 @@ connection alive.")
|
||||
"/bind-" bind-version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wl9kl0630dc1qjrf7fnp8cscagfm5qgmisi0zhr1p6iwi9bil2y"))))
|
||||
"0w8qqm6p2y6x57j2l0a3278g173wd84dsr4py9z00191f3wra74q"))))
|
||||
|
||||
;; When cross-compiling, we need the cross Coreutils and sed.
|
||||
;; Otherwise just use those from %FINAL-INPUTS.
|
||||
@ -874,7 +874,12 @@ commands and their arguments.")
|
||||
(search-patches "wpa-supplicant-CVE-2015-5310.patch"
|
||||
"wpa-supplicant-CVE-2015-5314.patch"
|
||||
"wpa-supplicant-CVE-2015-5315.patch"
|
||||
"wpa-supplicant-CVE-2015-5316.patch"))))
|
||||
"wpa-supplicant-CVE-2015-5316.patch"
|
||||
"wpa-supplicant-CVE-2016-4476.patch"
|
||||
"wpa-supplicant-CVE-2016-4477-pt1.patch"
|
||||
"wpa-supplicant-CVE-2016-4477-pt2.patch"
|
||||
"wpa-supplicant-CVE-2016-4477-pt3.patch"
|
||||
"wpa-supplicant-CVE-2016-4477-pt4.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases (alist-replace
|
||||
@ -1564,14 +1569,14 @@ done with the @code{auditctl} utility.")
|
||||
(define-public nmap
|
||||
(package
|
||||
(name "nmap")
|
||||
(version "7.11")
|
||||
(version "7.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://nmap.org/dist/nmap-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jlmq1w0gjqpa7qa523kdj73ndm1xzww2wjvb94hxh6yalargyhk"))
|
||||
"014vagh9ak10hidwzp9s6g30y5h5fhsh8wykcnc1hnn9hwm0ipv3"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(map delete-file-recursively
|
||||
|
@ -24,7 +24,7 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages graphviz)
|
||||
|
@ -1,52 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 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 asciidoc)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:autoload (gnu packages zip) (unzip))
|
||||
|
||||
(define-public asciidoc
|
||||
(package
|
||||
(name "asciidoc")
|
||||
(version "8.6.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/asciidoc/asciidoc-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:tests? #f)) ; no 'check' target
|
||||
(inputs `(("python" ,python-2)))
|
||||
(home-page "http://www.methods.co.nz/asciidoc/")
|
||||
(synopsis "Text-based document generation system")
|
||||
(description
|
||||
"AsciiDoc is a text document format for writing notes, documentation,
|
||||
articles, books, ebooks, slideshows, web pages, man pages and blogs.
|
||||
AsciiDoc files can be translated to many formats including HTML, PDF,
|
||||
EPUB, man page.
|
||||
|
||||
AsciiDoc is highly configurable: both the AsciiDoc source file syntax and
|
||||
the backend output markups (which can be almost any type of SGML/XML
|
||||
markup) can be customized and extended by the user.")
|
||||
(license gpl2+)))
|
@ -136,6 +136,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
|
||||
(define-public libarchive
|
||||
(package
|
||||
(name "libarchive")
|
||||
(replacement libarchive/fixed)
|
||||
(version "3.1.2")
|
||||
(source
|
||||
(origin
|
||||
@ -193,6 +194,14 @@ archive. In particular, note that there is currently no built-in support for
|
||||
random access nor for in-place modification.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define libarchive/fixed
|
||||
(package
|
||||
(inherit libarchive)
|
||||
(source (origin
|
||||
(inherit (package-source libarchive))
|
||||
(patches (cons (search-patch "libarchive-CVE-2016-1541.patch")
|
||||
(origin-patches (package-source libarchive))))))))
|
||||
|
||||
(define-public rdup
|
||||
(package
|
||||
(name "rdup")
|
||||
|
@ -6,6 +6,7 @@
|
||||
;;; Copyright © 2014 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2014, 2015 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -24,7 +25,7 @@
|
||||
|
||||
(define-module (gnu packages base)
|
||||
#:use-module ((guix licenses)
|
||||
#:select (gpl3+ lgpl2.0+ public-domain))
|
||||
#:select (gpl3+ lgpl2.0+ lgpl3+ public-domain))
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages bash)
|
||||
@ -920,6 +921,33 @@ reflect changes made by political bodies to time zone boundaries, UTC offsets,
|
||||
and daylight-saving rules.")
|
||||
(license public-domain)))
|
||||
|
||||
(define-public libiconv
|
||||
(package
|
||||
(name "libiconv")
|
||||
(version "1.14")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libiconv/libiconv-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"04q6lgl3kglmmhw59igq1n7v3rp1rpkypl366cy1k1yn2znlvckj"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Work around "declared gets" error on glibc systems (fixed by
|
||||
;; Gnulib commit 66712c23388e93e5c518ebc8515140fa0c807348.)
|
||||
'(substitute* "srclib/stdio.in.h"
|
||||
(("^#undef gets") "")
|
||||
(("^_GL_WARN_ON_USE \\(gets.*") "")))))
|
||||
(build-system gnu-build-system)
|
||||
(synopsis "Character set conversion library")
|
||||
(description
|
||||
"libiconv provides an implementation of the iconv function for systems
|
||||
that lack it. iconv is used to convert between character encodings in a
|
||||
program. It supports a wide variety of different encodings.")
|
||||
(home-page "http://www.gnu.org/software/libiconv/")
|
||||
(license lgpl3+)))
|
||||
|
||||
(define-public (canonical-package package)
|
||||
;; Avoid circular dependency by lazily resolving 'commencement'.
|
||||
(let* ((iface (resolve-interface '(gnu packages commencement)))
|
||||
|
@ -318,3 +318,46 @@ without modification.")
|
||||
completion for many common commands.")
|
||||
(home-page "http://bash-completion.alioth.debian.org/")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public bash-tap
|
||||
(package
|
||||
(name "bash-tap")
|
||||
(version "1.0.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/illusori/bash-tap/"
|
||||
"archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0qs1qi38bl3ns4mpagcawv618dsk2q1lgrbddgvs0wl3ia12cyz5"))))
|
||||
;; There is no compilation process to use this package, however, the bash
|
||||
;; scripts installed by this package start with "#!/bin/bash". To fix
|
||||
;; these lines, we use the patch-shebangs of the GNU build system. The
|
||||
;; project does not use a Makefile.
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; There is no test suite.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Because there are no configure scripts or Makefile, we can
|
||||
;; remove these phases.
|
||||
(delete 'configure)
|
||||
(delete 'build)
|
||||
;; The installation involves manually copying the files to a location.
|
||||
;; To make them easily accessible by setting PATH, we add the scripts
|
||||
;; to the "bin" folder.
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin")))
|
||||
(install-file "bash-tap" bin)
|
||||
(install-file "bash-tap-bootstrap" bin)
|
||||
(install-file "bash-tap-mock" bin)))))))
|
||||
(home-page "http://www.illusori.co.uk/projects/bash-tap/")
|
||||
(synopsis "Bash port of a Test::More/Test::Builder-style TAP-compliant
|
||||
test library")
|
||||
(description "Bash TAP is a TAP-compliant Test::More-style testing library
|
||||
for Bash shell scripts and functions. Along with the Test::More-style testing
|
||||
helpers it provides helper functions for mocking commands and in-process output
|
||||
capturing.")
|
||||
(license expat)))
|
||||
|
@ -44,7 +44,7 @@
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cpio)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages gawk)
|
||||
@ -1535,14 +1535,14 @@ data and settings.")
|
||||
(define-public edirect
|
||||
(package
|
||||
(name "edirect")
|
||||
(version "3.50")
|
||||
(version "4.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; Note: older versions are not retained.
|
||||
(uri "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/edirect.tar.gz")
|
||||
(uri (string-append "ftp://ftp.ncbi.nlm.nih.gov/entrez/entrezdirect/"
|
||||
"versions/2016-05-03/edirect.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cr3gzcs3flmgnnbj5iz93vh9w0fca1ilzi2q82cl63ln3mwvpz0"))))
|
||||
"15zsprak5yh8c1yrz4r1knmb5s8qcmdid4xdhkh3lqcv64l60hli"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;no "check" target
|
||||
|
@ -27,7 +27,8 @@
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module ((guix store) #:select (add-to-store add-text-to-store))
|
||||
#:use-module ((guix derivations) #:select (derivation))
|
||||
#:use-module (guix utils)
|
||||
#:use-module ((guix utils) #:select (gnu-triplet->nix-system))
|
||||
#:use-module (guix combinators)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match)
|
||||
|
@ -1,6 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015, 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -47,11 +48,23 @@
|
||||
"14lmjj63zyx88rf1z71l0v9ms4c2vpdhmixksjjxgywp5p2f7708"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; test suite appears broken
|
||||
'(#:tests? #f ; test suite appears broken
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'patch-paths
|
||||
(lambda _
|
||||
(let ((tzdata (assoc-ref %build-inputs "tzdata")))
|
||||
(substitute* "src/libical/icaltz-util.c"
|
||||
(("char \\*search_paths \\[\\] =.*$")
|
||||
(string-append
|
||||
"char *search_paths [] = "
|
||||
"{\"" tzdata "/share/zoneinfo\"};\n"))))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)))
|
||||
(inputs
|
||||
`(("icu4c" ,icu4c)))
|
||||
`(("icu4c" ,icu4c)
|
||||
("tzdata" ,tzdata)))
|
||||
(home-page "https://libical.github.io/libical/")
|
||||
(synopsis "iCalendar protocols and data formats implementation")
|
||||
(description
|
||||
|
@ -4,6 +4,7 @@
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -24,10 +25,13 @@
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module ((guix licenses) #:select (lgpl2.1+ gpl2 gpl2+ gpl3+))
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages man)
|
||||
@ -230,16 +234,20 @@ capacity is user-selectable.")
|
||||
(define-public libcue
|
||||
(package
|
||||
(name "libcue")
|
||||
(version "1.4.0")
|
||||
(version "2.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/lipnitsk/libcue/releases/"
|
||||
"download/v" version "/libcue-"
|
||||
version ".tar.bz2"))
|
||||
(uri (string-append
|
||||
"https://github.com/lipnitsk/libcue/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17kjd7rjz1bvfn44n3n2bjb7a1ywd0yc0g4sqp5ihf9b5bn7cwlb"))))
|
||||
(build-system gnu-build-system)
|
||||
"1fradl3dx0pyy9rn1a0gak9gzgg40wax61f2s00zks7rwl0xv398"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)))
|
||||
(home-page "https://github.com/lipnitsk/libcue")
|
||||
(synopsis "C library to parse cue sheets")
|
||||
(description "Libcue is a C library to parse so-called @dfn{cue sheets}
|
||||
|
@ -906,4 +906,7 @@ and binaries, plus debugging symbols in the 'debug' output), and Binutils.")
|
||||
(define-public gcc-toolchain-5
|
||||
(gcc-toolchain gcc-final))
|
||||
|
||||
(define-public gcc-toolchain-6
|
||||
(gcc-toolchain gcc-6))
|
||||
|
||||
;;; commencement.scm ends here
|
||||
|
89
gnu/packages/connman.scm
Normal file
89
gnu/packages/connman.scm
Normal file
@ -0,0 +1,89 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; 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 connman)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages samba)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages vpn))
|
||||
|
||||
(define-public connman
|
||||
(package
|
||||
(name "connman")
|
||||
(version "1.32")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://kernel.org/linux/network/connman/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0k4kw2j78gwxf0rq79a099qkzl6wi4v5i7rfs4rn0si0fd68d19i"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--enable-nmcompat"
|
||||
;; "--enable-polkit"
|
||||
"--enable-openconnect"
|
||||
"--enable-openvpn"
|
||||
"--enable-vpnc"
|
||||
"--enable-pptp"
|
||||
"--enable-l2tp"
|
||||
(string-append
|
||||
"--with-dbusconfdir=" (assoc-ref %outputs "out") "/etc")
|
||||
(string-append
|
||||
"--with-dbusdatadir=" (assoc-ref %outputs "out") "/share"))))
|
||||
(native-inputs
|
||||
`(("pkg-config", pkg-config)
|
||||
("python" ,python-2)))
|
||||
(inputs
|
||||
`(("dbus" ,dbus)
|
||||
("glib" ,glib)
|
||||
("gnutls" ,gnutls)
|
||||
("iptables" ,iptables)
|
||||
;; ("polkit" ,polkit) ; pkg-config cannot find polkit.pc
|
||||
("readline" ,readline)
|
||||
;; These inputs are needed for connman to include the interface to
|
||||
;; these technologies so IF they are installed they can be used.
|
||||
;; TODO: add neard, ofono
|
||||
("openconnect" ,openconnect)
|
||||
("openvpn" ,openvpn)
|
||||
("ppp", ppp)
|
||||
("vpnc" ,vpnc)
|
||||
("wpa-supplicant" ,wpa-supplicant)))
|
||||
(home-page "https://01.org/connman")
|
||||
(synopsis "Connection management daemon")
|
||||
(description "Connman provides a daemon for managing Internet connections.
|
||||
The Connection Manager is designed to be slim and to use as few resources as
|
||||
possible. It is fully modular system that can be extended through plug-ins.
|
||||
The plug-in approach allows for easy adaption and modification for various use
|
||||
cases. Connman implements DNS resolving and caching, DHCP clients for both
|
||||
IPv4 and IPv6, link-local IPv4 address handling and tethering (IP connection
|
||||
sharing) to clients via USB, ethernet, WiFi, cellular and Bluetooth.")
|
||||
(license gpl2)))
|
@ -1,6 +1,7 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -174,26 +175,30 @@ may be either a libc package or #f.)"
|
||||
;; Return #t if X is a cross-libc or cross Linux.
|
||||
(or (string-prefix? libc x)
|
||||
(string-prefix? kernel x)))
|
||||
|
||||
(setenv "CROSS_CPATH"
|
||||
(string-append libc "/include:"
|
||||
kernel "/include"))
|
||||
(let ((cpath (string-append
|
||||
libc "/include"
|
||||
":" kernel "/include")))
|
||||
(for-each (cut setenv <> cpath)
|
||||
'("CROSS_C_INCLUDE_PATH"
|
||||
"CROSS_CPLUS_INCLUDE_PATH"
|
||||
"CROSS_OBJC_INCLUDE_PATH"
|
||||
"CROSS_OBJCPLUS_INCLUDE_PATH")))
|
||||
(setenv "CROSS_LIBRARY_PATH"
|
||||
(string-append libc "/lib"))
|
||||
|
||||
(let ((cpath (search-path-as-string->list
|
||||
(getenv "C_INCLUDE_PATH")))
|
||||
(libpath (search-path-as-string->list
|
||||
(getenv "LIBRARY_PATH"))))
|
||||
(setenv "CPATH"
|
||||
(list->search-path-as-string
|
||||
(remove cross? cpath) ":"))
|
||||
(for-each unsetenv
|
||||
'("C_INCLUDE_PATH" "CPLUS_INCLUDE_PATH"))
|
||||
(setenv "LIBRARY_PATH"
|
||||
(list->search-path-as-string
|
||||
(remove cross? libpath) ":"))
|
||||
#t)))
|
||||
(for-each
|
||||
(lambda (var)
|
||||
(and=> (getenv var)
|
||||
(lambda (value)
|
||||
(let* ((path (search-path-as-string->list value))
|
||||
(native-path (list->search-path-as-string
|
||||
(remove cross? path) ":")))
|
||||
(setenv var native-path)))))
|
||||
'("C_INCLUDE_PATH"
|
||||
"CPLUS_INCLUDE_PATH"
|
||||
"OBJC_INCLUDE_PATH"
|
||||
"OBJCPLUS_INCLUDE_PATH"
|
||||
"LIBRARY_PATH"))
|
||||
#t))
|
||||
,phases)
|
||||
phases)))))))
|
||||
|
||||
@ -259,9 +264,19 @@ GCC that does not target a libc; otherwise, target that libc."
|
||||
(inputs '())
|
||||
|
||||
;; Only search target inputs, not host inputs.
|
||||
;; Note: See <http://bugs.gnu.org/22186> for why not 'CPATH'.
|
||||
(search-paths
|
||||
(list (search-path-specification
|
||||
(variable "CROSS_CPATH")
|
||||
(variable "CROSS_C_INCLUDE_PATH")
|
||||
(files '("include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_CPLUS_INCLUDE_PATH")
|
||||
(files '("include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_OBJC_INCLUDE_PATH")
|
||||
(files '("include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_OBJCPLUS_INCLUDE_PATH")
|
||||
(files '("include")))
|
||||
(search-path-specification
|
||||
(variable "CROSS_LIBRARY_PATH")
|
||||
@ -316,9 +331,13 @@ XBINUTILS and the cross tool chain."
|
||||
`(alist-cons-before
|
||||
'configure 'set-cross-kernel-headers-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((kernel (assoc-ref inputs "kernel-headers")))
|
||||
(setenv "CROSS_CPATH"
|
||||
(string-append kernel "/include"))
|
||||
(let* ((kernel (assoc-ref inputs "kernel-headers"))
|
||||
(cpath (string-append kernel "/include")))
|
||||
(for-each (cut setenv <> cpath)
|
||||
'("CROSS_C_INCLUDE_PATH"
|
||||
"CROSS_CPLUS_INCLUDE_PATH"
|
||||
"CROSS_OBJC_INCLUDE_PATH"
|
||||
"CROSS_OBJCPLUS_INCLUDE_PATH"))
|
||||
#t))
|
||||
,phases))))
|
||||
|
||||
|
@ -2,13 +2,14 @@
|
||||
;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2012, 2014, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2014 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2014, 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2015 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Nils Gillmann <niasterisk@grrlz.net>
|
||||
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -27,8 +28,12 @@
|
||||
|
||||
(define-module (gnu packages databases)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages avahi)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages language)
|
||||
#:use-module (gnu packages linux)
|
||||
@ -40,9 +45,12 @@
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages rdf)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages jemalloc)
|
||||
@ -58,6 +66,51 @@
|
||||
#:use-module (srfi srfi-26)
|
||||
#:use-module (ice-9 match))
|
||||
|
||||
(define-public 4store
|
||||
(package
|
||||
(name "4store")
|
||||
(version "1.1.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/garlik/4store/archive/v"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "004fmcf1w75zhc1x3zc6kc97j4jqn2v5nhk6yb3z3cpfrhzi9j50"))
|
||||
(patches (list (search-patch "4store-fix-buildsystem.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("python" ,python-2)
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("gettext" ,gnu-gettext)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("rasqal" ,rasqal)
|
||||
("libxml2" ,libxml2)
|
||||
("raptor2" ,raptor2)
|
||||
("readline" ,readline)
|
||||
("avahi" ,avahi)
|
||||
("pcre" ,pcre)
|
||||
("cyrus-sasl" ,cyrus-sasl)
|
||||
("openssl" ,openssl)
|
||||
("util-linux" ,util-linux)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'generate-configure
|
||||
(lambda _
|
||||
(zero? (system* "./autogen.sh")))))))
|
||||
;; http://www.4store.org has been down for a while now.
|
||||
(home-page "https://github.com/garlik/4store")
|
||||
(synopsis "Clustered RDF storage and query engine")
|
||||
(description "4store is a RDF/SPARQL store written in C, supporting
|
||||
either single machines or networked clusters.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public gdbm
|
||||
(package
|
||||
(name "gdbm")
|
||||
@ -814,14 +867,14 @@ similar to BerkeleyDB, LevelDB, etc.")
|
||||
(define-public redis
|
||||
(package
|
||||
(name "redis")
|
||||
(version "3.0.7")
|
||||
(version "3.2.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://download.redis.io/releases/redis-"
|
||||
version".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08vzfdr67gp3lvk770qpax2c5g2sx8hn6p64jn3jddrvxb2939xj"))))
|
||||
"0ql7zp061xr66a1dzpa6a0ijm8zm133dd364va7q5h8avkrim7wq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; tests related to master/slave and replication fail
|
||||
|
@ -66,14 +66,14 @@ and BOOTP/TFTP for network booting of diskless machines.")
|
||||
(define-public bind-utils
|
||||
(package
|
||||
(name "bind-utils")
|
||||
(version "9.10.3-P4")
|
||||
(version "9.10.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.isc.org/isc/bind9/" version
|
||||
"/bind-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0giys46ifypysf799w9v58kbaz1v3fbdzw3s212znifzzfsl9h1a"))))
|
||||
"0mmhzi4483mkak47wj255a36g3v0yilxwfwlbckr1hssinri5m7q"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
;; it would be nice to add GeoIP and gssapi once there is package
|
||||
|
117
gnu/packages/documentation.scm
Normal file
117
gnu/packages/documentation.scm
Normal file
@ -0,0 +1,117 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 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 documentation)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages xml)
|
||||
#:autoload (gnu packages zip) (unzip))
|
||||
|
||||
(define-public asciidoc
|
||||
(package
|
||||
(name "asciidoc")
|
||||
(version "8.6.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/asciidoc/asciidoc-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1w71nk527lq504njmaf0vzr93pgahkgzzxzglrq6bay8cw2rvnvq"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:tests? #f)) ; no 'check' target
|
||||
(inputs `(("python" ,python-2)))
|
||||
(home-page "http://www.methods.co.nz/asciidoc/")
|
||||
(synopsis "Text-based document generation system")
|
||||
(description
|
||||
"AsciiDoc is a text document format for writing notes, documentation,
|
||||
articles, books, ebooks, slideshows, web pages, man pages and blogs.
|
||||
AsciiDoc files can be translated to many formats including HTML, PDF,
|
||||
EPUB, man page.
|
||||
|
||||
AsciiDoc is highly configurable: both the AsciiDoc source file syntax and
|
||||
the backend output markups (which can be almost any type of SGML/XML
|
||||
markup) can be customized and extended by the user.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public doxygen
|
||||
(package
|
||||
(name "doxygen")
|
||||
(version "1.8.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.stack.nl/pub/users/dimitri/"
|
||||
name "-" version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ja02pm3fpfhc5dkry00kq8mn141cqvdqqpmms373ncbwi38pl35"))
|
||||
(patches (search-patches "doxygen-test.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("libxml2" ,libxml2) ; provides xmllint for the tests
|
||||
("python" ,python-2))) ; for creating the documentation
|
||||
(arguments
|
||||
`(#:test-target "tests"))
|
||||
(home-page "http://www.stack.nl/~dimitri/doxygen/")
|
||||
(synopsis "Generate documentation from annotated sources")
|
||||
(description "Doxygen is the de facto standard tool for generating
|
||||
documentation from annotated C++ sources, but it also supports other popular
|
||||
programming languages such as C, Objective-C, C#, PHP, Java, Python,
|
||||
IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
|
||||
and to some extent D.")
|
||||
(license gpl3+)))
|
||||
|
||||
(define-public doc++
|
||||
(package
|
||||
(name "doc++")
|
||||
(version "3.4.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://sourceforge.net/projects/docpp/"
|
||||
"files/doc++-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i37zlxl8g352s4hzpdx0657k5x3czh3xcsfr27irc708gb277pn"))
|
||||
(patches (search-patches "doc++-include-directives.patch"
|
||||
"doc++-segfault-fix.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("flex" ,flex)
|
||||
("gettext" ,gnu-gettext)))
|
||||
(home-page "http://docpp.sourceforge.net/")
|
||||
(synopsis "Documentation system for C, C++, IDL, and Java")
|
||||
(description
|
||||
"DOC++ is a documentation system for C, C++, IDL, and Java. It can
|
||||
generate both TeX output for high-quality hardcopies or HTML output for online
|
||||
brwosing. The documentation is extracted directly from the C/C++/IDL source
|
||||
or Java class files.")
|
||||
(license gpl2+)))
|
@ -1,59 +0,0 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2016 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 doxygen)
|
||||
#:use-module ((guix licenses) #:select (gpl3+))
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages python))
|
||||
|
||||
(define-public doxygen
|
||||
(package
|
||||
(name "doxygen")
|
||||
(version "1.8.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.stack.nl/pub/users/dimitri/"
|
||||
name "-" version ".src.tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ja02pm3fpfhc5dkry00kq8mn141cqvdqqpmms373ncbwi38pl35"))
|
||||
(patches (search-patches "doxygen-test.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("bison" ,bison)
|
||||
("flex" ,flex)
|
||||
("libxml2" ,libxml2) ; provides xmllint for the tests
|
||||
("python" ,python-2))) ; for creating the documentation
|
||||
(arguments
|
||||
`(#:test-target "tests"))
|
||||
(home-page "http://www.stack.nl/~dimitri/doxygen/")
|
||||
(synopsis "Generate documentation from annotated sources")
|
||||
(description "Doxygen is the de facto standard tool for generating
|
||||
documentation from annotated C++ sources, but it also supports other popular
|
||||
programming languages such as C, Objective-C, C#, PHP, Java, Python,
|
||||
IDL (Corba, Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl,
|
||||
and to some extent D.")
|
||||
(license gpl3+)))
|
66
gnu/packages/entr.scm
Normal file
66
gnu/packages/entr.scm
Normal file
@ -0,0 +1,66 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
|
||||
;;; Copyright © 2016 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 entr)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public entr
|
||||
(package
|
||||
(name "entr")
|
||||
(version "3.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://entrproject.org/code/entr-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05k4jyjna0pr2dalwc1l1dhrcyk6pw7hbss7jl4ykwfadcs5br73"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:phases (modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(setenv "CONFIG_SHELL" (which "bash"))
|
||||
(setenv "CC" (which "gcc"))
|
||||
(setenv "DESTDIR" (string-append out "/"))
|
||||
(setenv "PREFIX" "")
|
||||
(setenv "MANPREFIX" "man")
|
||||
(zero? (system* "./configure")))))
|
||||
(add-before 'build 'remove-fhs-file-names
|
||||
(lambda _
|
||||
;; Use the tools available in $PATH.
|
||||
(substitute* "entr.c"
|
||||
(("/bin/cat") "cat")
|
||||
(("/usr/bin/clear") "clear")))))))
|
||||
(home-page "http://entrproject.org/")
|
||||
(synopsis "Run arbitrary commands when files change")
|
||||
(description
|
||||
"entr is a zero-configuration tool with no external build- or run-time
|
||||
dependencies. The interface to entr is not only minimal, it aims to be simple
|
||||
enough to create a new category of ad hoc automation. These micro-tests
|
||||
reduce keystrokes, but more importantly they emphasize the utility of
|
||||
automated checks.")
|
||||
|
||||
;; Per 'LICENSE', portability code under missing/ is under BSD-2.
|
||||
(license isc)))
|
@ -21,7 +21,7 @@
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages enchant)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
(define-module (gnu packages fish)
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (guix packages)
|
||||
|
@ -46,23 +46,21 @@
|
||||
(define-public freetype
|
||||
(package
|
||||
(name "freetype")
|
||||
(version "2.6")
|
||||
(version "2.6.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://savannah/freetype/freetype-"
|
||||
version ".tar.bz2"))
|
||||
(sha256 (base32
|
||||
"0zilx15fwcpa8hmcxpc423jwb8ijw4qpq968kh18akvn4j0znsc4"))))
|
||||
"18k3b026762lmyrxfil5xv8qwnvj7hc12gz9bjqzbb12lmx707ip"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
;; This should not be necessary; reported upstream as
|
||||
;; https://savannah.nongnu.org/bugs/index.php?44261
|
||||
(alist-cons-before
|
||||
'configure 'set-paths
|
||||
(lambda _
|
||||
(setenv "CONFIG_SHELL" (which "bash")))
|
||||
%standard-phases)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
;; These are all in the Requires.private field of freetype2.pc.
|
||||
;; XXX: add harfbuzz.
|
||||
`(("libpng" ,libpng)
|
||||
("zlib" ,zlib)))
|
||||
(synopsis "Font rendering library")
|
||||
(description
|
||||
"Freetype is a library that can be used by applications to access the
|
||||
@ -361,16 +359,15 @@ applications should be.")
|
||||
(define-public graphite2
|
||||
(package
|
||||
(name "graphite2")
|
||||
(version "1.3.6")
|
||||
(version "1.3.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/silnrsi/graphite/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(uri (string-append "https://github.com/silnrsi/graphite/releases/"
|
||||
"download/" version "/" name "-" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1frd9mjaqzvh9gs74ngc43igi53vzjzlwr5chbrs6ii1hc4aa23s"))))
|
||||
"1hlc9j7w7gihy6gvzfa7902pr6yxq1sr1xkp5rwf0p29m2rjagwz"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("python" ,python-2) ; because of "import imap" in tests
|
||||
|
@ -46,7 +46,7 @@
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages acl)
|
||||
#:use-module (gnu packages admin)
|
||||
@ -338,14 +338,14 @@ Analysis and Reporting Technology) functionality.")
|
||||
(define-public udisks
|
||||
(package
|
||||
(name "udisks")
|
||||
(version "2.1.6")
|
||||
(version "2.1.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://udisks.freedesktop.org/releases/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0spl155k0g2l2hvqf8xyjv08i68gfyhzpjva6cwlzxx0bz4gbify"))))
|
||||
"119pr2zbff8vkwlhghim7d7ir24c1dil9hp4q49wm4f6pnrjpbmb"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("glib:bin" ,glib "bin") ; for glib-mkenums
|
||||
|
@ -33,7 +33,7 @@
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnunet)
|
||||
#:use-module (gnu packages guile)
|
||||
@ -129,7 +129,7 @@ provide connectivity for client applications written in any language.")
|
||||
(define-public tiled
|
||||
(package
|
||||
(name "tiled")
|
||||
(version "0.15.1")
|
||||
(version "0.16.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/bjorn/tiled/archive/v"
|
||||
@ -137,7 +137,7 @@ provide connectivity for client applications written in any language.")
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10bbjdv5r36229r1dqg32bxcj9yvpkx9jgs9v4s1qb71v856b15h"))))
|
||||
"0s1i6yhm1z9ayzjh8cprcc9jvj5m87l9snyqg6w7zlj3q9zn4rn6"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("qt" ,qt)
|
||||
("zlib" ,zlib)))
|
||||
@ -374,15 +374,7 @@ etc.")
|
||||
"-DENABLE_UPDATER=0" ; no auto-updates
|
||||
(string-append "-DFREETYPE_INCLUDE_DIR="
|
||||
(assoc-ref %build-inputs "freetype")
|
||||
"/include/freetype2"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-freetype-utils
|
||||
(lambda _
|
||||
;; Fix C preprocessor include directive.
|
||||
(substitute* '("src/app/util/freetype_utils.cpp")
|
||||
(("freetype/") ""))
|
||||
#t)))))
|
||||
"/include/freetype2"))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
;; TODO: Use a patched Allegro 4 that supports window resizing. This
|
||||
|
@ -19,6 +19,7 @@
|
||||
;;; Copyright © 2016 Nils Gillmann <niasterisk@grrlz.net>
|
||||
;;; Copyright © 2016 Albin Söderqvist <albin@fripost.org>
|
||||
;;; Copyright © 2016 Kei Yamashita <kei@openmailbox.org>
|
||||
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -92,6 +93,7 @@
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages fribidi)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system haskell)
|
||||
@ -1021,14 +1023,14 @@ falling, themeable graphics and sounds, and replays.")
|
||||
(define-public wesnoth
|
||||
(package
|
||||
(name "wesnoth")
|
||||
(version "1.12.4")
|
||||
(version "1.12.5")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/wesnoth/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"19qyylylaljhk45lk2ja0xp7cx9iy4hx07l65zkg20a2v9h50lmz"))))
|
||||
"07d8ms9ayswg2g530p0zwmz3d77zv68l6nmc718iq9sbv90av6jr"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f ; no check target
|
||||
@ -2097,7 +2099,7 @@ the chat server psyced with the specific config located at
|
||||
http://lavachat.symlynx.com/unix/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public redeclipse
|
||||
(define-public red-eclipse
|
||||
(let ((data-sources
|
||||
'(("acerspyro" "0gxxr6nbac918b49x1cp72nw951hqm5m4iyi2shb1612ly384w8q")
|
||||
("actors" "1jq9q82m6nx07nwpb5cnpdcwa33jrcgg0j2yir8zk6zpnxdmp0il")
|
||||
@ -2133,7 +2135,7 @@ http://lavachat.symlynx.com/unix/")
|
||||
("weapons" "1ghn6nfcnd5lyl8dnj22csldvf9hrb32wjzpab4sjjz3iyv0zmr3")
|
||||
("wicked" "0q9badvg6ix5rhl05s83kw2v6a49jpnbkqk4ls89qahaddfagi8g"))))
|
||||
(package
|
||||
(name "redeclipse")
|
||||
(name "red-eclipse")
|
||||
(version "1.5.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -29,7 +29,7 @@
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages dejagnu)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages graphviz)
|
||||
@ -357,6 +357,19 @@ Go. It also includes runtime support libraries for these languages.")
|
||||
;; GCC 5 ships with .info files, so no need for Texinfo.
|
||||
(native-inputs '())))
|
||||
|
||||
(define-public gcc-6
|
||||
(package
|
||||
(inherit gcc-5)
|
||||
(version "6.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gcc/gcc-"
|
||||
version "/gcc-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ld3y4rgimyqgx1nwvzqyl5gr4wzc0ch4akkvsqp3fgbmdfcii09"))
|
||||
(patches (search-patches "gcc-5.0-libvtv-runpath.patch"))))))
|
||||
|
||||
;; Note: When changing the default gcc version, update
|
||||
;; the gcc-toolchain-* definitions accordingly.
|
||||
(define-public gcc gcc-5)
|
||||
|
@ -35,6 +35,7 @@
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
@ -59,7 +60,7 @@
|
||||
(define dbus
|
||||
(package
|
||||
(name "dbus")
|
||||
(version "1.10.0")
|
||||
(version "1.10.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -67,7 +68,7 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jwj7wlrhq5y0fwfh8k2d9rgdpfax06lj8698g6iqbwrzd2rgyqx"))
|
||||
"0560y3hxpgh346w6avcrcz79c8ansmn771y5xpcvvlr6m8mx5wxs"))
|
||||
(patches (search-patches "dbus-helper-search-path.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
@ -129,7 +130,7 @@ shared NFS home directories.")
|
||||
(define glib
|
||||
(package
|
||||
(name "glib")
|
||||
(version "2.46.1")
|
||||
(version "2.48.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/"
|
||||
@ -137,16 +138,14 @@ shared NFS home directories.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1yzxr1ip3l0m9ydk5nq32piq70c9f17p5f0jyvlsghzbaawh67ss"))
|
||||
(patches (search-patches "glib-tests-homedir.patch"
|
||||
"glib-tests-desktop.patch"
|
||||
"glib-tests-prlimit.patch"
|
||||
"glib-tests-timer.patch"
|
||||
"glib-tests-gapplication.patch"))))
|
||||
"0d3w2hblrw7vvpx60l1kbvb830ygn3v8zhwdz65cc5593j9ycjvl"))
|
||||
(patches (search-patches "glib-tests-timer.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ; everything
|
||||
"bin" ; glib-mkenums, gtester, etc.; depends on Python
|
||||
"doc")) ; 20 MiB of GTK-Doc reference
|
||||
(propagated-inputs
|
||||
`(("pcre" ,pcre))) ; in the Requires.private field of glib-2.0.pc
|
||||
(inputs
|
||||
`(("coreutils" ,coreutils)
|
||||
("libffi" ,libffi)
|
||||
@ -160,29 +159,87 @@ shared NFS home directories.")
|
||||
("perl" ,perl) ; needed by GIO tests
|
||||
("bash" ,bash)))
|
||||
(arguments
|
||||
'(#:phases (alist-cons-before
|
||||
'build 'pre-build
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; For tests/gdatetime.c.
|
||||
(setenv "TZDIR"
|
||||
(string-append (assoc-ref inputs "tzdata")
|
||||
"/share/zoneinfo"))
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'pre-build
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; For tests/gdatetime.c.
|
||||
(setenv "TZDIR"
|
||||
(string-append (assoc-ref inputs "tzdata")
|
||||
"/share/zoneinfo"))
|
||||
|
||||
;; Some tests want write access there.
|
||||
(setenv "XDG_CACHE_HOME" (getcwd))
|
||||
;; Some tests want write access there.
|
||||
(setenv "HOME" (getcwd))
|
||||
(setenv "XDG_CACHE_HOME" (getcwd))
|
||||
|
||||
(substitute* '("glib/gspawn.c"
|
||||
"glib/tests/utils.c"
|
||||
"tests/spawn-test.c")
|
||||
(("/bin/sh")
|
||||
(string-append (assoc-ref inputs "bash") "/bin/sh")))
|
||||
(substitute* '("glib/gspawn.c"
|
||||
"glib/tests/utils.c"
|
||||
"tests/spawn-test.c")
|
||||
(("/bin/sh")
|
||||
(string-append (assoc-ref inputs "bash") "/bin/sh")))))
|
||||
(add-before 'check 'disable-failing-tests
|
||||
(lambda _
|
||||
(let ((disable
|
||||
(lambda (test-file test-paths)
|
||||
(define pattern+procs
|
||||
(map (lambda (test-path)
|
||||
(cons
|
||||
;; XXX: only works for single line statements.
|
||||
(format #f "g_test_add_func.*\"~a\".*" test-path)
|
||||
(const "")))
|
||||
test-paths))
|
||||
(substitute test-file pattern+procs)))
|
||||
(failing-tests
|
||||
'(("glib/tests/thread.c"
|
||||
(;; prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64
|
||||
;; as found on hydra.gnu.org, and strace(1) doesn't
|
||||
;; recognize it.
|
||||
"/thread/thread4"))
|
||||
|
||||
;; Disable a test that requires dbus.
|
||||
(substitute* "gio/tests/gdbus-serialization.c"
|
||||
(("g_test_add_func \
|
||||
\\(\"/gdbus/message-serialize/double-array\", test_double_array\\);" all)
|
||||
(string-append "/* " all " */"))))
|
||||
%standard-phases)
|
||||
("glib/tests/timer.c"
|
||||
(;; fails if compiler optimizations are enabled, which they
|
||||
;; are by default.
|
||||
"/timer/stop"))
|
||||
|
||||
("gio/tests/gapplication.c"
|
||||
(;; XXX: proven to be unreliable. See:
|
||||
;; <https://bugs.debian.org/756273>
|
||||
;; <http://bugs.gnu.org/18445>
|
||||
"/gapplication/quit"
|
||||
|
||||
;; XXX: fails randomly for unknown reason. See:
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2016-04/msg00215.html>
|
||||
"/gapplication/local-actions"))
|
||||
|
||||
("gio/tests/contenttype.c"
|
||||
(;; XXX: requires shared-mime-info.
|
||||
"/contenttype/guess"
|
||||
"/contenttype/subtype"
|
||||
"/contenttype/list"
|
||||
"/contenttype/icon"
|
||||
"/contenttype/symbolic-icon"
|
||||
"/contenttype/tree"))
|
||||
|
||||
("gio/tests/appinfo.c"
|
||||
(;; XXX: requires update-desktop-database.
|
||||
"/appinfo/associations"))
|
||||
|
||||
("gio/tests/desktop-app-info.c"
|
||||
(;; XXX: requires update-desktop-database.
|
||||
"/desktop-app-info/delete"
|
||||
"/desktop-app-info/default"
|
||||
"/desktop-app-info/fallback"
|
||||
"/desktop-app-info/lastused"
|
||||
"/desktop-app-info/search"))
|
||||
|
||||
("gio/tests/gdbus-peer.c"
|
||||
(;; Requires /etc/machine-id.
|
||||
"/gdbus/codegen-peer-to-peer"))
|
||||
|
||||
("gio/tests/gdbus-unix-addresses.c"
|
||||
(;; Requires /etc/machine-id.
|
||||
"/gdbus/x11-autolaunch")))))
|
||||
(and-map (lambda (x) (apply disable x)) failing-tests)))))
|
||||
|
||||
;; Note: `--docdir' and `--htmldir' are not honored, so work around it.
|
||||
#:configure-flags (list (string-append "--with-html-dir="
|
||||
@ -218,14 +275,14 @@ dynamic loading, and an object system.")
|
||||
(define gobject-introspection
|
||||
(package
|
||||
(name "gobject-introspection")
|
||||
(version "1.46.0")
|
||||
(version "1.48.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/"
|
||||
"gobject-introspection/" (version-major+minor version)
|
||||
"/gobject-introspection-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0cs27r18fga44ypp8icy62fwx6nh70r1bvhi4lzfn4w85cybsn36"))
|
||||
(base32 "0xsqwxhfqzr79av89mg766kxpb2i41bd0vwspk01xjdzrnn5l9zs"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(substitute* "tools/g-ir-tool-template.in"
|
||||
@ -237,7 +294,6 @@ dynamic loading, and an object system.")
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bison" ,bison)
|
||||
("cairo" ,cairo)
|
||||
("flex" ,flex)
|
||||
("glib" ,glib)
|
||||
("python-2" ,python-2)))
|
||||
@ -395,7 +451,7 @@ by GDBus included in Glib.")
|
||||
(define libsigc++
|
||||
(package
|
||||
(name "libsigc++")
|
||||
(version "2.6.1")
|
||||
(version "2.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/libsigc++/"
|
||||
@ -403,7 +459,7 @@ by GDBus included in Glib.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06xyvxaaxh3nbpjg86gcq5zcc2qnpx354wcfrqlhbndkq5kj2vqq"))))
|
||||
"0lcnzzdq6718znfshs1hflpwqq6awbzwdyp4kv5lfaf54z880jbp"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("m4" ,m4)))
|
||||
@ -422,7 +478,7 @@ has an ease of use unmatched by other C++ callback libraries.")
|
||||
(define glibmm
|
||||
(package
|
||||
(name "glibmm")
|
||||
(version "2.46.3")
|
||||
(version "2.48.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/glibmm/"
|
||||
@ -430,7 +486,7 @@ has an ease of use unmatched by other C++ callback libraries.")
|
||||
"/glibmm-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kw65mlabwdjw86jybxslncbnnx40hcx4z6xpq9i4ymjvsnm91n7"))))
|
||||
"1pvw2mrm03p51p03179rb6fk9p42iykkwj1jcdv7jr265xymy8nw"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases (alist-cons-before
|
||||
@ -503,7 +559,7 @@ useful for C++.")
|
||||
(define-public python-pygobject
|
||||
(package
|
||||
(name "python-pygobject")
|
||||
(version "3.18.0")
|
||||
(version "3.20.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -512,7 +568,7 @@ useful for C++.")
|
||||
"/pygobject-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1jbd2m39vcjh5h3m33l0317ziq8dxfzi40r6hrfcs4rp5l8s2fqw"))))
|
||||
"0ikzh3l7g1gjh8jj8vg6mdvrb25svp63gxcam4m0i404yh0lgari"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -32,6 +32,7 @@
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pth)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages databases)
|
||||
@ -148,7 +149,7 @@ provided.")
|
||||
(define-public libksba
|
||||
(package
|
||||
(name "libksba")
|
||||
(version "1.3.3")
|
||||
(version "1.3.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -157,7 +158,7 @@ provided.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"11kp3h9l3b8ikydkcdkwgx45r662zi30m26ra5llyhfh6kz5yzqc"))))
|
||||
"0kxdb02z41cwm1xbwfwj9nbc0dzjhwyq8c475mlhhmpcxcy8ihpn"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("libgpg-error" ,libgpg-error)))
|
||||
@ -208,16 +209,14 @@ compatible to GNU Pth.")
|
||||
(define-public gnupg
|
||||
(package
|
||||
(name "gnupg")
|
||||
(version "2.1.11")
|
||||
(version "2.1.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"06mn2viiwsyq991arh5i5fhr9jyxq2bi0jkdj7ndfisxihngpc5p"))
|
||||
(patches (search-patches
|
||||
"gnupg-simple-query-ignore-status-messages.patch"))))
|
||||
"01n5py45x0r97l4dzmd803jpbpbcxr1591k3k4s8m9804jfr4d5c"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
@ -569,9 +568,9 @@ including tools for signing keys, keyring analysis, and party preparation.
|
||||
(license license:gpl2)
|
||||
(home-page "http://pgp-tools.alioth.debian.org/")))
|
||||
|
||||
(define-public pinentry
|
||||
(define-public pinentry-tty
|
||||
(package
|
||||
(name "pinentry")
|
||||
(name "pinentry-tty")
|
||||
(version "0.9.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
@ -581,21 +580,48 @@ including tools for signing keys, keyring analysis, and party preparation.
|
||||
(base32
|
||||
"1cp7wjqr6nx31mdclr61s2h84ijqjl0ph99kgj4vyawpjj1j1633"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--enable-pinentry-tty")))
|
||||
(inputs
|
||||
`(("ncurses" ,ncurses)
|
||||
("libassuan" ,libassuan)
|
||||
("libsecret" ,libsecret "out")
|
||||
("gtk+" ,gtk+-2)
|
||||
("glib" ,glib)))
|
||||
("libsecret" ,libsecret "out")))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://gnupg.org/aegypten2/")
|
||||
(synopsis "GnuPG's interface to passphrase input")
|
||||
(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.")
|
||||
"Pinentry provides a console that allows users to enter a passphrase when
|
||||
@code{gpg} or @code{gpg2} is run and needs it.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public pinentry-gtk2
|
||||
(package
|
||||
(inherit pinentry-tty)
|
||||
(name "pinentry-gtk2")
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+-2)
|
||||
("glib" ,glib)
|
||||
,@(package-inputs pinentry-tty)))
|
||||
(description
|
||||
"Pinentry provides a console and a GTK+ GUI that allows users to enter a
|
||||
passphrase when @code{gpg} or @code{gpg2} is run and needs it.")))
|
||||
|
||||
(define-public pinentry-qt
|
||||
(package
|
||||
(inherit pinentry-tty)
|
||||
(name "pinentry-qt")
|
||||
(inputs
|
||||
`(("qt" ,qt)
|
||||
,@(package-inputs pinentry-tty)))
|
||||
(description
|
||||
"Pinentry provides a console and a Qt GUI that allows users to enter a
|
||||
passphrase when @code{gpg} or @code{gpg2} is run and needs it.")))
|
||||
|
||||
(define-public pinentry
|
||||
(package (inherit pinentry-gtk2)
|
||||
(name "pinentry")))
|
||||
|
||||
(define-public paperkey
|
||||
(package
|
||||
(name "paperkey")
|
||||
|
@ -24,6 +24,7 @@
|
||||
#:use-module (guix licenses)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages glib)
|
||||
@ -216,3 +217,31 @@ on.")
|
||||
a dockable tile. It features multiple language support, 24h or 12h time
|
||||
display, and can run a user-specified program on mouse click.")
|
||||
(license gpl2+)))
|
||||
|
||||
(define-public wmfire
|
||||
(package
|
||||
(name "wmfire")
|
||||
(version "1.2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.improbability.net/"
|
||||
name "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"101grahd80n97y2dczb629clmcgiavdpbbwy78kk5wgs362m12z3"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("gtk+" ,gtk+-2)
|
||||
("libgtop" ,libgtop)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://www.improbability.net/")
|
||||
(synopsis "Display flames to represent CPU usage, memory usage, etc.")
|
||||
(description
|
||||
"wmfire is an applet for Window Maker that can monitor the average cpu
|
||||
load, or individual cpu load on SMP computers. Additionally it can monitor the
|
||||
memory, network load, a file or just be set to show a pretty flame. On
|
||||
entering the dock a burning spot replaces the cursor, and after two seconds
|
||||
symbols to represent the current monitor are \"burnt\" onscreen. The flame
|
||||
colour can also be changed.")
|
||||
(license gpl2+)))
|
||||
|
@ -287,7 +287,7 @@ standards.")
|
||||
(define-public icecat
|
||||
(package
|
||||
(name "icecat")
|
||||
(version "38.7.1-gnu1")
|
||||
(version "38.8.0-gnu1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -296,19 +296,9 @@ standards.")
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wdmd6hasra36g86ha1dw8sl7a5mvr7c4jbjx4zyg9629y5gqr8g"))
|
||||
"0v4k47ziqsyfksv9sn4v1xvk4q414rc883hb1qzld63grj2nxxwp"))
|
||||
(patches (search-patches
|
||||
"icecat-avoid-bundled-includes.patch"
|
||||
"icecat-re-enable-DHE-cipher-suites.patch"
|
||||
"icecat-update-bundled-graphite2.patch"
|
||||
"icecat-CVE-2016-2805.patch"
|
||||
"icecat-CVE-2016-2807-pt1.patch"
|
||||
"icecat-CVE-2016-2807-pt2.patch"
|
||||
"icecat-CVE-2016-2807-pt3.patch"
|
||||
"icecat-CVE-2016-2807-pt4.patch"
|
||||
"icecat-CVE-2016-2807-pt5.patch"
|
||||
"icecat-CVE-2016-2808.patch"
|
||||
"icecat-CVE-2016-2814.patch"))
|
||||
"icecat-avoid-bundled-includes.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -33,7 +33,7 @@
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages haskell)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -25,6 +25,7 @@
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages autotools)
|
||||
@ -32,6 +33,7 @@
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages swig)
|
||||
#:use-module ((guix licenses) #:select (lgpl2.0+ epl1.0)))
|
||||
|
||||
(define-public graphviz
|
||||
@ -69,12 +71,26 @@
|
||||
(rename-file (string-append out "/share/graphviz/doc")
|
||||
(string-append doc "/share/graphviz/doc"))
|
||||
#t))
|
||||
%standard-phases))))
|
||||
(alist-cons-after
|
||||
'move-docs 'move-guile-bindings
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(lib (string-append out "/lib"))
|
||||
(extdir (string-append lib
|
||||
"/guile/2.0/extensions")))
|
||||
(mkdir-p extdir)
|
||||
(rename-file (string-append
|
||||
lib "/graphviz/guile/libgv_guile.so")
|
||||
(string-append extdir
|
||||
"/libgv_guile.so"))))
|
||||
%standard-phases)))))
|
||||
(inputs
|
||||
`(("libXrender" ,libxrender)
|
||||
("libX11" ,libx11)
|
||||
("gts" ,gts)
|
||||
("gd" ,gd) ; FIXME: Our GD is too old
|
||||
("guile" ,guile-2.0) ;Guile bindings
|
||||
("swig" ,swig)
|
||||
("pango" ,pango)
|
||||
("fontconfig" ,fontconfig)
|
||||
("freetype" ,freetype)
|
||||
|
@ -244,6 +244,9 @@ for the GStreamer multimedia library.")
|
||||
;; XXX FIXME: Try removing this for version > 1.8.0.
|
||||
(substitute* "tests/check/elements/rtprtx.c"
|
||||
(("tcase_add_test \\(tc_chain, test_push_forward_seq\\);" all)
|
||||
(string-append "/* " all " */"))
|
||||
(("tcase_add_test \
|
||||
\\(tc_chain, test_rtxreceive_data_reconstruction\\);" all)
|
||||
(string-append "/* " all " */")))
|
||||
(substitute* "tests/check/elements/splitmux.c"
|
||||
(("tcase_add_test \\(tc_chain, test_splitmuxsink\\);" all)
|
||||
|
@ -63,7 +63,7 @@
|
||||
(define-public atk
|
||||
(package
|
||||
(name "atk")
|
||||
(version "2.18.0")
|
||||
(version "2.20.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@ -71,7 +71,7 @@
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ay9s137x49f0akx658p7kznz0rdapfrd8ym54q0hlgrggblhv6f"))))
|
||||
"1w1q29yfxcq67j7fyqrfm0l0n1vy4zn539c0sf4ga9d0qkv50fj9"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
@ -95,14 +95,14 @@ tools have full access to view and control running applications.")
|
||||
(define-public cairo
|
||||
(package
|
||||
(name "cairo")
|
||||
(version "1.14.2")
|
||||
(version "1.14.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cairographics.org/releases/cairo-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sycbq0agbwmg1bj9lhkgsf0glmblaf2jrdy9g6vxfxivncxj6f9"))))
|
||||
"0lmjlzmghmr27y615px9hkm552x7ap6pmq9mfbzr6smp8y2b6g31"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("fontconfig" ,fontconfig)
|
||||
@ -147,7 +147,7 @@ affine transformation (scale, rotation, shear, etc.).")
|
||||
(define-public harfbuzz
|
||||
(package
|
||||
(name "harfbuzz")
|
||||
(version "1.0.6")
|
||||
(version "1.2.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.freedesktop.org/software/"
|
||||
@ -155,7 +155,7 @@ affine transformation (scale, rotation, shear, etc.).")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"09ivk5m4y09ar4zi9r6db7gp234cy05h0ach7w22g9kqvkxsf5pn"))))
|
||||
"14g4kpph8hgplkm954daxiymxx0vicfq7b7svvdsx54g5bqvv7a4"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"bin")) ; 160K, only hb-view depend on cairo
|
||||
@ -185,7 +185,7 @@ affine transformation (scale, rotation, shear, etc.).")
|
||||
(define-public pango
|
||||
(package
|
||||
(name "pango")
|
||||
(version "1.38.1")
|
||||
(version "1.40.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/pango/"
|
||||
@ -193,7 +193,7 @@ affine transformation (scale, rotation, shear, etc.).")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1dsf45m51i4rcyvh5wlxxrjfhvn5b67d5ckjc6vdcxbddjgmc80k"))))
|
||||
"0h0sbh0b5kh3lvrxrb82bs86rqakf33a9jakpv33lay7f90zayp2"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
`(("cairo" ,cairo)
|
||||
@ -339,7 +339,7 @@ printing and other features typical of a source code editor.")
|
||||
(define-public gtksourceview
|
||||
(package
|
||||
(name "gtksourceview")
|
||||
(version "3.18.2")
|
||||
(version "3.20.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@ -347,7 +347,7 @@ printing and other features typical of a source code editor.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1cmplnqbyd1js5bkpi9cfc3gljilyxg5nngwh4i3mq9r02gmmxv0"))))
|
||||
"03vxirdbjpgjrkl5ph0p9b1saq17xxr4kvhz1ijpg40a9jf3ci4y"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
@ -387,7 +387,7 @@ highlighting and other features typical of a source code editor.")
|
||||
(define-public gdk-pixbuf
|
||||
(package
|
||||
(name "gdk-pixbuf")
|
||||
(version "2.32.3")
|
||||
(version "2.34.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@ -395,7 +395,7 @@ highlighting and other features typical of a source code editor.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cfh87aqyqbfcwpbv1ihgmgfcn66il5q2n8yjyl8gxkjmkqp2rrb"))))
|
||||
"0yc8indbl3hf18z6x6kjg59xp9sngm1d8vmz4c7bs6g27qw5npnm"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags '("--with-x11")
|
||||
@ -415,9 +415,12 @@ highlighting and other features typical of a source code editor.")
|
||||
;; (gdk-pixbuf-error-quark, 0)
|
||||
(("pixbuf-jpeg\\$\\(EXEEXT\\) ") ""))
|
||||
#t)))))
|
||||
(propagated-inputs ; required by gdk-pixbuf-2.0.pc
|
||||
`(("glib" ,glib)
|
||||
("libpng" ,libpng)))
|
||||
(propagated-inputs
|
||||
`(;; Required by gdk-pixbuf-2.0.pc
|
||||
("glib" ,glib)
|
||||
("libpng" ,libpng)
|
||||
;; Used for testing and required at runtime.
|
||||
("shared-mime-info" ,shared-mime-info)))
|
||||
(inputs
|
||||
`(("libjpeg" ,libjpeg)
|
||||
("libtiff" ,libtiff)
|
||||
@ -465,7 +468,7 @@ in the GNOME project.")
|
||||
(define-public at-spi2-core
|
||||
(package
|
||||
(name "at-spi2-core")
|
||||
(version "2.18.1")
|
||||
(version "2.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@ -473,7 +476,7 @@ in the GNOME project.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kq17w4fm51d49vzmglkxqdm6s0yvjvrpgw78r2hajf69jz5bmap"))))
|
||||
"0039y6bj1zfzhmfjbj5g830dlczphbpvbgmkcab9mapmh7kmin3f"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
@ -510,7 +513,7 @@ is part of the GNOME accessibility project.")
|
||||
(define-public at-spi2-atk
|
||||
(package
|
||||
(name "at-spi2-atk")
|
||||
(version "2.18.1")
|
||||
(version "2.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@ -518,7 +521,7 @@ is part of the GNOME accessibility project.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bf1g5cj84rmx7p1q547vwbc0hlpcs2wrxnmv96lckfkhs9mzcf4"))))
|
||||
"13mzfwra0izmkzn7dsdgy5zj19n8izp0wdy7w1yg9s0qx6aafn13"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
@ -545,7 +548,7 @@ is part of the GNOME accessibility project.")
|
||||
(define-public gtk+-2
|
||||
(package
|
||||
(name "gtk+")
|
||||
(version "2.24.28")
|
||||
(version "2.24.30")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@ -553,13 +556,14 @@ is part of the GNOME accessibility project.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0mj6xn40py9r9lvzg633fal81xfwfm89d9mvz7jk4lmwk0g49imj"))
|
||||
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"))))
|
||||
"0l6aqk86aw5w132ygy6hv6nlxvd1h6xg7c85qbm60p6mnv1ww58d"))
|
||||
(patches (search-patches "gtk2-respect-GUIX_GTK2_PATH.patch"
|
||||
"gtk2-theme-paths.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(propagated-inputs
|
||||
`(("atk" ,atk)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("gdk-pixbuf" ,gdk-pixbuf+svg)
|
||||
("pango" ,pango)))
|
||||
(inputs
|
||||
`(("cups" ,cups)
|
||||
@ -606,7 +610,7 @@ application suites.")
|
||||
(define-public gtk+
|
||||
(package (inherit gtk+-2)
|
||||
(name "gtk+")
|
||||
(version "3.18.2")
|
||||
(version "3.20.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@ -614,12 +618,12 @@ application suites.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0lp1hn0qydxx03bianzzr0a4maqzsvylrkzr7c3p0050qihwbgjx"))
|
||||
"157nh9gg0p2avw765hrnkvr8lsh2w811397yxgjv6q5j4fzz6d1q"))
|
||||
(patches (search-patches "gtk3-respect-GUIX_GTK3_PATH.patch"))))
|
||||
(propagated-inputs
|
||||
`(("at-spi2-atk" ,at-spi2-atk)
|
||||
("atk" ,atk)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("gdk-pixbuf" ,gdk-pixbuf+svg)
|
||||
("libepoxy" ,libepoxy)
|
||||
("libxcursor" ,libxcursor)
|
||||
("libxi" ,libxi)
|
||||
@ -627,8 +631,7 @@ application suites.")
|
||||
("libxdamage" ,libxdamage)
|
||||
("pango" ,pango)))
|
||||
(inputs
|
||||
`(("librsvg" ,librsvg) ;for gtk-encode-symbolic-svg
|
||||
("libxml2" ,libxml2)
|
||||
`(("libxml2" ,libxml2)
|
||||
;; XXX: colord depends on mozjs (through polkit), which fails on
|
||||
;; on non-intel systems now.
|
||||
;;("colord" ,colord)
|
||||
@ -663,18 +666,7 @@ application suites.")
|
||||
(("SUBDIRS = gdk gtk a11y css reftests")
|
||||
"SUBDIRS = gdk"))
|
||||
#t)
|
||||
(alist-cons-after
|
||||
'install 'wrap-gtk-encode-symbolic-svg
|
||||
;; By using GdkPixbuf, gtk-encode-symbolic-svg needs to know
|
||||
;; librsvg's loaders.cache to handle SVG files.
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(prog (string-append out "/bin/gtk-encode-symbolic-svg"))
|
||||
(librsvg (assoc-ref inputs "librsvg"))
|
||||
(loaders.cache (find-files librsvg "^loaders\\.cache$")))
|
||||
(wrap-program prog
|
||||
`("GDK_PIXBUF_MODULE_FILE" = ,loaders.cache))))
|
||||
%standard-phases))))
|
||||
%standard-phases)))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "GUIX_GTK3_PATH")
|
||||
@ -864,7 +856,7 @@ library.")
|
||||
(define-public pangomm
|
||||
(package
|
||||
(name "pangomm")
|
||||
(version "2.38.1")
|
||||
(version "2.40.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@ -872,7 +864,7 @@ library.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"12xwjvqfxhqblcv7641k0l6r8n3qifnrx8w9571izn1nbd81iyzg"))))
|
||||
"03fpqdjp7plybf4zsgszbm8yhgl28vmajzfpmaqcsmyfvjlszl3x"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(propagated-inputs
|
||||
@ -913,7 +905,7 @@ toolkit.")
|
||||
(define-public gtkmm
|
||||
(package
|
||||
(name "gtkmm")
|
||||
(version "3.18.0")
|
||||
(version "3.20.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
@ -921,16 +913,29 @@ toolkit.")
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0sxq700invkjpksn790gbnl8px8751kvgwn39663jx7dv89s37w2"))))
|
||||
"04n631a127pyidaz82ypdy9syq1hzj636r32y9hyr9kcfnwf2785"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("glib" ,glib "bin"))) ;for 'glib-compile-resources'
|
||||
("glib" ,glib "bin") ;for 'glib-compile-resources'
|
||||
("xorg-server" ,xorg-server)))
|
||||
(propagated-inputs
|
||||
`(("pangomm" ,pangomm)
|
||||
("cairomm" ,cairomm)
|
||||
("atkmm" ,atkmm)
|
||||
("gtk+" ,gtk+)
|
||||
("glibmm" ,glibmm)))
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(add-before 'check 'run-xvfb
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((xorg-server (assoc-ref inputs "xorg-server")))
|
||||
;; Tests such as 'object_move/test' require a running
|
||||
;; X server.
|
||||
(system (string-append xorg-server "/bin/Xvfb :1 &"))
|
||||
(setenv "DISPLAY" ":1")
|
||||
;; Don't fail because of the missing /etc/machine-id.
|
||||
(setenv "DBUS_FATAL_WARNINGS" "0")
|
||||
#t))))))
|
||||
(home-page "http://gtkmm.org/")
|
||||
(synopsis
|
||||
"C++ interface to the GTK+ graphical user interface library")
|
||||
|
@ -5,6 +5,7 @@
|
||||
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Erik Edrosa <erik.edrosa@gmail.com>
|
||||
;;; Copyright © 2016 Eraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -363,14 +364,14 @@ many readers as needed).")
|
||||
(define-public guile-ncurses
|
||||
(package
|
||||
(name "guile-ncurses")
|
||||
(version "1.6")
|
||||
(version "1.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/guile-ncurses/guile-ncurses-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0wmk681zzi1wxw543r2s2r84ndnzxp69kr7pc01aw4l55hg7jn73"))))
|
||||
"153vv75gb7l62sp3666rc97i63rnaqbx2rjar7d9b5w81fhwv4r5"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("guile" ,guile-2.0)))
|
||||
@ -379,21 +380,17 @@ many readers as needed).")
|
||||
(string-append "--with-guilesitedir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share/guile/site/2.0"))
|
||||
|
||||
;; Work around <http://bugs.gnu.org/21677>.
|
||||
#:make-flags '("XFAIL_TESTS=curses_034_util.test")
|
||||
|
||||
#:phases (alist-cons-after
|
||||
'install 'post-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dir (string-append out "/share/guile/site/"))
|
||||
(files (find-files dir ".scm")))
|
||||
(substitute* files
|
||||
(("\"libguile-ncurses\"")
|
||||
(format #f "\"~a/lib/libguile-ncurses\""
|
||||
out)))))
|
||||
%standard-phases)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'post-install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(dir (string-append out "/share/guile/site/"))
|
||||
(files (find-files dir ".scm")))
|
||||
(substitute* files
|
||||
(("\"libguile-ncurses\"")
|
||||
(format #f "\"~a/lib/libguile-ncurses\""
|
||||
out)))))))))
|
||||
(home-page "http://www.gnu.org/software/guile-ncurses/")
|
||||
(synopsis "Guile bindings to ncurses")
|
||||
(description
|
||||
|
@ -30,7 +30,7 @@
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages gl)
|
||||
@ -459,7 +459,7 @@ compose, and analyze GIF images.")
|
||||
(define-public imlib2
|
||||
(package
|
||||
(name "imlib2")
|
||||
(version "1.4.8")
|
||||
(version "1.4.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -467,8 +467,7 @@ compose, and analyze GIF images.")
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"0xxhgkd1axlcmf3kp1d7naiygparpg8l3sg3d263rhl2z0gm7aw9"))
|
||||
(patches (search-patches "imlib2-CVE-2016-4024.patch"))))
|
||||
"08809xxk2555yj6glixzw9a0x3x8cx55imd89kj3r0h152bn8a3x"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkgconfig" ,pkg-config)))
|
||||
|
@ -40,15 +40,14 @@
|
||||
(define-public imagemagick
|
||||
(package
|
||||
(name "imagemagick")
|
||||
(version "6.9.2-1")
|
||||
(version "6.9.3-10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://imagemagick/ImageMagick-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"159afhqrj22jlz745ccbgnkdiwvn8pjcc96jic0iv9ms7gqxwln5"))
|
||||
(patches (search-patches "imagemagick-test-segv.patch"))))
|
||||
"0sik2jl1cywnpr5xm28mjhs1l8kxry65f3v2kqzp0cczhwf04gz3"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("--with-frozenpaths")
|
||||
|
@ -1,6 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -52,7 +52,10 @@
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"086v01jy896dj86bq7plrf6si4p6gh6ga2v5417llgmminycz8rc"))))
|
||||
"086v01jy896dj86bq7plrf6si4p6gh6ga2v5417llgmminycz8rc"))
|
||||
(patch-flags '("-p0"))
|
||||
(patches
|
||||
(search-patches "inkscape-drop-wait-for-targets.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("aspell" ,aspell)
|
||||
|
@ -859,3 +859,193 @@ build process and its dependencies, whereas Make uses Makefile format.")
|
||||
compression in pure Java. Single-threaded streamed compression and
|
||||
decompression and random access decompression have been fully implemented.")
|
||||
(license license:public-domain)))
|
||||
|
||||
;; java-hamcrest-core uses qdox version 1.12. We package this version instead
|
||||
;; of the latest release.
|
||||
(define-public java-qdox-1.12
|
||||
(package
|
||||
(name "java-qdox")
|
||||
(version "1.12.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://central.maven.org/maven2/"
|
||||
"com/thoughtworks/qdox/qdox/" version
|
||||
"/qdox-" version "-sources.jar"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hlfbqq2avf5s26wxkksqmkdyk6zp9ggqn37c468m96mjv0n9xfl"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(;; Tests require junit
|
||||
#:tests? #f
|
||||
#:jar-name "qdox.jar"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'unpack
|
||||
(lambda* (#:key source #:allow-other-keys)
|
||||
(mkdir "src")
|
||||
(with-directory-excursion "src"
|
||||
(zero? (system* "jar" "-xf" source)))))
|
||||
;; At this point we don't have junit, so we must remove the API
|
||||
;; tests.
|
||||
(add-after 'unpack 'delete-tests
|
||||
(lambda _
|
||||
(delete-file-recursively "src/com/thoughtworks/qdox/junit")
|
||||
#t)))))
|
||||
(home-page "http://qdox.codehaus.org/")
|
||||
(synopsis "Parse definitions from Java source files")
|
||||
(description
|
||||
"QDox is a high speed, small footprint parser for extracting
|
||||
class/interface/method definitions from source files complete with JavaDoc
|
||||
@code{@@tags}. It is designed to be used by active code generators or
|
||||
documentation tools.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public java-jarjar
|
||||
(package
|
||||
(name "java-jarjar")
|
||||
(version "1.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://storage.googleapis.com/google-code-archive-downloads/v2/"
|
||||
"code.google.com/jarjar/jarjar-src-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v8irhni9cndcw1l1wxqgry013s2kpj0qqn57lj2ji28xjq8ndjl"))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(;; Tests require junit, which ultimately depends on this package.
|
||||
#:tests? #f
|
||||
#:build-target "jar"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((target (string-append (assoc-ref outputs "out")
|
||||
"/share/java")))
|
||||
(install-file (string-append "dist/jarjar-" ,version ".jar")
|
||||
target))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
(home-page "https://code.google.com/archive/p/jarjar/")
|
||||
(synopsis "Repackage Java libraries")
|
||||
(description
|
||||
"Jar Jar Links is a utility that makes it easy to repackage Java
|
||||
libraries and embed them into your own distribution. Jar Jar Links includes
|
||||
an Ant task that extends the built-in @code{jar} task.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public java-hamcrest-core
|
||||
(package
|
||||
(name "java-hamcrest-core")
|
||||
(version "1.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://hamcrest.googlecode.com/files/"
|
||||
"hamcrest-" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1hi0jv0zrgsf4l25aizxrgvxpsrmdklsmvw0jzwz7zv9s108whn6"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete bundled jar archives.
|
||||
(for-each delete-file (find-files "." "\\.jar$"))
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; Tests require junit
|
||||
#:make-flags (list (string-append "-Dversion=" ,version))
|
||||
#:build-target "core"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Disable unit tests, because they require junit, which requires
|
||||
;; hamcrest-core. We also give a fixed value to the "Built-Date"
|
||||
;; attribute from the manifest for reproducibility.
|
||||
(add-before 'configure 'patch-build.xml
|
||||
(lambda _
|
||||
(substitute* "build.xml"
|
||||
(("unit-test, ") "")
|
||||
(("\\$\\{build.timestamp\\}") "guix"))
|
||||
#t))
|
||||
;; Java's "getMethods()" returns methods in an unpredictable order.
|
||||
;; To make the output of the generated code deterministic we must
|
||||
;; sort the array of methods.
|
||||
(add-after 'unpack 'make-method-order-deterministic
|
||||
(lambda _
|
||||
(substitute* "hamcrest-generator/src/main/java/org/hamcrest/generator/ReflectiveFactoryReader.java"
|
||||
(("import java\\.util\\.Iterator;" line)
|
||||
(string-append line "\n"
|
||||
"import java.util.Arrays; import java.util.Comparator;"))
|
||||
(("allMethods = cls\\.getMethods\\(\\);" line)
|
||||
(string-append "_" line
|
||||
"
|
||||
private Method[] getSortedMethods() {
|
||||
Arrays.sort(_allMethods, new Comparator<Method>() {
|
||||
@Override
|
||||
public int compare(Method a, Method b) {
|
||||
return a.toString().compareTo(b.toString());
|
||||
}
|
||||
});
|
||||
return _allMethods;
|
||||
}
|
||||
|
||||
private Method[] allMethods = getSortedMethods();")))))
|
||||
(add-before 'build 'do-not-use-bundled-qdox
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "build.xml"
|
||||
(("lib/generator/qdox-1.12.jar")
|
||||
(string-append (assoc-ref inputs "java-qdox-1.12")
|
||||
"/share/java/qdox.jar")))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(install-file (string-append "build/hamcrest-core-"
|
||||
,version ".jar")
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/java")))))))
|
||||
(native-inputs
|
||||
`(("java-qdox-1.12" ,java-qdox-1.12)
|
||||
("java-jarjar" ,java-jarjar)))
|
||||
(home-page "http://hamcrest.org/")
|
||||
(synopsis "Library of matchers for building test expressions")
|
||||
(description
|
||||
"This package provides a library of matcher objects (also known as
|
||||
constraints or predicates) allowing @code{match} rules to be defined
|
||||
declaratively, to be used in other frameworks. Typical scenarios include
|
||||
testing frameworks, mocking libraries and UI validation rules.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public java-junit
|
||||
(package
|
||||
(name "java-junit")
|
||||
(version "4.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/junit-team/junit/"
|
||||
"archive/r" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"090dn5v1vs0b3acyaqc0gjf6p8lmd2h24wfzsbq7sly6b214anws"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Delete bundled jar archives.
|
||||
(delete-file-recursively "lib")
|
||||
#t))))
|
||||
(build-system ant-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests
|
||||
#:jar-name "junit.jar"))
|
||||
(inputs
|
||||
`(("java-hamcrest-core" ,java-hamcrest-core)))
|
||||
(home-page "http://junit.org/")
|
||||
(synopsis "Test framework for Java")
|
||||
(description
|
||||
"JUnit is a simple framework to write repeatable tests for Java projects.
|
||||
JUnit provides assertions for testing expected results, test fixtures for
|
||||
sharing common test data, and test runners for running tests.")
|
||||
(license license:epl1.0)))
|
||||
|
@ -27,7 +27,7 @@
|
||||
(define-public jemalloc
|
||||
(package
|
||||
(name "jemalloc")
|
||||
(version "3.6.0")
|
||||
(version "4.1.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -35,14 +35,8 @@
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1zl4vxxjvhg72bdl53sl0idz9wp18c6yzjdmqcnwm09wvmcj2v71"))))
|
||||
"13pc6gcs5d6ws63jv83vslrb1vlqdnf1dg43awkb9bbj9xqnvl7s"))))
|
||||
(build-system gnu-build-system)
|
||||
;; XXX FIXME: Use gcc-4.8 on i686 to work around
|
||||
;; <http://bugs.gnu.org/20856>.
|
||||
(native-inputs (if (and (not (%current-target-system))
|
||||
(string-prefix? "i686-" (%current-system)))
|
||||
`(("gcc" ,(canonical-package gcc-4.8)))
|
||||
'()))
|
||||
(home-page "http://www.canonware.com/jemalloc/")
|
||||
(synopsis "General-purpose scalable concurrent malloc implementation")
|
||||
(description
|
||||
|
@ -41,25 +41,12 @@
|
||||
(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)))
|
||||
(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")
|
||||
|
@ -34,7 +34,7 @@
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages fribidi)
|
||||
#:use-module (gnu packages gettext)
|
||||
|
@ -37,7 +37,7 @@
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
|
@ -11,6 +11,7 @@
|
||||
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2016 Raymond Nicholson <rain1@openmailbox.org>
|
||||
;;; Copyright © 2016 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -59,10 +60,11 @@
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages asciidoc)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages calendar)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix utils)
|
||||
@ -222,7 +224,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
|
||||
(search-path %load-path file)))
|
||||
|
||||
(define-public linux-libre
|
||||
(let* ((version "4.5.2")
|
||||
(let* ((version "4.5.4")
|
||||
(build-phase
|
||||
'(lambda* (#:key system inputs #:allow-other-keys #:rest args)
|
||||
;; Avoid introducing timestamps
|
||||
@ -300,7 +302,7 @@ for SYSTEM and optionally VARIANT, or #f if there is no such configuration."
|
||||
(uri (linux-libre-urls version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mw8n5pms33k3m3aamlryahrcbhfnqbzvkglgw3j4dhaja3hwr7n"))))
|
||||
"0c587v03kz5whh82apva6gwqvczdi6djy29gk0gfd9dbkb2518b1"))))
|
||||
(build-system gnu-build-system)
|
||||
(supported-systems '("x86_64-linux" "i686-linux"))
|
||||
(native-inputs `(("perl" ,perl)
|
||||
@ -337,13 +339,13 @@ It has been modified to remove all non-free binary blobs.")
|
||||
(define-public linux-libre-4.4
|
||||
(package
|
||||
(inherit linux-libre)
|
||||
(version "4.4.8")
|
||||
(version "4.4.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (linux-libre-urls version))
|
||||
(sha256
|
||||
(base32
|
||||
"0zyhdy01gjglgmlrmpqa1sdnm0z91mzwspbksj6zvcamczb8ml53"))))
|
||||
"1k7h632vgh3wlz44qqawy238f4mzn19bm9sz9zqq0ql6wwhkjdkj"))))
|
||||
(native-inputs
|
||||
(let ((conf (kernel-config (or (%current-target-system)
|
||||
(%current-system))
|
||||
@ -354,13 +356,13 @@ It has been modified to remove all non-free binary blobs.")
|
||||
(define-public linux-libre-4.1
|
||||
(package
|
||||
(inherit linux-libre)
|
||||
(version "4.1.22")
|
||||
(version "4.1.24")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (linux-libre-urls version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bn6qba7q4i3yn3zx2p56gawnb2gczrf4vyrjggirj4d60gvng7y"))))
|
||||
"14jlnq0k86bl4wj8shmvgf34w90bbm9in44j1pdjwwvn169zh9ra"))))
|
||||
(native-inputs
|
||||
(let ((conf (kernel-config (or (%current-target-system)
|
||||
(%current-system))
|
||||
@ -1217,11 +1219,31 @@ devices. It replaces 'iwconfig', which is deprecated.")
|
||||
(base32
|
||||
"0nlwazxbnn0k6q5f5b09wdhw0f194lpzkp3l7vxansqhfczmcyx8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; TODO: Patch some hardcoded "wlan0" in calibrate/calibrate.cpp to
|
||||
;; allow calibrating the network interface in GuixSD.
|
||||
(add-after 'unpack 'patch-absolute-file-names
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((kmod (assoc-ref inputs "kmod")))
|
||||
(substitute* (find-files "src" "\\.cpp$")
|
||||
;; Give the right 'modprobe' file name so that essential
|
||||
;; modules such as msr.ko can be loaded.
|
||||
(("/sbin/modprobe") (string-append kmod "/bin/modprobe"))
|
||||
;; These programs are only needed to calibrate, so using
|
||||
;; relative file names avoids adding extra inputs. When they
|
||||
;; are missing powertop gracefully handles it.
|
||||
(("/usr/bin/hcitool") "hcitool")
|
||||
(("/usr/bin/xset") "xset")
|
||||
(("/usr/sbin/hciconfig") "hciconfig"))
|
||||
#t))))))
|
||||
(inputs
|
||||
`(("zlib" ,zlib)
|
||||
("pciutils" ,pciutils)
|
||||
`(("kmod" ,kmod)
|
||||
("libnl" ,libnl)
|
||||
("ncurses" ,ncurses)
|
||||
("libnl" ,libnl)))
|
||||
("pciutils" ,pciutils)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "https://01.org/powertop/")
|
||||
@ -2599,3 +2621,58 @@ where they are less likely to cause damage to the spinning disc. Requires a
|
||||
drive that supports the ATA/ATAPI-7 IDLE IMMEDIATE command with unload
|
||||
feature, and a laptop with an accelerometer. It has no effect on SSDs.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public thinkfan
|
||||
(package
|
||||
(name "thinkfan")
|
||||
(version "0.9.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/thinkfan/"
|
||||
version "/thinkfan-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nz4c48f0i0dljpk5y33c188dnnwg8gz82s4grfl8l64jr4n675n"))
|
||||
(modules '((guix build utils)))
|
||||
;; Fix erroneous man page location in Makefile leading to
|
||||
;; a compilation failure.
|
||||
(snippet
|
||||
'(substitute* "CMakeLists.txt"
|
||||
(("thinkfan\\.1") "src/thinkfan.1")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build cmake-build-system)
|
||||
(guix build utils)
|
||||
(srfi srfi-26))
|
||||
#:tests? #f ;no test target
|
||||
#:configure-flags
|
||||
;; Enable reading temperatures from hard disks via S.M.A.R.T.
|
||||
`("-DUSE_ATASMART:BOOL=ON")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; Install scripts for various foreign init systems. Also fix
|
||||
;; hard-coded path for daemon.
|
||||
(add-after 'install 'install-rc-scripts
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(files (find-files
|
||||
(string-append "../thinkfan-" ,version "/rcscripts")
|
||||
".*")))
|
||||
(substitute* files
|
||||
(("/usr/sbin/(\\$NAME|thinkfan)" _ name)
|
||||
(string-append out "/sbin/" name)))
|
||||
(for-each (cute install-file <>
|
||||
(string-append out "/share/thinkfan"))
|
||||
files))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("libatasmart" ,libatasmart)))
|
||||
(home-page "http://thinkfan.sourceforge.net/")
|
||||
(synopsis "Simple fan control program")
|
||||
(description
|
||||
"Thinkfan is a simple fan control program. It reads temperatures,
|
||||
checks them against configured limits and switches to appropriate (also
|
||||
pre-configured) fan level. It requires a working @code{thinkpad_acpi} or any
|
||||
other @code{hwmon} driver that enables temperature reading and fan control
|
||||
from userspace.")
|
||||
(license license:gpl3+)))
|
||||
|
@ -6,7 +6,7 @@
|
||||
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2015 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
@ -177,14 +177,14 @@ aliasing facilities to work just as they would on normal mail.")
|
||||
(define-public mutt
|
||||
(package
|
||||
(name "mutt")
|
||||
(version "1.6.0")
|
||||
(version "1.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.mutt.org/pub/mutt/mutt-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06bc2drbgalkk68rzg7hq2v5m5qgjxff5357wg0419dpi8ivdbr9"))
|
||||
"087dz1y9qhl4ikhsnnb4xmyvs82w6kx480w8zj130wdiqvn6rclq"))
|
||||
(patches (search-patches "mutt-store-references.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
@ -605,10 +605,18 @@ MailCore 2.")
|
||||
("libsm" ,libsm)
|
||||
("libxml2" ,libxml2)
|
||||
("perl" ,perl)
|
||||
("python-2" ,python-2)))
|
||||
("python-2" ,python-2)
|
||||
("mime-info" ,shared-mime-info)))
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
'("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant")))
|
||||
'("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant")
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-before 'build 'patch-mime
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "src/procmime.c"
|
||||
(("/usr/share/mime/globs")
|
||||
(string-append (assoc-ref inputs "mime-info")
|
||||
"/share/mime/globs"))))))))
|
||||
(synopsis "GTK-based Email client")
|
||||
(description
|
||||
"Claws-Mail is an email client (and news reader) based on GTK+. The
|
||||
@ -622,14 +630,14 @@ which can add many functionalities to the base client.")
|
||||
(define-public msmtp
|
||||
(package
|
||||
(name "msmtp")
|
||||
(version "1.6.3")
|
||||
(version "1.6.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/msmtp/msmtp-" version ".tar.xz"))
|
||||
(sha256 (base32
|
||||
"0mbkflxv2swjz4185inis83v6pxcblpmapwjhgpc6wh7kh3bx0pr"))))
|
||||
"1kfihblm769s4hv8iah5mqynqd6hfwlyz5rcg2v423a4llic0jcv"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("libidn" ,libidn)
|
||||
@ -667,7 +675,7 @@ delivery.")
|
||||
(define-public exim
|
||||
(package
|
||||
(name "exim")
|
||||
(version "4.86.2")
|
||||
(version "4.87")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -677,7 +685,7 @@ delivery.")
|
||||
version ".tar.bz2")))
|
||||
(sha256
|
||||
(base32
|
||||
"1cvfcc1hi60lydv8h3a2rxlfc0v2nflwpvzjj7h7cdsqs2pxwmkp"))))
|
||||
"1jbxn13shq90kpn0s73qpjnx5xm8jrpwhcwwgqw5s6sdzw6iwsbl"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("bdb" ,bdb)
|
||||
|
@ -46,6 +46,7 @@
|
||||
#:use-module (gnu packages cmake)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fltk)
|
||||
@ -54,16 +55,19 @@
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gd)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages graphviz)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages less)
|
||||
#:use-module (gnu packages lisp)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages guile)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages gl)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages netpbm)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages perl)
|
||||
@ -403,7 +407,7 @@ plotting engine by third-party applications like Octave.")
|
||||
(define-public hdf5
|
||||
(package
|
||||
(name "hdf5")
|
||||
(version "1.8.12")
|
||||
(version "1.8.17")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -411,18 +415,27 @@ plotting engine by third-party applications like Octave.")
|
||||
version "/src/hdf5-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0f9n0v3p3lwc7564791a39c6cn1d3dbrn7d1j3ikqsi27a8hy23d"))))
|
||||
(base32 "0sj8x0gfs5fb28gipnynb9wpkz113h8wq9sva9mxx66kv27xsdgw"))
|
||||
(patches (list (search-patch "hdf5-config-date.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(alist-cons-before
|
||||
'configure 'patch-configure
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("/bin/mv") "mv")))
|
||||
%standard-phases)))
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'patch-configure
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("/bin/mv") "mv"))
|
||||
#t))
|
||||
(add-after 'install 'patch-references
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((bin (string-append (assoc-ref outputs "out") "/bin"))
|
||||
(zlib (assoc-ref inputs "zlib")))
|
||||
(substitute* (find-files bin "h5p?cc")
|
||||
(("-lz" lib)
|
||||
(string-append "-L" zlib "/lib " lib)))
|
||||
#t))))))
|
||||
(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
|
||||
@ -430,6 +443,140 @@ extremely large and complex data collections.")
|
||||
(license (license:x11-style
|
||||
"http://www.hdfgroup.org/ftp/HDF5/current/src/unpacked/COPYING"))))
|
||||
|
||||
(define-public hdf5-parallel-openmpi
|
||||
(package (inherit hdf5)
|
||||
(name "hdf5-parallel-openmpi")
|
||||
(inputs
|
||||
`(("mpi" ,openmpi)
|
||||
,@(package-inputs hdf5)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments `(#:configure-flags '("--enable-parallel")
|
||||
,@(package-arguments hdf5))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-before 'check 'patch-tests
|
||||
(lambda _
|
||||
;; OpenMPI's mpirun will exit with non-zero status if it
|
||||
;; detects an "abnormal termination", i.e. any process not
|
||||
;; calling MPI_Finalize(). Since the test is explicitely
|
||||
;; avoiding MPI_Finalize so as not to have at_exit and thus
|
||||
;; H5C_flush_cache from being called, mpirun will always
|
||||
;; complain, so turn this test off.
|
||||
(substitute* "testpar/Makefile"
|
||||
(("(^TEST_PROG_PARA.*)t_pflush1(.*)" front back)
|
||||
(string-append front back "\n")))
|
||||
(substitute* "tools/h5diff/testph5diff.sh"
|
||||
(("/bin/sh") (which "sh")))
|
||||
#t))))))
|
||||
(synopsis "Management suite for data with parallel IO support")))
|
||||
|
||||
(define-public h5check
|
||||
(package
|
||||
(name "h5check")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.hdfgroup.org/ftp/HDF5/tools/"
|
||||
"h5check/src/h5check-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gm76jbwhz9adbxgn14zx8cj33dmjdr2g5xcy0m9c2gakp8w59kj"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("hdf5" ,hdf5))) ;h5cc for tests
|
||||
(home-page "https://www.hdfgroup.org/products/hdf5_tools/h5check.html")
|
||||
(synopsis "HDF5 format checker")
|
||||
(description "@code{h5check} is a validation tool for verifying that an
|
||||
HDF5 file is encoded according to the HDF File Format Specification.")
|
||||
(license (license:x11-style "file://COPYING"))))
|
||||
|
||||
(define-public netcdf
|
||||
(package
|
||||
(name "netcdf")
|
||||
(version "4.4.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp.unidata.ucar.edu/pub/netcdf/"
|
||||
"netcdf-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y6gdcplarwqqnrav2xg1xd6ih732rzzbmdw78v3rl5b8mwcnh0d"))
|
||||
(patches (list (search-patch "netcdf-config-date.patch")))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("m4" ,m4)
|
||||
("doxygen" ,doxygen)
|
||||
("graphviz" ,graphviz)))
|
||||
(inputs
|
||||
`(("hdf5" ,hdf5)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:configure-flags '("--enable-doxygen" "--enable-dot")
|
||||
#:parallel-tests? #f)) ;various race conditions
|
||||
(home-page "http://www.unidata.ucar.edu/software/netcdf/")
|
||||
(synopsis "Library for scientific data")
|
||||
(description "NetCDF is an interface for scientific data access and a
|
||||
software library that provides an implementation of the interface. The netCDF
|
||||
library defines a machine-independent format for representing scientific data.
|
||||
Together, the interface, library, and format support the creation, access, and
|
||||
sharing of scientific data.")
|
||||
(license (license:x11-style "file://COPYRIGHT"))))
|
||||
|
||||
(define-public netcdf-parallel-openmpi
|
||||
(package (inherit netcdf)
|
||||
(name "netcdf-parallel-openmpi")
|
||||
(inputs
|
||||
`(("mpi" ,openmpi)
|
||||
,@(alist-replace "hdf5" (list hdf5-parallel-openmpi)
|
||||
(package-inputs netcdf))))
|
||||
;; TODO: Replace pkg-config references in nc-config with absolute references
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments netcdf)
|
||||
((#:configure-flags flags)
|
||||
`(cons* "CC=mpicc" "CXX=mpicxx"
|
||||
"--enable-parallel-tests"
|
||||
;; Shared libraries not supported with parallel IO.
|
||||
"--disable-shared" "--with-pic"
|
||||
,flags))))))
|
||||
|
||||
(define-public nlopt
|
||||
(package
|
||||
(name "nlopt")
|
||||
(version "2.4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ab-initio.mit.edu/nlopt/nlopt-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "12cfkkhcdf4zmb6h7y6qvvdvqjs2xf9sjpa3rl3bq76px4yn76c0"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(;; Shared libraries are not built by default. They are required to
|
||||
;; build the Guile, Octave, and Python bindings.
|
||||
#:configure-flags '("--enable-shared")
|
||||
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'set-libnlopt-file-name
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Make sure the Scheme module refers to the library by its
|
||||
;; absolute file name (we cannot do that from a snippet
|
||||
;; because the expansion of @libdir@ contains
|
||||
;; ${exec_prefix}.)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "swig/nlopt.scm.in"
|
||||
(("libnlopt")
|
||||
(string-append out "/lib/libnlopt")))
|
||||
#t))))))
|
||||
(inputs `(("guile" ,guile-2.0)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://ab-initio.mit.edu/wiki/")
|
||||
(synopsis "Library for nonlinear optimization")
|
||||
(description "NLopt is a library for nonlinear optimization, providing a
|
||||
common interface for a number of different free optimization routines available
|
||||
online as well as original implementations of various other algorithms.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
;; For a fully featured Octave, users are strongly recommended also to install
|
||||
;; the following packages: texinfo, less, ghostscript, gnuplot.
|
||||
@ -2119,3 +2266,138 @@ are built. It can generate many different fractal types such as the Mandelbrot
|
||||
set.")
|
||||
(home-page "http://www.gnu.org/software/xaos/")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public hypre
|
||||
(package
|
||||
(name "hypre")
|
||||
(version "2.11.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/LLNL/hypre/archive/"
|
||||
"v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0q69ia0jivzcr8p049dn3mg8yjpn6nwq4sw9iqac8vr63vi54l6m"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove use of __DATE__ and __TIME__ for reproducibility;
|
||||
;; substitute the tarball creation time.
|
||||
(substitute* "src/utilities/HYPRE_utilities.h"
|
||||
(("Date Compiled: .*$")
|
||||
"Date Compiled: Mar 28 2016 20:19:59 +0000\"\n"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" ;6.1 MiB of headers and libraries
|
||||
"doc")) ;4.8 MiB of documentation
|
||||
(native-inputs
|
||||
`(("doc++" ,doc++)
|
||||
("netpbm" ,netpbm)
|
||||
("texlive" ,texlive) ;full package required for fonts
|
||||
("ghostscript" ,ghostscript)))
|
||||
(inputs
|
||||
`(("blas" ,openblas)
|
||||
("lapack" ,lapack)))
|
||||
(arguments
|
||||
`(#:modules ((srfi srfi-1)
|
||||
,@%gnu-build-system-modules)
|
||||
#:configure-flags '("--enable-shared"
|
||||
"--disable-fortran"
|
||||
"--without-MPI"
|
||||
"--with-openmp"
|
||||
"--with-fei"
|
||||
"--with-lapack"
|
||||
"--with-blas")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'chdir-src
|
||||
(lambda _ (chdir "src")))
|
||||
(replace 'configure
|
||||
(lambda* (#:key build target configure-flags
|
||||
#:allow-other-keys #:rest args)
|
||||
(let* ((configure (assoc-ref %standard-phases 'configure)))
|
||||
(apply configure
|
||||
(append args
|
||||
(list #:configure-flags
|
||||
(cons (string-append
|
||||
"--host=" (or target build))
|
||||
configure-flags)))))))
|
||||
(add-after 'build 'build-docs
|
||||
(lambda _
|
||||
(zero? (system* "make" "-Cdocs" "pdf" "html"))))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(setenv "LD_LIBRARY_PATH" (string-append (getcwd) "/hypre/lib"))
|
||||
(setenv "PATH" (string-append "." ":" (getenv "PATH")))
|
||||
(and (system* "make" "check" "CHECKRUN=")
|
||||
(fold (lambda (filename result)
|
||||
(and result
|
||||
(let ((size (stat:size (stat filename))))
|
||||
(when (not (zero? size))
|
||||
(format #t "~a size ~d; error indication~%"
|
||||
filename size))
|
||||
(zero? size))))
|
||||
#t
|
||||
(find-files "test" ".*\\.err$")))))
|
||||
(add-after 'install 'install-docs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Custom install because docs/Makefile doesn't honor ${docdir}.
|
||||
(let* ((doc (assoc-ref outputs "doc"))
|
||||
(docdir (string-append doc "/share/doc/hypre-" ,version)))
|
||||
(mkdir-p docdir)
|
||||
(with-directory-excursion "docs"
|
||||
(for-each (lambda (base)
|
||||
(install-file (string-append base ".pdf") docdir)
|
||||
(copy-recursively base docdir)) ;html docs
|
||||
'("HYPRE_usr_manual"
|
||||
"HYPRE_ref_manual")))
|
||||
#t))))))
|
||||
(home-page "http://www.llnl.gov/casc/hypre/")
|
||||
(synopsis "Library of solvers and preconditioners for linear equations")
|
||||
(description
|
||||
"HYPRE is a software library of high performance preconditioners and
|
||||
solvers for the solution of large, sparse linear systems of equations. It
|
||||
features multigrid solvers for both structured and unstructured grid
|
||||
problems.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public hypre-openmpi
|
||||
(package (inherit hypre)
|
||||
(name "hypre-openmpi")
|
||||
(inputs
|
||||
`(("mpi" ,openmpi)
|
||||
,@(package-inputs hypre)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments hypre)
|
||||
((#:configure-flags flags)
|
||||
``("--with-MPI"
|
||||
,@(delete "--without-MPI" ,flags)))))
|
||||
(synopsis "Parallel solvers and preconditioners for linear equations")
|
||||
(description
|
||||
"HYPRE is a software library of high performance preconditioners and
|
||||
solvers for the solution of large, sparse linear systems of equations on
|
||||
parallel computers. It features parallel multigrid solvers for both
|
||||
structured and unstructured grid problems.")))
|
||||
|
||||
(define-public matio
|
||||
(package
|
||||
(name "matio")
|
||||
(version "1.5.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/matio/" version "/"
|
||||
"matio-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0y2qymgxank8wdiwc68ap8bxdzrhvyw86i29yh3xgn4z1njfd9ir"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("zlib" ,zlib)
|
||||
("hdf5" ,hdf5)))
|
||||
(home-page "http://matio.sourceforge.net/")
|
||||
(synopsis "Library for reading and writing MAT files")
|
||||
(description "Matio is a library for reading and writing MAT files. It
|
||||
supports compressed MAT files, as well as newer (version 7.3) MAT files.")
|
||||
(license license:bsd-2)))
|
||||
|
@ -37,7 +37,7 @@
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages enchant)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
@ -91,16 +91,37 @@ keys, no previous conversation is compromised.")
|
||||
(home-page "https://otr.cypherpunks.ca/")
|
||||
(license (list lgpl2.1 gpl2))))
|
||||
|
||||
;; These patches together fix https://github.com/bitlbee/bitlbee/pull/55, are
|
||||
;; already upstream, and should be unnecessary when the next bitlbee comes
|
||||
;; out.
|
||||
(define %bitlbee-buddy-nick-change-patch
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri "https://github.com/bitlbee/bitlbee/commit/a42fda42.patch")
|
||||
(sha256
|
||||
(base32
|
||||
"1mzjhcdn0rxir5mzgqz9kv142ai38p1iq2lajqx89wb7x0bp51zx"))))
|
||||
(define %bitlbee-always-use-nicks-patch
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri "https://github.com/bitlbee/bitlbee/commit/3320d6d9.patch")
|
||||
(sha256
|
||||
(base32
|
||||
"14d9kb5zdzh5hzakdvrbviz83rix0j2lq9rzb58b2fn92fp8yixd"))))
|
||||
|
||||
(define-public bitlbee
|
||||
(package
|
||||
(name "bitlbee")
|
||||
(version "3.4.1")
|
||||
(version "3.4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://get.bitlbee.org/src/bitlbee-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1qf0ypa9ba5jvsnpg9slmaran16hcc5fnfzbb1sdch1hjhchn2jh"))))
|
||||
(base32 "0mza8lnfwibmklz8hdzg4f7p83hblf4h6fbf7d732kzpvra5bj39"))
|
||||
(patches
|
||||
(list %bitlbee-buddy-nick-change-patch
|
||||
%bitlbee-always-use-nicks-patch))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("check" ,check)))
|
||||
|
@ -35,7 +35,7 @@
|
||||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages mp3)
|
||||
|
@ -45,8 +45,10 @@
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages cyrus-sasl)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages doxygen)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages file)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fltk)
|
||||
#:use-module (gnu packages fonts)
|
||||
@ -84,6 +86,7 @@
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages texlive)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
@ -548,15 +551,11 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite
|
||||
(alist-cons-after
|
||||
'install 'wrap-program
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Make sure 'solfege' runs with the correct PYTHONPATH. We
|
||||
;; also need to modify GDK_PIXBUF_MODULE_FILE for SVG support.
|
||||
;; Make sure 'solfege' runs with the correct PYTHONPATH.
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(path (getenv "PYTHONPATH"))
|
||||
(rsvg (assoc-ref inputs "librsvg"))
|
||||
(pixbuf (find-files rsvg "^loaders\\.cache$")))
|
||||
(path (getenv "PYTHONPATH")))
|
||||
(wrap-program (string-append out "/bin/solfege")
|
||||
`("PYTHONPATH" ":" prefix (,path))
|
||||
`("GDK_PIXBUF_MODULE_FILE" ":" prefix ,pixbuf))))
|
||||
`("PYTHONPATH" ":" prefix (,path)))))
|
||||
%standard-phases)))))))
|
||||
(inputs
|
||||
`(("python" ,python-2)
|
||||
@ -564,8 +563,6 @@ for path in [path for path in sys.path if 'site-packages' in path]: site.addsite
|
||||
("gettext" ,gnu-gettext)
|
||||
("gtk" ,gtk+)
|
||||
("lilypond" ,lilypond)
|
||||
("librsvg" ,librsvg) ; needed at runtime for icons
|
||||
("libpng" ,libpng) ; needed at runtime for icons
|
||||
;; players needed at runtime
|
||||
("aplay" ,alsa-utils)
|
||||
("csound" ,csound) ; optional, needed for some exercises
|
||||
@ -831,6 +828,13 @@ mixing, FFT scopes, MIDI automation and full scriptability in Scheme.")
|
||||
(string-prefix? "i686" system)))
|
||||
(substitute* "bristol/Makefile.in"
|
||||
(("-msse -mfpmath=sse") "")))
|
||||
#t))
|
||||
;; We know that Bristol has been linked with JACK and we don't have
|
||||
;; ldd, so we can just skip this check.
|
||||
(add-after 'unpack 'do-not-grep-for-jack
|
||||
(lambda _
|
||||
(substitute* "bin/startBristol.in"
|
||||
(("ldd `which bristol` | grep jack") "echo guix"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
@ -958,6 +962,70 @@ programming methods as well as for realizing complex systems for large-scale
|
||||
projects.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public portmidi
|
||||
(package
|
||||
(name "portmidi")
|
||||
(version "217")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/portmedia/portmidi/"
|
||||
version "/portmidi-src-" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"03rfsk7z6rdahq2ihy5k13qjzgx757f75yqka88v3gc0pn9ais88"))
|
||||
(patches (list (search-patch "portmidi-modular-build.patch")))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; tests cannot be linked
|
||||
#:configure-flags
|
||||
(list "-DPORTMIDI_ENABLE_JAVA=Off"
|
||||
"-DCMAKE_BUILD_TYPE=Release" ; needed to have PMALSA set
|
||||
"-DPORTMIDI_ENABLE_TEST=Off"))) ; tests fail linking
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
(home-page "http://portmedia.sourceforge.net/portmidi/")
|
||||
(synopsis "Library for MIDI I/O")
|
||||
(description
|
||||
"PortMidi is a library supporting real-time input and output of MIDI data
|
||||
using a system-independent interface.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public python-pyportmidi
|
||||
(package
|
||||
(name "python-pyportmidi")
|
||||
(version (package-version portmidi))
|
||||
(source (package-source portmidi))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no tests included
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'enter-dir
|
||||
(lambda _ (chdir "pm_python") #t))
|
||||
(add-after 'enter-dir 'fix-setup.py
|
||||
(lambda _
|
||||
(substitute* "setup.py"
|
||||
;; Use Python 3 syntax
|
||||
(("print (\".*\")" _ text)
|
||||
(string-append "print(" text ")\n"))
|
||||
;; TODO.txt and CHANGES.txt don't exist
|
||||
(("CHANGES =.*") "CHANGES = \"\"\n")
|
||||
(("TODO =.*") "TODO = \"\"\n"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("portmidi" ,portmidi)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("python-cython" ,python-cython)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)))
|
||||
(home-page "http://portmedia.sourceforge.net/portmidi/")
|
||||
(synopsis "Python bindings to PortMidi")
|
||||
(description
|
||||
"This package provides Python bindings to the PortMidi library.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public frescobaldi
|
||||
(package
|
||||
(name "frescobaldi")
|
||||
@ -973,8 +1041,10 @@ projects.")
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("lilypond" ,lilypond)
|
||||
("portmidi" ,portmidi)
|
||||
("python-pyqt-4" ,python-pyqt-4)
|
||||
("python-ly" ,python-ly)
|
||||
("python-pyportmidi" ,python-pyportmidi)
|
||||
("poppler" ,poppler)
|
||||
("python-poppler-qt4" ,python-poppler-qt4)
|
||||
("python-sip" ,python-sip)))
|
||||
@ -1474,3 +1544,44 @@ for improved Amiga ProTracker 2/3 compatibility.")
|
||||
(home-page "http://milkytracker.org/")
|
||||
;; 'src/milkyplay' is under Modified BSD, the rest is under GPL3 or later.
|
||||
(license (list license:bsd-3 license:gpl3+))))
|
||||
|
||||
(define-public moc
|
||||
(package
|
||||
(name "moc")
|
||||
(version "2.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://ftp.daper.net/pub/soft/"
|
||||
name "/stable/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wn4za08z64bhsgfhr9c0crfyvy8c3b6a337wx7gz19am5srqh8v"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("curl" ,curl)
|
||||
("faad2" ,faad2)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("file" ,file)
|
||||
("jack" ,jack-1)
|
||||
("libid3tag" ,libid3tag)
|
||||
("libltdl" ,libltdl)
|
||||
("libmodplug" ,libmodplug)
|
||||
("libmpcdec" ,libmpcdec)
|
||||
("libmad" ,libmad)
|
||||
("ncurses" ,ncurses)
|
||||
("openssl" ,openssl)
|
||||
("sasl" ,cyrus-sasl)
|
||||
("speex" ,speex)
|
||||
("taglib" ,taglib)
|
||||
("wavpack" ,wavpack)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(synopsis "Console audio player designed to be powerful and easy to use")
|
||||
(description
|
||||
"Music on Console is a console audio player that supports many file
|
||||
formats, including most audio formats recognized by FFMpeg.")
|
||||
(home-page "http://moc.daper.net")
|
||||
(license license:gpl2+)))
|
||||
|
@ -3,6 +3,7 @@
|
||||
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -38,7 +39,7 @@
|
||||
(define-public ntp
|
||||
(package
|
||||
(name "ntp")
|
||||
(version "4.2.8p6")
|
||||
(version "4.2.8p7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
@ -47,7 +48,7 @@
|
||||
"/ntp-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0j509gd0snj8dq15rhfv2v4wisfaabya1gmgqslk1kisawf0wgaq"))
|
||||
"1p100856h17nb0kpnppy70nja57hbcc95h7shhxvw6mhl030rll1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
@ -92,7 +93,7 @@ computers over a network.")
|
||||
(define-public openntpd
|
||||
(package
|
||||
(name "openntpd")
|
||||
(version "5.7p3")
|
||||
(version "5.9p1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; XXX Use mirror://openbsd
|
||||
@ -101,7 +102,7 @@ computers over a network.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0filjmb3b8rc39bvhm8q2azzj10ljfgq41qih71pxv919j57qhag"))))
|
||||
"1cwp6vxv7nj039kgbf0mgfm06f8zc4axawdc7ijl2r2ddl2h8310"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "http://www.openntpd.org/")
|
||||
(synopsis "NTP client and server by the OpenBSD Project")
|
||||
|
@ -60,7 +60,8 @@
|
||||
"/ocaml-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qwwvy8nzd87hk8rd9sm667nppakiapnx4ypdwcrlnav2dz6kil3"))))
|
||||
"1qwwvy8nzd87hk8rd9sm667nppakiapnx4ypdwcrlnav2dz6kil3"))
|
||||
(patches (search-patches "ocaml-CVE-2015-8869.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
|
56
gnu/packages/patches/4store-fix-buildsystem.patch
Normal file
56
gnu/packages/patches/4store-fix-buildsystem.patch
Normal file
@ -0,0 +1,56 @@
|
||||
This patch sets a fixed version to avoid needing Git and the .git/ folder.
|
||||
It also removes the creation of "/var/lib/4store", which is not available
|
||||
during the install phase in GNU Guix.
|
||||
|
||||
Patch by Roel Janssen <roel@gnu.org>
|
||||
*** a/configure.ac Wed Feb 4 19:05:24 2015
|
||||
--- b/configure.ac Wed Mar 23 11:20:38 2016
|
||||
***************
|
||||
*** 2,13 ****
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.50])
|
||||
! AC_INIT([4store], m4_esyscmd([./version.sh .version]), [http://4store.org/support/], [4store])
|
||||
AC_CONFIG_SRCDIR([src/backend/backend-intl.h])
|
||||
! AM_INIT_AUTOMAKE([1.7 std-options -Wall])
|
||||
AC_CONFIG_HEADERS(4store-config.h)
|
||||
|
||||
# Checks for programs.
|
||||
AC_PROG_LIBTOOL
|
||||
AC_PROG_AWK
|
||||
AC_PROG_CC
|
||||
--- 2,14 ----
|
||||
# Process this file with autoconf to produce a configure script.
|
||||
|
||||
AC_PREREQ([2.50])
|
||||
! AC_INIT([4store], [1.1.6], [http://4store.org/support/], [4store])
|
||||
AC_CONFIG_SRCDIR([src/backend/backend-intl.h])
|
||||
! AM_INIT_AUTOMAKE([1.7 std-options foreign -Wall])
|
||||
AC_CONFIG_HEADERS(4store-config.h)
|
||||
|
||||
# Checks for programs.
|
||||
+ AM_PROG_AR
|
||||
AC_PROG_LIBTOOL
|
||||
AC_PROG_AWK
|
||||
AC_PROG_CC
|
||||
|
||||
*** a/src/utilities/Makefile.am Wed Feb 4 19:05:24 2015
|
||||
--- b/src/utilities/Makefile.am Wed Mar 23 14:05:56 2016
|
||||
***************
|
||||
*** 13,20 ****
|
||||
noinst_PROGRAMS = lex-file-verify 4s-rid
|
||||
|
||||
install-data-local:
|
||||
! mkdir -p $(DESTDIR)@FS_STORE_ROOT@
|
||||
! chmod 1777 $(DESTDIR)@FS_STORE_ROOT@
|
||||
|
||||
4s_backend_destroy_SOURCES = backend-destroy.c
|
||||
4s_backend_destroy_LDADD = ../common/lib4sintl.a
|
||||
--- 13,19 ----
|
||||
noinst_PROGRAMS = lex-file-verify 4s-rid
|
||||
|
||||
install-data-local:
|
||||
! echo "Please create the following directory: " $(DESTDIR)@FS_STORE_ROOT@
|
||||
|
||||
4s_backend_destroy_SOURCES = backend-destroy.c
|
||||
4s_backend_destroy_LDADD = ../common/lib4sintl.a
|
224
gnu/packages/patches/doc++-include-directives.patch
Normal file
224
gnu/packages/patches/doc++-include-directives.patch
Normal file
@ -0,0 +1,224 @@
|
||||
Adapted from https://sourceforge.net/p/docpp/patches/1/
|
||||
|
||||
--- doc++-3.4.10/src/comment.ll 2000-06-24 18:50:23.000000000 +0200
|
||||
+++ doc++-3.4.10/src/comment.ll 2012-09-17 11:14:50.744922841 +0200
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
-#include <iostream.h>
|
||||
+#include <iostream>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
|
||||
--- doc++-3.4.10/src/cpp.ll 2002-05-09 08:11:14.000000000 +0200
|
||||
+++ doc++-3.4.10/src/cpp.ll 2012-09-17 11:15:21.184333236 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
-#include <iostream.h>
|
||||
+#include <iostream>
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
|
||||
--- doc++-3.4.10/src/datahashtable.h 2000-08-27 21:44:34.000000000 +0200
|
||||
+++ doc++-3.4.10/src/datahashtable.h 2012-09-17 11:22:59.442589960 +0200
|
||||
@@ -26,11 +26,13 @@
|
||||
#define _DATAHASHTABLE_H
|
||||
|
||||
#include <assert.h>
|
||||
-#include <iostream.h>
|
||||
+#include <iostream>
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "McDArray.h"
|
||||
|
||||
+using namespace std;
|
||||
+
|
||||
/* This should be a private subclass of #DataHashTable#. However, since cfront
|
||||
is not able to compile this constrution, we had move the class to global
|
||||
scope.
|
||||
--- doc++-3.4.10/src/doc2dbsgml.ll 2002-05-09 08:11:14.000000000 +0200
|
||||
+++ doc++-3.4.10/src/doc2dbsgml.ll 2012-09-17 11:20:49.077259414 +0200
|
||||
@@ -22,8 +22,8 @@
|
||||
|
||||
%{
|
||||
#include <assert.h>
|
||||
-#include <fstream.h>
|
||||
-#include <iostream.h>
|
||||
+#include <fstream>
|
||||
+#include <iostream>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -36,6 +36,8 @@
|
||||
#undef YY_INPUT
|
||||
#define YY_INPUT(buf, result, max_size) result = yyread(buf, max_size);
|
||||
|
||||
+using namespace std;
|
||||
+
|
||||
static Entry* current;
|
||||
static int inPos;
|
||||
static int lastContext;
|
||||
--- doc++-3.4.10/src/doc2dbxml.ll 2002-05-09 08:11:14.000000000 +0200
|
||||
+++ doc++-3.4.10/src/doc2dbxml.ll 2012-09-17 11:20:22.264831159 +0200
|
||||
@@ -25,8 +25,8 @@
|
||||
|
||||
%{
|
||||
#include <assert.h>
|
||||
-#include <fstream.h>
|
||||
-#include <iostream.h>
|
||||
+#include <fstream>
|
||||
+#include <iostream>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -39,6 +39,8 @@
|
||||
#undef YY_INPUT
|
||||
#define YY_INPUT(buf, result, max_size) result = yyread(buf, max_size);
|
||||
|
||||
+using namespace std;
|
||||
+
|
||||
static Entry* current;
|
||||
static int inPos;
|
||||
static int lastContext;
|
||||
--- doc++-3.4.10/src/doc2html.ll 2000-07-17 23:17:24.000000000 +0200
|
||||
+++ doc++-3.4.10/src/doc2html.ll 2012-09-17 11:22:40.354469631 +0200
|
||||
@@ -29,6 +29,8 @@
|
||||
#include "doc.h"
|
||||
#include "nametable.h"
|
||||
|
||||
+using namespace std;
|
||||
+
|
||||
extern NameTable gifs;
|
||||
|
||||
#define YY_DECL int yylex()
|
||||
--- doc++-3.4.10/src/doc2tex.ll 2000-11-05 17:21:16.000000000 +0100
|
||||
+++ doc++-3.4.10/src/doc2tex.ll 2012-09-17 11:23:22.210701715 +0200
|
||||
@@ -23,8 +23,8 @@
|
||||
|
||||
%{
|
||||
#include <assert.h>
|
||||
-#include <fstream.h>
|
||||
-#include <iostream.h>
|
||||
+#include <fstream>
|
||||
+#include <iostream>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@@ -38,6 +38,8 @@
|
||||
#undef YY_INPUT
|
||||
#define YY_INPUT(buf, result, max_size) result = yyread(buf, max_size);
|
||||
|
||||
+using namespace std;
|
||||
+
|
||||
static Entry* current;
|
||||
static int inPos;
|
||||
static int lastContext;
|
||||
--- doc++-3.4.10/src/doc.ll 2000-09-17 21:41:17.000000000 +0200
|
||||
+++ doc++-3.4.10/src/doc.ll 2012-09-17 11:15:37.068009454 +0200
|
||||
@@ -23,8 +23,8 @@
|
||||
|
||||
%{
|
||||
#include <assert.h>
|
||||
-#include <fstream.h>
|
||||
-#include <iostream.h>
|
||||
+#include <fstream>
|
||||
+#include <iostream>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
--- doc++-3.4.10/src/equate.cc 2002-05-02 21:13:10.000000000 +0200
|
||||
+++ doc++-3.4.10/src/equate.cc 2012-09-17 11:25:42.850669366 +0200
|
||||
@@ -23,9 +23,9 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
-#include <fstream.h>
|
||||
+#include <fstream>
|
||||
#include <getopt.h>
|
||||
-#include <iostream.h>
|
||||
+#include <iostream>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
--- doc++-3.4.10/src/html.cc 2001-02-17 07:34:49.000000000 +0100
|
||||
+++ doc++-3.4.10/src/html.cc 2012-09-17 11:24:07.978824681 +0200
|
||||
@@ -31,7 +31,7 @@
|
||||
#include <direct.h>
|
||||
#endif
|
||||
#include <errno.h>
|
||||
-#include <iostream.h>
|
||||
+#include <iostream>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
--- doc++-3.4.10/src/java.ll 2001-11-25 18:04:12.000000000 +0100
|
||||
+++ doc++-3.4.10/src/java.ll 2012-09-17 11:24:19.138834603 +0200
|
||||
@@ -26,7 +26,7 @@
|
||||
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
-#include <iostream.h>
|
||||
+#include <iostream>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "doc.h"
|
||||
--- doc++-3.4.10/src/main.cc 2002-05-09 08:11:14.000000000 +0200
|
||||
+++ doc++-3.4.10/src/main.cc 2012-09-17 11:25:30.650719070 +0200
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "config.h"
|
||||
|
||||
#include <assert.h>
|
||||
-#include <fstream.h>
|
||||
+#include <fstream>
|
||||
#include <getopt.h>
|
||||
#include <locale.h>
|
||||
#include <stdio.h>
|
||||
--- doc++-3.4.10/src/nametable.cc 2000-04-08 23:11:54.000000000 +0200
|
||||
+++ doc++-3.4.10/src/nametable.cc 2012-09-17 11:25:58.894591128 +0200
|
||||
@@ -22,7 +22,7 @@
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
-#include <iostream.h>
|
||||
+#include <iostream>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
--- doc++-3.4.10/src/nametable.h 2000-04-08 23:11:56.000000000 +0200
|
||||
+++ doc++-3.4.10/src/nametable.h 2012-09-17 11:22:07.826207198 +0200
|
||||
@@ -25,7 +25,7 @@
|
||||
#define _NAME_TABLE_H
|
||||
|
||||
#include <assert.h>
|
||||
-#include <iostream.h>
|
||||
+#include <iostream>
|
||||
|
||||
#include "datahashtable.h"
|
||||
|
||||
--- doc++-3.4.10/src/php.ll 2001-02-16 23:34:47.000000000 +0100
|
||||
+++ doc++-3.4.10/src/php.ll 2012-09-17 11:25:18.582759801 +0200
|
||||
@@ -23,7 +23,7 @@
|
||||
%{
|
||||
#include <assert.h>
|
||||
#include <ctype.h>
|
||||
-#include <iostream.h>
|
||||
+#include <iostream>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "doc.h"
|
||||
--- doc++-3.4.10/src/tex2gif.cc 2001-08-07 20:55:40.000000000 +0200
|
||||
+++ doc++-3.4.10/src/tex2gif.cc 2012-09-17 11:26:06.698547836 +0200
|
||||
@@ -21,8 +21,8 @@
|
||||
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||
*/
|
||||
|
||||
-#include <iostream.h>
|
||||
-#include <fstream.h>
|
||||
+#include <iostream>
|
||||
+#include <fstream>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
169
gnu/packages/patches/doc++-segfault-fix.patch
Normal file
169
gnu/packages/patches/doc++-segfault-fix.patch
Normal file
@ -0,0 +1,169 @@
|
||||
Adapted from https://sources.debian.net/data/main/d/doc%2B%2B/3.4.10-3.4/debian/patches/segfault_fix.patch
|
||||
|
||||
--- doc++-3.4.10/src/McDArray.h 2000-07-30 12:40:48.000000000 +0200
|
||||
+++ doc++-3.4.10/src/McDArray.h 2005-05-10 15:02:06.000000000 +0200
|
||||
@@ -80,9 +80,14 @@
|
||||
McDArray(const McDArray& old) : memFactor(old.memFactor),
|
||||
thesize(old.thesize), themax(old.themax)
|
||||
{
|
||||
- data = (T*)malloc(themax * sizeof(T));
|
||||
- if(thesize)
|
||||
- memcpy(data, old.data, thesize * sizeof(T));
|
||||
+ if (themax)
|
||||
+ {
|
||||
+ data = (T*)malloc(themax * sizeof(T));
|
||||
+ if(thesize)
|
||||
+ memcpy(data, old.data, thesize * sizeof(T));
|
||||
+ }
|
||||
+ else
|
||||
+ data = 0;
|
||||
assert(isConsistent());
|
||||
}
|
||||
|
||||
--- doc++-3.4.10/src/McDirectory.cc 2000-03-14 22:17:36.000000000 +0100
|
||||
+++ doc++-3.4.10/src/McDirectory.cc 2005-05-10 15:02:18.000000000 +0200
|
||||
@@ -23,12 +23,13 @@
|
||||
*/
|
||||
|
||||
#include "McDirectory.h"
|
||||
-#include "McSorter.h"
|
||||
#include "McString.h"
|
||||
#include "doc.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
+#include <algorithm>
|
||||
+
|
||||
#ifdef WIN32
|
||||
#include <windows.h>
|
||||
#ifdef __BORLANDC__
|
||||
@@ -62,7 +63,7 @@
|
||||
FindClose(searchHandle);
|
||||
StringCompare comp;
|
||||
if(list.size())
|
||||
- sort((char **)list, list.size(), comp, 0);
|
||||
+ std::sort((char **)list, (char **)list + list.size(), comp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -107,7 +108,7 @@
|
||||
closedir(dir);
|
||||
StringCompare comp;
|
||||
if(list.size())
|
||||
- sort((char **)list, list.size(), comp, 0);
|
||||
+ std::sort((char **)list, (char **)list + list.size(), comp);
|
||||
return list.size();
|
||||
}
|
||||
|
||||
--- doc++-3.4.10/src/McDirectory.h 2000-06-28 21:54:58.000000000 +0200
|
||||
+++ doc++-3.4.10/src/McDirectory.h 2005-05-10 15:02:18.000000000 +0200
|
||||
@@ -59,9 +59,9 @@
|
||||
class StringCompare
|
||||
{
|
||||
public:
|
||||
- int operator()(const char *t1, const char *t2)
|
||||
+ bool operator()(const char *t1, const char *t2)
|
||||
{
|
||||
- return strcmp(t1, t2);
|
||||
+ return strcmp(t1, t2) < 0;
|
||||
}
|
||||
};
|
||||
};
|
||||
--- doc++-3.4.10/src/html.cc 2001-02-17 07:34:49.000000000 +0100
|
||||
+++ doc++-3.4.10/src/html.cc 2005-05-10 15:02:18.000000000 +0200
|
||||
@@ -38,9 +38,10 @@
|
||||
#include <sys/stat.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
+#include <algorithm>
|
||||
+
|
||||
#include "McDirectory.h"
|
||||
#include "McHashTable.h"
|
||||
-#include "McSorter.h"
|
||||
#include "classgraph.h"
|
||||
#include "doc.h"
|
||||
#include "gifs.h"
|
||||
@@ -314,9 +315,11 @@
|
||||
virtual void writeMember(Entry *e, bool links, bool withSub = true);
|
||||
class EntryCompare {
|
||||
public:
|
||||
- int operator()(const MemberWriterListEntry& l1, const MemberWriterListEntry& l2)
|
||||
+ bool operator()(const MemberWriterListEntry& l1, const MemberWriterListEntry& l2)
|
||||
{
|
||||
- return strcmp(l1.entry->fullName.c_str(), l2.entry->fullName.c_str());
|
||||
+ const char *s1 = l1.entry->fullName.c_str();
|
||||
+ const char *s2 = l2.entry->fullName.c_str();
|
||||
+ return strcmp(s1, s2) < 0;
|
||||
}
|
||||
};
|
||||
public:
|
||||
@@ -324,7 +327,7 @@
|
||||
{
|
||||
EntryCompare comp;
|
||||
if(list.size())
|
||||
- ::sort((MemberWriterListEntry *)list, list.size(), comp, 0);
|
||||
+ std::sort((MemberWriterListEntry *)list, (MemberWriterListEntry *)list + list.size(), comp);
|
||||
}
|
||||
virtual void startList(FILE *f, char *heading, bool withLinks);
|
||||
virtual void addMember(Entry *e, bool links, bool withSub = true)
|
||||
@@ -376,7 +379,7 @@
|
||||
int lp;
|
||||
|
||||
if(list.size() > 1)
|
||||
- ::sort((TOCListEntry *)list, list.size(), comp, 0);
|
||||
+ std::sort((TOCListEntry *)list, (TOCListEntry *)list + list.size(), comp);
|
||||
|
||||
// Sort subsections
|
||||
for(lp = 0; lp < list.size(); lp++)
|
||||
@@ -385,9 +388,9 @@
|
||||
}
|
||||
class EntryCompare {
|
||||
public:
|
||||
- int operator()(TOCListEntry& l1, TOCListEntry& l2)
|
||||
+ bool operator()(const TOCListEntry& l1, const TOCListEntry& l2)
|
||||
{
|
||||
- return strcmp(l1.name, l2.name);
|
||||
+ return strcmp(l1.name, l2.name) < 0;
|
||||
}
|
||||
};
|
||||
void addEntry(Entry *entry, TOClist *tl);
|
||||
@@ -487,7 +490,7 @@
|
||||
|
||||
for(i = 0; i < list.size(); i++)
|
||||
if(list[i].tl)
|
||||
- free(list[i].tl);
|
||||
+ delete list[i].tl;
|
||||
}
|
||||
|
||||
class HIERlist;
|
||||
@@ -509,7 +512,7 @@
|
||||
int i;
|
||||
|
||||
if(list.size() > 1)
|
||||
- ::sort((HIERListEntry *)list, list.size(), comp, 0);
|
||||
+ std::sort((HIERListEntry *)list, (HIERListEntry *)list + list.size(), comp);
|
||||
|
||||
// Sort subentries
|
||||
for(i = 0; i < list.size(); i++)
|
||||
@@ -519,9 +522,9 @@
|
||||
class EntryCompare
|
||||
{
|
||||
public:
|
||||
- int operator()(HIERListEntry& l1, HIERListEntry& l2)
|
||||
+ bool operator()(const HIERListEntry& l1, const HIERListEntry& l2)
|
||||
{
|
||||
- return strcmp(l1.name, l2.name);
|
||||
+ return strcmp(l1.name, l2.name) < 0;
|
||||
}
|
||||
};
|
||||
void addEntry(Entry *entry, HIERlist *hl);
|
||||
--- doc++-3.4.10/src/readfiles.ll 2001-11-25 18:04:48.000000000 +0100
|
||||
+++ doc++-3.4.10/src/readfiles.ll 2005-05-10 15:02:18.000000000 +0200
|
||||
@@ -28,7 +28,6 @@
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "McDirectory.h"
|
||||
-#include "McSorter.h"
|
||||
#include "McString.h"
|
||||
#include "doc.h"
|
||||
#include "nametable.h"
|
@ -1,9 +1,23 @@
|
||||
Search path environment variables for cross-compilers. See the discussion
|
||||
at <http://gcc.gnu.org/ml/gcc/2013-02/msg00124.html>.
|
||||
|
||||
--- gcc-4.7.2/gcc/incpath.c 2012-01-27 00:34:58.000000000 +0100
|
||||
+++ gcc-4.7.2/gcc/incpath.c 2013-02-12 10:11:27.000000000 +0100
|
||||
@@ -452,7 +452,7 @@ register_include_chains (cpp_reader *pfi
|
||||
Note: Touch 'C_INCLUDE_PATH' et al. rather than 'CPATH', as discussed
|
||||
at <http://bugs.gnu.org/22186>.
|
||||
|
||||
--- a/gcc/incpath.c
|
||||
+++ b/gcc/incpath.c
|
||||
@@ -461,8 +461,8 @@ register_include_chains (cpp_reader *pfile, const char *sysroot,
|
||||
int stdinc, int cxx_stdinc, int verbose)
|
||||
{
|
||||
static const char *const lang_env_vars[] =
|
||||
- { "C_INCLUDE_PATH", "CPLUS_INCLUDE_PATH",
|
||||
- "OBJC_INCLUDE_PATH", "OBJCPLUS_INCLUDE_PATH" };
|
||||
+ { "CROSS_C_INCLUDE_PATH", "CROSS_CPLUS_INCLUDE_PATH",
|
||||
+ "CROSS_OBJC_INCLUDE_PATH", "CROSS_OBJCPLUS_INCLUDE_PATH" };
|
||||
cpp_options *cpp_opts = cpp_get_options (pfile);
|
||||
size_t idx = (cpp_opts->objc ? 2: 0);
|
||||
|
||||
@@ -473,7 +473,7 @@ register_include_chains (cpp_reader *pfile, const char *sysroot,
|
||||
|
||||
/* CPATH and language-dependent environment variables may add to the
|
||||
include chain. */
|
||||
@ -12,20 +26,22 @@ at <http://gcc.gnu.org/ml/gcc/2013-02/msg00124.html>.
|
||||
add_env_var_paths (lang_env_vars[idx], SYSTEM);
|
||||
|
||||
target_c_incpath.extra_pre_includes (sysroot, iprefix, stdinc);
|
||||
|
||||
--- gcc-4.7.2/gcc/system.h 2012-02-17 00:16:28.000000000 +0100
|
||||
+++ gcc-4.7.2/gcc/system.h 2013-02-12 10:22:17.000000000 +0100
|
||||
@@ -1023,4 +1023,6 @@ helper_const_non_const_cast (const char
|
||||
#define DEBUG_VARIABLE
|
||||
#endif
|
||||
diff --git a/gcc/system.h b/gcc/system.h
|
||||
index 42bc509..af3b9ad 100644
|
||||
--- a/gcc/system.h
|
||||
+++ b/gcc/system.h
|
||||
@@ -1063,4 +1063,6 @@ helper_const_non_const_cast (const char *p)
|
||||
/* Get definitions of HOST_WIDE_INT and HOST_WIDEST_INT. */
|
||||
#include "hwint.h"
|
||||
|
||||
+#define LIBRARY_PATH_ENV "CROSS_LIBRARY_PATH"
|
||||
+
|
||||
#endif /* ! GCC_SYSTEM_H */
|
||||
|
||||
--- gcc-4.7.2/gcc/tlink.c 2012-02-11 09:50:23.000000000 +0100
|
||||
+++ gcc-4.7.2/gcc/tlink.c 2013-05-23 22:06:19.000000000 +0200
|
||||
@@ -461,7 +461,7 @@ recompile_files (void)
|
||||
diff --git a/gcc/tlink.c b/gcc/tlink.c
|
||||
index bc358b8..ad6242f 100644
|
||||
--- a/gcc/tlink.c
|
||||
+++ b/gcc/tlink.c
|
||||
@@ -458,7 +458,7 @@ recompile_files (void)
|
||||
file *f;
|
||||
|
||||
putenv (xstrdup ("COMPILER_PATH="));
|
||||
@ -34,10 +50,11 @@ at <http://gcc.gnu.org/ml/gcc/2013-02/msg00124.html>.
|
||||
|
||||
while ((f = file_pop ()) != NULL)
|
||||
{
|
||||
|
||||
--- gcc-4.7.3/gcc/gcc.c 2013-03-08 08:25:09.000000000 +0100
|
||||
+++ gcc-4.7.3/gcc/gcc.c 2013-05-24 08:58:16.000000000 +0200
|
||||
@@ -3726,7 +3726,7 @@ process_command (unsigned int decoded_op
|
||||
diff --git a/gcc/gcc.c b/gcc/gcc.c
|
||||
index adbf0c4..70448c6 100644
|
||||
--- a/gcc/gcc.c
|
||||
+++ b/gcc/gcc.c
|
||||
@@ -3853,7 +3853,7 @@ process_command (unsigned int decoded_options_count,
|
||||
}
|
||||
|
||||
temp = getenv (LIBRARY_PATH_ENV);
|
||||
|
@ -1,138 +0,0 @@
|
||||
Some GLib tests expect desktop things, such as an xterm, a MIME
|
||||
database, the `update-desktop-database' program, which we don't provide.
|
||||
|
||||
--- glib-2.37.1/gio/tests/appinfo.c 2013-06-07 23:44:44.000000000 +0200
|
||||
+++ glib-2.37.1/gio/tests/appinfo.c 2013-06-07 23:44:56.000000000 +0200
|
||||
@@ -497,16 +497,10 @@ main (int argc, char *argv[])
|
||||
|
||||
g_test_add_func ("/appinfo/basic", test_basic);
|
||||
g_test_add_func ("/appinfo/text", test_text);
|
||||
- g_test_add_func ("/appinfo/launch", test_launch);
|
||||
g_test_add_func ("/appinfo/show-in", test_show_in);
|
||||
g_test_add_func ("/appinfo/commandline", test_commandline);
|
||||
- g_test_add_func ("/appinfo/launch-context", test_launch_context);
|
||||
- g_test_add_func ("/appinfo/launch-context-signals", test_launch_context_signals);
|
||||
g_test_add_func ("/appinfo/tryexec", test_tryexec);
|
||||
- g_test_add_func ("/appinfo/associations", test_associations);
|
||||
g_test_add_func ("/appinfo/environment", test_environment);
|
||||
- g_test_add_func ("/appinfo/startup-wm-class", test_startup_wm_class);
|
||||
- g_test_add_func ("/appinfo/supported-types", test_supported_types);
|
||||
g_test_add_func ("/appinfo/from-keyfile", test_from_keyfile);
|
||||
|
||||
return g_test_run ();
|
||||
|
||||
--- glib-2.40.0/gio/tests/contenttype.c 2013-01-16 21:22:29.000000000 +0100
|
||||
+++ glib-2.40.0/gio/tests/contenttype.c 2013-01-16 21:22:33.000000000 +0100
|
||||
@@ -207,15 +207,6 @@ main (int argc, char *argv[])
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
- g_test_add_func ("/contenttype/guess", test_guess);
|
||||
- g_test_add_func ("/contenttype/unknown", test_unknown);
|
||||
- g_test_add_func ("/contenttype/subtype", test_subtype);
|
||||
- g_test_add_func ("/contenttype/list", test_list);
|
||||
- g_test_add_func ("/contenttype/executable", test_executable);
|
||||
- g_test_add_func ("/contenttype/description", test_description);
|
||||
- g_test_add_func ("/contenttype/icon", test_icon);
|
||||
- g_test_add_func ("/contenttype/symbolic-icon", test_symbolic_icon);
|
||||
- g_test_add_func ("/contenttype/tree", test_tree);
|
||||
|
||||
return g_test_run ();
|
||||
}
|
||||
|
||||
|
||||
--- glib-2.40.0/gio/tests/desktop-app-info.c 2014-03-19 22:50:45.000000000 -0500
|
||||
+++ glib-2.40.0/gio/tests/desktop-app-info.c 2014-06-30 14:27:52.543358331 -0500
|
||||
@@ -708,6 +708,8 @@
|
||||
g_setenv ("XDG_DATA_HOME", basedir, TRUE);
|
||||
cleanup_subdirs (basedir);
|
||||
|
||||
+ result = g_test_run ();
|
||||
+ return result;
|
||||
g_test_add_func ("/desktop-app-info/delete", test_delete);
|
||||
g_test_add_func ("/desktop-app-info/default", test_default);
|
||||
g_test_add_func ("/desktop-app-info/fallback", test_fallback);
|
||||
|
||||
|
||||
-----------------------------
|
||||
The hunk below removes tests that depend on `gdbus-testserver.py',
|
||||
because that script depends on python-gobject. The second hunk
|
||||
disables a test that expects /etc/machine-id in the build environment.
|
||||
|
||||
--- glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:11:00.928809504 +0200
|
||||
+++ glib-2.46.0/gio/tests/Makefile.in 2015-10-14 14:12:13.157291092 +0200
|
||||
@@ -186,20 +186,13 @@ check_PROGRAMS = $(am__EXEEXT_16)
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-auth \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-bz627724 \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-close-pending \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection-loss \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-connection-slow \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-error \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-exit-on-close \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-export \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-introspection \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-names \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy-threads \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-proxy-well-known-name \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-test-codegen-old \
|
||||
-@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gdbus-threading \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gmenumodel \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ gnotification \
|
||||
@HAVE_DBUS_DAEMON_TRUE@@OS_UNIX_TRUE@ $(NULL)
|
||||
@@ -321,8 +314,7 @@ libresourceplugin_la_LINK = $(LIBTOOL) $
|
||||
am__EXEEXT_1 =
|
||||
@OS_UNIX_TRUE@am__EXEEXT_2 = contenttype$(EXEEXT) file$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ gdbus-peer-object-manager$(EXEEXT) \
|
||||
-@OS_UNIX_TRUE@ gdbus-unix-addresses$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ live-g-file$(EXEEXT) socket-address$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ stream-rw_all$(EXEEXT) unix-fd$(EXEEXT) \
|
||||
@OS_UNIX_TRUE@ unix-streams$(EXEEXT) $(am__EXEEXT_1) \
|
||||
|
||||
|
||||
The test below depends on the availability /etc/passwd to dbus-daemon.
|
||||
|
||||
--- glib-2.40.0/gio/tests/gdbus-auth.c 2014-02-03 11:40:41.000000000 -0600
|
||||
+++ glib-2.40.0/gio/tests/gdbus-auth.c 2014-06-30 15:08:43.719421893 -0500
|
||||
@@ -286,6 +286,8 @@
|
||||
{
|
||||
gint ret;
|
||||
|
||||
+ g_test_init (&argc, &argv, NULL);
|
||||
+ return g_test_run();
|
||||
setlocale (LC_ALL, "C");
|
||||
|
||||
temp_dbus_keyrings_setup ();
|
||||
|
||||
|
||||
The test dbus-appinfo is dropped as it hangs indefinitely since 2.37.5, see
|
||||
https://launchpad.net/ubuntu/+source/glib2.0/2.37.5-1ubuntu1
|
||||
|
||||
--- glib-2.40.0/gio/tests/dbus-appinfo.c 2014-02-03 11:40:41.000000000 -0600
|
||||
+++ glib-2.40.0/gio/tests/dbus-appinfo.c 2014-06-30 14:44:08.215383632 -0500
|
||||
@@ -278,7 +278,7 @@
|
||||
{
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
- g_test_add_func ("/appinfo/dbusappinfo", test_dbus_appinfo);
|
||||
+ return g_test_run();
|
||||
|
||||
return session_bus_run ();
|
||||
}
|
||||
|
||||
|
||||
The test below fails for unknown reasons (!).
|
||||
|
||||
--- glib-2.39.1/gio/tests/gsettings.c.orig 2014-01-20 00:45:04.000000000 +0100
|
||||
+++ glib-2.39.1/gio/tests/gsettings.c 2014-01-20 00:45:10.000000000 +0100
|
||||
@@ -2489,7 +2489,6 @@ main (int argc, char *argv[])
|
||||
g_test_add_func ("/gsettings/range/subprocess/high", test_range_high);
|
||||
g_test_add_func ("/gsettings/range/subprocess/low", test_range_low);
|
||||
g_test_add_func ("/gsettings/list-items", test_list_items);
|
||||
- g_test_add_func ("/gsettings/list-schemas", test_list_schemas);
|
||||
g_test_add_func ("/gsettings/mapped", test_get_mapped);
|
||||
g_test_add_func ("/gsettings/get-range", test_get_range);
|
||||
g_test_add_func ("/gsettings/schema-source", test_schema_source);
|
||||
|
@ -1,28 +0,0 @@
|
||||
This test has proven to be unreliable, often leading to things like this
|
||||
in gapplication.log:
|
||||
|
||||
PASS: gapplication 3 /gapplication/properties
|
||||
Failed to register: The connection is closed
|
||||
**
|
||||
GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated)
|
||||
ok 4 /gapplication/app-id
|
||||
PASS: gapplication 4 /gapplication/app-id
|
||||
../../tap-test: line 5: 24133 Aborted $1 -k --tap
|
||||
# GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated)
|
||||
cleaning up pid 24154
|
||||
ERROR: gapplication - missing test plan
|
||||
ERROR: gapplication - exited with status 134 (terminated by signal 6?)
|
||||
|
||||
See <https://bugs.debian.org/756273> and <http://bugs.gnu.org/18445>.
|
||||
|
||||
|
||||
--- glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:44.566667649 +0100
|
||||
+++ glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:45.346674179 +0100
|
||||
@@ -685,7 +685,6 @@ main (int argc, char **argv)
|
||||
/* g_test_add_func ("/gapplication/non-unique", test_nonunique); */
|
||||
g_test_add_func ("/gapplication/properties", properties);
|
||||
g_test_add_func ("/gapplication/app-id", appid);
|
||||
- g_test_add_func ("/gapplication/quit", test_quit);
|
||||
g_test_add_func ("/gapplication/local-actions", test_local_actions);
|
||||
/* g_test_add_func ("/gapplication/remote-actions", test_remote_actions); */
|
||||
g_test_add_func ("/gapplication/local-command-line", test_local_command_line);
|
@ -1,59 +0,0 @@
|
||||
`g_get_home_dir' looks at /etc/passwd first, which fails in chroot builds.
|
||||
The gdbus tests use it to lookup .dbus-keyrings, so they cannot run in our
|
||||
chroot build environment. Thus, disable them.
|
||||
|
||||
--- glib-2.34.3/gio/tests/gdbus-connection-flush.c 2013-01-16 17:29:46.000000000 +0100
|
||||
+++ glib-2.34.3/gio/tests/gdbus-connection-flush.c 2013-01-16 17:29:47.000000000 +0100
|
||||
@@ -373,10 +373,6 @@ main (int argc,
|
||||
g_type_init ();
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
- g_test_add ("/gdbus/connection/flush/busy", Fixture, NULL,
|
||||
- setup, test_flush_busy, teardown);
|
||||
- g_test_add ("/gdbus/connection/flush/idle", Fixture, NULL,
|
||||
- setup, test_flush_idle, teardown);
|
||||
|
||||
ret = g_test_run();
|
||||
|
||||
--- glib-2.38.0.orig/gio/tests/gdbus-peer.c 2013-08-08 12:00:40.000000000 +0200
|
||||
+++ glib-2.38.0/gio/tests/gdbus-peer.c 2013-09-30 19:36:40.000000000 +0200
|
||||
@@ -1746,11 +1746,6 @@
|
||||
|
||||
g_test_add_func ("/gdbus/peer-to-peer", test_peer);
|
||||
g_test_add_func ("/gdbus/delayed-message-processing", delayed_message_processing);
|
||||
- g_test_add_func ("/gdbus/nonce-tcp", test_nonce_tcp);
|
||||
-
|
||||
- g_test_add_func ("/gdbus/tcp-anonymous", test_tcp_anonymous);
|
||||
- g_test_add_func ("/gdbus/credentials", test_credentials);
|
||||
- g_test_add_func ("/gdbus/codegen-peer-to-peer", codegen_test_peer);
|
||||
|
||||
ret = g_test_run();
|
||||
|
||||
--- glib-2.37.1/gio/tests/gdbus-exit-on-close.c 2013-06-07 23:41:34.000000000 +0200
|
||||
+++ glib-2.37.1/gio/tests/gdbus-exit-on-close.c 2013-06-07 23:41:40.000000000 +0200
|
||||
@@ -211,6 +211,7 @@ main (int argc,
|
||||
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
+ return g_test_run();
|
||||
for (i = 0; cases[i].name != NULL; i++)
|
||||
{
|
||||
gchar *name;
|
||||
@@ -224,5 +225,4 @@ main (int argc,
|
||||
g_free (name);
|
||||
}
|
||||
|
||||
- return g_test_run();
|
||||
}
|
||||
|
||||
--- glib-2.34.3/gio/tests/gdbus-non-socket.c 2013-01-16 18:13:25.000000000 +0100
|
||||
+++ glib-2.34.3/gio/tests/gdbus-non-socket.c 2013-01-16 18:13:27.000000000 +0100
|
||||
@@ -294,7 +294,6 @@ main (int argc,
|
||||
g_type_init ();
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
- g_test_add_func ("/gdbus/non-socket", test_non_socket);
|
||||
|
||||
ret = g_test_run();
|
||||
|
||||
|
@ -1,14 +0,0 @@
|
||||
prlimit(2) returns ENOSYS on Linux 2.6.32-5-xen-amd64 as found on
|
||||
hydra.gnu.org, and strace(1) doesn't recognize it.
|
||||
|
||||
--- glib-2.34.3/glib/tests/thread.c 2012-11-20 15:27:12.000000000 +0100
|
||||
+++ glib-2.34.3/glib/tests/thread.c 2013-03-27 14:48:31.000000000 +0100
|
||||
@@ -130,7 +130,7 @@ test_thread3 (void)
|
||||
static void
|
||||
test_thread4 (void)
|
||||
{
|
||||
-#ifdef HAVE_PRLIMIT
|
||||
+#if 0
|
||||
struct rlimit ol, nl;
|
||||
GThread *thread;
|
||||
GError *error;
|
@ -2,9 +2,6 @@
|
||||
fail depending on the elapsed microseconds. Improve rounding by adding a
|
||||
fractional bit.
|
||||
|
||||
* The /timer/stop test fails if compiler optimizations are enabled, which they
|
||||
are by default. Disable that test.
|
||||
|
||||
--- glib-2.40.0/glib/tests/timer.c 2014-03-05 08:05:42.000000000 -0600
|
||||
+++ glib-2.40.0/glib/tests/timer.c 2014-07-10 16:33:12.746862822 -0500
|
||||
@@ -35,7 +35,7 @@
|
||||
@ -16,11 +13,3 @@
|
||||
|
||||
g_timer_destroy (timer);
|
||||
}
|
||||
@@ -204,7 +204,6 @@
|
||||
g_test_init (&argc, &argv, NULL);
|
||||
|
||||
g_test_add_func ("/timer/basic", test_timer_basic);
|
||||
- g_test_add_func ("/timer/stop", test_timer_stop);
|
||||
g_test_add_func ("/timer/continue", test_timer_continue);
|
||||
g_test_add_func ("/timer/reset", test_timer_reset);
|
||||
g_test_add_func ("/timeval/add", test_timeval_add);
|
||||
|
@ -1,142 +0,0 @@
|
||||
Copied from upstream:
|
||||
http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=acac103ba5772ae738ce5409d17feab80596cde6
|
||||
|
||||
Fixes: https://debbugs.gnu.org/22558
|
||||
Upstream bug: https://bugs.gnupg.org/gnupg/issue2229
|
||||
|
||||
From acac103ba5772ae738ce5409d17feab80596cde6 Mon Sep 17 00:00:00 2001
|
||||
From: "Neal H. Walfield" <neal@g10code.com>
|
||||
Date: Fri, 12 Feb 2016 22:12:21 +0100
|
||||
Subject: [PATCH] common: Change simple_query to ignore status messages.
|
||||
|
||||
* common/simple-pwquery.c (simple_query): Ignore status messages.
|
||||
|
||||
--
|
||||
Signed-off-by: Neal H. Walfield <neal@g10code.com>
|
||||
GnuPG-bug-id: 2229
|
||||
---
|
||||
common/simple-pwquery.c | 95 ++++++++++++++++++++++++++++++++++---------------
|
||||
1 file changed, 67 insertions(+), 28 deletions(-)
|
||||
|
||||
diff --git a/common/simple-pwquery.c b/common/simple-pwquery.c
|
||||
index 90d04c0..b2d666c 100644
|
||||
--- a/common/simple-pwquery.c
|
||||
+++ b/common/simple-pwquery.c
|
||||
@@ -618,6 +618,7 @@ simple_query (const char *query)
|
||||
int fd = -1;
|
||||
int nread;
|
||||
char response[500];
|
||||
+ int have = 0;
|
||||
int rc;
|
||||
|
||||
rc = agent_open (&fd);
|
||||
@@ -628,40 +629,78 @@ simple_query (const char *query)
|
||||
if (rc)
|
||||
goto leave;
|
||||
|
||||
- /* get response */
|
||||
- nread = readline (fd, response, 499);
|
||||
- if (nread < 0)
|
||||
- {
|
||||
- rc = -nread;
|
||||
- goto leave;
|
||||
- }
|
||||
- if (nread < 3)
|
||||
+ while (1)
|
||||
{
|
||||
- rc = SPWQ_PROTOCOL_ERROR;
|
||||
- goto leave;
|
||||
- }
|
||||
+ if (! have || ! strchr (response, '\n'))
|
||||
+ /* get response */
|
||||
+ {
|
||||
+ nread = readline (fd, &response[have],
|
||||
+ sizeof (response) - 1 /* NUL */ - have);
|
||||
+ if (nread < 0)
|
||||
+ {
|
||||
+ rc = -nread;
|
||||
+ goto leave;
|
||||
+ }
|
||||
+ have += nread;
|
||||
+ if (have < 3)
|
||||
+ {
|
||||
+ rc = SPWQ_PROTOCOL_ERROR;
|
||||
+ goto leave;
|
||||
+ }
|
||||
+ response[have] = 0;
|
||||
+ }
|
||||
|
||||
- if (response[0] == 'O' && response[1] == 'K')
|
||||
- /* OK, do nothing. */;
|
||||
- else if ((nread > 7 && !memcmp (response, "ERR 111", 7)
|
||||
- && (response[7] == ' ' || response[7] == '\n') )
|
||||
- || ((nread > 4 && !memcmp (response, "ERR ", 4)
|
||||
- && (strtoul (response+4, NULL, 0) & 0xffff) == 99)) )
|
||||
- {
|
||||
- /* 111 is the old Assuan code for canceled which might still
|
||||
- be in use by old installations. 99 is GPG_ERR_CANCELED as
|
||||
- used by modern gpg-agents; 0xffff is used to mask out the
|
||||
- error source. */
|
||||
+ if (response[0] == 'O' && response[1] == 'K')
|
||||
+ /* OK, do nothing. */;
|
||||
+ else if ((nread > 7 && !memcmp (response, "ERR 111", 7)
|
||||
+ && (response[7] == ' ' || response[7] == '\n') )
|
||||
+ || ((nread > 4 && !memcmp (response, "ERR ", 4)
|
||||
+ && (strtoul (response+4, NULL, 0) & 0xffff) == 99)) )
|
||||
+ {
|
||||
+ /* 111 is the old Assuan code for canceled which might still
|
||||
+ be in use by old installations. 99 is GPG_ERR_CANCELED as
|
||||
+ used by modern gpg-agents; 0xffff is used to mask out the
|
||||
+ error source. */
|
||||
#ifdef SPWQ_USE_LOGGING
|
||||
- log_info (_("canceled by user\n") );
|
||||
+ log_info (_("canceled by user\n") );
|
||||
#endif
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
+ }
|
||||
+ else if (response[0] == 'S' && response[1] == ' ')
|
||||
+ {
|
||||
+ char *nextline;
|
||||
+ int consumed;
|
||||
+
|
||||
+ nextline = strchr (response, '\n');
|
||||
+ if (! nextline)
|
||||
+ /* Point to the NUL. */
|
||||
+ nextline = &response[have];
|
||||
+ else
|
||||
+ /* Move past the \n. */
|
||||
+ nextline ++;
|
||||
+
|
||||
+ consumed = (size_t) nextline - (size_t) response;
|
||||
+
|
||||
+ /* Skip any additional newlines. */
|
||||
+ while (consumed < have && response[consumed] == '\n')
|
||||
+ consumed ++;
|
||||
+
|
||||
+ have -= consumed;
|
||||
+
|
||||
+ if (have)
|
||||
+ memmove (response, &response[consumed], have + 1);
|
||||
+
|
||||
+ continue;
|
||||
+ }
|
||||
+ else
|
||||
+ {
|
||||
#ifdef SPWQ_USE_LOGGING
|
||||
- log_error (_("problem with the agent\n"));
|
||||
+ log_error (_("problem with the agent (unexpected response \"%s\"\n"),
|
||||
+ response);
|
||||
#endif
|
||||
- rc = SPWQ_ERR_RESPONSE;
|
||||
+ rc = SPWQ_ERR_RESPONSE;
|
||||
+ }
|
||||
+
|
||||
+ break;
|
||||
}
|
||||
|
||||
leave:
|
||||
--
|
||||
2.6.3
|
||||
|
41
gnu/packages/patches/gtk2-theme-paths.patch
Normal file
41
gnu/packages/patches/gtk2-theme-paths.patch
Normal file
@ -0,0 +1,41 @@
|
||||
From: Jookia <166291@gmail.com>
|
||||
Subject: [PATCHv2] gtk: Patch GTK+ to look for themes in profiles.
|
||||
To: guix-devel@gnu.org
|
||||
Date: Sun, 13 Mar 2016 15:17:37 +1100
|
||||
Url: https://lists.gnu.org/archive/html/guix-devel/2016-03/msg00492.html
|
||||
|
||||
diff -Naur gtk+-2.24.28.new/gtk/gtkrc.c gtk+-2.24.28/gtk/gtkrc.c
|
||||
--- gtk+-2.24.28.new/gtk/gtkrc.c 2016-03-13 10:31:14.413644362 +1100
|
||||
+++ gtk+-2.24.28/gtk/gtkrc.c 2016-03-13 12:51:34.723398423 +1100
|
||||
@@ -808,6 +808,8 @@
|
||||
gchar *path = NULL;
|
||||
const gchar *home_dir;
|
||||
gchar *subpath;
|
||||
+ const gchar * const *xdg_data_dirs;
|
||||
+ gint i;
|
||||
|
||||
if (type)
|
||||
subpath = g_strconcat ("gtk-2.0-", type,
|
||||
@@ -830,6 +832,22 @@
|
||||
}
|
||||
|
||||
if (!path)
|
||||
+ {
|
||||
+ xdg_data_dirs = g_get_system_data_dirs ();
|
||||
+ for (i = 0; xdg_data_dirs[i]; i++)
|
||||
+ {
|
||||
+ path = g_build_filename (xdg_data_dirs[i], "themes", name, subpath, NULL);
|
||||
+ if (g_file_test (path, G_FILE_TEST_EXISTS))
|
||||
+ break;
|
||||
+ else
|
||||
+ {
|
||||
+ g_free (path);
|
||||
+ path = NULL;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ if (!path)
|
||||
{
|
||||
gchar *theme_dir = gtk_rc_get_theme_dir ();
|
||||
path = g_build_filename (theme_dir, name, subpath, NULL);
|
21
gnu/packages/patches/hdf5-config-date.patch
Normal file
21
gnu/packages/patches/hdf5-config-date.patch
Normal file
@ -0,0 +1,21 @@
|
||||
Honor SOURCE_DATE_EPOCH when exporting configuration date.
|
||||
Autoconf-level patch submitted upstream on Wed Apr 13 17:03:23 UTC 2016
|
||||
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -27737,7 +28573,14 @@
|
||||
|
||||
|
||||
## Configuration date
|
||||
- CONFIG_DATE="`date`"
|
||||
+ CONFIG_DATE="`date -u`"
|
||||
+if test -n "$SOURCE_DATE_EPOCH"; then
|
||||
+ CONFIG_DATE=`date -u -d "@$SOURCE_DATE_EPOCH" 2>/dev/null \
|
||||
+ || date -u -r "$SOURCE_DATE_EPOCH" 2>/dev/null`
|
||||
+ if test -z "$CONFIG_DATE"; then
|
||||
+ as_fn_error $? "malformed SOURCE_DATE_EPOCH" "$LINENO" 5
|
||||
+ fi
|
||||
+fi
|
||||
|
||||
## User doing the configuration
|
||||
CONFIG_USER="`whoami`@`hostname`"
|
25
gnu/packages/patches/hypre-doc-tables.patch
Normal file
25
gnu/packages/patches/hypre-doc-tables.patch
Normal file
@ -0,0 +1,25 @@
|
||||
Fixes doc++'s treatment of tabular within a parameter block.
|
||||
|
||||
From commit 883925f8a at http://github.com/LLNL/hypre
|
||||
|
||||
--- hypre-2.10.1/src/parcsr_ls/HYPRE_parcsr_ls.h 2015-12-04 22:12:19.000000000 -0600
|
||||
+++ hypre-2.10.1/src/parcsr_ls/HYPRE_parcsr_ls.h 2016-03-16 09:02:58.547501336 -0500
|
||||
@@ -1154,8 +1154,6 @@
|
||||
* Set the symmetry parameter for the
|
||||
* ParaSails preconditioner.
|
||||
*
|
||||
- * @param solver [IN] Preconditioner object for which to set symmetry parameter.
|
||||
- * @param sym [IN] Value of the symmetry parameter:
|
||||
* \begin{tabular}{|c|l|} \hline
|
||||
* value & meaning \\ \hline
|
||||
* 0 & nonsymmetric and/or indefinite problem, and nonsymmetric preconditioner\\
|
||||
@@ -1163,6 +1161,9 @@
|
||||
* 2 & nonsymmetric, definite problem, and SPD (factored) preconditioner \\
|
||||
* \hline
|
||||
* \end{tabular}
|
||||
+ *
|
||||
+ * @param solver [IN] Preconditioner object for which to set symmetry parameter.
|
||||
+ * @param sym [IN] Value of the symmetry parameter:
|
||||
**/
|
||||
HYPRE_Int HYPRE_ParaSailsSetSym(HYPRE_Solver solver,
|
||||
HYPRE_Int sym);
|
9
gnu/packages/patches/hypre-ldflags.patch
Normal file
9
gnu/packages/patches/hypre-ldflags.patch
Normal file
@ -0,0 +1,9 @@
|
||||
--- hypre-2.10.1/src/lib/Makefile.orig 2016-03-11 16:04:03.740259228 -0600
|
||||
+++ hypre-2.10.1/src/lib/Makefile 2016-03-11 16:04:57.296260190 -0600
|
||||
@@ -107,5 +107,5 @@
|
||||
|
||||
libHYPRE.so: ${FILES_HYPRE}
|
||||
@echo "Building $@ ... "
|
||||
- ${BUILD_CC_SHARED} -o ${SONAME} ${FILES_HYPRE} ${SOLIBS} ${SHARED_SET_SONAME}${SONAME} ${SHARED_OPTIONS}
|
||||
+ ${BUILD_CC_SHARED} ${LDFLAGS} -o ${SONAME} ${FILES_HYPRE} ${SOLIBS} ${SHARED_SET_SONAME}${SONAME} ${SHARED_OPTIONS}
|
||||
ln -s ${SONAME} $@
|
@ -1,75 +0,0 @@
|
||||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/bf34b97757b3
|
||||
|
||||
# HG changeset patch
|
||||
# User Jon Coppeard <jcoppeard@mozilla.com>
|
||||
# Date 1453890675 0
|
||||
# Node ID bf34b97757b334af1f9f53b9b59e0b6902e7ed6f
|
||||
# Parent 228ca3f46cabaf3f388f6c6640690772aa13c1a5
|
||||
Bug 1241731 - Handle incomplete buffer in DiscardTransferables r=sfink a=abillings a=sylvestre
|
||||
|
||||
diff --git a/js/src/jit-test/tests/gc/bug-1241731.js b/js/src/jit-test/tests/gc/bug-1241731.js
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/js/src/jit-test/tests/gc/bug-1241731.js
|
||||
@@ -0,0 +1,4 @@
|
||||
+if (!('oomTest' in this))
|
||||
+ quit();
|
||||
+
|
||||
+oomTest(() => serialize(0, [{}]));
|
||||
diff --git a/js/src/vm/StructuredClone.cpp b/js/src/vm/StructuredClone.cpp
|
||||
--- a/js/src/vm/StructuredClone.cpp
|
||||
+++ b/js/src/vm/StructuredClone.cpp
|
||||
@@ -379,39 +379,50 @@ ReadStructuredClone(JSContext* cx, uint6
|
||||
|
||||
// If the given buffer contains Transferables, free them. Note that custom
|
||||
// Transferables will use the JSStructuredCloneCallbacks::freeTransfer() to
|
||||
// delete their transferables.
|
||||
static void
|
||||
Discard(uint64_t* buffer, size_t nbytes, const JSStructuredCloneCallbacks* cb, void* cbClosure)
|
||||
{
|
||||
MOZ_ASSERT(nbytes % sizeof(uint64_t) == 0);
|
||||
- if (nbytes < sizeof(uint64_t))
|
||||
+ uint64_t* end = buffer + nbytes / sizeof(uint64_t);
|
||||
+ uint64_t* point = buffer;
|
||||
+ if (point == end)
|
||||
return; // Empty buffer
|
||||
|
||||
- uint64_t* point = buffer;
|
||||
uint32_t tag, data;
|
||||
SCInput::getPair(point++, &tag, &data);
|
||||
if (tag != SCTAG_TRANSFER_MAP_HEADER)
|
||||
return;
|
||||
|
||||
if (TransferableMapHeader(data) == SCTAG_TM_TRANSFERRED)
|
||||
return;
|
||||
|
||||
// freeTransfer should not GC
|
||||
JS::AutoSuppressGCAnalysis nogc;
|
||||
|
||||
+ if (point == end)
|
||||
+ return;
|
||||
+
|
||||
uint64_t numTransferables = LittleEndian::readUint64(point++);
|
||||
while (numTransferables--) {
|
||||
+ if (point == end)
|
||||
+ return;
|
||||
+
|
||||
uint32_t ownership;
|
||||
SCInput::getPair(point++, &tag, &ownership);
|
||||
MOZ_ASSERT(tag >= SCTAG_TRANSFER_MAP_PENDING_ENTRY);
|
||||
+ if (point == end)
|
||||
+ return;
|
||||
|
||||
void* content;
|
||||
SCInput::getPtr(point++, &content);
|
||||
+ if (point == end)
|
||||
+ return;
|
||||
|
||||
uint64_t extraData = LittleEndian::readUint64(point++);
|
||||
|
||||
if (ownership < JS::SCTAG_TMO_FIRST_OWNED)
|
||||
continue;
|
||||
|
||||
if (ownership == JS::SCTAG_TMO_ALLOC_DATA) {
|
||||
js_free(content);
|
||||
|
@ -1,35 +0,0 @@
|
||||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/e7c23c08bf84
|
||||
|
||||
# HG changeset patch
|
||||
# User Randell Jesup <rjesup@jesup.org>
|
||||
# Date 1458543433 14400
|
||||
# Node ID e7c23c08bf84a02d9154f31e0c5d121a45884a69
|
||||
# Parent a6de1f453712edabff597879398606708c191098
|
||||
Bug 1254876: assert windows recording is shut down r=pkerr a=ritu
|
||||
|
||||
MozReview-Commit-ID: JRqxBb5TgrE
|
||||
|
||||
diff --git a/media/webrtc/trunk/webrtc/modules/audio_device/win/audio_device_core_win.cc b/media/webrtc/trunk/webrtc/modules/audio_device/win/audio_device_core_win.cc
|
||||
--- a/media/webrtc/trunk/webrtc/modules/audio_device/win/audio_device_core_win.cc
|
||||
+++ b/media/webrtc/trunk/webrtc/modules/audio_device/win/audio_device_core_win.cc
|
||||
@@ -567,16 +567,19 @@ AudioDeviceWindowsCore::AudioDeviceWindo
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
AudioDeviceWindowsCore::~AudioDeviceWindowsCore()
|
||||
{
|
||||
WEBRTC_TRACE(kTraceMemory, kTraceAudioDevice, _id, "%s destroyed", __FUNCTION__);
|
||||
|
||||
Terminate();
|
||||
|
||||
+ // Recording thread should be shut down before this!
|
||||
+ assert(_hRecThread == NULL);
|
||||
+
|
||||
// The IMMDeviceEnumerator is created during construction. Must release
|
||||
// it here and not in Terminate() since we don't recreate it in Init().
|
||||
SAFE_RELEASE(_ptrEnumerator);
|
||||
|
||||
_ptrAudioBuffer = NULL;
|
||||
|
||||
if (NULL != _hRenderSamplesReadyEvent)
|
||||
{
|
||||
|
@ -1,69 +0,0 @@
|
||||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/3d2b62083a6a
|
||||
|
||||
# HG changeset patch
|
||||
# User Shu-yu Guo <shu@rfrn.org>
|
||||
# Date 1459741387 -7200
|
||||
# Node ID 3d2b62083a6a4fb43cb330d77142f9dce0959a23
|
||||
# Parent 9d4364f6b55c6ee65c13c491292c3abe1ee2c993
|
||||
Bug 1254164 - Make aliasedBodyLevelLexicalBegin a uint32. r=Waldo, a=ritu
|
||||
|
||||
diff --git a/js/src/jit-test/tests/parser/bug-1254164.js b/js/src/jit-test/tests/parser/bug-1254164.js
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/js/src/jit-test/tests/parser/bug-1254164.js
|
||||
@@ -0,0 +1,6 @@
|
||||
+// |jit-test| slow;
|
||||
+
|
||||
+var s = '';
|
||||
+for (var i = 0; i < 70000; i++)
|
||||
+ s += 'function x' + i + '() { x' + i + '(); }\n';
|
||||
+eval("(function() { " + s + " })();");
|
||||
diff --git a/js/src/jsscript.cpp b/js/src/jsscript.cpp
|
||||
--- a/js/src/jsscript.cpp
|
||||
+++ b/js/src/jsscript.cpp
|
||||
@@ -111,17 +111,20 @@ Bindings::initWithTemporaryStorage(Exclu
|
||||
// JITs when interpreting/compiling aliasedvar ops.)
|
||||
|
||||
// Since unaliased variables are, by definition, only accessed by local
|
||||
// operations and never through the scope chain, only give shapes to
|
||||
// aliased variables. While the debugger may observe any scope object at
|
||||
// any time, such accesses are mediated by DebugScopeProxy (see
|
||||
// DebugScopeProxy::handleUnaliasedAccess).
|
||||
uint32_t nslots = CallObject::RESERVED_SLOTS;
|
||||
- uint32_t aliasedBodyLevelLexicalBegin = UINT16_MAX;
|
||||
+
|
||||
+ // Unless there are aliased body-level lexical bindings at all, set the
|
||||
+ // begin index to an impossible slot number.
|
||||
+ uint32_t aliasedBodyLevelLexicalBegin = LOCALNO_LIMIT;
|
||||
for (BindingIter bi(self); bi; bi++) {
|
||||
if (bi->aliased()) {
|
||||
// Per ES6, lexical bindings cannot be accessed until
|
||||
// initialized. Remember the first aliased slot that is a
|
||||
// body-level lexical, so that they may be initialized to sentinel
|
||||
// magic values.
|
||||
if (numBodyLevelLexicals > 0 &&
|
||||
nslots < aliasedBodyLevelLexicalBegin &&
|
||||
diff --git a/js/src/jsscript.h b/js/src/jsscript.h
|
||||
--- a/js/src/jsscript.h
|
||||
+++ b/js/src/jsscript.h
|
||||
@@ -201,18 +201,18 @@ class Bindings
|
||||
friend class BindingIter;
|
||||
friend class AliasedFormalIter;
|
||||
|
||||
RelocatablePtrShape callObjShape_;
|
||||
uintptr_t bindingArrayAndFlag_;
|
||||
uint16_t numArgs_;
|
||||
uint16_t numBlockScoped_;
|
||||
uint16_t numBodyLevelLexicals_;
|
||||
- uint16_t aliasedBodyLevelLexicalBegin_;
|
||||
uint16_t numUnaliasedBodyLevelLexicals_;
|
||||
+ uint32_t aliasedBodyLevelLexicalBegin_;
|
||||
uint32_t numVars_;
|
||||
uint32_t numUnaliasedVars_;
|
||||
|
||||
#if JS_BITS_PER_WORD == 32
|
||||
// Bindings is allocated inline inside JSScript, which needs to be
|
||||
// gc::Cell aligned.
|
||||
uint32_t padding_;
|
||||
#endif
|
||||
|
@ -1,33 +0,0 @@
|
||||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/88f1eb2c3f4b
|
||||
|
||||
# HG changeset patch
|
||||
# User Timothy Nikkel <tnikkel@gmail.com>
|
||||
# Date 1457637807 21600
|
||||
# Node ID 88f1eb2c3f4b4b57365ed88223cf8adc2bec4610
|
||||
# Parent bf34b97757b334af1f9f53b9b59e0b6902e7ed6f
|
||||
Bug 1187420. r=drc r=jmuizelaar a=sylvestre
|
||||
|
||||
MozReview-Commit-ID: Hh0Khqfj8Bf
|
||||
|
||||
diff --git a/media/libjpeg/jstdhuff.c b/media/libjpeg/jstdhuff.c
|
||||
--- a/media/libjpeg/jstdhuff.c
|
||||
+++ b/media/libjpeg/jstdhuff.c
|
||||
@@ -36,16 +36,17 @@ add_huff_table (j_common_ptr cinfo,
|
||||
*/
|
||||
nsymbols = 0;
|
||||
for (len = 1; len <= 16; len++)
|
||||
nsymbols += bits[len];
|
||||
if (nsymbols < 1 || nsymbols > 256)
|
||||
ERREXIT(cinfo, JERR_BAD_HUFF_TABLE);
|
||||
|
||||
MEMCOPY((*htblptr)->huffval, val, nsymbols * sizeof(UINT8));
|
||||
+ MEMZERO(&((*htblptr)->huffval[nsymbols]), (256 - nsymbols) * sizeof(UINT8));
|
||||
|
||||
/* Initialize sent_table FALSE so table will be written to JPEG file. */
|
||||
(*htblptr)->sent_table = FALSE;
|
||||
}
|
||||
|
||||
|
||||
LOCAL(void)
|
||||
std_huff_tables (j_common_ptr cinfo)
|
||||
|
@ -1,37 +0,0 @@
|
||||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/5c312182da90
|
||||
|
||||
# HG changeset patch
|
||||
# User Jan de Mooij <jdemooij@mozilla.com>
|
||||
# Date 1458828581 -3600
|
||||
# Node ID 5c312182da9020504103aa329360abaffa7e232d
|
||||
# Parent fa4efccde9b7efde8763a178a6cf422b6d37a0e9
|
||||
Bug 1254622 - Relookup group->newScript in CreateThisForFunctionWithGroup. r=bhackett a=sylvestre
|
||||
|
||||
MozReview-Commit-ID: KXd7kB70f1Z
|
||||
|
||||
diff --git a/js/src/jsobj.cpp b/js/src/jsobj.cpp
|
||||
--- a/js/src/jsobj.cpp
|
||||
+++ b/js/src/jsobj.cpp
|
||||
@@ -1574,18 +1574,19 @@ CreateThisForFunctionWithGroup(JSContext
|
||||
// Not enough objects with this group have been created yet, so make a
|
||||
// plain object and register it with the group. Use the maximum number
|
||||
// of fixed slots, as is also required by the TypeNewScript.
|
||||
gc::AllocKind allocKind = GuessObjectGCKind(NativeObject::MAX_FIXED_SLOTS);
|
||||
PlainObject* res = NewObjectWithGroup<PlainObject>(cx, group, parent, allocKind, newKind);
|
||||
if (!res)
|
||||
return nullptr;
|
||||
|
||||
- if (newKind != SingletonObject)
|
||||
- newScript->registerNewObject(res);
|
||||
+ // Make sure group->newScript is still there.
|
||||
+ if (newKind != SingletonObject && group->newScript())
|
||||
+ group->newScript()->registerNewObject(res);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
gc::AllocKind allocKind = NewObjectGCKind(&PlainObject::class_);
|
||||
|
||||
if (newKind == SingletonObject) {
|
||||
Rooted<TaggedProto> protoRoot(cx, group->proto());
|
||||
|
@ -1,35 +0,0 @@
|
||||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/3fdd280fa099
|
||||
|
||||
# HG changeset patch
|
||||
# User Carsten "Tomcat" Book <cbook@mozilla.com>
|
||||
# Date 1461123938 -7200
|
||||
# Node ID 3fdd280fa099b6453ce9fd9905af883bc2ebce24
|
||||
# Parent 52dfdd37150d62f708dc5bf61dd28f3967596788
|
||||
Bug 1252707 - a=sylvestre
|
||||
|
||||
diff --git a/js/src/vm/Shape.cpp b/js/src/vm/Shape.cpp
|
||||
--- a/js/src/vm/Shape.cpp
|
||||
+++ b/js/src/vm/Shape.cpp
|
||||
@@ -382,18 +382,20 @@ NativeObject::getChildPropertyOnDictiona
|
||||
|
||||
if (obj->inDictionaryMode()) {
|
||||
MOZ_ASSERT(parent == obj->lastProperty());
|
||||
RootedGeneric<StackShape*> childRoot(cx, &child);
|
||||
shape = childRoot->isAccessorShape() ? NewGCAccessorShape(cx) : NewGCShape(cx);
|
||||
if (!shape)
|
||||
return nullptr;
|
||||
if (childRoot->hasSlot() && childRoot->slot() >= obj->lastProperty()->base()->slotSpan()) {
|
||||
- if (!obj->setSlotSpan(cx, childRoot->slot() + 1))
|
||||
+ if (!obj->setSlotSpan(cx, childRoot->slot() + 1)) {
|
||||
+ new (shape) Shape(obj->lastProperty()->base()->unowned(), 0);
|
||||
return nullptr;
|
||||
+ }
|
||||
}
|
||||
shape->initDictionaryShape(*childRoot, obj->numFixedSlots(), &obj->shape_);
|
||||
}
|
||||
|
||||
return shape;
|
||||
}
|
||||
|
||||
/* static */ Shape*
|
||||
|
@ -1,389 +0,0 @@
|
||||
Copied from https://hg.mozilla.org/releases/mozilla-esr38/raw-rev/71f611fd27c7
|
||||
|
||||
# HG changeset patch
|
||||
# User Jeff Walden <jwalden@mit.edu>
|
||||
# Date 1458941573 25200
|
||||
# Node ID 71f611fd27c7d6cb7d6dab9895c2922948042543
|
||||
# Parent 861f6b83ce1deade2a976cabe059776ad51ce370
|
||||
Bug 1246061. r=luke, r=froydnj, a=sylvestre
|
||||
|
||||
diff --git a/js/public/HashTable.h b/js/public/HashTable.h
|
||||
--- a/js/public/HashTable.h
|
||||
+++ b/js/public/HashTable.h
|
||||
@@ -8,16 +8,17 @@
|
||||
#define js_HashTable_h
|
||||
|
||||
#include "mozilla/Alignment.h"
|
||||
#include "mozilla/Assertions.h"
|
||||
#include "mozilla/Attributes.h"
|
||||
#include "mozilla/Casting.h"
|
||||
#include "mozilla/MemoryReporting.h"
|
||||
#include "mozilla/Move.h"
|
||||
+#include "mozilla/Opaque.h"
|
||||
#include "mozilla/PodOperations.h"
|
||||
#include "mozilla/ReentrancyGuard.h"
|
||||
#include "mozilla/TemplateLib.h"
|
||||
#include "mozilla/TypeTraits.h"
|
||||
|
||||
#include "js/Utility.h"
|
||||
|
||||
namespace js {
|
||||
@@ -27,16 +28,18 @@ template <class> struct DefaultHasher;
|
||||
template <class, class> class HashMapEntry;
|
||||
namespace detail {
|
||||
template <class T> class HashTableEntry;
|
||||
template <class T, class HashPolicy, class AllocPolicy> class HashTable;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
+using Generation = mozilla::Opaque<uint64_t>;
|
||||
+
|
||||
// A JS-friendly, STL-like container providing a hash-based map from keys to
|
||||
// values. In particular, HashMap calls constructors and destructors of all
|
||||
// objects added so non-PODs may be used safely.
|
||||
//
|
||||
// Key/Value requirements:
|
||||
// - movable, destructible, assignable
|
||||
// HashPolicy requirements:
|
||||
// - see Hash Policy section below
|
||||
@@ -200,17 +203,19 @@ class HashMap
|
||||
return impl.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return mallocSizeOf(this) + impl.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
|
||||
// If |generation()| is the same before and after a HashMap operation,
|
||||
// pointers into the table remain valid.
|
||||
- uint32_t generation() const { return impl.generation(); }
|
||||
+ Generation generation() const {
|
||||
+ return impl.generation();
|
||||
+ }
|
||||
|
||||
/************************************************** Shorthand operations */
|
||||
|
||||
bool has(const Lookup& l) const {
|
||||
return impl.lookup(l).found();
|
||||
}
|
||||
|
||||
// Overwrite existing value with v. Return false on oom.
|
||||
@@ -431,17 +436,19 @@ class HashSet
|
||||
return impl.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return mallocSizeOf(this) + impl.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
|
||||
// If |generation()| is the same before and after a HashSet operation,
|
||||
// pointers into the table remain valid.
|
||||
- uint32_t generation() const { return impl.generation(); }
|
||||
+ Generation generation() const {
|
||||
+ return impl.generation();
|
||||
+ }
|
||||
|
||||
/************************************************** Shorthand operations */
|
||||
|
||||
bool has(const Lookup& l) const {
|
||||
return impl.lookup(l).found();
|
||||
}
|
||||
|
||||
// Add |u| if it is not present already. Return false on oom.
|
||||
@@ -766,17 +773,17 @@ class HashTable : private AllocPolicy
|
||||
// table operations unless |generation()| is tested.
|
||||
class Ptr
|
||||
{
|
||||
friend class HashTable;
|
||||
|
||||
Entry* entry_;
|
||||
#ifdef JS_DEBUG
|
||||
const HashTable* table_;
|
||||
- uint32_t generation;
|
||||
+ Generation generation;
|
||||
#endif
|
||||
|
||||
protected:
|
||||
Ptr(Entry& entry, const HashTable& tableArg)
|
||||
: entry_(&entry)
|
||||
#ifdef JS_DEBUG
|
||||
, table_(&tableArg)
|
||||
, generation(tableArg.generation())
|
||||
@@ -873,17 +880,17 @@ class HashTable : private AllocPolicy
|
||||
while (cur < end && !cur->isLive())
|
||||
++cur;
|
||||
}
|
||||
|
||||
Entry* cur, *end;
|
||||
#ifdef JS_DEBUG
|
||||
const HashTable* table_;
|
||||
uint64_t mutationCount;
|
||||
- uint32_t generation;
|
||||
+ Generation generation;
|
||||
bool validEntry;
|
||||
#endif
|
||||
|
||||
public:
|
||||
Range()
|
||||
: cur(nullptr)
|
||||
, end(nullptr)
|
||||
#ifdef JS_DEBUG
|
||||
@@ -1012,18 +1019,18 @@ class HashTable : private AllocPolicy
|
||||
// HashTable is not copyable or assignable
|
||||
HashTable(const HashTable&) = delete;
|
||||
void operator=(const HashTable&) = delete;
|
||||
|
||||
private:
|
||||
static const size_t CAP_BITS = 24;
|
||||
|
||||
public:
|
||||
- Entry* table; // entry storage
|
||||
- uint32_t gen; // entry storage generation number
|
||||
+ uint64_t gen; // entry storage generation number
|
||||
+ Entry* table; // entry storage
|
||||
uint32_t entryCount; // number of entries in table
|
||||
uint32_t removedCount:CAP_BITS; // removed entry sentinels in table
|
||||
uint32_t hashShift:8; // multiplicative hash shift
|
||||
|
||||
#ifdef JS_DEBUG
|
||||
uint64_t mutationCount;
|
||||
mutable bool mEntered;
|
||||
mutable struct Stats
|
||||
@@ -1097,18 +1104,18 @@ class HashTable : private AllocPolicy
|
||||
for (Entry* e = oldTable, *end = e + capacity; e < end; ++e)
|
||||
e->destroyIfLive();
|
||||
alloc.free_(oldTable);
|
||||
}
|
||||
|
||||
public:
|
||||
explicit HashTable(AllocPolicy ap)
|
||||
: AllocPolicy(ap)
|
||||
+ , gen(0)
|
||||
, table(nullptr)
|
||||
- , gen(0)
|
||||
, entryCount(0)
|
||||
, removedCount(0)
|
||||
, hashShift(sHashBits)
|
||||
#ifdef JS_DEBUG
|
||||
, mutationCount(0)
|
||||
, mEntered(false)
|
||||
#endif
|
||||
{}
|
||||
@@ -1524,20 +1531,20 @@ class HashTable : private AllocPolicy
|
||||
}
|
||||
|
||||
uint32_t capacity() const
|
||||
{
|
||||
MOZ_ASSERT(table);
|
||||
return JS_BIT(sHashBits - hashShift);
|
||||
}
|
||||
|
||||
- uint32_t generation() const
|
||||
+ Generation generation() const
|
||||
{
|
||||
MOZ_ASSERT(table);
|
||||
- return gen;
|
||||
+ return Generation(gen);
|
||||
}
|
||||
|
||||
size_t sizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf) const
|
||||
{
|
||||
return mallocSizeOf(table);
|
||||
}
|
||||
|
||||
size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const
|
||||
diff --git a/js/src/jsapi.h b/js/src/jsapi.h
|
||||
--- a/js/src/jsapi.h
|
||||
+++ b/js/src/jsapi.h
|
||||
@@ -270,20 +270,16 @@ class AutoHashMapRooter : protected Auto
|
||||
|
||||
size_t sizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return map.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return map.sizeOfIncludingThis(mallocSizeOf);
|
||||
}
|
||||
|
||||
- uint32_t generation() const {
|
||||
- return map.generation();
|
||||
- }
|
||||
-
|
||||
/************************************************** Shorthand operations */
|
||||
|
||||
bool has(const Lookup& l) const {
|
||||
return map.has(l);
|
||||
}
|
||||
|
||||
template<typename KeyInput, typename ValueInput>
|
||||
bool put(const KeyInput& k, const ValueInput& v) {
|
||||
@@ -385,20 +381,16 @@ class AutoHashSetRooter : protected Auto
|
||||
|
||||
size_t sizeOfExcludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return set.sizeOfExcludingThis(mallocSizeOf);
|
||||
}
|
||||
size_t sizeOfIncludingThis(mozilla::MallocSizeOf mallocSizeOf) const {
|
||||
return set.sizeOfIncludingThis(mallocSizeOf);
|
||||
}
|
||||
|
||||
- uint32_t generation() const {
|
||||
- return set.generation();
|
||||
- }
|
||||
-
|
||||
/************************************************** Shorthand operations */
|
||||
|
||||
bool has(const Lookup& l) const {
|
||||
return set.has(l);
|
||||
}
|
||||
|
||||
bool put(const T& t) {
|
||||
return set.put(t);
|
||||
diff --git a/js/src/jscntxt.h b/js/src/jscntxt.h
|
||||
--- a/js/src/jscntxt.h
|
||||
+++ b/js/src/jscntxt.h
|
||||
@@ -30,21 +30,21 @@ class DebugModeOSRVolatileJitFrameIterat
|
||||
}
|
||||
|
||||
typedef HashSet<JSObject*> ObjectSet;
|
||||
typedef HashSet<Shape*> ShapeSet;
|
||||
|
||||
/* Detects cycles when traversing an object graph. */
|
||||
class AutoCycleDetector
|
||||
{
|
||||
+ Generation hashsetGenerationAtInit;
|
||||
JSContext* cx;
|
||||
RootedObject obj;
|
||||
+ ObjectSet::AddPtr hashsetAddPointer;
|
||||
bool cyclic;
|
||||
- uint32_t hashsetGenerationAtInit;
|
||||
- ObjectSet::AddPtr hashsetAddPointer;
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
|
||||
public:
|
||||
AutoCycleDetector(JSContext* cx, HandleObject objArg
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: cx(cx), obj(cx, objArg), cyclic(true)
|
||||
{
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
diff --git a/js/src/jswatchpoint.cpp b/js/src/jswatchpoint.cpp
|
||||
--- a/js/src/jswatchpoint.cpp
|
||||
+++ b/js/src/jswatchpoint.cpp
|
||||
@@ -22,25 +22,25 @@ DefaultHasher<WatchKey>::hash(const Look
|
||||
{
|
||||
return DefaultHasher<JSObject*>::hash(key.object.get()) ^ HashId(key.id.get());
|
||||
}
|
||||
|
||||
namespace {
|
||||
|
||||
class AutoEntryHolder {
|
||||
typedef WatchpointMap::Map Map;
|
||||
+ Generation gen;
|
||||
Map& map;
|
||||
Map::Ptr p;
|
||||
- uint32_t gen;
|
||||
RootedObject obj;
|
||||
RootedId id;
|
||||
|
||||
public:
|
||||
AutoEntryHolder(JSContext* cx, Map& map, Map::Ptr p)
|
||||
- : map(map), p(p), gen(map.generation()), obj(cx, p->key().object), id(cx, p->key().id)
|
||||
+ : gen(map.generation()), map(map), p(p), obj(cx, p->key().object), id(cx, p->key().id)
|
||||
{
|
||||
MOZ_ASSERT(!p->value().held);
|
||||
p->value().held = true;
|
||||
}
|
||||
|
||||
~AutoEntryHolder() {
|
||||
if (gen != map.generation())
|
||||
p = map.lookup(WatchKey(obj, id));
|
||||
diff --git a/js/src/shell/jsheaptools.cpp b/js/src/shell/jsheaptools.cpp
|
||||
--- a/js/src/shell/jsheaptools.cpp
|
||||
+++ b/js/src/shell/jsheaptools.cpp
|
||||
@@ -267,17 +267,17 @@ HeapReverser::traverseEdge(void* cell, J
|
||||
Map::AddPtr a = map.lookupForAdd(cell);
|
||||
if (!a) {
|
||||
/*
|
||||
* We've never visited this cell before. Add it to the map (thus
|
||||
* marking it as visited), and put it on the work stack, to be
|
||||
* visited from the main loop.
|
||||
*/
|
||||
Node n(kind);
|
||||
- uint32_t generation = map.generation();
|
||||
+ Generation generation = map.generation();
|
||||
if (!map.add(a, cell, Move(n)) ||
|
||||
!work.append(Child(cell, kind)))
|
||||
return false;
|
||||
/* If the map has been resized, re-check the pointer. */
|
||||
if (map.generation() != generation)
|
||||
a = map.lookupForAdd(cell);
|
||||
}
|
||||
|
||||
diff --git a/mfbt/Opaque.h b/mfbt/Opaque.h
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/mfbt/Opaque.h
|
||||
@@ -0,0 +1,44 @@
|
||||
+/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
+/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
+
|
||||
+/* An opaque integral type supporting only comparison operators. */
|
||||
+
|
||||
+#ifndef mozilla_Opaque_h
|
||||
+#define mozilla_Opaque_h
|
||||
+
|
||||
+#include "mozilla/TypeTraits.h"
|
||||
+
|
||||
+namespace mozilla {
|
||||
+
|
||||
+/**
|
||||
+ * Opaque<T> is a replacement for integral T in cases where only comparisons
|
||||
+ * must be supported, and it's desirable to prevent accidental dependency on
|
||||
+ * exact values.
|
||||
+ */
|
||||
+template<typename T>
|
||||
+class Opaque final
|
||||
+{
|
||||
+ static_assert(mozilla::IsIntegral<T>::value,
|
||||
+ "mozilla::Opaque only supports integral types");
|
||||
+
|
||||
+ T mValue;
|
||||
+
|
||||
+public:
|
||||
+ Opaque() {}
|
||||
+ explicit Opaque(T aValue) : mValue(aValue) {}
|
||||
+
|
||||
+ bool operator==(const Opaque& aOther) const {
|
||||
+ return mValue == aOther.mValue;
|
||||
+ }
|
||||
+
|
||||
+ bool operator!=(const Opaque& aOther) const {
|
||||
+ return !(*this == aOther);
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
+} // namespace mozilla
|
||||
+
|
||||
+#endif /* mozilla_Opaque_h */
|
||||
diff --git a/mfbt/moz.build b/mfbt/moz.build
|
||||
--- a/mfbt/moz.build
|
||||
+++ b/mfbt/moz.build
|
||||
@@ -48,16 +48,17 @@ EXPORTS.mozilla = [
|
||||
'MathAlgorithms.h',
|
||||
'Maybe.h',
|
||||
'MaybeOneOf.h',
|
||||
'MemoryChecking.h',
|
||||
'MemoryReporting.h',
|
||||
'Move.h',
|
||||
'NullPtr.h',
|
||||
'NumericLimits.h',
|
||||
+ 'Opaque.h',
|
||||
'Pair.h',
|
||||
'PodOperations.h',
|
||||
'Poison.h',
|
||||
'Range.h',
|
||||
'RangedPtr.h',
|
||||
'RefCountType.h',
|
||||
'ReentrancyGuard.h',
|
||||
'RefPtr.h',
|
||||
|
@ -1,35 +0,0 @@
|
||||
|
||||
# HG changeset patch
|
||||
# User Jean-Yves Avenard <jyavenard@mozilla.com>
|
||||
# Date 1460655260 25200
|
||||
# Node ID a13c0bc84d6eb132f4199f563fbe228d2d3b3a51
|
||||
# Parent 88f1eb2c3f4b4b57365ed88223cf8adc2bec4610
|
||||
Bug 1254721: Ensure consistency between Cenc offsets and sizes table. r=gerald a=sylvestre
|
||||
|
||||
MozReview-Commit-ID: E1KbKIIBR87
|
||||
|
||||
diff --git a/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp b/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp
|
||||
--- a/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp
|
||||
+++ b/media/libstagefright/frameworks/av/media/libstagefright/SampleTable.cpp
|
||||
@@ -612,18 +612,18 @@ status_t
|
||||
SampleTable::parseSampleCencInfo() {
|
||||
if ((!mCencDefaultSize && !mCencInfoCount) || mCencOffsets.isEmpty()) {
|
||||
// We don't have all the cenc information we need yet. Quietly fail and
|
||||
// hope we get the data we need later in the track header.
|
||||
ALOGV("Got half of cenc saio/saiz pair. Deferring parse until we get the other half.");
|
||||
return OK;
|
||||
}
|
||||
|
||||
- if (!mCencSizes.isEmpty() && mCencOffsets.size() > 1 &&
|
||||
- mCencSizes.size() != mCencOffsets.size()) {
|
||||
+ if ((mCencOffsets.size() > 1 && mCencOffsets.size() < mCencInfoCount) ||
|
||||
+ (!mCencDefaultSize && mCencSizes.size() < mCencInfoCount)) {
|
||||
return ERROR_MALFORMED;
|
||||
}
|
||||
|
||||
if (mCencInfoCount > kMAX_ALLOCATION / sizeof(SampleCencInfo)) {
|
||||
// Avoid future OOM.
|
||||
return ERROR_MALFORMED;
|
||||
}
|
||||
|
||||
|
@ -1,24 +0,0 @@
|
||||
Re-enable the DHE (Ephemeral Diffie-Hellman) cipher suites, which IceCat
|
||||
38.6.0 disabled by default to avoid the Logjam attack. This issue was
|
||||
fixed in NSS version 3.19.1 by limiting the lower strength of supported
|
||||
DHE keys to use 1023 bit primes, so we can enable these cipher suites
|
||||
safely. The DHE cipher suites are needed to allow IceCat to connect to
|
||||
many sites, including https://gnupg.org/.
|
||||
|
||||
Patch by Mark H Weaver <mhw@netris.org>
|
||||
|
||||
--- icecat-38.6.0/browser/app/profile/icecat.js.orig 1969-12-31 19:00:00.000000000 -0500
|
||||
+++ icecat-38.6.0/browser/app/profile/icecat.js 2016-02-06 00:48:23.826170154 -0500
|
||||
@@ -2061,12 +2061,6 @@
|
||||
pref("security.ssl3.rsa_des_ede3_sha", false);
|
||||
pref("security.ssl3.ecdhe_ecdsa_rc4_128_sha", false);
|
||||
pref("security.ssl3.ecdhe_rsa_rc4_128_sha", false);
|
||||
-// https://directory.fsf.org/wiki/Disable_DHE
|
||||
-// Avoid logjam attack
|
||||
-pref("security.ssl3.dhe_rsa_aes_128_sha", false);
|
||||
-pref("security.ssl3.dhe_rsa_aes_256_sha", false);
|
||||
-pref("security.ssl3.dhe_dss_aes_128_sha", false);
|
||||
-pref("security.ssl3.dhe_rsa_des_ede3_sha", false);
|
||||
//Optional
|
||||
//Perfect forward secrecy
|
||||
// pref("security.ssl3.rsa_aes_256_sha", false);
|
File diff suppressed because it is too large
Load Diff
@ -1,20 +0,0 @@
|
||||
This patch works around a segmentation fault in 'Magick++/tests/color' when
|
||||
running 'Magick++/tests/tests.tap'. Here we get an exception early on, which
|
||||
is supposedly harmless:
|
||||
|
||||
Caught exception: color: UnableToOpenConfigureFile `colors.xml' @ warning/configure.c/GetConfigureOptions/706
|
||||
|
||||
However, when the stack unwinders run, 'UnregisterDOTImage' gets called even
|
||||
though 'RegisterDOTImage' hadn't been called yet; thus, 'graphic_context' in
|
||||
coders/dot.c is NULL, leading to the segfault.
|
||||
|
||||
--- ImageMagick-6.9.2-1/coders/dot.c 2015-09-16 17:32:42.900323334 +0200
|
||||
+++ ImageMagick-6.9.2-1/coders/dot.c 2015-09-16 17:32:48.312367636 +0200
|
||||
@@ -240,6 +240,7 @@ ModuleExport void UnregisterDOTImage(voi
|
||||
(void) UnregisterMagickInfo("GV");
|
||||
(void) UnregisterMagickInfo("DOT");
|
||||
#if defined(MAGICKCORE_GVC_DELEGATE)
|
||||
+ if (graphic_context != NULL)
|
||||
gvFreeContext(graphic_context);
|
||||
#endif
|
||||
}
|
@ -1,52 +0,0 @@
|
||||
Fix CVE-2016-4024 (integer overflow in lib/image.h).
|
||||
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-4024
|
||||
|
||||
Upstream source:
|
||||
https://git.enlightenment.org/legacy/imlib2.git/commit/?id=7eba2e4c8ac0e20838947f10f29d0efe1add8227
|
||||
|
||||
From 7eba2e4c8ac0e20838947f10f29d0efe1add8227 Mon Sep 17 00:00:00 2001
|
||||
From: "Yuriy M. Kaminskiy" <yumkam@gmail.com>
|
||||
Date: Wed, 6 Apr 2016 03:34:01 +0300
|
||||
Subject: Fix integer overflow resulting in insufficient heap allocation
|
||||
|
||||
IMAGE_DIMENSIONS_OK ensures that image width and height are less then
|
||||
46340, so that maximum number of pixels is ~2**31.
|
||||
|
||||
Unfortunately, there are a lot of code that allocates image data with
|
||||
something like
|
||||
|
||||
malloc(w * h * sizeof(DATA32));
|
||||
|
||||
Obviously, on 32-bit machines this results in integer overflow,
|
||||
insufficient heap allocation, with [massive] out-of-bounds heap
|
||||
overwrite.
|
||||
Either X_MAX should be reduced to 32767, or (w)*(h) should be checked to
|
||||
not exceed ULONG_MAX/sizeof(DATA32).
|
||||
|
||||
Security implications:
|
||||
*) for 32-bit machines: insufficient heap allocation and heap overwrite
|
||||
in many image loaders, with escalation potential to remote code
|
||||
execution;
|
||||
*) for 64-bit machines: it seems, no impact.
|
||||
---
|
||||
src/lib/image.h | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/lib/image.h b/src/lib/image.h
|
||||
index e9eb678..5fae6ed 100644
|
||||
--- a/src/lib/image.h
|
||||
+++ b/src/lib/image.h
|
||||
@@ -188,7 +188,8 @@ void __imlib_SaveImage(ImlibImage * im, const char *file,
|
||||
|
||||
/* The maximum pixmap dimension is 65535. */
|
||||
/* However, for now, use 46340 (46340^2 < 2^31) to avoid buffer overflow issues. */
|
||||
-#define X_MAX_DIM 46340
|
||||
+/* Reduced further to 32767, so that (w * h * sizeof(DATA32)) won't exceed ULONG_MAX */
|
||||
+#define X_MAX_DIM 32767
|
||||
|
||||
#define IMAGE_DIMENSIONS_OK(w, h) \
|
||||
( ((w) > 0) && ((h) > 0) && ((w) < X_MAX_DIM) && ((h) < X_MAX_DIM) )
|
||||
--
|
||||
cgit v0.12
|
||||
|
68
gnu/packages/patches/inkscape-drop-wait-for-targets.patch
Normal file
68
gnu/packages/patches/inkscape-drop-wait-for-targets.patch
Normal file
@ -0,0 +1,68 @@
|
||||
Copied from Fedora.
|
||||
|
||||
http://pkgs.fedoraproject.org/cgit/rpms/inkscape.git/plain/inkscape-0.91-drop-wait-for-targets.patch?id=eb5340800b563d6b05aa5f11a2f24f2cc0d8c80e
|
||||
|
||||
=== modified file 'src/ui/clipboard.cpp'
|
||||
--- src/ui/clipboard.cpp 2016-04-02 15:15:43 +0000
|
||||
+++ src/ui/clipboard.cpp 2016-04-07 16:30:32 +0000
|
||||
@@ -146,8 +146,6 @@
|
||||
void _setClipboardColor(guint32);
|
||||
void _userWarn(SPDesktop *, char const *);
|
||||
|
||||
- void _inkscape_wait_for_targets(std::list<Glib::ustring> &);
|
||||
-
|
||||
// private properites
|
||||
SPDocument *_clipboardSPDoc; ///< Document that stores the clipboard until someone requests it
|
||||
Inkscape::XML::Node *_defs; ///< Reference to the clipboard document's defs node
|
||||
@@ -1302,9 +1300,7 @@
|
||||
*/
|
||||
Glib::ustring ClipboardManagerImpl::_getBestTarget()
|
||||
{
|
||||
- // GTKmm's wait_for_targets() is broken, see the comment in _inkscape_wait_for_targets()
|
||||
- std::list<Glib::ustring> targets; // = _clipboard->wait_for_targets();
|
||||
- _inkscape_wait_for_targets(targets);
|
||||
+ std::list<Glib::ustring> targets = _clipboard->wait_for_targets();
|
||||
|
||||
// clipboard target debugging snippet
|
||||
/*
|
||||
@@ -1456,39 +1452,6 @@
|
||||
desktop->messageStack()->flash(Inkscape::WARNING_MESSAGE, msg);
|
||||
}
|
||||
|
||||
-
|
||||
-// GTKMM's clipboard::wait_for_targets is buggy and might return bogus, see
|
||||
-//
|
||||
-// https://bugs.launchpad.net/inkscape/+bug/296778
|
||||
-// http://mail.gnome.org/archives/gtk-devel-list/2009-June/msg00062.html
|
||||
-//
|
||||
-// for details. Until this has been fixed upstream we will use our own implementation
|
||||
-// of this method, as copied from /gtkmm-2.16.0/gtk/gtkmm/clipboard.cc.
|
||||
-void ClipboardManagerImpl::_inkscape_wait_for_targets(std::list<Glib::ustring> &listTargets)
|
||||
-{
|
||||
- //Get a newly-allocated array of atoms:
|
||||
- GdkAtom* targets = NULL;
|
||||
- gint n_targets = 0;
|
||||
- gboolean test = gtk_clipboard_wait_for_targets( gtk_clipboard_get(GDK_SELECTION_CLIPBOARD), &targets, &n_targets );
|
||||
- if (!test || (targets == NULL)) {
|
||||
- return;
|
||||
- }
|
||||
-
|
||||
- //Add the targets to the C++ container:
|
||||
- for (int i = 0; i < n_targets; i++)
|
||||
- {
|
||||
- //Convert the atom to a string:
|
||||
- gchar* const atom_name = gdk_atom_name(targets[i]);
|
||||
-
|
||||
- Glib::ustring target;
|
||||
- if (atom_name) {
|
||||
- target = Glib::ScopedPtr<char>(atom_name).get(); //This frees the gchar*.
|
||||
- }
|
||||
-
|
||||
- listTargets.push_back(target);
|
||||
- }
|
||||
-}
|
||||
-
|
||||
/* #######################################
|
||||
ClipboardManager class
|
||||
####################################### */
|
||||
|
67
gnu/packages/patches/libarchive-CVE-2016-1541.patch
Normal file
67
gnu/packages/patches/libarchive-CVE-2016-1541.patch
Normal file
@ -0,0 +1,67 @@
|
||||
Fix CVE-2016-1541 (buffer overflow zip_read_mac_metadata)
|
||||
|
||||
Taken from upstream source repository:
|
||||
https://github.com/libarchive/libarchive/commit/d0331e8e5b05b475f20b1f3101fe1ad772d7e7e7
|
||||
|
||||
When reading OS X metadata entries in Zip archives that were stored
|
||||
without compression, libarchive would use the uncompressed entry size
|
||||
to allocate a buffer but would use the compressed entry size to limit
|
||||
the amount of data copied into that buffer. Since the compressed
|
||||
and uncompressed sizes are provided by data in the archive itself,
|
||||
an attacker could manipulate these values to write data beyond
|
||||
the end of the allocated buffer.
|
||||
|
||||
This fix provides three new checks to guard against such
|
||||
manipulation and to make libarchive generally more robust when
|
||||
handling this type of entry:
|
||||
1. If an OS X metadata entry is stored without compression,
|
||||
abort the entire archive if the compressed and uncompressed
|
||||
data sizes do not match.
|
||||
2. When sanity-checking the size of an OS X metadata entry,
|
||||
abort this entry if either the compressed or uncompressed
|
||||
size is larger than 4MB.
|
||||
3. When copying data into the allocated buffer, check the copy
|
||||
size against both the compressed entry size and uncompressed
|
||||
entry size.
|
||||
---
|
||||
libarchive/archive_read_support_format_zip.c | 13 +++++++++++++
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/libarchive/archive_read_support_format_zip.c b/libarchive/archive_read_support_format_zip.c
|
||||
index 0f8262c..0a0be96 100644
|
||||
--- a/libarchive/archive_read_support_format_zip.c
|
||||
+++ b/libarchive/archive_read_support_format_zip.c
|
||||
@@ -2778,6 +2778,11 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
|
||||
|
||||
switch(rsrc->compression) {
|
||||
case 0: /* No compression. */
|
||||
+ if (rsrc->uncompressed_size != rsrc->compressed_size) {
|
||||
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
|
||||
+ "Malformed OS X metadata entry: inconsistent size");
|
||||
+ return (ARCHIVE_FATAL);
|
||||
+ }
|
||||
#ifdef HAVE_ZLIB_H
|
||||
case 8: /* Deflate compression. */
|
||||
#endif
|
||||
@@ -2798,6 +2803,12 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
|
||||
(intmax_t)rsrc->uncompressed_size);
|
||||
return (ARCHIVE_WARN);
|
||||
}
|
||||
+ if (rsrc->compressed_size > (4 * 1024 * 1024)) {
|
||||
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
|
||||
+ "Mac metadata is too large: %jd > 4M bytes",
|
||||
+ (intmax_t)rsrc->compressed_size);
|
||||
+ return (ARCHIVE_WARN);
|
||||
+ }
|
||||
|
||||
metadata = malloc((size_t)rsrc->uncompressed_size);
|
||||
if (metadata == NULL) {
|
||||
@@ -2836,6 +2847,8 @@ zip_read_mac_metadata(struct archive_read *a, struct archive_entry *entry,
|
||||
bytes_avail = remaining_bytes;
|
||||
switch(rsrc->compression) {
|
||||
case 0: /* No compression. */
|
||||
+ if ((size_t)bytes_avail > metadata_bytes)
|
||||
+ bytes_avail = metadata_bytes;
|
||||
memcpy(mp, p, bytes_avail);
|
||||
bytes_used = (size_t)bytes_avail;
|
||||
metadata_bytes -= bytes_used;
|
47
gnu/packages/patches/netcdf-config-date.patch
Normal file
47
gnu/packages/patches/netcdf-config-date.patch
Normal file
@ -0,0 +1,47 @@
|
||||
Honor SOURCE_DATE_EPOCH when exporting configuration date.
|
||||
Autoconf-level patch submitted upstream on Fri Apr 15 23:07:42 UTC 2016
|
||||
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -2866,7 +2866,17 @@
|
||||
|
||||
|
||||
# Configuration Date
|
||||
- CONFIG_DATE="`date`"
|
||||
+ CONFIG_DATE="`date -u`"
|
||||
+if test -n "$SOURCE_DATE_EPOCH"; then
|
||||
+ CONFIG_DATE=`date -u -d "@$SOURCE_DATE_EPOCH" 2>/dev/null \
|
||||
+ || date -u -r "$SOURCE_DATE_EPOCH" 2>/dev/null`
|
||||
+ if test -z "$CONFIG_DATE"; then
|
||||
+ as_fn_error $? "malformed SOURCE_DATE_EPOCH" "$LINENO" 5
|
||||
+ fi
|
||||
+fi
|
||||
+cat >>confdefs.h <<_ACEOF
|
||||
+#define CONFIG_DATE "$CONFIG_DATE"
|
||||
+_ACEOF
|
||||
|
||||
# Find out about the host we're building on.
|
||||
ac_aux_dir=
|
||||
--- a/libdispatch/derror.c
|
||||
+++ b/libdispatch/derror.c
|
||||
@@ -13,7 +13,7 @@
|
||||
#endif
|
||||
|
||||
/* Tell the user the version of netCDF. */
|
||||
-static const char nc_libvers[] = PACKAGE_VERSION " of "__DATE__" "__TIME__" $";
|
||||
+static const char nc_libvers[] = PACKAGE_VERSION " of "CONFIG_DATE" $";
|
||||
|
||||
/**
|
||||
\defgroup lib_version Library Version
|
||||
--- a/config.h.in
|
||||
+++ b/config.h.in
|
||||
@@ -393,6 +393,9 @@
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
+/* Define to the configuration date */
|
||||
+#undef CONFIG_DATE
|
||||
+
|
||||
/* The size of `double', as computed by sizeof. */
|
||||
#undef SIZEOF_DOUBLE
|
||||
|
72
gnu/packages/patches/ocaml-CVE-2015-8869.patch
Normal file
72
gnu/packages/patches/ocaml-CVE-2015-8869.patch
Normal file
@ -0,0 +1,72 @@
|
||||
Adapted from upstream commit 659615c7b100a89eafe6253e7a5b9d84d0e8df74,
|
||||
this patch omits the upstream changes to 'Changes' and 'VERSION'.
|
||||
|
||||
http://seclists.org/oss-sec/2016/q2/170
|
||||
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8869
|
||||
https://github.com/ocaml/ocaml/commit/659615c7b100a89eafe6253e7a5b9d84d0e8df74
|
||||
---
|
||||
byterun/alloc.c | 4 ++--
|
||||
byterun/intern.c | 2 +-
|
||||
byterun/str.c | 4 ++--
|
||||
3 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/byterun/alloc.c b/byterun/alloc.c
|
||||
index 96a21bf..0db9947 100644
|
||||
--- a/byterun/alloc.c
|
||||
+++ b/byterun/alloc.c
|
||||
@@ -153,7 +153,7 @@ CAMLexport int caml_convert_flag_list(value list, int *flags)
|
||||
/* [size] is a [value] representing number of words (fields) */
|
||||
CAMLprim value caml_alloc_dummy(value size)
|
||||
{
|
||||
- mlsize_t wosize = Int_val(size);
|
||||
+ mlsize_t wosize = Long_val(size);
|
||||
|
||||
if (wosize == 0) return Atom(0);
|
||||
return caml_alloc (wosize, 0);
|
||||
@@ -169,7 +169,7 @@ CAMLprim value caml_alloc_dummy_function(value size,value arity)
|
||||
/* [size] is a [value] representing number of floats. */
|
||||
CAMLprim value caml_alloc_dummy_float (value size)
|
||||
{
|
||||
- mlsize_t wosize = Int_val(size) * Double_wosize;
|
||||
+ mlsize_t wosize = Long_val(size) * Double_wosize;
|
||||
|
||||
if (wosize == 0) return Atom(0);
|
||||
return caml_alloc (wosize, 0);
|
||||
diff --git a/byterun/intern.c b/byterun/intern.c
|
||||
index 89d13d1..7b8d049 100644
|
||||
--- a/byterun/intern.c
|
||||
+++ b/byterun/intern.c
|
||||
@@ -291,7 +291,7 @@ static void intern_rec(value *dest)
|
||||
case OFreshOID:
|
||||
/* Refresh the object ID */
|
||||
/* but do not do it for predefined exception slots */
|
||||
- if (Int_val(Field((value)dest, 1)) >= 0)
|
||||
+ if (Long_val(Field((value)dest, 1)) >= 0)
|
||||
caml_set_oo_id((value)dest);
|
||||
/* Pop item and iterate */
|
||||
sp--;
|
||||
diff --git a/byterun/str.c b/byterun/str.c
|
||||
index 5ad4e29..885772f 100644
|
||||
--- a/byterun/str.c
|
||||
+++ b/byterun/str.c
|
||||
@@ -266,7 +266,7 @@ CAMLprim value caml_string_greaterequal(value s1, value s2)
|
||||
CAMLprim value caml_blit_string(value s1, value ofs1, value s2, value ofs2,
|
||||
value n)
|
||||
{
|
||||
- memmove(&Byte(s2, Long_val(ofs2)), &Byte(s1, Long_val(ofs1)), Int_val(n));
|
||||
+ memmove(&Byte(s2, Long_val(ofs2)), &Byte(s1, Long_val(ofs1)), Long_val(n));
|
||||
return Val_unit;
|
||||
}
|
||||
|
||||
@@ -278,7 +278,7 @@ CAMLprim value caml_fill_string(value s, value offset, value len, value init)
|
||||
|
||||
CAMLprim value caml_bitvect_test(value bv, value n)
|
||||
{
|
||||
- int pos = Int_val(n);
|
||||
+ intnat pos = Long_val(n);
|
||||
return Val_int(Byte_u(bv, pos >> 3) & (1 << (pos & 7)));
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
@ -1,30 +0,0 @@
|
||||
Fixes CVE-2015-8868 (heap overflow).
|
||||
|
||||
Upstream source:
|
||||
https://cgit.freedesktop.org/poppler/poppler/commit/?id=b3425dd3261679958cd56c0f71995c15d2124433
|
||||
|
||||
From b3425dd3261679958cd56c0f71995c15d2124433 Mon Sep 17 00:00:00 2001
|
||||
From: Albert Astals Cid <aacid@kde.org>
|
||||
Date: Tue, 22 Dec 2015 22:50:33 +0100
|
||||
Subject: Do not crash on invalid files
|
||||
|
||||
Bug #93476
|
||||
|
||||
diff --git a/poppler/Function.cc b/poppler/Function.cc
|
||||
index 67283df..ee5afc1 100644
|
||||
--- a/poppler/Function.cc
|
||||
+++ b/poppler/Function.cc
|
||||
@@ -577,6 +577,10 @@ ExponentialFunction::ExponentialFunction(Object *funcObj, Dict *dict) {
|
||||
goto err2;
|
||||
}
|
||||
n = obj1.arrayGetLength();
|
||||
+ if (unlikely(n > funcMaxOutputs)) {
|
||||
+ error(errSyntaxError, -1, "Function's C0 array is wrong length");
|
||||
+ n = funcMaxOutputs;
|
||||
+ }
|
||||
for (i = 0; i < n; ++i) {
|
||||
obj1.arrayGet(i, &obj2);
|
||||
if (!obj2.isNum()) {
|
||||
--
|
||||
cgit v0.10.2
|
||||
|
325
gnu/packages/patches/portmidi-modular-build.patch
Normal file
325
gnu/packages/patches/portmidi-modular-build.patch
Normal file
@ -0,0 +1,325 @@
|
||||
We took this patch from Gentoo to break apart the portmidi build, so that we
|
||||
can disable the Java parts and cleanly disable the tests which fail to link
|
||||
(possibly because they are linked before “-lportmidi” is available). The
|
||||
patch was downloaded from here:
|
||||
|
||||
https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/portmidi/files/portmidi-217-cmake.patch?id=56bd759df1d0c750a065b8c845e93d5dfa6b549d
|
||||
|
||||
--- portmidi/CMakeLists.txt
|
||||
+++ portmidi/CMakeLists.txt
|
||||
@@ -9,12 +9,11 @@
|
||||
set(CMAKE_BUILD_TYPE Release CACHE STRING
|
||||
"Semicolon-separate list of supported configuration types")
|
||||
# set default directories but don't override cached values...
|
||||
- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE}
|
||||
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
CACHE STRING "libraries go here")
|
||||
- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE}
|
||||
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
CACHE STRING "libraries go here")
|
||||
- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY
|
||||
- ${CMAKE_CACHEFILE_DIR}/${CMAKE_BUILD_TYPE}
|
||||
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||
CACHE STRING "executables go here")
|
||||
|
||||
else(UNIX)
|
||||
@@ -68,10 +67,20 @@
|
||||
include_directories(pm_common porttime)
|
||||
add_subdirectory(pm_common)
|
||||
|
||||
-add_subdirectory(pm_test)
|
||||
+option(PORTMIDI_ENABLE_JAVA "Enable Java bindings support" ON)
|
||||
+option(PORTMIDI_ENABLE_STATIC "Build and install static libraries" OFF)
|
||||
+option(PORTMIDI_ENABLE_TEST "Build test programs" ON)
|
||||
+
|
||||
+if(PORTMIDI_ENABLE_TEST)
|
||||
+ add_subdirectory(pm_test)
|
||||
+endif(PORTMIDI_ENABLE_TEST)
|
||||
|
||||
add_subdirectory(pm_dylib)
|
||||
|
||||
# Cannot figure out how to make an xcode Java application with CMake
|
||||
-add_subdirectory(pm_java)
|
||||
+if(PORTMIDI_ENABLE_JAVA)
|
||||
+ set(JAR_INSTALL_DIR share/java
|
||||
+ CACHE STRING "Define directory name for jar installation")
|
||||
+ add_subdirectory(pm_java)
|
||||
+endif(PORTMIDI_ENABLE_JAVA)
|
||||
|
||||
--- portmidi/pm_common/CMakeLists.txt
|
||||
+++ portmidi/pm_common/CMakeLists.txt
|
||||
@@ -44,9 +44,6 @@
|
||||
|
||||
# first include the appropriate system-dependent file:
|
||||
if(UNIX)
|
||||
- # add the -g switch for Linux and Mac OS X (not used in Win32)
|
||||
- set (CMAKE_C_FLAGS_DEBUG "-g ${CMAKE_C_FLAGS_DEBUG}"
|
||||
- CACHE STRING "enable extra checks for debugging" FORCE)
|
||||
if(APPLE)
|
||||
set(MACSRC pmmacosxcm pmmac readbinaryplist finddefault)
|
||||
prepend_path(LIBSRC ../pm_mac/ ${MACSRC})
|
||||
@@ -62,19 +59,23 @@
|
||||
${COREMIDI_LIB} ${CORESERVICES_LIB}
|
||||
CACHE INTERNAL "")
|
||||
|
||||
- set(JAVAVM_LIB "${FRAMEWORK_PATH}/JavaVM.framework")
|
||||
- set(JAVA_INCLUDE_PATHS ${JAVAVM_LIB}/Headers)
|
||||
+ if(PORTMIDI_ENABLE_JAVA)
|
||||
+ set(JAVAVM_LIB "${FRAMEWORK_PATH}/JavaVM.framework")
|
||||
+ set(JAVA_INCLUDE_PATHS ${JAVAVM_LIB}/Headers)
|
||||
+ endif(PORTMIDI_ENABLE_JAVA)
|
||||
message(STATUS "SYSROOT: " ${CMAKE_OSX_SYSROOT})
|
||||
else(APPLE)
|
||||
# LINUX settings...
|
||||
- include(FindJNI)
|
||||
- message(STATUS "JAVA_JVM_LIB_PATH is " ${JAVA_JVM_LIB_PATH})
|
||||
- message(STATUS "JAVA_INCLUDE_PATH is " ${JAVA_INCLUDE_PATH})
|
||||
- message(STATUS "JAVA_INCLUDE_PATH2 is " ${JAVA_INCLUDE_PATH2})
|
||||
- message(STATUS "JAVA_JVM_LIBRARY is " ${JAVA_JVM_LIBRARY})
|
||||
- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
|
||||
- # libjvm.so is found relative to JAVA_INCLUDE_PATH:
|
||||
- set(JAVAVM_LIB ${JAVA_JVM_LIBRARY}/libjvm.so)
|
||||
+ if(PORTMIDI_ENABLE_JAVA)
|
||||
+ include(FindJNI)
|
||||
+ message(STATUS "JAVA_JVM_LIB_PATH is " ${JAVA_JVM_LIB_PATH})
|
||||
+ message(STATUS "JAVA_INCLUDE_PATH is " ${JAVA_INCLUDE_PATH})
|
||||
+ message(STATUS "JAVA_INCLUDE_PATH2 is " ${JAVA_INCLUDE_PATH2})
|
||||
+ message(STATUS "JAVA_JVM_LIBRARY is " ${JAVA_JVM_LIBRARY})
|
||||
+ set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
|
||||
+ # libjvm.so is found relative to JAVA_INCLUDE_PATH:
|
||||
+ set(JAVAVM_LIB ${JAVA_JVM_LIBRARY}/libjvm.so)
|
||||
+ endif(PORTMIDI_ENABLE_JAVA)
|
||||
|
||||
set(LINUXSRC pmlinuxalsa pmlinux finddefault)
|
||||
prepend_path(LIBSRC ../pm_linux/ ${LINUXSRC})
|
||||
@@ -88,10 +89,12 @@
|
||||
# /MD is multithread DLL, /MT is multithread. Change to static:
|
||||
include(../pm_win/static.cmake)
|
||||
|
||||
- include(FindJNI)
|
||||
+ if(PORTMIDI_ENABLE_JAVA)
|
||||
+ include(FindJNI)
|
||||
|
||||
- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
|
||||
- # message(STATUS "JAVA_INCLUDE_PATHS: " ${JAVA_INCLUDE_PATHS})
|
||||
+ set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
|
||||
+ # message(STATUS "JAVA_INCLUDE_PATHS: " ${JAVA_INCLUDE_PATHS})
|
||||
+ endif(PORTMIDI_ENABLE_JAVA)
|
||||
|
||||
set(WINSRC pmwin pmwinmm)
|
||||
prepend_path(LIBSRC ../pm_win/ ${WINSRC})
|
||||
@@ -99,29 +102,43 @@
|
||||
set(PM_NEEDED_LIBS winmm.lib)
|
||||
endif(WIN32)
|
||||
endif(UNIX)
|
||||
-set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${JAVA_JVM_LIBRARY})
|
||||
+
|
||||
+if(PORTMIDI_ENABLE_JAVA)
|
||||
+ set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${JAVA_JVM_LIBRARY})
|
||||
+endif(PORTMIDI_ENABLE_JAVA)
|
||||
|
||||
# this completes the list of library sources by adding shared code
|
||||
list(APPEND LIBSRC pmutil portmidi)
|
||||
|
||||
# now add the shared files to make the complete list of library sources
|
||||
-add_library(portmidi-static ${LIBSRC})
|
||||
-set_target_properties(portmidi-static PROPERTIES OUTPUT_NAME "portmidi_s")
|
||||
-target_link_libraries(portmidi-static ${PM_NEEDED_LIBS})
|
||||
-
|
||||
-# define the jni library
|
||||
-include_directories(${JAVA_INCLUDE_PATHS})
|
||||
-
|
||||
-set(JNISRC ${LIBSRC} ../pm_java/pmjni/pmjni.c)
|
||||
-add_library(pmjni SHARED ${JNISRC})
|
||||
-target_link_libraries(pmjni ${JNI_EXTRA_LIBS})
|
||||
-set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib")
|
||||
+if(PORTMIDI_ENABLE_STATIC)
|
||||
+ add_library(portmidi-static ${LIBSRC})
|
||||
+ set_target_properties(portmidi-static PROPERTIES OUTPUT_NAME "portmidi")
|
||||
+ target_link_libraries(portmidi-static ${PM_NEEDED_LIBS})
|
||||
+endif(PORTMIDI_ENABLE_STATIC)
|
||||
+
|
||||
+if(PORTMIDI_ENABLE_JAVA)
|
||||
+ # define the jni library
|
||||
+ include_directories(${JAVA_INCLUDE_PATHS})
|
||||
+
|
||||
+ set(JNISRC ${LIBSRC} ../pm_java/pmjni/pmjni.c)
|
||||
+ add_library(pmjni SHARED ${JNISRC})
|
||||
+ target_link_libraries(pmjni ${JNI_EXTRA_LIBS})
|
||||
+ set_target_properties(pmjni PROPERTIES EXECUTABLE_EXTENSION "jnilib")
|
||||
+endif(PORTMIDI_ENABLE_JAVA)
|
||||
|
||||
# install the libraries (Linux and Mac OS X command line)
|
||||
if(UNIX)
|
||||
- INSTALL(TARGETS portmidi-static pmjni
|
||||
- LIBRARY DESTINATION /usr/local/lib
|
||||
- ARCHIVE DESTINATION /usr/local/lib)
|
||||
+ if(PORTMIDI_ENABLE_STATIC)
|
||||
+ INSTALL(TARGETS portmidi-static
|
||||
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
|
||||
+ ARCHIVE DESTINATION lib${LIB_SUFFIX})
|
||||
+ endif(PORTMIDI_ENABLE_STATIC)
|
||||
+ if(PORTMIDI_ENABLE_JAVA)
|
||||
+ INSTALL(TARGETS pmjni
|
||||
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
|
||||
+ ARCHIVE DESTINATION lib${LIB_SUFFIX})
|
||||
+ endif(PORTMIDI_ENABLE_JAVA)
|
||||
# .h files installed by pm_dylib/CMakeLists.txt, so don't need them here
|
||||
# INSTALL(FILES portmidi.h ../porttime/porttime.h
|
||||
# DESTINATION /usr/local/include)
|
||||
--- portmidi/pm_dylib/CMakeLists.txt
|
||||
+++ portmidi/pm_dylib/CMakeLists.txt
|
||||
@@ -39,9 +39,6 @@
|
||||
|
||||
# first include the appropriate system-dependent file:
|
||||
if(UNIX)
|
||||
- # add the -g switch for Linux and Mac OS X (not used in Win32)
|
||||
- set (CMAKE_C_FLAGS_DEBUG "-g ${CMAKE_C_FLAGS_DEBUG}"
|
||||
- CACHE STRING "enable extra checks for debugging" FORCE)
|
||||
if(APPLE)
|
||||
set(MACSRC pmmacosxcm pmmac readbinaryplist finddefault)
|
||||
prepend_path(LIBSRC ../pm_mac/ ${MACSRC})
|
||||
@@ -63,7 +60,8 @@
|
||||
message(STATUS "SYSROOT: " ${CMAKE_OSX_SYSROOT})
|
||||
else(APPLE)
|
||||
# LINUX settings...
|
||||
- include(FindJNI)
|
||||
+ if(PORTMIDI_ENABLE_JAVA)
|
||||
+ include(FindJNI)
|
||||
# message(STATUS "JAVA_JVM_LIB_PATH is " ${JAVA_JVM_LIB_PATH})
|
||||
# message(STATUS "JAVA_INCLUDE_PATH is " ${JAVA_INCLUDE_PATH})
|
||||
# note: should use JAVA_JVM_LIB_PATH, but it is not set properly
|
||||
@@ -75,11 +73,8 @@
|
||||
# JAVA_INCLUDE_PATH2; if no, then we need to make both JAVA_INCLUDE_PATH
|
||||
# and JAVA_INCLUDE_PATH2 set by user (will need clear documentation
|
||||
# because JAVA_INCLUDE_PATH2 is pretty obscure)
|
||||
- set(JAVA_INCLUDE_PATH ${JAVA_INCLUDE_PATH-UNKNOWN}
|
||||
- CACHE STRING "where to find Java SDK include directory")
|
||||
- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH}/linux)
|
||||
- # libjvm.so is found relative to JAVA_INCLUDE_PATH:
|
||||
- set(JAVAVM_LIB ${JAVA_INCLUDE_PATH}/../jre/lib/i386/client/libjvm.so)
|
||||
+ set(JAVAVM_LIB ${JAVA_JVM_LIBRARY})
|
||||
+ endif(PORTMIDI_ENABLE_JAVA)
|
||||
|
||||
set(LINUXSRC pmlinuxalsa pmlinux finddefault)
|
||||
prepend_path(LIBSRC ../pm_linux/ ${LINUXSRC})
|
||||
@@ -91,13 +86,15 @@
|
||||
if(WIN32)
|
||||
# /MDd is multithread debug DLL, /MTd is multithread debug
|
||||
# /MD is multithread DLL, /MT is multithread
|
||||
-
|
||||
- include(FindJNI)
|
||||
- # note: should use JAVA_JVM_LIB_PATH, but it is not set properly
|
||||
- set(JAVAVM_LIB ${JAVA_INCLUDE_PATH}/../lib/jvm.lib)
|
||||
|
||||
- set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
|
||||
- # message(STATUS "JAVA_INCLUDE_PATHS: " ${JAVA_INCLUDE_PATHS})
|
||||
+ if(PORTMIDI_ENABLE_JAVA)
|
||||
+ include(FindJNI)
|
||||
+ # note: should use JAVA_JVM_LIB_PATH, but it is not set properly
|
||||
+ set(JAVAVM_LIB ${JAVA_INCLUDE_PATH}/../lib/jvm.lib)
|
||||
+
|
||||
+ set(JAVA_INCLUDE_PATHS ${JAVA_INCLUDE_PATH} ${JAVA_INCLUDE_PATH2})
|
||||
+ # message(STATUS "JAVA_INCLUDE_PATHS: " ${JAVA_INCLUDE_PATHS})
|
||||
+ endif(PORTMIDI_ENABLE_JAVA)
|
||||
|
||||
set(WINSRC pmwin pmwinmm)
|
||||
prepend_path(LIBSRC ../pm_win/ ${WINSRC})
|
||||
@@ -106,7 +103,10 @@
|
||||
# message(STATUS "JAVAVM_LIB: " ${JAVAVM_LIB})
|
||||
endif(WIN32)
|
||||
endif(UNIX)
|
||||
+
|
||||
+if(PORTMIDI_ENABLE_JAVA)
|
||||
set(JNI_EXTRA_LIBS ${PM_NEEDED_LIBS} ${JAVAVM_LIB})
|
||||
+endif(PORTMIDI_ENABLE_JAVA)
|
||||
|
||||
# this completes the list of library sources by adding shared code
|
||||
set(SHARED_FILES pmutil portmidi)
|
||||
@@ -120,8 +120,8 @@
|
||||
# install the libraries (Linux and Mac OS X command line)
|
||||
if(UNIX)
|
||||
INSTALL(TARGETS portmidi-dynamic
|
||||
- LIBRARY DESTINATION /usr/local/lib
|
||||
- ARCHIVE DESTINATION /usr/local/lib)
|
||||
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
|
||||
+ ARCHIVE DESTINATION lib${LIB_SUFFIX})
|
||||
INSTALL(FILES ../pm_common/portmidi.h ../porttime/porttime.h
|
||||
- DESTINATION /usr/local/include)
|
||||
+ DESTINATION include)
|
||||
endif(UNIX)
|
||||
--- portmidi/pm_java/CMakeLists.txt
|
||||
+++ portmidi/pm_java/CMakeLists.txt
|
||||
@@ -5,43 +5,24 @@
|
||||
# java not dealt with in CMake -- see pm_mac/pm_mac.xcodeproj
|
||||
else(APPLE)
|
||||
# linux
|
||||
- set(JPORTMIDICLASS JPortMidi.class JPortMidiException.class
|
||||
- JPortMidiApi.class)
|
||||
- set(PMDEFAULTSCLASS PmDefaultsFrame.class PmDefaults.class)
|
||||
- prepend_path(JPORTMIDICLASS2 jportmidi/ ${JPORTMIDICLASS})
|
||||
- prepend_path(PMDEFAULTSCLASS2 pmdefaults/ ${PMDEFAULTSCLASS})
|
||||
- set(PMDEFAULTS_ALL_CLASSES ${JPORTMIDICLASS2} ${PMDEFAULTSCLASS2})
|
||||
- # message(STATUS "PMDEFAULTS_ALL_CLASSES is " ${PMDEFAULTS_ALL_CLASSES})
|
||||
- add_custom_command(OUTPUT pmdefaults/PmDefaultsFrame.class
|
||||
- COMMAND javac -classpath . pmdefaults/PmDefaultsFrame.java
|
||||
- MAIN_DEPENDENCY pmdefaults/PmDefaultsFrame.java
|
||||
- DEPENDS pmdefaults/PmDefaults.java
|
||||
- WORKING_DIRECTORY pm_java)
|
||||
- add_custom_command(OUTPUT pmdefaults/PmDefaults.class
|
||||
- COMMAND javac -classpath . pmdefaults/PmDefaults.java
|
||||
- MAIN_DEPENDENCY pmdefaults/PmDefaults.java
|
||||
- DEPENDS pmdefaults/PmDefaultsFrame.java
|
||||
- WORKING_DIRECTORY pm_java)
|
||||
- add_custom_command(OUTPUT ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar
|
||||
- COMMAND cp pmdefaults/portmusic_logo.png .
|
||||
- COMMAND jar cmf pmdefaults/manifest.txt pmdefaults.jar
|
||||
- pmdefaults/*.class portmusic_logo.png jportmidi/*.class
|
||||
- COMMAND chmod +x pmdefaults/pmdefaults
|
||||
- COMMAND cp pmdefaults/pmdefaults ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
- COMMAND mv pmdefaults.jar ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
|
||||
- COMMAND rm portmusic_logo.png
|
||||
- MAIN_DEPENDENCY pmdefaults/PmDefaults.class
|
||||
- DEPENDS ${PMDEFAULTS_ALL_CLASSES}
|
||||
- WORKING_DIRECTORY pm_java)
|
||||
- add_custom_target(pmdefaults_target ALL
|
||||
- DEPENDS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar)
|
||||
- # message(STATUS "add_custom_target: pmdefaults.jar")
|
||||
+ set(JAVA_CLASSES jportmidi pmdefaults)
|
||||
+ add_custom_command(OUTPUT ${JAVA_CLASSES}
|
||||
+ COMMAND javac -d ${CMAKE_CURRENT_BINARY_DIR} jportmidi/*.java pmdefaults/*.java
|
||||
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/pmdefaults.jar
|
||||
+ DEPENDS ${JAVA_CLASSES}
|
||||
+ COMMAND jar cmf pmdefaults/manifest.txt ${CMAKE_CURRENT_BINARY_DIR}/pmdefaults.jar
|
||||
+ -C pmdefaults portmusic_logo.png -C ${CMAKE_CURRENT_BINARY_DIR} jportmidi
|
||||
+ -C ${CMAKE_CURRENT_BINARY_DIR} pmdefaults
|
||||
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
+ add_custom_target(pmdefaults.jar ALL
|
||||
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/pmdefaults.jar)
|
||||
|
||||
# install the libraries (Linux only)
|
||||
- INSTALL(FILES ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults.jar
|
||||
- DESTINATION /usr/share/java)
|
||||
- INSTALL(PROGRAMS ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/pmdefaults
|
||||
- DESTINATION /usr/local/bin)
|
||||
+ INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/pmdefaults.jar
|
||||
+ DESTINATION ${JAR_INSTALL_DIR})
|
||||
+ INSTALL(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/pmdefaults/pmdefaults
|
||||
+ DESTINATION bin)
|
||||
endif(APPLE)
|
||||
endif(UNIX)
|
||||
# In windows, use pm_java/make.bat
|
||||
--- portmidi/pm_test/CMakeLists.txt
|
||||
+++ portmidi/pm_test/CMakeLists.txt
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
macro(make_a_test name)
|
||||
add_executable(${name} ${name}.c)
|
||||
- target_link_libraries(${name} portmidi-static ${PM_NEEDED_LIBS})
|
||||
- add_dependencies(${name} portmidi-static)
|
||||
+ target_link_libraries(${name} portmidi ${PM_NEEDED_LIBS})
|
||||
+ add_dependencies(${name} portmidi)
|
||||
endmacro(make_a_test)
|
||||
|
||||
make_a_test(test)
|
@ -1,48 +0,0 @@
|
||||
From 156a2e4dbffa85997636a7a39ef12da6f1b40254 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Mon, 14 Dec 2015 09:21:23 +0100
|
||||
Subject: [PATCH] ehci: make idt processing more robust
|
||||
|
||||
Make ehci_process_itd return an error in case we didn't do any actual
|
||||
iso transfer because we've found no active transaction. That'll avoid
|
||||
ehci happily run in circles forever if the guest builds a loop out of
|
||||
idts.
|
||||
|
||||
This is CVE-2015-8558.
|
||||
|
||||
Cc: qemu-stable@nongnu.org
|
||||
Reported-by: Qinghao Tang <luodalongde@gmail.com>
|
||||
Tested-by: P J P <ppandit@redhat.com>
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
hw/usb/hcd-ehci.c | 5 +++--
|
||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c
|
||||
index 4e2161b..d07f228 100644
|
||||
--- a/hw/usb/hcd-ehci.c
|
||||
+++ b/hw/usb/hcd-ehci.c
|
||||
@@ -1389,7 +1389,7 @@ static int ehci_process_itd(EHCIState *ehci,
|
||||
{
|
||||
USBDevice *dev;
|
||||
USBEndpoint *ep;
|
||||
- uint32_t i, len, pid, dir, devaddr, endp;
|
||||
+ uint32_t i, len, pid, dir, devaddr, endp, xfers = 0;
|
||||
uint32_t pg, off, ptr1, ptr2, max, mult;
|
||||
|
||||
ehci->periodic_sched_active = PERIODIC_ACTIVE;
|
||||
@@ -1479,9 +1479,10 @@ static int ehci_process_itd(EHCIState *ehci,
|
||||
ehci_raise_irq(ehci, USBSTS_INT);
|
||||
}
|
||||
itd->transact[i] &= ~ITD_XACT_ACTIVE;
|
||||
+ xfers++;
|
||||
}
|
||||
}
|
||||
- return 0;
|
||||
+ return xfers ? 0 : -1;
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.6.3
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user