Merge remote-tracking branch 'origin/master' into staging

master
Efraim Flashner 2019-01-09 10:48:42 +02:00
commit 0e28967250
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
130 changed files with 42537 additions and 3917 deletions

View File

@ -1,5 +1,5 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2015, 2017 Alex Kost <alezost@gmail.com>
# Copyright © 2016, 2018 Mathieu Lirzin <mthl@gnu.org>
@ -172,7 +172,6 @@ MODULES = \
guix/build/union.scm \
guix/build/profiles.scm \
guix/build/compile.scm \
guix/build/pull.scm \
guix/build/rpath.scm \
guix/build/cvs.scm \
guix/build/svn.scm \
@ -281,6 +280,10 @@ dist_noinst_DATA = guix/tests.scm guix/tests/http.scm
# Auxiliary files for packages.
AUX_FILES = \
gnu/packages/aux-files/emacs/guix-emacs.el \
gnu/packages/aux-files/linux-libre/4.20-arm.conf \
gnu/packages/aux-files/linux-libre/4.20-arm64.conf \
gnu/packages/aux-files/linux-libre/4.20-i686.conf \
gnu/packages/aux-files/linux-libre/4.20-x86_64.conf \
gnu/packages/aux-files/linux-libre/4.19-arm.conf \
gnu/packages/aux-files/linux-libre/4.19-arm64.conf \
gnu/packages/aux-files/linux-libre/4.19-i686.conf \

View File

@ -334,12 +334,13 @@ interface (FFI) of Guile.")
(format (current-error-port)
"Computing Guix derivation for '~a'... "
system)
(let loop ((spin spin))
(display (string-append "\b" (car spin))
(current-error-port))
(force-output (current-error-port))
(sleep 1)
(loop (cdr spin))))
(when (isatty? (current-error-port))
(let loop ((spin spin))
(display (string-append "\b" (car spin))
(current-error-port))
(force-output (current-error-port))
(sleep 1)
(loop (cdr spin)))))
(match (command-line)
((_ source system version protocol-version)
@ -420,7 +421,7 @@ files."
(error "build program failed" (list build status)))
((? derivation-path? drv)
(mbegin %store-monad
(return (newline (current-output-port)))
(return (newline (current-error-port)))
((store-lift add-temp-root) drv)
(return (read-derivation-from-file drv))))
("#f"

View File

@ -22,6 +22,8 @@
;;; arguments and outputs an sexp of the jobs on standard output.
(use-modules (guix store)
(guix git-download)
((guix build utils) #:select (with-directory-excursion))
(srfi srfi-19)
(ice-9 match)
(ice-9 pretty-print)
@ -81,11 +83,6 @@ Otherwise return THING."
;; Load FILE, a Scheme file that defines Hydra jobs.
(let ((port (current-output-port))
(real-build-things build-things))
(save-module-excursion
(lambda ()
(set-current-module %user-module)
(primitive-load file)))
(with-store store
;; Make sure we don't resort to substitutes.
(set-build-options store
@ -104,23 +101,37 @@ Otherwise return THING."
"'build-things' arguments: ~s~%" args)
(apply real-build-things store args)))
;; Call the entry point of FILE and print the resulting job sexp.
(pretty-print
(match ((module-ref %user-module
(if (equal? cuirass? "cuirass")
'cuirass-jobs
'hydra-jobs))
store `((guix
. ((file-name . ,%top-srcdir)))))
(((names . thunks) ...)
(map (lambda (job thunk)
(format (current-error-port) "evaluating '~a'... " job)
(force-output (current-error-port))
(cons job
(assert-valid-job job
(call-with-time-display thunk))))
names thunks)))
port))))
;; Add %TOP-SRCDIR to the store with a proper Git predicate so we work
;; from a clean checkout
(let ((source (add-to-store store "guix-source" #t
"sha256" %top-srcdir
#:select? (git-predicate %top-srcdir))))
(with-directory-excursion source
(save-module-excursion
(lambda ()
(set-current-module %user-module)
(format (current-error-port)
"loading '~a' relative to '~a'...~%"
file source)
(primitive-load file))))
;; Call the entry point of FILE and print the resulting job sexp.
(pretty-print
(match ((module-ref %user-module
(if (equal? cuirass? "cuirass")
'cuirass-jobs
'hydra-jobs))
store `((guix
. ((file-name . ,source)))))
(((names . thunks) ...)
(map (lambda (job thunk)
(format (current-error-port) "evaluating '~a'... " job)
(force-output (current-error-port))
(cons job
(assert-valid-job job
(call-with-time-display thunk))))
names thunks)))
port)))))
((command _ ...)
(format (current-error-port) "Usage: ~a FILE [cuirass]
Evaluate the Hydra or Cuirass jobs defined in FILE.~%"

View File

@ -23,64 +23,10 @@
;;; tool.
;;;
(use-modules (system base compile))
(eval-when (expand load eval)
;; Pre-load the compiler so we don't end up auto-compiling it.
(compile #t)
;; Use our very own Guix modules.
(set! %fresh-auto-compile #t)
;; Ignore .go files except for Guile's. This is because our checkout in the
;; store has mtime set to the epoch, and thus .go files look newer, even
;; though they may not correspond. Use 'reverse' so that /gnu/store/…-guile
;; comes before /run/current-system/profile.
(set! %load-compiled-path
(list
(dirname (dirname (search-path (reverse %load-compiled-path)
"ice-9/boot-9.go")))))
(and=> (assoc-ref (current-source-location) 'filename)
(lambda (file)
(let ((dir (canonicalize-path
(string-append (dirname file) "/../.."))))
(format (current-error-port) "prepending ~s to the load path~%"
dir)
(set! %load-path (cons dir %load-path))))))
(use-modules (guix config)
(guix store)
(guix grafts)
(guix profiles)
(guix packages)
(guix derivations)
(guix monads)
(use-modules (guix inferior) (guix channels)
(guix)
(guix ui)
((guix licenses) #:select (gpl3+))
((guix utils) #:select (%current-system))
((guix scripts system) #:select (read-operating-system))
((guix scripts pack)
#:select (lookup-compressor self-contained-tarball))
(gnu bootloader)
(gnu bootloader u-boot)
(gnu packages)
(gnu packages gcc)
(gnu packages base)
(gnu packages gawk)
(gnu packages guile)
(gnu packages gettext)
(gnu packages compression)
(gnu packages multiprecision)
(gnu packages make-bootstrap)
(gnu packages package-management)
(gnu system)
(gnu system vm)
(gnu system install)
(gnu tests)
(srfi srfi-1)
(srfi srfi-26)
(ice-9 match))
;; XXX: Debugging hack: since `hydra-eval-guile-jobs' redirects the output
@ -88,371 +34,45 @@
(setvbuf (current-error-port) _IOLBF)
(set-current-output-port (current-error-port))
(define* (package->alist store package system
#:optional (package-derivation package-derivation))
"Convert PACKAGE to an alist suitable for Hydra."
(parameterize ((%graft? #f))
`((derivation . ,(derivation-file-name
(package-derivation store package system
#:graft? #f)))
(description . ,(package-synopsis package))
(long-description . ,(package-description package))
(license . ,(package-license package))
(home-page . ,(package-home-page package))
(maintainers . ("bug-guix@gnu.org"))
(max-silent-time . ,(or (assoc-ref (package-properties package)
'max-silent-time)
3600)) ;1 hour by default
(timeout . ,(or (assoc-ref (package-properties package) 'timeout)
72000))))) ;20 hours by default
(define (package-job store job-name package system)
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
(let ((job-name (symbol-append job-name (string->symbol ".")
(string->symbol system))))
`(,job-name . ,(cut package->alist store package system))))
(define (package-cross-job store job-name package target system)
"Return a job called TARGET.JOB-NAME that cross-builds PACKAGE for TARGET on
SYSTEM."
`(,(symbol-append (string->symbol target) (string->symbol ".") job-name
(string->symbol ".") (string->symbol system)) .
,(cute package->alist store package system
(lambda* (store package system #:key graft?)
(package-cross-derivation store package target system
#:graft? graft?)))))
(define %core-packages
;; Note: Don't put the '-final' package variants because (1) that's
;; implicit, and (2) they cannot be cross-built (due to the explicit input
;; chain.)
(list gcc-4.8 gcc-4.9 gcc-5 glibc binutils
gmp mpfr mpc coreutils findutils diffutils patch sed grep
gawk gnu-gettext hello guile-2.0 guile-2.2 zlib gzip xz
%bootstrap-binaries-tarball
%binutils-bootstrap-tarball
(%glibc-bootstrap-tarball)
%gcc-bootstrap-tarball
%guile-bootstrap-tarball
%bootstrap-tarballs))
(define %packages-to-cross-build
%core-packages)
(define %cross-targets
'("mips64el-linux-gnu"
"mips64el-linux-gnuabi64"
"arm-linux-gnueabihf"
"aarch64-linux-gnu"
"powerpc-linux-gnu"
"i586-pc-gnu" ;aka. GNU/Hurd
"i686-w64-mingw32"))
(define %guixsd-supported-systems
'("x86_64-linux" "i686-linux" "armhf-linux"))
(define %u-boot-systems
'("armhf-linux"))
(define (qemu-jobs store system)
"Return a list of jobs that build QEMU images for SYSTEM."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(description . "Stand-alone QEMU image of the GNU system")
(long-description . "This is a demo stand-alone QEMU image of the GNU
system.")
(license . ,gpl3+)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
(define (->job name drv)
(let ((name (symbol-append name (string->symbol ".")
(string->symbol system))))
`(,name . ,(lambda ()
(parameterize ((%graft? #f))
(->alist drv))))))
(define MiB
(expt 2 20))
(if (member system %guixsd-supported-systems)
(if (member system %u-boot-systems)
(list (->job 'flash-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(system-disk-image
(operating-system (inherit installation-os)
(bootloader (bootloader-configuration
(bootloader u-boot-bootloader)
(target #f))))
#:disk-image-size
(* 1500 MiB))))))
(list (->job 'usb-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(system-disk-image installation-os
#:disk-image-size
(* 1500 MiB)))))
(->job 'iso9660-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(system-disk-image installation-os
#:file-system-type
"iso9660"))))))
'()))
(define (system-test-jobs store system)
"Return a list of jobs for the system tests."
(define (test->thunk test)
(lambda ()
(define drv
(run-with-store store
(mbegin %store-monad
(set-current-system system)
(set-grafting #f)
(set-guile-for-build (default-guile))
(system-test-value test))))
`((derivation . ,(derivation-file-name drv))
(description . ,(format #f "GuixSD '~a' system test"
(system-test-name test)))
(long-description . ,(system-test-description test))
(license . ,gpl3+)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org")))))
(define (->job test)
(let ((name (string->symbol
(string-append "test." (system-test-name test)
"." system))))
(cons name (test->thunk test))))
(if (member system %guixsd-supported-systems)
(map ->job (all-system-tests))
'()))
(define (tarball-jobs store system)
"Return Hydra jobs to build the self-contained Guix binary tarball."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(description . "Stand-alone binary Guix tarball")
(long-description . "This is a tarball containing binaries of Guix and
all its dependencies, and ready to be installed on non-GuixSD distributions.")
(license . ,gpl3+)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
(define (->job name drv)
(let ((name (symbol-append name (string->symbol ".")
(string->symbol system))))
`(,name . ,(lambda ()
(parameterize ((%graft? #f))
(->alist drv))))))
;; XXX: Add a job for the stable Guix?
(list (->job 'binary-tarball
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(>>= (profile-derivation (packages->manifest (list guix)))
(lambda (profile)
(self-contained-tarball "guix-binary" profile
#:localstatedir? #t
#:compressor
(lookup-compressor "xz")))))
#:system system))))
(define job-name
;; Return the name of a package's job.
(compose string->symbol
(cut package-full-name <> "-")))
(define package->job
(let ((base-packages
(delete-duplicates
(append-map (match-lambda
((_ package _ ...)
(match (package-transitive-inputs package)
(((_ inputs _ ...) ...)
inputs))))
(%final-inputs)))))
(lambda (store package system)
"Return a job for PACKAGE on SYSTEM, or #f if this combination is not
valid."
(cond ((member package base-packages)
(package-job store (symbol-append 'base. (job-name package))
package system))
((supported-package? package system)
(let ((drv (package-derivation store package system
#:graft? #f)))
(and (substitutable-derivation? drv)
(package-job store (job-name package)
package system))))
(else
#f)))))
(define (all-packages)
"Return the list of packages to build."
(define (adjust package result)
(cond ((package-replacement package)
(cons* package ;build both
(package-replacement package)
result))
((package-superseded package)
result) ;don't build it
(else
(cons package result))))
(fold-packages adjust
(fold adjust '() ;include base packages
(match (%final-inputs)
(((labels packages _ ...) ...)
packages)))
#:select? (const #t))) ;include hidden packages
(define (arguments->manifests arguments)
"Return the list of manifests extracted from ARGUMENTS."
(map (match-lambda
((input-name . relative-path)
(let* ((checkout (assq-ref arguments (string->symbol input-name)))
(base (assq-ref checkout 'file-name)))
(in-vicinity base relative-path))))
(assq-ref arguments 'manifests)))
(define (manifests->packages store manifests)
"Return the list of packages found in MANIFESTS."
(define (load-manifest manifest)
(save-module-excursion
(lambda ()
(set-current-module (make-user-module '((guix profiles) (gnu))))
(primitive-load manifest))))
(delete-duplicates!
(map manifest-entry-item
(append-map (compose manifest-entries
load-manifest)
manifests))))
;;;
;;; Hydra entry point.
;;;
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define subset
(match (assoc-ref arguments 'subset)
("core" 'core) ; only build core packages
("hello" 'hello) ; only build hello
(((? string?) (? string?) ...) 'list) ; only build selected list of packages
("manifests" 'manifests) ; only build packages in the list of manifests
(_ 'all))) ; build everything
"Return a list of jobs where each job is a NAME/THUNK pair."
(define checkout
;; Extract metadata about the 'guix' checkout. Its key in ARGUMENTS may
;; vary, so pick up the first one that's neither 'subset' nor 'systems'.
(any (match-lambda
((key . value)
(and (not (memq key '(systems subset)))
value)))
arguments))
(define systems
(match (assoc-ref arguments 'systems)
(#f %hydra-supported-systems)
((lst ...) lst)
((? string? str) (call-with-input-string str read))))
(define commit
(assq-ref checkout 'revision))
(define (cross-jobs system)
(define (from-32-to-64? target)
;; Return true if SYSTEM is 32-bit and TARGET is 64-bit. This hack
;; prevents known-to-fail cross-builds from i686-linux or armhf-linux to
;; mips64el-linux-gnuabi64.
(and (or (string-prefix? "i686-" system)
(string-prefix? "i586-" system)
(string-prefix? "armhf-" system))
(string-contains target "64"))) ;x86_64, mips64el, aarch64, etc.
(define source
(assq-ref checkout 'file-name))
(define (same? target)
;; Return true if SYSTEM and TARGET are the same thing. This is so we
;; don't try to cross-compile to 'mips64el-linux-gnu' from
;; 'mips64el-linux'.
(or (string-contains target system)
(and (string-prefix? "armhf" system) ;armhf-linux
(string-prefix? "arm" target)))) ;arm-linux-gnueabihf
(define instance
(checkout->channel-instance source #:commit commit))
(define (pointless? target)
;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM.
(match system
((or "x86_64-linux" "i686-linux")
(if (string-contains target "mingw")
(not (string=? "x86_64-linux" system))
#f))
(_
;; Don't try to cross-compile from non-Intel platforms: this isn't
;; very useful and these are often brittle configurations.
#t)))
(define derivation
;; Compute the derivation of Guix for COMMIT.
(run-with-store store
(channel-instances->derivation (list instance))))
(define (either proc1 proc2 proc3)
(lambda (x)
(or (proc1 x) (proc2 x) (proc3 x))))
(show-what-to-build store (list derivation))
(build-derivations store (list derivation))
(append-map (lambda (target)
(map (lambda (package)
(package-cross-job store (job-name package)
package target system))
%packages-to-cross-build))
(remove (either from-32-to-64? same? pointless?)
%cross-targets)))
;; Open an inferior for the just-built Guix.
(let ((inferior (open-inferior (derivation->output-path derivation))))
(inferior-eval '(use-modules (gnu ci) (ice-9 match)) inferior)
;; Turn off grafts. Grafting is meant to happen on the user's machines.
(parameterize ((%graft? #f))
;; Return one job for each package, except bootstrap packages.
(append-map (lambda (system)
(format (current-error-port)
"evaluating for '~a' (heap size: ~a MiB)...~%"
system
(round
(/ (assoc-ref (gc-stats) 'heap-size)
(expt 2. 20))))
(invalidate-derivation-caches!)
(case subset
((all)
;; Build everything, including replacements.
(let ((all (all-packages))
(job (lambda (package)
(package->job store package
system))))
(append (filter-map job all)
(qemu-jobs store system)
(system-test-jobs store system)
(tarball-jobs store system)
(cross-jobs system))))
((core)
;; Build core packages only.
(append (map (lambda (package)
(package-job store (job-name package)
package system))
%core-packages)
(cross-jobs system)))
((hello)
;; Build hello package only.
(if (string=? system (%current-system))
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello) hello system)))
'()))
((list)
;; Build selected list of packages only.
(if (string=? system (%current-system))
(let* ((names (assoc-ref arguments 'subset))
(packages (map specification->package names)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages))
'()))
((manifests)
;; Build packages in the list of manifests.
(let* ((manifests (arguments->manifests arguments))
(packages (manifests->packages store manifests)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages)))
(else
(error "unknown subset" subset))))
systems)))
(map (match-lambda
((name . fields)
;; Hydra expects a thunk, so here it is.
(cons name (lambda () fields))))
(inferior-eval-with-store inferior store
`(lambda (store)
(map (match-lambda
((name . thunk)
(cons name (thunk))))
(hydra-jobs store ',arguments)))))))

View File

@ -25,7 +25,7 @@ Copyright @copyright{} 2015, 2016 Mathieu Lirzin@*
Copyright @copyright{} 2014 Pierre-Antoine Rault@*
Copyright @copyright{} 2015 Taylan Ulrich Bayırlı/Kammer@*
Copyright @copyright{} 2015, 2016, 2017 Leo Famulari@*
Copyright @copyright{} 2015, 2016, 2017, 2018 Ricardo Wurmus@*
Copyright @copyright{} 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus@*
Copyright @copyright{} 2016 Ben Woodcroft@*
Copyright @copyright{} 2016, 2017, 2018 Chris Marusich@*
Copyright @copyright{} 2016, 2017, 2018 Efraim Flashner@*
@ -394,29 +394,34 @@ garbage collection of packages (@pxref{Features}).
@chapter Installation
@cindex installing Guix
@cindex official website
GNU Guix is available for download from its website at
@url{http://www.gnu.org/software/guix/}. This section describes the
software requirements of Guix, as well as how to install it and get
ready to use it.
Note that this section is concerned with the installation of the package
manager, which can be done on top of a running GNU/Linux system. If,
instead, you want to install the complete GNU operating system,
@pxref{System Installation}.
@quotation Note
We recommend the use of this
@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
shell installer script} to install Guix on top of a running GNU/Linux system,
thereafter called a @dfn{foreign distro}.@footnote{This section is concerned
with the installation of the package manager, which can be done on top of a
running GNU/Linux system. If, instead, you want to install the complete GNU
operating system, @pxref{System Installation}.} The script automates the
download, installation, and initial configuration of Guix. It should be run
as the root user.
@end quotation
@cindex foreign distro
@cindex directories related to foreign distro
When installed on a running GNU/Linux system---thereafter called a
@dfn{foreign distro}---GNU@tie{}Guix complements the available tools
without interference. Its data lives exclusively in two directories,
usually @file{/gnu/store} and @file{/var/guix}; other files on your
system, such as @file{/etc}, are left untouched.
When installed on a foreign distro, GNU@tie{}Guix complements the available
tools without interference. Its data lives exclusively in two directories,
usually @file{/gnu/store} and @file{/var/guix}; other files on your system,
such as @file{/etc}, are left untouched.
Once installed, Guix can be updated by running @command{guix pull}
(@pxref{Invoking guix pull}).
If you prefer to perform the installation steps manually or want to tweak
them, you may find the following subsections useful. They describe the
software requirements of Guix, as well as how to install it manually and get
ready to use it.
@menu
* Binary Installation:: Getting Guix running in no time!
* Requirements:: Software needed to build and run Guix.
@ -437,11 +442,6 @@ dependencies. This is often quicker than installing from source, which
is described in the next sections. The only requirement is to have
GNU@tie{}tar and Xz.
We provide a
@uref{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh,
shell installer script}, which automates the download, installation, and
initial configuration of Guix. It should be run as the root user.
Installing goes along these lines:
@enumerate
@ -638,6 +638,10 @@ build procedure for Guix is the same as for other GNU software, and is
not covered here. Please see the files @file{README} and @file{INSTALL}
in the Guix source tree for additional details.
@cindex official website
GNU Guix is available for download from its website at
@url{https://www.gnu.org/software/guix/}.
GNU Guix depends on the following packages:
@itemize

444
gnu/ci.scm Normal file
View File

@ -0,0 +1,444 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.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 ci)
#:use-module (guix config)
#:use-module (guix store)
#:use-module (guix grafts)
#:use-module (guix profiles)
#:use-module (guix packages)
#:use-module (guix derivations)
#:use-module (guix monads)
#:use-module (guix ui)
#:use-module ((guix licenses)
#:select (gpl3+ license? license-name))
#:use-module ((guix utils) #:select (%current-system))
#:use-module ((guix scripts system) #:select (read-operating-system))
#:use-module ((guix scripts pack)
#:select (lookup-compressor self-contained-tarball))
#:use-module (gnu bootloader)
#:use-module (gnu bootloader u-boot)
#:use-module (gnu packages)
#:use-module (gnu packages gcc)
#:use-module (gnu packages base)
#:use-module (gnu packages gawk)
#:use-module (gnu packages guile)
#:use-module (gnu packages gettext)
#:use-module (gnu packages compression)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages make-bootstrap)
#:use-module (gnu packages package-management)
#:use-module (gnu system)
#:use-module (gnu system vm)
#:use-module (gnu system install)
#:use-module (gnu tests)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:use-module (ice-9 match)
#:export (hydra-jobs))
;;; Commentary:
;;;
;;; This file defines build jobs for the Hydra and Cuirass continuation
;;; integration tools.
;;;
;;; Code:
(define* (package->alist store package system
#:optional (package-derivation package-derivation))
"Convert PACKAGE to an alist suitable for Hydra."
(parameterize ((%graft? #f))
`((derivation . ,(derivation-file-name
(package-derivation store package system
#:graft? #f)))
(description . ,(package-synopsis package))
(long-description . ,(package-description package))
;; XXX: Hydra ignores licenses that are not a <license> structure or a
;; list thereof.
(license . ,(let loop ((license (package-license package)))
(match license
((? license?)
(license-name license))
((lst ...)
(map loop license)))))
(home-page . ,(package-home-page package))
(maintainers . ("bug-guix@gnu.org"))
(max-silent-time . ,(or (assoc-ref (package-properties package)
'max-silent-time)
3600)) ;1 hour by default
(timeout . ,(or (assoc-ref (package-properties package) 'timeout)
72000))))) ;20 hours by default
(define (package-job store job-name package system)
"Return a job called JOB-NAME that builds PACKAGE on SYSTEM."
(let ((job-name (symbol-append job-name (string->symbol ".")
(string->symbol system))))
`(,job-name . ,(cut package->alist store package system))))
(define (package-cross-job store job-name package target system)
"Return a job called TARGET.JOB-NAME that cross-builds PACKAGE for TARGET on
SYSTEM."
`(,(symbol-append (string->symbol target) (string->symbol ".") job-name
(string->symbol ".") (string->symbol system)) .
,(cute package->alist store package system
(lambda* (store package system #:key graft?)
(package-cross-derivation store package target system
#:graft? graft?)))))
(define %core-packages
;; Note: Don't put the '-final' package variants because (1) that's
;; implicit, and (2) they cannot be cross-built (due to the explicit input
;; chain.)
(list gcc-4.8 gcc-4.9 gcc-5 glibc binutils
gmp mpfr mpc coreutils findutils diffutils patch sed grep
gawk gnu-gettext hello guile-2.0 guile-2.2 zlib gzip xz
%bootstrap-binaries-tarball
%binutils-bootstrap-tarball
(%glibc-bootstrap-tarball)
%gcc-bootstrap-tarball
%guile-bootstrap-tarball
%bootstrap-tarballs))
(define %packages-to-cross-build
%core-packages)
(define %cross-targets
'("mips64el-linux-gnu"
"mips64el-linux-gnuabi64"
"arm-linux-gnueabihf"
"aarch64-linux-gnu"
"powerpc-linux-gnu"
"i586-pc-gnu" ;aka. GNU/Hurd
"i686-w64-mingw32"))
(define %guixsd-supported-systems
'("x86_64-linux" "i686-linux" "armhf-linux"))
(define %u-boot-systems
'("armhf-linux"))
(define (qemu-jobs store system)
"Return a list of jobs that build QEMU images for SYSTEM."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(description . "Stand-alone QEMU image of the GNU system")
(long-description . "This is a demo stand-alone QEMU image of the GNU
system.")
(license . ,(license-name gpl3+))
(max-silent-time . 600)
(timeout . 3600)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
(define (->job name drv)
(let ((name (symbol-append name (string->symbol ".")
(string->symbol system))))
`(,name . ,(lambda ()
(parameterize ((%graft? #f))
(->alist drv))))))
(define MiB
(expt 2 20))
(if (member system %guixsd-supported-systems)
(if (member system %u-boot-systems)
(list (->job 'flash-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(system-disk-image
(operating-system (inherit installation-os)
(bootloader (bootloader-configuration
(bootloader u-boot-bootloader)
(target #f))))
#:disk-image-size
(* 1500 MiB))))))
(list (->job 'usb-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(system-disk-image installation-os
#:disk-image-size
(* 1500 MiB)))))
(->job 'iso9660-image
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(system-disk-image installation-os
#:file-system-type
"iso9660"))))))
'()))
(define (system-test-jobs store system)
"Return a list of jobs for the system tests."
(define (test->thunk test)
(lambda ()
(define drv
(run-with-store store
(mbegin %store-monad
(set-current-system system)
(set-grafting #f)
(set-guile-for-build (default-guile))
(system-test-value test))))
`((derivation . ,(derivation-file-name drv))
(description . ,(format #f "GuixSD '~a' system test"
(system-test-name test)))
(long-description . ,(system-test-description test))
(license . ,(license-name gpl3+))
(max-silent-time . 600)
(timeout . 3600)
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org")))))
(define (->job test)
(let ((name (string->symbol
(string-append "test." (system-test-name test)
"." system))))
(cons name (test->thunk test))))
(if (member system %guixsd-supported-systems)
(map ->job (all-system-tests))
'()))
(define (tarball-jobs store system)
"Return Hydra jobs to build the self-contained Guix binary tarball."
(define (->alist drv)
`((derivation . ,(derivation-file-name drv))
(description . "Stand-alone binary Guix tarball")
(long-description . "This is a tarball containing binaries of Guix and
all its dependencies, and ready to be installed on non-GuixSD distributions.")
(license . ,(license-name gpl3+))
(home-page . ,%guix-home-page-url)
(maintainers . ("bug-guix@gnu.org"))))
(define (->job name drv)
(let ((name (symbol-append name (string->symbol ".")
(string->symbol system))))
`(,name . ,(lambda ()
(parameterize ((%graft? #f))
(->alist drv))))))
;; XXX: Add a job for the stable Guix?
(list (->job 'binary-tarball
(run-with-store store
(mbegin %store-monad
(set-guile-for-build (default-guile))
(>>= (profile-derivation (packages->manifest (list guix)))
(lambda (profile)
(self-contained-tarball "guix-binary" profile
#:localstatedir? #t
#:compressor
(lookup-compressor "xz")))))
#:system system))))
(define job-name
;; Return the name of a package's job.
(compose string->symbol
(cut package-full-name <> "-")))
(define package->job
(let ((base-packages
(delete-duplicates
(append-map (match-lambda
((_ package _ ...)
(match (package-transitive-inputs package)
(((_ inputs _ ...) ...)
inputs))))
(%final-inputs)))))
(lambda (store package system)
"Return a job for PACKAGE on SYSTEM, or #f if this combination is not
valid."
(cond ((member package base-packages)
(package-job store (symbol-append 'base. (job-name package))
package system))
((supported-package? package system)
(let ((drv (package-derivation store package system
#:graft? #f)))
(and (substitutable-derivation? drv)
(package-job store (job-name package)
package system))))
(else
#f)))))
(define (all-packages)
"Return the list of packages to build."
(define (adjust package result)
(cond ((package-replacement package)
(cons* package ;build both
(package-replacement package)
result))
((package-superseded package)
result) ;don't build it
(else
(cons package result))))
(fold-packages adjust
(fold adjust '() ;include base packages
(match (%final-inputs)
(((labels packages _ ...) ...)
packages)))
#:select? (const #t))) ;include hidden packages
(define (arguments->manifests arguments)
"Return the list of manifests extracted from ARGUMENTS."
(map (match-lambda
((input-name . relative-path)
(let* ((checkout (assq-ref arguments (string->symbol input-name)))
(base (assq-ref checkout 'file-name)))
(in-vicinity base relative-path))))
(assq-ref arguments 'manifests)))
(define (manifests->packages store manifests)
"Return the list of packages found in MANIFESTS."
(define (load-manifest manifest)
(save-module-excursion
(lambda ()
(set-current-module (make-user-module '((guix profiles) (gnu))))
(primitive-load manifest))))
(delete-duplicates!
(map manifest-entry-item
(append-map (compose manifest-entries
load-manifest)
manifests))))
;;;
;;; Hydra entry point.
;;;
(define (hydra-jobs store arguments)
"Return Hydra jobs."
(define subset
(match (assoc-ref arguments 'subset)
("core" 'core) ; only build core packages
("hello" 'hello) ; only build hello
(((? string?) (? string?) ...) 'list) ; only build selected list of packages
("manifests" 'manifests) ; only build packages in the list of manifests
(_ 'all))) ; build everything
(define systems
(match (assoc-ref arguments 'systems)
(#f %hydra-supported-systems)
((lst ...) lst)
((? string? str) (call-with-input-string str read))))
(define (cross-jobs system)
(define (from-32-to-64? target)
;; Return true if SYSTEM is 32-bit and TARGET is 64-bit. This hack
;; prevents known-to-fail cross-builds from i686-linux or armhf-linux to
;; mips64el-linux-gnuabi64.
(and (or (string-prefix? "i686-" system)
(string-prefix? "i586-" system)
(string-prefix? "armhf-" system))
(string-contains target "64"))) ;x86_64, mips64el, aarch64, etc.
(define (same? target)
;; Return true if SYSTEM and TARGET are the same thing. This is so we
;; don't try to cross-compile to 'mips64el-linux-gnu' from
;; 'mips64el-linux'.
(or (string-contains target system)
(and (string-prefix? "armhf" system) ;armhf-linux
(string-prefix? "arm" target)))) ;arm-linux-gnueabihf
(define (pointless? target)
;; Return #t if it makes no sense to cross-build to TARGET from SYSTEM.
(match system
((or "x86_64-linux" "i686-linux")
(if (string-contains target "mingw")
(not (string=? "x86_64-linux" system))
#f))
(_
;; Don't try to cross-compile from non-Intel platforms: this isn't
;; very useful and these are often brittle configurations.
#t)))
(define (either proc1 proc2 proc3)
(lambda (x)
(or (proc1 x) (proc2 x) (proc3 x))))
(append-map (lambda (target)
(map (lambda (package)
(package-cross-job store (job-name package)
package target system))
%packages-to-cross-build))
(remove (either from-32-to-64? same? pointless?)
%cross-targets)))
;; Turn off grafts. Grafting is meant to happen on the user's machines.
(parameterize ((%graft? #f))
;; Return one job for each package, except bootstrap packages.
(append-map (lambda (system)
(format (current-error-port)
"evaluating for '~a' (heap size: ~a MiB)...~%"
system
(round
(/ (assoc-ref (gc-stats) 'heap-size)
(expt 2. 20))))
(invalidate-derivation-caches!)
(case subset
((all)
;; Build everything, including replacements.
(let ((all (all-packages))
(job (lambda (package)
(package->job store package
system))))
(append (filter-map job all)
(qemu-jobs store system)
(system-test-jobs store system)
(tarball-jobs store system)
(cross-jobs system))))
((core)
;; Build core packages only.
(append (map (lambda (package)
(package-job store (job-name package)
package system))
%core-packages)
(cross-jobs system)))
((hello)
;; Build hello package only.
(if (string=? system (%current-system))
(let ((hello (specification->package "hello")))
(list (package-job store (job-name hello) hello system)))
'()))
((list)
;; Build selected list of packages only.
(if (string=? system (%current-system))
(let* ((names (assoc-ref arguments 'subset))
(packages (map specification->package names)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages))
'()))
((manifests)
;; Build packages in the list of manifests.
(let* ((manifests (arguments->manifests arguments))
(packages (manifests->packages store manifests)))
(map (lambda (package)
(package-job store (job-name package)
package system))
packages)))
(else
(error "unknown subset" subset))))
systems)))

View File

@ -9,7 +9,7 @@
# Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
# Copyright © 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
# Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
# Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2016, 2017, 2018, 2019 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2016, 2017 Jan Nieuwenhuizen <janneke@gnu.org>
# Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
@ -244,6 +244,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/javascript.scm \
%D%/packages/jemalloc.scm \
%D%/packages/jrnl.scm \
%D%/packages/jose.scm \
%D%/packages/julia.scm \
%D%/packages/kde.scm \
%D%/packages/kde-frameworks.scm \
@ -551,7 +552,9 @@ GNU_SYSTEM_MODULES = \
%D%/tests/ssh.scm \
%D%/tests/version-control.scm \
%D%/tests/virtualization.scm \
%D%/tests/web.scm
%D%/tests/web.scm \
\
%D%/ci.scm
# Modules that do not need to be compiled.
MODULES_NOT_COMPILED += \
@ -603,6 +606,7 @@ dist_patch_DATA = \
%D%/packages/patches/bazaar-CVE-2017-14176.patch \
%D%/packages/patches/beets-python-3.7-fix.patch \
%D%/packages/patches/beignet-correct-file-names.patch \
%D%/packages/patches/biber-fix-encoding-write.patch \
%D%/packages/patches/binutils-loongson-workaround.patch \
%D%/packages/patches/blast+-fix-makefile.patch \
%D%/packages/patches/blender-newer-ffmpeg.patch \
@ -852,7 +856,11 @@ dist_patch_DATA = \
%D%/packages/patches/kiki-makefile.patch \
%D%/packages/patches/kiki-missing-includes.patch \
%D%/packages/patches/kiki-portability-64bit.patch \
%D%/packages/patches/kinit-kdeinit-extra_libs.patch \
%D%/packages/patches/kinit-kdeinit-libpath.patch \
%D%/packages/patches/kio-search-smbd-on-PATH.patch \
%D%/packages/patches/kmod-module-directory.patch \
%D%/packages/patches/kpackage-allow-external-paths.patch \
%D%/packages/patches/kobodeluxe-paths.patch \
%D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \
%D%/packages/patches/kobodeluxe-const-charp-conversion.patch \
@ -870,6 +878,9 @@ dist_patch_DATA = \
%D%/packages/patches/liba52-use-mtune-not-mcpu.patch \
%D%/packages/patches/libarchive-CVE-2017-14166.patch \
%D%/packages/patches/libarchive-CVE-2017-14502.patch \
%D%/packages/patches/libarchive-CVE-2018-1000877.patch \
%D%/packages/patches/libarchive-CVE-2018-1000878.patch \
%D%/packages/patches/libarchive-CVE-2018-1000880.patch \
%D%/packages/patches/libbase-fix-includes.patch \
%D%/packages/patches/libbase-use-own-logging.patch \
%D%/packages/patches/libbonobo-activation-test-race.patch \
@ -886,6 +897,8 @@ dist_patch_DATA = \
%D%/packages/patches/libevent-2.1-skip-failing-test.patch \
%D%/packages/patches/libexif-CVE-2016-6328.patch \
%D%/packages/patches/libexif-CVE-2017-7544.patch \
%D%/packages/patches/libextractor-CVE-2018-20430.patch \
%D%/packages/patches/libextractor-CVE-2018-20431.patch \
%D%/packages/patches/libgcrypt-make-yat2m-reproducible.patch \
%D%/packages/patches/libgit2-mtime-0.patch \
%D%/packages/patches/libgit2-oom-test.patch \
@ -1162,8 +1175,9 @@ dist_patch_DATA = \
%D%/packages/patches/soundconverter-remove-gconf-dependency.patch \
%D%/packages/patches/soundtouch-CVE-2018-14044-14045.patch \
%D%/packages/patches/soundtouch-CVE-2018-1000223.patch \
%D%/packages/patches/sssd-curl-compat.patch \
%D%/packages/patches/sssd-curl-compat.patch \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/streamlink-update-test.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/swig-guile-gc.patch \
%D%/packages/patches/swish-e-search.patch \
@ -1206,7 +1220,6 @@ dist_patch_DATA = \
%D%/packages/patches/u-boot-pinebook-dts.patch \
%D%/packages/patches/u-boot-pinebook-syscon-node.patch \
%D%/packages/patches/u-boot-pinebook-video-bridge.patch \
%D%/packages/patches/unrtf-CVE-2016-10091.patch \
%D%/packages/patches/unzip-CVE-2014-8139.patch \
%D%/packages/patches/unzip-CVE-2014-8140.patch \
%D%/packages/patches/unzip-CVE-2014-8141.patch \
@ -1226,8 +1239,11 @@ dist_patch_DATA = \
%D%/packages/patches/upx-fix-CVE-2017-15056.patch \
%D%/packages/patches/valgrind-enable-arm.patch \
%D%/packages/patches/valgrind-glibc-compat.patch \
%D%/packages/patches/vinagre-revert-1.patch \
%D%/packages/patches/vinagre-revert-2.patch \
%D%/packages/patches/vboot-utils-fix-format-load-address.patch \
%D%/packages/patches/vboot-utils-fix-tests-show-contents.patch \
%D%/packages/patches/vboot-utils-skip-test-workbuf.patch \
%D%/packages/patches/vinagre-newer-freerdp.patch \
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \

View File

@ -243,7 +243,7 @@ precision.")
(define-public giac-xcas
(package
(name "giac-xcas")
(version "1.5.0-19")
(version "1.5.0-29")
(source (origin
(method url-fetch)
;; "~parisse/giac" is not used because the maintainer regularly
@ -255,7 +255,7 @@ precision.")
"source/giac_" version ".tar.gz"))
(sha256
(base32
"0ds1zh712sr20qh0fih8jnm4nlv90andllp8n263qs7rlhblz551"))))
"1d904w02x6i26crbvw2d25v7j1hv1w461casyj5mgh42kzcdhb4c"))))
(build-system gnu-build-system)
(outputs '("out" "doc")) ;77MiB of documentation
(arguments

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
@ -248,7 +248,7 @@ dictionaries, including personal ones.")
(string-downcase language))))
(package
(name (string-append "hunspell-dict-" nick))
(version "2017.08.24")
(version "2018.04.16")
(source (origin
(method url-fetch)
(uri (string-append
@ -256,7 +256,7 @@ dictionaries, including personal ones.")
version ".tar.gz"))
(sha256
(base32
"1kdhydzg5z5x20ad2j1x5hbdhvy08ljkfdi2v3gbyvghbagxm15s"))))
"11lkrnhwrf5mvrrq45k4mads3n9aswgac8dc25ba61c75alxb5rs"))))
(native-inputs
`(("tar" ,tar)
("gzip" ,gzip)
@ -276,7 +276,7 @@ dictionaries, including personal ones.")
(mkdir "speller/hunspell")
;; XXX: This actually builds all the dictionary variants.
(zero? (system* "make" "-C" "speller" "hunspell"))))
(invoke "make" "-C" "speller" "hunspell")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))

View File

@ -4,6 +4,7 @@
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,7 +31,9 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages python)
#:use-module (gnu packages xml))
#:use-module (gnu packages xml)
#:use-module ((guix utils)
#:select (%current-system)))
(define-public nasm
(package
@ -122,3 +125,46 @@ abstracts over the target CPU by exposing a standardized RISC instruction set
to the clients.")
(home-page "https://www.gnu.org/software/lightning/")
(license license:gpl3+)))
(define-public fasm
(package
(name "fasm")
(version "1.73.06")
(source
(origin
(method url-fetch)
(uri (string-append "https://flatassembler.net/fasm-"
version ".tgz"))
(sha256
(base32
"02wqkqxpn3p0iwcagsm92qd9cdfcnbx8a09qg03b3pjppp30hmp6"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;;no tests
#:strip-binaries? #f ;; fasm has no sections
#:phases
(modify-phases %standard-phases
(delete 'configure) ;;no configure script used
(replace 'build
(lambda _
;;source code are in this directory
(chdir "source/Linux/")
(if (string=? ,(%current-system) "x86_64-linux")
;;use pre-compiled binaries in top-level directory to build
;;itself
(invoke "../../fasm.x64" "fasm.asm")
(invoke "../../fasm" "fasm.asm"))))
(replace 'install
(lambda _
(let ((out (assoc-ref %outputs "out")))
(install-file "fasm" (string-append out "/bin")))
#t)))))
;;support only intel x86 family processors
(supported-systems '("x86_64-linux" "i686-linux"))
(synopsis "Assembler for x86 processors")
(description
"FASM is a assembler that supports x86, and IA-64 Intel architectures.
It does multiple passes to optimize machine code.It have macro abilities and
focus on operating system portability.")
(home-page "https://flatassembler.net/")
(license license:bsd-2)))

View File

@ -1,6 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -102,15 +103,15 @@ header.")
(define-public gnuastro
(package
(name "gnuastro")
(version "0.7")
(version "0.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnu/gnuastro/gnuastro-"
version ".tar.gz"))
version ".tar.lz"))
(sha256
(base32
"1h4hpj5dd1nz8hx0dkf43as0hl1grcaijg0k3zcd5djg7wgna46y"))))
"0gx6iar3z07k9sdvpa6kchsz6fpk94xn5vcvbcigssl2dwqmlnkb"))))
(inputs
`(("cfitsio" ,cfitsio)
("gsl" ,gsl)
@ -118,6 +119,8 @@ header.")
("libtiff" ,libtiff)
("wcslib" ,wcslib)
("zlib" ,zlib)))
(native-inputs
`(("lzip" ,lzip)))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/gnuastro/")
(synopsis "Astronomy utilities")

View File

@ -6,7 +6,7 @@
;;; Copyright © 2015, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;;
@ -205,7 +205,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(define-public autoconf-archive
(package
(name "autoconf-archive")
(version "2018.03.13")
(version "2019.01.06")
(source
(origin
(method url-fetch)
@ -213,7 +213,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
version ".tar.xz"))
(sha256
(base32
"0ng1lvpijf3kv7w7nb1shqs23vp0398yicyvkf9lsk56kw6zjxb1"))))
"0gqya7nf4j5k98dkky0c3bnr0paciya91vkqazg7knlq621mq68p"))))
(build-system gnu-build-system)
(home-page "https://www.gnu.org/software/autoconf-archive/")
(synopsis "Collection of freely reusable Autoconf macros")

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -12,6 +12,7 @@
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -194,11 +195,12 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(define-public libarchive
(package
(name "libarchive")
(replacement libarchive-3.3.3)
(version "3.3.2")
(source
(origin
(method url-fetch)
(uri (string-append "http://libarchive.org/downloads/libarchive-"
(uri (string-append "https://libarchive.org/downloads/libarchive-"
version ".tar.gz"))
(patches (search-patches "libarchive-CVE-2017-14166.patch"
"libarchive-CVE-2017-14502.patch"))
@ -258,7 +260,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
;; libarchive/test/test_write_format_gnutar_filenames.c needs to be
;; compiled with C99 or C11 or a gnu variant.
#:configure-flags '("CFLAGS=-O2 -g -std=c99")))
(home-page "http://libarchive.org/")
(home-page "https://libarchive.org/")
(synopsis "Multi-format archive and compression library")
(description
"Libarchive provides a flexible interface for reading and writing
@ -270,6 +272,22 @@ 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-public libarchive-3.3.3
(package
(inherit libarchive)
(version "3.3.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://libarchive.org/downloads/libarchive-"
version ".tar.gz"))
(patches (search-patches "libarchive-CVE-2018-1000877.patch"
"libarchive-CVE-2018-1000878.patch"
"libarchive-CVE-2018-1000880.patch"))
(sha256
(base32
"0bhfncid058p7n1n8v29l6wxm3mhdqfassscihbsxfwz3iwb2zms"))))))
(define-public rdup
(package
(name "rdup")

View File

@ -23,7 +23,6 @@
#:use-module (guix git-download)
#:use-module (guix packages)
#:use-module (guix build-system ant)
#:use-module (guix build utils)
#:use-module (gnu packages)
#:use-module (gnu packages compression)
#:use-module (gnu packages java)

View File

@ -1,10 +1,10 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -13285,6 +13285,41 @@ descriptive settings file. The result is a set of comprehensive, interactive
HTML reports with interesting findings about your samples.")
(license license:gpl3+)))
(define-public mantis
(let ((commit "4ffd171632c2cb0056a86d709dfd2bf21bc69b84")
(revision "1"))
(package
(name "mantis")
(version (git-version "0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/splatlab/mantis.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0iqbr0dhmlc8mzpirmm2s4pkzkwdgrcx50yx6cv3wlr2qi064p55"))))
(build-system cmake-build-system)
(arguments '(#:tests? #f)) ; there are none
(inputs
`(("sdsl-lite" ,sdsl-lite)
("openssl" ,openssl)
("zlib" ,zlib)))
(home-page "https://github.com/splatlab/mantis")
(synopsis "Large-scale sequence-search index data structure")
(description "Mantis is a space-efficient data structure that can be
used to index thousands of raw-read genomics experiments and facilitate
large-scale sequence searches on those experiments. Mantis uses counting
quotient filters instead of Bloom filters, enabling rapid index builds and
queries, small indexes, and exact results, i.e., no false positives or
negatives. Furthermore, Mantis is also a colored de Bruijn graph
representation, so it supports fast graph traversal and other topological
analyses in addition to large-scale sequence-level searches.")
;; uses __uint128_t and inline assembly
(supported-systems '("x86_64-linux"))
(license license:bsd-3))))
(define-public r-diversitree
(package
(name "r-diversitree")

View File

@ -3,7 +3,7 @@
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
@ -32,7 +32,6 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)

View File

@ -673,10 +673,25 @@ board-independent tools.")))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0h0m3l69vp9dr6xrs1p6y7ilkq3jq8jraw2z20kqfv7lvc9l1lxj"))))
"0h0m3l69vp9dr6xrs1p6y7ilkq3jq8jraw2z20kqfv7lvc9l1lxj"))
(patches
(search-patches "vboot-utils-skip-test-workbuf.patch"
"vboot-utils-fix-tests-show-contents.patch"
"vboot-utils-fix-format-load-address.patch"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags (list "CC=gcc"
;; On ARM, we must pass "HOST_ARCH=arm" so that the
;; ${HOST_ARCH} and ${ARCH} variables in the makefile
;; match. Otherwise, ${HOST_ARCH} will be assigned
;; "armv7l", the value of `uname -m`, and will not
;; match ${ARCH}, which will make the tests require
;; QEMU for testing.
,@(if (string-prefix? "arm"
(or (%current-target-system)
(%current-system)))
'("HOST_ARCH=arm")
'())
(string-append "DESTDIR=" (assoc-ref %outputs "out")))
#:phases (modify-phases %standard-phases
(add-after 'unpack 'patch-hard-coded-paths

View File

@ -180,6 +180,7 @@ return value is ignored."
;; XXX: This one is used bare-bones, without a libc, so add a case
;; here just so we can keep going.
((string=? system "arm-elf") "no-ld.so")
((string=? system "arm-eabi") "no-ld.so")
((string=? system "xtensa-elf") "no-ld.so")
((string=? system "avr") "no-ld.so")

View File

@ -27,7 +27,6 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system python)

View File

@ -12,6 +12,7 @@
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -225,6 +226,20 @@ reconstruction capability.")
(sha256
(base32
"03w6ypsmwwy4d7vh6zgwpc60v541vc5ywp8bdb758hbc4yv2wa7d"))
(modules '((guix build utils)))
(snippet
'(begin
;; By default 'cdda2wav --help' would print a string like
;; "Version 3.01_linux_4.19.10-gnu_x86_64_x86_64". Change
;; it to not capture the kernel version of the build
;; machine, to allow for reproducible builds.
(substitute* "cdda2wav/local.cnf.in"
(("^VERSION_OS=.*")
(string-append
"actual_os := $(shell uname -o)\n"
"actual_arch := $(shell uname -m)\n"
"VERSION_OS = _$(actual_os)_$(actual_arch)\n")))
#t))
(patches (search-patches "cdrtools-3.01-mkisofs-isoinfo.patch"))))
(build-system gnu-build-system)
;; XXX cdrtools bundles a modified, relicensed early version of cdparanoia.
@ -343,7 +358,36 @@ or @command{xorrisofs} to create ISO 9660 images.")
`(;; Parallel builds appear to be unsafe, see
;; <http://hydra.gnu.org/build/49331/nixlog/1/raw>.
#:parallel-build? #f
#:tests? #f)) ; no check target
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(with-directory-excursion "regtest"
(substitute* "common.bash"
(("ISODIR=/var/tmp/regtest") "ISODIR=/tmp"))
(for-each invoke (find-files "." "rs.*\\.bash")))
#t))
(add-after 'install 'install-desktop
(lambda* (#:key outputs #:allow-other-keys)
(let* ((datadir (string-append (assoc-ref outputs "out") "/share")))
(substitute* "contrib/dvdisaster.desktop"
(("dvdisaster48.png") "dvdisaster.png"))
(install-file "contrib/dvdisaster.desktop"
(string-append datadir "/applications"))
(for-each
(lambda (png)
(let* ((size (substring png
(string-index png char-set:digit)
(string-rindex png #\.)))
(icondir (string-append datadir "/icons/"
size "x" size "/apps")))
(mkdir-p icondir)
(copy-file png (string-append icondir "/dvdisaster.png"))))
(find-files "contrib" "dvdisaster[0-9]*\\.png"))
(mkdir-p (string-append datadir "/pixmaps"))
(copy-file "contrib/dvdisaster48.xpm"
(string-append datadir "/pixmaps/dvdisaster.xpm"))
#t))))))
(home-page "http://dvdisaster.net/en/index.html")
(synopsis "Error correcting codes for optical media images")
(description "Optical media (CD,DVD,BD) keep their data only for a

View File

@ -7,7 +7,7 @@
;;; Copyright © 2015, 2017 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
@ -704,14 +704,14 @@ and many external plugins.")
(define-public python-pytest-cov
(package
(name "python-pytest-cov")
(version "2.5.1")
(version "2.6.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-cov" version))
(sha256
(base32
"0bbfpwdh9k3636bxc88vz9fa7vf4akchgn513ql1vd0xy4n7bah3"))))
"0qnpp9y3ygx4jk4pf5ad71fh2skbvnr6gl54m7rg5qysnx4g0q73"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -800,14 +800,14 @@ same arguments.")
(define-public python-pytest-xdist
(package
(name "python-pytest-xdist")
(version "1.14")
(version "1.25.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-xdist" version ".zip"))
(uri (pypi-uri "pytest-xdist" version))
(sha256
(base32
"08rn2l39ds60xshs4js787l84pfckksqklfq2wq9x8ig2aci2pja"))
"1d812apvcmshh2l8f38spqwb3bpp0x43yy7lyfpxxzc99h4r7y4n"))
(modules '((guix build utils)))
(snippet
'(begin
@ -827,8 +827,7 @@ same arguments.")
;; (add-installed-pythonpath inputs outputs)
;; (zero? (system* "py.test" "-v")))))
(native-inputs
`(("unzip" ,unzip)
("python-setuptools-scm" ,python-setuptools-scm)))
`(("python-setuptools-scm" ,python-setuptools-scm)))
(propagated-inputs
`(("python-execnet" ,python-execnet)
("python-pytest" ,python-pytest)
@ -856,9 +855,7 @@ result back.")
(source
(origin
(method url-fetch)
(uri (string-append
"https://pypi.python.org/packages/source/s/scripttest/scripttest-"
version ".tar.gz"))
(uri (pypi-uri "scripttest" version))
(sha256
(base32
"0f4w84k8ck82syys7yg9maz93mqzc8p5ymis941x034v44jzq74m"))))
@ -1026,14 +1023,14 @@ use of resources by test cases.")))
(define-public python-subunit-bootstrap
(package
(name "python-subunit-bootstrap")
(version "1.2.0")
(version "1.3.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "python-subunit" version))
(sha256
(base32
"1yii2gx3z6323as3iraj1yphj76dy7i3h6kj63pnc5y0hwjs5sgx"))))
"1fsw8rsn1s3nklx06mayrg5rn2zbky6wwjc5z07s7rf1wjzfs1wn"))))
(build-system python-build-system)
(propagated-inputs
`(("python-extras" ,python-extras)
@ -1042,7 +1039,7 @@ use of resources by test cases.")))
`(("python-fixtures" ,python-fixtures-bootstrap)
("python-hypothesis" ,python-hypothesis)
("python-testscenarios" ,python-testscenarios-bootstrap)))
(home-page "http://launchpad.net/subunit")
(home-page "https://launchpad.net/subunit")
(synopsis "Python implementation of the subunit protocol")
(description
"This package is here for bootstrapping purposes only. Use the regular

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
@ -113,14 +113,14 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(define-public global ; a global variable
(package
(name "global")
(version "6.6.2")
(version "6.6.3")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/global/global-"
version ".tar.gz"))
(sha256
(base32
"0zvi5vxwiq0dy8mq2cgs64m8harxs0fvkmsnvi0ayb0w608lgij3"))))
"0735pj47dnspf20n0j1px24p59nwjinlmlb2n32ln1hvdkprivnb"))))
(build-system gnu-build-system)
(inputs `(("ncurses" ,ncurses)
("libltdl" ,libltdl)

View File

@ -7,7 +7,7 @@
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -1786,14 +1786,14 @@ or junctions, and always follows hard links.")
(define-public zstd
(package
(name "zstd")
(version "1.3.7")
(version "1.3.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/facebook/zstd/releases/download/"
"v" version "/zstd-" version ".tar.gz"))
(sha256
(base32 "0gapsdzqfsfqqddzv22592iwa0008xjyi15f06pfv9hcvwvg4xrj"))))
(base32 "13nlsqhkn276frxrzjdn7wz0j9zz414lf336885ykyxcvw2a0gr9"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -1808,7 +1808,7 @@ or junctions, and always follows hard links.")
;; Not currently detected, but be explicit & avoid surprises later.
"HAVE_LZ4=0"
"HAVE_ZLIB=0")))
(home-page "http://zstd.net/")
(home-page "https://facebook.github.io/zstd/")
(synopsis "Zstandard real-time compression algorithm")
(description "Zstandard (@command{zstd}) is a lossless compression algorithm
that combines very fast operation with a compression ratio comparable to that of
@ -1998,7 +1998,7 @@ recreates the stored directory structure by default.")
(define-public perl-archive-zip
(package
(name "perl-archive-zip")
(version "1.60")
(version "1.64")
(source
(origin
(method url-fetch)
@ -2007,7 +2007,7 @@ recreates the stored directory structure by default.")
version ".tar.gz"))
(sha256
(base32
"02y2ylq83hy9kgj57sc0239x65br9sm98c0chsm61s08yc2mpiza"))))
"0zfinh8nx3rxzscp57vq3w8hihpdb0zs67vvalykcf402kr88pyy"))))
(build-system perl-build-system)
(native-inputs
;; For tests.

454
gnu/packages/coq.scm Normal file
View File

@ -0,0 +1,454 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
;;;
;;; 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 coq)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages emacs)
#:use-module (gnu packages flex)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages texinfo)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
#:use-module (guix download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module ((srfi srfi-1) #:hide (zip)))
(define-public coq
(package
(name "coq")
(version "8.8.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/coq/coq/archive/V"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0i2hs0i6rp27cy8zd0mx7jscqw5cx2y0diw0pxgij66s3yr47y7r"))))
(native-search-paths
(list (search-path-specification
(variable "COQPATH")
(files (list "lib/coq/user-contrib")))))
(build-system ocaml-build-system)
(inputs
`(("lablgtk" ,lablgtk)
("python" ,python-2)
("camlp5" ,camlp5)
("ocaml-num" ,ocaml-num)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(mandir (string-append out "/share/man"))
(browser "icecat -remote \"OpenURL(%s,new-tab)\""))
(invoke "./configure"
"-prefix" out
"-mandir" mandir
"-browser" browser
"-coqide" "opt"))))
(replace 'build
(lambda _
(invoke "make"
"-j" (number->string (parallel-job-count))
"world")))
(delete 'check)
(add-after 'install 'check
(lambda _
(with-directory-excursion "test-suite"
;; These two tests fail.
;; This one fails because the output is not formatted as expected.
(delete-file-recursively "coq-makefile/timing")
;; This one fails because we didn't build coqtop.byte.
(delete-file-recursively "coq-makefile/findlib-package")
(invoke "make")))))))
(home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic")
(description
"Coq is a proof assistant for higher-order logic, which allows the
development of computer programs consistent with their formal specification.
It is developed using Objective Caml and Camlp5.")
;; The code is distributed under lgpl2.1.
;; Some of the documentation is distributed under opl1.0+.
(license (list license:lgpl2.1 license:opl1.0+))))
(define-public proof-general
(package
(name "proof-general")
(version "4.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://proofgeneral.inf.ed.ac.uk/releases/"
"ProofGeneral-" version ".tgz"))
(sha256
(base32
"09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
("emacs" ,emacs-minimal)
("texinfo" ,texinfo)))
(inputs
`(("host-emacs" ,emacs)
("perl" ,perl)
("coq" ,coq)))
(arguments
`(#:tests? #f ; no check target
#:make-flags (list (string-append "PREFIX=" %output)
(string-append "DEST_PREFIX=" %output))
#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'disable-byte-compile-error-on-warn
(lambda _
(substitute* "Makefile"
(("\\(setq byte-compile-error-on-warn t\\)")
"(setq byte-compile-error-on-warn nil)"))
#t))
(add-after 'unpack 'patch-hardcoded-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(coq (assoc-ref inputs "coq"))
(emacs (assoc-ref inputs "host-emacs")))
(define (coq-prog name)
(string-append coq "/bin/" name))
(emacs-substitute-variables "coq/coq.el"
("coq-prog-name" (coq-prog "coqtop"))
("coq-compiler" (coq-prog "coqc"))
("coq-dependency-analyzer" (coq-prog "coqdep")))
(substitute* "Makefile"
(("/sbin/install-info") "install-info"))
(substitute* "bin/proofgeneral"
(("^PGHOMEDEFAULT=.*" all)
(string-append all
"PGHOME=$PGHOMEDEFAULT\n"
"EMACS=" emacs "/bin/emacs")))
#t)))
(add-after 'unpack 'clean
(lambda _
;; Delete the pre-compiled elc files for Emacs 23.
(zero? (system* "make" "clean"))))
(add-after 'install 'install-doc
(lambda* (#:key make-flags #:allow-other-keys)
;; XXX FIXME avoid building/installing pdf files,
;; due to unresolved errors building them.
(substitute* "Makefile"
((" [^ ]*\\.pdf") ""))
(zero? (apply system* "make" "install-doc"
make-flags)))))))
(home-page "http://proofgeneral.inf.ed.ac.uk/")
(synopsis "Generic front-end for proof assistants based on Emacs")
(description
"Proof General is a major mode to turn Emacs into an interactive proof
assistant to write formal mathematical proofs using a variety of theorem
provers.")
(license license:gpl2+)))
(define-public coq-flocq
(package
(name "coq-flocq")
(version "2.6.1")
(source (origin
(method url-fetch)
;; Use the Latest version link for a stable URI across releases.
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"file/37454/flocq-" version ".tar.gz"))
(sha256
(base32
"06msp1fwpqv6p98a3i1nnkj7ch9rcq3rm916yxq8dxf51lkghrin"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)))
(arguments
`(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Flocq"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-remake
(lambda _
(substitute* "remake.cpp"
(("/bin/sh") (which "sh")))
#t))
(replace 'build
(lambda _
(invoke "./remake")
#t))
(replace 'check
(lambda _
(invoke "./remake" "check")
#t))
;; TODO: requires coq-gappa and coq-interval.
;(invoke "./remake" "check-more")
(replace 'install
(lambda _
(invoke "./remake" "install")
#t)))))
(home-page "http://flocq.gforge.inria.fr/")
(synopsis "Floating-point formalization for the Coq system")
(description "Flocq (Floats for Coq) is a floating-point formalization for
the Coq system. It provides a comprehensive library of theorems on a multi-radix
multi-precision arithmetic. It also supports efficient numerical computations
inside Coq.")
(license license:lgpl3+)))
(define-public coq-gappa
(package
(name "coq-gappa")
(version "1.3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/file/36397/gappa-"
version ".tar.gz"))
(sha256
(base32
"19kg2zldaqs4smy7bv9hp650sqg46xbx1ss7jnyagpxdscwn9apd"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)
("bison" ,bison)
("flex" ,flex)))
(inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr)
("boost" ,boost)))
(arguments
`(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Gappa"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-remake
(lambda _
(substitute* "remake.cpp"
(("/bin/sh") (which "sh")))))
(replace 'build
(lambda _
(zero? (system* "./remake"))))
(replace 'check
(lambda _
(zero? (system* "./remake" "check"))))
(replace 'install
(lambda _
(zero? (system* "./remake" "install")))))))
(home-page "http://gappa.gforge.inria.fr/")
(synopsis "Verify and formally prove properties on numerical programs")
(description "Gappa is a tool intended to help verifying and formally proving
properties on numerical programs dealing with floating-point or fixed-point
arithmetic. It has been used to write robust floating-point filters for CGAL
and it is used to certify elementary functions in CRlibm. While Gappa is
intended to be used directly, it can also act as a backend prover for the Why3
software verification plateform or as an automatic tactic for the Coq proof
assistant.")
(license (list license:gpl2+ license:cecill))));either gpl2+ or cecill
(define-public coq-mathcomp
(package
(name "coq-mathcomp")
(version "1.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/math-comp/math-comp/archive/mathcomp-"
version ".tar.gz"))
(sha256
(base32
"05zgyi4wmasi1rcyn5jq42w0bi9713q9m8dl1fdgl66nmacixh39"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)))
(arguments
`(#:tests? #f; No need to test formally-verified programs :)
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'chdir
(lambda _
(chdir "mathcomp")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/"))
(zero? (system* "make" "-f" "Makefile.coq"
(string-append "COQLIB=" (assoc-ref outputs "out")
"/lib/coq/")
"install")))))))
(home-page "https://math-comp.github.io/math-comp/")
(synopsis "Mathematical Components for Coq")
(description "Mathematical Components for Coq has its origins in the formal
proof of the Four Colour Theorem. Since then it has grown to cover many areas
of mathematics and has been used for large scale projects like the formal proof
of the Odd Order Theorem.
The library is written using the Ssreflect proof language that is an integral
part of the distribution.")
(license license:cecill-b)))
(define-public coq-coquelicot
(package
(name "coq-coquelicot")
(version "3.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"file/37045/coquelicot-" version ".tar.gz"))
(sha256
(base32
"0hsyhsy2lwqxxx2r8xgi5csmirss42lp9bkb9yy35mnya0w78c8r"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)))
(propagated-inputs
`(("mathcomp" ,coq-mathcomp)))
(arguments
`(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Coquelicot"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-coq8.8
(lambda _
; appcontext has been removed from coq 8.8
(substitute* "theories/AutoDerive.v"
(("appcontext") "context"))
#t))
(add-before 'configure 'fix-remake
(lambda _
(substitute* "remake.cpp"
(("/bin/sh") (which "sh")))))
(replace 'build
(lambda _
(zero? (system* "./remake"))))
(replace 'check
(lambda _
(zero? (system* "./remake" "check"))))
(replace 'install
(lambda _
(zero? (system* "./remake" "install")))))))
(home-page "http://coquelicot.saclay.inria.fr/index.html")
(synopsis "Coq library for Reals")
(description "Coquelicot is an easier way of writing formulas and theorem
statements, achieved by relying on total functions in place of dependent types
for limits, derivatives, integrals, power series, and so on. To help with the
proof process, the library comes with a comprehensive set of theorems that cover
not only these notions, but also some extensions such as parametric integrals,
two-dimensional differentiability, asymptotic behaviors. It also offers some
automations for performing differentiability proofs. Moreover, Coquelicot is a
conservative extension of Coq's standard library and provides correspondence
theorems between the two libraries.")
(license license:lgpl3+)))
(define-public coq-bignums
(package
(name "coq-bignums")
(version "8.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/coq/bignums/archive/V"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"08m1cmq4hkaf4sb0vy978c11rgzvds71cphyadmr2iirpr5815r0"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("coq" ,coq)))
(inputs
`(("camlp5" ,camlp5)))
(arguments
`(#:tests? #f; No test target
#:make-flags
(list (string-append "COQLIBINSTALL=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/coq/bignums")
(synopsis "Coq library for arbitrary large numbers")
(description "Bignums is a coq library of arbitrary large numbers. It
provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
(license license:lgpl2.1+)))
(define-public coq-interval
(package
(name "coq-interval")
(version "3.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"file/37077/interval-" version ".tar.gz"))
(sha256
(base32
"08fdcf3hbwqphglvwprvqzgkg0qbimpyhnqsgv3gac4y1ap0f903"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)))
(propagated-inputs
`(("flocq" ,coq-flocq)
("bignums" ,coq-bignums)
("coquelicot" ,coq-coquelicot)
("mathcomp" ,coq-mathcomp)))
(arguments
`(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Gappa"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-remake
(lambda _
(substitute* "remake.cpp"
(("/bin/sh") (which "sh")))))
(replace 'build
(lambda _
(zero? (system* "./remake"))))
(replace 'check
(lambda _
(zero? (system* "./remake" "check"))))
(replace 'install
(lambda _
(zero? (system* "./remake" "install")))))))
(home-page "http://coq-interval.gforge.inria.fr/")
(synopsis "Coq tactics to simplify inequality proofs")
(description "Interval provides vernacular files containing tactics for
simplifying the proofs of inequalities on expressions of real numbers for the
Coq proof assistant.")
(license license:cecill-c)))

File diff suppressed because it is too large Load Diff

View File

@ -10,7 +10,7 @@
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016, 2017, 2018 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
@ -89,7 +89,6 @@
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages serialization)
#:use-module (gnu packages statistics)
#:use-module (gnu packages tcl)
#:use-module (gnu packages terminals)
#:use-module (gnu packages textutils)
@ -107,7 +106,6 @@
#:use-module (guix build-system python)
#:use-module (guix build-system ruby)
#:use-module (guix build-system cmake)
#:use-module (guix build-system r)
#:use-module (guix build-system scons)
#:use-module ((guix build utils) #:hide (which))
#:use-module (guix utils)
@ -917,66 +915,31 @@ organized in a hash table or B+ tree.")
(define-public recutils
(package
(name "recutils")
(version "1.7")
(version "1.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/recutils/recutils-"
version ".tar.gz"))
(sha256
(base32
"0cdwa4094x3yx7vn98xykvnlp9rngvd58d19vs3vh5hrvggccg93"))
(modules '((guix build utils)))
(snippet
'(begin
;; Adjust the bundled gnulib to work with glibc 2.28. See e.g.
;; "m4-gnulib-libio.patch". This is a phase rather than patch
;; or snippet to work around <https://bugs.gnu.org/32347>.
(substitute* (find-files "lib" "\\.c$")
(("#if defined _IO_ftrylockfile")
"#if defined _IO_EOF_SEEN"))
(substitute* "lib/stdio-impl.h"
(("^/\\* BSD stdio derived implementations")
(string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n"
"# define _IO_IN_BACKUP 0x100\n"
"#endif\n\n"
"/* BSD stdio derived implementations")))
#t))))
"14xiln4immfsw8isnvwvq0h23f6z0wilpgsc4qzabnrzb5lsx3nz"))))
(build-system gnu-build-system)
;; Running tests in parallel leads to test failures and crashes in
;; torture/utils.
(arguments '(#:parallel-tests? #f
#:configure-flags
(arguments '(#:configure-flags
(list (string-append "--with-bash-headers="
(assoc-ref %build-inputs "bash:include")
"/include/bash"))
#:phases (modify-phases %standard-phases
(add-before 'build 'set-bash4.4-header-location
(lambda _
(substitute* "bash/Makefile.in"
;; Adjust the header search path for Bash
;; 4.4 in accordance with 'bash.pc'.
(("AM_CPPFLAGS = (.*)$" _ rest)
(string-append "AM_CPPFLAGS = "
"-I$(BASH_HEADERS)/include "
rest))
;; Install to PREFIX/lib/bash to match Bash
;; 4.4's search path.
(("^libdir = .*$")
"libdir = @libdir@/bash\n"))
#t)))))
"/include/bash"))))
(native-inputs `(("emacs" ,emacs-minimal)
("bc" ,bc)
("bash:include" ,bash "include")
("libuuid" ,util-linux)))
("check" ,check)
("libuuid" ,util-linux)
("pkg-config" ,pkg-config)))
;; TODO: Add more optional inputs.
(inputs `(("curl" ,curl)
("libgcrypt" ,libgcrypt)
("check" ,check)))
("libgcrypt" ,libgcrypt)))
(synopsis "Manipulate plain text files as databases")
(description
"GNU Recutils is a set of tools and libraries for creating and
@ -2271,35 +2234,6 @@ and web services platform functionality.")
(supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux"))
(license license:gpl2)))
(define-public r-rmysql
(package
(name "r-rmysql")
(version "0.10.15")
(source
(origin
(method url-fetch)
(uri (cran-uri "RMySQL" version))
(sha256
(base32
"0bmc7w5fnkjaf333sgc0hskiy332m9gmfaxg0yzkjxscpizdw43n"))))
(properties `((upstream-name . "RMySQL")))
(build-system r-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("mariadb" ,mariadb)
("zlib" ,zlib)))
(propagated-inputs
`(("r-dbi" ,r-dbi)))
(home-page "https://github.com/r-dbi/RMySQL")
(synopsis "Database interface and MySQL driver for R")
(description
"This package provides a DBI interface to MySQL / MariaDB. The RMySQL
package contains an old implementation based on legacy code from S-PLUS which
is being phased out. A modern MySQL client based on Rcpp is available from
the RMariaDB package.")
(license license:gpl2)))
(define-public python-ccm
(package
(name "python-ccm")

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;;
@ -20,10 +20,12 @@
(define-module (gnu packages datastructures)
#:use-module (gnu packages)
#:use-module (gnu packages documentation)
#:use-module (gnu packages perl)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu))
(define-public gdsl
@ -195,3 +197,31 @@ arguments. Thus, they are able to work with any type of structure and key.
Any C structure can be stored in a hash table by adding @code{UT_hash_handle}
to the structure and choosing one or more fields to act as the key.")
(license license:bsd-2)))
(define-public sdsl-lite
(package
(name "sdsl-lite")
(version "2.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/simongog/sdsl-lite/"
"releases/download/v" version "/"
"sdsl-lite-" version
".tar.gz.offline.install.gz"))
(sha256
(base32
"1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)))
(home-page "https://github.com/simongog/sdsl-lite")
(synopsis "Succinct data structure library")
(description "The Succinct Data Structure Library (SDSL) is a powerful and
flexible C++11 library implementing succinct data structures. In total, the
library contains the highlights of 40 research publications. Succinct data
structures can represent an object (such as a bitvector or a tree) in space
close to the information-theoretic lower bound of the object while supporting
operations of the original object efficiently. The theoretical time
complexity of an operation performed on the classical data structure and the
equivalent succinct data structure are (most of the time) identical.")
(license license:gpl3+)))

View File

@ -12,7 +12,7 @@
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@ -41,6 +41,7 @@
#:use-module (gnu packages databases)
#:use-module (gnu packages docbook)
#:use-module (gnu packages documentation)
#:use-module (gnu packages elf)
#:use-module (gnu packages gettext)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
@ -63,6 +64,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (guix build-system scons)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
@ -748,3 +750,71 @@ technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate
plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
LVM D-Bus API).")
(license license:lgpl2.1+)))
(define-public rmlint
(package
(name "rmlint")
(version "2.8.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sahib/rmlint")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1gc7gbnh0qg1kl151cv1ld87vhpm1v3pnkn7prhscdcc21jrg8nz"))))
(build-system scons-build-system)
(arguments
`(#:scons ,scons-python2
#:scons-flags (list (string-append "--prefix=" %output)
(string-append "--actual-prefix=" %output))
#:tests? #f ; No tests?
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'scons-propagate-environment
(lambda* (#:key inputs #:allow-other-keys)
;; TODO: `rmlint --gui` fails with
;; "Failed to load shredder: No module named 'shredder'".
;; The GUI might also need extra dependencies, such as
;; python-gobject, python-cairo, dconf, librsvg, gtksourceview3.
(substitute* "lib/cmdline.c"
(("const char \\*commands\\[\\] = \\{\"python3\", \"python\", NULL\\};")
(string-append
"const char *commands[] = {\""
(assoc-ref inputs "python") "/bin/python"
"\", \"python\", NULL};")))
;; By design, SCons does not, by default, propagate
;; environment variables to subprocesses. See:
;; <http://comments.gmane.org/gmane.linux.distributions.nixos/4969>
;; Here, we modify the SConstruct file to arrange for
;; environment variables to be propagated.
(substitute* "SConstruct"
(("^env = Environment\\(.*\\)" all)
(string-append
all
"\nenv['ENV']=os.environ"))))))))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin")
("python-sphinx" ,python-sphinx)))
(inputs
`(("python" ,python-wrapper)
("glib" ,glib)
("libelf" ,libelf)
("elfutils" ,elfutils)
("json-glib" ,json-glib)
("libblkid" ,util-linux)))
(home-page "https://rmlint.rtfd.org")
(synopsis "Remove duplicates and other lint from the filesystem")
(description "@command{rmlint} finds space waste and other broken things
on your filesystem and offers to remove it. @command{rmlint} can find:
@itemize
@item duplicate files and duplicate directories,
@item non-stripped binaries (i.e. binaries with debug symbols),
@item broken symbolic links,
@item empty files and directories,
@item files with broken user and/or group ID.
@end itemize\n")
(license license:gpl3+)))

View File

@ -10,6 +10,7 @@
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -781,3 +782,30 @@ attempts the update when it has changed.")
"@command{hnsd} is a @dfn{host name resolver} for the Handshake Naming
System (HNS) peer-to-peer network.")
(license license:expat))))
(define-public libmicrodns
(package
(name "libmicrodns")
(version "0.0.10")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/videolabs/libmicrodns")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1xvl9k49ng35wbsqmnjnyqvkyjf8dcq2ywsq3jp3wh0rgmxhq2fh"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)))
(home-page "https://github.com/videolabs/libmicrodns")
(synopsis "Minimal mDNS resolver library")
(description "@code{libmicrodns} provides a minimal implementation of a
mDNS resolver as well as an announcer. mDNS (Multicast Domain Name System) is
a zero-config service that allows one to resolve host names to IP addresses in
local networks.")
(license license:lgpl2.1)))

View File

@ -23,11 +23,16 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system go)
#:use-module (guix build-system python)
#:use-module (guix utils)
#:use-module (gnu packages check)
#:use-module (gnu packages golang)
#:use-module (gnu packages linux)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages python-web))
#:use-module (gnu packages python-web)
#:use-module (gnu packages virtualization))
(define-public python-docker-py
(package
@ -142,3 +147,66 @@ created and all the services are started as specified in the configuration.")
store API. It allows programmers to interact with a Docker registry using
Python without keeping their credentials in a Docker configuration file.")
(license license:asl2.0)))
(define-public containerd
(package
(name "containerd")
(version "1.2.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containerd/containerd.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"16zn6p1ky3yrgn53z8h9wza53ch91fj47wj5xgz6w4c57j30f66p"))))
(build-system go-build-system)
(arguments
`(#:import-path "github.com/containerd/containerd"
#:phases
(modify-phases %standard-phases
(add-before 'build 'chdir
(lambda _
(chdir "src/github.com/containerd/containerd")
#t))
(add-after 'chdir 'patch-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
;; TODO: Patch "socat", "unpigz".
(substitute* "./runtime/v1/linux/runtime.go"
(("defaultRuntime[ \t]*=.*")
(string-append "defaultRuntime = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n"))
(("defaultShim[ \t]*=.*")
(string-append "defaultShim = \""
(assoc-ref outputs "out")
"/bin/containerd-shim\"\n")))
(substitute* "./vendor/github.com/containerd/go-runc/runc.go"
(("DefaultCommand[ \t]*=.*")
(string-append "DefaultCommand = \""
(assoc-ref inputs "runc")
"/sbin/runc\"\n")))
#t))
(replace 'build
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(apply invoke "make" make-flags)))
(replace 'install
(lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(apply invoke "make" (string-append "DESTDIR=" out) "install"
make-flags)))))))
(inputs
`(("btrfs-progs" ,btrfs-progs)
("libseccomp" ,libseccomp)
("runc" ,runc)))
(native-inputs
`(("go" ,go)
("pkg-config" ,pkg-config)))
(synopsis "Docker container runtime")
(description "This package provides the container daemon for Docker.
It includes image transfer and storage, container execution and supervision,
network attachments.")
(home-page "http://containerd.io/")
(license license:asl2.0)))

View File

@ -1,20 +1,20 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Alex Kost <alezost@gmail.com>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
@ -35,13 +35,12 @@
;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Jack Hill <jackhill@jackhill.us>
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -61,11 +60,9 @@
(define-module (gnu packages emacs)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix cvs-download)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix gexp)
#:use-module (guix monads)
#:use-module (guix store)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system emacs)
@ -108,7 +105,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pdf)
#:use-module (gnu packages scheme)
#:use-module (gnu packages statistics)
#:use-module (gnu packages xiph)
#:use-module (gnu packages mp3)
#:use-module (gnu packages gettext)
@ -123,7 +119,6 @@
#:use-module (gnu packages video)
#:use-module (gnu packages haskell)
#:use-module (gnu packages wordnet)
#:use-module (gnu packages ocaml)
#:use-module (guix utils)
#:use-module (srfi srfi-1)
#:use-module (ice-9 match))
@ -574,7 +569,7 @@ operations.")
(setenv "PATH" PATH)
(invoke tar "xvf" source)
(install-file (string-append ,name "-" ,version "/magit-svn.el")
(install-file (string-append "magit-svn-" ,version "/magit-svn.el")
lisp-dir)
(with-directory-excursion lisp-dir
@ -843,91 +838,91 @@ index is considered the key).")
;;;
(define-public emacs-w3m
;; Emacs-w3m follows a "rolling release" model from its CVS repo. We could
;; use CVS, sure, but instead we choose to use this Git mirror described on
;; the home page as an "unofficial" mirror.
(let ((commit "0dd5691f46d314a84da63f3a7277d721815811a2"))
(package
(name "emacs-w3m")
(version (git-version "1.5" "0" commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ecbrown/emacs-w3m")
(commit commit)))
(sha256
(base32
"02xalyxbrkgl4n8nj7xxkmsbm6lshhwdc8bzs2l4wz3hkpgkj7x4"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)
("texinfo" ,texinfo)
("emacs" ,emacs-minimal)))
(inputs `(("w3m" ,w3m)
("imagemagick" ,imagemagick)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "--with-lispdir="
out "/share/emacs/site-lisp")
(string-append "--with-icondir="
out "/share/images/emacs-w3m")
;; Leave .el files uncompressed, otherwise GC can't
;; identify run-time dependencies. See
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
"--without-compress-install"))
#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoconf")))
(add-before 'configure 'support-emacs!
(lambda _
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
;; unsupported.
(substitute* "configure"
(("EMACS_FLAVOR=unsupported")
"EMACS_FLAVOR=emacs"))
#t))
(add-before 'build 'patch-exec-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(w3m (assoc-ref inputs "w3m"))
(imagemagick (assoc-ref inputs "imagemagick"))
(coreutils (assoc-ref inputs "coreutils")))
(make-file-writable "w3m.el")
(emacs-substitute-variables "w3m.el"
("w3m-command" (string-append w3m "/bin/w3m"))
("w3m-touch-command"
(string-append coreutils "/bin/touch"))
("w3m-icon-directory"
(string-append out "/share/images/emacs-w3m")))
(make-file-writable "w3m-image.el")
(emacs-substitute-variables "w3m-image.el"
("w3m-imagick-convert-program"
(string-append imagemagick "/bin/convert"))
("w3m-imagick-identify-program"
(string-append imagemagick "/bin/identify")))
#t)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "install" "install-icons")
(with-directory-excursion
(string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp")
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
(symlink "w3m-load.el" "w3m-autoloads.el")
#t))))))
(home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m")
(description
"Emacs-w3m is an emacs interface for the w3m web browser.")
(license license:gpl2+))))
;; Emacs-w3m follows a "rolling release" model.
(package
(name "emacs-w3m")
(version "2018-11-11")
(source (origin
(method cvs-fetch)
(uri (cvs-reference
(root-directory
":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
(module "emacs-w3m")
(revision version)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)
("texinfo" ,texinfo)
("emacs" ,emacs-minimal)))
(inputs `(("w3m" ,w3m)
("imagemagick" ,imagemagick)))
(arguments
`(#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "--with-lispdir="
out "/share/emacs/site-lisp")
(string-append "--with-icondir="
out "/share/images/emacs-w3m")
;; Leave .el files uncompressed, otherwise GC can't
;; identify run-time dependencies. See
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
"--without-compress-install"))
#:tests? #f ; no check target
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'autoconf
(lambda _
(invoke "autoconf")))
(add-before 'configure 'support-emacs!
(lambda _
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
;; unsupported.
(substitute* "configure"
(("EMACS_FLAVOR=unsupported")
"EMACS_FLAVOR=emacs"))
#t))
(add-before 'build 'patch-exec-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(w3m (assoc-ref inputs "w3m"))
(imagemagick (assoc-ref inputs "imagemagick"))
(coreutils (assoc-ref inputs "coreutils")))
(make-file-writable "w3m.el")
(emacs-substitute-variables "w3m.el"
("w3m-command" (string-append w3m "/bin/w3m"))
("w3m-touch-command"
(string-append coreutils "/bin/touch"))
("w3m-icon-directory"
(string-append out "/share/images/emacs-w3m")))
(make-file-writable "w3m-image.el")
(emacs-substitute-variables "w3m-image.el"
("w3m-imagick-convert-program"
(string-append imagemagick "/bin/convert"))
("w3m-imagick-identify-program"
(string-append imagemagick "/bin/identify")))
#t)))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "make" "install" "install-icons")
(with-directory-excursion
(string-append (assoc-ref outputs "out")
"/share/emacs/site-lisp")
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
(symlink "w3m-load.el" "w3m-autoloads.el")
#t))))))
(home-page "http://emacs-w3m.namazu.org/")
(synopsis "Simple Web browser for Emacs based on w3m")
(description
"Emacs-w3m is an emacs interface for the w3m web browser.")
(license license:gpl2+)))
(define-public emacs-wget
(package
@ -1755,14 +1750,14 @@ type, for example: packages, buffers, files, etc.")
(define-public emacs-guix
(package
(name "emacs-guix")
(version "0.5.1")
(version "0.5.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://emacs-guix.gitlab.io/website/"
"releases/emacs-guix-" version ".tar.gz"))
(sha256
(base32
"1gwihi08pz52zbv11lhwcdzsbmcbqvjf8j0ic56543v7nlmywkxh"))))
"1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@ -3874,13 +3869,14 @@ fully-functional one.")
(version "0.14.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/abo-abo/hydra/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/abo-abo/hydra")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0884k3ffwzhh6krbd8l7vvm184dkagb2jf4q8xzg72plln34qrm8"))))
"0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg"))))
(build-system emacs-build-system)
(home-page "https://github.com/abo-abo/hydra")
(synopsis "Make Emacs bindings that stick around")
@ -4363,73 +4359,6 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
programming language.")
(license license:expat))))
(define-public emacs-ess
(package
(name "emacs-ess")
(version "17.11")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/emacs-ess/ESS/archive/v"
version ".tar.gz"))
(sha256
(base32
"0cbilbsiwvcyf6d5y24mymp57m3ana5dkzab3knfs83w4a3a4c5c"))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
'(begin
;; Stop ESS from trying to bundle an external julia-mode.el.
(substitute* "lisp/Makefile"
(("^\tjulia-mode.elc\\\\\n") "")
(("^dist: all julia-mode.el")
"dist: all"))
;; No need to build docs in so many formats. Also, skipping
;; pdf lets us not pull in texlive.
(substitute* "doc/Makefile"
(("all : info text html pdf")
"all : info")
(("install: install-info install-other-docs")
"install: install-info"))
;; Test fails upstream
(substitute* "test/ess-r-tests.el"
(("ert-deftest ess-r-namespaced-eval-no-srcref-in-errors ()")
"ert-deftest ess-r-namespaced-eval-no-srcref-in-errors () :expected-result :failed"))
#t))))
(build-system gnu-build-system)
(arguments
(let ((base-directory "/share/emacs/site-lisp/guix.d/ess"))
`(#:make-flags (list (string-append "PREFIX=" %output)
(string-append "ETCDIR=" %output "/"
,base-directory "/etc")
(string-append "LISPDIR=" %output "/"
,base-directory))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'more-shebang-patching
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makeconf"
(("SHELL = /bin/sh")
(string-append "SHELL = " (which "sh"))))
#t))
(replace 'check
(lambda _
(invoke "make" "test")))))))
(inputs
`(("emacs" ,emacs-minimal)
("r-minimal" ,r-minimal)))
(native-inputs
`(("perl" ,perl)
("texinfo" ,texinfo)))
(propagated-inputs
`(("emacs-julia-mode" ,emacs-julia-mode)))
(home-page "https://ess.r-project.org/")
(synopsis "Emacs mode for statistical analysis programs")
(description "Emacs Speaks Statistics (ESS) is an add-on package for GNU
Emacs. It is designed to support editing of scripts and interaction with
various statistical analysis programs such as R, Julia, and JAGS.")
(license license:gpl2+)))
(define-public emacs-smex
(package
(name "emacs-smex")
@ -4591,16 +4520,17 @@ in Emacs.")
(define-public emacs-edit-indirect
(package
(name "emacs-edit-indirect")
(version "0.1.4")
(version "0.1.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/Fanael/edit-indirect/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/Fanael/edit-indirect")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"07kr58rd1p5j764wminsssazr73hy51yw8iqcsv5z2dwgj7msv71"))))
"0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
(build-system emacs-build-system)
(home-page "https://github.com/Fanael/edit-indirect")
(synopsis "Edit regions in separate buffers")
@ -5510,14 +5440,14 @@ passive voice.")
(name "emacs-org")
;; emacs-org-contrib inherits from this package. Please update its sha256
;; checksum as well.
(version "9.1.14")
(version "9.2")
(source (origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/org-"
version ".tar"))
(sha256
(base32
"17vd9hig26rqv90l6y92hc2i0x29g44lsdsp0xd4m53s8r3zdikz"))))
"14ydwh2r360fpi6v2g9rgf0zazy2ddq1pcdxvzn73h65glnnclz9"))))
(build-system emacs-build-system)
(home-page "https://orgmode.org/")
(synopsis "Outline-based notes management and organizer")
@ -5531,14 +5461,14 @@ programming and reproducible research.")
(package
(inherit emacs-org)
(name "emacs-org-contrib")
(version "20180507")
(version "20181230")
(source (origin
(method url-fetch)
(uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
version ".tar"))
(sha256
(base32
"190iwjpdjrhg7gl2d4bri2y0y679vlrwd841r6dvhza0yy338d2d"))))
"0gibwcjlardjwq19bh0zzszv0dxxlml0rh5iikkcdynbgndk1aa1"))))
(arguments
`(#:modules ((guix build emacs-build-system)
(guix build utils)
@ -5550,7 +5480,7 @@ programming and reproducible research.")
(add-after 'install 'delete-org-files
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(org (assoc-ref inputs "emacs-org"))
(org (assoc-ref inputs "org"))
(contrib-files
(map basename (find-files out)))
(org+contrib-files
@ -5563,8 +5493,10 @@ programming and reproducible research.")
(for-each delete-file duplicates))
#t))))))
(propagated-inputs
`(("emacs-org" ,emacs-org)
("emacs-scel" ,emacs-scel)))
`(("arduino-mode" ,emacs-arduino-mode)
("cider" ,emacs-cider)
("org" ,emacs-org)
("scel" ,emacs-scel)))
(synopsis "Contributed packages to Org mode")
(description "Org is an Emacs mode for keeping notes, maintaining TODO
lists, and project planning with a fast and effective plain-text system.
@ -6375,15 +6307,15 @@ actually changing the buffer's text.")
(define-public emacs-diff-hl
(package
(name "emacs-diff-hl")
(version "1.8.4")
(version "1.8.5")
(source
(origin
(method url-fetch)
(uri (string-append "http://elpa.gnu.org/packages/diff-hl-"
(uri (string-append "https://elpa.gnu.org/packages/diff-hl-"
version ".tar"))
(sha256
(base32
"0axhidc3cym7a2x4rpxf4745qss9s9ajyg4s9h5b4zn7v7fyp71n"))))
"1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d"))))
(build-system emacs-build-system)
(home-page "https://github.com/dgutov/diff-hl")
(synopsis
@ -11446,33 +11378,32 @@ describing the key binding changes.")
(deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
(define-public emacs-evil-multiedit
(let ((commit "ea3d9177b74ab0bc65e55df9cc0a0b42e4ef815d"))
(package
(name "emacs-evil-multiedit")
(version (git-version "1.3.9" "1" commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hlissner/evil-multiedit")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"17zm35r474z8ras4xy7124pcb972d385pbdv4jxyj5vq042vq07w"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)
("emacs-iedit" ,emacs-iedit)))
(home-page
"https://github.com/hlissner/evil-multiedit")
(synopsis "Multiple cursors for Evil mode")
(description
"This plugin was an answer to the lack of proper multiple cursor support
(package
(name "emacs-evil-multiedit")
(version "1.3.9")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hlissner/evil-multiedit")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-evil" ,emacs-evil)
("emacs-iedit" ,emacs-iedit)))
(home-page
"https://github.com/hlissner/evil-multiedit")
(synopsis "Multiple cursors for Evil mode")
(description
"This plugin was an answer to the lack of proper multiple cursor support
in Emacs+Evil. It allows you to select and edit matches interactively,
integrating @code{iedit-mode} into Evil mode with an attempt at sensible
defaults.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-evil-org
(let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
@ -12749,7 +12680,7 @@ Emacs.")
(license license:gpl3+)))
(define-public emacs-matrix-client
(let ((commit "3eab4c28280feff18ee1ddd7db66ada4f135cbf8"))
(let ((commit "5d8e959a63e5de05b628ca8e1dfb974f7f618821"))
(package
(name "emacs-matrix-client")
(version (git-version "0.0.0" "1" commit))
@ -12761,15 +12692,17 @@ Emacs.")
(file-name (git-file-name name version))
(sha256
(base32
"1k6721jz0m22vpb78881k087mpx8hf3s2219ic75v5mhgx355f7m"))))
"15mwyjq3z867v0xl4m2s3vvfn0wqncb67xawm1cjmpnambz1yz1n"))))
(build-system emacs-build-system)
(propagated-inputs
`(("a" ,emacs-a)
("dash" ,emacs-dash)
("esxml" ,emacs-esxml)
("f" ,emacs-f)
("frame-purpose" ,emacs-frame-purpose)
("ht" ,emacs-ht)
("ov" ,emacs-ov)
("rainbow-identifiers" ,emacs-rainbow-identifiers)
("request" ,emacs-request)
("s" ,emacs-s)
("tracking" ,emacs-tracking)))
@ -12865,58 +12798,46 @@ functions to ensure they are called with the right arguments during testing.")
too ambiguous and navigation in the result buffer.")
(license license:gpl3+))))
(define-public emacs-dedukti-mode
(let ((commit "d7c3505a1046187de3c3aeb144455078d514594e"))
(package
(name "emacs-dedukti-mode")
(version (git-version "0" "0" commit))
(home-page "https://github.com/rafoo/dedukti-mode")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(sha256
(base32
"1842wikq24c8rg0ac84vb1qby9ng1nssxswyyni4kq85lng5lcrp"))
(file-name (git-file-name name version))))
(inputs
`(("dedukti" ,dedukti)))
(build-system emacs-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'install 'patch-dkpath
(lambda _
(let ((dkcheck-path (which "dkcheck")))
(substitute* "dedukti-mode.el"
(("dedukti-path \"(.*)\"")
(string-append "dedukti-path \"" dkcheck-path "\"")))))))))
(synopsis "Emacs major mode for Dedukti files")
(description "This package provides an Emacs major mode for editing
Dedukti files.")
(license license:cecill-b))))
(define-public emacs-frame-purpose
(package
(name "emacs-frame-purpose")
(version "1.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alphapapa/frame-purpose.el.git")
(commit version)))
(sha256
(base32
"0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(inputs
`(("dash" ,emacs-dash)))
(synopsis "Purpose-specific frames for Emacs")
(description "@code{frame-purpose} makes it easy to open purpose-specific
frames that only show certain buffers, e.g. by buffers major mode, their
filename or directory, etc, with custom frame/X-window titles, icons, and
other frame parameters.")
(home-page "https://github.com/alphapapa/frame-purpose.el")
(license license:gpl3+)))
(define-public emacs-flycheck-dedukti
(let ((commit "3dbff5646355f39d57a3ec514f560a6b0082a1cd"))
(define-public emacs-arduino-mode
(let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
(package
(name "emacs-flycheck-dedukti")
(name "emacs-arduino-mode")
(version (git-version "0" "0" commit))
(home-page "https://github.com/rafoo/flycheck-dedukti")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(url "https://github.com/bookest/arduino-mode.git")
(commit commit)))
(sha256
(base32
"1ffpxnwl3wx244n44mbw81g00nhnykd0lnid29f4aw1av7w6nw8l"))
"1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(inputs
`(("dedukti-mode" ,emacs-dedukti-mode)
("flycheck-mode" ,emacs-flycheck)))
(synopsis "Flycheck integration for the dedukti language")
(description "This package provides a frontend for Flycheck to perform
syntax checking on dedukti files.")
(license license:cecill-b))))
(synopsis "Emacs major mode for editing Arduino sketches")
(description "Emacs major mode for editing Arduino sketches.")
(home-page "https://github.com/bookest/arduino-mode")
(license license:gpl3+))))

View File

@ -1186,7 +1186,7 @@ play them on systems for which they were never designed!")
(define-public mame
(package
(name "mame")
(version "0.204")
(version "0.205")
(source
(origin
(method git-fetch)
@ -1196,7 +1196,7 @@ play them on systems for which they were never designed!")
(file-name (git-file-name name version))
(sha256
(base32
"0yn63v2f1xlksfnvbxc5p5zpc7ps044m1kf69jhzbfirx953slsi"))
"1q5z18rlmas598fxga8jr2d6xdngdzjab49xfy4hffdmlq624lw7"))
(modules '((guix build utils)))
(snippet
;; Remove bundled libraries.
@ -1223,14 +1223,6 @@ play them on systems for which they were never designed!")
#:phases
(modify-phases %standard-phases
(delete 'configure)
;; Prevent compilation error: atan is not a member of std. Also
;; fixed upstream in fec1cde5a40e197d4ed4314bf58b9e66e84e1631.
(add-after 'unpack 'fix-build
(lambda _
(substitute* "src/mame/video/xavix.cpp"
(("#include \"logmacro.h\"")
"#include \"logmacro.h\"\n#include <cmath>"))
#t))
(add-after 'build 'build-documentation
(lambda _ (invoke "make" "-C" "docs" "man" "info")))
(replace 'install

View File

@ -86,21 +86,54 @@
(define-public bullet
(package
(name "bullet")
(version "2.87")
(version "2.88")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/bulletphysics/bullet3/"
"archive/" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/bulletphysics/bullet3/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"15azjc1jj8ak9ad7c5sbp9nv5gpqjsa0s9pc0bwy63w490f1b323"))))
"00qkif245yj7n2f262bgjaxv1bz3wmmcsfnjgy3qpzvlpzpns5z8"))
(modules '((guix build utils)))
(snippet
'(begin
(for-each delete-file (find-files "build3" "premake*"))
(with-directory-excursion "examples/ThirdPartyLibs"
(for-each delete-file-recursively
'("Gwen" "clsocket" "enet" "glad" "imgui"
"lua-5.2.3" "midi" "minizip" "openvr"
"optionalX11" "serial" "zlib")))
;; These need files from ThirdPartyLibs
(substitute* "Extras/CMakeLists.txt"
(("BulletRobotics") "")
(("obj2sdf") ""))
;; Tests fail on linking, cannot find -lBussIK
(substitute* "test/CMakeLists.txt"
((" InverseDynamics")
"../examples/ThirdPartyLibs/BussIK InverseDynamics"))
; (("SharedMemory") ""))
#t))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags (list (string-append
"-DBUILD_SHARED_LIBS=ON "
"-DCMAKE_CXX_FLAGS=-fPIC "
(or (getenv "CXXFLAGS") "")))))
'(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
"-DBUILD_CPU_DEMOS=OFF"
"-DBUILD_OPENGL3_DEMOS=OFF"
"-DBUILD_BULLET2_DEMOS=OFF"
(string-append "-DCMAKE_CXX_FLAGS=-fPIC "
(or (getenv "CXXFLAGS") "")))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-failing-tests
;; These tests fail specifically after removing 3rd party code
(lambda _
(substitute* "test/SharedMemory/CMakeLists.txt"
(("ADD_TEST") "# ADD_TEST"))
(substitute* "test/InverseDynamics/CMakeLists.txt"
(("ADD_TEST\\(Test_BulletInverseForward")
"# ADD_TEST(Test_BulletInverseForward"))
#t)))))
(inputs
`(("glu" ,glu)
("libx11" ,libx11)

View File

@ -42,7 +42,6 @@
#:use-module (gnu packages datastructures)
#:use-module (gnu packages documentation)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages cran)
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gtk)
@ -53,7 +52,6 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages statistics)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
#:use-module (gnu packages wxwidgets)
@ -505,122 +503,6 @@ development.")
(home-page "https://www.gaia-gis.it/fossil/spatialite_gui/index")
(license license:gpl3+)))
(define-public r-maps
(package
(name "r-maps")
(version "3.3.0")
(source
(origin
(method url-fetch)
(uri (cran-uri "maps" version))
(sha256
(base32
"05i2ppl5z4p8rawgqmy3z4ia05fcblpq1vvrmrkgkkpdlhczx6hr"))))
(build-system r-build-system)
(home-page "https://cran.r-project.org/web/packages/maps")
(synopsis "Draw geographical maps")
(description "This package provies an R module for display of maps.
Projection code and larger maps are in separate packages ('mapproj' and
'mapdata').")
(license license:gpl2)))
(define-public r-mapproj
(package
(name "r-mapproj")
(version "1.2.6")
(source
(origin
(method url-fetch)
(uri (cran-uri "mapproj" version))
(sha256
(base32
"1rggww8cbwv0vzlj5afzhbsbngg4bzj5znbkz7wmxsbshfbsm9b2"))))
(build-system r-build-system)
(propagated-inputs `(("r-maps" ,r-maps)))
(home-page "https://cran.r-project.org/web/packages/mapproj")
(synopsis "Map projection in R")
(description "This package converts latitude/longitude into projected
coordinates.")
(license (list license:gpl2 ; The R interface
(license:non-copyleft ; The C code
"https://www.gnu.org/licenses/license-list.en.html#lucent102"
"Lucent Public License Version 1.02")))))
(define-public r-rgooglemaps
(package
(name "r-rgooglemaps")
(version "1.4.3")
(source
(origin
(method url-fetch)
(uri (cran-uri "RgoogleMaps" version))
(sha256
(base32
"06ab3lg1rwm93hkshf1vxfm8mlxq5qsjan0wx43lhnrysay65js4"))))
(properties `((upstream-name . "RgoogleMaps")))
(build-system r-build-system)
(propagated-inputs `(("r-png" ,r-png)))
(home-page "https://cran.r-project.org/web/packages/RgoogleMaps")
(synopsis "Use Google Maps in R")
(description "This package serves two purposes: (i) Provide a comfortable R
interface to query the Google server for static maps, and (ii) Use the map as a
background image to overlay plots within R. This requires proper coordinate
scaling.")
(license license:gpl2+)))
(define-public r-geosphere
(package
(name "r-geosphere")
(version "1.5-7")
(source
(origin
(method url-fetch)
(uri (cran-uri "geosphere" version))
(sha256
(base32
"186qdm5niq7v3d4w4rngx71znsgi44hnam7698bsx9ar5mg5b6wx"))))
(build-system r-build-system)
(propagated-inputs `(("r-sp" ,r-sp)))
(home-page "https://cran.r-project.org/web/packages/geosphere")
(synopsis "Spherical trigonometry")
(description "This package computes spherical trigonometry for geographic
applications. That is, compute distances and related measures for angular
(longitude/latitude) locations.")
(license license:gpl3+)))
(define-public r-ggmap
(package
(name "r-ggmap")
(version "2.6.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "ggmap" version))
(sha256
(base32
"0mssb09w818jv58h7mly9y181pzv22sgcd4a079cfpq04bs0wigw"))))
(build-system r-build-system)
(propagated-inputs
`(("r-digest" ,r-digest)
("r-geosphere" ,r-geosphere)
("r-ggplot2" ,r-ggplot2)
("r-jpeg" ,r-jpeg)
("r-mapproj" ,r-mapproj)
("r-plyr" ,r-plyr)
("r-png" ,r-png)
("r-proto" ,r-proto)
("r-reshape2" ,r-reshape2)
("r-rgooglemaps" ,r-rgooglemaps)
("r-rjson" ,r-rjson)
("r-scales" ,r-scales)))
(home-page "https://github.com/dkahle/ggmap")
(synopsis "Spatial visualization with ggplot2")
(description "This package provides a collection of functions to visualize
spatial data and models on top of static maps from various online sources (e.g
Google Maps and Stamen Maps). It includes tools common to those tasks,
including functions for geolocation and routing.")
(license license:gpl2)))
(define-public gdal
(package
(name "gdal")

View File

@ -2,7 +2,7 @@
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
@ -143,14 +143,14 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
(define-public po4a
(package
(name "po4a")
(version "0.54")
(version "0.55")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/mquinson/po4a/releases/download/v"
version "/po4a-" version ".tar.gz"))
(sha256
(base32
"0l9xc06cr8i5jqycfylr4lynhmkb4ng2534m14kx37bzd4hpcvsr"))))
"1qss4q5df3nsydsbggb7gg50bn0kdxq5wn8riqm9zwkiq6a4bifg"))))
(build-system perl-build-system)
(arguments
`(#:phases
@ -174,15 +174,20 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
"/share/man")
".*\\.gz$"))
#t))
(add-after 'unpack 'patch-docbook-xml
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "." ".*\\.xml(-good)?")
(("http://www.oasis-open.org/docbook/xml/4.1.2/")
(string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/")))
#t))
(add-before 'check 'disable-failing-tests
(lambda _
;; FIXME: Files ../t-03-asciidoc/Titles.po and Titles.po differ.
(delete-file "t/03-asciidoc.t")
;; FIXME: Unknown format type: html, and it's not listed.
(delete-file "t/09-html.t")
;; FIXME: this test requires SGMLS.pm.
;; FIXME: these tests require SGMLS.pm.
(delete-file "t/01-classes.t")
(delete-file "t/16-sgml.t")
#t)))))
@ -194,7 +199,7 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
("xsltproc" ,libxslt)
;; For tests.
("docbook-xml" ,docbook-xml)
("docbook-xml" ,docbook-xml-4.1.2)
("perl-yaml-tiny" ,perl-yaml-tiny)
("texlive" ,texlive-tiny)))
(home-page "https://po4a.org/")

View File

@ -50,7 +50,6 @@
#:use-module (gnu packages xorg)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (guix build-system meson)

View File

@ -11,7 +11,7 @@
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
@ -32,6 +32,7 @@
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1851,17 +1852,17 @@ Hints specification (EWMH).")
(define-public goffice
(package
(name "goffice")
(version "0.10.36")
(version "0.10.44")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32 "1mma1gp179dh7kvwzd7q3mwg0719hhbm9f5sqw28flv5lv05zrng"))))
(base32 "1fd7cm6j0g0mqgpqs4y22b4gd2ll4mcyvg4d0q22d5ndjapl4q3d"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;4.1 MiB of gtk-doc
"doc")) ;4.0 MiB of gtk-doc
(arguments
'(#:configure-flags (list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
@ -2214,19 +2215,31 @@ selection and URL hints.")))
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(patches ; We have to revert 2 commits to build against freerdp 1.1.
(search-patches "vinagre-revert-1.patch"
"vinagre-revert-2.patch"))
(patches (search-patches "vinagre-newer-freerdp.patch"
"vinagre-newer-rdp-parameters.patch"))
(sha256
(base32
"10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
(build-system glib-or-gtk-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'install 'skip-gtk-update-icon-cache
(lambda _
;; Don't create 'icon-theme.cache'
(substitute* (find-files "." "^Makefile$")
(("gtk-update-icon-cache") (which "true")))
#t))
(add-after 'unpack 'patch-configure
(lambda _
(substitute* "configure"
(("freerdp") "freerdp2"))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)
("intltool" ,intltool)
("itstool" ,itstool)
("glib-bin" ,glib "bin") ;for glib-compile-schemas
("gtk+-bin" ,gtk+ "bin"))) ;for gtk-update-icon-cache
("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
(inputs
`(("libxml2" ,libxml2)
("gtk-vnc" ,gtk-vnc)
@ -2237,8 +2250,6 @@ selection and URL hints.")))
("spice-gtk" ,spice-gtk)
("telepathy-glib" ,telepathy-glib)
("vte" ,vte)))
(arguments
`(#:configure-flags '("--enable-rdp")))
(home-page "https://wiki.gnome.org/Apps/Vinagre")
(synopsis "Remote desktop viewer for GNOME")
(description "Vinagre is a remote display client supporting the VNC, SPICE
@ -2584,7 +2595,7 @@ and the GLib main loop, to integrate well with GNOME applications.")
(define-public libsecret
(package
(name "libsecret")
(version "0.18.6")
(version "0.18.7")
(source (origin
(method url-fetch)
(uri (string-append
@ -2593,7 +2604,7 @@ and the GLib main loop, to integrate well with GNOME applications.")
name "-" version ".tar.xz"))
(sha256
(base32
"0vynag97a9bnnb8ipah45av8xg8jzmhd572rw3zj78s1pa8ciysy"))))
"11ylmcfx6ff7xd1gpi58i2nbma83lz2xg0g2dq23w6snqhgzwrhd"))))
(build-system gnu-build-system)
(outputs '("out" "doc"))
(arguments
@ -5317,6 +5328,10 @@ libxml2.")
;; script. It provides a generic one if --enable-gdm-xsession is set.
"--enable-gdm-xsession"
;; Use '/etc/environment' for locale settings instead of the
;; systemd-specific '/etc/locale.conf'.
"--with-lang-file=/etc/environment"
"--localstatedir=/var"
,(string-append "--with-default-path="
(string-join '("/run/setuid-programs"
@ -5379,6 +5394,11 @@ libxml2.")
;; are met (provided GNOME is installed of course).
"gdm_session_set_environment_variable (self, \"XDG_CONFIG_DIRS\",\n"
" \"/run/current-system/profile/etc/xdg\");\n"
;; The session bus (which GDM will initialize from the this
;; session environment) needs to know where to find the system
;; service files.
"gdm_session_set_environment_variable (self, \"XDG_DATA_DIRS\",\n"
" \"/run/current-system/profile/share\");\n"
)))
;; Look for custom GDM conf in /run/current-system.
(substitute* '("common/gdm-settings-desktop-backend.c")

View File

@ -61,7 +61,8 @@
(base32
"0grr5qi5rn1xvr7qx5d7mcxa2mcgycy2b325ry73bb485a6yv5l3"))
(patches (search-patches "gnucash-price-quotes-perl.patch"
"gnucash-disable-failing-tests.patch"))))
"gnucash-disable-failing-tests.patch"
"gnucash-fix-test-transaction-failure.patch"))))
(build-system cmake-build-system)
(inputs
`(("guile" ,guile-2.2)

View File

@ -7,6 +7,7 @@
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -67,14 +68,16 @@
(define-public libextractor
(package
(name "libextractor")
(version "1.7")
(version "1.8")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libextractor/libextractor-"
version ".tar.gz"))
(patches (search-patches "libextractor-CVE-2018-20430.patch"
"libextractor-CVE-2018-20431.patch"))
(sha256
(base32
"13wf6vj7mkv6gw8h183cnk7m24ir0gyf198pyb2148ng4klgv9p0"))))
"1z1cb35griqzvshqdv5ck98dy0sgpsswn7fgiy7lbzi34sma8dg2"))))
(build-system gnu-build-system)
;; WARNING: Checks require /dev/shm to be in the build chroot, especially
;; not to be a symbolic link to /run/shm.
@ -145,14 +148,14 @@ tool to extract metadata from a file and print the results.")
(define-public libmicrohttpd
(package
(name "libmicrohttpd")
(version "0.9.59")
(version "0.9.62")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
version ".tar.gz"))
(sha256
(base32
"0g4jgnv43yddr9yxrqg11632rip0lg5c53gmy5wy3c0i1dywv74v"))))
"0jfvi1fb4im3a3m8qishbmzx3zch993c0mhvl2k92l1zf1yhjgmx"))))
(build-system gnu-build-system)
(inputs
`(("curl" ,curl)
@ -307,19 +310,20 @@ kinds of basic applications for the foundation of a GNU internet.")
(home-page "https://gnunet.org/")))
(define-public guile-gnunet ;GSoC 2015!
(let ((commit "383eac2aab175d8d9ea5315c2f1c8a5055c76a52"))
(let ((commit "d12167ab3c8d7d6caffd9c606e389ef043760602")
(revision "1"))
(package
(name "guile-gnunet")
(version (string-append "0.0." (string-take commit 7)))
(version (git-version "0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/guix/gnunet.git/")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(file-name (git-file-name name version))
(sha256
(base32
"0k6mn28isjlxrnvbnblab3nh2xqx1b7san8k98kc35ap9lq0iz8w"))))
"0nqc18jh9j30y4l6yh6j35byfg6qalq7yr3frv9rk10qa041c2sv"))))
(build-system gnu-build-system)
(native-inputs `(("pkg-config" ,pkg-config)
("autoconf" ,autoconf-wrapper)

View File

@ -4,7 +4,7 @@
;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
@ -223,14 +223,14 @@ compatible to GNU Pth.")
(define-public gnupg
(package
(name "gnupg")
(version "2.2.11")
(version "2.2.12")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
".tar.bz2"))
(sha256
(base32
"1ncwqjhcxh46fgkp84g2lhf91amcha7abk6wdm1kagzm7q93wv29"))))
"1jw282iy27j1qygym52aa44zxy7ly4bdadhd628hwr4q9j5hy0yv"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@ -661,87 +661,86 @@ PGP keysigning parties.")
(home-page "https://www.phildev.net/pius/index.shtml")))
(define-public signing-party
;; Upstream moved from alioth.debian.org to salsa.debian.org but the
;; automatic svn import did not preserve tags apparently, so there's no real
;; version number.
(let ((commit "d6f2296325605ee96ddf9f5b156e5e3f667a6df3")
(revision "0"))
(package
(name "signing-party")
(version (git-version "2.6" revision commit))
(home-page "https://salsa.debian.org/stappers/pgp-tools")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(sha256
(base32
"00f7zasbwcbjzd92br2j10pyjxv0aw1qb4540qfz2dxzxgmdscrz"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf-wrapper)
("automake" ,automake)))
(inputs `(("perl" ,perl)
("perl-text-template" ,perl-text-template)
("perl-mime-tools" ,perl-mime-tools)
("perl-gnupg-interface" ,perl-gnupg-interface)
("perl-net-idn-encode" ,perl-net-idn-encode)
("libmd" ,libmd)))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "keyanalyze/Makefile"
(("LDLIBS") (string-append "CC=" (which "gcc") "\nLDLIBS")))
(substitute* "keyanalyze/Makefile"
(("\\./configure") (string-append "./configure --prefix=" out)))
(substitute* "gpgwrap/Makefile"
(("\\} clean")
(string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap "
out "/bin/gpgwrap\n")))
(substitute* '("gpgsigs/Makefile" "keyanalyze/Makefile"
"keylookup/Makefile" "sig2dot/Makefile"
"springgraph/Makefile")
(("/usr") out))
(setenv "CONFIG_SHELL" (which "sh")))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys #:rest args)
(let ((out (assoc-ref outputs "out"))
(install (assoc-ref %standard-phases 'install)))
(apply install args)
(for-each
(lambda (dir file)
(copy-file (string-append dir "/" file)
(string-append out "/bin/" file)))
'("caff" "caff" "caff" "gpgdir" "gpg-key2ps"
"gpglist" "gpg-mailkeys" "gpgparticipants")
'("caff" "pgp-clean" "pgp-fixkey" "gpgdir" "gpg-key2ps"
"gpglist" "gpg-mailkeys" "gpgparticipants"))
(for-each
(lambda (dir file)
(copy-file (string-append dir "/" file)
(string-append out "/share/man/man1/" file)))
'("caff" "caff" "caff" "gpgdir"
"gpg-key2ps" "gpglist" "gpg-mailkeys"
"gpgparticipants" "gpgsigs" "gpgwrap/doc"
"keyanalyze" "keyanalyze/pgpring" "keyanalyze")
'("caff.1" "pgp-clean.1" "pgp-fixkey.1" "gpgdir.1"
"gpg-key2ps.1" "gpglist.1" "gpg-mailkeys.1"
"gpgparticipants.1" "gpgsigs.1" "gpgwrap.1"
"process_keys.1" "pgpring.1" "keyanalyze.1")))))
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(wrap-program
(string-append out "/bin/caff")
`("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))))))))
(synopsis "Collection of scripts for simplifying gnupg key signing")
(description
"Signing-party is a collection for all kinds of PGP/GnuPG related things,
(package
(name "signing-party")
(version "2.7")
(home-page "https://salsa.debian.org/debian/signing-party")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"1gx9017wag4bgc0h7kca9n3jwwdm7z77yv3viayhg62flbwkvbgb"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf-wrapper)
("automake" ,automake)))
(inputs `(("perl" ,perl)
("perl-text-template" ,perl-text-template)
("perl-mime-tools" ,perl-mime-tools)
("perl-gnupg-interface" ,perl-gnupg-interface)
("perl-net-idn-encode" ,perl-net-idn-encode)
("libmd" ,libmd)))
(arguments
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "keyanalyze/Makefile"
(("LDLIBS") (string-append "CC=" (which "gcc") "\nLDLIBS")))
(substitute* "keyanalyze/Makefile"
(("\\./configure") (string-append "./configure --prefix=" out)))
(substitute* "gpgwrap/Makefile"
(("\\} clean")
(string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap "
out "/bin/gpgwrap\n")))
(substitute* '("gpgsigs/Makefile" "keyanalyze/Makefile"
"keylookup/Makefile" "sig2dot/Makefile"
"springgraph/Makefile")
(("/usr") out))
(setenv "CONFIG_SHELL" (which "sh")))
#t))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys #:rest args)
(let ((out (assoc-ref outputs "out"))
(install (assoc-ref %standard-phases 'install)))
(apply install args)
(for-each
(lambda (dir file)
(copy-file (string-append dir "/" file)
(string-append out "/bin/" file)))
'("caff" "caff" "caff" "gpgdir" "gpg-key2ps"
"gpglist" "gpg-mailkeys" "gpgparticipants")
'("caff" "pgp-clean" "pgp-fixkey" "gpgdir" "gpg-key2ps"
"gpglist" "gpg-mailkeys" "gpgparticipants"))
(for-each
(lambda (dir file)
(copy-file (string-append dir "/" file)
(string-append out "/share/man/man1/" file)))
'("caff" "caff" "caff" "gpgdir"
"gpg-key2ps" "gpglist" "gpg-mailkeys"
"gpgparticipants" "gpgsigs" "gpgwrap/doc"
"keyanalyze" "keyanalyze/pgpring" "keyanalyze")
'("caff.1" "pgp-clean.1" "pgp-fixkey.1" "gpgdir.1"
"gpg-key2ps.1" "gpglist.1" "gpg-mailkeys.1"
"gpgparticipants.1" "gpgsigs.1" "gpgwrap.1"
"process_keys.1" "pgpring.1" "keyanalyze.1")))
#t))
(add-after 'install 'wrap-programs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out")))
(wrap-program
(string-append out "/bin/caff")
`("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))))
#t)))))
(synopsis "Collection of scripts for simplifying gnupg key signing")
(description
"Signing-party is a collection for all kinds of PGP/GnuPG related things,
including tools for signing keys, keyring analysis, and party preparation.
@enumerate
@item caff: CA - Fire and Forget signs and mails a key
@ -759,10 +758,10 @@ including tools for signing keys, keyring analysis, and party preparation.
@item sig2dot: converts a list of GnuPG signatures to a .dot file
@item springgraph: creates a graph from a .dot file
@end enumerate")
;; gpl2+ for almost all programs, except for keyanalyze: gpl2
;; and caff and gpgsigs: bsd-3, see
;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright
(license license:gpl2))))
;; gpl2+ for almost all programs, except for keyanalyze: gpl2
;; and caff and gpgsigs: bsd-3, see
;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright
(license license:gpl2)))
(define-public pinentry-tty
(package

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
;;;
@ -147,7 +147,7 @@ between two other data points.")
(define-public gama
(package
(name "gama")
(version "2.01")
(version "2.02")
(source
(origin
(method url-fetch)
@ -155,7 +155,7 @@ between two other data points.")
version ".tar.gz"))
(sha256
(base32
"1z3n5p69qglxq15l9g13cg78kyb0l6v8mbzqgc1fqkfbdk1mis0k"))))
"1r5rrmiqdg6dpxqla0f2mjwcjzlckdjpg4ar0cirmz78w78hf6vn"))))
(build-system gnu-build-system)
(arguments '(#:parallel-tests? #f)) ; race condition
(native-inputs

View File

@ -6,6 +6,7 @@
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
;;; Copyright © 2018 Lprndn <guix@lprndn.info>
;;;
;;; This file is part of GNU Guix.
;;;
@ -31,9 +32,11 @@
#:use-module (guix build-system gnu)
#:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gl)
@ -444,3 +447,57 @@ vision algorithms. It can be used to do things like:
(description
"vips is a demand-driven, horizontally threaded image processing library.")
(license license:lgpl2.1+)))
(define-public nip2
(package
(name "nip2")
(version "8.7.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/libvips/nip2/releases/download/v"
version "/nip2-" version ".tar.gz" ))
(sha256
(base32 "08dxfds4n1vxdilxcw01741a2r6fxyhawi656b7f0hy6znnkbsbc"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
;; test_conv.ws keep failing so disabling for now
(add-after 'unpack 'disable-test-conv
(lambda _
(delete-file "test/workspaces/test_conv.ws")
#t))
(add-before 'check 'set-home
(lambda _
(setenv "HOME" "/tmp") #t)))))
(inputs
`(("vips" ,vips)
("glib" ,glib)
("libtiff" ,libtiff)
("gtk+-2" ,gtk+-2)
("libxml2" ,libxml2)
("libexif" ,libexif)
("libjpeg" ,libjpeg) ;required by vips.pc
("librsvg" ,librsvg)
("fftw" ,fftw)
("libgsf" ,libgsf)
("imagemagick" ,imagemagick)
("orc" ,orc)
("matio" ,matio)
("lcms" ,lcms)
("libwebp" ,libwebp)
("openexr" ,openexr)
("poppler" ,poppler)
("gsl" ,gsl)))
(native-inputs
`(("flex" ,flex)
("bison" ,bison)
("pkg-config" ,pkg-config)))
(home-page "https://github.com/libvips/nip2")
(synopsis "Spreadsheet-like GUI for libvips")
(description "This package provide a graphical user interface (GUI) for
the VIPS image processing library. It's a little like a spreadsheet: you
create a set of formula connecting your objects together, and on a change nip2
recalculates.")
(license license:gpl2+)))

View File

@ -1595,3 +1595,29 @@ identical visual appearance.")
(description "grim can create screenshots from a Wayland compositor.")
;; MIT license.
(license license:expat)))
(define-public slurp
(package
(name "slurp")
(version "1.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emersion/slurp.git")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "03igv8r8n772xb0y7whhs1pa298l3d94jbnknaxpwp2n4fi04syb"))))
(build-system meson-build-system)
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("cairo" ,cairo)
("scdoc" ,scdoc)
("wayland" ,wayland)
("wayland-protocols" ,wayland-protocols)))
(home-page "https://github.com/emersion/slurp")
(synopsis "Select a region in a Wayland compositor")
(description "Slurp can select a region in a Wayland compositor and print it
to the standard output. It works well together with grim.")
;; MIT license.
(license license:expat)))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
@ -91,14 +91,14 @@ groups.")
(define-public python-iso3166
(package
(name "python-iso3166")
(version "0.8")
(version "0.9")
(source
(origin
(method url-fetch)
(uri (pypi-uri "iso3166" version))
(sha256
(base32
"0cs9w507dj93jj9z9di93lx2fplf8pma4jkrsvvb258dv6z1gszv"))))
"0hm0xm30sprk1jssmn4cqks0x3nx5fp8r5ypvahcysmmayzrsnjl"))))
(build-system python-build-system)
(home-page "https://github.com/deactivated/python-iso3166")
(synopsis "Self-contained ISO 3166-1 country definitions")

51
gnu/packages/jose.scm Normal file
View File

@ -0,0 +1,51 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Manolis Fragkiskos Ragkousis <manolis837@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages jose)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages web)
#:use-module (gnu packages compression)
#:use-module (gnu packages tls))
(define-public jose
(package
(name "jose")
(version "10")
(source (origin
(method url-fetch)
(uri
(string-append "https://github.com/latchset/jose/releases/download/v10/jose-"
version ".tar.bz2"))
(sha256
(base32
"0wndxz3jqxfxnv5396da3kc1say7442m7mwk2dw9ykawagxxr72w"))))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs `(("jansson" ,jansson)
("zlib" ,zlib)
("libcrypto" ,openssl)))
(build-system gnu-build-system)
(home-page "https://github.com/latchset/jose")
(synopsis "Object Signing and Encryption")
(description "C-language implementation of Javascript Object Signing and
Encryption")
(license license:asl2.0)))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016,2017 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016,2017,2018 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -98,8 +98,10 @@
(("\"lib64\"") "\"lib\"")
;; TODO: Base the following on values taken from Qt
;; Install plugins into lib/qt5/plugins
(("_define_relative\\(QTPLUGINDIR LIBDIR \"plugins\"")
"_define_relative(QTPLUGINDIR LIBDIR \"qt5/plugins\"")
;; TODO: Check if this is okay for Android, too
;; (see comment in KDEInstallDirs.cmake)
(("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"")
"_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt5/plugins\"")
;; Install imports into lib/qt5/imports
(("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
"_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")
@ -335,13 +337,17 @@ Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.")
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'disable-failing-test
(add-after 'unpack 'add-symlinks
;; Fix "ScalableTest" - FIXME: Remove for > 5.49.0
(lambda _
;; Blacklist a test-function (failing at build.kde.org, too).
;; FIXME: recheck
(with-output-to-file "autotests/BLACKLIST"
(lambda _
(display "[test_duplicates]\n*\n")))
(symlink "../22/plasma-browser-integration.svg"
"icons-dark/apps/48/plasma-browser-integration.svg")
(symlink "../22/plasma-browser-integration.svg"
"icons-dark/apps/64/plasma-browser-integration.svg")
(symlink "../22/plasma-browser-integration.svg"
"icons/apps/48/plasma-browser-integration.svg")
(symlink "../22/plasma-browser-integration.svg"
"icons/apps/64/plasma-browser-integration.svg")
#t)))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
@ -1819,7 +1825,10 @@ covers feedback and persistent events.")
name "-" version ".tar.xz"))
(sha256
(base32
"1xbfjwxb4gff8gg0hs5m9s0jcnzqk27rs2jr71g5ckhvs5psnkcd"))))
"1xbfjwxb4gff8gg0hs5m9s0jcnzqk27rs2jr71g5ckhvs5psnkcd"))
;; Default to: external paths/symlinks can be followed by a
;; package
(patches (search-patches "kpackage-allow-external-paths.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)))
@ -1834,6 +1843,16 @@ covers feedback and persistent events.")
`(#:tests? #f ; FIXME: 3/9 tests fail.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
;; Make QDirIterator follow symlinks
(substitute* '("src/kpackage/packageloader.cpp"
"src/kpackage/private/packagejobthread.cpp")
(("^\\s*(const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories)(;)" _ a b)
(string-append a " | QDirIterator::FollowSymlinks" b))
(("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
(string-append a " | QDirIterator::FollowSymlinks" b)))
#t))
(add-before 'check 'check-setup
(lambda _
(setenv "HOME" (getcwd))
@ -2082,6 +2101,20 @@ using the XBEL format.")
("kservice" ,kservice)))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
(substitute* "src/kpluginselector.cpp"
;; make QDirIterator follow symlinks
(("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
(string-append a " | QDirIterator::FollowSymlinks" b)))
(substitute* "src/kcmoduleloader.cpp"
;; print plugin name when loading fails
(("^\\s*(qWarning\\(\\) << \"Error loading) (plugin:\")( << loader\\.errorString\\(\\);)" _ a b c)
(string-append a " KCM plugin\" << mod.service()->library() << \":\"" c)))
#t)))))
(inputs
`(("kauth" ,kauth)
("kcodecs" ,kcodecs)
@ -2132,6 +2165,13 @@ KCModules can be created with the KConfigWidgets framework.")
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
(substitute* "src/khelpclient.cpp"
;; make QDirIterator follow symlinks
(("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
(string-append a " | QDirIterator::FollowSymlinks" b)))
#t))
(add-before 'check 'check-setup
(lambda _
;; make Qt render "offscreen", required for tests
@ -2499,8 +2539,23 @@ in applications using the KDE Frameworks.")
name "-" version ".tar.xz"))
(sha256
(base32
"1rq9b59gdgcpvwd694l8h55sqahpdaky0n7ag5psjlfn5myf1d95"))))
"1rq9b59gdgcpvwd694l8h55sqahpdaky0n7ag5psjlfn5myf1d95"))
;; Use the store paths for other packages and dynamically loaded
;; libs
(patches (search-patches "kinit-kdeinit-extra_libs.patch"
"kinit-kdeinit-libpath.patch"))))
(build-system cmake-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Set patched-in values:
(substitute* "src/kdeinit/kinit.cpp"
(("GUIX_PKGS_KF5_KIO") (assoc-ref inputs "kio"))
(("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts"))
(("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework")))
#t)))))
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
("pkg-config" ,pkg-config)))
@ -2518,11 +2573,13 @@ in applications using the KDE Frameworks.")
("kitemviews" ,kitemviews)
("ki18n" ,ki18n)
("kjobwidgets" ,kjobwidgets)
("kparts" ,kparts)
("kservice" ,kservice)
("kwidgetsaddons" ,kwidgetsaddons)
("kwindowsystem" ,kwindowsystem)
("kxmlgui" ,kxmlgui)
("libcap" ,libcap) ; to install start_kdeinit with CAP_SYS_RESOURCE
("plasma-framework" ,plasma-framework)
("qtbase" ,qtbase)
("solid" ,solid)))
(home-page "https://community.kde.org/Frameworks")
@ -2546,7 +2603,8 @@ makes starting KDE applications faster and reduces memory consumption.")
name "-" version ".tar.xz"))
(sha256
(base32
"0rrsg3g1b204cdp58vxd5dig1ggwyvk1382p1c86vn6w8qbrq27k"))))
"0rrsg3g1b204cdp58vxd5dig1ggwyvk1382p1c86vn6w8qbrq27k"))
(patches (search-patches "kio-search-smbd-on-PATH.patch"))))
(build-system cmake-build-system)
(propagated-inputs
`(("kbookmarks" ,kbookmarks)
@ -2589,11 +2647,10 @@ makes starting KDE applications faster and reduces memory consumption.")
(modify-phases %standard-phases
(add-after 'unpack 'patch
(lambda _
;; Better error message (taken from nix)
;; Better error message (taken from NixOS)
(substitute* "src/kiod/kiod_main.cpp"
(("(^\\s*qCWarning(KIOD_CATEGORY) << \"Error loading plugin:\")( << loader.errorString();)" _ a b)
(string-append a "<< name" b)))
;; TODO: samba-search-path.patch from nix: search smbd on $PATH
#t))
(add-before 'check 'check-setup
(lambda _
@ -2877,10 +2934,11 @@ to easily extend the contacts collection.")
(setenv "HOME" (getcwd))
;; make Qt render "offscreen", required for tests
(setenv "QT_QPA_PLATFORM" "offscreen")
;; Blacklist a failing test-function. FIXME: Make it pass.
;; Blacklist some failing test-functions. FIXME: Make them pass.
(with-output-to-file "bin/BLACKLIST"
(lambda _
(display "[testMatch]\n*\n")))
(display "[testMatch]\n*\n")
(display "[testMulti]\n*\n")))
#t)))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Framework for Plasma runners")
@ -2921,6 +2979,20 @@ typed.")
`(#:tests? #f ; FIXME: 6/10 tests fail.
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch
;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
;; "no-canonicalize-path".
(lambda _
(substitute* "src/sycoca/kbuildsycoca.cpp"
;; make QDirIterator follow symlinks
(("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
(string-append a " | QDirIterator::FollowSymlinks" b)))
(substitute* "src/sycoca/vfolder_menu.cpp"
;; Normalize path, but don't resolve symlinks (taken from
;; NixOS)
(("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
"QString resolved = QDir::cleanPath(dir);"))
#t))
(add-before 'check 'check-setup
(lambda _
(setenv "HOME" (getcwd))
@ -3418,6 +3490,8 @@ workspace.")
("qtx11extras" ,qtx11extras)))
;; FIXME: Use GuixSD ca-bundle.crt in etc/xdg/ksslcalist and
;; share/kf5/kssl/ca-bundle.crt
;; TODO: NixOS has nix-kde-include-dir.patch to change std-dir "include"
;; into "@dev@/include/". Think about whether this is needed for us, too.
(arguments
`(#:phases
(modify-phases %standard-phases

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2017, 2018 Nils Gillmann <ng0@n0.is>
;;;
@ -28,7 +28,6 @@
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build utils)
#:use-module (guix utils)
#:use-module (gnu packages autotools)
#:use-module (gnu packages gstreamer)
@ -38,7 +37,8 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages xiph))
#:use-module (gnu packages xiph)
#:use-module ((srfi srfi-1) #:select (alist-delete)))
(define-public libcanberra
(package

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -26,18 +27,19 @@
(define-public libphidget
(package
(name "libphidget")
(version "2.1.8.20130320")
(version "2.1.8.20180607")
(source (origin
(method url-fetch)
(uri (string-append
"http://www.phidgets.com/downloads/libraries/libphidget_"
"https://www.phidgets.com/downloads/phidget21/libraries/"
"linux/libphidget/libphidget_"
version ".tar.gz"))
(sha256
(base32 "09ibrz1df5ajqcm9vmx6zw8qama2rzf0961yhmmfsy629qfhyrk0"))))
(base32 "1mdw8k13yy5dq3r41v9w5yijdk87alzix0qagslc2mxh1pf17npn"))))
(build-system gnu-build-system)
(inputs `(("libusb" ,libusb)))
(outputs '("out" "debug"))
(home-page "http://www.phidgets.com/")
(home-page "https://www.phidgets.com/")
(license lgpl3+)
(synopsis "C library to manipulate Phidgets")
(description synopsis)))

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -32,6 +32,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses)
#:select (gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0
non-copyleft x11-style bsd-3))
@ -772,15 +773,17 @@ Zoner Draw version 4 and 5.")
(define-public hunspell
(package
(name "hunspell")
(version "1.6.2")
(version "1.7.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/hunspell/hunspell/archive/v"
version ".tar.gz"))
(sha256 (base32
"1i7lsv2cm0713ia3j5wjkcrhpfp3lqpjpwp4d3v18n7ycaqcxn9w"))
(file-name (string-append name "-" version ".tar.gz"))))
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hunspell/hunspell")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0qxlkd012r45ppd21kldbq9k5ac5nmxz290z6m2kch9l56v768k1"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)

View File

@ -231,6 +231,18 @@ defconfig. Return the appropriate make target if applicable, otherwise return
(base32
"1hk9swxxc80bmn2zd2qr5ccrjrk28xkypwhl4z0qx4hbivj7qm06"))))
(define %linux-libre-arm-export-__sync_icache_dcache-patch
(origin
(method url-fetch)
(uri (string-append
"https://salsa.debian.org/kernel-team/linux"
"/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0"
"/debian/patches/bugfix/arm/"
"arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch"))
(file-name "linux-libre-4.19-arm-export-__sync_icache_dcache.patch")
(sha256
(base32 "1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f"))))
(define* (kernel-config arch #:key variant)
"Return the absolute file name of the Linux-Libre build configuration file
for ARCH and optionally VARIANT, or #f if there is no such configuration."
@ -294,14 +306,16 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
("elfutils" ,elfutils) ; Needed to enable CONFIG_STACK_VALIDATION
("flex" ,flex)
("bison" ,bison)
;; On x86, build with GCC-7 for full retpoline support.
;; Build with GCC-7 for full retpoline support.
;; FIXME: Remove this when our default compiler has retpoline support.
,@(match (system->linux-architecture
(or (%current-target-system) (%current-system)))
((or "x86_64" "i386")
`(("gcc" ,gcc-7)))
(_
'()))
("gcc" ,gcc-7)
;; These are needed to compile the GCC plugins.
("gmp" ,gmp)
("mpfr" ,mpfr)
("mpc" ,mpc)
,@(match (and configuration-file
(configuration-file
(system->linux-architecture
@ -323,6 +337,11 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(substitute* (find-files "." "^Makefile(\\.include)?$")
(("/bin/pwd") "pwd"))
#t))
(add-before 'configure 'work-around-gcc-7-include-path-issue
(lambda _
(unsetenv "C_INCLUDE_PATH")
(unsetenv "CPLUS_INCLUDE_PATH")
#t))
(replace 'configure
(lambda* (#:key inputs native-inputs target #:allow-other-keys)
;; Avoid introducing timestamps
@ -393,38 +412,36 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
It has been modified to remove all non-free binary blobs.")
(license license:gpl2)))
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
(define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
(define %linux-libre-version "4.20")
(define %linux-libre-hash "07ss8nx95f4pqzzjy382fy5hk7anjm3hpbb3mzl1x8fzfq05q3dq")
;; linux-libre configuration for armhf-linux is derived from Debian armmp. It
;; supports qemu "virt" machine and possibly a large number of ARM boards.
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
(define %linux-libre-version "4.19.12")
(define %linux-libre-hash "1cgcg3bw55adx3ivk1aiivrqx5p0ydbz1hzjwzwns0cdqi838cyp")
(define %linux-libre-4.19-patches
(define %linux-libre-4.20-patches
(list %boot-logo-patch
(origin
(method url-fetch)
(uri (string-append
"https://salsa.debian.org/kernel-team/linux"
"/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0"
"/debian/patches/bugfix/arm/"
"arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch"))
(file-name "linux-libre-4.19-arm-export-__sync_icache_dcache.patch")
(sha256
(base32 "1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f")))))
%linux-libre-arm-export-__sync_icache_dcache-patch))
(define-public linux-libre
(make-linux-libre %linux-libre-version
%linux-libre-hash
%linux-compatible-systems
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
#:patches %linux-libre-4.20-patches
#:configuration-file kernel-config))
(define %linux-libre-4.19-version "4.19.13")
(define %linux-libre-4.19-hash "0ac0ywy542fiwdiab2z12rbjn9zw8vjbzkbpmpk9nfic2mcyrg8r")
(define %linux-libre-4.19-patches
(list %boot-logo-patch
%linux-libre-arm-export-__sync_icache_dcache-patch))
(define-public linux-libre-4.19
(make-linux-libre %linux-libre-4.19-version
%linux-libre-4.19-hash
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
#:patches %linux-libre-4.19-patches
#:configuration-file kernel-config))
(define %linux-libre-4.14-version "4.14.90")
(define %linux-libre-4.14-hash "19my91gb54whgk83vyd45ri0c3jb57jfdb670s80fp02ilr7x5ka")
(define %linux-libre-4.14-version "4.14.91")
(define %linux-libre-4.14-hash "1xr4q6hqjg4fjcd1w8qi2x9a11ms9wvascy9b1p6czblg9j9dd6a")
(define-public linux-libre-4.14
(make-linux-libre %linux-libre-4.14-version
@ -433,21 +450,29 @@ It has been modified to remove all non-free binary blobs.")
#:configuration-file kernel-config))
(define-public linux-libre-4.9
(make-linux-libre "4.9.147"
"0gpzf04lmwxh675lam4m8pbwrgxzd7y1y50b6yfzhxa4bb3c4yfb"
%intel-compatible-systems
(make-linux-libre "4.9.148"
"0yrjgvdzbcp750j4fhlxi4ia1v0fqh0y3p99wnbpfvg17j01lbjl"
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-4.4
(make-linux-libre "4.4.169"
"1snjdih9iv3fg7f9h2r1gldcqmvzj1w398aysws4fialj488x1p4"
%intel-compatible-systems
'("x86_64-linux" "i686-linux")
#:configuration-file kernel-config))
(define-public linux-libre-arm-generic
(make-linux-libre %linux-libre-version
%linux-libre-hash
'("armhf-linux")
#:patches %linux-libre-4.20-patches
#:defconfig "multi_v7_defconfig"
#:extra-version "arm-generic"))
(define-public linux-libre-arm-generic-4.19
(make-linux-libre %linux-libre-4.19-version
%linux-libre-4.19-hash
'("armhf-linux")
#:patches %linux-libre-4.19-patches
#:defconfig "multi_v7_defconfig"
#:extra-version "arm-generic"))
@ -463,6 +488,14 @@ It has been modified to remove all non-free binary blobs.")
(make-linux-libre %linux-libre-version
%linux-libre-hash
'("armhf-linux")
#:patches %linux-libre-4.20-patches
#:defconfig "omap2plus_defconfig"
#:extra-version "arm-omap2plus"))
(define-public linux-libre-arm-omap2plus-4.19
(make-linux-libre %linux-libre-4.19-version
%linux-libre-4.19-hash
'("armhf-linux")
#:patches %linux-libre-4.19-patches
#:defconfig "omap2plus_defconfig"
#:extra-version "arm-omap2plus"))
@ -4974,3 +5007,29 @@ infrastructure for in-kernel netfilter subsystems (such as nfnetlink_log,
nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or
management tools in userspace.")
(license license:gpl2)))
(define-public xfsprogs
(package
(name "xfsprogs")
(version "4.19.0")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://kernel.org/linux/utils/fs/xfs/xfsprogs/"
"xfsprogs-" version ".tar.gz"))
(sha256
(base32
"0gs39yiyamjw516jbak3nj4dy4h2a2g48c1mmv4wbppsccvwmwh5"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f)) ; Kernel/user integration tests are in package "xfstests"
(native-inputs
`(("gettext" ,gettext-minimal)
("util-linux" ,util-linux)))
(home-page "https://xfs.wiki.kernel.org/")
(synopsis "XFS file system tools")
(description "This package provides commands to create and check XFS
file systems.")
;; The library "libhandle" and the headers in "xfslibs-dev" are
;; licensed under lgpl2.1. the other stuff is licensed under gpl2.
(license (list license:gpl2 license:lgpl2.1))))

View File

@ -459,6 +459,35 @@ code analysis tools.")
"This package provides a Python binding to LLVM for use in Numba.")
(license license:bsd-3)))
(define (package-elisp-from-package source-package package-name
source-files)
"Return a package definition named PACKAGE-NAME that packages the Emacs Lisp
SOURCE-FILES found in SOURCE-PACKAGE."
(let ((orig (package-source source-package)))
(package
(inherit source-package)
(name package-name)
(build-system emacs-build-system)
(source (origin
(method (origin-method orig))
(uri (origin-uri orig))
(sha256 (origin-sha256 orig))
(file-name (string-append package-name "-"
(package-version source-package)))
(modules '((guix build utils)
(srfi srfi-1)
(ice-9 ftw)))
(snippet
`(let* ((source-files (quote ,source-files))
(basenames (map basename source-files)))
(map copy-file
source-files basenames)
(map delete-file-recursively
(fold delete
(scandir ".")
(append '("." "..") basenames)))
#t)))))))
(define-public emacs-clang-format
(package
(inherit clang)

View File

@ -6,7 +6,7 @@
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
@ -32,7 +32,6 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module (guix build utils)
#:use-module (guix build-system gnu)
#:use-module (guix build-system cmake)
#:use-module (gnu packages)
@ -149,9 +148,9 @@ language. It may be embedded or used as a general-purpose, stand-alone
language.")
(license license:x11)))
(define-public lua5.1-expat
(define (make-lua-expat name lua)
(package
(name "lua5.1-expat")
(name name)
(version "1.3.0")
(source (origin
(method url-fetch)
@ -163,10 +162,11 @@ language.")
(build-system gnu-build-system)
(arguments
`(#:make-flags
(let ((out (assoc-ref %outputs "out")))
(let ((out (assoc-ref %outputs "out"))
(lua-version ,(version-major+minor (package-version lua))))
(list "CC=gcc"
(string-append "LUA_LDIR=" out "/share/lua/$(LUA_V)")
(string-append "LUA_CDIR=" out "/lib/lua/$(LUA_V)")))
(string-append "LUA_LDIR=" out "/share/lua/" lua-version)
(string-append "LUA_CDIR=" out "/lib/lua/" lua-version)))
#:phases
(modify-phases %standard-phases
(delete 'configure)
@ -177,16 +177,22 @@ language.")
(invoke "lua" "tests/test.lua")
(invoke "lua" "tests/test-lom.lua"))))))
(inputs
`(("lua" ,lua-5.1)
`(("lua" ,lua)
("expat" ,expat)))
(home-page "http://matthewwild.co.uk/projects/luaexpat/")
(synopsis "SAX XML parser based on the Expat library")
(description "LuaExpat is a SAX XML parser based on the Expat library.")
(license (package-license lua-5.1))))
(define-public lua5.1-socket
(define-public lua5.1-expat
(make-lua-expat "lua5.1-expat" lua-5.1))
(define-public lua5.2-expat
(make-lua-expat "lua5.2-expat" lua-5.2))
(define (make-lua-socket name lua)
(package
(name "lua5.1-socket")
(name name)
(version "3.0-rc1")
(source (origin
(method url-fetch)
@ -200,8 +206,10 @@ language.")
(build-system gnu-build-system)
(arguments
`(#:make-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "INSTALL_TOP=" out)))
(let ((out (assoc-ref %outputs "out"))
(lua-version ,(version-major+minor (package-version lua))))
(list (string-append "INSTALL_TOP=" out)
(string-append "LUAV?=" lua-version)))
#:phases
(modify-phases %standard-phases
(delete 'configure)
@ -213,7 +221,7 @@ language.")
(invoke "lua" "test/testsrvr.lua"))
(invoke "lua" "test/testclnt.lua"))))))
(inputs
`(("lua" ,lua-5.1)))
`(("lua" ,lua)))
(home-page "http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/")
(synopsis "Socket library for Lua")
(description "LuaSocket is a Lua extension library that is composed by two
@ -228,11 +236,17 @@ to the functionality defined by each protocol. In addition, you will find
that the MIME (common encodings), URL (anything you could possible want to do
with one) and LTN12 (filters, sinks, sources and pumps) modules can be very
handy.")
(license (package-license lua-5.1))))
(license license:expat)))
(define-public lua5.1-filesystem
(define-public lua5.1-socket
(make-lua-socket "lua5.1-socket" lua-5.1))
(define-public lua5.2-socket
(make-lua-socket "lua5.2-socket" lua-5.2))
(define (make-lua-filesystem name lua)
(package
(name "lua5.1-filesystem")
(name name)
(version "1.6.3")
(source (origin
(method url-fetch)
@ -246,13 +260,16 @@ handy.")
(build-system gnu-build-system)
(arguments
`(#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
(let ((out (assoc-ref %outputs "out"))
(lua-version ,(version-major+minor (package-version lua))))
(list (string-append "PREFIX=" out)
(string-append "LUA_LIBDIR=" out "/lib/lua/" lua-version)))
#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(inputs
`(("lua" ,lua-5.1)))
`(("lua" ,lua)))
(home-page "https://keplerproject.github.io/luafilesystem/index.html")
(synopsis "File system library for Lua")
(description "LuaFileSystem is a Lua library developed to complement the
@ -261,9 +278,18 @@ distribution. LuaFileSystem offers a portable way to access the underlying
directory structure and file attributes.")
(license (package-license lua-5.1))))
(define-public lua5.1-sec
(define-public lua-filesystem
(make-lua-filesystem "lua-filesystem" lua))
(define-public lua5.1-filesystem
(make-lua-filesystem "lua5.1-filesystem" lua-5.1))
(define-public lua5.2-filesystem
(make-lua-filesystem "lua5.2-filesystem" lua-5.2))
(define (make-lua-sec name lua)
(package
(name "lua5.1-sec")
(name name)
(version "0.6")
(source (origin
(method url-fetch)
@ -275,27 +301,37 @@ directory structure and file attributes.")
(build-system gnu-build-system)
(arguments
`(#:make-flags
(let ((out (assoc-ref %outputs "out")))
(let ((out (assoc-ref %outputs "out"))
(lua-version ,(version-major+minor (package-version lua))))
(list "linux"
"CC=gcc"
"LD=gcc"
(string-append "LUAPATH=" out "/share/lua/5.1")
(string-append "LUACPATH=" out "/lib/lua/5.1")))
(string-append "LUAPATH=" out "/share/lua/" lua-version)
(string-append "LUACPATH=" out "/lib/lua/" lua-version)))
#:tests? #f ; no tests included
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(inputs
`(("lua" ,lua-5.1)
`(("lua" ,lua)
("openssl" ,openssl)))
(propagated-inputs
`(("lua-socket" ,lua5.1-socket)))
`(("lua-socket"
,(make-lua-socket
(format #f "lua~a-socket"
(version-major+minor (package-version lua))) lua))))
(home-page "https://github.com/brunoos/luasec/wiki")
(synopsis "OpenSSL bindings for Lua")
(description "LuaSec is a binding for OpenSSL library to provide TLS/SSL
communication. It takes an already established TCP connection and creates a
secure session between the peers.")
(license (package-license lua-5.1))))
(license license:expat)))
(define-public lua5.1-sec
(make-lua-sec "lua5.1-sec" lua-5.1))
(define-public lua5.2-sec
(make-lua-sec "lua5.2-sec" lua-5.2))
(define-public lua-lgi
(package

View File

@ -873,3 +873,37 @@ the following advantages:
such as online, hashing, allreduce, reductions, learning2search, active, and
interactive learning.")
(license license:bsd-3)))
(define-public python2-fastlmm
(package
(name "python2-fastlmm")
(version "0.2.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fastlmm" version ".zip"))
(sha256
(base32
"1q8c34rpmwkfy3r4d5172pzdkpfryj561897z9r3x22gq7813x1m"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2)) ; only Python 2.7 is supported
(propagated-inputs
`(("python2-numpy" ,python2-numpy)
("python2-scipy" ,python2-scipy)
("python2-matplotlib" ,python2-matplotlib)
("python2-pandas" ,python2-pandas)
("python2-scikit-learn" ,python2-scikit-learn)
("python2-pysnptools" ,python2-pysnptools)))
(native-inputs
`(("unzip" ,unzip)
("python2-cython" ,python2-cython)
("python2-mock" ,python2-mock)
("python2-nose" ,python2-nose)))
(home-page "http://research.microsoft.com/en-us/um/redmond/projects/mscompbio/fastlmm/")
(synopsis "Perform genome-wide association studies on large data sets")
(description
"FaST-LMM, which stands for Factored Spectrally Transformed Linear Mixed
Models, is a program for performing both single-SNP and SNP-set genome-wide
association studies (GWAS) on extremely large data sets.")
(license license:asl2.0)))

View File

@ -12,14 +12,14 @@
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2018 Kei Kebreau <kkebreau@posteo.net>
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2019 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Dave Love <me@fx@gnu.org>
;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
@ -57,7 +57,6 @@
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (guix build-system ruby)
@ -99,7 +98,6 @@
#:use-module (gnu packages mpi)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages netpbm)
#:use-module (gnu packages ocaml)
#:use-module (gnu packages pcre)
#:use-module (gnu packages popt)
#:use-module (gnu packages perl)
@ -398,33 +396,6 @@ differential equations, linear algebra, Fast Fourier Transforms and random
numbers.")
(license license:gpl3+)))
(define-public ocaml-gsl
(package
(name "ocaml-gsl")
(version "1.22.0")
(source
(origin
(method url-fetch)
(uri
(string-append
"https://github.com/mmottl/gsl-ocaml/releases/download/"
version "/gsl-" version ".tbz"))
(sha256
(base32
"17vcswipliq1b2idbzx1z95kskn1a4q4s5v04igilg0f7lnkaarb"))))
(build-system ocaml-build-system)
(inputs
`(("gsl" ,gsl)))
(home-page "https://mmottl.github.io/gsl-ocaml")
(synopsis "Bindings to the GNU Scientific Library")
(description
"GSL-OCaml is an interface to the @dfn{GNU scientific library} (GSL) for
the OCaml language.")
(license license:gpl3+)))
(define-public ocaml4.01-gsl
(package-with-ocaml4.01 ocaml-gsl))
(define-public glpk
(package
(name "glpk")
@ -1484,11 +1455,10 @@ can solve two kinds of problems:
(modify-phases %standard-phases
(add-after 'configure 'configure-makeinfo
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libinterp/corefcn/help.cc"
(("Vmakeinfo_program = \"makeinfo\"")
(string-append "Vmakeinfo_program = \""
(assoc-ref inputs "texinfo")
"/bin/makeinfo\"")))
(substitute* "libinterp/corefcn/help.h"
(("\"makeinfo\"")
(string-append
"\"" (assoc-ref inputs "texinfo") "/bin/makeinfo\"")))
#t)))))
(home-page "https://www.gnu.org/software/octave/")
(synopsis "High-level language for numerical computation")
@ -4019,64 +3989,6 @@ as equations, scalars, vectors, and matrices.")
theories} (SMT) solver. It provides a C/C++ API, as well as Python bindings.")
(license license:expat)))
(define-public cubicle
(package
(name "cubicle")
(version "1.1.2")
(source (origin
(method url-fetch)
(uri (string-append "http://cubicle.lri.fr/cubicle-"
version ".tar.gz"))
(sha256
(base32
"10kk80jdmpdvql88sdjsh7vqzlpaphd8vip2lp47aarxjkwjlz1q"))))
(build-system gnu-build-system)
(native-inputs
`(("automake" ,automake)
("ocaml" ,ocaml)
("which" ,(@@ (gnu packages base) which))))
(propagated-inputs
`(("ocaml-num" ,ocaml-num)
("z3" ,z3)))
(arguments
`(#:configure-flags (list "--with-z3")
#:make-flags (list "QUIET=")
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'configure-for-release
(lambda _
(substitute* "Makefile.in"
(("SVNREV=") "#SVNREV="))
#t))
(add-before 'configure 'fix-/bin/sh
(lambda _
(substitute* "configure"
(("-/bin/sh") (string-append "-" (which "sh"))))
#t))
(add-before 'configure 'fix-smt-z3wrapper.ml
(lambda _
(substitute* "Makefile.in"
(("\\\\n") ""))
#t))
(add-before 'configure 'fix-ocaml-num
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile.in"
(("= \\$\\(FUNCTORYLIB\\)")
(string-append "= -I "
(assoc-ref inputs "ocaml-num")
"/lib/ocaml/site-lib"
" $(FUNCTORYLIB)")))
#t)))))
(home-page "http://cubicle.lri.fr/")
(synopsis "Model checker for array-based systems")
(description "Cubicle is a model checker for verifying safety properties
of array-based systems. This is a syntactically restricted class of
parametrized transition systems with states represented as arrays indexed by
an arbitrary number of processes. Cache coherence protocols and mutual
exclusion algorithms are typical examples of such systems.")
(license license:asl2.0)))
(define-public elemental
(package
(name "elemental")

View File

@ -7,7 +7,7 @@
;;; Copyright © 2015, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2016, 2017, 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@ -96,6 +96,7 @@
#:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix hg-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils))
@ -575,7 +576,7 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
(define-public gajim
(package
(name "gajim")
(version "1.1.0")
(version "1.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://gajim.org/downloads/"
@ -583,11 +584,10 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
"/gajim-" version ".tar.bz2"))
(sha256
(base32
"1qis8vs7y7g1zn5i5dshwrszidc22qpflycwb4nixvp9lbmkq0va"))))
"09n4445hclqwfnk2h9cxvsxaixza4cpgb5rp4najdfc2jgg2msb3"))))
(build-system python-build-system)
(arguments
`(#:test-target "test_nogui"
#:phases
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'add-plugin-dirs
(lambda _
@ -595,6 +595,9 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
(("_paths\\['PLUGINS_USER'\\]")
"_paths['PLUGINS_USER'],os.getenv('GAJIM_PLUGIN_PATH')"))
#t))
(replace 'check
(lambda _
(invoke "python" "./setup.py" "test" "-s" "test.no_gui")))
(add-after 'install 'wrap-gi-typelib-path
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@ -678,7 +681,7 @@ end-to-end encryption support; XML console.")
(define-public gajim-omemo
(package
(name "gajim-omemo")
(version "2.6.23")
(version "2.6.26")
(source (origin
(method url-fetch/zipbomb)
(uri (string-append
@ -686,7 +689,7 @@ end-to-end encryption support; XML console.")
version ".zip"))
(sha256
(base32
"134zbscbcnhx4smad0ryvx3ngkqlsspafqf0kk8y2d3vcd9bf3pa"))))
"0amqlmnsijz60s0wwkp7bzix60v5p6khqcdsd6qcwawxq5pdayw0"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
@ -780,17 +783,17 @@ a graphical desktop environment like GNOME.")
(define-public prosody
(package
(name "prosody")
(version "0.10.2")
(version "0.11.1")
(source (origin
(method url-fetch)
(uri (string-append "https://prosody.im/downloads/source/"
"prosody-" version ".tar.gz"))
(sha256
(base32
"13knr7izscw0zx648b9582dx11aap4cq9bzfiqh5ykd7wwsz1dbm"))))
"1ak5bkx09kscyifxhzybgp5a73jr8nki6xi05c59wwlq0wzw9gli"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no "check" target
`(#:tests? #f ;tests require "busted"
#:configure-flags (list "--no-example-certs")
#:modules ((ice-9 match)
(srfi srfi-1)
@ -807,7 +810,7 @@ a graphical desktop environment like GNOME.")
#t))
(add-after 'unpack 'fix-makefile
(lambda _
(substitute* "Makefile"
(substitute* "GNUmakefile"
;; prosodyctl needs to read the configuration file.
(("^INSTALLEDCONFIG =.*") "INSTALLEDCONFIG = /etc/prosody\n")
;; prosodyctl needs a place to put auto-generated certificates.
@ -827,15 +830,15 @@ a graphical desktop environment like GNOME.")
(lua-path (string-join
(map (lambda (path)
(string-append
path "/share/lua/5.1/?.lua;"
path "/share/lua/5.1/?/?.lua"))
path "/share/lua/5.2/?.lua;"
path "/share/lua/5.2/?/?.lua"))
(cons out deps))
";"))
(lua-cpath (string-join
(map (lambda (path)
(string-append
path "/lib/lua/5.1/?.so;"
path "/lib/lua/5.1/?/?.so"))
path "/lib/lua/5.2/?.so;"
path "/lib/lua/5.2/?/?.so"))
(cons out deps))
";"))
(openssl (assoc-ref inputs "openssl"))
@ -853,14 +856,12 @@ a graphical desktop environment like GNOME.")
(inputs
`(("libidn" ,libidn)
("openssl" ,openssl)
;; Lua 5.1 is still recommended for production usage.
;; See https://prosody.im/doc/packagers.
("lua" ,lua-5.1)
("lua5.1-bitop" ,lua5.1-bitop)
("lua5.1-expat" ,lua5.1-expat)
("lua5.1-socket" ,lua5.1-socket)
("lua5.1-filesystem" ,lua5.1-filesystem)
("lua5.1-sec" ,lua5.1-sec)))
("lua" ,lua-5.2)
("lua5.2-bitop" ,lua5.2-bitop)
("lua5.2-expat" ,lua5.2-expat)
("lua5.2-socket" ,lua5.2-socket)
("lua5.2-filesystem" ,lua5.2-filesystem)
("lua5.2-sec" ,lua5.2-sec)))
(home-page "https://prosody.im/")
(synopsis "Jabber (XMPP) server")
(description "Prosody is a modern XMPP communication server. It aims to
@ -870,6 +871,38 @@ system on which to rapidly develop added functionality, or prototype new
protocols.")
(license license:x11)))
(define-public prosody-http-upload
(let ((changeset "765735bb590b")
(revision "1"))
(package
(name "prosody-http-upload")
(version (string-append "0-" revision "." (string-take changeset 7)))
(source (origin
(method hg-fetch)
(uri (hg-reference
(url "https://hg.prosody.im/prosody-modules/")
(changeset changeset)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"142wrcism70nf8ffahhd961cqg2pi1h7ic8adfs3zwh0j3pnf41f"))))
(build-system trivial-build-system)
(arguments
'(#:modules ((guix build utils))
#:builder
(begin
(use-modules (guix build utils))
(let ((out (assoc-ref %outputs "out"))
(source (assoc-ref %build-inputs "source")))
(with-directory-excursion (in-vicinity source "mod_http_upload")
(install-file "mod_http_upload.lua" out))
#t))))
(home-page "https://modules.prosody.im/mod_http_upload.html")
(synopsis "XEP-0363: Allow clients to upload files over HTTP")
(description "This module implements XEP-0363: it allows clients to
upload files over HTTP.")
(license (package-license prosody)))))
(define-public libtoxcore
(let ((revision "2")
(commit "bf69b54f64003d160d759068f4816b2d9b2e1e21"))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -18,7 +18,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages moe)
#:use-module ((guix licenses) #:select (gpl3+))
#:use-module ((guix licenses) #:select (gpl2+))
#:use-module (gnu packages ncurses)
#:use-module (gnu packages compression)
#:use-module (guix packages)
@ -28,7 +28,7 @@
(define-public moe
(package
(name "moe")
(version "1.9")
(version "1.10")
(source
(origin
(method url-fetch)
@ -36,7 +36,7 @@
version ".tar.lz"))
(sha256
(base32
"1wsfzy0iia0c89wnx1ilzw54wqcmlp2nz8mkpvc393z0zagrx48q"))))
"0fymywdiy9xqppcmvgs7mf7d3gfrky3jp5jkxs2l3v93asml9zcc"))))
(build-system gnu-build-system)
(native-inputs `(("lzip" ,lzip)))
(inputs `(("ncurses" ,ncurses)))
@ -51,4 +51,4 @@ movements while combinations with the Control key are for commands
that will modify the text. Moe features multiple windows, unlimited
undo/redo, unlimited line length, global search and replace, and
more.")
(license gpl3+)))
(license gpl2+)))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
@ -2045,7 +2045,7 @@ capabilities, custom envelopes, effects, etc.")
(define-public yoshimi
(package
(name "yoshimi")
(version "1.5.9")
(version "1.5.10")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/yoshimi/"
@ -2053,7 +2053,7 @@ capabilities, custom envelopes, effects, etc.")
"/yoshimi-" version ".tar.bz2"))
(sha256
(base32
"1nqwxwq6814m860zrh33r85vdyi2bgkvjg5372h3ngcdmxnb7wr0"))))
"0mazzn5pc4xnjci3yy1yfsx9l05gkxqzkmscaq1h75jpa7qfsial"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f ; there are no tests
@ -2786,7 +2786,7 @@ for improved Amiga ProTracker 2/3 compatibility.")
(define-public schismtracker
(package
(name "schismtracker")
(version "20180810")
(version "20181223")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2795,7 +2795,7 @@ for improved Amiga ProTracker 2/3 compatibility.")
(file-name (git-file-name name version))
(sha256
(base32
"0cwp5fna14hjrlf652l96ja5cjq63is3cwg6pp4wbpx43mb7qb2d"))
"18k5j10zq39y2q294avdmar87x93k57wqmq8bpz562hdqki2mz1l"))
(modules '((guix build utils)))
(snippet
;; Remove use of __DATE__ and __TIME__ for reproducibility.
@ -3610,7 +3610,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(define-public musescore
(package
(name "musescore")
(version "2.3.2")
(version "3.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -3619,7 +3619,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
(file-name (git-file-name name version))
(sha256
(base32
"0ncv0xfmq87plqa43cm0fpidlwzz1nq5s7h7139llrbc36yp3pr1"))
"0g8n8xpw5d6wh8bwbvy12sinl9i0ir009sr28i4izr28lr4x8v50"))
(modules '((guix build utils)))
(snippet
;; Un-bundle OpenSSL and remove unused libraries.
@ -3634,27 +3634,21 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
"thirdparty/openssl"
"thirdparty/portmidi"))
#t))))
(build-system gnu-build-system)
(build-system cmake-build-system)
(arguments
`(#:make-flags
`(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
"USE_SYSTEM_FREETYPE=ON"
"DOWNLOAD_SOUNDFONT=OFF"
;; The following is not supported since Qt 5.11. May be removed in
;; a future release.
"BUILD_WEBKIT=OFF")
;; There are tests, but no simple target to run. The command
;; used to run them is:
`(#:configure-flags
`("-DUSE_SYSTEM_FREETYPE=ON"
"-DBUILD_WEBENGINE=OFF"
"-DDOWNLOAD_SOUNDFONT=OFF")
;; There are tests, but no simple target to run. The command used to
;; run them is:
;;
;; make debug && sudo make installdebug && cd \
;; build.debug/mtest && make && ctest
;;
;; Basically, it requires to start a whole new build process.
;; So we simply skip them.
#:tests? #f
#:phases
(modify-phases %standard-phases
(delete 'configure))))
#:tests? #f))
(inputs
`(("alsa-lib" ,alsa-lib)
("freetype" ,freetype)
@ -3673,8 +3667,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
("qtsvg" ,qtsvg)
("qtxmlpatterns" ,qtxmlpatterns)))
(native-inputs
`(("cmake" ,cmake)
("pkg-config" ,pkg-config)
`(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
(synopsis "Music composition and notation software")
(description "MuseScore is a music score typesetter. Its main purpose is

View File

@ -14,8 +14,8 @@
;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Adam Van Ymeren <adam@vany.ca>
@ -1712,15 +1712,17 @@ interface and a programmable text output for scripting.")
(define-public libnet
(package
(name "libnet")
(version "1.1.6")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/sam-github/libnet/"
"archive/libnet-" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0l4gbzzvr199fzczzricjz7b825i7dlk6sgl5p5alnkcagmq0xys"))))
(version "1.2-rc3")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/sam-github/libnet")
(commit (string-append "libnet-" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0cy8w4g5rv963v4p6iq3333kxgdddx2lywp70xf62553a25xhhs4"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@ -1860,20 +1862,21 @@ file for more details.")
(name "amule")
(version "2.3.2")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/amule-project/amule/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/amule-project/amule")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1wvcj0n9xz03xz5c2xwp6dwfp7sqjhhwbki3m0lwikskpn9lkzk2"))
"010wxm6g9f92x6fympj501zbnjka32rzbx0sk3a2y4zpih5d2nsn"))
;; Patch for adopting crypto++ >= 6.0.
(patches (search-patches "amule-crypto-6.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'bootstrap) ; bootstrap phase runs too early.
(add-after 'patch-source-shebangs 'autogen
(lambda _
(invoke "sh" "autogen.sh")

View File

@ -11,6 +11,7 @@
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Peter Kreye <kreyepr@gmail.com>
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -47,6 +48,7 @@
#:use-module (gnu packages libffi)
#:use-module (gnu packages llvm)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages pcre)
@ -65,6 +67,7 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix build-system dune)
#:use-module (guix build-system emacs)
#:use-module (guix build-system gnu)
#:use-module (guix build-system ocaml)
#:use-module (guix download)
@ -633,144 +636,6 @@ arbitrary-precision integer and rational arithmetic that used to be part of
the OCaml core distribution.")
(license license:lgpl2.1+))); with linking exception
(define-public coq
(package
(name "coq")
(version "8.8.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/coq/coq/archive/V"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0i2hs0i6rp27cy8zd0mx7jscqw5cx2y0diw0pxgij66s3yr47y7r"))))
(native-search-paths
(list (search-path-specification
(variable "COQPATH")
(files (list "lib/coq/user-contrib")))))
(build-system ocaml-build-system)
(inputs
`(("lablgtk" ,lablgtk)
("python" ,python-2)
("camlp5" ,camlp5)
("ocaml-num" ,ocaml-num)))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(mandir (string-append out "/share/man"))
(browser "icecat -remote \"OpenURL(%s,new-tab)\""))
(invoke "./configure"
"-prefix" out
"-mandir" mandir
"-browser" browser
"-coqide" "opt"))))
(replace 'build
(lambda _
(invoke "make"
"-j" (number->string (parallel-job-count))
"world")))
(delete 'check)
(add-after 'install 'check
(lambda _
(with-directory-excursion "test-suite"
;; These two tests fail.
;; This one fails because the output is not formatted as expected.
(delete-file-recursively "coq-makefile/timing")
;; This one fails because we didn't build coqtop.byte.
(delete-file-recursively "coq-makefile/findlib-package")
(invoke "make")))))))
(home-page "https://coq.inria.fr")
(synopsis "Proof assistant for higher-order logic")
(description
"Coq is a proof assistant for higher-order logic, which allows the
development of computer programs consistent with their formal specification.
It is developed using Objective Caml and Camlp5.")
;; The code is distributed under lgpl2.1.
;; Some of the documentation is distributed under opl1.0+.
(license (list license:lgpl2.1 license:opl1.0+))))
(define-public proof-general
(package
(name "proof-general")
(version "4.2")
(source (origin
(method url-fetch)
(uri (string-append
"http://proofgeneral.inf.ed.ac.uk/releases/"
"ProofGeneral-" version ".tgz"))
(sha256
(base32
"09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
("emacs" ,emacs-minimal)
("texinfo" ,texinfo)))
(inputs
`(("host-emacs" ,emacs)
("perl" ,perl)
("coq" ,coq)))
(arguments
`(#:tests? #f ; no check target
#:make-flags (list (string-append "PREFIX=" %output)
(string-append "DEST_PREFIX=" %output))
#:modules ((guix build gnu-build-system)
(guix build utils)
(guix build emacs-utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build emacs-utils))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'disable-byte-compile-error-on-warn
(lambda _
(substitute* "Makefile"
(("\\(setq byte-compile-error-on-warn t\\)")
"(setq byte-compile-error-on-warn nil)"))
#t))
(add-after 'unpack 'patch-hardcoded-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(coq (assoc-ref inputs "coq"))
(emacs (assoc-ref inputs "host-emacs")))
(define (coq-prog name)
(string-append coq "/bin/" name))
(emacs-substitute-variables "coq/coq.el"
("coq-prog-name" (coq-prog "coqtop"))
("coq-compiler" (coq-prog "coqc"))
("coq-dependency-analyzer" (coq-prog "coqdep")))
(substitute* "Makefile"
(("/sbin/install-info") "install-info"))
(substitute* "bin/proofgeneral"
(("^PGHOMEDEFAULT=.*" all)
(string-append all
"PGHOME=$PGHOMEDEFAULT\n"
"EMACS=" emacs "/bin/emacs")))
#t)))
(add-after 'unpack 'clean
(lambda _
;; Delete the pre-compiled elc files for Emacs 23.
(zero? (system* "make" "clean"))))
(add-after 'install 'install-doc
(lambda* (#:key make-flags #:allow-other-keys)
;; XXX FIXME avoid building/installing pdf files,
;; due to unresolved errors building them.
(substitute* "Makefile"
((" [^ ]*\\.pdf") ""))
(zero? (apply system* "make" "install-doc"
make-flags)))))))
(home-page "http://proofgeneral.inf.ed.ac.uk/")
(synopsis "Generic front-end for proof assistants based on Emacs")
(description
"Proof General is a major mode to turn Emacs into an interactive proof
assistant to write formal mathematical proofs using a variety of theorem
provers.")
(license license:gpl2+)))
(define-public emacs-tuareg
(package
(name "emacs-tuareg")
@ -4273,6 +4138,7 @@ and 4 (random based) according to RFC 4122.")
(setenv "CONFIG_SHELL" (string-append (assoc-ref inputs "bash")
"/bin/sh")))))))
(inputs `(("lablgtk" ,lablgtk)))
(properties `((upstream-name . "ocamlgraph")))
(home-page "http://ocamlgraph.lri.fr/")
(synopsis "Graph library for OCaml")
(description "OCamlgraph is a generic graph library for OCaml.")
@ -4712,285 +4578,6 @@ OCaml projects that contain C stubs.")
cross-platform SDL C library.")
(license license:isc)))
(define-public coq-flocq
(package
(name "coq-flocq")
(version "2.6.1")
(source (origin
(method url-fetch)
;; Use the Latest version link for a stable URI across releases.
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"file/37454/flocq-" version ".tar.gz"))
(sha256
(base32
"06msp1fwpqv6p98a3i1nnkj7ch9rcq3rm916yxq8dxf51lkghrin"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)))
(arguments
`(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Flocq"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-remake
(lambda _
(substitute* "remake.cpp"
(("/bin/sh") (which "sh")))
#t))
(replace 'build
(lambda _
(invoke "./remake")
#t))
(replace 'check
(lambda _
(invoke "./remake" "check")
#t))
;; TODO: requires coq-gappa and coq-interval.
;(invoke "./remake" "check-more")
(replace 'install
(lambda _
(invoke "./remake" "install")
#t)))))
(home-page "http://flocq.gforge.inria.fr/")
(synopsis "Floating-point formalization for the Coq system")
(description "Flocq (Floats for Coq) is a floating-point formalization for
the Coq system. It provides a comprehensive library of theorems on a multi-radix
multi-precision arithmetic. It also supports efficient numerical computations
inside Coq.")
(license license:lgpl3+)))
(define-public coq-gappa
(package
(name "coq-gappa")
(version "1.3.2")
(source (origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/file/36397/gappa-"
version ".tar.gz"))
(sha256
(base32
"19kg2zldaqs4smy7bv9hp650sqg46xbx1ss7jnyagpxdscwn9apd"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)
("bison" ,bison)
("flex" ,flex)))
(inputs
`(("gmp" ,gmp)
("mpfr" ,mpfr)
("boost" ,boost)))
(arguments
`(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Gappa"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-remake
(lambda _
(substitute* "remake.cpp"
(("/bin/sh") (which "sh")))))
(replace 'build
(lambda _
(zero? (system* "./remake"))))
(replace 'check
(lambda _
(zero? (system* "./remake" "check"))))
(replace 'install
(lambda _
(zero? (system* "./remake" "install")))))))
(home-page "http://gappa.gforge.inria.fr/")
(synopsis "Verify and formally prove properties on numerical programs")
(description "Gappa is a tool intended to help verifying and formally proving
properties on numerical programs dealing with floating-point or fixed-point
arithmetic. It has been used to write robust floating-point filters for CGAL
and it is used to certify elementary functions in CRlibm. While Gappa is
intended to be used directly, it can also act as a backend prover for the Why3
software verification plateform or as an automatic tactic for the Coq proof
assistant.")
(license (list license:gpl2+ license:cecill))));either gpl2+ or cecill
(define-public coq-mathcomp
(package
(name "coq-mathcomp")
(version "1.7.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/math-comp/math-comp/archive/mathcomp-"
version ".tar.gz"))
(sha256
(base32
"05zgyi4wmasi1rcyn5jq42w0bi9713q9m8dl1fdgl66nmacixh39"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)))
(arguments
`(#:tests? #f; No need to test formally-verified programs :)
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'chdir
(lambda _
(chdir "mathcomp")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/"))
(zero? (system* "make" "-f" "Makefile.coq"
(string-append "COQLIB=" (assoc-ref outputs "out")
"/lib/coq/")
"install")))))))
(home-page "https://math-comp.github.io/math-comp/")
(synopsis "Mathematical Components for Coq")
(description "Mathematical Components for Coq has its origins in the formal
proof of the Four Colour Theorem. Since then it has grown to cover many areas
of mathematics and has been used for large scale projects like the formal proof
of the Odd Order Theorem.
The library is written using the Ssreflect proof language that is an integral
part of the distribution.")
(license license:cecill-b)))
(define-public coq-coquelicot
(package
(name "coq-coquelicot")
(version "3.0.1")
(source (origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"file/37045/coquelicot-" version ".tar.gz"))
(sha256
(base32
"0hsyhsy2lwqxxx2r8xgi5csmirss42lp9bkb9yy35mnya0w78c8r"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)))
(propagated-inputs
`(("mathcomp" ,coq-mathcomp)))
(arguments
`(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Coquelicot"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-coq8.8
(lambda _
; appcontext has been removed from coq 8.8
(substitute* "theories/AutoDerive.v"
(("appcontext") "context"))
#t))
(add-before 'configure 'fix-remake
(lambda _
(substitute* "remake.cpp"
(("/bin/sh") (which "sh")))))
(replace 'build
(lambda _
(zero? (system* "./remake"))))
(replace 'check
(lambda _
(zero? (system* "./remake" "check"))))
(replace 'install
(lambda _
(zero? (system* "./remake" "install")))))))
(home-page "http://coquelicot.saclay.inria.fr/index.html")
(synopsis "Coq library for Reals")
(description "Coquelicot is an easier way of writing formulas and theorem
statements, achieved by relying on total functions in place of dependent types
for limits, derivatives, integrals, power series, and so on. To help with the
proof process, the library comes with a comprehensive set of theorems that cover
not only these notions, but also some extensions such as parametric integrals,
two-dimensional differentiability, asymptotic behaviors. It also offers some
automations for performing differentiability proofs. Moreover, Coquelicot is a
conservative extension of Coq's standard library and provides correspondence
theorems between the two libraries.")
(license license:lgpl3+)))
(define-public coq-bignums
(package
(name "coq-bignums")
(version "8.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/coq/bignums/archive/V"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"08m1cmq4hkaf4sb0vy978c11rgzvds71cphyadmr2iirpr5815r0"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("coq" ,coq)))
(inputs
`(("camlp5" ,camlp5)))
(arguments
`(#:tests? #f; No test target
#:make-flags
(list (string-append "COQLIBINSTALL=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib"))
#:phases
(modify-phases %standard-phases
(delete 'configure))))
(home-page "https://github.com/coq/bignums")
(synopsis "Coq library for arbitrary large numbers")
(description "Bignums is a coq library of arbitrary large numbers. It
provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
(license license:lgpl2.1+)))
(define-public coq-interval
(package
(name "coq-interval")
(version "3.3.0")
(source (origin
(method url-fetch)
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
"file/37077/interval-" version ".tar.gz"))
(sha256
(base32
"08fdcf3hbwqphglvwprvqzgkg0qbimpyhnqsgv3gac4y1ap0f903"))))
(build-system gnu-build-system)
(native-inputs
`(("ocaml" ,ocaml)
("which" ,which)
("coq" ,coq)))
(propagated-inputs
`(("flocq" ,coq-flocq)
("bignums" ,coq-bignums)
("coquelicot" ,coq-coquelicot)
("mathcomp" ,coq-mathcomp)))
(arguments
`(#:configure-flags
(list (string-append "--libdir=" (assoc-ref %outputs "out")
"/lib/coq/user-contrib/Gappa"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-remake
(lambda _
(substitute* "remake.cpp"
(("/bin/sh") (which "sh")))))
(replace 'build
(lambda _
(zero? (system* "./remake"))))
(replace 'check
(lambda _
(zero? (system* "./remake" "check"))))
(replace 'install
(lambda _
(zero? (system* "./remake" "install")))))))
(home-page "http://coq-interval.gforge.inria.fr/")
(synopsis "Coq tactics to simplify inequality proofs")
(description "Interval provides vernacular files containing tactics for
simplifying the proofs of inequalities on expressions of real numbers for the
Coq proof assistant.")
(license license:cecill-c)))
(define-public dedukti
(package
(name "dedukti")
@ -5045,6 +4632,62 @@ rules. This system is not designed to develop proofs, but to check proofs
developed in other systems. In particular, it enjoys a minimalistic syntax.")
(license license:cecill-c)))
(define-public emacs-dedukti-mode
(let ((commit "d7c3505a1046187de3c3aeb144455078d514594e"))
(package
(name "emacs-dedukti-mode")
(version (git-version "0" "0" commit))
(home-page "https://github.com/rafoo/dedukti-mode")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(sha256
(base32
"1842wikq24c8rg0ac84vb1qby9ng1nssxswyyni4kq85lng5lcrp"))
(file-name (git-file-name name version))))
(inputs
`(("dedukti" ,dedukti)))
(build-system emacs-build-system)
(arguments
'(#:phases
(modify-phases %standard-phases
(add-before 'install 'patch-dkpath
(lambda _
(let ((dkcheck-path (which "dkcheck")))
(substitute* "dedukti-mode.el"
(("dedukti-path \"(.*)\"")
(string-append "dedukti-path \"" dkcheck-path "\"")))))))))
(synopsis "Emacs major mode for Dedukti files")
(description "This package provides an Emacs major mode for editing
Dedukti files.")
(license license:cecill-b))))
(define-public emacs-flycheck-dedukti
(let ((commit "3dbff5646355f39d57a3ec514f560a6b0082a1cd"))
(package
(name "emacs-flycheck-dedukti")
(version (git-version "0" "0" commit))
(home-page "https://github.com/rafoo/flycheck-dedukti")
(source (origin
(method git-fetch)
(uri (git-reference
(url home-page)
(commit commit)))
(sha256
(base32
"1ffpxnwl3wx244n44mbw81g00nhnykd0lnid29f4aw1av7w6nw8l"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(inputs
`(("dedukti-mode" ,emacs-dedukti-mode)
("flycheck-mode" ,emacs-flycheck)))
(synopsis "Flycheck integration for the dedukti language")
(description "This package provides a frontend for Flycheck to perform
syntax checking on dedukti files.")
(license license:cecill-b))))
(define-public ocaml-biniou
(package
(name "ocaml-biniou")
@ -5105,3 +4748,88 @@ speedup, polymorphic variants and optional syntax for tuples and variants.
yojson package. The program @code{atdgen} can be used to derive OCaml-JSON
serializers and deserializers from type definitions.")
(license license:bsd-3)))
(define-public ocaml-gsl
(package
(name "ocaml-gsl")
(version "1.22.0")
(source
(origin
(method url-fetch)
(uri
(string-append
"https://github.com/mmottl/gsl-ocaml/releases/download/"
version "/gsl-" version ".tbz"))
(sha256
(base32
"17vcswipliq1b2idbzx1z95kskn1a4q4s5v04igilg0f7lnkaarb"))))
(build-system ocaml-build-system)
(inputs
`(("gsl" ,gsl)))
(home-page "https://mmottl.github.io/gsl-ocaml")
(synopsis "Bindings to the GNU Scientific Library")
(description
"GSL-OCaml is an interface to the @dfn{GNU scientific library} (GSL) for
the OCaml language.")
(license license:gpl3+)))
(define-public ocaml4.01-gsl
(package-with-ocaml4.01 ocaml-gsl))
(define-public cubicle
(package
(name "cubicle")
(version "1.1.2")
(source (origin
(method url-fetch)
(uri (string-append "http://cubicle.lri.fr/cubicle-"
version ".tar.gz"))
(sha256
(base32
"10kk80jdmpdvql88sdjsh7vqzlpaphd8vip2lp47aarxjkwjlz1q"))))
(build-system gnu-build-system)
(native-inputs
`(("automake" ,automake)
("ocaml" ,ocaml)
("which" ,(@@ (gnu packages base) which))))
(propagated-inputs
`(("ocaml-num" ,ocaml-num)
("z3" ,z3)))
(arguments
`(#:configure-flags (list "--with-z3")
#:make-flags (list "QUIET=")
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'configure-for-release
(lambda _
(substitute* "Makefile.in"
(("SVNREV=") "#SVNREV="))
#t))
(add-before 'configure 'fix-/bin/sh
(lambda _
(substitute* "configure"
(("-/bin/sh") (string-append "-" (which "sh"))))
#t))
(add-before 'configure 'fix-smt-z3wrapper.ml
(lambda _
(substitute* "Makefile.in"
(("\\\\n") ""))
#t))
(add-before 'configure 'fix-ocaml-num
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makefile.in"
(("= \\$\\(FUNCTORYLIB\\)")
(string-append "= -I "
(assoc-ref inputs "ocaml-num")
"/lib/ocaml/site-lib"
" $(FUNCTORYLIB)")))
#t)))))
(home-page "http://cubicle.lri.fr/")
(synopsis "Model checker for array-based systems")
(description "Cubicle is a model checker for verifying safety properties
of array-based systems. This is a syntactically restricted class of
parametrized transition systems with states represented as arrays indexed by
an arbitrary number of processes. Cache coherence protocols and mutual
exclusion algorithms are typical examples of such systems.")
(license license:asl2.0)))

View File

@ -0,0 +1,31 @@
From 2a9b15aefb842a734637f3d230936ea1b7c60096 Mon Sep 17 00:00:00 2001
From: Philip Kime <Philip@kime.org.uk>
Date: Thu, 8 Nov 2018 22:02:09 +0100
Subject: [PATCH] Fix to address #239
---
lib/Biber.pm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/lib/Biber.pm b/lib/Biber.pm
index 8b1f80a5..d97fca29 100644
--- a/lib/Biber.pm
+++ b/lib/Biber.pm
@@ -311,6 +311,8 @@ sub parse_ctrlfile {
unless (eval {$checkbuf = File::Slurper::read_text($ctrl_file_path, 'latin1')}) {
biber_error("$ctrl_file_path is not UTF-8 or even latin1, how horrible.");
}
+ # Write ctrl file as UTF-8
+ File::Slurper::write_text($ctrl_file_path, NFC($checkbuf));# Unicode NFC boundary
}
$checkbuf = NFD($checkbuf);# Unicode NFD boundary
@@ -319,8 +321,6 @@ sub parse_ctrlfile {
unlink($output) unless $output eq '-';# ignore deletion of STDOUT marker
biber_error("$ctrl_file_path is malformed, last biblatex run probably failed. Deleted $output");
}
- # Write ctrl file as UTF-8
- File::Slurper::write_text($ctrl_file_path, NFC($checkbuf));# Unicode NFC boundary
# Validate if asked to
if (Biber::Config->getoption('validate_control')) {

View File

@ -0,0 +1,54 @@
# This patch was submitted upstream to: https://bugs.gnucash.org/show_bug.cgi?id=797008.
From c20d74bebca516d0e391724202aad511967fe109 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Wed, 2 Jan 2019 14:46:28 -0500
Subject: [PATCH] tests: Fix a test failure in test-transaction.scm.
With the New Year upon us, a test which was hard-coded to use 2018 now
failed.
Fixes issue #797008 (see:
https://bugs.gnucash.org/show_bug.cgi?id=797008).
* gnucash/report/standard-reports/test/test-transaction.scm:
(trep-tests): Use the current year in the test string instead of a
static one.
---
gnucash/report/standard-reports/test/test-transaction.scm | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/gnucash/report/standard-reports/test/test-transaction.scm b/gnucash/report/standard-reports/test/test-transaction.scm
index 755aba298..ae3fbd5c1 100644
--- a/gnucash/report/standard-reports/test/test-transaction.scm
+++ b/gnucash/report/standard-reports/test/test-transaction.scm
@@ -5,6 +5,7 @@
(use-modules (gnucash report stylesheets))
(use-modules (gnucash report report-system))
(use-modules (gnucash report report-system test test-extras))
+(use-modules (srfi srfi-19))
(use-modules (srfi srfi-64))
(use-modules (gnucash engine test srfi64-extras))
(use-modules (sxml simple))
@@ -643,7 +644,8 @@
(set-option! options "General" "Show original currency amount" #t)
(set-option! options "Sorting" "Primary Key" 'date)
(set-option! options "Sorting" "Primary Subtotal for Date Key" 'none)
- (let* ((sxml (options->sxml options "dual columns")))
+ (let* ((sxml (options->sxml options "dual columns"))
+ (current-year (date->string (current-date) "~y")))
(test-equal "dual amount column, with original currency headers"
(list "Date" "Num" "Description" "Memo/Notes" "Account"
"Debit (USD)" "Credit (USD)" "Debit" "Credit")
@@ -652,7 +654,8 @@
(list "Grand Total" "$2,280.00" "$2,280.00")
(get-row-col sxml -1 #f))
(test-equal "dual amount column, first transaction correct"
- (list "01/03/18" "$103 income" "Root.Asset.Bank" "$103.00" "$103.00")
+ (list (string-append "01/03/" current-year) "$103 income"
+ "Root.Asset.Bank" "$103.00" "$103.00")
(get-row-col sxml 1 #f)))
)
--
2.19.0

View File

@ -0,0 +1,55 @@
Search the "extra libs" in GUIX_KF5INIT_LIB_PATH (which basically is a
collection of all /lib directories). We can not hard-code the full path to the
libsKF5Plasam, since adding palse-workspace
Adopted from NixOS
pkgs/development/libraries/kde-frameworks/kinit/kdeinit-extra_libs.patch
===================================================================
--- kinit-5.32.0/src/kdeinit/kinit-5.32.0/src/kdeinit/.orig
+++ kinit-5.32.0/src/kdeinit/kinit.cpp
@@ -96,11 +96,9 @@
"libKF5Parts.5.dylib",
"libKF5Plasma.5.dylib"
#else
- "libKF5KIOCore.so.5",
- "libKF5Parts.so.5",
-//#ifdef __KDE_HAVE_GCC_VISIBILITY // Removed for KF5, we'll see.
- "libKF5Plasma.so.5"
-//#endif
+ "GUIX_PKGS_KF5_KIO/lib/libKF5KIOCore.so.5",
+ "GUIX_PKGS_KF5_PARTS/lib/libKF5Parts.so.5",
+ "GUIX_PKGS_KF5_PLASMA/lib/libKF5Plasma.so.5"
#endif
};
#endif
@@ -1533,20 +1531,6 @@ static int initXconnection()
}
#endif
-#ifndef Q_OS_OSX
-// Find a shared lib in the lib dir, e.g. libkio.so.
-// Completely unrelated to plugins.
-static QString findSharedLib(const QString &lib)
-{
- QString path = QFile::decodeName(CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/") + lib;
- if (QFile::exists(path)) {
- return path;
- }
- // We could also look in LD_LIBRARY_PATH, but really, who installs the main libs in different prefixes?
- return QString();
-}
-#endif
-
extern "C" {
static void secondary_child_handler(int)
@@ -1689,7 +1693,7 @@
if (!d.suicide && qEnvironmentVariableIsEmpty("KDE_IS_PRELINKED")) {
const int extrasCount = sizeof(extra_libs) / sizeof(extra_libs[0]);
for (int i = 0; i < extrasCount; i++) {
- const QString extra = findSharedLib(QString::fromLatin1(extra_libs[i]));
+ const QString extra = QString::fromLatin1(extra_libs[i]);
if (!extra.isEmpty()) {
QLibrary l(extra);
l.setLoadHints(QLibrary::ExportExternalSymbolsHint);

View File

@ -0,0 +1,37 @@
Search libraries in GUIX_KF5INIT_LIB_PATH.
Based on an idea by NixOs
pkgs/development/libraries/kde-frameworks/kinit/kinit-libpath.patch
===================================================================
--- kinit-5.32.0/src/kdeinit/kinit.cpp.orig 2017-10-22 21:02:20.908765455 +0200
+++ kinit-5.32.0/src/kdeinit/kinit.cpp 2017-10-22 21:03:25.312818248 +0200
@@ -623,20 +623,18 @@
if (libpath_relative) {
// NB: Because Qt makes the actual dlopen() call, the
// RUNPATH of kdeinit is *not* respected - see
// https://sourceware.org/bugzilla/show_bug.cgi?id=13945
// - so we try hacking it in ourselves
- QString install_lib_dir = QFile::decodeName(
- CMAKE_INSTALL_PREFIX "/" LIB_INSTALL_DIR "/");
- QString orig_libpath = libpath;
- libpath = install_lib_dir + libpath;
- l.setFileName(libpath);
- if (!l.load()) {
- libpath = orig_libpath;
- l.setFileName(libpath);
- l.load();
- }
+ // Try to load the library relative to the active profiles.
+ QByteArrayList profiles = qgetenv("LIBRARY_PATH").split(':');
+ for (const QByteArray &profile: profiles) {
+ if (!profile.isEmpty()) {
+ l.setFileName(QFile::decodeName(profile) + QStringLiteral("/") + libpath);
+ if (l.load()) break;
+ }
+ }
} else {
l.load();
}
if (!l.isLoaded()) {
QString ltdlError(l.errorString());

View File

@ -0,0 +1,30 @@
Adopted from NixOS
pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch
===================================================================
--- kio-5.17.0.orig/src/core/ksambashare.cpp
+++ kio-5.17.0/src/core/ksambashare.cpp
@@ -67,13 +67,18 @@ KSambaSharePrivate::~KSambaSharePrivate(
bool KSambaSharePrivate::isSambaInstalled()
{
- if (QFile::exists(QStringLiteral("/usr/sbin/smbd"))
- || QFile::exists(QStringLiteral("/usr/local/sbin/smbd"))) {
- return true;
+ const QByteArray pathEnv = qgetenv("PATH");
+ if (!pathEnv.isEmpty()) {
+ QLatin1Char pathSep(':');
+ QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts);
+ for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+ it->append("/smbd");
+ if (QFile::exists(*it)) {
+ return true;
+ }
+ }
}
- //qDebug() << "Samba is not installed!";
-
return false;
}

View File

@ -0,0 +1,13 @@
diff --git a/src/kpackage/package.cpp b/src/kpackage/package.cpp
index 5aec9fd..b15c933 100644
--- a/src/kpackage/package.cpp
+++ b/src/kpackage/package.cpp
@@ -820,7 +820,7 @@ PackagePrivate::PackagePrivate()
: QSharedData(),
fallbackPackage(nullptr),
metadata(nullptr),
- externalPaths(false),
+ externalPaths(true),
valid(false),
checkedValid(false)
{

View File

@ -0,0 +1,45 @@
Fix CVE-2018-1000877:
https://bugs.launchpad.net/ubuntu/+source/libarchive/+bug/1794909
https://github.com/libarchive/libarchive/pull/1105
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000877
https://security-tracker.debian.org/tracker/CVE-2018-1000877
Patch copied from upstream source repository:
https://github.com/libarchive/libarchive/commit/021efa522ad729ff0f5806c4ce53e4a6cc1daa31
From 021efa522ad729ff0f5806c4ce53e4a6cc1daa31 Mon Sep 17 00:00:00 2001
From: Daniel Axtens <dja@axtens.net>
Date: Tue, 20 Nov 2018 17:56:29 +1100
Subject: [PATCH] Avoid a double-free when a window size of 0 is specified
new_size can be 0 with a malicious or corrupted RAR archive.
realloc(area, 0) is equivalent to free(area), so the region would
be free()d here and the free()d again in the cleanup function.
Found with a setup running AFL, afl-rb, and qsym.
---
libarchive/archive_read_support_format_rar.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
index 23452222..6f419c27 100644
--- a/libarchive/archive_read_support_format_rar.c
+++ b/libarchive/archive_read_support_format_rar.c
@@ -2300,6 +2300,11 @@ parse_codes(struct archive_read *a)
new_size = DICTIONARY_MAX_SIZE;
else
new_size = rar_fls((unsigned int)rar->unp_size) << 1;
+ if (new_size == 0) {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Zero window size is invalid.");
+ return (ARCHIVE_FATAL);
+ }
new_window = realloc(rar->lzss.window, new_size);
if (new_window == NULL) {
archive_set_error(&a->archive, ENOMEM,
--
2.20.1

View File

@ -0,0 +1,86 @@
Fix CVE-2018-1000878:
https://bugs.launchpad.net/ubuntu/+source/libarchive/+bug/1794909
https://github.com/libarchive/libarchive/pull/1105
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000878
https://security-tracker.debian.org/tracker/CVE-2018-1000878
Patch copied from upstream source repository:
https://github.com/libarchive/libarchive/commit/bfcfe6f04ed20db2504db8a254d1f40a1d84eb28
From bfcfe6f04ed20db2504db8a254d1f40a1d84eb28 Mon Sep 17 00:00:00 2001
From: Daniel Axtens <dja@axtens.net>
Date: Tue, 4 Dec 2018 00:55:22 +1100
Subject: [PATCH] rar: file split across multi-part archives must match
Fuzzing uncovered some UAF and memory overrun bugs where a file in a
single file archive reported that it was split across multiple
volumes. This was caused by ppmd7 operations calling
rar_br_fillup. This would invoke rar_read_ahead, which would in some
situations invoke archive_read_format_rar_read_header. That would
check the new file name against the old file name, and if they didn't
match up it would free the ppmd7 buffer and allocate a new
one. However, because the ppmd7 decoder wasn't actually done with the
buffer, it would continue to used the freed buffer. Both reads and
writes to the freed region can be observed.
This is quite tricky to solve: once the buffer has been freed it is
too late, as the ppmd7 decoder functions almost universally assume
success - there's no way for ppmd_read to signal error, nor are there
good ways for functions like Range_Normalise to propagate them. So we
can't detect after the fact that we're in an invalid state - e.g. by
checking rar->cursor, we have to prevent ourselves from ever ending up
there. So, when we are in the dangerous part or rar_read_ahead that
assumes a valid split, we set a flag force read_header to either go
down the path for split files or bail. This means that the ppmd7
decoder keeps a valid buffer and just runs out of data.
Found with a combination of AFL, afl-rb and qsym.
---
libarchive/archive_read_support_format_rar.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/libarchive/archive_read_support_format_rar.c b/libarchive/archive_read_support_format_rar.c
index 6f419c27..a8cc5c94 100644
--- a/libarchive/archive_read_support_format_rar.c
+++ b/libarchive/archive_read_support_format_rar.c
@@ -258,6 +258,7 @@ struct rar
struct data_block_offsets *dbo;
unsigned int cursor;
unsigned int nodes;
+ char filename_must_match;
/* LZSS members */
struct huffman_code maincode;
@@ -1560,6 +1561,12 @@ read_header(struct archive_read *a, struct archive_entry *entry,
}
return ret;
}
+ else if (rar->filename_must_match)
+ {
+ archive_set_error(&a->archive, ARCHIVE_ERRNO_FILE_FORMAT,
+ "Mismatch of file parts split across multi-volume archive");
+ return (ARCHIVE_FATAL);
+ }
rar->filename_save = (char*)realloc(rar->filename_save,
filename_size + 1);
@@ -2933,12 +2940,14 @@ rar_read_ahead(struct archive_read *a, size_t min, ssize_t *avail)
else if (*avail == 0 && rar->main_flags & MHD_VOLUME &&
rar->file_flags & FHD_SPLIT_AFTER)
{
+ rar->filename_must_match = 1;
ret = archive_read_format_rar_read_header(a, a->entry);
if (ret == (ARCHIVE_EOF))
{
rar->has_endarc_header = 1;
ret = archive_read_format_rar_read_header(a, a->entry);
}
+ rar->filename_must_match = 0;
if (ret != (ARCHIVE_OK))
return NULL;
return rar_read_ahead(a, min, avail);
--
2.20.1

View File

@ -0,0 +1,51 @@
Fix CVE-2018-1000880:
https://bugs.launchpad.net/ubuntu/+source/libarchive/+bug/1794909
https://github.com/libarchive/libarchive/pull/1105
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-1000880
https://security-tracker.debian.org/tracker/CVE-2018-1000880
Patch copied from upstream source repository:
https://github.com/libarchive/libarchive/commit/9c84b7426660c09c18cc349f6d70b5f8168b5680
From 9c84b7426660c09c18cc349f6d70b5f8168b5680 Mon Sep 17 00:00:00 2001
From: Daniel Axtens <dja@axtens.net>
Date: Tue, 4 Dec 2018 16:33:42 +1100
Subject: [PATCH] warc: consume data once read
The warc decoder only used read ahead, it wouldn't actually consume
data that had previously been printed. This means that if you specify
an invalid content length, it will just reprint the same data over
and over and over again until it hits the desired length.
This means that a WARC resource with e.g.
Content-Length: 666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666665
but only a few hundred bytes of data, causes a quasi-infinite loop.
Consume data in subsequent calls to _warc_read.
Found with an AFL + afl-rb + qsym setup.
---
libarchive/archive_read_support_format_warc.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/libarchive/archive_read_support_format_warc.c b/libarchive/archive_read_support_format_warc.c
index e8753853..e8fc8428 100644
--- a/libarchive/archive_read_support_format_warc.c
+++ b/libarchive/archive_read_support_format_warc.c
@@ -386,6 +386,11 @@ _warc_read(struct archive_read *a, const void **buf, size_t *bsz, int64_t *off)
return (ARCHIVE_EOF);
}
+ if (w->unconsumed) {
+ __archive_read_consume(a, w->unconsumed);
+ w->unconsumed = 0U;
+ }
+
rab = __archive_read_ahead(a, 1U, &nrd);
if (nrd < 0) {
*bsz = 0U;
--
2.20.1

View File

@ -0,0 +1,60 @@
Fix CVE-2018-20430:
https://gnunet.org/bugs/view.php?id=5493
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20430
https://security-tracker.debian.org/tracker/CVE-2018-20430
Patch copied from upstream source repository:
https://gnunet.org/git/libextractor.git/commit/?id=b405d707b36e0654900cba78e89f49779efea110
From b405d707b36e0654900cba78e89f49779efea110 Mon Sep 17 00:00:00 2001
From: Christian Grothoff <christian@grothoff.org>
Date: Thu, 20 Dec 2018 22:47:53 +0100
Subject: [PATCH] fix #5493 (out of bounds read)
---
src/common/convert.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/common/convert.c b/src/common/convert.c
index c0edf21..2be2108 100644
--- a/src/common/convert.c
+++ b/src/common/convert.c
@@ -36,8 +36,8 @@
* string is returned.
*/
char *
-EXTRACTOR_common_convert_to_utf8 (const char *input,
- size_t len,
+EXTRACTOR_common_convert_to_utf8 (const char *input,
+ size_t len,
const char *charset)
{
#if HAVE_ICONV
@@ -52,7 +52,7 @@ EXTRACTOR_common_convert_to_utf8 (const char *input,
i = input;
cd = iconv_open ("UTF-8", charset);
if (cd == (iconv_t) - 1)
- return strdup (i);
+ return strndup (i, len);
if (len > 1024 * 1024)
{
iconv_close (cd);
@@ -67,11 +67,11 @@ EXTRACTOR_common_convert_to_utf8 (const char *input,
}
itmp = tmp;
finSize = tmpSize;
- if (iconv (cd, (char **) &input, &len, &itmp, &finSize) == SIZE_MAX)
+ if (iconv (cd, (char **) &input, &len, &itmp, &finSize) == ((size_t) -1))
{
iconv_close (cd);
free (tmp);
- return strdup (i);
+ return strndup (i, len);
}
ret = malloc (tmpSize - finSize + 1);
if (ret == NULL)
--
2.20.1

View File

@ -0,0 +1,53 @@
Fix CVE-2018-20431:
https://gnunet.org/bugs/view.php?id=5494
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20431
https://security-tracker.debian.org/tracker/CVE-2018-20431
Patch copied from upstream source repository:
https://gnunet.org/git/libextractor.git/commit/?id=489c4a540bb2c4744471441425b8932b97a153e7
To apply the patch to libextractor 1.8 release tarball,
hunk #1 which patches ChangeLog is removed.
From 489c4a540bb2c4744471441425b8932b97a153e7 Mon Sep 17 00:00:00 2001
From: Christian Grothoff <christian@grothoff.org>
Date: Thu, 20 Dec 2018 23:02:28 +0100
Subject: [PATCH] fix #5494
---
ChangeLog | 3 ++-
src/plugins/ole2_extractor.c | 9 +++++++--
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/src/plugins/ole2_extractor.c b/src/plugins/ole2_extractor.c
index 53fa1b9..a48b726 100644
--- a/src/plugins/ole2_extractor.c
+++ b/src/plugins/ole2_extractor.c
@@ -173,7 +173,7 @@ struct ProcContext
EXTRACTOR_MetaDataProcessor proc;
/**
- * Closure for 'proc'.
+ * Closure for @e proc.
*/
void *proc_cls;
@@ -213,7 +213,12 @@ process_metadata (gpointer key,
if (G_VALUE_TYPE(gval) == G_TYPE_STRING)
{
- contents = strdup (g_value_get_string (gval));
+ const char *gvals;
+
+ gvals = g_value_get_string (gval);
+ if (NULL == gvals)
+ return;
+ contents = strdup (gvals);
}
else
{
--
2.20.1

View File

@ -10,14 +10,14 @@ Last-Update: 2014-02-17
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/src/libsync/configfile.cpp
+++ b/src/libsync/configfile.cpp
@@ -417,11 +417,14 @@ bool ConfigFile::skipUpdateCheck( const
QString con( connection );
if( connection.isEmpty() ) con = defaultConnection();
@@ -522,11 +522,14 @@ bool ConfigFile::skipUpdateCheck(const Q
if (connection.isEmpty())
con = defaultConnection();
- QVariant fallback = getValue(QLatin1String(skipUpdateCheckC), con, false);
+ QVariant fallback = getValue(QLatin1String(skipUpdateCheckC), con, true);
fallback = getValue(QLatin1String(skipUpdateCheckC), QString(), fallback);
QVariant value = getPolicySetting(QLatin1String(skipUpdateCheckC), fallback);
- return value.toBool();
+ if ( !value.toBool() )
@ -25,25 +25,25 @@ This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+
+ return true;
}
void ConfigFile::setSkipUpdateCheck( bool skip, const QString& connection )
void ConfigFile::setSkipUpdateCheck(bool skip, const QString &connection)
--- a/src/gui/generalsettings.cpp
+++ b/src/gui/generalsettings.cpp
@@ -124,6 +124,7 @@ void GeneralSettings::loadMiscSettings()
@@ -146,6 +149,7 @@ void GeneralSettings::loadMiscSettings()
void GeneralSettings::slotUpdateInfo()
{
+ /* Guix doesn't want an autoupdater
// Note: the sparkle-updater is not an OCUpdater
OCUpdater *updater = qobject_cast<OCUpdater*>(Updater::instance());
if (ConfigFile().skipUpdateCheck()) {
@@ -140,6 +141,9 @@ void GeneralSettings::slotUpdateInfo()
// can't have those infos from sparkle currently
_ui->updatesGroupBox->setVisible(false);
}
if (ConfigFile().skipUpdateCheck() || !Updater::instance()) {
// updater disabled on compile
_ui->updaterWidget->setVisible(false);
@@ -174,6 +178,9 @@ void GeneralSettings::slotUpdateInfo()
_ui->updateChannel->setCurrentIndex(ConfigFile().updateChannel() == "beta" ? 1 : 0);
connect(_ui->updateChannel, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged),
this, &GeneralSettings::slotUpdateChannelChanged, Qt::UniqueConnection);
+ */
+ //hide the update group box for Guix.
+ _ui->updatesGroupBox->setVisible(false);
+ _ui->updaterWidget->setVisible(false);
}
void GeneralSettings::saveMiscSettings()
void GeneralSettings::slotUpdateChannelChanged(int index)

View File

@ -0,0 +1,70 @@
https://github.com/streamlink/streamlink/commit/a3123346824ee7b9c461110f292ea6987ea9a78d.patch
This is taken from upstream, and can be removed at the next release
From c6f3994e177a42792238f2edd07ba9053c10abc9 Mon Sep 17 00:00:00 2001
From: back-to <backto@protonmail.ch>
Date: Sat, 21 Jul 2018 14:30:51 +0200
Subject: [PATCH] tests.localization: use en_CA instead of en_US for
test_equivalent
**python-iso3166** got an update which breaks the Streamlink tests.
https://pypi.org/project/iso3166/#history
**python-iso3166** and **pycountry** have now a different `name` for _the United States of America_
> python-iso3166: United States of America
https://github.com/deactivated/python-iso3166/commit/e5f8b37f18b01fcb5fa0e8130d8296fc7a7b5a9f
> pycountry: United States
https://bitbucket.org/flyingcircus/pycountry/src/5aa4bb47e33798cb631a81521b7b5b18f7d6c919/src/pycountry/databases/iso3166-1.json?at=default&fileviewer=file-view-default#iso3166-1.json-1572:1578
https://www.iso.org/obp/ui/#iso:code:3166:US
---
use **en_CA** instead of **en_US** for backwards compatibility,
as changing the **US** name would fail with older versions of **python-iso3166** / **pycountry**
---
tests/test_localization.py | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/tests/test_localization.py b/tests/test_localization.py
index 0b81ae591..90bb3ac31 100644
--- a/tests/test_localization.py
+++ b/tests/test_localization.py
@@ -32,11 +32,12 @@ def test_bad_language_code(self):
self.assertRaises(LookupError, l10n.Localization, "enUS")
def test_equivalent(self):
- l = l10n.Localization("en_US")
+ l = l10n.Localization("en_CA")
self.assertTrue(l.equivalent(language="eng"))
self.assertTrue(l.equivalent(language="en"))
- self.assertTrue(l.equivalent(language="en", country="US"))
- self.assertTrue(l.equivalent(language="en", country="United States"))
+ self.assertTrue(l.equivalent(language="en", country="CA"))
+ self.assertTrue(l.equivalent(language="en", country="CAN"))
+ self.assertTrue(l.equivalent(language="en", country="Canada"))
def test_equivalent_remap(self):
l = l10n.Localization("fr_FR")
@@ -48,7 +49,7 @@ def test_not_equivalent(self):
self.assertFalse(l.equivalent(language="eng"))
self.assertFalse(l.equivalent(language="en"))
self.assertFalse(l.equivalent(language="en", country="US"))
- self.assertFalse(l.equivalent(language="en", country="United States"))
+ self.assertFalse(l.equivalent(language="en", country="Canada"))
self.assertFalse(l.equivalent(language="en", country="ES"))
self.assertFalse(l.equivalent(language="en", country="Spain"))
@@ -71,8 +72,8 @@ def test_get_country(self):
l10n.Localization.get_country("USA").alpha2)
self.assertEqual("GB",
l10n.Localization.get_country("GB").alpha2)
- self.assertEqual("United States",
- l10n.Localization.get_country("United States").name)
+ self.assertEqual("Canada",
+ l10n.Localization.get_country("Canada").name)
def test_get_country_miss(self):
self.assertRaises(LookupError, l10n.Localization.get_country, "XE")

View File

@ -1,189 +0,0 @@
Fix CVE-2016-10091 (stack-based buffer overflows in cmd_* functions):
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-10091
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=849705
http://seclists.org/oss-sec/2016/q4/787
Patch adapted from Debian:
https://anonscm.debian.org/cgit/collab-maint/unrtf.git/commit/?h=jessie&id=7500a48fb0fbad3ab963fb17560b2f90a8a485c8
The Debian patch adapts this upstream commit so that it can be applied
to the 0.21.9 release tarball:
http://hg.savannah.gnu.org/hgweb/unrtf/rev/3b16893a6406
From 7dd568ed8a6a5acb6c04f2b40f457d63a00435f3 Mon Sep 17 00:00:00 2001
From: Willi Mann <willi@debian.org>
Date: Sat, 31 Dec 2016 20:31:38 +0100
Subject: [PATCH] Add patch from upstream to fix CVE-2016-10091 (buffer
overflow in various cmd_ functions)
diff --git a/src/attr.c b/src/attr.c
index 02b5c81..e2951ea 100644
--- a/src/attr.c
+++ b/src/attr.c
@@ -746,7 +746,7 @@ char *
assemble_string(char *string, int nr)
{
- char *s, tmp[12];/* Number of characters that can be in int type (including '\0') - AF */
+ char *s, tmp[20];
int i = 0, j = 0;
if (string == NULL)
@@ -762,7 +762,7 @@ assemble_string(char *string, int nr)
}
if (string[i] != '\0') {
- sprintf(tmp, "%d", nr);
+ snprintf(tmp, 20, "%d", nr);
strcpy(&s[j], tmp);
j = j + strlen(tmp);
}
diff --git a/src/convert.c b/src/convert.c
index c76d7d6..8eacdcb 100644
--- a/src/convert.c
+++ b/src/convert.c
@@ -472,7 +472,7 @@ static const int fcharsetparmtocp(int parm)
}
// Translate code page to encoding name hopefully suitable as iconv input
-static char *cptoencoding(parm)
+static char *cptoencoding(int parm)
{
// Note that CP0 is supposed to mean current system default, which does
// not make any sense as a stored value, we don't handle it.
@@ -964,7 +964,7 @@ cmd_cf (Word *w, int align, char has_param, int num)
}
else
{
- sprintf(str,"#%02x%02x%02x",
+ snprintf(str, 40, "#%02x%02x%02x",
color_table[num].r,
color_table[num].g,
color_table[num].b);
@@ -993,7 +993,7 @@ cmd_cb (Word *w, int align, char has_param, int num)
}
else
{
- sprintf(str,"#%02x%02x%02x",
+ snprintf(str, 40, "#%02x%02x%02x",
color_table[num].r,
color_table[num].g,
color_table[num].b);
@@ -1018,7 +1018,7 @@ cmd_fs (Word *w, int align, char has_param, int points) {
/* Note, fs20 means 10pt */
points /= 2;
- sprintf(str,"%d",points);
+ snprintf(str, 20, "%d", points);
attr_push(ATTR_FONTSIZE,str);
return FALSE;
@@ -1166,7 +1166,7 @@ cmd_f (Word *w, int align, char has_param, int num)
{
// TOBEDONE: WHAT'S THIS ???
name = my_malloc(12);
- sprintf(name, "%d", num);
+ snprintf(name, 12, "%d", num);
}
/* we are going to output entities, so should not output font */
@@ -1218,7 +1218,7 @@ cmd_highlight (Word *w, int align, char has_param, int num)
}
else
{
- sprintf(str,"#%02x%02x%02x",
+ snprintf(str, 40, "#%02x%02x%02x",
color_table[num].r,
color_table[num].g,
color_table[num].b);
@@ -1373,9 +1373,9 @@ cmd_ftech (Word *w, int align, char has_param, int param) {
static int
cmd_expand (Word *w, int align, char has_param, int param) {
- char str[10];
+ char str[20];
if (has_param) {
- sprintf(str, "%d", param/4);
+ snprintf(str, 20, "%d", param / 4);
if (!param)
attr_pop(ATTR_EXPAND);
else
@@ -1394,7 +1394,7 @@ cmd_expand (Word *w, int align, char has_param, int param) {
static int
cmd_emboss (Word *w, int align, char has_param, int param) {
- char str[10];
+ char str[20];
if (has_param && !param)
#ifdef SUPPORT_UNNESTED
attr_find_pop(ATTR_EMBOSS);
@@ -1403,7 +1403,7 @@ cmd_emboss (Word *w, int align, char has_param, int param) {
#endif
else
{
- sprintf(str, "%d", param);
+ snprintf(str, 20, "%d", param);
attr_push(ATTR_EMBOSS, str);
}
return FALSE;
@@ -1419,12 +1419,12 @@ cmd_emboss (Word *w, int align, char has_param, int param) {
static int
cmd_engrave (Word *w, int align, char has_param, int param) {
- char str[10];
+ char str[20];
if (has_param && !param)
attr_pop(ATTR_ENGRAVE);
else
{
- sprintf(str, "%d", param);
+ snprintf(str, 20, "%d", param);
attr_push(ATTR_ENGRAVE, str);
}
return FALSE;
@@ -1976,7 +1976,7 @@ static int cmd_u (Word *w, int align, char has_param, int param) {
short done=0;
long unicode_number = (long) param; /* On 16bit architectures int is too small to store unicode characters. - AF */
- char tmp[12]; /* Number of characters that can be in int type (including '\0'). If int size is greater than 4 bytes change this value. - AF */
+ char tmp[20]; /* Number of characters that can be in int type (including '\0'). If int size is greater than 4 bytes change this value. - AF */
const char *alias;
#define DEBUG 0
#if DEBUG
@@ -2006,7 +2006,7 @@ static int cmd_u (Word *w, int align, char has_param, int param) {
/* RTF spec: Unicode values beyond 32767 are represented by negative numbers */
unicode_number += 65536;
}
- sprintf(tmp, "%ld", unicode_number);
+ snprintf(tmp, 20, "%ld", unicode_number);
if (safe_printf(1, op->unisymbol_print, tmp)) fprintf(stderr, TOO_MANY_ARGS, "unisymbol_print");
done++;
diff --git a/src/output.c b/src/output.c
index 86d8b5c..4cdbfa6 100644
--- a/src/output.c
+++ b/src/output.c
@@ -320,7 +320,7 @@ op_begin_std_fontsize (OutputPersonality *op, int size)
if (!found_std_expr) {
if (op->fontsize_begin) {
char expr[16];
- sprintf (expr, "%d", size);
+ snprintf(expr, 16, "%d", size);
if (safe_printf (1, op->fontsize_begin, expr)) fprintf(stderr, TOO_MANY_ARGS, "fontsize_begin");
} else {
/* If we cannot write out a change for the exact
@@ -440,7 +440,7 @@ op_end_std_fontsize (OutputPersonality *op, int size)
if (!found_std_expr) {
if (op->fontsize_end) {
char expr[16];
- sprintf (expr, "%d", size);
+ snprintf(expr, 16, "%d", size);
if (safe_printf(1, op->fontsize_end, expr)) fprintf(stderr, TOO_MANY_ARGS, "fontsize_end");
} else {
/* If we cannot write out a change for the exact
-
.11.0

View File

@ -0,0 +1,33 @@
This patch was copied from Debian.
Description: Fix format load_address for 32 bits architectures
The offset and load_address are 64bits integers
On 32bits we have to use strtoull (instead of strtoul) to parse number
into 64bits unsigned integers. Without this the parsed numbers are
truncated to 2^32-1.
Author: Sophie Brun <sophie@freexian.com>
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=881997
Forwarded: https://bugs.chromium.org/p/chromium/issues/detail?id=786969
Last-Update: 2017-11-20
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/futility/cmd_bdb.c
+++ b/futility/cmd_bdb.c
@@ -637,7 +637,7 @@ static int do_bdb(int argc, char *argv[]
}
break;
case OPT_OFFSET:
- offset = strtoul(optarg, &e, 0);
+ offset = strtoull(optarg, &e, 0);
if (!*optarg || (e && *e)) {
fprintf(stderr, "Invalid --offset\n");
parse_error = 1;
@@ -658,7 +658,7 @@ static int do_bdb(int argc, char *argv[]
}
break;
case OPT_LOAD_ADDRESS:
- load_address = strtoul(optarg, &e, 0);
+ load_address = strtoull(optarg, &e, 0);
if (!*optarg || (e && *e)) {
fprintf(stderr, "Invalid --load_address\n");
parse_error = 1;

View File

@ -0,0 +1,142 @@
This patch was copied from Debian.
Description: Fix tests/futility/test_show_contents.sh
Tests compare generated files containing the file path and upstream files
("expected output") containing path like
"/mnt/host/source/src/platform/vboot_reference/tests/". They can't
match. Drop these lines mentioning paths in the generated files and in
the upstream provided files to avoid failures.
Author: Sophie Brun <sophie@freexian.com>
Last-Update: 2017-11-14
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/tests/futility/expect_output/show.tests_devkeys_kernel.keyblock
+++ b/tests/futility/expect_output/show.tests_devkeys_kernel.keyblock
@@ -1,4 +1,3 @@
-Key block: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/kernel.keyblock
Signature: ignored
Size: 0x4b8
Flags: 7 !DEV DEV !REC
--- a/tests/futility/expect_output/show.tests_devkeys_root_key.vbprivk
+++ b/tests/futility/expect_output/show.tests_devkeys_root_key.vbprivk
@@ -1,4 +1,3 @@
-Private Key file: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/root_key.vbprivk
Vboot API: 1.0
Algorithm: 11 RSA8192 SHA512
Key sha1sum: b11d74edd286c144e1135b49e7f0bc20cf041f10
--- a/tests/futility/expect_output/show.tests_devkeys_root_key.vbpubk
+++ b/tests/futility/expect_output/show.tests_devkeys_root_key.vbpubk
@@ -1,4 +1,3 @@
-Public Key file: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/root_key.vbpubk
Vboot API: 1.0
Algorithm: 11 RSA8192 SHA512
Key Version: 1
--- a/tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin
+++ b/tests/futility/expect_output/show.tests_futility_data_bios_mario_mp.bin
@@ -1,4 +1,3 @@
-BIOS: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/bios_mario_mp.bin
GBB header: GBB Area
Version: 1.0
Flags: 0x00000000
--- a/tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin
+++ b/tests/futility/expect_output/show.tests_futility_data_bios_zgb_mp.bin
@@ -1,4 +1,3 @@
-BIOS: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/bios_zgb_mp.bin
GBB header: GBB
Version: 1.0
Flags: 0x00000000
--- a/tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin
+++ b/tests/futility/expect_output/show.tests_futility_data_fw_gbb.bin
@@ -1,4 +1,3 @@
-GBB header: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/fw_gbb.bin
Version: 1.1
Flags: 0x00000039
Regions: offset size
--- a/tests/futility/expect_output/show.tests_futility_data_fw_vblock.bin
+++ b/tests/futility/expect_output/show.tests_futility_data_fw_vblock.bin
@@ -1,4 +1,3 @@
-Key block: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/fw_vblock.bin
Signature: ignored
Size: 0x8b8
Flags: 7 !DEV DEV !REC
--- a/tests/futility/expect_output/show.tests_futility_data_kern_preamble.bin
+++ b/tests/futility/expect_output/show.tests_futility_data_kern_preamble.bin
@@ -1,4 +1,3 @@
-Kernel partition: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/kern_preamble.bin
Key block:
Signature: ignored
Size: 0x5b8
--- a/tests/futility/expect_output/show.tests_futility_data_sample.vbprik2
+++ b/tests/futility/expect_output/show.tests_futility_data_sample.vbprik2
@@ -1,4 +1,3 @@
-Private key file: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/sample.vbprik2
Vboot API: 2.1
Desc: "sample vb21 keypair"
Signature Algorithm: 5 RSA8192
--- a/tests/futility/expect_output/show.tests_futility_data_sample.vbpubk2
+++ b/tests/futility/expect_output/show.tests_futility_data_sample.vbpubk2
@@ -1,4 +1,3 @@
-Public Key file: /mnt/host/source/src/platform/vboot_reference/tests/futility/data/sample.vbpubk2
Vboot API: 2.1
Desc: "sample vb21 keypair"
Signature Algorithm: 5 RSA8192
--- a/tests/futility/expect_output/show.tests_testkeys_key_rsa2048.pem
+++ b/tests/futility/expect_output/show.tests_testkeys_key_rsa2048.pem
@@ -1,3 +1,2 @@
-Private Key file: /mnt/host/source/src/platform/vboot_reference/tests/testkeys/key_rsa2048.pem
Key length: 2048
Key sha1sum: bfb2fa9188a87bf766dd7c313ea6802553b646b6
--- a/tests/futility/expect_output/show.tests_testkeys_key_rsa8192.pub.pem
+++ b/tests/futility/expect_output/show.tests_testkeys_key_rsa8192.pub.pem
@@ -1,3 +1,2 @@
-Public Key file: /mnt/host/source/src/platform/vboot_reference/tests/testkeys/key_rsa8192.pub.pem
Key length: 8192
Key sha1sum: f1afa44a1aed0d0e9ff630579df920a725e9de5e
--- a/tests/futility/test_show_contents.sh
+++ b/tests/futility/test_show_contents.sh
@@ -29,7 +29,7 @@ for file in $SHOW_FILES; do
outfile="show.${file//\//_}"
gotfile="${OUTDIR}/${outfile}"
wantfile="${SRCDIR}/tests/futility/expect_output/${outfile}"
- ${FUTILITY} show "${SRCDIR}/${file}" | tee "${gotfile}"
+ ${FUTILITY} show "${SRCDIR}/${file}" | grep -v "tests/" | tee "${gotfile}"
# Uncomment this to update the expected output
#cp ${gotfile} ${wantfile}
@@ -48,7 +48,7 @@ for file in $VBUTIL_KEY_FILES; do
outfile="vbutil_key.${file//\//_}"
gotfile="${OUTDIR}/${outfile}"
wantfile="${SRCDIR}/tests/futility/expect_output/${outfile}"
- ${FUTILITY} vbutil_key --unpack "${SRCDIR}/${file}" | tee "${gotfile}"
+ ${FUTILITY} vbutil_key --unpack "${SRCDIR}/${file}" | grep -v "tests/" | tee "${gotfile}"
# Uncomment this to update the expected output
#cp ${gotfile} ${wantfile}
@@ -64,7 +64,7 @@ gotfile="${OUTDIR}/${outfile}"
wantfile="${SRCDIR}/tests/futility/expect_output/${outfile}"
${FUTILITY} vbutil_keyblock --unpack "${SRCDIR}/${file}" \
--signpubkey "${SRCDIR}/tests/devkeys/kernel_subkey.vbpubk" \
- | tee "${gotfile}"
+ | grep -v "tests/" | tee "${gotfile}"
# Uncomment this to update the expected output
#cp ${gotfile} ${wantfile}
--- a/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbprivk
+++ b/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbprivk
@@ -1,2 +1 @@
-Private Key file: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/root_key.vbprivk
Algorithm: 11 RSA8192 SHA512
--- a/tests/futility/expect_output/vbutil_keyblock.tests_devkeys_kernel.keyblock
+++ b/tests/futility/expect_output/vbutil_keyblock.tests_devkeys_kernel.keyblock
@@ -1,4 +1,3 @@
-Key block file: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/kernel.keyblock
Signature valid
Flags: 7 !DEV DEV !REC
Data key algorithm: 4 RSA2048 SHA256
--- a/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbpubk
+++ b/tests/futility/expect_output/vbutil_key.tests_devkeys_root_key.vbpubk
@@ -1,4 +1,3 @@
-Public Key file: /mnt/host/source/src/platform/vboot_reference/tests/devkeys/root_key.vbpubk
Algorithm: 11 RSA8192 SHA512
Key Version: 1
Key sha1sum: b11d74edd286c144e1135b49e7f0bc20cf041f10

View File

@ -0,0 +1,21 @@
This patch was copied from Debian.
Description: skip the workbuf test if VB2_WORKBUF_ALIGN different from 16
Author: Sophie Brun <sophie@freexian.com>
Last-Update: 2015-12-03
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/tests/vb2_common_tests.c
+++ b/tests/vb2_common_tests.c
@@ -70,6 +70,11 @@ static void test_workbuf(void)
/* NOTE: There are several magic numbers below which assume that
* VB2_WORKBUF_ALIGN == 16 */
+ /* Skip the tests if VB2_WORKBUF_ALIGN != 16 */
+ if (VB2_WORKBUF_ALIGN != 16) {
+ return;
+ }
+
/* Init */
vb2_workbuf_init(&wb, p0, 64);
TEST_EQ(vb2_offset_of(p0, wb.buf), 0, "Workbuf init aligned");

View File

@ -0,0 +1,320 @@
https://gitlab.gnome.org/GNOME/vinagre/merge_requests/4.patch
From 83ec3835c36d5cd2c957512c18d21a33b4136c95 Mon Sep 17 00:00:00 2001
From: Ondrej Holy <oholy@redhat.com>
Date: Tue, 20 Nov 2018 14:57:17 +0100
Subject: [PATCH 1/2] Fix build with recent FreeRDP versions
Vinagre is not buildable with recent FreeRDP versions and similar patches
are used by distributions to fix that. I have also removed some old
compatibility codes, because it wasn't buildable against 1.0, nor 1.1
anyway and 1.2 has never been officially released and is superseded by 2.0.
https://gitlab.gnome.org/GNOME/vinagre/issues/4
---
configure.ac | 7 +-
plugins/rdp/vinagre-rdp-tab.c | 129 +++++++---------------------------
2 files changed, 27 insertions(+), 109 deletions(-)
diff --git a/configure.ac b/configure.ac
index 5b51a82..61617f1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -58,16 +58,15 @@ AS_IF([test "x$have_ssh" = "xyes"],
AM_CONDITIONAL([VINAGRE_ENABLE_SSH], [test "x$have_ssh" = "xyes"])
# Whether to enable support for RDP.
-RDP_DEPS="freerdp x11"
+RDP_DEPS="freerdp2 x11"
+
AC_ARG_ENABLE([rdp],
[AS_HELP_STRING([--disable-rdp],
[Disable Remote Desktop Protocol (RDP) support])])
AS_IF([test "x$enable_rdp" != "xno"],
[PKG_CHECK_EXISTS([$RDP_DEPS],
- [have_rdp=yes
- PKG_CHECK_EXISTS(freerdp >= 1.1,
- [AC_DEFINE([HAVE_FREERDP_1_1], [1], [FreeRDP is of version 1.1 or newer])], [])],
+ [have_rdp=yes],
[have_rdp=no])],
[have_rdp=no])
diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
index 5b98c24..28e3eb6 100644
--- a/plugins/rdp/vinagre-rdp-tab.c
+++ b/plugins/rdp/vinagre-rdp-tab.c
@@ -29,12 +29,7 @@
#include <freerdp/types.h>
#include <freerdp/freerdp.h>
#include <freerdp/gdi/gdi.h>
-#if HAVE_FREERDP_1_1
#include <freerdp/locale/keyboard.h>
-#else
-#include <freerdp/kbd/vkcodes.h>
-#include <gdk/gdkx.h>
-#endif
#include "vinagre-rdp-tab.h"
#include "vinagre-rdp-connection.h"
@@ -44,12 +39,6 @@
#define SELECT_TIMEOUT 50
-#if !HAVE_FREERDP_1_1
-typedef boolean BOOL;
-typedef uint8 UINT8;
-typedef uint16 UINT16;
-#endif
-
struct _VinagreRdpTabPrivate
{
freerdp *freerdp_session;
@@ -476,16 +465,18 @@ frdp_drawing_area_draw (GtkWidget *area,
return TRUE;
}
-static void
+static BOOL
frdp_begin_paint (rdpContext *context)
{
rdpGdi *gdi = context->gdi;
gdi->primary->hdc->hwnd->invalid->null = 1;
gdi->primary->hdc->hwnd->ninvalid = 0;
+
+ return TRUE;
}
-static void
+static BOOL
frdp_end_paint (rdpContext *context)
{
VinagreRdpTab *rdp_tab = ((frdpContext *) context)->rdp_tab;
@@ -495,7 +486,7 @@ frdp_end_paint (rdpContext *context)
gint x, y, w, h;
if (gdi->primary->hdc->hwnd->invalid->null)
- return;
+ return TRUE;
x = gdi->primary->hdc->hwnd->invalid->x;
y = gdi->primary->hdc->hwnd->invalid->y;
@@ -517,6 +508,8 @@ frdp_end_paint (rdpContext *context)
{
gtk_widget_queue_draw_area (priv->display, x, y, w, h);
}
+
+ return TRUE;
}
static BOOL
@@ -524,7 +517,6 @@ frdp_pre_connect (freerdp *instance)
{
rdpSettings *settings = instance->settings;
-#if HAVE_FREERDP_1_1
settings->OrderSupport[NEG_DSTBLT_INDEX] = TRUE;
settings->OrderSupport[NEG_PATBLT_INDEX] = TRUE;
settings->OrderSupport[NEG_SCRBLT_INDEX] = TRUE;
@@ -549,32 +541,6 @@ frdp_pre_connect (freerdp *instance)
settings->OrderSupport[NEG_POLYGON_CB_INDEX] = FALSE;
settings->OrderSupport[NEG_ELLIPSE_SC_INDEX] = FALSE;
settings->OrderSupport[NEG_ELLIPSE_CB_INDEX] = FALSE;
-#else
- settings->order_support[NEG_DSTBLT_INDEX] = true;
- settings->order_support[NEG_PATBLT_INDEX] = true;
- settings->order_support[NEG_SCRBLT_INDEX] = true;
- settings->order_support[NEG_OPAQUE_RECT_INDEX] = true;
- settings->order_support[NEG_DRAWNINEGRID_INDEX] = false;
- settings->order_support[NEG_MULTIDSTBLT_INDEX] = false;
- settings->order_support[NEG_MULTIPATBLT_INDEX] = false;
- settings->order_support[NEG_MULTISCRBLT_INDEX] = false;
- settings->order_support[NEG_MULTIOPAQUERECT_INDEX] = true;
- settings->order_support[NEG_MULTI_DRAWNINEGRID_INDEX] = false;
- settings->order_support[NEG_LINETO_INDEX] = true;
- settings->order_support[NEG_POLYLINE_INDEX] = true;
- settings->order_support[NEG_MEMBLT_INDEX] = true;
- settings->order_support[NEG_MEM3BLT_INDEX] = false;
- settings->order_support[NEG_MEMBLT_V2_INDEX] = true;
- settings->order_support[NEG_MEM3BLT_V2_INDEX] = false;
- settings->order_support[NEG_SAVEBITMAP_INDEX] = false;
- settings->order_support[NEG_GLYPH_INDEX_INDEX] = true;
- settings->order_support[NEG_FAST_INDEX_INDEX] = true;
- settings->order_support[NEG_FAST_GLYPH_INDEX] = false;
- settings->order_support[NEG_POLYGON_SC_INDEX] = false;
- settings->order_support[NEG_POLYGON_CB_INDEX] = false;
- settings->order_support[NEG_ELLIPSE_SC_INDEX] = false;
- settings->order_support[NEG_ELLIPSE_CB_INDEX] = false;
-#endif
return TRUE;
}
@@ -587,15 +553,7 @@ frdp_post_connect (freerdp *instance)
rdpGdi *gdi;
int stride;
- gdi_init (instance,
-#if defined(FREERDP_VERSION_MAJOR) && defined(FREERDP_VERSION_MINOR) && \
- !(FREERDP_VERSION_MAJOR > 1 || (FREERDP_VERSION_MAJOR == 1 && \
- FREERDP_VERSION_MINOR >= 2))
- CLRBUF_24BPP,
-#else
- CLRBUF_32BPP,
-#endif
- NULL);
+ gdi_init (instance, PIXEL_FORMAT_BGRA32);
gdi = instance->context->gdi;
instance->update->BeginPaint = frdp_begin_paint;
@@ -705,21 +663,15 @@ frdp_key_pressed (GtkWidget *widget,
VinagreRdpTab *rdp_tab = (VinagreRdpTab *) user_data;
VinagreRdpTabPrivate *priv = rdp_tab->priv;
frdpEventKey *frdp_event;
-#if HAVE_FREERDP_1_1
UINT16 scancode;
-#endif
frdp_event = g_new0 (frdpEventKey, 1);
frdp_event->type = FRDP_EVENT_TYPE_KEY;
frdp_event->flags = event->type == GDK_KEY_PRESS ? KBD_FLAGS_DOWN : KBD_FLAGS_RELEASE;
-#if HAVE_FREERDP_1_1
scancode = freerdp_keyboard_get_rdp_scancode_from_x11_keycode (event->hardware_keycode);
frdp_event->code = RDP_SCANCODE_CODE(scancode);
frdp_event->extended = RDP_SCANCODE_EXTENDED(scancode);
-#else
- frdp_event->code = freerdp_kbd_get_scancode_by_keycode (event->hardware_keycode, &frdp_event->extended);
-#endif
if (frdp_event->extended)
frdp_event->flags |= KBD_FLAGS_EXTENDED;
@@ -934,11 +886,13 @@ frdp_authenticate (freerdp *instance,
return TRUE;
}
-static BOOL
+static DWORD
frdp_certificate_verify (freerdp *instance,
- char *subject,
- char *issuer,
- char *fingerprint)
+ const char *common_name,
+ const char *subject,
+ const char *issuer,
+ const char *fingerprint,
+ BOOL host_mismatch)
{
VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
GtkBuilder *builder;
@@ -968,17 +922,18 @@ frdp_certificate_verify (freerdp *instance,
gtk_widget_hide (dialog);
- return response == GTK_RESPONSE_YES;
+ return (response == GTK_RESPONSE_YES) ? 1 : 0;
}
-
-#if HAVE_FREERDP_1_1
-static BOOL
+static DWORD
frdp_changed_certificate_verify (freerdp *instance,
- char *subject,
- char *issuer,
- char *new_fingerprint,
- char *old_fingerprint)
+ const char *common_name,
+ const char *subject,
+ const char *issuer,
+ const char *new_fingerprint,
+ const char *old_subject,
+ const char *old_issuer,
+ const char *old_fingerprint)
{
VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
GtkBuilder *builder;
@@ -1023,9 +978,8 @@ frdp_changed_certificate_verify (freerdp *instance,
gtk_widget_hide (dialog);
- return response == GTK_RESPONSE_YES;
+ return (response == GTK_RESPONSE_YES) ? 1 : 0;
}
-#endif
static void
init_freerdp (VinagreRdpTab *rdp_tab)
@@ -1053,15 +1007,9 @@ init_freerdp (VinagreRdpTab *rdp_tab)
priv->freerdp_session->PostConnect = frdp_post_connect;
priv->freerdp_session->Authenticate = frdp_authenticate;
priv->freerdp_session->VerifyCertificate = frdp_certificate_verify;
-#if HAVE_FREERDP_1_1
priv->freerdp_session->VerifyChangedCertificate = frdp_changed_certificate_verify;
-#endif
-#if HAVE_FREERDP_1_1
priv->freerdp_session->ContextSize = sizeof (frdpContext);
-#else
- priv->freerdp_session->context_size = sizeof (frdpContext);
-#endif
freerdp_context_new (priv->freerdp_session);
((frdpContext *) priv->freerdp_session->context)->rdp_tab = rdp_tab;
@@ -1070,53 +1018,24 @@ init_freerdp (VinagreRdpTab *rdp_tab)
settings = priv->freerdp_session->settings;
/* Security settings */
-#if HAVE_FREERDP_1_1
settings->RdpSecurity = TRUE;
settings->TlsSecurity = TRUE;
settings->NlaSecurity = TRUE;
settings->EncryptionMethods = ENCRYPTION_METHOD_40BIT | ENCRYPTION_METHOD_128BIT | ENCRYPTION_METHOD_FIPS;
settings->EncryptionLevel = ENCRYPTION_LEVEL_CLIENT_COMPATIBLE;
-#else
- settings->rdp_security = true;
- settings->tls_security = true;
- settings->nla_security = true;
- settings->encryption = true;
- settings->encryption_method = ENCRYPTION_METHOD_40BIT | ENCRYPTION_METHOD_128BIT | ENCRYPTION_METHOD_FIPS;
- settings->encryption_level = ENCRYPTION_LEVEL_CLIENT_COMPATIBLE;
-#endif
-#include <freerdp/version.h>
-#if (FREERDP_VERSION_MAJOR == 1 && FREERDP_VERSION_MINOR >= 2 && FREERDP_VERSION_REVISION >= 1) || (FREERDP_VERSION_MAJOR == 2)
settings->UseRdpSecurityLayer = FALSE;
-#else
- settings->DisableEncryption = FALSE;
-#endif
/* Set display size */
-#if HAVE_FREERDP_1_1
settings->DesktopWidth = width;
settings->DesktopHeight = height;
-#else
- settings->width = width;
- settings->height = height;
-#endif
/* Set hostname */
-#if HAVE_FREERDP_1_1
settings->WindowTitle = g_strdup (hostname);
settings->ServerHostname = g_strdup (hostname);
settings->ServerPort = port;
-#else
- settings->window_title = g_strdup (hostname);
- settings->hostname = g_strdup (hostname);
- settings->port = port;
-#endif
/* Set keyboard layout */
-#if HAVE_FREERDP_1_1
freerdp_keyboard_init (KBD_US);
-#else
- freerdp_kbd_init (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), KBD_US);
-#endif
/* Allow font smoothing by default */
settings->AllowFontSmoothing = TRUE;
--
2.18.1

View File

@ -0,0 +1,212 @@
https://gitlab.gnome.org/GNOME/vinagre/merge_requests/4.patch
From 141f9383129795da267a8111897fb3a0a324b080 Mon Sep 17 00:00:00 2001
From: Ondrej Holy <oholy@redhat.com>
Date: Thu, 22 Nov 2018 17:22:35 +0100
Subject: [PATCH 2/2] Handle new RDP certificate parameters
The freerdp2 certificate callbacks contains more parameters, let's
present some of them to user also.
---
data/vinagre.ui | 80 ++++++++++++++++++++++++++++++-----
plugins/rdp/vinagre-rdp-tab.c | 26 +++++-------
2 files changed, 80 insertions(+), 26 deletions(-)
diff --git a/data/vinagre.ui b/data/vinagre.ui
index 3135336..d7ce258 100644
--- a/data/vinagre.ui
+++ b/data/vinagre.ui
@@ -885,7 +885,7 @@ Do you trust the new certificate?</property>
<property name="vexpand">True</property>
<property name="xalign">0</property>
<property name="xpad">12</property>
- <property name="label" translatable="yes" comments="Subject of the certificate.">Subject:</property>
+ <property name="label" translatable="yes" comments="Subject of the certificate.">New subject:</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -901,7 +901,7 @@ Do you trust the new certificate?</property>
<property name="vexpand">True</property>
<property name="xalign">0</property>
<property name="xpad">12</property>
- <property name="label" translatable="yes" comments="Issuer of the certificate.">Issuer:</property>
+ <property name="label" translatable="yes" comments="Issuer of the certificate.">New issuer:</property>
</object>
<packing>
<property name="left_attach">0</property>
@@ -927,7 +927,55 @@ Do you trust the new certificate?</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="certificate_changed_subject">
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="vexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">12</property>
+ <property name="label" translatable="yes" comments="Subject of the old certificate.">Old subject:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">3</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="vexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">12</property>
+ <property name="label" translatable="yes" comments="Issuer of the old certificate.">Old issuer:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="vexpand">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">12</property>
+ <property name="label" translatable="yes" comments="Fingerprint of the old certificate.">Old fingerprint:</property>
+ </object>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="top_attach">5</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="certificate_changed_new_subject">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -942,7 +990,7 @@ Do you trust the new certificate?</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="certificate_changed_issuer">
+ <object class="GtkLabel" id="certificate_changed_new_issuer">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="hexpand">True</property>
@@ -972,21 +1020,33 @@ Do you trust the new certificate?</property>
</packing>
</child>
<child>
- <object class="GtkLabel" id="certificate_changed_old_fingerprint_label">
+ <object class="GtkLabel" id="certificate_changed_old_subject">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="vexpand">True</property>
+ <property name="hexpand">True</property>
<property name="xalign">0</property>
- <property name="xpad">12</property>
- <property name="label" translatable="yes" comments="Fingerprint of the old certificate.">Old fingerprint:</property>
</object>
<packing>
- <property name="left_attach">0</property>
+ <property name="left_attach">1</property>
<property name="top_attach">3</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
</child>
+ <child>
+ <object class="GtkLabel" id="certificate_changed_old_issuer">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="hexpand">True</property>
+ <property name="xalign">0</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">4</property>
+ <property name="width">1</property>
+ <property name="height">1</property>
+ </packing>
+ </child>
<child>
<object class="GtkLabel" id="certificate_changed_old_fingerprint">
<property name="visible">True</property>
@@ -997,7 +1057,7 @@ Do you trust the new certificate?</property>
</object>
<packing>
<property name="left_attach">1</property>
- <property name="top_attach">3</property>
+ <property name="top_attach">5</property>
<property name="width">1</property>
<property name="height">1</property>
</packing>
diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
index 28e3eb6..30a8698 100644
--- a/plugins/rdp/vinagre-rdp-tab.c
+++ b/plugins/rdp/vinagre-rdp-tab.c
@@ -917,6 +917,7 @@ frdp_certificate_verify (freerdp *instance,
widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_fingerprint"));
gtk_label_set_text (GTK_LABEL (widget), fingerprint);
+ /* FIXME: Warn user in case of host_mismatch. */
response = gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_hide (dialog);
@@ -939,7 +940,6 @@ frdp_changed_certificate_verify (freerdp *instance,
GtkBuilder *builder;
GtkWidget *dialog;
GtkWidget *widget;
- GtkWidget *label;
gint response;
builder = vinagre_utils_get_builder ();
@@ -950,29 +950,23 @@ frdp_changed_certificate_verify (freerdp *instance,
_("Connect"), GTK_RESPONSE_YES, NULL);
gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_YES);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_subject"));
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_new_subject"));
gtk_label_set_text (GTK_LABEL (widget), subject);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_issuer"));
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_new_issuer"));
gtk_label_set_text (GTK_LABEL (widget), issuer);
widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_new_fingerprint"));
gtk_label_set_text (GTK_LABEL (widget), new_fingerprint);
- widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_fingerprint"));
- label = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_fingerprint_label"));
- if (old_fingerprint != NULL && old_fingerprint[0] != '\0')
- {
- gtk_label_set_text (GTK_LABEL (widget), old_fingerprint);
- gtk_widget_show (widget);
- gtk_widget_show (label);
- }
- else
- {
- gtk_widget_hide (widget);
- gtk_widget_hide (label);
- }
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_subject"));
+ gtk_label_set_text (GTK_LABEL (widget), old_subject);
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_issuer"));
+ gtk_label_set_text (GTK_LABEL (widget), old_issuer);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "certificate_changed_old_fingerprint"));
+ gtk_label_set_text (GTK_LABEL (widget), old_fingerprint);
response = gtk_dialog_run (GTK_DIALOG (dialog));
gtk_widget_hide (dialog);
--
2.18.1

View File

@ -1,56 +0,0 @@
Patch taken from Debian: revert changes that prevent building against freerdp
version 1.1 branch.
From 8ebc0685b85e0d1f70eb00171f2e7712de3d44bd Mon Sep 17 00:00:00 2001
From: Michael Biebl <biebl@debian.org>
Date: Thu, 22 Sep 2016 01:15:55 +0200
Subject: [PATCH 1/2] Revert "Improve FreeRDP authentication failure handling"
This reverts commit d7b4f88943e8615d252d27e1efc58cb64a9e1821.
---
plugins/rdp/vinagre-rdp-tab.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
index b731f9b..8572bc3 100644
--- a/plugins/rdp/vinagre-rdp-tab.c
+++ b/plugins/rdp/vinagre-rdp-tab.c
@@ -1195,8 +1195,8 @@ open_freerdp (VinagreRdpTab *rdp_tab)
VinagreTab *tab = VINAGRE_TAB (rdp_tab);
GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
gboolean success = TRUE;
+ gboolean authentication_error = FALSE;
gboolean cancelled = FALSE;
- guint authentication_errors = 0;
priv->events = g_queue_new ();
@@ -1205,12 +1205,14 @@ open_freerdp (VinagreRdpTab *rdp_tab)
do
{
+ authentication_error = FALSE;
+
/* Run FreeRDP session */
success = freerdp_connect (priv->freerdp_session);
if (!success)
{
- authentication_errors += freerdp_get_last_error (priv->freerdp_session->context) == 0x20009 ||
- freerdp_get_last_error (priv->freerdp_session->context) == 0x2000c;
+ authentication_error = freerdp_get_last_error (priv->freerdp_session->context) == 0x20009 ||
+ freerdp_get_last_error (priv->freerdp_session->context) == 0x2000c;
cancelled = freerdp_get_last_error (priv->freerdp_session->context) == 0x2000b;
@@ -1218,7 +1220,7 @@ open_freerdp (VinagreRdpTab *rdp_tab)
init_freerdp (rdp_tab);
}
}
- while (!success && authentication_errors < 3);
+ while (!success && authentication_error);
if (!success)
{
--
2.9.3

View File

@ -1,448 +0,0 @@
Patch taken from Debian: revert changes that prevent building against freerdp
version 1.1 branch.
From bb1828b6b7eb29bb037bcc687cf10f916ddc7561 Mon Sep 17 00:00:00 2001
From: Michael Biebl <biebl@debian.org>
Date: Thu, 22 Sep 2016 01:18:16 +0200
Subject: [PATCH 2/2] Revert "Store credentials for RDP"
This reverts commit 60dea279a24c7f0e398b89a0a60d45e80087ed1d.
---
plugins/rdp/vinagre-rdp-connection.c | 22 +---
plugins/rdp/vinagre-rdp-plugin.c | 29 +----
plugins/rdp/vinagre-rdp-tab.c | 231 +++++++++++++++++------------------
3 files changed, 123 insertions(+), 159 deletions(-)
diff --git a/plugins/rdp/vinagre-rdp-connection.c b/plugins/rdp/vinagre-rdp-connection.c
index f0ff02b..c5f6ed1 100644
--- a/plugins/rdp/vinagre-rdp-connection.c
+++ b/plugins/rdp/vinagre-rdp-connection.c
@@ -127,25 +127,9 @@ rdp_parse_item (VinagreConnection *conn, xmlNode *root)
static void
rdp_parse_options_widget (VinagreConnection *conn, GtkWidget *widget)
{
- const gchar *text;
- GtkWidget *u_entry, *d_entry, *spin_button, *scaling_button;
- gboolean scaling;
- guint width, height;
-
- d_entry = g_object_get_data (G_OBJECT (widget), "domain_entry");
- if (!d_entry)
- {
- g_warning ("Wrong widget passed to rdp_parse_options_widget()");
- return;
- }
-
- text = gtk_entry_get_text (GTK_ENTRY (d_entry));
- vinagre_cache_prefs_set_string ("rdp-connection", "domain", text);
-
- g_object_set (conn,
- "domain", text != NULL && *text != '\0' ? text : NULL,
- NULL);
-
+ GtkWidget *u_entry, *spin_button, *scaling_button;
+ gboolean scaling;
+ guint width, height;
u_entry = g_object_get_data (G_OBJECT (widget), "username_entry");
if (!u_entry)
diff --git a/plugins/rdp/vinagre-rdp-plugin.c b/plugins/rdp/vinagre-rdp-plugin.c
index 4751102..f41da37 100644
--- a/plugins/rdp/vinagre-rdp-plugin.c
+++ b/plugins/rdp/vinagre-rdp-plugin.c
@@ -100,7 +100,7 @@ vinagre_rdp_plugin_init (VinagreRdpPlugin *plugin)
static GtkWidget *
impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
{
- GtkWidget *grid, *label, *u_entry, *d_entry, *spin_button, *check;
+ GtkWidget *grid, *label, *u_entry, *spin_button, *check;
gchar *str;
gint width, height;
@@ -146,29 +146,10 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
g_free (str);
- label = gtk_label_new_with_mnemonic (_("_Domain:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (grid), label, 0, 3, 1, 1);
- gtk_widget_set_margin_left (label, 12);
-
- d_entry = gtk_entry_new ();
- /* Translators: This is the tooltip for the domain field in a RDP connection */
- gtk_widget_set_tooltip_text (d_entry, _("Optional."));
- g_object_set_data (G_OBJECT (grid), "domain_entry", d_entry);
- gtk_grid_attach (GTK_GRID (grid), d_entry, 1, 3, 1, 1);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), d_entry);
- str = g_strdup (VINAGRE_IS_CONNECTION (conn) ?
- vinagre_connection_get_domain (conn) :
- vinagre_cache_prefs_get_string ("rdp-connection", "domain", ""));
- gtk_entry_set_text (GTK_ENTRY (d_entry), str);
- gtk_entry_set_activates_default (GTK_ENTRY (d_entry), TRUE);
- g_free (str);
-
-
/* Host width */
label = gtk_label_new_with_mnemonic (_("_Width:"));
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (grid), label, 0, 4, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), label, 0, 3, 1, 1);
gtk_widget_set_margin_left (label, 12);
spin_button = gtk_spin_button_new_with_range (MIN_SIZE, MAX_SIZE, 1);
@@ -176,7 +157,7 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
gtk_widget_set_tooltip_text (spin_button, _("Set width of the remote desktop"));
gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin_button), DEFAULT_WIDTH);
g_object_set_data (G_OBJECT (grid), "width_spin_button", spin_button);
- gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 4, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 3, 1, 1);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
width = VINAGRE_IS_CONNECTION (conn) ?
vinagre_connection_get_width (conn) :
@@ -188,7 +169,7 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
/* Host height */
label = gtk_label_new_with_mnemonic (_("_Height:"));
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
- gtk_grid_attach (GTK_GRID (grid), label, 0, 5, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), label, 0, 4, 1, 1);
gtk_widget_set_margin_left (label, 12);
spin_button = gtk_spin_button_new_with_range (MIN_SIZE, MAX_SIZE, 1);
@@ -196,7 +177,7 @@ impl_get_connect_widget (VinagreProtocol *plugin, VinagreConnection *conn)
gtk_widget_set_tooltip_text (spin_button, _("Set height of the remote desktop"));
gtk_spin_button_set_value (GTK_SPIN_BUTTON (spin_button), DEFAULT_HEIGHT);
g_object_set_data (G_OBJECT (grid), "height_spin_button", spin_button);
- gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 5, 1, 1);
+ gtk_grid_attach (GTK_GRID (grid), spin_button, 1, 4, 1, 1);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), spin_button);
height = VINAGRE_IS_CONNECTION (conn) ?
vinagre_connection_get_height (conn) :
diff --git a/plugins/rdp/vinagre-rdp-tab.c b/plugins/rdp/vinagre-rdp-tab.c
index 8572bc3..f3d9c08 100644
--- a/plugins/rdp/vinagre-rdp-tab.c
+++ b/plugins/rdp/vinagre-rdp-tab.c
@@ -70,8 +70,6 @@ struct _VinagreRdpTabPrivate
gboolean scaling;
double scale;
double offset_x, offset_y;
-
- guint authentication_attempts;
};
G_DEFINE_TYPE (VinagreRdpTab, vinagre_rdp_tab, VINAGRE_TYPE_TAB)
@@ -611,7 +609,6 @@ frdp_post_connect (freerdp *instance)
0, 0,
gdi->width, gdi->height);
- vinagre_tab_save_credentials_in_keyring (VINAGRE_TAB (rdp_tab));
vinagre_tab_add_recent_used (VINAGRE_TAB (rdp_tab));
vinagre_tab_set_state (VINAGRE_TAB (rdp_tab), VINAGRE_TAB_STATE_CONNECTED);
@@ -862,76 +859,114 @@ frdp_mouse_moved (GtkWidget *widget,
return TRUE;
}
+static void
+entry_text_changed_cb (GtkEntry *entry,
+ GtkBuilder *builder)
+{
+ const gchar *text;
+ GtkWidget *widget;
+ gsize username_length;
+ gsize password_length;
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "username_entry"));
+ text = gtk_entry_get_text (GTK_ENTRY (widget));
+ username_length = strlen (text);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "password_entry"));
+ text = gtk_entry_get_text (GTK_ENTRY (widget));
+ password_length = strlen (text);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "ok_button"));
+ gtk_widget_set_sensitive (widget, password_length > 0 && username_length > 0);
+}
+
static gboolean
frdp_authenticate (freerdp *instance,
char **username,
char **password,
char **domain)
{
- VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
- VinagreRdpTab *rdp_tab = VINAGRE_RDP_TAB (tab);
- VinagreRdpTabPrivate *priv = rdp_tab->priv;
- VinagreConnection *conn = vinagre_tab_get_conn (tab);
- GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
- gboolean save_in_keyring = FALSE;
- gchar *keyring_domain = NULL;
- gchar *keyring_username = NULL;
- gchar *keyring_password = NULL;
+ VinagreTab *tab = VINAGRE_TAB (((frdpContext *) instance->context)->rdp_tab);
+ VinagreConnection *conn = vinagre_tab_get_conn (tab);
+ const gchar *user_name;
+ const gchar *domain_name;
+ GtkBuilder *builder;
+ GtkWidget *dialog;
+ GtkWidget *widget;
+ GtkWidget *username_entry;
+ GtkWidget *password_entry;
+ GtkWidget *domain_entry;
+ gboolean save_credential_check_visible;
+ gboolean domain_label_visible;
+ gboolean domain_entry_visible;
+ gint response;
- priv->authentication_attempts++;
+ builder = vinagre_utils_get_builder ();
- if (priv->authentication_attempts == 1)
- {
- vinagre_tab_find_credentials_in_keyring (tab, &keyring_domain, &keyring_username, &keyring_password);
- if (keyring_password != NULL && keyring_username != NULL)
- {
- *domain = keyring_domain;
- *username = keyring_username;
- *password = keyring_password;
+ dialog = GTK_WIDGET (gtk_builder_get_object (builder, "auth_required_dialog"));
+ gtk_window_set_modal ((GtkWindow *) dialog, TRUE);
+ gtk_window_set_transient_for ((GtkWindow *) dialog, GTK_WINDOW (vinagre_tab_get_window (tab)));
- return TRUE;
- }
- else
- {
- g_free (keyring_domain);
- g_free (keyring_username);
- g_free (keyring_password);
- }
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "host_label"));
+ gtk_label_set_text (GTK_LABEL (widget), vinagre_connection_get_host (conn));
+
+ username_entry = GTK_WIDGET (gtk_builder_get_object (builder, "username_entry"));
+ password_entry = GTK_WIDGET (gtk_builder_get_object (builder, "password_entry"));
+ domain_entry = GTK_WIDGET (gtk_builder_get_object (builder, "domain_entry"));
+
+ if (*username != NULL && *username[0] != '\0')
+ {
+ gtk_entry_set_text (GTK_ENTRY (username_entry), *username);
+ gtk_widget_grab_focus (password_entry);
}
- if (vinagre_utils_request_credential (window,
- "RDP",
- vinagre_connection_get_host (conn),
- vinagre_connection_get_domain (conn),
- vinagre_connection_get_username (conn),
- TRUE,
- TRUE,
- TRUE,
- 20,
- domain,
- username,
- password,
- &save_in_keyring))
+ g_signal_connect (username_entry, "changed", G_CALLBACK (entry_text_changed_cb), builder);
+ g_signal_connect (password_entry, "changed", G_CALLBACK (entry_text_changed_cb), builder);
+
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "save_credential_check"));
+ save_credential_check_visible = gtk_widget_get_visible (widget);
+ gtk_widget_set_visible (widget, FALSE);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "domain_label"));
+ domain_label_visible = gtk_widget_get_visible (widget);
+ gtk_widget_set_visible (widget, TRUE);
+
+ domain_entry_visible = gtk_widget_get_visible (domain_entry);
+ gtk_widget_set_visible (domain_entry, TRUE);
+
+
+ response = gtk_dialog_run (GTK_DIALOG (dialog));
+ gtk_widget_hide (dialog);
+
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "save_credential_check"));
+ gtk_widget_set_visible (widget, save_credential_check_visible);
+
+ widget = GTK_WIDGET (gtk_builder_get_object (builder, "domain_label"));
+ gtk_widget_set_visible (widget, domain_label_visible);
+
+ gtk_widget_set_visible (domain_entry, domain_entry_visible);
+
+
+ if (response == GTK_RESPONSE_OK)
{
- if (*domain && **domain != '\0')
- vinagre_connection_set_domain (conn, *domain);
+ domain_name = gtk_entry_get_text (GTK_ENTRY (domain_entry));
+ if (g_strcmp0 (*domain, domain_name) != 0)
+ *domain = g_strdup (domain_name);
- if (*username && **username != '\0')
- vinagre_connection_set_username (conn, *username);
+ user_name = gtk_entry_get_text (GTK_ENTRY (username_entry));
+ if (g_strcmp0 (*username, user_name) != 0)
+ *username = g_strdup (user_name);
- if (*password && **password != '\0')
- vinagre_connection_set_password (conn, *password);
+ *password = g_strdup (gtk_entry_get_text (GTK_ENTRY (password_entry)));
- vinagre_tab_set_save_credentials (tab, save_in_keyring);
+ return TRUE;
}
else
{
- vinagre_tab_remove_from_notebook (tab);
-
return FALSE;
}
-
- return TRUE;
}
static BOOL
@@ -1028,25 +1063,30 @@ frdp_changed_certificate_verify (freerdp *instance,
#endif
static void
-init_freerdp (VinagreRdpTab *rdp_tab)
+open_freerdp (VinagreRdpTab *rdp_tab)
{
VinagreRdpTabPrivate *priv = rdp_tab->priv;
- rdpSettings *settings;
VinagreTab *tab = VINAGRE_TAB (rdp_tab);
VinagreConnection *conn = vinagre_tab_get_conn (tab);
- gboolean scaling;
- gchar *hostname;
- gint width, height;
- gint port;
+ rdpSettings *settings;
+ GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
+ gboolean success = TRUE;
+ gboolean fullscreen, scaling;
+ gchar *hostname, *username;
+ gint port, width, height;
g_object_get (conn,
"port", &port,
"host", &hostname,
"width", &width,
"height", &height,
+ "fullscreen", &fullscreen,
"scaling", &scaling,
+ "username", &username,
NULL);
+ priv->events = g_queue_new ();
+
/* Setup FreeRDP session */
priv->freerdp_session = freerdp_new ();
priv->freerdp_session->PreConnect = frdp_pre_connect;
@@ -1111,6 +1151,17 @@ init_freerdp (VinagreRdpTab *rdp_tab)
settings->port = port;
#endif
+ /* Set username */
+ username = g_strstrip (username);
+ if (username != NULL && username[0] != '\0')
+ {
+#if HAVE_FREERDP_1_1
+ settings->Username = g_strdup (username);
+#else
+ settings->username = g_strdup (username);
+#endif
+ }
+
/* Set keyboard layout */
#if HAVE_FREERDP_1_1
freerdp_keyboard_init (KBD_US);
@@ -1120,24 +1171,6 @@ init_freerdp (VinagreRdpTab *rdp_tab)
/* Allow font smoothing by default */
settings->AllowFontSmoothing = TRUE;
-}
-
-static void
-init_display (VinagreRdpTab *rdp_tab)
-{
- VinagreRdpTabPrivate *priv = rdp_tab->priv;
- VinagreTab *tab = VINAGRE_TAB (rdp_tab);
- VinagreConnection *conn = vinagre_tab_get_conn (tab);
- GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
- gboolean fullscreen, scaling;
- gint width, height;
-
- g_object_get (conn,
- "width", &width,
- "height", &height,
- "fullscreen", &fullscreen,
- "scaling", &scaling,
- NULL);
/* Setup display for FreeRDP session */
priv->display = gtk_drawing_area_new ();
@@ -1186,54 +1219,20 @@ init_display (VinagreRdpTab *rdp_tab)
priv->key_release_handler_id = g_signal_connect (GTK_WIDGET (tab), "key-release-event",
G_CALLBACK (frdp_key_pressed),
rdp_tab);
-}
-
-static void
-open_freerdp (VinagreRdpTab *rdp_tab)
-{
- VinagreRdpTabPrivate *priv = rdp_tab->priv;
- VinagreTab *tab = VINAGRE_TAB (rdp_tab);
- GtkWindow *window = GTK_WINDOW (vinagre_tab_get_window (tab));
- gboolean success = TRUE;
- gboolean authentication_error = FALSE;
- gboolean cancelled = FALSE;
-
- priv->events = g_queue_new ();
-
- init_freerdp (rdp_tab);
- init_display (rdp_tab);
-
- do
- {
- authentication_error = FALSE;
- /* Run FreeRDP session */
- success = freerdp_connect (priv->freerdp_session);
- if (!success)
- {
- authentication_error = freerdp_get_last_error (priv->freerdp_session->context) == 0x20009 ||
- freerdp_get_last_error (priv->freerdp_session->context) == 0x2000c;
-
- cancelled = freerdp_get_last_error (priv->freerdp_session->context) == 0x2000b;
-
- freerdp_free (priv->freerdp_session);
- init_freerdp (rdp_tab);
- }
- }
- while (!success && authentication_error);
+ /* Run FreeRDP session */
+ success = freerdp_connect (priv->freerdp_session);
if (!success)
{
gtk_window_unfullscreen (window);
- if (!cancelled)
- vinagre_utils_show_error_dialog (_("Error connecting to host."),
- NULL,
- window);
+ vinagre_utils_show_error_dialog (_("Error connecting to host."),
+ NULL,
+ window);
g_idle_add ((GSourceFunc) idle_close, rdp_tab);
}
else
{
- priv->authentication_attempts = 0;
priv->update_id = g_idle_add ((GSourceFunc) update, rdp_tab);
}
}
--
2.9.3

View File

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2014, 2015, 2016, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
@ -1064,3 +1064,28 @@ more sophisticated overview on the other one providing information like a
picture of the next slide, as well as the left over time till the end of the
presentation. The input files processed by pdfpc are PDF documents.")
(license license:gpl2+)))
(define-public paps
(package
(name "paps")
(version "0.6.8")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/paps/paps/" version "/"
"paps-" version ".tar.gz"))
(sha256
(base32
"080ahnyvq918m8ahq8bg9qvgzlv4k0jgcsdqhrwjzppclx74q8fv"))))
(build-system gnu-build-system)
(inputs
`(("pango" ,pango)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "http://paps.sourceforge.net/")
(synopsis "Pango to PostScript converter")
(description
"Paps reads a UTF-8 encoded file and generates a PostScript language
rendering of the file. The rendering is done by creating outline curves
through the Pango @code{ft2} backend.")
(license license:lgpl2.0+)))

View File

@ -4,7 +4,7 @@
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Sassmannshausen <alex@pompo.co>
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
@ -707,20 +707,21 @@ memory_cycle_ok( $object );
(define-public perl-test-mockmodule
(package
(name "perl-test-mockmodule")
(version "0.13")
(version "0.170.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/G/GF/GFRANKS/"
"Test-MockModule-" version ".tar.gz"))
"Test-MockModule-v" version ".tar.gz"))
(sha256
(base32 "0lwh6fvnc16r6d74vvh5h4b5a1spcslpjb3mcqbv23k01lm78wvl"))))
(base32 "0pggwrlqj6k44qayhbpjqkzry1r626iy2vf30zlf2jdhbjbvlycz"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
;; For tests.
("perl-test-pod" ,perl-test-pod)
("perl-test-pod-coverage" ,perl-test-pod-coverage)))
("perl-test-pod-coverage" ,perl-test-pod-coverage)
("perl-test-warnings" ,perl-test-warnings)))
(propagated-inputs
`(("perl-super" ,perl-super)))
(home-page "https://metacpan.org/release/Test-MockModule")
@ -1121,14 +1122,14 @@ makes fork(2) safe to use in test cases.")
(define-public perl-test-simple
(package
(name "perl-test-simple")
(version "1.302136")
(version "1.302141")
(source (origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
"Test-Simple-" version ".tar.gz"))
(sha256
(base32
"0inlv8f4rbhsw6qnqhf1w6ay153xbw27fldmb2pmg4ihn19mr6ld"))))
"1dwmsf7jzhw8xppzrw2raq3q6nzd1kcl8b53hik4586b2k45n16p"))))
(build-system perl-build-system)
(synopsis "Basic utilities for writing tests")
(description

View File

@ -6,7 +6,7 @@
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2016, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
;;; Copyright © 2016, 2018 Roel Janssen <roel@gnu.org>
@ -1533,7 +1533,7 @@ CPAN::Meta object are present.")
(define-public perl-cpanel-json-xs
(package
(name "perl-cpanel-json-xs")
(version "3.0114")
(version "4.08")
(source
(origin
(method url-fetch)
@ -1541,7 +1541,7 @@ CPAN::Meta object are present.")
"Cpanel-JSON-XS-" version ".tar.gz"))
(sha256
(base32
"0jhi1v0631x4d14a7cpfnpjqhs34zkygxjn1nwvvr927awx5jx71"))))
"0bbw9sk3kgfwkg9lw3vf59g4jjvr69vv09sinndl2nlbd5dlgh9b"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-common-sense" ,perl-common-sense)))
@ -3667,7 +3667,7 @@ file names in a directory.")
(define-public perl-file-slurper
(package
(name "perl-file-slurper")
(version "0.008")
(version "0.012")
(source
(origin
(method url-fetch)
@ -3677,8 +3677,10 @@ file names in a directory.")
".tar.gz"))
(sha256
(base32
"0cyjspspms6zyjcqz9v18dbs574g085h2jzjh41xvsrc1qa8bxhh"))))
"0y5518ji60yfkx9ggjp309j6g8vfri4ka4zqlsys245i2sj2xysf"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-warnings" ,perl-test-warnings)))
(propagated-inputs
`(("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict)))
(home-page "https://metacpan.org/release/File-Slurper")
@ -4408,7 +4410,7 @@ installed.")
(define-public perl-json-maybexs
(package
(name "perl-json-maybexs")
(version "1.003010")
(version "1.004000")
(source
(origin
(method url-fetch)
@ -4416,7 +4418,7 @@ installed.")
"JSON-MaybeXS-" version ".tar.gz"))
(sha256
(base32
"0hs504x5zsa2vl6r7b3rvbygsak1ly24m1lg636bqp3x7jirmb30"))))
"09m1w03as6n0a00pzvaldkhm494yaf5n0g3j2cwwfx24iwpa1gar"))))
(build-system perl-build-system)
(native-inputs
`(("perl-test-without-module" ,perl-test-without-module)))
@ -4636,7 +4638,7 @@ implemented for example in GNU gettext.")
(define-public perl-lingua-translit
(package
(name "perl-lingua-translit")
(version "0.26")
(version "0.28")
(source
(origin
(method url-fetch)
@ -4644,7 +4646,7 @@ implemented for example in GNU gettext.")
"Lingua-Translit-" version ".tar.gz"))
(sha256
(base32
"161589h08kzliga17i2g0hb0yn4cjmb8rdiyadq5bw97974bac14"))))
"1qgap0j0ixmif309dvbqca7sy8xha9xgnj9s2lvh8qrczkc92gqi"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Lingua-Translit")
(synopsis "Transliterate text between writing systems")
@ -9200,7 +9202,7 @@ best YAML support to date.")
(define-public perl-yaml-tiny
(package
(name "perl-yaml-tiny")
(version "1.66")
(version "1.73")
(source
(origin
(method url-fetch)
@ -9208,7 +9210,7 @@ best YAML support to date.")
"YAML-Tiny-" version ".tar.gz"))
(sha256
(base32
"0c17l8pvpraznpb31ncmr4wxlyww8sg8dhvp3s3q02yqll3cnygv"))))
"0i3p4nz8ysrsrs6vlzc6gkjcfpcaf05xjc7lwbjkw7lg5shmycdw"))))
(build-system perl-build-system)
(native-inputs
`(("perl-json-maybexs" ,perl-json-maybexs)

View File

@ -2,6 +2,8 @@
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -124,6 +126,7 @@
"--with-mysqli" ; Required for, e.g. wordpress
"--with-pdo-mysql"
"--with-zlib"
"--enable-bcmath" ; Required for, e.g. Zabbix frontend
"--enable-calendar"
"--enable-dba=shared"
"--enable-exif"
@ -351,10 +354,4 @@ systems, web content management systems and web frameworks." )
license:expat)))) ; ext/date/lib
(define-public php-with-bcmath
(package
(inherit php)
(name "php-with-bcmath")
(arguments
(substitute-keyword-arguments (package-arguments php)
((#:configure-flags flags)
`(cons "--enable-bcmath" ,flags))))))
(deprecated-package "php-with-bcmath" php))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
@ -341,13 +341,13 @@ password storage.")
(define-public python-certifi
(package
(name "python-certifi")
(version "2018.8.13")
(version "2018.11.29")
(source (origin
(method url-fetch)
(uri (pypi-uri "certifi" version))
(sha256
(base32
"1x7jy10rz3100g9iw7c2czcw2z4lqfaalsd8yg991l4d82hnh7ac"))))
"1dvccavd2fzq4j37w0sznylp92ps14zi6gvlxzm23in0yhzciya7"))))
(build-system python-build-system)
(home-page "https://certifi.io/")
(synopsis "Python CA certificate bundle")
@ -808,14 +808,14 @@ protocol (Javascript Object Signing and Encryption).")
(define-public python-pycryptodome
(package
(name "python-pycryptodome")
(version "3.5.1")
(version "3.7.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pycryptodome" version))
(sha256
(base32
"15mc1h5ij1b6hcqvb048kb4k0ip64n2ky0zz0rml2s78ylv7g5dp"))))
"1xxf5cyhlc5ak5skf4zgqz9yk5fj5g70hd06hc1jym995lxpxz7m"))))
(build-system python-build-system)
(home-page "https://www.pycryptodome.org")
(synopsis "Cryptographic library for Python")

View File

@ -5,7 +5,7 @@
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
@ -734,14 +734,14 @@ web framework, either via the basic or digest authentication schemes.")
(define-public python-terminado
(package
(name "python-terminado")
(version "0.6")
(version "0.8.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "terminado" version))
(sha256
(base32
"09h1kwi86g5mrk14s4pgbhshd602zry29lnpxamcqz864kva22rc"))))
"0yh69k6579g848rmjyllb5h75pkvgcy27r1l3yzgkf33wnnzkasm"))))
(build-system python-build-system)
(propagated-inputs
`(("python-tornado" ,python-tornado)
@ -752,9 +752,7 @@ web framework, either via the basic or digest authentication schemes.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(invoke "nosetests")
#t)))))
(lambda _ (invoke "nosetests") #t)))))
(home-page "https://github.com/takluyver/terminado")
(synopsis "Terminals served to term.js using Tornado websockets")
(description "This package provides a Tornado websocket backend for the

View File

@ -7,14 +7,14 @@
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com>
;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2017 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
@ -103,7 +103,6 @@
#:use-module (gnu packages libffi)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages machine-learning)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
#:use-module (gnu packages multiprecision)
@ -121,7 +120,6 @@
#:use-module (gnu packages search)
#:use-module (gnu packages shells)
#:use-module (gnu packages ssh)
#:use-module (gnu packages statistics)
#:use-module (gnu packages terminals)
#:use-module (gnu packages tex)
#:use-module (gnu packages texinfo)
@ -1395,14 +1393,14 @@ Python 3.3+.")
(define-public python-pyicu
(package
(name "python-pyicu")
(version "1.9.8")
(version "2.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PyICU" version))
(sha256
(base32
"05nz4p2dpkhwj6y9kik24xbvmfxji39nl0xw0sc0nvp9fgzf6xnd"))))
"0wq9y5fi1ighgf5aws9nr87vi1w44p7q1k83rx2y3qj5d2xyhspa"))))
(build-system python-build-system)
(inputs
`(("icu4c" ,icu4c)))
@ -3228,40 +3226,6 @@ color scales, and color space conversion easy. It has support for:
(define-public python2-spectra
(package-with-python2 python-spectra))
(define-public python2-fastlmm
(package
(name "python2-fastlmm")
(version "0.2.21")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fastlmm" version ".zip"))
(sha256
(base32
"1q8c34rpmwkfy3r4d5172pzdkpfryj561897z9r3x22gq7813x1m"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2)) ; only Python 2.7 is supported
(propagated-inputs
`(("python2-numpy" ,python2-numpy)
("python2-scipy" ,python2-scipy)
("python2-matplotlib" ,python2-matplotlib)
("python2-pandas" ,python2-pandas)
("python2-scikit-learn" ,python2-scikit-learn)
("python2-pysnptools" ,python2-pysnptools)))
(native-inputs
`(("unzip" ,unzip)
("python2-cython" ,python2-cython)
("python2-mock" ,python2-mock)
("python2-nose" ,python2-nose)))
(home-page "http://research.microsoft.com/en-us/um/redmond/projects/mscompbio/fastlmm/")
(synopsis "Perform genome-wide association studies on large data sets")
(description
"FaST-LMM, which stands for Factored Spectrally Transformed Linear Mixed
Models, is a program for performing both single-SNP and SNP-set genome-wide
association studies (GWAS) on extremely large data sets.")
(license license:asl2.0)))
(define-public python-numpy-documentation
(package
(name "python-numpy-documentation")
@ -3766,64 +3730,6 @@ those files. It can also efficiently manipulate ranges of integers using set
operators such as union, intersection, and difference.")
(license license:asl2.0)))
(define-public python-rpy2
(package
(name "python-rpy2")
(version "2.9.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rpy2" version))
(sha256
(base32
"0bl1d2qhavmlrvalir9hmkjh74w21vzkvc2sg3cbb162s10zfmxy"))))
(build-system python-build-system)
(arguments
'(#:modules ((ice-9 ftw)
(srfi srfi-1)
(srfi srfi-26)
(guix build utils)
(guix build python-build-system))
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((cwd (getcwd)))
(setenv "PYTHONPATH"
(string-append cwd "/build/"
(find (cut string-prefix? "lib" <>)
(scandir (string-append cwd "/build")))
":"
(getenv "PYTHONPATH"))))
(invoke "python" "-m" "rpy2.tests" "-v"))))))
(propagated-inputs
`(("python-six" ,python-six)
("python-jinja2" ,python-jinja2)
("python-pytz" ,python-pytz)))
(inputs
`(("readline" ,readline)
("icu4c" ,icu4c)
("pcre" ,pcre)
("r-minimal" ,r-minimal)
("r-survival" ,r-survival)
("r-ggplot2" ,r-ggplot2)
("r-rsqlite" ,r-rsqlite)
("r-dplyr" ,r-dplyr)
("r-dbplyr" ,r-dbplyr)
("python-numpy" ,python-numpy)))
(native-inputs
`(("zlib" ,zlib)))
(home-page "https://rpy2.bitbucket.io/")
(synopsis "Python interface to the R language")
(description "rpy2 is a redesign and rewrite of rpy. It is providing a
low-level interface to R from Python, a proposed high-level interface,
including wrappers to graphical libraries, as well as R-like structures and
functions.")
;; Any of these licenses can be picked for the R interface. The whole
;; project is released under GPLv2+ according to the license declaration
;; in "setup.py".
(license (list license:mpl2.0 license:gpl2+ license:lgpl2.1+))))
(define-public python-scipy
(package
(name "python-scipy")
@ -4824,14 +4730,14 @@ without using the configuration machinery.")
(define-public python-jupyter-client
(package
(name "python-jupyter-client")
(version "4.4.0")
(version "5.2.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jupyter_client" version))
(sha256
(base32
"1vjjrpjw7k5sh982pbjnslv7byfbfazjw9g92jvs7dz5qbx556n9"))))
"0l9mh7ccrpl3lppym3dnky8n1nk7xarzzdcxf4q2s7aw203cpydm"))))
(build-system python-build-system)
;; Tests fail because of missing native python kernel which I assume is
;; provided by the ipython package, which we cannot use because it would
@ -4856,20 +4762,29 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
(define-public python-ipykernel
(package
(name "python-ipykernel")
(version "4.5.2")
(version "5.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ipykernel" version))
(sha256
(base32 "0qllv0k6zzv1r1cj1x2ygxmlrrqhbslzj8rc6r6fg3kc1rgz4m2s"))))
(base32 "0br95qhrd5k65g10djngiy27hs0642301hlf2q142i8djabvzh0g"))))
(build-system python-build-system)
;; The tests load a submodule of IPython. However, IPython itself depends
;; on ipykernel.
(arguments `(#:tests? #f))
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(setenv "HOME" "/tmp")
(invoke "pytest" "-v")
#t)))))
(propagated-inputs
;; imported at runtime during connect
`(("python-jupyter-client" ,python-jupyter-client)))
`(("python-ipython" ,python-ipython)
;; imported at runtime during connect
("python-jupyter-client" ,python-jupyter-client)))
(native-inputs
`(("python-pytest" ,python-pytest)
("python-nose" ,python-nose)))
(home-page "https://ipython.org")
(synopsis "IPython Kernel for Jupyter")
(description
@ -4879,39 +4794,57 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
(define-public python2-ipykernel
(package-with-python2 python-ipykernel))
(define-public python-send2trash
(package
(name "python-send2trash")
(version "1.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "send2trash" version))
(sha256
(base32
"1ci8vcwjmjlp11ljj1ckrfmml9fkq1mclx2gr53y4zvhgp01q030"))))
(build-system python-build-system)
(home-page "https://github.com/hsoft/send2trash")
(synopsis "Send files to trash")
(description
"This package provides a cross-platform mechanism to send files to the
trash.")
(license license:bsd-3)))
(define-public python2-send2trash
(package-with-python2 python-send2trash))
;; This is the latest release of the LTS version of ipython with support for
;; Python 2.7 and Python 3.x. Later non-LTS versions starting from 6.0 have
;; dropped support for Python 2.7. We may want to rename this package.
(define-public python-ipython
(package
(name "python-ipython")
(version "5.5.0")
(version "5.8.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ipython" version ".tar.gz"))
(sha256
(base32 "03qmzpfy00if10i9k8fjkam1s4xg22j73f933x5d228z9n4rwik6"))))
(base32 "01l93i4hspf0lvhmycvc8j378bslm9rw30mwfspsl6v1ayc69b2b"))))
(build-system python-build-system)
(outputs '("out" "doc"))
(propagated-inputs
`(("python-pyzmq" ,python-pyzmq)
("python-prompt-toolkit" ,python-prompt-toolkit)
("python-prompt-toolkit" ,python-prompt-toolkit-1)
("python-terminado" ,python-terminado)
("python-matplotlib" ,python-matplotlib)
("python-numpy" ,python-numpy)
("python-numpydoc" ,python-numpydoc)
("python-jinja2" ,python-jinja2)
("python-jupyter-console"
;; The python-ipython and python-jupyter-console require each
;; other. To get the functionality in both packages working, strip
;; down the python-jupyter-console package when using it as an input
;; to python-ipython.
,python-jupyter-console-minimal)
("python-mistune" ,python-mistune)
("python-pexpect" ,python-pexpect)
("python-pickleshare" ,python-pickleshare)
("python-simplegeneric" ,python-simplegeneric)
("python-jsonschema" ,python-jsonschema)
("python-traitlets" ,python-traitlets)
("python-ipykernel" ,python-ipykernel)
("python-nbformat" ,python-nbformat)
("python-pygments" ,python-pygments)))
(inputs
@ -4963,59 +4896,69 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after
'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" ,name "-" ,version))
(html (string-append doc "/html"))
(man1 (string-append data "/man/man1"))
(info (string-append data "/info"))
(examples (string-append doc "/examples"))
(python-arg (string-append "PYTHON=" (which "python"))))
(setenv "LANG" "en_US.utf8")
;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs)
(with-directory-excursion "docs"
;; FIXME: pdf fails to build
;;(system* "make" "pdf" "PAPER=a4")
(system* "make" python-arg "html")
(system* "make" python-arg "info"))
(copy-recursively "docs/man" man1)
(copy-recursively "examples" examples)
(copy-recursively "docs/build/html" html)
;; (copy-file "docs/build/latex/ipython.pdf"
;; (string-append doc "/ipython.pdf"))
(mkdir-p info)
(copy-file "docs/build/texinfo/ipython.info"
(string-append info "/ipython.info"))
(copy-file "COPYING.rst" (string-append doc "/COPYING.rst")))))
(add-after 'install 'install-doc
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
(doc (string-append data "/doc/" ,name "-" ,version))
(html (string-append doc "/html"))
(man1 (string-append data "/man/man1"))
(info (string-append data "/info"))
(examples (string-append doc "/examples"))
(python-arg (string-append "PYTHON=" (which "python"))))
(setenv "LANG" "en_US.utf8")
;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs)
(with-directory-excursion "docs"
;; FIXME: pdf fails to build
;;(system* "make" "pdf" "PAPER=a4")
(system* "make" python-arg "html")
(system* "make" python-arg "info"))
(copy-recursively "docs/man" man1)
(copy-recursively "examples" examples)
(copy-recursively "docs/build/html" html)
;; (copy-file "docs/build/latex/ipython.pdf"
;; (string-append doc "/ipython.pdf"))
(mkdir-p info)
(copy-file "docs/build/texinfo/ipython.info"
(string-append info "/ipython.info"))
(copy-file "COPYING.rst" (string-append doc "/COPYING.rst")))
#t))
;; Tests can only be run after the library has been installed and not
;; within the source directory.
(delete 'check)
(add-after
'install 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(if tests?
(with-directory-excursion "/tmp"
;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs)
(setenv "HOME" "/tmp/") ;; required by a test
(zero? (system* (string-append (assoc-ref outputs "out")
"/bin/iptest"))))
#t)))
(add-before
'install 'fix-tests
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "./IPython/utils/_process_posix.py"
(("/usr/bin/env', 'which") (which "which")))
(substitute* "./IPython/core/tests/test_inputtransformer.py"
(("#!/usr/bin/env python")
(string-append "#!" (which "python"))))
;; Disable 1 failing test
(substitute* "./IPython/core/tests/test_magic.py"
(("def test_dirops\\(\\):" all)
(string-append "@dec.skipif(True)\n" all))))))))
(add-after 'install 'check
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
(if tests?
(begin
;; Make installed package available for running the tests
(add-installed-pythonpath inputs outputs)
(setenv "HOME" "/tmp/") ;; required by a test
;; We only test the core because one of the other tests
;; tries to import ipykernel.
(invoke "python" "IPython/testing/iptest.py"
"-v" "IPython/core/tests"))
#t)))
(add-before 'check 'fix-tests
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "./IPython/utils/_process_posix.py"
(("/usr/bin/env', 'which") (which "which")))
(substitute* "./IPython/core/tests/test_inputtransformer.py"
(("#!/usr/bin/env python")
(string-append "#!" (which "python"))))
;; Disable 1 failing test
(substitute* "./IPython/core/tests/test_magic.py"
(("def test_dirops\\(\\):" all)
(string-append "@dec.skipif(True)\n" all)))
;; This test introduces a circular dependency on ipykernel
;; (which depends on ipython).
(delete-file "IPython/core/tests/test_display.py")
;; These tests throw errors for unknown reasons.
(delete-file "IPython/extensions/tests/test_storemagic.py")
(delete-file "IPython/core/tests/test_displayhook.py")
(delete-file "IPython/core/tests/test_interactiveshell.py")
(delete-file "IPython/core/tests/test_pylabtools.py")
(delete-file "IPython/core/tests/test_paths.py")
#t)))))
(home-page "https://ipython.org")
(synopsis "IPython is a tool for interactive computing in Python")
(description
@ -5190,14 +5133,14 @@ implementation of D-Bus.")
(define-public python-lxml
(package
(name "python-lxml")
(version "4.2.4")
(version "4.2.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "lxml" version))
(sha256
(base32
"1jk336k0kw616gfhqk1wwxsjjwz0flld0n294lz8kxch610bxbz2"))))
"0zw0y9hs0nflxhl9cs6ipwwh53szi3w2x06wl0k9cylyqac0cwin"))))
(build-system python-build-system)
(inputs
`(("libxml2" ,libxml2)
@ -7092,30 +7035,64 @@ convert an @code{.ipynb} notebook file into various static formats including:
(define-public python2-nbconvert
(package-with-python2 python-nbconvert))
(define-public python-prometheus-client
(package
(name "python-prometheus-client")
(version "0.5.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "prometheus_client" version))
(sha256
(base32
"0g7rpv1pq2lab1nfqdx98z9d3bqwc400alg1j4ynrpjkrbsizhg8"))))
(build-system python-build-system)
(arguments '(#:tests? #f)) ; tests are not included
(propagated-inputs
`(("python-twisted" ,python-twisted)))
(home-page "https://github.com/prometheus/client_python")
(synopsis "Python client for the Prometheus monitoring system")
(description
"This package provides a Python client for the Prometheus monitoring
system.")
(license license:asl2.0)))
(define-public python2-prometheus-client
(package-with-python2 python-prometheus-client))
(define-public python-notebook
(package
(name "python-notebook")
(version "4.2.3")
(version "5.7.4")
(source (origin
(method url-fetch)
(uri (pypi-uri "notebook" version))
(sha256
(base32
"0laq5c2f21frq6xcdckgq7raqhznbjb0qs0357g612z87wyn1a9r"))))
"0jm7324mbxljmn9hgapj66q7swyz5ai92blmr0jpcy0h80x6f26r"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
;; HOME must be set for tests
;; These tests require a browser
(delete-file-recursively "notebook/tests/selenium")
;; Some tests need HOME
(setenv "HOME" "/tmp")
(zero? (system* "nosetests")))))))
;; This file contains "warningfilters", which are not supported
;; by this version of nose.
(delete-file "setup.cfg")
(with-directory-excursion "/tmp"
(invoke "nosetests" "-v"))
#t)))))
(propagated-inputs
`(("python-jupyter-core" ,python-jupyter-core)
("python-nbformat" ,python-nbformat)
("python-nbconvert" ,python-nbconvert)
("python-ipython" ,python-ipython)))
("python-prometheus-client" ,python-prometheus-client)
("python-send2trash" ,python-send2trash)
("python-terminado" ,python-terminado)))
(native-inputs
`(("python-nose" ,python-nose)
("python-sphinx" ,python-sphinx)
@ -7151,17 +7128,18 @@ interactive computing.")
(define-public python-widgetsnbextension
(package
(name "python-widgetsnbextension")
(version "1.2.6")
(version "3.4.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "widgetsnbextension" version))
(sha256
(base32
"0lff2mrwrgsa1mxmwx3phl9xvy0jqfpg6khbmxy53jbq56rwy666"))))
"0rc2nivdy7k4m3vljx7wdh2jh11djapcgwhvzlbs0isl8gl8nqgs"))))
(build-system python-build-system)
(propagated-inputs
`(("python-notebook" ,python-notebook)))
`(("python-ipykernel" ,python-ipykernel)
("python-notebook" ,python-notebook)))
(native-inputs
`(("python-certifi" ,python-certifi)
("python-nose" ,python-nose)))
@ -7186,13 +7164,13 @@ notebooks.")
(base32
"1lk0qrr5l9a0z7qkkn30hv5832whxwxymf1l576fmmad0n7hkxms"))))
(build-system python-build-system)
;; FIXME: it's not clear how to run the tests.
(arguments `(#:tests? #f))
(propagated-inputs
`(("python-ipykernel" ,python-ipykernel)
("python-ipython" ,python-ipython)
`(("python-ipython" ,python-ipython)
("python-traitlets" ,python-traitlets)
("python-widgetsnbextension" ,python-widgetsnbextension)))
(native-inputs
`(("python-nose" ,python-nose)
("python-pytest" ,python-pytest)))
(home-page "https://ipython.org")
(synopsis "IPython HTML widgets for Jupyter")
(description "Ipywidgets are interactive HTML widgets for Jupyter
@ -7216,14 +7194,15 @@ in the data.")
(base32
"1kam1qzgwr7srhm5r6aj90di5sws4bq0jmiw15452ddamb9yspal"))))
(build-system python-build-system)
;; FIXME: it's not clear how to run the tests.
;; Tests only run in an TTY.
(arguments `(#:tests? #f))
(propagated-inputs
`(("python-ipykernel" ,python-ipykernel)
("python-ipython" ,python-ipython)
("python-jupyter-client" ,python-jupyter-client)
("python-prompt-toolkit" ,python-prompt-toolkit)
("python-prompt-toolkit" ,python-prompt-toolkit-1)
("python-pygments" ,python-pygments)))
(native-inputs
`(("python-nose" ,python-nose)))
(home-page "https://jupyter.org")
(synopsis "Jupyter terminal console")
(description "This package provides a terminal-based console frontend for
@ -7260,6 +7239,42 @@ Jupyter kernels such as IJulia and IRKernel.")
"python-ipython"
(package-propagated-inputs python-jupyter-console)))))
(define-public python-qtconsole
(package
(name "python-qtconsole")
(version "4.4.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "qtconsole" version))
(sha256
(base32
"1b03n1ixzscm0jw97l4dq5iy4fslnqxq5bb8287xb7n2a1gs26xw"))))
(build-system python-build-system)
(arguments
;; XXX: Tests are disabled, because this package needs python-ipython 7,
;; but we only have the LTS version 5.x. This means that there might be
;; runtime errors, but since this is a dependency of the Jupyter package,
;; and Jupyter can be used without the qtconsole we can overlook this for
;; now.
`(#:tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
(setenv "QT_QPA_PLATFORM" "offscreen")
#t)))))
(propagated-inputs
`(("python-ipykernel" ,python-ipykernel)
("python-ipython" ,python-ipython)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "http://jupyter.org")
(synopsis "Jupyter Qt console")
(description "This package provides a Qt-based console for Jupyter with
support for rich media output.")
(license license:bsd-3)))
(define-public jupyter
(package
(name "jupyter")
@ -7272,21 +7287,19 @@ Jupyter kernels such as IJulia and IRKernel.")
(base32
"0pwf3pminkzyzgx5kcplvvbvwrrzd3baa7lmh96f647k30rlpp6r"))))
(build-system python-build-system)
;; FIXME: it's not clear how to run the tests.
(arguments `(#:tests? #f))
(arguments '(#:tests? #f)) ; there are none.
(propagated-inputs
`(("python-ipykernel" ,python-ipykernel)
("python-ipywidgets" ,python-ipywidgets)
("python-jupyter-console" ,python-jupyter-console)
("python-nbconvert" ,python-nbconvert)
("python-notebook" ,python-notebook)))
("python-notebook" ,python-notebook)
("python-qtconsole" ,python-qtconsole)))
(native-search-paths
(list (search-path-specification
(variable "JUPYTER_PATH")
(files '("share/jupyter")))))
(home-page "http://jupyter.org")
(home-page "https://jupyter.org")
(synopsis "Web application for interactive documents")
(description
"The Jupyter Notebook is a web application that allows you to create and
@ -7343,7 +7356,7 @@ automatically detect a wide range of file encodings.")
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _ (zero? (system* "py.test")))))))
(lambda _ (invoke "py.test"))))))
(home-page "http://docopt.org")
(synopsis "Command-line interface description language for Python")
(description "This library allows the user to define a command-line
@ -7455,7 +7468,7 @@ config files.")
;; NOTE: Many tests do not run because they rely on Python's
;; built-in test.test_argparse, but we remove the unit tests from
;; our Python installation.
(zero? (system* "python" "setup.py" "test")))))))
(invoke "python" "setup.py" "test"))))))
(synopsis "Replacement for argparse")
(description "A drop-in replacement for argparse that allows options to also
be set via config files and/or environment variables.")
@ -7728,8 +7741,7 @@ Blog, News or Announcements section to a Sphinx website.")
'(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
(zero? (system* "py.test" "-v")))))))
(lambda _ (invoke "py.test" "-v"))))))
(native-inputs
`(("python-pytest" ,python-pytest)))
(propagated-inputs
@ -7808,7 +7820,7 @@ with a new public API, and RPython support.")
(lambda _
;; Tests require write access to HOME.
(setenv "HOME" "/tmp")
(zero? (system* "nosetests")))))))
(invoke "nosetests"))))))
(native-inputs
`(("python-coverage" ,python-coverage)
("python-nose" ,python-nose)))
@ -9889,36 +9901,61 @@ collections of data.")
(package-with-python2 python-backpack))
(define-public python-prompt-toolkit
(package
(name "python-prompt-toolkit")
(version "1.0.15")
(source
(origin
(method url-fetch)
(uri (pypi-uri "prompt_toolkit" version ".tar.gz"))
(sha256
(package
(name "python-prompt-toolkit")
(version "2.0.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "prompt_toolkit" version ".tar.gz"))
(sha256
(base32
"05v9h5nydljwpj5nm8n804ms0glajwfy1zagrzqrg91wk3qqi1c5"))))
(build-system python-build-system)
(arguments
'(#:tests? #f)) ; The test suite uses some Windows-specific data types.
(propagated-inputs
`(("python-wcwidth" ,python-wcwidth)
("python-six" ,python-six)
("python-pygments" ,python-pygments)))
(home-page "https://github.com/jonathanslenders/python-prompt-toolkit")
(synopsis "Library for building command line interfaces in Python")
(description
"Prompt-Toolkit is a library for building interactive command line
"0fgacqk73w7s932vy46pan2yp8rvjmlkag20xvaydh9mhf6h85zx"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(delete 'check)
(add-after 'install 'post-install-check
(lambda* (#:key inputs outputs #:allow-other-keys)
;; HOME is needed for the test
;; "test_pathcompleter_can_expanduser".
(setenv "HOME" "/tmp")
(add-installed-pythonpath inputs outputs)
(invoke "py.test"))))))
(propagated-inputs
`(("python-wcwidth" ,python-wcwidth)
("python-six" ,python-six)
("python-pygments" ,python-pygments)))
(native-inputs
`(("python-pytest" ,python-pytest)))
(home-page "https://github.com/jonathanslenders/python-prompt-toolkit")
(synopsis "Library for building command line interfaces in Python")
(description
"Prompt-Toolkit is a library for building interactive command line
interfaces in Python. It's like GNU Readline but it also features syntax
highlighting while typing, out-of-the-box multi-line input editing, advanced
code completion, incremental search, support for Chinese double-width
characters, mouse support, and auto suggestions.")
(license license:bsd-3)))
(license license:bsd-3)))
(define-public python2-prompt-toolkit
(package-with-python2 python-prompt-toolkit))
(define-public python-prompt-toolkit-1
(package (inherit python-prompt-toolkit)
(version "1.0.15")
(source
(origin
(method url-fetch)
(uri (pypi-uri "prompt_toolkit" version ".tar.gz"))
(sha256
(base32
"05v9h5nydljwpj5nm8n804ms0glajwfy1zagrzqrg91wk3qqi1c5"))))))
(define-public python2-prompt-toolkit-1
(package-with-python2 python-prompt-toolkit-1))
(define-public python-jedi
(package
(name "python-jedi")
@ -10575,13 +10612,13 @@ related extensions.")
(define-public python-sphinx-alabaster-theme
(package
(name "python-sphinx-alabaster-theme")
(version "0.7.9")
(version "0.7.12")
(source (origin
(method url-fetch)
(uri (pypi-uri "alabaster" version))
(sha256
(base32
"027anxzcb951gjlcc43y3rbn9qrw36d16vj9wd2smv5410xx9bs7"))))
"00nwwjj2d2ym4s2kk217x7jkx1hnczc3fvm8yxbqmsp6b0nxfqd6"))))
(build-system python-build-system)
(propagated-inputs
`(("python-pygments" ,python-pygments)))
@ -10764,14 +10801,14 @@ Record Format (DWARF).")
(define-public python-imagesize
(package
(name "python-imagesize")
(version "1.0.0")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "imagesize" version))
(sha256
(base32
"05b3p62r7rbcvvbk5vknr3bhcq9b2airysn6ric534mng136wcjv"))))
(base32
"1dg3wn7qpwmhgqc0r9na2ding1wif9q5spz3j9zn2riwphc2k0zk"))))
(build-system python-build-system)
(home-page "https://github.com/shibukawa/imagesize_py")
(synopsis "Gets image size of files in various formats in Python")
@ -11599,14 +11636,14 @@ clone, while other processes access the original tree.")
(define-public python-astroid
(package
(name "python-astroid")
(version "2.0.4")
(version "2.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astroid" version))
(sha256
(base32
"138svbm88w5k0y2nvl4svyas1jfhcc5iy0d2ywkbcpn9kq8ks0f7"))))
"08hz675knh4294bancdapql392fmbjyimhbyrmfkz1ka7l035c1m"))))
(build-system python-build-system)
(propagated-inputs
`(("python-lazy-object-proxy" ,python-lazy-object-proxy)
@ -11620,13 +11657,13 @@ clone, while other processes access the original tree.")
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'remove-spurious-test
(lambda _
;; This can be removed after upgrading from python-3.7
;; https://github.com/PyCQA/astroid/issues/593
;; https://bugs.python.org/issue34056
(delete-file "astroid/tests/unittest_modutils.py")
#t))
(add-after 'unpack 'remove-spurious-test
(lambda _
;; This can be removed after upgrading from python-3.7
;; https://github.com/PyCQA/astroid/issues/593
;; https://bugs.python.org/issue34056
(delete-file "astroid/tests/unittest_modutils.py")
#t))
(replace 'check
(lambda _
(invoke "pytest" "astroid"))))))
@ -12100,14 +12137,14 @@ several utilities, as well as an API for building localization tools.")
(define-public python-packaging
(package
(name "python-packaging")
(version "17.1")
(version "18.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "packaging" version))
(sha256
(base32
"0nrpayk8kij1zm9sjnk38ldz3a6705ggvw8ljylqbrb4vmqbf6gh"))))
"01wq9c53ix5rz6qg2c98gy8n4ff768rmanifm8m5jpjiaizj51h8"))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@ -12861,14 +12898,14 @@ requirements is not met.")
(define-public python-pysocks
(package
(name "python-pysocks")
(version "1.6.7")
(version "1.6.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "PySocks" version))
(sha256
(base32
"1krkiss578zqwcg4c8iqz1hwscwhsvy2djp3xyvps5gsgvr2j0yh"))))
"0wn6xafwy9c1gamwljw3fyvih5w19qy9xp39zmv8c90ai5ajrr9z"))))
(build-system python-build-system)
(arguments `(#:tests? #f))
(home-page "https://github.com/Anorov/PySocks")

View File

@ -1,8 +1,8 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
@ -31,7 +31,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build utils)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
@ -2026,15 +2026,17 @@ This package provides the Python bindings.")))
(define-public qtkeychain
(package
(name "qtkeychain")
(version "0.8.0")
(version "0.9.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/frankosterfeld/qtkeychain/"
"archive/v" version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/frankosterfeld/qtkeychain/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0bxi5pfhxdvwk8yxa06lk2d7lcibmfqhahbin82bqf3m341zd4ml"))))
(base32
"0h4wgngn2yl35hapbjs24amkjfbzsvnna4ixfhn87snjnq5lmjbc"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@ -2045,12 +2047,11 @@ This package provides the Python bindings.")))
`(#:tests? #f ; No tests included
#:phases
(modify-phases %standard-phases
(add-before
'configure 'set-qt-trans-dir
(add-before 'configure 'set-qt-trans-dir
(lambda _
(substitute* "CMakeLists.txt"
(("\\$\\{qt_translations_dir\\}")
"${CMAKE_INSTALL_PREFIX}/share/qt/translations"))
"${CMAKE_INSTALL_PREFIX}/share/qt5/translations"))
#t)))))
(home-page "https://github.com/frankosterfeld/qtkeychain")
(synopsis "Qt API to store passwords")

View File

@ -2,6 +2,7 @@
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,6 +29,8 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cups)
#:use-module (gnu packages docbook)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages glib)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages image)
#:use-module (gnu packages linux)
@ -35,6 +38,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages tls)
#:use-module (gnu packages video)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml))
@ -73,64 +77,67 @@ to remotely control a user's Windows desktop.")
(license license:gpl3+)))
(define-public freerdp
(let ((commit "03ab68318966c3a22935a02838daaea7b7fbe96c"))
(package
(name "freerdp")
(version (git-version "1.1" "1" commit))
(source (origin
(method git-fetch)
(uri (git-reference
;; We need the 1.1 branch for RDP support in vinagre.
(url "git://github.com/FreeRDP/FreeRDP.git")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "07ish8rmvbk2zd99k91qybmmh5h4afly75l5kbvslhq1r6k8pbmp"))))
(build-system cmake-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("libxslt" ,libxslt)
("libxml2" ,libxml2)
("docbook-xsl" ,docbook-xsl)
("xmlto" ,xmlto)))
(inputs
`(("libx11" ,libx11)
("libxkbfile" ,libxkbfile)
("libxcursor" ,libxcursor)
("libxext" ,libxext)
("libxi" ,libxi)
("libxv" ,libxv)
("libxrandr" ,libxrandr)
("libxrender" ,libxrender)
("libxinerama" ,libxinerama)
("libxshmfence" ,libxshmfence)
("cups" ,cups)
("ffmpeg" ,ffmpeg-2.8)
("libjpeg" ,libjpeg)
("pulseaudio" ,pulseaudio)
("alsa-lib" ,alsa-lib)
("zlib" ,zlib)
("openssl" ,openssl)))
(arguments
`(#:build-type "RELEASE"
#:configure-flags
(list "-DWITH_JPEG=ON"
,@(if (string-prefix? "x86_64"
(or (%current-target-system)
(%current-system)))
'("-DWITH_SSE2=ON")
'())
(string-append "-DDOCBOOKXSL_DIR="
(assoc-ref %build-inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl))
"-DWITH_PULSE=ON"
"-DWITH_CUPS=ON")
#:tests? #f)) ; no 'test' target
(home-page "https://www.freerdp.com")
(synopsis "Remote Desktop Protocol implementation")
(description "FreeRDP implements Microsoft's Remote Desktop Protocol.
(package
(name "freerdp")
(version "2.0.0-rc4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://github.com/FreeRDP/FreeRDP.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0546i0m2d4nz5jh84ngwzpcm3c43fp987jk6cynqspsmvapab6da"))))
(build-system cmake-build-system)
(native-inputs
`(("docbook-xml" ,docbook-xml)
("docbook-xsl" ,docbook-xsl)
("glib" ,glib)
("libxml2" ,libxml2)
("libxslt" ,libxslt)
("pkg-config" ,pkg-config)
("xmlto" ,xmlto)))
(inputs
`(("alsa-lib" ,alsa-lib)
("cups" ,cups)
("ffmpeg" ,ffmpeg)
("libjpeg" ,libjpeg)
("libx11" ,libx11)
("libxkbcommon" ,libxkbcommon)
("libxkbfile" ,libxkbfile)
("libxcursor" ,libxcursor)
("libxext" ,libxext)
("libxi" ,libxi)
("libxv" ,libxv)
("libxrandr" ,libxrandr)
("libxrender" ,libxrender)
("libxinerama" ,libxinerama)
("libxshmfence" ,libxshmfence)
("openssl" ,openssl)
("pulseaudio" ,pulseaudio)
("wayland" ,wayland)
("zlib" ,zlib)))
(arguments
`(#:build-type "RELEASE"
#:configure-flags
(list "-DWITH_JPEG=ON"
"-DWITH_LIBSYSTEMD=OFF"
,@(if (string-prefix? "x86_64"
(or (%current-target-system)
(%current-system)))
'("-DWITH_SSE2=ON")
'())
(string-append "-DDOCBOOKXSL_DIR="
(assoc-ref %build-inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl))
"-DWITH_PULSE=ON"
"-DWITH_CUPS=ON"
"-DBUILD_TESTING=ON")))
(home-page "https://www.freerdp.com")
(synopsis "Remote Desktop Protocol implementation")
(description "FreeRDP implements Microsoft's Remote Desktop Protocol.
It consists of the @code{xfreerdp} client, libraries for client and server
functionality, and Windows Portable Runtime (WinPR), a portable implementation
of parts of the Windows API.")
(license license:asl2.0))))
(license license:asl2.0)))

View File

@ -10,6 +10,8 @@
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -145,74 +147,6 @@ a focus on simplicity and productivity.")
(delete-file-recursively "ext/fiddle/libffi-3.2.1")
#t))))))
(define-public ruby-2.2
(package (inherit ruby)
(version "2.2.10")
(source
(origin
(method url-fetch)
(uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
(version-major+minor version)
"/ruby-" version ".tar.xz"))
(sha256
(base32
"0l5nk9mc0q4769d2i9d9y1izk0pk0lms2bl8s3lclv36wsvvqxxz"))))))
(define-public ruby-2.1
(package (inherit ruby)
(version "2.1.10")
(source
(origin
(method url-fetch)
(uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
(version-major+minor version)
"/ruby-" version ".tar.bz2"))
(sha256
(base32
"1wglbd599mlwxfcb2xgqcxi2shr363pjn5dpbv11m04si9bpaim7"))))
(arguments
`(#:test-target "test"
#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'replace-bin-sh
(lambda _
(substitute* '("Makefile.in"
"ext/pty/pty.c"
"io.c"
"lib/mkmf.rb"
"process.c")
(("/bin/sh") (which "sh")))
#t)))))))
(define-public ruby-1.8
(package (inherit ruby)
(version "1.8.7-p374")
(source
(origin
(method url-fetch)
(uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
(version-major+minor version)
"/ruby-" version ".tar.bz2"))
(sha256
(base32
"1qq7khilwkayrhwmzlxk83scrmiqfi7lgsn4c63znyvz2c1lgqxl"))))
(native-search-paths '())
(arguments
`(#:test-target "test"
#:parallel-tests? #f
#:phases
(modify-phases %standard-phases
(add-before 'configure 'replace-bin-sh
(lambda _
(substitute* '("Makefile.in"
"ext/pty/pty.c"
"io.c"
"lib/mkmf.rb"
"process.c")
(("/bin/sh") (which "sh")))
#t)))))))
(define-public ruby-highline
(package
(name "ruby-highline")
@ -3346,14 +3280,14 @@ alternative to Marshal for Object serialization. ")
(define-public ruby-pg
(package
(name "ruby-pg")
(version "0.21.0")
(version "1.1.3")
(source
(origin
(method url-fetch)
(uri (rubygems-uri "pg" version))
(sha256
(base32
"00vhasqwc4f98qb4wxqn2h07fjwzhp5lwyi41j2gndi2g02wrdqh"))))
"1pnjw3rspdfjssxyf42jnbsdlgri8ylysimp0s28wxb93k6ff2qb"))))
(build-system ruby-build-system)
(arguments
'(#:test-target "spec"))
@ -3365,7 +3299,7 @@ alternative to Marshal for Object serialization. ")
`(("postgresql" ,postgresql-9.6)))
(synopsis "Ruby interface to PostgreSQL")
(description "Pg is the Ruby interface to the PostgreSQL RDBMS. It works
with PostgreSQL 8.4 and later.")
with PostgreSQL 9.0 and later.")
(home-page "https://bitbucket.org/ged/ruby-pg")
(license license:ruby)))

View File

@ -224,17 +224,17 @@ features an integrated Emacs-like editor and a large runtime library.")
;; long after the initial publication: <https://bugs.gnu.org/33525>. For
;; transparency, we give this "second 4.3b" release a different version
;; number.
(let ((upstream-version "4.3b"))
(let ((upstream-version "4.3e"))
(package
(name "bigloo")
(version "4.3b2")
(version "4.3e1")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo"
upstream-version ".tar.gz"))
(sha256
(base32
"02s0wrz5b1p0yqk9x6kax1vwzil7g9cyxfvl3vmy7fzznsza9gs4"))
"12k1kxyn3yilba0508xh8wkrw6279gnghzqi0bs2ayf5d2wkqdj3"))
;; Remove bundled libraries.
(modules '((guix build utils)))
(snippet
@ -320,14 +320,14 @@ and between Scheme and Java programs.")
(define-public hop
(package
(name "hop")
(version "3.1.0-pre2")
(version "3.2.0-pre1")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Hop/hop-"
version ".tar.gz"))
(sha256
(base32
"0bvq79vxcpgwydwi923cxb5w9isx2x8r3d0xndbdhacmmsw1m811"))))
"0jf418d0s9imv98s6qrpjxr1mdaxr37knh5qyfl5y4a9cc41mlg5"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
@ -338,8 +338,12 @@ and between Scheme and Java programs.")
(replace 'configure
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* '("tools/Makefile"
"test/hopjs/TEST.in")
(("/bin/rm") (which "rm")))
(invoke "./configure"
(string-append "--prefix=" out)
"--hostcc=gcc"
(string-append "--blflags="
;; user flags completely override useful
;; default flags, so repeat them here.
@ -367,14 +371,14 @@ mashups, office (web agendas, mail clients, ...), etc.")
(define-public chicken
(package
(name "chicken")
(version "4.13.0")
(version "5.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://code.call-cc.org/releases/"
version "/chicken-" version ".tar.gz"))
(sha256
(base32
"0hvckhi5gfny3mlva6d7y9pmx7cbwvq0r7mk11k3sdiik9hlkmdd"))))
"15b5yrzfa8aimzba79x7v6y282f898rxqxfxrr446sjx9jwlpfd8"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@ -551,7 +555,7 @@ of libraries.")
(define-public gambit-c
(package
(name "gambit-c")
(version "4.9.0")
(version "4.9.1")
(source
(origin
(method url-fetch)
@ -561,14 +565,14 @@ of libraries.")
(string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
".tgz"))
(sha256
(base32 "19862w9ij0g5xrkskl4g89xbs17gp9cc6cfcdca6dlfkb3lk6xhp"))))
(base32 "14x9xa0yh7187alzw2m937jnh4csj0dyywi3va8bhi7aaw4p5qai"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags
;; According to the ./configure script, this makes the build slower and
;; use >= 1 GB memory, but makes Gambit much faster.
'("--enable-single-host")))
(home-page "http://gambitscheme.org")
(home-page "http://dynamo.iro.umontreal.ca/wiki/index.php/Main_Page")
(synopsis "Efficient Scheme interpreter and compiler")
(description
"Gambit consists of two main programs: gsi, the Gambit Scheme

View File

@ -3,7 +3,7 @@
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
@ -34,20 +34,17 @@
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system r)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cran)
#:use-module (gnu packages databases)
#:use-module (gnu packages documentation)
#:use-module (gnu packages lua)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages perl)
#:use-module (gnu packages statistics))
#:use-module (gnu packages perl))
(define-public cereal
(package
@ -402,14 +399,14 @@ However, “Memory efficiency” and “Speed” have not been primary goals.")
(define-public python-ruamel.yaml
(package
(name "python-ruamel.yaml")
(version "0.15.37")
(version "0.15.83")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ruamel.yaml" version))
(sha256
(base32
"0629xzlwbddfwp8lkjz3mpvxhml9kx17cfs8aydzg55idzcl562h"))))
"0p4i8ad28cbbbjja8b9274irkhnphhvhap3aym6yb8xfp1d72kpw"))))
(build-system python-build-system)
(native-inputs
`(("python-pytest" ,python-pytest)))
@ -477,28 +474,6 @@ C#, C, Go, Java, JavaScript, PHP, and Python. It was originally created for
game development and other performance-critical applications.")
(license license:asl2.0)))
(define-public r-feather
(package
(name "r-feather")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (cran-uri "feather" version))
(sha256
(base32
"1q6dbkfnkpnabq8lb6bm9ma44cfcghx2lm23pyk3vg7943wrn1pi"))))
(build-system r-build-system)
(propagated-inputs
`(("r-hms" ,r-hms)
("r-rcpp" ,r-rcpp)
("r-tibble" ,r-tibble)))
(home-page "https://github.com/wesm/feather")
(synopsis "R Bindings to the Feather API")
(description "Read and write feather files, a lightweight binary columnar
daa store designed for maximum speed.")
(license license:asl2.0)))
(define-public python-feather-format
(package
(name "python-feather-format")

View File

@ -46,7 +46,6 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix download)
#:use-module (guix build utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)

View File

@ -9,6 +9,8 @@
;;; Copyright © 2016, 2017 Raoul Bonnal <ilpuccio.febo@gmail.com>
;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,6 +47,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages cran)
#:use-module (gnu packages curl)
#:use-module (gnu packages emacs)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gettext)
@ -5711,6 +5714,64 @@ plotting function (and equivalents of curve, density, acf and barplot) as well
as a boxplot function.")
(license license:lgpl3+)))
(define-public python-rpy2
(package
(name "python-rpy2")
(version "2.9.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "rpy2" version))
(sha256
(base32
"0bl1d2qhavmlrvalir9hmkjh74w21vzkvc2sg3cbb162s10zfmxy"))))
(build-system python-build-system)
(arguments
'(#:modules ((ice-9 ftw)
(srfi srfi-1)
(srfi srfi-26)
(guix build utils)
(guix build python-build-system))
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key outputs inputs #:allow-other-keys)
(let ((cwd (getcwd)))
(setenv "PYTHONPATH"
(string-append cwd "/build/"
(find (cut string-prefix? "lib" <>)
(scandir (string-append cwd "/build")))
":"
(getenv "PYTHONPATH"))))
(invoke "python" "-m" "rpy2.tests" "-v"))))))
(propagated-inputs
`(("python-six" ,python-six)
("python-jinja2" ,python-jinja2)
("python-pytz" ,python-pytz)))
(inputs
`(("readline" ,readline)
("icu4c" ,icu4c)
("pcre" ,pcre)
("r-minimal" ,r-minimal)
("r-survival" ,r-survival)
("r-ggplot2" ,r-ggplot2)
("r-rsqlite" ,r-rsqlite)
("r-dplyr" ,r-dplyr)
("r-dbplyr" ,r-dbplyr)
("python-numpy" ,python-numpy)))
(native-inputs
`(("zlib" ,zlib)))
(home-page "https://rpy2.bitbucket.io/")
(synopsis "Python interface to the R language")
(description "rpy2 is a redesign and rewrite of rpy. It is providing a
low-level interface to R from Python, a proposed high-level interface,
including wrappers to graphical libraries, as well as R-like structures and
functions.")
;; Any of these licenses can be picked for the R interface. The whole
;; project is released under GPLv2+ according to the license declaration
;; in "setup.py".
(license (list license:mpl2.0 license:gpl2+ license:lgpl2.1+))))
(define-public java-jdistlib
(package
(name "java-jdistlib")
@ -5747,3 +5808,70 @@ Java package that provides routines for various statistical distributions.")
;; are under the GPLv3, which is a mistake. The author confirmed in an
;; email that this whole project should be under GPLv2+.
(license license:gpl2+)))
(define-public emacs-ess
(package
(name "emacs-ess")
(version "17.11")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/emacs-ess/ESS/archive/v"
version ".tar.gz"))
(sha256
(base32
"0cbilbsiwvcyf6d5y24mymp57m3ana5dkzab3knfs83w4a3a4c5c"))
(file-name (string-append name "-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
'(begin
;; Stop ESS from trying to bundle an external julia-mode.el.
(substitute* "lisp/Makefile"
(("^\tjulia-mode.elc\\\\\n") "")
(("^dist: all julia-mode.el")
"dist: all"))
;; No need to build docs in so many formats. Also, skipping
;; pdf lets us not pull in texlive.
(substitute* "doc/Makefile"
(("all : info text html pdf")
"all : info")
(("install: install-info install-other-docs")
"install: install-info"))
;; Test fails upstream
(substitute* "test/ess-r-tests.el"
(("ert-deftest ess-r-namespaced-eval-no-srcref-in-errors ()")
"ert-deftest ess-r-namespaced-eval-no-srcref-in-errors () :expected-result :failed"))
#t))))
(build-system gnu-build-system)
(arguments
(let ((base-directory "/share/emacs/site-lisp/guix.d/ess"))
`(#:make-flags (list (string-append "PREFIX=" %output)
(string-append "ETCDIR=" %output "/"
,base-directory "/etc")
(string-append "LISPDIR=" %output "/"
,base-directory))
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'build 'more-shebang-patching
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "Makeconf"
(("SHELL = /bin/sh")
(string-append "SHELL = " (which "sh"))))
#t))
(replace 'check
(lambda _
(invoke "make" "test")))))))
(inputs
`(("emacs" ,emacs-minimal)
("r-minimal" ,r-minimal)))
(native-inputs
`(("perl" ,perl)
("texinfo" ,texinfo)))
(propagated-inputs
`(("emacs-julia-mode" ,emacs-julia-mode)))
(home-page "https://ess.r-project.org/")
(synopsis "Emacs mode for statistical analysis programs")
(description "Emacs Speaks Statistics (ESS) is an add-on package for GNU
Emacs. It is designed to support editing of scripts and interaction with
various statistical analysis programs such as R, Julia, and JAGS.")
(license license:gpl2+)))

View File

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
@ -48,14 +48,14 @@
(define-public owncloud-client
(package
(name "owncloud-client")
(version "2.4.1")
(version "2.5.1.10973")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.owncloud.com/desktop/stable/"
"owncloudclient-" version ".tar.xz"))
(sha256
(base32 "08xayz0alvypwa1bjmw1rmh4m3sclld4yq7kcbf264983icawqj4"))
(base32 "19x4rbnqg7f7hspz1xy86b1q51q1n5y7yvq8kqc1m64n2r2s3srk"))
(patches (search-patches "owncloud-disable-updatecheck.patch"))
(modules '((guix build utils)))
(snippet
@ -109,14 +109,14 @@ silently and reliably flow across to every other.")
(version "0.5.8")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/sieren/QSyncthingTray/archive/"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/sieren/QSyncthingTray")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1024778ml7q62ziqm4d22z5sc1715l34846pwfyzfpcyl32qlhpz"))))
"1n9g4j7qznvg9zl6x163pi9f7wsc3x6q76i33psnm7x2v1i22x5w"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags '("-DQST_BUILD_WEBKIT=1")
@ -128,12 +128,10 @@ silently and reliably flow across to every other.")
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "QSyncthingTray" bin)
(install-file (string-append
"../QSyncthingTray-"
,(package-version qsyncthingtray)
"/resources/images/Icon1024.png")
(string-append
out "/share/pixmaps/QSyncthingTray.png"))
(mkdir-p (string-append out "/share/pixmaps"))
(copy-file "../source/resources/images/Icon1024.png"
(string-append
out "/share/pixmaps/QSyncthingTray.png"))
#t))))
#:tests? #f)) ; no test target
(inputs

View File

@ -30,7 +30,7 @@
(define-public syncthing
(package
(name "syncthing")
(version "0.14.54")
(version "1.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/syncthing/syncthing"
@ -38,7 +38,7 @@
"/syncthing-source-v" version ".tar.gz"))
(sha256
(base32
"1pfjckwsrhy8lbmy42fawgh1gcfmjbh3dfxx05w5yjxnpd1g2z6r"))
"0992nsdiw374pbh1dywg7c2jijzy4xmsv0b7q5p76xn2yyg5yhr7"))
;; Since the update to Go 1.11, Go programs have been keeping
;; spurious references to all their dependencies:
;; <https://bugs.gnu.org/33620>.

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