mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-23 21:17:11 -05:00
Merge remote-tracking branch 'origin/master' into staging
This commit is contained in:
commit
0e28967250
130 changed files with 42537 additions and 3917 deletions
|
@ -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 \
|
||||
|
|
|
@ -334,12 +334,13 @@ (define spin
|
|||
(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 @@ (define* (build source
|
|||
(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"
|
||||
|
|
|
@ -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 @@ (define (assert-valid-job job 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 @@ (define (assert-valid-job job 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.~%"
|
||||
|
|
|
@ -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)))))))
|
||||
|
|
|
@ -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
444
gnu/ci.scm
Normal 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)))
|
28
gnu/local.mk
28
gnu/local.mk
|
@ -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 \
|
||||
|
|
|
@ -243,7 +243,7 @@ (define-public cmh
|
|||
(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 @@ (define-public giac-xcas
|
|||
"source/giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ds1zh712sr20qh0fih8jnm4nlv90andllp8n263qs7rlhblz551"))))
|
||||
"1d904w02x6i26crbvw2d25v7j1hv1w461casyj5mgh42kzcdhb4c"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc")) ;77MiB of documentation
|
||||
(arguments
|
||||
|
|
|
@ -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 @@ (define* (aspell-word-list language synopsis
|
|||
(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 @@ (define* (aspell-word-list language synopsis
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kdhydzg5z5x20ad2j1x5hbdhvy08ljkfdi2v3gbyvghbagxm15s"))))
|
||||
"11lkrnhwrf5mvrrq45k4mads3n9aswgac8dc25ba61c75alxb5rs"))))
|
||||
(native-inputs
|
||||
`(("tar" ,tar)
|
||||
("gzip" ,gzip)
|
||||
|
@ -276,7 +276,7 @@ (define* (aspell-word-list language synopsis
|
|||
(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"))
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages assembly)
|
|||
#: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 @@ (define-public lightning
|
|||
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)))
|
||||
|
|
|
@ -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 @@ (define-public wcslib
|
|||
(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 @@ (define-public gnuastro
|
|||
("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")
|
||||
|
|
|
@ -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 @@ (define-public autoconf-wrapper
|
|||
(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 @@ (define-public autoconf-archive
|
|||
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")
|
||||
|
|
8602
gnu/packages/aux-files/linux-libre/4.20-arm.conf
Normal file
8602
gnu/packages/aux-files/linux-libre/4.20-arm.conf
Normal file
File diff suppressed because it is too large
Load diff
8380
gnu/packages/aux-files/linux-libre/4.20-arm64.conf
Normal file
8380
gnu/packages/aux-files/linux-libre/4.20-arm64.conf
Normal file
File diff suppressed because it is too large
Load diff
9751
gnu/packages/aux-files/linux-libre/4.20-i686.conf
Normal file
9751
gnu/packages/aux-files/linux-libre/4.20-i686.conf
Normal file
File diff suppressed because it is too large
Load diff
9651
gnu/packages/aux-files/linux-libre/4.20-x86_64.conf
Normal file
9651
gnu/packages/aux-files/linux-libre/4.20-x86_64.conf
Normal file
File diff suppressed because it is too large
Load diff
|
@ -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 @@ (define-public hdup
|
|||
(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 @@ (define-public libarchive
|
|||
;; 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 @@ (define-public libarchive
|
|||
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")
|
||||
|
|
|
@ -23,7 +23,6 @@ (define-module (gnu packages batik)
|
|||
#: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)
|
||||
|
|
|
@ -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 @@ (define-public pigx
|
|||
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")
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages boost)
|
|||
#: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)
|
||||
|
|
|
@ -673,10 +673,25 @@ (define-public vboot-utils
|
|||
(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
|
||||
|
|
|
@ -180,6 +180,7 @@ (define* (glibc-dynamic-linker
|
|||
|
||||
;; 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")
|
||||
|
|
|
@ -27,7 +27,6 @@ (define-module (gnu packages calendar)
|
|||
#: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)
|
||||
|
|
|
@ -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 @@ (define-public cdrtools
|
|||
(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 @@ (define-public dvdisaster
|
|||
`(;; 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
|
||||
|
|
|
@ -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 @@ (define-public python2-pytest-bootstrap
|
|||
(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 @@ (define-public python2-pytest-mock
|
|||
(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 @@ (define-public python-pytest-xdist
|
|||
;; (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 @@ (define-public python-scripttest
|
|||
(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 @@ (define-public python2-testresources
|
|||
(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 @@ (define-public python-subunit-bootstrap
|
|||
`(("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
|
||||
|
|
|
@ -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 @@ (define-public complexity
|
|||
(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)
|
||||
|
|
|
@ -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 @@ (define-public unshield
|
|||
(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 @@ (define-public zstd
|
|||
;; 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 @@ (define-public zziplib
|
|||
(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 @@ (define-public perl-archive-zip
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02y2ylq83hy9kgj57sc0239x65br9sm98c0chsm61s08yc2mpiza"))))
|
||||
"0zfinh8nx3rxzscp57vq3w8hihpdb0zs67vvalykcf402kr88pyy"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
;; For tests.
|
||||
|
|
454
gnu/packages/coq.scm
Normal file
454
gnu/packages/coq.scm
Normal 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
|
@ -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 @@ (define-module (gnu packages databases)
|
|||
#: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 @@ (define-module (gnu packages databases)
|
|||
#: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 @@ (define-public qdbm
|
|||
(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 @@ (define-public virtuoso-ose
|
|||
(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")
|
||||
|
|
|
@ -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 @@ (define-public uthash
|
|||
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+)))
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages disk)
|
|||
#: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 @@ (define-module (gnu packages disk)
|
|||
#: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 @@ (define-public libblockdev
|
|||
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+)))
|
||||
|
|
|
@ -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 @@ (define-public hnsd
|
|||
"@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)))
|
||||
|
|
|
@ -23,11 +23,16 @@ (define-module (gnu packages docker)
|
|||
#: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 @@ (define-public python-docker-pycreds
|
|||
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)))
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages emacs)
|
|||
#: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 @@ (define-module (gnu packages emacs)
|
|||
#: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 @@ (define-public emacs-magit-svn
|
|||
(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 @@ (define-public emacs-a
|
|||
;;;
|
||||
|
||||
(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 @@ (define-public emacs-bui
|
|||
(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 @@ (define-public emacs-hydra
|
|||
(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 @@ (define-public emacs-julia-mode
|
|||
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 @@ (define-public emacs-markdown-mode
|
|||
(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 @@ (define-public emacs-org
|
|||
(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 @@ (define-public emacs-org-contrib
|
|||
(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 @@ (define-public emacs-org-contrib
|
|||
(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 @@ (define-public emacs-org-contrib
|
|||
(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 @@ (define-public emacs-adaptive-wrap
|
|||
(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 @@ (define-public emacs-evil-mu4e
|
|||
(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 @@ (define-public emacs-ov
|
|||
(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 @@ (define-public emacs-matrix-client
|
|||
(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 @@ (define-public emacs-wordnut
|
|||
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+))))
|
||||
|
|
|
@ -1186,7 +1186,7 @@ (define-public scummvm
|
|||
(define-public mame
|
||||
(package
|
||||
(name "mame")
|
||||
(version "0.204")
|
||||
(version "0.205")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1196,7 +1196,7 @@ (define-public mame
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yn63v2f1xlksfnvbxc5p5zpc7ps044m1kf69jhzbfirx953slsi"))
|
||||
"1q5z18rlmas598fxga8jr2d6xdngdzjab49xfy4hffdmlq624lw7"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
|
@ -1223,14 +1223,6 @@ (define-public mame
|
|||
#: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
|
||||
|
|
|
@ -86,21 +86,54 @@ (define-module (gnu packages game-development)
|
|||
(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)
|
||||
|
|
|
@ -42,7 +42,6 @@ (define-module (gnu packages geo)
|
|||
#: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 @@ (define-module (gnu packages geo)
|
|||
#: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 @@ (define-public spatialite-gui
|
|||
(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")
|
||||
|
|
|
@ -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 @@ (define-public gnu-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 @@ (define-public po4a
|
|||
"/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 @@ (define-public po4a
|
|||
("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/")
|
||||
|
|
|
@ -50,7 +50,6 @@ (define-module (gnu packages gl)
|
|||
#: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)
|
||||
|
|
|
@ -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 @@ (define-public libwnck-2
|
|||
(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 @@ (define-public vinagre
|
|||
(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 @@ (define-public vinagre
|
|||
("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 @@ (define-public libsoup
|
|||
(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 @@ (define-public libsecret
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vynag97a9bnnb8ipah45av8xg8jzmhd572rw3zj78s1pa8ciysy"))))
|
||||
"11ylmcfx6ff7xd1gpi58i2nbma83lz2xg0g2dq23w6snqhgzwrhd"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
|
@ -5317,6 +5328,10 @@ (define-public gdm
|
|||
;; 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 @@ (define-public gdm
|
|||
;; 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")
|
||||
|
|
|
@ -61,7 +61,8 @@ (define-public gnucash
|
|||
(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)
|
||||
|
|
|
@ -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-module (gnu packages gnunet)
|
|||
(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 @@ (define-public libextractor
|
|||
(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 @@ (define-public gnunet
|
|||
(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)
|
||||
|
|
|
@ -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 @@ (define-public npth
|
|||
(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 @@ (define-public pius
|
|||
(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 @@ (define-public signing-party
|
|||
@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
|
||||
|
|
|
@ -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 @@ (define-public gpscorrelate
|
|||
(define-public gama
|
||||
(package
|
||||
(name "gama")
|
||||
(version "2.01")
|
||||
(version "2.02")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -155,7 +155,7 @@ (define-public gama
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1z3n5p69qglxq15l9g13cg78kyb0l6v8mbzqgc1fqkfbdk1mis0k"))))
|
||||
"1r5rrmiqdg6dpxqla0f2mjwcjzlckdjpg4ar0cirmz78w78hf6vn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:parallel-tests? #f)) ; race condition
|
||||
(native-inputs
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages image-processing)
|
|||
#: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 @@ (define-public vips
|
|||
(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+)))
|
||||
|
|
|
@ -1595,3 +1595,29 @@ (define-public grim
|
|||
(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)))
|
||||
|
|
|
@ -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 @@ (define-public python2-iso639
|
|||
(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
51
gnu/packages/jose.scm
Normal 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)))
|
|
@ -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 @@ (define-public extra-cmake-modules
|
|||
(("\"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 @@ (define-public breeze-icons
|
|||
(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 @@ (define-public kpackage
|
|||
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 @@ (define-public kpackage
|
|||
`(#: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 @@ (define-public kcmutils
|
|||
("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 @@ (define-public kconfigwidgets
|
|||
(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 @@ (define-public kinit
|
|||
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 @@ (define-public kinit
|
|||
("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 @@ (define-public kio
|
|||
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 @@ (define-public kio
|
|||
(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 @@ (define-public krunner
|
|||
(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 @@ (define-public kservice
|
|||
`(#: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 @@ (define-public kdelibs4support
|
|||
("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
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages libcanberra)
|
|||
#: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 @@ (define-module (gnu packages libcanberra)
|
|||
#: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
|
||||
|
|
|
@ -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-module (gnu packages libphidget)
|
|||
(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)))
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages libreoffice)
|
|||
#: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 @@ (define-public libzmf
|
|||
(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)
|
||||
|
|
|
@ -231,6 +231,18 @@ (define %boot-logo-patch
|
|||
(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 @@ (define* (make-linux-libre version hash supported-systems
|
|||
("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 @@ (define* (make-linux-libre version hash supported-systems
|
|||
(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 @@ (define* (make-linux-libre version hash supported-systems
|
|||
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 @@ (define-public linux-libre-4.14
|
|||
#: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 @@ (define-public linux-libre-arm-omap2plus
|
|||
(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 @@ (define-public libnfnetlink
|
|||
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))))
|
||||
|
|
|
@ -459,6 +459,35 @@ (define-public python-llvmlite
|
|||
"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)
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages lua)
|
|||
#: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 @@ (define-public luajit
|
|||
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 @@ (define-public lua5.1-expat
|
|||
(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 @@ (define-public lua5.1-expat
|
|||
(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 @@ (define-public lua5.1-socket
|
|||
(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 @@ (define-public lua5.1-socket
|
|||
(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 @@ (define-public lua5.1-socket
|
|||
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 @@ (define-public lua5.1-filesystem
|
|||
(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 @@ (define-public lua5.1-filesystem
|
|||
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 @@ (define-public lua5.1-sec
|
|||
(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
|
||||
|
|
|
@ -873,3 +873,37 @@ (define-public vowpal-wabbit
|
|||
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)))
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages maths)
|
|||
#: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 @@ (define-module (gnu packages maths)
|
|||
#: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 @@ (define-public gsl
|
|||
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 @@ (define-public octave-cli
|
|||
(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 @@ (define-public z3
|
|||
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")
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages messaging)
|
|||
#: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 @@ (define-public python2-nbxmpp
|
|||
(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 @@ (define-public gajim
|
|||
"/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 @@ (define-public gajim
|
|||
(("_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 @@ (define-public gajim
|
|||
(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 @@ (define-public gajim-omemo
|
|||
version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"134zbscbcnhx4smad0ryvx3ngkqlsspafqf0kk8y2d3vcd9bf3pa"))))
|
||||
"0amqlmnsijz60s0wwkp7bzix60v5p6khqcdsd6qcwawxq5pdayw0"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
|
@ -780,17 +783,17 @@ (define-public dino
|
|||
(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 @@ (define-public prosody
|
|||
#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 @@ (define-public prosody
|
|||
(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 @@ (define-public prosody
|
|||
(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 @@ (define-public prosody
|
|||
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"))
|
||||
|
|
|
@ -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-module (gnu packages moe)
|
|||
(define-public moe
|
||||
(package
|
||||
(name "moe")
|
||||
(version "1.9")
|
||||
(version "1.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -36,7 +36,7 @@ (define-public moe
|
|||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wsfzy0iia0c89wnx1ilzw54wqcmlp2nz8mkpvc393z0zagrx48q"))))
|
||||
"0fymywdiy9xqppcmvgs7mf7d3gfrky3jp5jkxs2l3v93asml9zcc"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("lzip" ,lzip)))
|
||||
(inputs `(("ncurses" ,ncurses)))
|
||||
|
@ -51,4 +51,4 @@ (define-public moe
|
|||
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+)))
|
||||
|
|
|
@ -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 @@ (define-public zynaddsubfx
|
|||
(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 @@ (define-public yoshimi
|
|||
"/yoshimi-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nqwxwq6814m860zrh33r85vdyi2bgkvjg5372h3ngcdmxnb7wr0"))))
|
||||
"0mazzn5pc4xnjci3yy1yfsx9l05gkxqzkmscaq1h75jpa7qfsial"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
|
@ -2786,7 +2786,7 @@ (define-public milkytracker
|
|||
(define-public schismtracker
|
||||
(package
|
||||
(name "schismtracker")
|
||||
(version "20180810")
|
||||
(version "20181223")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2795,7 +2795,7 @@ (define-public schismtracker
|
|||
(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 @@ (define-public lmms
|
|||
(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 @@ (define-public musescore
|
|||
(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 @@ (define-public musescore
|
|||
"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 @@ (define-public musescore
|
|||
("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
|
||||
|
|
|
@ -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 @@ (define-public bmon
|
|||
(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 @@ (define-public amule
|
|||
(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")
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages ocaml)
|
|||
#: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 @@ (define-module (gnu packages ocaml)
|
|||
#: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 @@ (define-public ocaml-num
|
|||
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 @@ (define-public ocaml-graph
|
|||
(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 @@ (define-public ocaml-tsdl
|
|||
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 @@ (define-public dedukti
|
|||
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 @@ (define-public ocaml-yojson
|
|||
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)))
|
||||
|
|
31
gnu/packages/patches/biber-fix-encoding-write.patch
Normal file
31
gnu/packages/patches/biber-fix-encoding-write.patch
Normal 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')) {
|
|
@ -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
|
||||
|
55
gnu/packages/patches/kinit-kdeinit-extra_libs.patch
Normal file
55
gnu/packages/patches/kinit-kdeinit-extra_libs.patch
Normal 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);
|
37
gnu/packages/patches/kinit-kdeinit-libpath.patch
Normal file
37
gnu/packages/patches/kinit-kdeinit-libpath.patch
Normal 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());
|
30
gnu/packages/patches/kio-search-smbd-on-PATH.patch
Normal file
30
gnu/packages/patches/kio-search-smbd-on-PATH.patch
Normal 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;
|
||||
}
|
||||
|
13
gnu/packages/patches/kpackage-allow-external-paths.patch
Normal file
13
gnu/packages/patches/kpackage-allow-external-paths.patch
Normal 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)
|
||||
{
|
45
gnu/packages/patches/libarchive-CVE-2018-1000877.patch
Normal file
45
gnu/packages/patches/libarchive-CVE-2018-1000877.patch
Normal 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
|
||||
|
86
gnu/packages/patches/libarchive-CVE-2018-1000878.patch
Normal file
86
gnu/packages/patches/libarchive-CVE-2018-1000878.patch
Normal 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
|
||||
|
51
gnu/packages/patches/libarchive-CVE-2018-1000880.patch
Normal file
51
gnu/packages/patches/libarchive-CVE-2018-1000880.patch
Normal 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
|
||||
|
60
gnu/packages/patches/libextractor-CVE-2018-20430.patch
Normal file
60
gnu/packages/patches/libextractor-CVE-2018-20430.patch
Normal 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
|
||||
|
53
gnu/packages/patches/libextractor-CVE-2018-20431.patch
Normal file
53
gnu/packages/patches/libextractor-CVE-2018-20431.patch
Normal 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
|
||||
|
|
@ -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)
|
||||
|
|
70
gnu/packages/patches/streamlink-update-test.patch
Normal file
70
gnu/packages/patches/streamlink-update-test.patch
Normal 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")
|
|
@ -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
|
||||
|
|
@ -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;
|
142
gnu/packages/patches/vboot-utils-fix-tests-show-contents.patch
Normal file
142
gnu/packages/patches/vboot-utils-fix-tests-show-contents.patch
Normal 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
|
21
gnu/packages/patches/vboot-utils-skip-test-workbuf.patch
Normal file
21
gnu/packages/patches/vboot-utils-skip-test-workbuf.patch
Normal 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");
|
320
gnu/packages/patches/vinagre-newer-freerdp.patch
Normal file
320
gnu/packages/patches/vinagre-newer-freerdp.patch
Normal 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
|
||||
|
212
gnu/packages/patches/vinagre-newer-rdp-parameters.patch
Normal file
212
gnu/packages/patches/vinagre-newer-rdp-parameters.patch
Normal 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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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 @@ (define-public pdfpc
|
|||
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+)))
|
||||
|
|
|
@ -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 @@ (define-public perl-test-memory-cycle
|
|||
(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 @@ (define-public perl-test-sharedfork
|
|||
(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
|
||||
|
|
|
@ -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 @@ (define-public perl-cpan-meta-check
|
|||
(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 @@ (define-public perl-cpanel-json-xs
|
|||
"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 @@ (define-public perl-file-slurp
|
|||
(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 @@ (define-public perl-file-slurper
|
|||
".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 @@ (define-public perl-json-any
|
|||
(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 @@ (define-public perl-json-maybexs
|
|||
"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 @@ (define-public perl-libintl-perl
|
|||
(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 @@ (define-public perl-lingua-translit
|
|||
"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 @@ (define-public perl-yaml-libyaml
|
|||
(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 @@ (define-public perl-yaml-tiny
|
|||
"YAML-Tiny-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c17l8pvpraznpb31ncmr4wxlyww8sg8dhvp3s3q02yqll3cnygv"))))
|
||||
"0i3p4nz8ysrsrs6vlzc6gkjcfpcaf05xjc7lwbjkw7lg5shmycdw"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-json-maybexs" ,perl-json-maybexs)
|
||||
|
|
|
@ -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 @@ (define-public php
|
|||
"--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 @@ (define-public php
|
|||
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))
|
||||
|
|
|
@ -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 @@ (define-public python2-keyring
|
|||
(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 @@ (define-public python2-josepy
|
|||
(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")
|
||||
|
|
|
@ -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 @@ (define-public python-tornado-http-auth
|
|||
(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 @@ (define-public python-terminado
|
|||
`(#: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
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages python)
|
|||
#: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 @@ (define-module (gnu packages python)
|
|||
#: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 @@ (define-public python2-simplejson
|
|||
(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 @@ (define-public python-spectra
|
|||
(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 @@ (define-public python2-pysnptools
|
|||
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 @@ (define-public python2-jupyter-core
|
|||
(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 @@ (define-public python2-jupyter-client
|
|||
(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 @@ (define-public python-ipykernel
|
|||
(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 @@ (define-public python-ipython
|
|||
(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 @@ (define-public python2-dbus
|
|||
(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 @@ (define-public python-nbconvert
|
|||
(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 @@ (define-public python2-notebook
|
|||
(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 @@ (define-public python-ipywidgets
|
|||
(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 @@ (define-public python-jupyter-console
|
|||
(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 @@ (define python-jupyter-console-minimal
|
|||
"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 @@ (define-public jupyter
|
|||
(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 @@ (define-public python-docopt
|
|||
`(#: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 @@ (define-public python-configargparse
|
|||
;; 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 @@ (define-public python-clint
|
|||
'(#: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 @@ (define-public python-hy
|
|||
(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 @@ (define-public python2-backpack
|
|||
(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 @@ (define-public python2-sphinx-cloud-sptheme
|
|||
(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 @@ (define-public python2-pyev
|
|||
(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 @@ (define-public python2-larch
|
|||
(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 @@ (define-public python-astroid
|
|||
(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 @@ (define-public python2-translate-toolkit
|
|||
(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 @@ (define-public python2-xenon
|
|||
(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")
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages qt)
|
|||
#: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 @@ (define-public python-pyqt+qscintilla
|
|||
(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 @@ (define-public qtkeychain
|
|||
`(#: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")
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages rdesktop)
|
|||
#: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 @@ (define-module (gnu packages rdesktop)
|
|||
#: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 @@ (define-public rdesktop
|
|||
(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)))
|
||||
|
|
|
@ -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 @@ (define-public ruby-2.3
|
|||
(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 @@ (define-public ruby-redcloth
|
|||
(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 @@ (define-public ruby-pg
|
|||
`(("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)))
|
||||
|
||||
|
|
|
@ -224,17 +224,17 @@ (define-public bigloo
|
|||
;; 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 @@ (define-public bigloo
|
|||
(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 @@ (define-public hop
|
|||
(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 @@ (define-public hop
|
|||
(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 @@ (define-public racket
|
|||
(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 @@ (define-public gambit-c
|
|||
(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
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages serialization)
|
|||
#: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 @@ (define-public nlohmann-json-cpp
|
|||
(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 @@ (define-public flatbuffers
|
|||
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")
|
||||
|
|
|
@ -46,7 +46,6 @@ (define-module (gnu packages simulation)
|
|||
#: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)
|
||||
|
|
|
@ -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 @@ (define-module (gnu packages statistics)
|
|||
#: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 @@ (define-public r-txtplot
|
|||
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 @@ (define-public java-jdistlib
|
|||
;; 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+)))
|
||||
|
|
|
@ -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-module (gnu packages sync)
|
|||
(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 @@ (define-public qsyncthingtray
|
|||
(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 @@ (define-public qsyncthingtray
|
|||
(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
|
||||
|
|
|
@ -30,7 +30,7 @@ (define-module (gnu packages syncthing)
|
|||
(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 @@ (define-public syncthing
|
|||
"/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
Loading…
Reference in a new issue