Merge remote-tracking branch 'origin/master' into staging
This commit is contained in:
commit
0e28967250
|
@ -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 @@ interface (FFI) of Guile.")
|
|||
(format (current-error-port)
|
||||
"Computing Guix derivation for '~a'... "
|
||||
system)
|
||||
(let loop ((spin spin))
|
||||
(display (string-append "\b" (car spin))
|
||||
(current-error-port))
|
||||
(force-output (current-error-port))
|
||||
(sleep 1)
|
||||
(loop (cdr spin))))
|
||||
(when (isatty? (current-error-port))
|
||||
(let loop ((spin spin))
|
||||
(display (string-append "\b" (car spin))
|
||||
(current-error-port))
|
||||
(force-output (current-error-port))
|
||||
(sleep 1)
|
||||
(loop (cdr spin)))))
|
||||
|
||||
(match (command-line)
|
||||
((_ source system version protocol-version)
|
||||
|
@ -420,7 +421,7 @@ files."
|
|||
(error "build program failed" (list build status)))
|
||||
((? derivation-path? drv)
|
||||
(mbegin %store-monad
|
||||
(return (newline (current-output-port)))
|
||||
(return (newline (current-error-port)))
|
||||
((store-lift add-temp-root) drv)
|
||||
(return (read-derivation-from-file drv))))
|
||||
("#f"
|
||||
|
|
|
@ -22,6 +22,8 @@
|
|||
;;; arguments and outputs an sexp of the jobs on standard output.
|
||||
|
||||
(use-modules (guix store)
|
||||
(guix git-download)
|
||||
((guix build utils) #:select (with-directory-excursion))
|
||||
(srfi srfi-19)
|
||||
(ice-9 match)
|
||||
(ice-9 pretty-print)
|
||||
|
@ -81,11 +83,6 @@ Otherwise return THING."
|
|||
;; Load FILE, a Scheme file that defines Hydra jobs.
|
||||
(let ((port (current-output-port))
|
||||
(real-build-things build-things))
|
||||
(save-module-excursion
|
||||
(lambda ()
|
||||
(set-current-module %user-module)
|
||||
(primitive-load file)))
|
||||
|
||||
(with-store store
|
||||
;; Make sure we don't resort to substitutes.
|
||||
(set-build-options store
|
||||
|
@ -104,23 +101,37 @@ Otherwise return THING."
|
|||
"'build-things' arguments: ~s~%" args)
|
||||
(apply real-build-things store args)))
|
||||
|
||||
;; Call the entry point of FILE and print the resulting job sexp.
|
||||
(pretty-print
|
||||
(match ((module-ref %user-module
|
||||
(if (equal? cuirass? "cuirass")
|
||||
'cuirass-jobs
|
||||
'hydra-jobs))
|
||||
store `((guix
|
||||
. ((file-name . ,%top-srcdir)))))
|
||||
(((names . thunks) ...)
|
||||
(map (lambda (job thunk)
|
||||
(format (current-error-port) "evaluating '~a'... " job)
|
||||
(force-output (current-error-port))
|
||||
(cons job
|
||||
(assert-valid-job job
|
||||
(call-with-time-display thunk))))
|
||||
names thunks)))
|
||||
port))))
|
||||
;; Add %TOP-SRCDIR to the store with a proper Git predicate so we work
|
||||
;; from a clean checkout
|
||||
(let ((source (add-to-store store "guix-source" #t
|
||||
"sha256" %top-srcdir
|
||||
#:select? (git-predicate %top-srcdir))))
|
||||
(with-directory-excursion source
|
||||
(save-module-excursion
|
||||
(lambda ()
|
||||
(set-current-module %user-module)
|
||||
(format (current-error-port)
|
||||
"loading '~a' relative to '~a'...~%"
|
||||
file source)
|
||||
(primitive-load file))))
|
||||
|
||||
;; Call the entry point of FILE and print the resulting job sexp.
|
||||
(pretty-print
|
||||
(match ((module-ref %user-module
|
||||
(if (equal? cuirass? "cuirass")
|
||||
'cuirass-jobs
|
||||
'hydra-jobs))
|
||||
store `((guix
|
||||
. ((file-name . ,source)))))
|
||||
(((names . thunks) ...)
|
||||
(map (lambda (job thunk)
|
||||
(format (current-error-port) "evaluating '~a'... " job)
|
||||
(force-output (current-error-port))
|
||||
(cons job
|
||||
(assert-valid-job job
|
||||
(call-with-time-display thunk))))
|
||||
names thunks)))
|
||||
port)))))
|
||||
((command _ ...)
|
||||
(format (current-error-port) "Usage: ~a FILE [cuirass]
|
||||
Evaluate the Hydra or Cuirass jobs defined in FILE.~%"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 @@ precision.")
|
|||
(define-public giac-xcas
|
||||
(package
|
||||
(name "giac-xcas")
|
||||
(version "1.5.0-19")
|
||||
(version "1.5.0-29")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; "~parisse/giac" is not used because the maintainer regularly
|
||||
|
@ -255,7 +255,7 @@ precision.")
|
|||
"source/giac_" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ds1zh712sr20qh0fih8jnm4nlv90andllp8n263qs7rlhblz551"))))
|
||||
"1d904w02x6i26crbvw2d25v7j1hv1w461casyj5mgh42kzcdhb4c"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc")) ;77MiB of documentation
|
||||
(arguments
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
|
||||
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -248,7 +248,7 @@ dictionaries, including personal ones.")
|
|||
(string-downcase language))))
|
||||
(package
|
||||
(name (string-append "hunspell-dict-" nick))
|
||||
(version "2017.08.24")
|
||||
(version "2018.04.16")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -256,7 +256,7 @@ dictionaries, including personal ones.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1kdhydzg5z5x20ad2j1x5hbdhvy08ljkfdi2v3gbyvghbagxm15s"))))
|
||||
"11lkrnhwrf5mvrrq45k4mads3n9aswgac8dc25ba61c75alxb5rs"))))
|
||||
(native-inputs
|
||||
`(("tar" ,tar)
|
||||
("gzip" ,gzip)
|
||||
|
@ -276,7 +276,7 @@ dictionaries, including personal ones.")
|
|||
(mkdir "speller/hunspell")
|
||||
|
||||
;; XXX: This actually builds all the dictionary variants.
|
||||
(zero? (system* "make" "-C" "speller" "hunspell"))))
|
||||
(invoke "make" "-C" "speller" "hunspell")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref %outputs "out"))
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Guy Fleury Iteriteka <hoonandon@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -30,7 +31,9 @@
|
|||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages texinfo)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xml))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module ((guix utils)
|
||||
#:select (%current-system)))
|
||||
|
||||
(define-public nasm
|
||||
(package
|
||||
|
@ -122,3 +125,46 @@ abstracts over the target CPU by exposing a standardized RISC instruction set
|
|||
to the clients.")
|
||||
(home-page "https://www.gnu.org/software/lightning/")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public fasm
|
||||
(package
|
||||
(name "fasm")
|
||||
(version "1.73.06")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://flatassembler.net/fasm-"
|
||||
version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02wqkqxpn3p0iwcagsm92qd9cdfcnbx8a09qg03b3pjppp30hmp6"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;;no tests
|
||||
#:strip-binaries? #f ;; fasm has no sections
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure) ;;no configure script used
|
||||
(replace 'build
|
||||
(lambda _
|
||||
;;source code are in this directory
|
||||
(chdir "source/Linux/")
|
||||
(if (string=? ,(%current-system) "x86_64-linux")
|
||||
;;use pre-compiled binaries in top-level directory to build
|
||||
;;itself
|
||||
(invoke "../../fasm.x64" "fasm.asm")
|
||||
(invoke "../../fasm" "fasm.asm"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(install-file "fasm" (string-append out "/bin")))
|
||||
#t)))))
|
||||
;;support only intel x86 family processors
|
||||
(supported-systems '("x86_64-linux" "i686-linux"))
|
||||
(synopsis "Assembler for x86 processors")
|
||||
(description
|
||||
"FASM is a assembler that supports x86, and IA-64 Intel architectures.
|
||||
It does multiple passes to optimize machine code.It have macro abilities and
|
||||
focus on operating system portability.")
|
||||
(home-page "https://flatassembler.net/")
|
||||
(license license:bsd-2)))
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -102,15 +103,15 @@ header.")
|
|||
(define-public gnuastro
|
||||
(package
|
||||
(name "gnuastro")
|
||||
(version "0.7")
|
||||
(version "0.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/gnuastro/gnuastro-"
|
||||
version ".tar.gz"))
|
||||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1h4hpj5dd1nz8hx0dkf43as0hl1grcaijg0k3zcd5djg7wgna46y"))))
|
||||
"0gx6iar3z07k9sdvpa6kchsz6fpk94xn5vcvbcigssl2dwqmlnkb"))))
|
||||
(inputs
|
||||
`(("cfitsio" ,cfitsio)
|
||||
("gsl" ,gsl)
|
||||
|
@ -118,6 +119,8 @@ header.")
|
|||
("libtiff" ,libtiff)
|
||||
("wcslib" ,wcslib)
|
||||
("zlib" ,zlib)))
|
||||
(native-inputs
|
||||
`(("lzip" ,lzip)))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.gnu.org/software/gnuastro/")
|
||||
(synopsis "Astronomy utilities")
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2015, 2017, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;;
|
||||
|
@ -205,7 +205,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
|
|||
(define-public autoconf-archive
|
||||
(package
|
||||
(name "autoconf-archive")
|
||||
(version "2018.03.13")
|
||||
(version "2019.01.06")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -213,7 +213,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
|
|||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ng1lvpijf3kv7w7nb1shqs23vp0398yicyvkf9lsk56kw6zjxb1"))))
|
||||
"0gqya7nf4j5k98dkky0c3bnr0paciya91vkqazg7knlq621mq68p"))))
|
||||
(build-system gnu-build-system)
|
||||
(home-page "https://www.gnu.org/software/autoconf-archive/")
|
||||
(synopsis "Collection of freely reusable Autoconf macros")
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -12,6 +12,7 @@
|
|||
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -194,11 +195,12 @@ backups (called chunks) to allow easy burning to CD/DVD.")
|
|||
(define-public libarchive
|
||||
(package
|
||||
(name "libarchive")
|
||||
(replacement libarchive-3.3.3)
|
||||
(version "3.3.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://libarchive.org/downloads/libarchive-"
|
||||
(uri (string-append "https://libarchive.org/downloads/libarchive-"
|
||||
version ".tar.gz"))
|
||||
(patches (search-patches "libarchive-CVE-2017-14166.patch"
|
||||
"libarchive-CVE-2017-14502.patch"))
|
||||
|
@ -258,7 +260,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
|
|||
;; libarchive/test/test_write_format_gnutar_filenames.c needs to be
|
||||
;; compiled with C99 or C11 or a gnu variant.
|
||||
#:configure-flags '("CFLAGS=-O2 -g -std=c99")))
|
||||
(home-page "http://libarchive.org/")
|
||||
(home-page "https://libarchive.org/")
|
||||
(synopsis "Multi-format archive and compression library")
|
||||
(description
|
||||
"Libarchive provides a flexible interface for reading and writing
|
||||
|
@ -270,6 +272,22 @@ archive. In particular, note that there is currently no built-in support for
|
|||
random access nor for in-place modification.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public libarchive-3.3.3
|
||||
(package
|
||||
(inherit libarchive)
|
||||
(version "3.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://libarchive.org/downloads/libarchive-"
|
||||
version ".tar.gz"))
|
||||
(patches (search-patches "libarchive-CVE-2018-1000877.patch"
|
||||
"libarchive-CVE-2018-1000878.patch"
|
||||
"libarchive-CVE-2018-1000880.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bhfncid058p7n1n8v29l6wxm3mhdqfassscihbsxfwz3iwb2zms"))))))
|
||||
|
||||
(define-public rdup
|
||||
(package
|
||||
(name "rdup")
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix build-system ant)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages java)
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2016, 2018 Raoul Bonnal <ilpuccio.febo@gmail.com>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -13285,6 +13285,41 @@ descriptive settings file. The result is a set of comprehensive, interactive
|
|||
HTML reports with interesting findings about your samples.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public mantis
|
||||
(let ((commit "4ffd171632c2cb0056a86d709dfd2bf21bc69b84")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "mantis")
|
||||
(version (git-version "0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/splatlab/mantis.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0iqbr0dhmlc8mzpirmm2s4pkzkwdgrcx50yx6cv3wlr2qi064p55"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments '(#:tests? #f)) ; there are none
|
||||
(inputs
|
||||
`(("sdsl-lite" ,sdsl-lite)
|
||||
("openssl" ,openssl)
|
||||
("zlib" ,zlib)))
|
||||
(home-page "https://github.com/splatlab/mantis")
|
||||
(synopsis "Large-scale sequence-search index data structure")
|
||||
(description "Mantis is a space-efficient data structure that can be
|
||||
used to index thousands of raw-read genomics experiments and facilitate
|
||||
large-scale sequence searches on those experiments. Mantis uses counting
|
||||
quotient filters instead of Bloom filters, enabling rapid index builds and
|
||||
queries, small indexes, and exact results, i.e., no false positives or
|
||||
negatives. Furthermore, Mantis is also a colored de Bruijn graph
|
||||
representation, so it supports fast graph traversal and other topological
|
||||
analyses in addition to large-scale sequence-level searches.")
|
||||
;; uses __uint128_t and inline assembly
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(license license:bsd-3))))
|
||||
|
||||
(define-public r-diversitree
|
||||
(package
|
||||
(name "r-diversitree")
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
|
@ -32,7 +32,6 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (gnu packages)
|
||||
|
|
|
@ -673,10 +673,25 @@ board-independent tools.")))
|
|||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0h0m3l69vp9dr6xrs1p6y7ilkq3jq8jraw2z20kqfv7lvc9l1lxj"))))
|
||||
"0h0m3l69vp9dr6xrs1p6y7ilkq3jq8jraw2z20kqfv7lvc9l1lxj"))
|
||||
(patches
|
||||
(search-patches "vboot-utils-skip-test-workbuf.patch"
|
||||
"vboot-utils-fix-tests-show-contents.patch"
|
||||
"vboot-utils-fix-format-load-address.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "CC=gcc"
|
||||
;; On ARM, we must pass "HOST_ARCH=arm" so that the
|
||||
;; ${HOST_ARCH} and ${ARCH} variables in the makefile
|
||||
;; match. Otherwise, ${HOST_ARCH} will be assigned
|
||||
;; "armv7l", the value of `uname -m`, and will not
|
||||
;; match ${ARCH}, which will make the tests require
|
||||
;; QEMU for testing.
|
||||
,@(if (string-prefix? "arm"
|
||||
(or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("HOST_ARCH=arm")
|
||||
'())
|
||||
(string-append "DESTDIR=" (assoc-ref %outputs "out")))
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-hard-coded-paths
|
||||
|
|
|
@ -180,6 +180,7 @@ return value is ignored."
|
|||
|
||||
;; XXX: This one is used bare-bones, without a libc, so add a case
|
||||
;; here just so we can keep going.
|
||||
((string=? system "arm-elf") "no-ld.so")
|
||||
((string=? system "arm-eabi") "no-ld.so")
|
||||
((string=? system "xtensa-elf") "no-ld.so")
|
||||
((string=? system "avr") "no-ld.so")
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system python)
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019 Eric Bavier <bavier@member.fsf.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -225,6 +226,20 @@ reconstruction capability.")
|
|||
(sha256
|
||||
(base32
|
||||
"03w6ypsmwwy4d7vh6zgwpc60v541vc5ywp8bdb758hbc4yv2wa7d"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; By default 'cdda2wav --help' would print a string like
|
||||
;; "Version 3.01_linux_4.19.10-gnu_x86_64_x86_64". Change
|
||||
;; it to not capture the kernel version of the build
|
||||
;; machine, to allow for reproducible builds.
|
||||
(substitute* "cdda2wav/local.cnf.in"
|
||||
(("^VERSION_OS=.*")
|
||||
(string-append
|
||||
"actual_os := $(shell uname -o)\n"
|
||||
"actual_arch := $(shell uname -m)\n"
|
||||
"VERSION_OS = _$(actual_os)_$(actual_arch)\n")))
|
||||
#t))
|
||||
(patches (search-patches "cdrtools-3.01-mkisofs-isoinfo.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
;; XXX cdrtools bundles a modified, relicensed early version of cdparanoia.
|
||||
|
@ -343,7 +358,36 @@ or @command{xorrisofs} to create ISO 9660 images.")
|
|||
`(;; Parallel builds appear to be unsafe, see
|
||||
;; <http://hydra.gnu.org/build/49331/nixlog/1/raw>.
|
||||
#:parallel-build? #f
|
||||
#:tests? #f)) ; no check target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "regtest"
|
||||
(substitute* "common.bash"
|
||||
(("ISODIR=/var/tmp/regtest") "ISODIR=/tmp"))
|
||||
(for-each invoke (find-files "." "rs.*\\.bash")))
|
||||
#t))
|
||||
(add-after 'install 'install-desktop
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((datadir (string-append (assoc-ref outputs "out") "/share")))
|
||||
(substitute* "contrib/dvdisaster.desktop"
|
||||
(("dvdisaster48.png") "dvdisaster.png"))
|
||||
(install-file "contrib/dvdisaster.desktop"
|
||||
(string-append datadir "/applications"))
|
||||
(for-each
|
||||
(lambda (png)
|
||||
(let* ((size (substring png
|
||||
(string-index png char-set:digit)
|
||||
(string-rindex png #\.)))
|
||||
(icondir (string-append datadir "/icons/"
|
||||
size "x" size "/apps")))
|
||||
(mkdir-p icondir)
|
||||
(copy-file png (string-append icondir "/dvdisaster.png"))))
|
||||
(find-files "contrib" "dvdisaster[0-9]*\\.png"))
|
||||
(mkdir-p (string-append datadir "/pixmaps"))
|
||||
(copy-file "contrib/dvdisaster48.xpm"
|
||||
(string-append datadir "/pixmaps/dvdisaster.xpm"))
|
||||
#t))))))
|
||||
(home-page "http://dvdisaster.net/en/index.html")
|
||||
(synopsis "Error correcting codes for optical media images")
|
||||
(description "Optical media (CD,DVD,BD) keep their data only for a
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
;;; Copyright © 2015, 2017 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||
|
@ -704,14 +704,14 @@ and many external plugins.")
|
|||
(define-public python-pytest-cov
|
||||
(package
|
||||
(name "python-pytest-cov")
|
||||
(version "2.5.1")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-cov" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bbfpwdh9k3636bxc88vz9fa7vf4akchgn513ql1vd0xy4n7bah3"))))
|
||||
"0qnpp9y3ygx4jk4pf5ad71fh2skbvnr6gl54m7rg5qysnx4g0q73"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -800,14 +800,14 @@ same arguments.")
|
|||
(define-public python-pytest-xdist
|
||||
(package
|
||||
(name "python-pytest-xdist")
|
||||
(version "1.14")
|
||||
(version "1.25.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-xdist" version ".zip"))
|
||||
(uri (pypi-uri "pytest-xdist" version))
|
||||
(sha256
|
||||
(base32
|
||||
"08rn2l39ds60xshs4js787l84pfckksqklfq2wq9x8ig2aci2pja"))
|
||||
"1d812apvcmshh2l8f38spqwb3bpp0x43yy7lyfpxxzc99h4r7y4n"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -827,8 +827,7 @@ same arguments.")
|
|||
;; (add-installed-pythonpath inputs outputs)
|
||||
;; (zero? (system* "py.test" "-v")))))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)
|
||||
("python-setuptools-scm" ,python-setuptools-scm)))
|
||||
`(("python-setuptools-scm" ,python-setuptools-scm)))
|
||||
(propagated-inputs
|
||||
`(("python-execnet" ,python-execnet)
|
||||
("python-pytest" ,python-pytest)
|
||||
|
@ -856,9 +855,7 @@ result back.")
|
|||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://pypi.python.org/packages/source/s/scripttest/scripttest-"
|
||||
version ".tar.gz"))
|
||||
(uri (pypi-uri "scripttest" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0f4w84k8ck82syys7yg9maz93mqzc8p5ymis941x034v44jzq74m"))))
|
||||
|
@ -1026,14 +1023,14 @@ use of resources by test cases.")))
|
|||
(define-public python-subunit-bootstrap
|
||||
(package
|
||||
(name "python-subunit-bootstrap")
|
||||
(version "1.2.0")
|
||||
(version "1.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "python-subunit" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1yii2gx3z6323as3iraj1yphj76dy7i3h6kj63pnc5y0hwjs5sgx"))))
|
||||
"1fsw8rsn1s3nklx06mayrg5rn2zbky6wwjc5z07s7rf1wjzfs1wn"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-extras" ,python-extras)
|
||||
|
@ -1042,7 +1039,7 @@ use of resources by test cases.")))
|
|||
`(("python-fixtures" ,python-fixtures-bootstrap)
|
||||
("python-hypothesis" ,python-hypothesis)
|
||||
("python-testscenarios" ,python-testscenarios-bootstrap)))
|
||||
(home-page "http://launchpad.net/subunit")
|
||||
(home-page "https://launchpad.net/subunit")
|
||||
(synopsis "Python implementation of the subunit protocol")
|
||||
(description
|
||||
"This package is here for bootstrapping purposes only. Use the regular
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2013, 2015, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Andy Wingo <wingo@igalia.com>
|
||||
|
@ -113,14 +113,14 @@ highlighting your own code that seemed comprehensible when you wrote it.")
|
|||
(define-public global ; a global variable
|
||||
(package
|
||||
(name "global")
|
||||
(version "6.6.2")
|
||||
(version "6.6.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/global/global-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0zvi5vxwiq0dy8mq2cgs64m8harxs0fvkmsnvi0ayb0w608lgij3"))))
|
||||
"0735pj47dnspf20n0j1px24p59nwjinlmlb2n32ln1hvdkprivnb"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("libltdl" ,libltdl)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2017, 2018 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2015 Jeff Mickey <j@codemac.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -1786,14 +1786,14 @@ or junctions, and always follows hard links.")
|
|||
(define-public zstd
|
||||
(package
|
||||
(name "zstd")
|
||||
(version "1.3.7")
|
||||
(version "1.3.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/facebook/zstd/releases/download/"
|
||||
"v" version "/zstd-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0gapsdzqfsfqqddzv22592iwa0008xjyi15f06pfv9hcvwvg4xrj"))))
|
||||
(base32 "13nlsqhkn276frxrzjdn7wz0j9zz414lf336885ykyxcvw2a0gr9"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -1808,7 +1808,7 @@ or junctions, and always follows hard links.")
|
|||
;; Not currently detected, but be explicit & avoid surprises later.
|
||||
"HAVE_LZ4=0"
|
||||
"HAVE_ZLIB=0")))
|
||||
(home-page "http://zstd.net/")
|
||||
(home-page "https://facebook.github.io/zstd/")
|
||||
(synopsis "Zstandard real-time compression algorithm")
|
||||
(description "Zstandard (@command{zstd}) is a lossless compression algorithm
|
||||
that combines very fast operation with a compression ratio comparable to that of
|
||||
|
@ -1998,7 +1998,7 @@ recreates the stored directory structure by default.")
|
|||
(define-public perl-archive-zip
|
||||
(package
|
||||
(name "perl-archive-zip")
|
||||
(version "1.60")
|
||||
(version "1.64")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2007,7 +2007,7 @@ recreates the stored directory structure by default.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02y2ylq83hy9kgj57sc0239x65br9sm98c0chsm61s08yc2mpiza"))))
|
||||
"0zfinh8nx3rxzscp57vq3w8hihpdb0zs67vvalykcf402kr88pyy"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
;; For tests.
|
||||
|
|
|
@ -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 @@
|
|||
#:use-module (gnu packages readline)
|
||||
#:use-module (gnu packages ruby)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages tcl)
|
||||
#:use-module (gnu packages terminals)
|
||||
#:use-module (gnu packages textutils)
|
||||
|
@ -107,7 +106,6 @@
|
|||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system ruby)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module ((guix build utils) #:hide (which))
|
||||
#:use-module (guix utils)
|
||||
|
@ -917,66 +915,31 @@ organized in a hash table or B+ tree.")
|
|||
(define-public recutils
|
||||
(package
|
||||
(name "recutils")
|
||||
(version "1.7")
|
||||
(version "1.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/recutils/recutils-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cdwa4094x3yx7vn98xykvnlp9rngvd58d19vs3vh5hrvggccg93"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Adjust the bundled gnulib to work with glibc 2.28. See e.g.
|
||||
;; "m4-gnulib-libio.patch". This is a phase rather than patch
|
||||
;; or snippet to work around <https://bugs.gnu.org/32347>.
|
||||
(substitute* (find-files "lib" "\\.c$")
|
||||
(("#if defined _IO_ftrylockfile")
|
||||
"#if defined _IO_EOF_SEEN"))
|
||||
(substitute* "lib/stdio-impl.h"
|
||||
(("^/\\* BSD stdio derived implementations")
|
||||
(string-append "#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN\n"
|
||||
"# define _IO_IN_BACKUP 0x100\n"
|
||||
"#endif\n\n"
|
||||
"/* BSD stdio derived implementations")))
|
||||
#t))))
|
||||
"14xiln4immfsw8isnvwvq0h23f6z0wilpgsc4qzabnrzb5lsx3nz"))))
|
||||
(build-system gnu-build-system)
|
||||
|
||||
;; Running tests in parallel leads to test failures and crashes in
|
||||
;; torture/utils.
|
||||
(arguments '(#:parallel-tests? #f
|
||||
#:configure-flags
|
||||
(arguments '(#:configure-flags
|
||||
(list (string-append "--with-bash-headers="
|
||||
(assoc-ref %build-inputs "bash:include")
|
||||
"/include/bash"))
|
||||
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-before 'build 'set-bash4.4-header-location
|
||||
(lambda _
|
||||
(substitute* "bash/Makefile.in"
|
||||
;; Adjust the header search path for Bash
|
||||
;; 4.4 in accordance with 'bash.pc'.
|
||||
(("AM_CPPFLAGS = (.*)$" _ rest)
|
||||
(string-append "AM_CPPFLAGS = "
|
||||
"-I$(BASH_HEADERS)/include "
|
||||
rest))
|
||||
|
||||
;; Install to PREFIX/lib/bash to match Bash
|
||||
;; 4.4's search path.
|
||||
(("^libdir = .*$")
|
||||
"libdir = @libdir@/bash\n"))
|
||||
#t)))))
|
||||
"/include/bash"))))
|
||||
|
||||
(native-inputs `(("emacs" ,emacs-minimal)
|
||||
("bc" ,bc)
|
||||
("bash:include" ,bash "include")
|
||||
("libuuid" ,util-linux)))
|
||||
("check" ,check)
|
||||
("libuuid" ,util-linux)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
||||
;; TODO: Add more optional inputs.
|
||||
(inputs `(("curl" ,curl)
|
||||
("libgcrypt" ,libgcrypt)
|
||||
("check" ,check)))
|
||||
("libgcrypt" ,libgcrypt)))
|
||||
(synopsis "Manipulate plain text files as databases")
|
||||
(description
|
||||
"GNU Recutils is a set of tools and libraries for creating and
|
||||
|
@ -2271,35 +2234,6 @@ and web services platform functionality.")
|
|||
(supported-systems '("x86_64-linux" "mips64el-linux" "aarch64-linux"))
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-rmysql
|
||||
(package
|
||||
(name "r-rmysql")
|
||||
(version "0.10.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "RMySQL" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bmc7w5fnkjaf333sgc0hskiy332m9gmfaxg0yzkjxscpizdw43n"))))
|
||||
(properties `((upstream-name . "RMySQL")))
|
||||
(build-system r-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(inputs
|
||||
`(("mariadb" ,mariadb)
|
||||
("zlib" ,zlib)))
|
||||
(propagated-inputs
|
||||
`(("r-dbi" ,r-dbi)))
|
||||
(home-page "https://github.com/r-dbi/RMySQL")
|
||||
(synopsis "Database interface and MySQL driver for R")
|
||||
(description
|
||||
"This package provides a DBI interface to MySQL / MariaDB. The RMySQL
|
||||
package contains an old implementation based on legacy code from S-PLUS which
|
||||
is being phased out. A modern MySQL client based on Rcpp is available from
|
||||
the RMariaDB package.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public python-ccm
|
||||
(package
|
||||
(name "python-ccm")
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
|
||||
;;;
|
||||
|
@ -20,10 +20,12 @@
|
|||
|
||||
(define-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu))
|
||||
|
||||
(define-public gdsl
|
||||
|
@ -195,3 +197,31 @@ arguments. Thus, they are able to work with any type of structure and key.
|
|||
Any C structure can be stored in a hash table by adding @code{UT_hash_handle}
|
||||
to the structure and choosing one or more fields to act as the key.")
|
||||
(license license:bsd-2)))
|
||||
|
||||
(define-public sdsl-lite
|
||||
(package
|
||||
(name "sdsl-lite")
|
||||
(version "2.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/simongog/sdsl-lite/"
|
||||
"releases/download/v" version "/"
|
||||
"sdsl-lite-" version
|
||||
".tar.gz.offline.install.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1v86ivv3mmdy802i9xkjpxb4cggj3s27wb19ja4sw1klnivjj69g"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("doxygen" ,doxygen)))
|
||||
(home-page "https://github.com/simongog/sdsl-lite")
|
||||
(synopsis "Succinct data structure library")
|
||||
(description "The Succinct Data Structure Library (SDSL) is a powerful and
|
||||
flexible C++11 library implementing succinct data structures. In total, the
|
||||
library contains the highlights of 40 research publications. Succinct data
|
||||
structures can represent an object (such as a bitvector or a tree) in space
|
||||
close to the information-theoretic lower bound of the object while supporting
|
||||
operations of the original object efficiently. The theoretical time
|
||||
complexity of an operation performed on the classical data structure and the
|
||||
equivalent succinct data structure are (most of the time) identical.")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -41,6 +41,7 @@
|
|||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages elf)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
|
@ -63,6 +64,7 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix build-system scons)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
|
@ -748,3 +750,71 @@ technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate
|
|||
plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
|
||||
LVM D-Bus API).")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public rmlint
|
||||
(package
|
||||
(name "rmlint")
|
||||
(version "2.8.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sahib/rmlint")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gc7gbnh0qg1kl151cv1ld87vhpm1v3pnkn7prhscdcc21jrg8nz"))))
|
||||
(build-system scons-build-system)
|
||||
(arguments
|
||||
`(#:scons ,scons-python2
|
||||
#:scons-flags (list (string-append "--prefix=" %output)
|
||||
(string-append "--actual-prefix=" %output))
|
||||
#:tests? #f ; No tests?
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'scons-propagate-environment
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; TODO: `rmlint --gui` fails with
|
||||
;; "Failed to load shredder: No module named 'shredder'".
|
||||
;; The GUI might also need extra dependencies, such as
|
||||
;; python-gobject, python-cairo, dconf, librsvg, gtksourceview3.
|
||||
(substitute* "lib/cmdline.c"
|
||||
(("const char \\*commands\\[\\] = \\{\"python3\", \"python\", NULL\\};")
|
||||
(string-append
|
||||
"const char *commands[] = {\""
|
||||
(assoc-ref inputs "python") "/bin/python"
|
||||
"\", \"python\", NULL};")))
|
||||
;; By design, SCons does not, by default, propagate
|
||||
;; environment variables to subprocesses. See:
|
||||
;; <http://comments.gmane.org/gmane.linux.distributions.nixos/4969>
|
||||
;; Here, we modify the SConstruct file to arrange for
|
||||
;; environment variables to be propagated.
|
||||
(substitute* "SConstruct"
|
||||
(("^env = Environment\\(.*\\)" all)
|
||||
(string-append
|
||||
all
|
||||
"\nenv['ENV']=os.environ"))))))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("glib:bin" ,glib "bin")
|
||||
("python-sphinx" ,python-sphinx)))
|
||||
(inputs
|
||||
`(("python" ,python-wrapper)
|
||||
("glib" ,glib)
|
||||
("libelf" ,libelf)
|
||||
("elfutils" ,elfutils)
|
||||
("json-glib" ,json-glib)
|
||||
("libblkid" ,util-linux)))
|
||||
(home-page "https://rmlint.rtfd.org")
|
||||
(synopsis "Remove duplicates and other lint from the filesystem")
|
||||
(description "@command{rmlint} finds space waste and other broken things
|
||||
on your filesystem and offers to remove it. @command{rmlint} can find:
|
||||
|
||||
@itemize
|
||||
@item duplicate files and duplicate directories,
|
||||
@item non-stripped binaries (i.e. binaries with debug symbols),
|
||||
@item broken symbolic links,
|
||||
@item empty files and directories,
|
||||
@item files with broken user and/or group ID.
|
||||
@end itemize\n")
|
||||
(license license:gpl3+)))
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
;;; Copyright © 2017 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -781,3 +782,30 @@ attempts the update when it has changed.")
|
|||
"@command{hnsd} is a @dfn{host name resolver} for the Handshake Naming
|
||||
System (HNS) peer-to-peer network.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public libmicrodns
|
||||
(package
|
||||
(name "libmicrodns")
|
||||
(version "0.0.10")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/videolabs/libmicrodns")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xvl9k49ng35wbsqmnjnyqvkyjf8dcq2ywsq3jp3wh0rgmxhq2fh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
(home-page "https://github.com/videolabs/libmicrodns")
|
||||
(synopsis "Minimal mDNS resolver library")
|
||||
(description "@code{libmicrodns} provides a minimal implementation of a
|
||||
mDNS resolver as well as an announcer. mDNS (Multicast Domain Name System) is
|
||||
a zero-config service that allows one to resolve host names to IP addresses in
|
||||
local networks.")
|
||||
(license license:lgpl2.1)))
|
||||
|
|
|
@ -23,11 +23,16 @@
|
|||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system go)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages golang)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-web))
|
||||
#:use-module (gnu packages python-web)
|
||||
#:use-module (gnu packages virtualization))
|
||||
|
||||
(define-public python-docker-py
|
||||
(package
|
||||
|
@ -142,3 +147,66 @@ created and all the services are started as specified in the configuration.")
|
|||
store API. It allows programmers to interact with a Docker registry using
|
||||
Python without keeping their credentials in a Docker configuration file.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public containerd
|
||||
(package
|
||||
(name "containerd")
|
||||
(version "1.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/containerd/containerd.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"16zn6p1ky3yrgn53z8h9wza53ch91fj47wj5xgz6w4c57j30f66p"))))
|
||||
(build-system go-build-system)
|
||||
(arguments
|
||||
`(#:import-path "github.com/containerd/containerd"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'build 'chdir
|
||||
(lambda _
|
||||
(chdir "src/github.com/containerd/containerd")
|
||||
#t))
|
||||
(add-after 'chdir 'patch-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; TODO: Patch "socat", "unpigz".
|
||||
(substitute* "./runtime/v1/linux/runtime.go"
|
||||
(("defaultRuntime[ \t]*=.*")
|
||||
(string-append "defaultRuntime = \""
|
||||
(assoc-ref inputs "runc")
|
||||
"/sbin/runc\"\n"))
|
||||
(("defaultShim[ \t]*=.*")
|
||||
(string-append "defaultShim = \""
|
||||
(assoc-ref outputs "out")
|
||||
"/bin/containerd-shim\"\n")))
|
||||
(substitute* "./vendor/github.com/containerd/go-runc/runc.go"
|
||||
(("DefaultCommand[ \t]*=.*")
|
||||
(string-append "DefaultCommand = \""
|
||||
(assoc-ref inputs "runc")
|
||||
"/sbin/runc\"\n")))
|
||||
#t))
|
||||
(replace 'build
|
||||
(lambda* (#:key (make-flags '()) #:allow-other-keys)
|
||||
(apply invoke "make" make-flags)))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs (make-flags '()) #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(apply invoke "make" (string-append "DESTDIR=" out) "install"
|
||||
make-flags)))))))
|
||||
(inputs
|
||||
`(("btrfs-progs" ,btrfs-progs)
|
||||
("libseccomp" ,libseccomp)
|
||||
("runc" ,runc)))
|
||||
(native-inputs
|
||||
`(("go" ,go)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(synopsis "Docker container runtime")
|
||||
(description "This package provides the container daemon for Docker.
|
||||
It includes image transfer and storage, container execution and supervision,
|
||||
network attachments.")
|
||||
(home-page "http://containerd.io/")
|
||||
(license license:asl2.0)))
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016, 2017, 2018 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2015, 2016, 2018 Christopher Lemmer Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2016 Adriano Peluso <catonano@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2016 Matthew Jordan <matthewjordandevops@yandex.com>
|
||||
;;; Copyright © 2016, 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2016 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2016, 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2016, 2017, 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2016, 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
|
||||
|
@ -35,13 +35,12 @@
|
|||
;;; Copyright © 2018 Sohom Bhattacharjee <soham.bhattacharjee15@gmail.com>
|
||||
;;; Copyright © 2018 Mathieu Lirzin <mthl@gnu.org>
|
||||
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;; Copyright © 2018, 2019 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
|
||||
;;; Copyright © 2018 Jack Hill <jackhill@jackhill.us>
|
||||
;;; Copyright © 2018 Pierre-Antoine Rouby <pierre-antoine.rouby@inria.fr>
|
||||
;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
|
||||
;;; Copyright © 2018 Thorsten Wilms <t_w_@freenet.de>
|
||||
;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -61,11 +60,9 @@
|
|||
(define-module (gnu packages emacs)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix cvs-download)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix monads)
|
||||
#:use-module (guix store)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system emacs)
|
||||
|
@ -108,7 +105,6 @@
|
|||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pdf)
|
||||
#:use-module (gnu packages scheme)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages gettext)
|
||||
|
@ -123,7 +119,6 @@
|
|||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages haskell)
|
||||
#:use-module (gnu packages wordnet)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (ice-9 match))
|
||||
|
@ -574,7 +569,7 @@ operations.")
|
|||
(setenv "PATH" PATH)
|
||||
(invoke tar "xvf" source)
|
||||
|
||||
(install-file (string-append ,name "-" ,version "/magit-svn.el")
|
||||
(install-file (string-append "magit-svn-" ,version "/magit-svn.el")
|
||||
lisp-dir)
|
||||
|
||||
(with-directory-excursion lisp-dir
|
||||
|
@ -843,91 +838,91 @@ index is considered the key).")
|
|||
;;;
|
||||
|
||||
(define-public emacs-w3m
|
||||
;; Emacs-w3m follows a "rolling release" model from its CVS repo. We could
|
||||
;; use CVS, sure, but instead we choose to use this Git mirror described on
|
||||
;; the home page as an "unofficial" mirror.
|
||||
(let ((commit "0dd5691f46d314a84da63f3a7277d721815811a2"))
|
||||
(package
|
||||
(name "emacs-w3m")
|
||||
(version (git-version "1.5" "0" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/ecbrown/emacs-w3m")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"02xalyxbrkgl4n8nj7xxkmsbm6lshhwdc8bzs2l4wz3hkpgkj7x4"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("autoconf" ,autoconf)
|
||||
("texinfo" ,texinfo)
|
||||
("emacs" ,emacs-minimal)))
|
||||
(inputs `(("w3m" ,w3m)
|
||||
("imagemagick" ,imagemagick)))
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build emacs-utils))
|
||||
#:imported-modules (,@%gnu-build-system-modules
|
||||
(guix build emacs-utils))
|
||||
#:configure-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "--with-lispdir="
|
||||
out "/share/emacs/site-lisp")
|
||||
(string-append "--with-icondir="
|
||||
out "/share/images/emacs-w3m")
|
||||
;; Leave .el files uncompressed, otherwise GC can't
|
||||
;; identify run-time dependencies. See
|
||||
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
|
||||
"--without-compress-install"))
|
||||
#:tests? #f ; no check target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'autoconf
|
||||
(lambda _
|
||||
(invoke "autoconf")))
|
||||
(add-before 'configure 'support-emacs!
|
||||
(lambda _
|
||||
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
|
||||
;; unsupported.
|
||||
(substitute* "configure"
|
||||
(("EMACS_FLAVOR=unsupported")
|
||||
"EMACS_FLAVOR=emacs"))
|
||||
#t))
|
||||
(add-before 'build 'patch-exec-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(w3m (assoc-ref inputs "w3m"))
|
||||
(imagemagick (assoc-ref inputs "imagemagick"))
|
||||
(coreutils (assoc-ref inputs "coreutils")))
|
||||
(make-file-writable "w3m.el")
|
||||
(emacs-substitute-variables "w3m.el"
|
||||
("w3m-command" (string-append w3m "/bin/w3m"))
|
||||
("w3m-touch-command"
|
||||
(string-append coreutils "/bin/touch"))
|
||||
("w3m-icon-directory"
|
||||
(string-append out "/share/images/emacs-w3m")))
|
||||
(make-file-writable "w3m-image.el")
|
||||
(emacs-substitute-variables "w3m-image.el"
|
||||
("w3m-imagick-convert-program"
|
||||
(string-append imagemagick "/bin/convert"))
|
||||
("w3m-imagick-identify-program"
|
||||
(string-append imagemagick "/bin/identify")))
|
||||
#t)))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "make" "install" "install-icons")
|
||||
(with-directory-excursion
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/emacs/site-lisp")
|
||||
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
|
||||
(symlink "w3m-load.el" "w3m-autoloads.el")
|
||||
#t))))))
|
||||
(home-page "http://emacs-w3m.namazu.org/")
|
||||
(synopsis "Simple Web browser for Emacs based on w3m")
|
||||
(description
|
||||
"Emacs-w3m is an emacs interface for the w3m web browser.")
|
||||
(license license:gpl2+))))
|
||||
;; Emacs-w3m follows a "rolling release" model.
|
||||
(package
|
||||
(name "emacs-w3m")
|
||||
(version "2018-11-11")
|
||||
(source (origin
|
||||
(method cvs-fetch)
|
||||
(uri (cvs-reference
|
||||
(root-directory
|
||||
":pserver:anonymous@cvs.namazu.org:/storage/cvsroot")
|
||||
(module "emacs-w3m")
|
||||
(revision version)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"0nvahdbjs12zg7zsk4gql02mvnv56cf1rwj2f5p42lwp3xvswiwp"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("autoconf" ,autoconf)
|
||||
("texinfo" ,texinfo)
|
||||
("emacs" ,emacs-minimal)))
|
||||
(inputs `(("w3m" ,w3m)
|
||||
("imagemagick" ,imagemagick)))
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build emacs-utils))
|
||||
#:imported-modules (,@%gnu-build-system-modules
|
||||
(guix build emacs-utils))
|
||||
#:configure-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "--with-lispdir="
|
||||
out "/share/emacs/site-lisp")
|
||||
(string-append "--with-icondir="
|
||||
out "/share/images/emacs-w3m")
|
||||
;; Leave .el files uncompressed, otherwise GC can't
|
||||
;; identify run-time dependencies. See
|
||||
;; <http://lists.gnu.org/archive/html/guix-devel/2015-12/msg00208.html>
|
||||
"--without-compress-install"))
|
||||
#:tests? #f ; no check target
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'autoconf
|
||||
(lambda _
|
||||
(invoke "autoconf")))
|
||||
(add-before 'configure 'support-emacs!
|
||||
(lambda _
|
||||
;; For some reason 'AC_PATH_EMACS' thinks that 'Emacs 26' is
|
||||
;; unsupported.
|
||||
(substitute* "configure"
|
||||
(("EMACS_FLAVOR=unsupported")
|
||||
"EMACS_FLAVOR=emacs"))
|
||||
#t))
|
||||
(add-before 'build 'patch-exec-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(w3m (assoc-ref inputs "w3m"))
|
||||
(imagemagick (assoc-ref inputs "imagemagick"))
|
||||
(coreutils (assoc-ref inputs "coreutils")))
|
||||
(make-file-writable "w3m.el")
|
||||
(emacs-substitute-variables "w3m.el"
|
||||
("w3m-command" (string-append w3m "/bin/w3m"))
|
||||
("w3m-touch-command"
|
||||
(string-append coreutils "/bin/touch"))
|
||||
("w3m-icon-directory"
|
||||
(string-append out "/share/images/emacs-w3m")))
|
||||
(make-file-writable "w3m-image.el")
|
||||
(emacs-substitute-variables "w3m-image.el"
|
||||
("w3m-imagick-convert-program"
|
||||
(string-append imagemagick "/bin/convert"))
|
||||
("w3m-imagick-identify-program"
|
||||
(string-append imagemagick "/bin/identify")))
|
||||
#t)))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(invoke "make" "install" "install-icons")
|
||||
(with-directory-excursion
|
||||
(string-append (assoc-ref outputs "out")
|
||||
"/share/emacs/site-lisp")
|
||||
(for-each delete-file '("ChangeLog" "ChangeLog.1"))
|
||||
(symlink "w3m-load.el" "w3m-autoloads.el")
|
||||
#t))))))
|
||||
(home-page "http://emacs-w3m.namazu.org/")
|
||||
(synopsis "Simple Web browser for Emacs based on w3m")
|
||||
(description
|
||||
"Emacs-w3m is an emacs interface for the w3m web browser.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-wget
|
||||
(package
|
||||
|
@ -1755,14 +1750,14 @@ type, for example: packages, buffers, files, etc.")
|
|||
(define-public emacs-guix
|
||||
(package
|
||||
(name "emacs-guix")
|
||||
(version "0.5.1")
|
||||
(version "0.5.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://emacs-guix.gitlab.io/website/"
|
||||
"releases/emacs-guix-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gwihi08pz52zbv11lhwcdzsbmcbqvjf8j0ic56543v7nlmywkxh"))))
|
||||
"1gxg7lan3njc2yg2d02b2zij0d2cm2pv2q08nqz86s85jk3b6m03"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -3874,13 +3869,14 @@ fully-functional one.")
|
|||
(version "0.14.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/abo-abo/hydra/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/abo-abo/hydra")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0884k3ffwzhh6krbd8l7vvm184dkagb2jf4q8xzg72plln34qrm8"))))
|
||||
"0ln4z2796ycy33g5jcxkqvm7638qxy4sipsab7d2864hh700cikg"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/abo-abo/hydra")
|
||||
(synopsis "Make Emacs bindings that stick around")
|
||||
|
@ -4363,73 +4359,6 @@ E-Prime forbids the use of the \"to be\" form to strengthen your writing.")
|
|||
programming language.")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public emacs-ess
|
||||
(package
|
||||
(name "emacs-ess")
|
||||
(version "17.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/emacs-ess/ESS/archive/v"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cbilbsiwvcyf6d5y24mymp57m3ana5dkzab3knfs83w4a3a4c5c"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Stop ESS from trying to bundle an external julia-mode.el.
|
||||
(substitute* "lisp/Makefile"
|
||||
(("^\tjulia-mode.elc\\\\\n") "")
|
||||
(("^dist: all julia-mode.el")
|
||||
"dist: all"))
|
||||
;; No need to build docs in so many formats. Also, skipping
|
||||
;; pdf lets us not pull in texlive.
|
||||
(substitute* "doc/Makefile"
|
||||
(("all : info text html pdf")
|
||||
"all : info")
|
||||
(("install: install-info install-other-docs")
|
||||
"install: install-info"))
|
||||
;; Test fails upstream
|
||||
(substitute* "test/ess-r-tests.el"
|
||||
(("ert-deftest ess-r-namespaced-eval-no-srcref-in-errors ()")
|
||||
"ert-deftest ess-r-namespaced-eval-no-srcref-in-errors () :expected-result :failed"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(let ((base-directory "/share/emacs/site-lisp/guix.d/ess"))
|
||||
`(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
(string-append "ETCDIR=" %output "/"
|
||||
,base-directory "/etc")
|
||||
(string-append "LISPDIR=" %output "/"
|
||||
,base-directory))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'build 'more-shebang-patching
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "Makeconf"
|
||||
(("SHELL = /bin/sh")
|
||||
(string-append "SHELL = " (which "sh"))))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "make" "test")))))))
|
||||
(inputs
|
||||
`(("emacs" ,emacs-minimal)
|
||||
("r-minimal" ,r-minimal)))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("texinfo" ,texinfo)))
|
||||
(propagated-inputs
|
||||
`(("emacs-julia-mode" ,emacs-julia-mode)))
|
||||
(home-page "https://ess.r-project.org/")
|
||||
(synopsis "Emacs mode for statistical analysis programs")
|
||||
(description "Emacs Speaks Statistics (ESS) is an add-on package for GNU
|
||||
Emacs. It is designed to support editing of scripts and interaction with
|
||||
various statistical analysis programs such as R, Julia, and JAGS.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-smex
|
||||
(package
|
||||
(name "emacs-smex")
|
||||
|
@ -4591,16 +4520,17 @@ in Emacs.")
|
|||
(define-public emacs-edit-indirect
|
||||
(package
|
||||
(name "emacs-edit-indirect")
|
||||
(version "0.1.4")
|
||||
(version "0.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/Fanael/edit-indirect/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Fanael/edit-indirect")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"07kr58rd1p5j764wminsssazr73hy51yw8iqcsv5z2dwgj7msv71"))))
|
||||
"0by1x53pji39fjrj5bd446kz831nv0vdgw2jqasbym4pc1p2947r"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/Fanael/edit-indirect")
|
||||
(synopsis "Edit regions in separate buffers")
|
||||
|
@ -5510,14 +5440,14 @@ passive voice.")
|
|||
(name "emacs-org")
|
||||
;; emacs-org-contrib inherits from this package. Please update its sha256
|
||||
;; checksum as well.
|
||||
(version "9.1.14")
|
||||
(version "9.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://elpa.gnu.org/packages/org-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"17vd9hig26rqv90l6y92hc2i0x29g44lsdsp0xd4m53s8r3zdikz"))))
|
||||
"14ydwh2r360fpi6v2g9rgf0zazy2ddq1pcdxvzn73h65glnnclz9"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://orgmode.org/")
|
||||
(synopsis "Outline-based notes management and organizer")
|
||||
|
@ -5531,14 +5461,14 @@ programming and reproducible research.")
|
|||
(package
|
||||
(inherit emacs-org)
|
||||
(name "emacs-org-contrib")
|
||||
(version "20180507")
|
||||
(version "20181230")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://orgmode.org/elpa/org-plus-contrib-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"190iwjpdjrhg7gl2d4bri2y0y679vlrwd841r6dvhza0yy338d2d"))))
|
||||
"0gibwcjlardjwq19bh0zzszv0dxxlml0rh5iikkcdynbgndk1aa1"))))
|
||||
(arguments
|
||||
`(#:modules ((guix build emacs-build-system)
|
||||
(guix build utils)
|
||||
|
@ -5550,7 +5480,7 @@ programming and reproducible research.")
|
|||
(add-after 'install 'delete-org-files
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(org (assoc-ref inputs "emacs-org"))
|
||||
(org (assoc-ref inputs "org"))
|
||||
(contrib-files
|
||||
(map basename (find-files out)))
|
||||
(org+contrib-files
|
||||
|
@ -5563,8 +5493,10 @@ programming and reproducible research.")
|
|||
(for-each delete-file duplicates))
|
||||
#t))))))
|
||||
(propagated-inputs
|
||||
`(("emacs-org" ,emacs-org)
|
||||
("emacs-scel" ,emacs-scel)))
|
||||
`(("arduino-mode" ,emacs-arduino-mode)
|
||||
("cider" ,emacs-cider)
|
||||
("org" ,emacs-org)
|
||||
("scel" ,emacs-scel)))
|
||||
(synopsis "Contributed packages to Org mode")
|
||||
(description "Org is an Emacs mode for keeping notes, maintaining TODO
|
||||
lists, and project planning with a fast and effective plain-text system.
|
||||
|
@ -6375,15 +6307,15 @@ actually changing the buffer's text.")
|
|||
(define-public emacs-diff-hl
|
||||
(package
|
||||
(name "emacs-diff-hl")
|
||||
(version "1.8.4")
|
||||
(version "1.8.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://elpa.gnu.org/packages/diff-hl-"
|
||||
(uri (string-append "https://elpa.gnu.org/packages/diff-hl-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"0axhidc3cym7a2x4rpxf4745qss9s9ajyg4s9h5b4zn7v7fyp71n"))))
|
||||
"1vxc7z7c2qs0mx7l5sa4sybi5qbzv0s79flj74p1ynw8dl3qxg3d"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/dgutov/diff-hl")
|
||||
(synopsis
|
||||
|
@ -11446,33 +11378,32 @@ describing the key binding changes.")
|
|||
(deprecated-package "emacs-evil-mu4e" emacs-evil-collection))
|
||||
|
||||
(define-public emacs-evil-multiedit
|
||||
(let ((commit "ea3d9177b74ab0bc65e55df9cc0a0b42e4ef815d"))
|
||||
(package
|
||||
(name "emacs-evil-multiedit")
|
||||
(version (git-version "1.3.9" "1" commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hlissner/evil-multiedit")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"17zm35r474z8ras4xy7124pcb972d385pbdv4jxyj5vq042vq07w"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-evil" ,emacs-evil)
|
||||
("emacs-iedit" ,emacs-iedit)))
|
||||
(home-page
|
||||
"https://github.com/hlissner/evil-multiedit")
|
||||
(synopsis "Multiple cursors for Evil mode")
|
||||
(description
|
||||
"This plugin was an answer to the lack of proper multiple cursor support
|
||||
(package
|
||||
(name "emacs-evil-multiedit")
|
||||
(version "1.3.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hlissner/evil-multiedit")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"19h3kqylqzbjv4297wkzzxdmn9yxbg6z4ga4ssrqri90xs7m3rw3"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-evil" ,emacs-evil)
|
||||
("emacs-iedit" ,emacs-iedit)))
|
||||
(home-page
|
||||
"https://github.com/hlissner/evil-multiedit")
|
||||
(synopsis "Multiple cursors for Evil mode")
|
||||
(description
|
||||
"This plugin was an answer to the lack of proper multiple cursor support
|
||||
in Emacs+Evil. It allows you to select and edit matches interactively,
|
||||
integrating @code{iedit-mode} into Evil mode with an attempt at sensible
|
||||
defaults.")
|
||||
(license license:gpl3+))))
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-evil-org
|
||||
(let ((commit "b6d652a9163d3430a9e0933a554bdbee5244bbf6"))
|
||||
|
@ -12749,7 +12680,7 @@ Emacs.")
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-matrix-client
|
||||
(let ((commit "3eab4c28280feff18ee1ddd7db66ada4f135cbf8"))
|
||||
(let ((commit "5d8e959a63e5de05b628ca8e1dfb974f7f618821"))
|
||||
(package
|
||||
(name "emacs-matrix-client")
|
||||
(version (git-version "0.0.0" "1" commit))
|
||||
|
@ -12761,15 +12692,17 @@ Emacs.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1k6721jz0m22vpb78881k087mpx8hf3s2219ic75v5mhgx355f7m"))))
|
||||
"15mwyjq3z867v0xl4m2s3vvfn0wqncb67xawm1cjmpnambz1yz1n"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("a" ,emacs-a)
|
||||
("dash" ,emacs-dash)
|
||||
("esxml" ,emacs-esxml)
|
||||
("f" ,emacs-f)
|
||||
("frame-purpose" ,emacs-frame-purpose)
|
||||
("ht" ,emacs-ht)
|
||||
("ov" ,emacs-ov)
|
||||
("rainbow-identifiers" ,emacs-rainbow-identifiers)
|
||||
("request" ,emacs-request)
|
||||
("s" ,emacs-s)
|
||||
("tracking" ,emacs-tracking)))
|
||||
|
@ -12865,58 +12798,46 @@ functions to ensure they are called with the right arguments during testing.")
|
|||
too ambiguous and navigation in the result buffer.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-dedukti-mode
|
||||
(let ((commit "d7c3505a1046187de3c3aeb144455078d514594e"))
|
||||
(package
|
||||
(name "emacs-dedukti-mode")
|
||||
(version (git-version "0" "0" commit))
|
||||
(home-page "https://github.com/rafoo/dedukti-mode")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1842wikq24c8rg0ac84vb1qby9ng1nssxswyyni4kq85lng5lcrp"))
|
||||
(file-name (git-file-name name version))))
|
||||
(inputs
|
||||
`(("dedukti" ,dedukti)))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'patch-dkpath
|
||||
(lambda _
|
||||
(let ((dkcheck-path (which "dkcheck")))
|
||||
(substitute* "dedukti-mode.el"
|
||||
(("dedukti-path \"(.*)\"")
|
||||
(string-append "dedukti-path \"" dkcheck-path "\"")))))))))
|
||||
(synopsis "Emacs major mode for Dedukti files")
|
||||
(description "This package provides an Emacs major mode for editing
|
||||
Dedukti files.")
|
||||
(license license:cecill-b))))
|
||||
(define-public emacs-frame-purpose
|
||||
(package
|
||||
(name "emacs-frame-purpose")
|
||||
(version "1.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alphapapa/frame-purpose.el.git")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32
|
||||
"0jq2aam1yvccw887ighd1wm2xkvk5bv53ffiz3crcl16a255aj4q"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(inputs
|
||||
`(("dash" ,emacs-dash)))
|
||||
(synopsis "Purpose-specific frames for Emacs")
|
||||
(description "@code{frame-purpose} makes it easy to open purpose-specific
|
||||
frames that only show certain buffers, e.g. by buffers’ major mode, their
|
||||
filename or directory, etc, with custom frame/X-window titles, icons, and
|
||||
other frame parameters.")
|
||||
(home-page "https://github.com/alphapapa/frame-purpose.el")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-flycheck-dedukti
|
||||
(let ((commit "3dbff5646355f39d57a3ec514f560a6b0082a1cd"))
|
||||
(define-public emacs-arduino-mode
|
||||
(let ((commit "3e2bad4569ad26e929e6db2cbcff0d6d36812698")) ;no release yet
|
||||
(package
|
||||
(name "emacs-flycheck-dedukti")
|
||||
(name "emacs-arduino-mode")
|
||||
(version (git-version "0" "0" commit))
|
||||
(home-page "https://github.com/rafoo/flycheck-dedukti")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(url "https://github.com/bookest/arduino-mode.git")
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1ffpxnwl3wx244n44mbw81g00nhnykd0lnid29f4aw1av7w6nw8l"))
|
||||
"1yvaqjc9hadbnnay5fprnh890xsp53kidad1zpb4a5z4a5z61n3c"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(inputs
|
||||
`(("dedukti-mode" ,emacs-dedukti-mode)
|
||||
("flycheck-mode" ,emacs-flycheck)))
|
||||
(synopsis "Flycheck integration for the dedukti language")
|
||||
(description "This package provides a frontend for Flycheck to perform
|
||||
syntax checking on dedukti files.")
|
||||
(license license:cecill-b))))
|
||||
(synopsis "Emacs major mode for editing Arduino sketches")
|
||||
(description "Emacs major mode for editing Arduino sketches.")
|
||||
(home-page "https://github.com/bookest/arduino-mode")
|
||||
(license license:gpl3+))))
|
||||
|
|
|
@ -1186,7 +1186,7 @@ play them on systems for which they were never designed!")
|
|||
(define-public mame
|
||||
(package
|
||||
(name "mame")
|
||||
(version "0.204")
|
||||
(version "0.205")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -1196,7 +1196,7 @@ play them on systems for which they were never designed!")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0yn63v2f1xlksfnvbxc5p5zpc7ps044m1kf69jhzbfirx953slsi"))
|
||||
"1q5z18rlmas598fxga8jr2d6xdngdzjab49xfy4hffdmlq624lw7"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled libraries.
|
||||
|
@ -1223,14 +1223,6 @@ play them on systems for which they were never designed!")
|
|||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
;; Prevent compilation error: ‘atan’ is not a member of ‘std’. Also
|
||||
;; fixed upstream in fec1cde5a40e197d4ed4314bf58b9e66e84e1631.
|
||||
(add-after 'unpack 'fix-build
|
||||
(lambda _
|
||||
(substitute* "src/mame/video/xavix.cpp"
|
||||
(("#include \"logmacro.h\"")
|
||||
"#include \"logmacro.h\"\n#include <cmath>"))
|
||||
#t))
|
||||
(add-after 'build 'build-documentation
|
||||
(lambda _ (invoke "make" "-C" "docs" "man" "info")))
|
||||
(replace 'install
|
||||
|
|
|
@ -86,21 +86,54 @@
|
|||
(define-public bullet
|
||||
(package
|
||||
(name "bullet")
|
||||
(version "2.87")
|
||||
(version "2.88")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/bulletphysics/bullet3/"
|
||||
"archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/bulletphysics/bullet3/")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15azjc1jj8ak9ad7c5sbp9nv5gpqjsa0s9pc0bwy63w490f1b323"))))
|
||||
"00qkif245yj7n2f262bgjaxv1bz3wmmcsfnjgy3qpzvlpzpns5z8"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each delete-file (find-files "build3" "premake*"))
|
||||
(with-directory-excursion "examples/ThirdPartyLibs"
|
||||
(for-each delete-file-recursively
|
||||
'("Gwen" "clsocket" "enet" "glad" "imgui"
|
||||
"lua-5.2.3" "midi" "minizip" "openvr"
|
||||
"optionalX11" "serial" "zlib")))
|
||||
;; These need files from ThirdPartyLibs
|
||||
(substitute* "Extras/CMakeLists.txt"
|
||||
(("BulletRobotics") "")
|
||||
(("obj2sdf") ""))
|
||||
;; Tests fail on linking, cannot find -lBussIK
|
||||
(substitute* "test/CMakeLists.txt"
|
||||
((" InverseDynamics")
|
||||
"../examples/ThirdPartyLibs/BussIK InverseDynamics"))
|
||||
; (("SharedMemory") ""))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags (list (string-append
|
||||
"-DBUILD_SHARED_LIBS=ON "
|
||||
"-DCMAKE_CXX_FLAGS=-fPIC "
|
||||
(or (getenv "CXXFLAGS") "")))))
|
||||
'(#:configure-flags (list "-DBUILD_SHARED_LIBS=ON"
|
||||
"-DBUILD_CPU_DEMOS=OFF"
|
||||
"-DBUILD_OPENGL3_DEMOS=OFF"
|
||||
"-DBUILD_BULLET2_DEMOS=OFF"
|
||||
(string-append "-DCMAKE_CXX_FLAGS=-fPIC "
|
||||
(or (getenv "CXXFLAGS") "")))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-failing-tests
|
||||
;; These tests fail specifically after removing 3rd party code
|
||||
(lambda _
|
||||
(substitute* "test/SharedMemory/CMakeLists.txt"
|
||||
(("ADD_TEST") "# ADD_TEST"))
|
||||
(substitute* "test/InverseDynamics/CMakeLists.txt"
|
||||
(("ADD_TEST\\(Test_BulletInverseForward")
|
||||
"# ADD_TEST(Test_BulletInverseForward"))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("glu" ,glu)
|
||||
("libx11" ,libx11)
|
||||
|
|
|
@ -42,7 +42,6 @@
|
|||
#:use-module (gnu packages datastructures)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages cran)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
|
@ -53,7 +52,6 @@
|
|||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages web)
|
||||
#:use-module (gnu packages webkit)
|
||||
#:use-module (gnu packages wxwidgets)
|
||||
|
@ -505,122 +503,6 @@ development.")
|
|||
(home-page "https://www.gaia-gis.it/fossil/spatialite_gui/index")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public r-maps
|
||||
(package
|
||||
(name "r-maps")
|
||||
(version "3.3.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "maps" version))
|
||||
(sha256
|
||||
(base32
|
||||
"05i2ppl5z4p8rawgqmy3z4ia05fcblpq1vvrmrkgkkpdlhczx6hr"))))
|
||||
(build-system r-build-system)
|
||||
(home-page "https://cran.r-project.org/web/packages/maps")
|
||||
(synopsis "Draw geographical maps")
|
||||
(description "This package provies an R module for display of maps.
|
||||
Projection code and larger maps are in separate packages ('mapproj' and
|
||||
'mapdata').")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public r-mapproj
|
||||
(package
|
||||
(name "r-mapproj")
|
||||
(version "1.2.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "mapproj" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1rggww8cbwv0vzlj5afzhbsbngg4bzj5znbkz7wmxsbshfbsm9b2"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs `(("r-maps" ,r-maps)))
|
||||
(home-page "https://cran.r-project.org/web/packages/mapproj")
|
||||
(synopsis "Map projection in R")
|
||||
(description "This package converts latitude/longitude into projected
|
||||
coordinates.")
|
||||
(license (list license:gpl2 ; The R interface
|
||||
(license:non-copyleft ; The C code
|
||||
"https://www.gnu.org/licenses/license-list.en.html#lucent102"
|
||||
"Lucent Public License Version 1.02")))))
|
||||
|
||||
(define-public r-rgooglemaps
|
||||
(package
|
||||
(name "r-rgooglemaps")
|
||||
(version "1.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "RgoogleMaps" version))
|
||||
(sha256
|
||||
(base32
|
||||
"06ab3lg1rwm93hkshf1vxfm8mlxq5qsjan0wx43lhnrysay65js4"))))
|
||||
(properties `((upstream-name . "RgoogleMaps")))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs `(("r-png" ,r-png)))
|
||||
(home-page "https://cran.r-project.org/web/packages/RgoogleMaps")
|
||||
(synopsis "Use Google Maps in R")
|
||||
(description "This package serves two purposes: (i) Provide a comfortable R
|
||||
interface to query the Google server for static maps, and (ii) Use the map as a
|
||||
background image to overlay plots within R. This requires proper coordinate
|
||||
scaling.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public r-geosphere
|
||||
(package
|
||||
(name "r-geosphere")
|
||||
(version "1.5-7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "geosphere" version))
|
||||
(sha256
|
||||
(base32
|
||||
"186qdm5niq7v3d4w4rngx71znsgi44hnam7698bsx9ar5mg5b6wx"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs `(("r-sp" ,r-sp)))
|
||||
(home-page "https://cran.r-project.org/web/packages/geosphere")
|
||||
(synopsis "Spherical trigonometry")
|
||||
(description "This package computes spherical trigonometry for geographic
|
||||
applications. That is, compute distances and related measures for angular
|
||||
(longitude/latitude) locations.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public r-ggmap
|
||||
(package
|
||||
(name "r-ggmap")
|
||||
(version "2.6.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "ggmap" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0mssb09w818jv58h7mly9y181pzv22sgcd4a079cfpq04bs0wigw"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-digest" ,r-digest)
|
||||
("r-geosphere" ,r-geosphere)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-jpeg" ,r-jpeg)
|
||||
("r-mapproj" ,r-mapproj)
|
||||
("r-plyr" ,r-plyr)
|
||||
("r-png" ,r-png)
|
||||
("r-proto" ,r-proto)
|
||||
("r-reshape2" ,r-reshape2)
|
||||
("r-rgooglemaps" ,r-rgooglemaps)
|
||||
("r-rjson" ,r-rjson)
|
||||
("r-scales" ,r-scales)))
|
||||
(home-page "https://github.com/dkahle/ggmap")
|
||||
(synopsis "Spatial visualization with ggplot2")
|
||||
(description "This package provides a collection of functions to visualize
|
||||
spatial data and models on top of static maps from various online sources (e.g
|
||||
Google Maps and Stamen Maps). It includes tools common to those tasks,
|
||||
including functions for geolocation and routing.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public gdal
|
||||
(package
|
||||
(name "gdal")
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
|
@ -143,14 +143,14 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
|
|||
(define-public po4a
|
||||
(package
|
||||
(name "po4a")
|
||||
(version "0.54")
|
||||
(version "0.55")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mquinson/po4a/releases/download/v"
|
||||
version "/po4a-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l9xc06cr8i5jqycfylr4lynhmkb4ng2534m14kx37bzd4hpcvsr"))))
|
||||
"1qss4q5df3nsydsbggb7gg50bn0kdxq5wn8riqm9zwkiq6a4bifg"))))
|
||||
(build-system perl-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -174,15 +174,20 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
|
|||
"/share/man")
|
||||
".*\\.gz$"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-docbook-xml
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* (find-files "." ".*\\.xml(-good)?")
|
||||
(("http://www.oasis-open.org/docbook/xml/4.1.2/")
|
||||
(string-append (assoc-ref inputs "docbook-xml")
|
||||
"/xml/dtd/docbook/")))
|
||||
#t))
|
||||
(add-before 'check 'disable-failing-tests
|
||||
(lambda _
|
||||
;; FIXME: ‘Files ../t-03-asciidoc/Titles.po and Titles.po differ’.
|
||||
(delete-file "t/03-asciidoc.t")
|
||||
|
||||
;; FIXME: ‘Unknown format type: html’, and it's not listed.
|
||||
(delete-file "t/09-html.t")
|
||||
|
||||
;; FIXME: this test requires SGMLS.pm.
|
||||
;; FIXME: these tests require SGMLS.pm.
|
||||
(delete-file "t/01-classes.t")
|
||||
(delete-file "t/16-sgml.t")
|
||||
|
||||
#t)))))
|
||||
|
@ -194,7 +199,7 @@ translated messages from the catalogs. Nearly all GNU packages use Gettext.")
|
|||
("xsltproc" ,libxslt)
|
||||
|
||||
;; For tests.
|
||||
("docbook-xml" ,docbook-xml)
|
||||
("docbook-xml" ,docbook-xml-4.1.2)
|
||||
("perl-yaml-tiny" ,perl-yaml-tiny)
|
||||
("texlive" ,texlive-tiny)))
|
||||
(home-page "https://po4a.org/")
|
||||
|
|
|
@ -50,7 +50,6 @@
|
|||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system meson)
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
|
||||
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
|
||||
;;; Copyright © 2016, 2017 Kei Kebreau <kkebreau@posteo.net>
|
||||
|
@ -32,6 +32,7 @@
|
|||
;;; Copyright © 2018 Jovany Leandro G.C <bit4bit@riseup.net>
|
||||
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2018 Timothy Sample <samplet@ngyro.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1851,17 +1852,17 @@ Hints specification (EWMH).")
|
|||
(define-public goffice
|
||||
(package
|
||||
(name "goffice")
|
||||
(version "0.10.36")
|
||||
(version "0.10.44")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1mma1gp179dh7kvwzd7q3mwg0719hhbm9f5sqw28flv5lv05zrng"))))
|
||||
(base32 "1fd7cm6j0g0mqgpqs4y22b4gd2ll4mcyvg4d0q22d5ndjapl4q3d"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"
|
||||
"doc")) ;4.1 MiB of gtk-doc
|
||||
"doc")) ;4.0 MiB of gtk-doc
|
||||
(arguments
|
||||
'(#:configure-flags (list (string-append "--with-html-dir="
|
||||
(assoc-ref %outputs "doc")
|
||||
|
@ -2214,19 +2215,31 @@ selection and URL hints.")))
|
|||
(uri (string-append "mirror://gnome/sources/" name "/"
|
||||
(version-major+minor version) "/"
|
||||
name "-" version ".tar.xz"))
|
||||
(patches ; We have to revert 2 commits to build against freerdp 1.1.
|
||||
(search-patches "vinagre-revert-1.patch"
|
||||
"vinagre-revert-2.patch"))
|
||||
(patches (search-patches "vinagre-newer-freerdp.patch"
|
||||
"vinagre-newer-rdp-parameters.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"10jya3jyrm18nbw3v410gbkc7677bqamax44pzgd3j15randn76d"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'skip-gtk-update-icon-cache
|
||||
(lambda _
|
||||
;; Don't create 'icon-theme.cache'
|
||||
(substitute* (find-files "." "^Makefile$")
|
||||
(("gtk-update-icon-cache") (which "true")))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-configure
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("freerdp") "freerdp2"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("intltool" ,intltool)
|
||||
("itstool" ,itstool)
|
||||
("glib-bin" ,glib "bin") ;for glib-compile-schemas
|
||||
("gtk+-bin" ,gtk+ "bin"))) ;for gtk-update-icon-cache
|
||||
("glib-bin" ,glib "bin"))) ;for glib-compile-schemas
|
||||
(inputs
|
||||
`(("libxml2" ,libxml2)
|
||||
("gtk-vnc" ,gtk-vnc)
|
||||
|
@ -2237,8 +2250,6 @@ selection and URL hints.")))
|
|||
("spice-gtk" ,spice-gtk)
|
||||
("telepathy-glib" ,telepathy-glib)
|
||||
("vte" ,vte)))
|
||||
(arguments
|
||||
`(#:configure-flags '("--enable-rdp")))
|
||||
(home-page "https://wiki.gnome.org/Apps/Vinagre")
|
||||
(synopsis "Remote desktop viewer for GNOME")
|
||||
(description "Vinagre is a remote display client supporting the VNC, SPICE
|
||||
|
@ -2584,7 +2595,7 @@ and the GLib main loop, to integrate well with GNOME applications.")
|
|||
(define-public libsecret
|
||||
(package
|
||||
(name "libsecret")
|
||||
(version "0.18.6")
|
||||
(version "0.18.7")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -2593,7 +2604,7 @@ and the GLib main loop, to integrate well with GNOME applications.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0vynag97a9bnnb8ipah45av8xg8jzmhd572rw3zj78s1pa8ciysy"))))
|
||||
"11ylmcfx6ff7xd1gpi58i2nbma83lz2xg0g2dq23w6snqhgzwrhd"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(arguments
|
||||
|
@ -5317,6 +5328,10 @@ libxml2.")
|
|||
;; script. It provides a generic one if --enable-gdm-xsession is set.
|
||||
"--enable-gdm-xsession"
|
||||
|
||||
;; Use '/etc/environment' for locale settings instead of the
|
||||
;; systemd-specific '/etc/locale.conf'.
|
||||
"--with-lang-file=/etc/environment"
|
||||
|
||||
"--localstatedir=/var"
|
||||
,(string-append "--with-default-path="
|
||||
(string-join '("/run/setuid-programs"
|
||||
|
@ -5379,6 +5394,11 @@ libxml2.")
|
|||
;; are met (provided GNOME is installed of course).
|
||||
"gdm_session_set_environment_variable (self, \"XDG_CONFIG_DIRS\",\n"
|
||||
" \"/run/current-system/profile/etc/xdg\");\n"
|
||||
;; The session bus (which GDM will initialize from the this
|
||||
;; session environment) needs to know where to find the system
|
||||
;; service files.
|
||||
"gdm_session_set_environment_variable (self, \"XDG_DATA_DIRS\",\n"
|
||||
" \"/run/current-system/profile/share\");\n"
|
||||
)))
|
||||
;; Look for custom GDM conf in /run/current-system.
|
||||
(substitute* '("common/gdm-settings-desktop-backend.c")
|
||||
|
|
|
@ -61,7 +61,8 @@
|
|||
(base32
|
||||
"0grr5qi5rn1xvr7qx5d7mcxa2mcgycy2b325ry73bb485a6yv5l3"))
|
||||
(patches (search-patches "gnucash-price-quotes-perl.patch"
|
||||
"gnucash-disable-failing-tests.patch"))))
|
||||
"gnucash-disable-failing-tests.patch"
|
||||
"gnucash-fix-test-transaction-failure.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("guile" ,guile-2.2)
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -67,14 +68,16 @@
|
|||
(define-public libextractor
|
||||
(package
|
||||
(name "libextractor")
|
||||
(version "1.7")
|
||||
(version "1.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libextractor/libextractor-"
|
||||
version ".tar.gz"))
|
||||
(patches (search-patches "libextractor-CVE-2018-20430.patch"
|
||||
"libextractor-CVE-2018-20431.patch"))
|
||||
(sha256
|
||||
(base32
|
||||
"13wf6vj7mkv6gw8h183cnk7m24ir0gyf198pyb2148ng4klgv9p0"))))
|
||||
"1z1cb35griqzvshqdv5ck98dy0sgpsswn7fgiy7lbzi34sma8dg2"))))
|
||||
(build-system gnu-build-system)
|
||||
;; WARNING: Checks require /dev/shm to be in the build chroot, especially
|
||||
;; not to be a symbolic link to /run/shm.
|
||||
|
@ -145,14 +148,14 @@ tool to extract metadata from a file and print the results.")
|
|||
(define-public libmicrohttpd
|
||||
(package
|
||||
(name "libmicrohttpd")
|
||||
(version "0.9.59")
|
||||
(version "0.9.62")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0g4jgnv43yddr9yxrqg11632rip0lg5c53gmy5wy3c0i1dywv74v"))))
|
||||
"0jfvi1fb4im3a3m8qishbmzx3zch993c0mhvl2k92l1zf1yhjgmx"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("curl" ,curl)
|
||||
|
@ -307,19 +310,20 @@ kinds of basic applications for the foundation of a GNU internet.")
|
|||
(home-page "https://gnunet.org/")))
|
||||
|
||||
(define-public guile-gnunet ;GSoC 2015!
|
||||
(let ((commit "383eac2aab175d8d9ea5315c2f1c8a5055c76a52"))
|
||||
(let ((commit "d12167ab3c8d7d6caffd9c606e389ef043760602")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "guile-gnunet")
|
||||
(version (string-append "0.0." (string-take commit 7)))
|
||||
(version (git-version "0.0" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://git.savannah.gnu.org/git/guix/gnunet.git/")
|
||||
(commit commit)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0k6mn28isjlxrnvbnblab3nh2xqx1b7san8k98kc35ap9lq0iz8w"))))
|
||||
"0nqc18jh9j30y4l6yh6j35byfg6qalq7yr3frv9rk10qa041c2sv"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)
|
||||
("autoconf" ,autoconf-wrapper)
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2014, 2018 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2014, 2015, 2016 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
||||
|
@ -223,14 +223,14 @@ compatible to GNU Pth.")
|
|||
(define-public gnupg
|
||||
(package
|
||||
(name "gnupg")
|
||||
(version "2.2.11")
|
||||
(version "2.2.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnupg/gnupg/gnupg-" version
|
||||
".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1ncwqjhcxh46fgkp84g2lhf91amcha7abk6wdm1kagzm7q93wv29"))))
|
||||
"1jw282iy27j1qygym52aa44zxy7ly4bdadhd628hwr4q9j5hy0yv"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
|
@ -661,87 +661,86 @@ PGP keysigning parties.")
|
|||
(home-page "https://www.phildev.net/pius/index.shtml")))
|
||||
|
||||
(define-public signing-party
|
||||
;; Upstream moved from alioth.debian.org to salsa.debian.org but the
|
||||
;; automatic svn import did not preserve tags apparently, so there's no real
|
||||
;; version number.
|
||||
(let ((commit "d6f2296325605ee96ddf9f5b156e5e3f667a6df3")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "signing-party")
|
||||
(version (git-version "2.6" revision commit))
|
||||
(home-page "https://salsa.debian.org/stappers/pgp-tools")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"00f7zasbwcbjzd92br2j10pyjxv0aw1qb4540qfz2dxzxgmdscrz"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf-wrapper)
|
||||
("automake" ,automake)))
|
||||
(inputs `(("perl" ,perl)
|
||||
("perl-text-template" ,perl-text-template)
|
||||
("perl-mime-tools" ,perl-mime-tools)
|
||||
("perl-gnupg-interface" ,perl-gnupg-interface)
|
||||
("perl-net-idn-encode" ,perl-net-idn-encode)
|
||||
("libmd" ,libmd)))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "keyanalyze/Makefile"
|
||||
(("LDLIBS") (string-append "CC=" (which "gcc") "\nLDLIBS")))
|
||||
(substitute* "keyanalyze/Makefile"
|
||||
(("\\./configure") (string-append "./configure --prefix=" out)))
|
||||
(substitute* "gpgwrap/Makefile"
|
||||
(("\\} clean")
|
||||
(string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap "
|
||||
out "/bin/gpgwrap\n")))
|
||||
(substitute* '("gpgsigs/Makefile" "keyanalyze/Makefile"
|
||||
"keylookup/Makefile" "sig2dot/Makefile"
|
||||
"springgraph/Makefile")
|
||||
(("/usr") out))
|
||||
(setenv "CONFIG_SHELL" (which "sh")))))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys #:rest args)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(install (assoc-ref %standard-phases 'install)))
|
||||
(apply install args)
|
||||
(for-each
|
||||
(lambda (dir file)
|
||||
(copy-file (string-append dir "/" file)
|
||||
(string-append out "/bin/" file)))
|
||||
'("caff" "caff" "caff" "gpgdir" "gpg-key2ps"
|
||||
"gpglist" "gpg-mailkeys" "gpgparticipants")
|
||||
'("caff" "pgp-clean" "pgp-fixkey" "gpgdir" "gpg-key2ps"
|
||||
"gpglist" "gpg-mailkeys" "gpgparticipants"))
|
||||
(for-each
|
||||
(lambda (dir file)
|
||||
(copy-file (string-append dir "/" file)
|
||||
(string-append out "/share/man/man1/" file)))
|
||||
'("caff" "caff" "caff" "gpgdir"
|
||||
"gpg-key2ps" "gpglist" "gpg-mailkeys"
|
||||
"gpgparticipants" "gpgsigs" "gpgwrap/doc"
|
||||
"keyanalyze" "keyanalyze/pgpring" "keyanalyze")
|
||||
'("caff.1" "pgp-clean.1" "pgp-fixkey.1" "gpgdir.1"
|
||||
"gpg-key2ps.1" "gpglist.1" "gpg-mailkeys.1"
|
||||
"gpgparticipants.1" "gpgsigs.1" "gpgwrap.1"
|
||||
"process_keys.1" "pgpring.1" "keyanalyze.1")))))
|
||||
(add-after 'install 'wrap-programs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(wrap-program
|
||||
(string-append out "/bin/caff")
|
||||
`("PERL5LIB" ":" prefix (,(getenv "PERL5LIB"))))))))))
|
||||
(synopsis "Collection of scripts for simplifying gnupg key signing")
|
||||
(description
|
||||
"Signing-party is a collection for all kinds of PGP/GnuPG related things,
|
||||
(package
|
||||
(name "signing-party")
|
||||
(version "2.7")
|
||||
(home-page "https://salsa.debian.org/debian/signing-party")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit (string-append "release-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1gx9017wag4bgc0h7kca9n3jwwdm7z77yv3viayhg62flbwkvbgb"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf-wrapper)
|
||||
("automake" ,automake)))
|
||||
(inputs `(("perl" ,perl)
|
||||
("perl-text-template" ,perl-text-template)
|
||||
("perl-mime-tools" ,perl-mime-tools)
|
||||
("perl-gnupg-interface" ,perl-gnupg-interface)
|
||||
("perl-net-idn-encode" ,perl-net-idn-encode)
|
||||
("libmd" ,libmd)))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* "keyanalyze/Makefile"
|
||||
(("LDLIBS") (string-append "CC=" (which "gcc") "\nLDLIBS")))
|
||||
(substitute* "keyanalyze/Makefile"
|
||||
(("\\./configure") (string-append "./configure --prefix=" out)))
|
||||
(substitute* "gpgwrap/Makefile"
|
||||
(("\\} clean")
|
||||
(string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap "
|
||||
out "/bin/gpgwrap\n")))
|
||||
(substitute* '("gpgsigs/Makefile" "keyanalyze/Makefile"
|
||||
"keylookup/Makefile" "sig2dot/Makefile"
|
||||
"springgraph/Makefile")
|
||||
(("/usr") out))
|
||||
(setenv "CONFIG_SHELL" (which "sh")))
|
||||
#t))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys #:rest args)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(install (assoc-ref %standard-phases 'install)))
|
||||
(apply install args)
|
||||
(for-each
|
||||
(lambda (dir file)
|
||||
(copy-file (string-append dir "/" file)
|
||||
(string-append out "/bin/" file)))
|
||||
'("caff" "caff" "caff" "gpgdir" "gpg-key2ps"
|
||||
"gpglist" "gpg-mailkeys" "gpgparticipants")
|
||||
'("caff" "pgp-clean" "pgp-fixkey" "gpgdir" "gpg-key2ps"
|
||||
"gpglist" "gpg-mailkeys" "gpgparticipants"))
|
||||
(for-each
|
||||
(lambda (dir file)
|
||||
(copy-file (string-append dir "/" file)
|
||||
(string-append out "/share/man/man1/" file)))
|
||||
'("caff" "caff" "caff" "gpgdir"
|
||||
"gpg-key2ps" "gpglist" "gpg-mailkeys"
|
||||
"gpgparticipants" "gpgsigs" "gpgwrap/doc"
|
||||
"keyanalyze" "keyanalyze/pgpring" "keyanalyze")
|
||||
'("caff.1" "pgp-clean.1" "pgp-fixkey.1" "gpgdir.1"
|
||||
"gpg-key2ps.1" "gpglist.1" "gpg-mailkeys.1"
|
||||
"gpgparticipants.1" "gpgsigs.1" "gpgwrap.1"
|
||||
"process_keys.1" "pgpring.1" "keyanalyze.1")))
|
||||
#t))
|
||||
(add-after 'install 'wrap-programs
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out")))
|
||||
(wrap-program
|
||||
(string-append out "/bin/caff")
|
||||
`("PERL5LIB" ":" prefix (,(getenv "PERL5LIB")))))
|
||||
#t)))))
|
||||
(synopsis "Collection of scripts for simplifying gnupg key signing")
|
||||
(description
|
||||
"Signing-party is a collection for all kinds of PGP/GnuPG related things,
|
||||
including tools for signing keys, keyring analysis, and party preparation.
|
||||
@enumerate
|
||||
@item caff: CA - Fire and Forget signs and mails a key
|
||||
|
@ -759,10 +758,10 @@ including tools for signing keys, keyring analysis, and party preparation.
|
|||
@item sig2dot: converts a list of GnuPG signatures to a .dot file
|
||||
@item springgraph: creates a graph from a .dot file
|
||||
@end enumerate")
|
||||
;; gpl2+ for almost all programs, except for keyanalyze: gpl2
|
||||
;; and caff and gpgsigs: bsd-3, see
|
||||
;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright
|
||||
(license license:gpl2))))
|
||||
;; gpl2+ for almost all programs, except for keyanalyze: gpl2
|
||||
;; and caff and gpgsigs: bsd-3, see
|
||||
;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public pinentry-tty
|
||||
(package
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;;
|
||||
|
@ -147,7 +147,7 @@ between two other data points.")
|
|||
(define-public gama
|
||||
(package
|
||||
(name "gama")
|
||||
(version "2.01")
|
||||
(version "2.02")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -155,7 +155,7 @@ between two other data points.")
|
|||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1z3n5p69qglxq15l9g13cg78kyb0l6v8mbzqgc1fqkfbdk1mis0k"))))
|
||||
"1r5rrmiqdg6dpxqla0f2mjwcjzlckdjpg4ar0cirmz78w78hf6vn"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments '(#:parallel-tests? #f)) ; race condition
|
||||
(native-inputs
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
;;; Copyright © 2016 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;; Copyright © 2018 Lprndn <guix@lprndn.info>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -31,9 +32,11 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages algebra)
|
||||
#:use-module (gnu packages bison)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages flex)
|
||||
#:use-module (gnu packages fontutils)
|
||||
#:use-module (gnu packages ghostscript)
|
||||
#:use-module (gnu packages gl)
|
||||
|
@ -444,3 +447,57 @@ vision algorithms. It can be used to do things like:
|
|||
(description
|
||||
"vips is a demand-driven, horizontally threaded image processing library.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public nip2
|
||||
(package
|
||||
(name "nip2")
|
||||
(version "8.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/libvips/nip2/releases/download/v"
|
||||
version "/nip2-" version ".tar.gz" ))
|
||||
(sha256
|
||||
(base32 "08dxfds4n1vxdilxcw01741a2r6fxyhawi656b7f0hy6znnkbsbc"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; test_conv.ws keep failing so disabling for now
|
||||
(add-after 'unpack 'disable-test-conv
|
||||
(lambda _
|
||||
(delete-file "test/workspaces/test_conv.ws")
|
||||
#t))
|
||||
(add-before 'check 'set-home
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp") #t)))))
|
||||
(inputs
|
||||
`(("vips" ,vips)
|
||||
("glib" ,glib)
|
||||
("libtiff" ,libtiff)
|
||||
("gtk+-2" ,gtk+-2)
|
||||
("libxml2" ,libxml2)
|
||||
("libexif" ,libexif)
|
||||
("libjpeg" ,libjpeg) ;required by vips.pc
|
||||
("librsvg" ,librsvg)
|
||||
("fftw" ,fftw)
|
||||
("libgsf" ,libgsf)
|
||||
("imagemagick" ,imagemagick)
|
||||
("orc" ,orc)
|
||||
("matio" ,matio)
|
||||
("lcms" ,lcms)
|
||||
("libwebp" ,libwebp)
|
||||
("openexr" ,openexr)
|
||||
("poppler" ,poppler)
|
||||
("gsl" ,gsl)))
|
||||
(native-inputs
|
||||
`(("flex" ,flex)
|
||||
("bison" ,bison)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://github.com/libvips/nip2")
|
||||
(synopsis "Spreadsheet-like GUI for libvips")
|
||||
(description "This package provide a graphical user interface (GUI) for
|
||||
the VIPS image processing library. It's a little like a spreadsheet: you
|
||||
create a set of formula connecting your objects together, and on a change nip2
|
||||
recalculates.")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -1595,3 +1595,29 @@ identical visual appearance.")
|
|||
(description "grim can create screenshots from a Wayland compositor.")
|
||||
;; MIT license.
|
||||
(license license:expat)))
|
||||
|
||||
(define-public slurp
|
||||
(package
|
||||
(name "slurp")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/emersion/slurp.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "03igv8r8n772xb0y7whhs1pa298l3d94jbnknaxpwp2n4fi04syb"))))
|
||||
(build-system meson-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("cairo" ,cairo)
|
||||
("scdoc" ,scdoc)
|
||||
("wayland" ,wayland)
|
||||
("wayland-protocols" ,wayland-protocols)))
|
||||
(home-page "https://github.com/emersion/slurp")
|
||||
(synopsis "Select a region in a Wayland compositor")
|
||||
(description "Slurp can select a region in a Wayland compositor and print it
|
||||
to the standard output. It works well together with grim.")
|
||||
;; MIT license.
|
||||
(license license:expat)))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -91,14 +91,14 @@ groups.")
|
|||
(define-public python-iso3166
|
||||
(package
|
||||
(name "python-iso3166")
|
||||
(version "0.8")
|
||||
(version "0.9")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "iso3166" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0cs9w507dj93jj9z9di93lx2fplf8pma4jkrsvvb258dv6z1gszv"))))
|
||||
"0hm0xm30sprk1jssmn4cqks0x3nx5fp8r5ypvahcysmmayzrsnjl"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/deactivated/python-iso3166")
|
||||
(synopsis "Self-contained ISO 3166-1 country definitions")
|
||||
|
|
|
@ -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 @@
|
|||
(("\"lib64\"") "\"lib\"")
|
||||
;; TODO: Base the following on values taken from Qt
|
||||
;; Install plugins into lib/qt5/plugins
|
||||
(("_define_relative\\(QTPLUGINDIR LIBDIR \"plugins\"")
|
||||
"_define_relative(QTPLUGINDIR LIBDIR \"qt5/plugins\"")
|
||||
;; TODO: Check if this is okay for Android, too
|
||||
;; (see comment in KDEInstallDirs.cmake)
|
||||
(("_define_relative\\(QTPLUGINDIR \"\\$\\{_pluginsDirParent}\" \"plugins\"")
|
||||
"_define_relative(QTPLUGINDIR \"${_pluginsDirParent}\" \"qt5/plugins\"")
|
||||
;; Install imports into lib/qt5/imports
|
||||
(("_define_relative\\(QTQUICKIMPORTSDIR QTPLUGINDIR \"imports\"")
|
||||
"_define_relative(QTQUICKIMPORTSDIR LIBDIR \"qt5/imports\"")
|
||||
|
@ -335,13 +337,17 @@ Bluetooth stack. It is used by the KDE Bluetooth stack, BlueDevil.")
|
|||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'disable-failing-test
|
||||
(add-after 'unpack 'add-symlinks
|
||||
;; Fix "ScalableTest" - FIXME: Remove for > 5.49.0
|
||||
(lambda _
|
||||
;; Blacklist a test-function (failing at build.kde.org, too).
|
||||
;; FIXME: recheck
|
||||
(with-output-to-file "autotests/BLACKLIST"
|
||||
(lambda _
|
||||
(display "[test_duplicates]\n*\n")))
|
||||
(symlink "../22/plasma-browser-integration.svg"
|
||||
"icons-dark/apps/48/plasma-browser-integration.svg")
|
||||
(symlink "../22/plasma-browser-integration.svg"
|
||||
"icons-dark/apps/64/plasma-browser-integration.svg")
|
||||
(symlink "../22/plasma-browser-integration.svg"
|
||||
"icons/apps/48/plasma-browser-integration.svg")
|
||||
(symlink "../22/plasma-browser-integration.svg"
|
||||
"icons/apps/64/plasma-browser-integration.svg")
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("extra-cmake-modules" ,extra-cmake-modules)
|
||||
|
@ -1819,7 +1825,10 @@ covers feedback and persistent events.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xbfjwxb4gff8gg0hs5m9s0jcnzqk27rs2jr71g5ckhvs5psnkcd"))))
|
||||
"1xbfjwxb4gff8gg0hs5m9s0jcnzqk27rs2jr71g5ckhvs5psnkcd"))
|
||||
;; Default to: external paths/symlinks can be followed by a
|
||||
;; package
|
||||
(patches (search-patches "kpackage-allow-external-paths.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("extra-cmake-modules" ,extra-cmake-modules)))
|
||||
|
@ -1834,6 +1843,16 @@ covers feedback and persistent events.")
|
|||
`(#:tests? #f ; FIXME: 3/9 tests fail.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch
|
||||
(lambda _
|
||||
;; Make QDirIterator follow symlinks
|
||||
(substitute* '("src/kpackage/packageloader.cpp"
|
||||
"src/kpackage/private/packagejobthread.cpp")
|
||||
(("^\\s*(const QDirIterator::IteratorFlags flags = QDirIterator::Subdirectories)(;)" _ a b)
|
||||
(string-append a " | QDirIterator::FollowSymlinks" b))
|
||||
(("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
|
||||
(string-append a " | QDirIterator::FollowSymlinks" b)))
|
||||
#t))
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
|
@ -2082,6 +2101,20 @@ using the XBEL format.")
|
|||
("kservice" ,kservice)))
|
||||
(native-inputs
|
||||
`(("extra-cmake-modules" ,extra-cmake-modules)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch
|
||||
(lambda _
|
||||
(substitute* "src/kpluginselector.cpp"
|
||||
;; make QDirIterator follow symlinks
|
||||
(("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
|
||||
(string-append a " | QDirIterator::FollowSymlinks" b)))
|
||||
(substitute* "src/kcmoduleloader.cpp"
|
||||
;; print plugin name when loading fails
|
||||
(("^\\s*(qWarning\\(\\) << \"Error loading) (plugin:\")( << loader\\.errorString\\(\\);)" _ a b c)
|
||||
(string-append a " KCM plugin\" << mod.service()->library() << \":\"" c)))
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("kauth" ,kauth)
|
||||
("kcodecs" ,kcodecs)
|
||||
|
@ -2132,6 +2165,13 @@ KCModules can be created with the KConfigWidgets framework.")
|
|||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch
|
||||
(lambda _
|
||||
(substitute* "src/khelpclient.cpp"
|
||||
;; make QDirIterator follow symlinks
|
||||
(("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
|
||||
(string-append a " | QDirIterator::FollowSymlinks" b)))
|
||||
#t))
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
;; make Qt render "offscreen", required for tests
|
||||
|
@ -2499,8 +2539,23 @@ in applications using the KDE Frameworks.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1rq9b59gdgcpvwd694l8h55sqahpdaky0n7ag5psjlfn5myf1d95"))))
|
||||
"1rq9b59gdgcpvwd694l8h55sqahpdaky0n7ag5psjlfn5myf1d95"))
|
||||
;; Use the store paths for other packages and dynamically loaded
|
||||
;; libs
|
||||
(patches (search-patches "kinit-kdeinit-extra_libs.patch"
|
||||
"kinit-kdeinit-libpath.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; Set patched-in values:
|
||||
(substitute* "src/kdeinit/kinit.cpp"
|
||||
(("GUIX_PKGS_KF5_KIO") (assoc-ref inputs "kio"))
|
||||
(("GUIX_PKGS_KF5_PARTS") (assoc-ref inputs "kparts"))
|
||||
(("GUIX_PKGS_KF5_PLASMA") (assoc-ref inputs "plasma-framework")))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("extra-cmake-modules" ,extra-cmake-modules)
|
||||
("pkg-config" ,pkg-config)))
|
||||
|
@ -2518,11 +2573,13 @@ in applications using the KDE Frameworks.")
|
|||
("kitemviews" ,kitemviews)
|
||||
("ki18n" ,ki18n)
|
||||
("kjobwidgets" ,kjobwidgets)
|
||||
("kparts" ,kparts)
|
||||
("kservice" ,kservice)
|
||||
("kwidgetsaddons" ,kwidgetsaddons)
|
||||
("kwindowsystem" ,kwindowsystem)
|
||||
("kxmlgui" ,kxmlgui)
|
||||
("libcap" ,libcap) ; to install start_kdeinit with CAP_SYS_RESOURCE
|
||||
("plasma-framework" ,plasma-framework)
|
||||
("qtbase" ,qtbase)
|
||||
("solid" ,solid)))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
|
@ -2546,7 +2603,8 @@ makes starting KDE applications faster and reduces memory consumption.")
|
|||
name "-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0rrsg3g1b204cdp58vxd5dig1ggwyvk1382p1c86vn6w8qbrq27k"))))
|
||||
"0rrsg3g1b204cdp58vxd5dig1ggwyvk1382p1c86vn6w8qbrq27k"))
|
||||
(patches (search-patches "kio-search-smbd-on-PATH.patch"))))
|
||||
(build-system cmake-build-system)
|
||||
(propagated-inputs
|
||||
`(("kbookmarks" ,kbookmarks)
|
||||
|
@ -2589,11 +2647,10 @@ makes starting KDE applications faster and reduces memory consumption.")
|
|||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch
|
||||
(lambda _
|
||||
;; Better error message (taken from nix)
|
||||
;; Better error message (taken from NixOS)
|
||||
(substitute* "src/kiod/kiod_main.cpp"
|
||||
(("(^\\s*qCWarning(KIOD_CATEGORY) << \"Error loading plugin:\")( << loader.errorString();)" _ a b)
|
||||
(string-append a "<< name" b)))
|
||||
;; TODO: samba-search-path.patch from nix: search smbd on $PATH
|
||||
#t))
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
|
@ -2877,10 +2934,11 @@ to easily extend the contacts collection.")
|
|||
(setenv "HOME" (getcwd))
|
||||
;; make Qt render "offscreen", required for tests
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
;; Blacklist a failing test-function. FIXME: Make it pass.
|
||||
;; Blacklist some failing test-functions. FIXME: Make them pass.
|
||||
(with-output-to-file "bin/BLACKLIST"
|
||||
(lambda _
|
||||
(display "[testMatch]\n*\n")))
|
||||
(display "[testMatch]\n*\n")
|
||||
(display "[testMulti]\n*\n")))
|
||||
#t)))))
|
||||
(home-page "https://community.kde.org/Frameworks")
|
||||
(synopsis "Framework for Plasma runners")
|
||||
|
@ -2921,6 +2979,20 @@ typed.")
|
|||
`(#:tests? #f ; FIXME: 6/10 tests fail.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch
|
||||
;; Adopted from NixOS' patches "qdiriterator-follow-symlinks" and
|
||||
;; "no-canonicalize-path".
|
||||
(lambda _
|
||||
(substitute* "src/sycoca/kbuildsycoca.cpp"
|
||||
;; make QDirIterator follow symlinks
|
||||
(("^\\s*(QDirIterator it\\(.*, QDirIterator::Subdirectories)(\\);)" _ a b)
|
||||
(string-append a " | QDirIterator::FollowSymlinks" b)))
|
||||
(substitute* "src/sycoca/vfolder_menu.cpp"
|
||||
;; Normalize path, but don't resolve symlinks (taken from
|
||||
;; NixOS)
|
||||
(("^\\s*QString resolved = QDir\\(dir\\)\\.canonicalPath\\(\\);")
|
||||
"QString resolved = QDir::cleanPath(dir);"))
|
||||
#t))
|
||||
(add-before 'check 'check-setup
|
||||
(lambda _
|
||||
(setenv "HOME" (getcwd))
|
||||
|
@ -3418,6 +3490,8 @@ workspace.")
|
|||
("qtx11extras" ,qtx11extras)))
|
||||
;; FIXME: Use GuixSD ca-bundle.crt in etc/xdg/ksslcalist and
|
||||
;; share/kf5/kssl/ca-bundle.crt
|
||||
;; TODO: NixOS has nix-kde-include-dir.patch to change std-dir "include"
|
||||
;; into "@dev@/include/". Think about whether this is needed for us, too.
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2014, 2015, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Fabian Harfert <fhmgufs@web.de>
|
||||
;;; Copyright © 2017, 2018 Nils Gillmann <ng0@n0.is>
|
||||
;;;
|
||||
|
@ -28,7 +28,6 @@
|
|||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
|
@ -38,7 +37,8 @@
|
|||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages xiph))
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module ((srfi srfi-1) #:select (alist-delete)))
|
||||
|
||||
(define-public libcanberra
|
||||
(package
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -26,18 +27,19 @@
|
|||
(define-public libphidget
|
||||
(package
|
||||
(name "libphidget")
|
||||
(version "2.1.8.20130320")
|
||||
(version "2.1.8.20180607")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://www.phidgets.com/downloads/libraries/libphidget_"
|
||||
"https://www.phidgets.com/downloads/phidget21/libraries/"
|
||||
"linux/libphidget/libphidget_"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "09ibrz1df5ajqcm9vmx6zw8qama2rzf0961yhmmfsy629qfhyrk0"))))
|
||||
(base32 "1mdw8k13yy5dq3r41v9w5yijdk87alzix0qagslc2mxh1pf17npn"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs `(("libusb" ,libusb)))
|
||||
(outputs '("out" "debug"))
|
||||
(home-page "http://www.phidgets.com/")
|
||||
(home-page "https://www.phidgets.com/")
|
||||
(license lgpl3+)
|
||||
(synopsis "C library to manipulate Phidgets")
|
||||
(description synopsis)))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
|
||||
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -32,6 +32,7 @@
|
|||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module ((guix licenses)
|
||||
#:select (gpl2+ lgpl2.1+ lgpl3+ mpl1.1 mpl2.0
|
||||
non-copyleft x11-style bsd-3))
|
||||
|
@ -772,15 +773,17 @@ Zoner Draw version 4 and 5.")
|
|||
(define-public hunspell
|
||||
(package
|
||||
(name "hunspell")
|
||||
(version "1.6.2")
|
||||
(version "1.7.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/hunspell/hunspell/archive/v"
|
||||
version ".tar.gz"))
|
||||
(sha256 (base32
|
||||
"1i7lsv2cm0713ia3j5wjkcrhpfp3lqpjpwp4d3v18n7ycaqcxn9w"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))))
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/hunspell/hunspell")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qxlkd012r45ppd21kldbq9k5ac5nmxz290z6m2kch9l56v768k1"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
|
|
|
@ -231,6 +231,18 @@ defconfig. Return the appropriate make target if applicable, otherwise return
|
|||
(base32
|
||||
"1hk9swxxc80bmn2zd2qr5ccrjrk28xkypwhl4z0qx4hbivj7qm06"))))
|
||||
|
||||
(define %linux-libre-arm-export-__sync_icache_dcache-patch
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://salsa.debian.org/kernel-team/linux"
|
||||
"/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0"
|
||||
"/debian/patches/bugfix/arm/"
|
||||
"arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch"))
|
||||
(file-name "linux-libre-4.19-arm-export-__sync_icache_dcache.patch")
|
||||
(sha256
|
||||
(base32 "1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f"))))
|
||||
|
||||
(define* (kernel-config arch #:key variant)
|
||||
"Return the absolute file name of the Linux-Libre build configuration file
|
||||
for ARCH and optionally VARIANT, or #f if there is no such configuration."
|
||||
|
@ -294,14 +306,16 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
|
|||
("elfutils" ,elfutils) ; Needed to enable CONFIG_STACK_VALIDATION
|
||||
("flex" ,flex)
|
||||
("bison" ,bison)
|
||||
;; On x86, build with GCC-7 for full retpoline support.
|
||||
|
||||
;; Build with GCC-7 for full retpoline support.
|
||||
;; FIXME: Remove this when our default compiler has retpoline support.
|
||||
,@(match (system->linux-architecture
|
||||
(or (%current-target-system) (%current-system)))
|
||||
((or "x86_64" "i386")
|
||||
`(("gcc" ,gcc-7)))
|
||||
(_
|
||||
'()))
|
||||
("gcc" ,gcc-7)
|
||||
|
||||
;; These are needed to compile the GCC plugins.
|
||||
("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)
|
||||
("mpc" ,mpc)
|
||||
|
||||
,@(match (and configuration-file
|
||||
(configuration-file
|
||||
(system->linux-architecture
|
||||
|
@ -323,6 +337,11 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
|
|||
(substitute* (find-files "." "^Makefile(\\.include)?$")
|
||||
(("/bin/pwd") "pwd"))
|
||||
#t))
|
||||
(add-before 'configure 'work-around-gcc-7-include-path-issue
|
||||
(lambda _
|
||||
(unsetenv "C_INCLUDE_PATH")
|
||||
(unsetenv "CPLUS_INCLUDE_PATH")
|
||||
#t))
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs native-inputs target #:allow-other-keys)
|
||||
;; Avoid introducing timestamps
|
||||
|
@ -393,38 +412,36 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
|
|||
It has been modified to remove all non-free binary blobs.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define %intel-compatible-systems '("x86_64-linux" "i686-linux"))
|
||||
(define %linux-compatible-systems '("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux"))
|
||||
(define %linux-libre-version "4.20")
|
||||
(define %linux-libre-hash "07ss8nx95f4pqzzjy382fy5hk7anjm3hpbb3mzl1x8fzfq05q3dq")
|
||||
|
||||
;; linux-libre configuration for armhf-linux is derived from Debian armmp. It
|
||||
;; supports qemu "virt" machine and possibly a large number of ARM boards.
|
||||
;; See : https://wiki.debian.org/DebianKernel/ARMMP.
|
||||
|
||||
(define %linux-libre-version "4.19.12")
|
||||
(define %linux-libre-hash "1cgcg3bw55adx3ivk1aiivrqx5p0ydbz1hzjwzwns0cdqi838cyp")
|
||||
|
||||
(define %linux-libre-4.19-patches
|
||||
(define %linux-libre-4.20-patches
|
||||
(list %boot-logo-patch
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://salsa.debian.org/kernel-team/linux"
|
||||
"/raw/34a7d9011fcfcfa38b68282fd2b1a8797e6834f0"
|
||||
"/debian/patches/bugfix/arm/"
|
||||
"arm-mm-export-__sync_icache_dcache-for-xen-privcmd.patch"))
|
||||
(file-name "linux-libre-4.19-arm-export-__sync_icache_dcache.patch")
|
||||
(sha256
|
||||
(base32 "1ifnfhpakzffn4b8n7x7w5cps9mzjxlkcfz9zqak2vaw8nzvl39f")))))
|
||||
%linux-libre-arm-export-__sync_icache_dcache-patch))
|
||||
|
||||
(define-public linux-libre
|
||||
(make-linux-libre %linux-libre-version
|
||||
%linux-libre-hash
|
||||
%linux-compatible-systems
|
||||
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
|
||||
#:patches %linux-libre-4.20-patches
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define %linux-libre-4.19-version "4.19.13")
|
||||
(define %linux-libre-4.19-hash "0ac0ywy542fiwdiab2z12rbjn9zw8vjbzkbpmpk9nfic2mcyrg8r")
|
||||
|
||||
(define %linux-libre-4.19-patches
|
||||
(list %boot-logo-patch
|
||||
%linux-libre-arm-export-__sync_icache_dcache-patch))
|
||||
|
||||
(define-public linux-libre-4.19
|
||||
(make-linux-libre %linux-libre-4.19-version
|
||||
%linux-libre-4.19-hash
|
||||
'("x86_64-linux" "i686-linux" "armhf-linux" "aarch64-linux")
|
||||
#:patches %linux-libre-4.19-patches
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define %linux-libre-4.14-version "4.14.90")
|
||||
(define %linux-libre-4.14-hash "19my91gb54whgk83vyd45ri0c3jb57jfdb670s80fp02ilr7x5ka")
|
||||
(define %linux-libre-4.14-version "4.14.91")
|
||||
(define %linux-libre-4.14-hash "1xr4q6hqjg4fjcd1w8qi2x9a11ms9wvascy9b1p6czblg9j9dd6a")
|
||||
|
||||
(define-public linux-libre-4.14
|
||||
(make-linux-libre %linux-libre-4.14-version
|
||||
|
@ -433,21 +450,29 @@ It has been modified to remove all non-free binary blobs.")
|
|||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.9
|
||||
(make-linux-libre "4.9.147"
|
||||
"0gpzf04lmwxh675lam4m8pbwrgxzd7y1y50b6yfzhxa4bb3c4yfb"
|
||||
%intel-compatible-systems
|
||||
(make-linux-libre "4.9.148"
|
||||
"0yrjgvdzbcp750j4fhlxi4ia1v0fqh0y3p99wnbpfvg17j01lbjl"
|
||||
'("x86_64-linux" "i686-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-4.4
|
||||
(make-linux-libre "4.4.169"
|
||||
"1snjdih9iv3fg7f9h2r1gldcqmvzj1w398aysws4fialj488x1p4"
|
||||
%intel-compatible-systems
|
||||
'("x86_64-linux" "i686-linux")
|
||||
#:configuration-file kernel-config))
|
||||
|
||||
(define-public linux-libre-arm-generic
|
||||
(make-linux-libre %linux-libre-version
|
||||
%linux-libre-hash
|
||||
'("armhf-linux")
|
||||
#:patches %linux-libre-4.20-patches
|
||||
#:defconfig "multi_v7_defconfig"
|
||||
#:extra-version "arm-generic"))
|
||||
|
||||
(define-public linux-libre-arm-generic-4.19
|
||||
(make-linux-libre %linux-libre-4.19-version
|
||||
%linux-libre-4.19-hash
|
||||
'("armhf-linux")
|
||||
#:patches %linux-libre-4.19-patches
|
||||
#:defconfig "multi_v7_defconfig"
|
||||
#:extra-version "arm-generic"))
|
||||
|
@ -463,6 +488,14 @@ It has been modified to remove all non-free binary blobs.")
|
|||
(make-linux-libre %linux-libre-version
|
||||
%linux-libre-hash
|
||||
'("armhf-linux")
|
||||
#:patches %linux-libre-4.20-patches
|
||||
#:defconfig "omap2plus_defconfig"
|
||||
#:extra-version "arm-omap2plus"))
|
||||
|
||||
(define-public linux-libre-arm-omap2plus-4.19
|
||||
(make-linux-libre %linux-libre-4.19-version
|
||||
%linux-libre-4.19-hash
|
||||
'("armhf-linux")
|
||||
#:patches %linux-libre-4.19-patches
|
||||
#:defconfig "omap2plus_defconfig"
|
||||
#:extra-version "arm-omap2plus"))
|
||||
|
@ -4974,3 +5007,29 @@ infrastructure for in-kernel netfilter subsystems (such as nfnetlink_log,
|
|||
nfnetlink_queue, nfnetlink_conntrack) and their respective users and/or
|
||||
management tools in userspace.")
|
||||
(license license:gpl2)))
|
||||
|
||||
(define-public xfsprogs
|
||||
(package
|
||||
(name "xfsprogs")
|
||||
(version "4.19.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://kernel.org/linux/utils/fs/xfs/xfsprogs/"
|
||||
"xfsprogs-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0gs39yiyamjw516jbak3nj4dy4h2a2g48c1mmv4wbppsccvwmwh5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ; Kernel/user integration tests are in package "xfstests"
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("util-linux" ,util-linux)))
|
||||
(home-page "https://xfs.wiki.kernel.org/")
|
||||
(synopsis "XFS file system tools")
|
||||
(description "This package provides commands to create and check XFS
|
||||
file systems.")
|
||||
;; The library "libhandle" and the headers in "xfslibs-dev" are
|
||||
;; licensed under lgpl2.1. the other stuff is licensed under gpl2.
|
||||
(license (list license:gpl2 license:lgpl2.1))))
|
||||
|
|
|
@ -459,6 +459,35 @@ code analysis tools.")
|
|||
"This package provides a Python binding to LLVM for use in Numba.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define (package-elisp-from-package source-package package-name
|
||||
source-files)
|
||||
"Return a package definition named PACKAGE-NAME that packages the Emacs Lisp
|
||||
SOURCE-FILES found in SOURCE-PACKAGE."
|
||||
(let ((orig (package-source source-package)))
|
||||
(package
|
||||
(inherit source-package)
|
||||
(name package-name)
|
||||
(build-system emacs-build-system)
|
||||
(source (origin
|
||||
(method (origin-method orig))
|
||||
(uri (origin-uri orig))
|
||||
(sha256 (origin-sha256 orig))
|
||||
(file-name (string-append package-name "-"
|
||||
(package-version source-package)))
|
||||
(modules '((guix build utils)
|
||||
(srfi srfi-1)
|
||||
(ice-9 ftw)))
|
||||
(snippet
|
||||
`(let* ((source-files (quote ,source-files))
|
||||
(basenames (map basename source-files)))
|
||||
(map copy-file
|
||||
source-files basenames)
|
||||
(map delete-file-recursively
|
||||
(fold delete
|
||||
(scandir ".")
|
||||
(append '("." "..") basenames)))
|
||||
#t)))))))
|
||||
|
||||
(define-public emacs-clang-format
|
||||
(package
|
||||
(inherit clang)
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 doncatnip <gnopap@gmail.com>
|
||||
;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
|
||||
|
@ -32,7 +32,6 @@
|
|||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix utils)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (gnu packages)
|
||||
|
@ -149,9 +148,9 @@ language. It may be embedded or used as a general-purpose, stand-alone
|
|||
language.")
|
||||
(license license:x11)))
|
||||
|
||||
(define-public lua5.1-expat
|
||||
(define (make-lua-expat name lua)
|
||||
(package
|
||||
(name "lua5.1-expat")
|
||||
(name name)
|
||||
(version "1.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -163,10 +162,11 @@ language.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(lua-version ,(version-major+minor (package-version lua))))
|
||||
(list "CC=gcc"
|
||||
(string-append "LUA_LDIR=" out "/share/lua/$(LUA_V)")
|
||||
(string-append "LUA_CDIR=" out "/lib/lua/$(LUA_V)")))
|
||||
(string-append "LUA_LDIR=" out "/share/lua/" lua-version)
|
||||
(string-append "LUA_CDIR=" out "/lib/lua/" lua-version)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
|
@ -177,16 +177,22 @@ language.")
|
|||
(invoke "lua" "tests/test.lua")
|
||||
(invoke "lua" "tests/test-lom.lua"))))))
|
||||
(inputs
|
||||
`(("lua" ,lua-5.1)
|
||||
`(("lua" ,lua)
|
||||
("expat" ,expat)))
|
||||
(home-page "http://matthewwild.co.uk/projects/luaexpat/")
|
||||
(synopsis "SAX XML parser based on the Expat library")
|
||||
(description "LuaExpat is a SAX XML parser based on the Expat library.")
|
||||
(license (package-license lua-5.1))))
|
||||
|
||||
(define-public lua5.1-socket
|
||||
(define-public lua5.1-expat
|
||||
(make-lua-expat "lua5.1-expat" lua-5.1))
|
||||
|
||||
(define-public lua5.2-expat
|
||||
(make-lua-expat "lua5.2-expat" lua-5.2))
|
||||
|
||||
(define (make-lua-socket name lua)
|
||||
(package
|
||||
(name "lua5.1-socket")
|
||||
(name name)
|
||||
(version "3.0-rc1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -200,8 +206,10 @@ language.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "INSTALL_TOP=" out)))
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(lua-version ,(version-major+minor (package-version lua))))
|
||||
(list (string-append "INSTALL_TOP=" out)
|
||||
(string-append "LUAV?=" lua-version)))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
|
@ -213,7 +221,7 @@ language.")
|
|||
(invoke "lua" "test/testsrvr.lua"))
|
||||
(invoke "lua" "test/testclnt.lua"))))))
|
||||
(inputs
|
||||
`(("lua" ,lua-5.1)))
|
||||
`(("lua" ,lua)))
|
||||
(home-page "http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/")
|
||||
(synopsis "Socket library for Lua")
|
||||
(description "LuaSocket is a Lua extension library that is composed by two
|
||||
|
@ -228,11 +236,17 @@ to the functionality defined by each protocol. In addition, you will find
|
|||
that the MIME (common encodings), URL (anything you could possible want to do
|
||||
with one) and LTN12 (filters, sinks, sources and pumps) modules can be very
|
||||
handy.")
|
||||
(license (package-license lua-5.1))))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public lua5.1-filesystem
|
||||
(define-public lua5.1-socket
|
||||
(make-lua-socket "lua5.1-socket" lua-5.1))
|
||||
|
||||
(define-public lua5.2-socket
|
||||
(make-lua-socket "lua5.2-socket" lua-5.2))
|
||||
|
||||
(define (make-lua-filesystem name lua)
|
||||
(package
|
||||
(name "lua5.1-filesystem")
|
||||
(name name)
|
||||
(version "1.6.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -246,13 +260,16 @@ handy.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(list (string-append "PREFIX=" (assoc-ref %outputs "out")))
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(lua-version ,(version-major+minor (package-version lua))))
|
||||
(list (string-append "PREFIX=" out)
|
||||
(string-append "LUA_LIBDIR=" out "/lib/lua/" lua-version)))
|
||||
#:test-target "test"
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
`(("lua" ,lua-5.1)))
|
||||
`(("lua" ,lua)))
|
||||
(home-page "https://keplerproject.github.io/luafilesystem/index.html")
|
||||
(synopsis "File system library for Lua")
|
||||
(description "LuaFileSystem is a Lua library developed to complement the
|
||||
|
@ -261,9 +278,18 @@ distribution. LuaFileSystem offers a portable way to access the underlying
|
|||
directory structure and file attributes.")
|
||||
(license (package-license lua-5.1))))
|
||||
|
||||
(define-public lua5.1-sec
|
||||
(define-public lua-filesystem
|
||||
(make-lua-filesystem "lua-filesystem" lua))
|
||||
|
||||
(define-public lua5.1-filesystem
|
||||
(make-lua-filesystem "lua5.1-filesystem" lua-5.1))
|
||||
|
||||
(define-public lua5.2-filesystem
|
||||
(make-lua-filesystem "lua5.2-filesystem" lua-5.2))
|
||||
|
||||
(define (make-lua-sec name lua)
|
||||
(package
|
||||
(name "lua5.1-sec")
|
||||
(name name)
|
||||
(version "0.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
|
@ -275,27 +301,37 @@ directory structure and file attributes.")
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(lua-version ,(version-major+minor (package-version lua))))
|
||||
(list "linux"
|
||||
"CC=gcc"
|
||||
"LD=gcc"
|
||||
(string-append "LUAPATH=" out "/share/lua/5.1")
|
||||
(string-append "LUACPATH=" out "/lib/lua/5.1")))
|
||||
(string-append "LUAPATH=" out "/share/lua/" lua-version)
|
||||
(string-append "LUACPATH=" out "/lib/lua/" lua-version)))
|
||||
#:tests? #f ; no tests included
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(inputs
|
||||
`(("lua" ,lua-5.1)
|
||||
`(("lua" ,lua)
|
||||
("openssl" ,openssl)))
|
||||
(propagated-inputs
|
||||
`(("lua-socket" ,lua5.1-socket)))
|
||||
`(("lua-socket"
|
||||
,(make-lua-socket
|
||||
(format #f "lua~a-socket"
|
||||
(version-major+minor (package-version lua))) lua))))
|
||||
(home-page "https://github.com/brunoos/luasec/wiki")
|
||||
(synopsis "OpenSSL bindings for Lua")
|
||||
(description "LuaSec is a binding for OpenSSL library to provide TLS/SSL
|
||||
communication. It takes an already established TCP connection and creates a
|
||||
secure session between the peers.")
|
||||
(license (package-license lua-5.1))))
|
||||
(license license:expat)))
|
||||
|
||||
(define-public lua5.1-sec
|
||||
(make-lua-sec "lua5.1-sec" lua-5.1))
|
||||
|
||||
(define-public lua5.2-sec
|
||||
(make-lua-sec "lua5.2-sec" lua-5.2))
|
||||
|
||||
(define-public lua-lgi
|
||||
(package
|
||||
|
|
|
@ -873,3 +873,37 @@ the following advantages:
|
|||
such as online, hashing, allreduce, reductions, learning2search, active, and
|
||||
interactive learning.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-fastlmm
|
||||
(package
|
||||
(name "python2-fastlmm")
|
||||
(version "0.2.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fastlmm" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"1q8c34rpmwkfy3r4d5172pzdkpfryj561897z9r3x22gq7813x1m"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2)) ; only Python 2.7 is supported
|
||||
(propagated-inputs
|
||||
`(("python2-numpy" ,python2-numpy)
|
||||
("python2-scipy" ,python2-scipy)
|
||||
("python2-matplotlib" ,python2-matplotlib)
|
||||
("python2-pandas" ,python2-pandas)
|
||||
("python2-scikit-learn" ,python2-scikit-learn)
|
||||
("python2-pysnptools" ,python2-pysnptools)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)
|
||||
("python2-cython" ,python2-cython)
|
||||
("python2-mock" ,python2-mock)
|
||||
("python2-nose" ,python2-nose)))
|
||||
(home-page "http://research.microsoft.com/en-us/um/redmond/projects/mscompbio/fastlmm/")
|
||||
(synopsis "Perform genome-wide association studies on large data sets")
|
||||
(description
|
||||
"FaST-LMM, which stands for Factored Spectrally Transformed Linear Mixed
|
||||
Models, is a program for performing both single-SNP and SNP-set genome-wide
|
||||
association studies (GWAS) on extremely large data sets.")
|
||||
(license license:asl2.0)))
|
||||
|
|
|
@ -12,14 +12,14 @@
|
|||
;;; Copyright © 2015 Fabian Harfert <fhmgufs@web.de>
|
||||
;;; Copyright © 2016 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2016, 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017, 2018 Paul Garlick <pgarlick@tourbillion-technology.com>
|
||||
;;; Copyright © 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2017 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2019 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Dave Love <me@fx@gnu.org>
|
||||
;;; Copyright © 2018 Jan Nieuwenhuizen <janneke@gnu.org>
|
||||
|
@ -57,7 +57,6 @@
|
|||
#:use-module ((guix build utils) #:select (alist-replace))
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system ocaml)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (guix build-system ruby)
|
||||
|
@ -99,7 +98,6 @@
|
|||
#:use-module (gnu packages mpi)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages netpbm)
|
||||
#:use-module (gnu packages ocaml)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages popt)
|
||||
#:use-module (gnu packages perl)
|
||||
|
@ -398,33 +396,6 @@ differential equations, linear algebra, Fast Fourier Transforms and random
|
|||
numbers.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public ocaml-gsl
|
||||
(package
|
||||
(name "ocaml-gsl")
|
||||
(version "1.22.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://github.com/mmottl/gsl-ocaml/releases/download/"
|
||||
version "/gsl-" version ".tbz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17vcswipliq1b2idbzx1z95kskn1a4q4s5v04igilg0f7lnkaarb"))))
|
||||
(build-system ocaml-build-system)
|
||||
(inputs
|
||||
`(("gsl" ,gsl)))
|
||||
(home-page "https://mmottl.github.io/gsl-ocaml")
|
||||
(synopsis "Bindings to the GNU Scientific Library")
|
||||
(description
|
||||
"GSL-OCaml is an interface to the @dfn{GNU scientific library} (GSL) for
|
||||
the OCaml language.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public ocaml4.01-gsl
|
||||
(package-with-ocaml4.01 ocaml-gsl))
|
||||
|
||||
(define-public glpk
|
||||
(package
|
||||
(name "glpk")
|
||||
|
@ -1484,11 +1455,10 @@ can solve two kinds of problems:
|
|||
(modify-phases %standard-phases
|
||||
(add-after 'configure 'configure-makeinfo
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "libinterp/corefcn/help.cc"
|
||||
(("Vmakeinfo_program = \"makeinfo\"")
|
||||
(string-append "Vmakeinfo_program = \""
|
||||
(assoc-ref inputs "texinfo")
|
||||
"/bin/makeinfo\"")))
|
||||
(substitute* "libinterp/corefcn/help.h"
|
||||
(("\"makeinfo\"")
|
||||
(string-append
|
||||
"\"" (assoc-ref inputs "texinfo") "/bin/makeinfo\"")))
|
||||
#t)))))
|
||||
(home-page "https://www.gnu.org/software/octave/")
|
||||
(synopsis "High-level language for numerical computation")
|
||||
|
@ -4019,64 +3989,6 @@ as equations, scalars, vectors, and matrices.")
|
|||
theories} (SMT) solver. It provides a C/C++ API, as well as Python bindings.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public cubicle
|
||||
(package
|
||||
(name "cubicle")
|
||||
(version "1.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cubicle.lri.fr/cubicle-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10kk80jdmpdvql88sdjsh7vqzlpaphd8vip2lp47aarxjkwjlz1q"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("automake" ,automake)
|
||||
("ocaml" ,ocaml)
|
||||
("which" ,(@@ (gnu packages base) which))))
|
||||
(propagated-inputs
|
||||
`(("ocaml-num" ,ocaml-num)
|
||||
("z3" ,z3)))
|
||||
(arguments
|
||||
`(#:configure-flags (list "--with-z3")
|
||||
#:make-flags (list "QUIET=")
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'configure-for-release
|
||||
(lambda _
|
||||
(substitute* "Makefile.in"
|
||||
(("SVNREV=") "#SVNREV="))
|
||||
#t))
|
||||
(add-before 'configure 'fix-/bin/sh
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("-/bin/sh") (string-append "-" (which "sh"))))
|
||||
#t))
|
||||
(add-before 'configure 'fix-smt-z3wrapper.ml
|
||||
(lambda _
|
||||
(substitute* "Makefile.in"
|
||||
(("\\\\n") ""))
|
||||
#t))
|
||||
(add-before 'configure 'fix-ocaml-num
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "Makefile.in"
|
||||
(("= \\$\\(FUNCTORYLIB\\)")
|
||||
(string-append "= -I "
|
||||
(assoc-ref inputs "ocaml-num")
|
||||
"/lib/ocaml/site-lib"
|
||||
" $(FUNCTORYLIB)")))
|
||||
#t)))))
|
||||
(home-page "http://cubicle.lri.fr/")
|
||||
(synopsis "Model checker for array-based systems")
|
||||
(description "Cubicle is a model checker for verifying safety properties
|
||||
of array-based systems. This is a syntactically restricted class of
|
||||
parametrized transition systems with states represented as arrays indexed by
|
||||
an arbitrary number of processes. Cache coherence protocols and mutual
|
||||
exclusion algorithms are typical examples of such systems.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public elemental
|
||||
(package
|
||||
(name "elemental")
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
;;; Copyright © 2015, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca>
|
||||
;;; Copyright © 2016, 2017, 2018 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2017 Mekeor Melire <mekeor.melire@gmail.com>
|
||||
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
|
@ -96,6 +96,7 @@
|
|||
#:use-module (guix build-system trivial)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix hg-download)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
@ -575,7 +576,7 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
|
|||
(define-public gajim
|
||||
(package
|
||||
(name "gajim")
|
||||
(version "1.1.0")
|
||||
(version "1.1.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gajim.org/downloads/"
|
||||
|
@ -583,11 +584,10 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
|
|||
"/gajim-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qis8vs7y7g1zn5i5dshwrszidc22qpflycwb4nixvp9lbmkq0va"))))
|
||||
"09n4445hclqwfnk2h9cxvsxaixza4cpgb5rp4najdfc2jgg2msb3"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test_nogui"
|
||||
#:phases
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'add-plugin-dirs
|
||||
(lambda _
|
||||
|
@ -595,6 +595,9 @@ was initially a fork of xmpppy, but uses non-blocking sockets.")
|
|||
(("_paths\\['PLUGINS_USER'\\]")
|
||||
"_paths['PLUGINS_USER'],os.getenv('GAJIM_PLUGIN_PATH')"))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "python" "./setup.py" "test" "-s" "test.no_gui")))
|
||||
(add-after 'install 'wrap-gi-typelib-path
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
|
@ -678,7 +681,7 @@ end-to-end encryption support; XML console.")
|
|||
(define-public gajim-omemo
|
||||
(package
|
||||
(name "gajim-omemo")
|
||||
(version "2.6.23")
|
||||
(version "2.6.26")
|
||||
(source (origin
|
||||
(method url-fetch/zipbomb)
|
||||
(uri (string-append
|
||||
|
@ -686,7 +689,7 @@ end-to-end encryption support; XML console.")
|
|||
version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"134zbscbcnhx4smad0ryvx3ngkqlsspafqf0kk8y2d3vcd9bf3pa"))))
|
||||
"0amqlmnsijz60s0wwkp7bzix60v5p6khqcdsd6qcwawxq5pdayw0"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils))
|
||||
|
@ -780,17 +783,17 @@ a graphical desktop environment like GNOME.")
|
|||
(define-public prosody
|
||||
(package
|
||||
(name "prosody")
|
||||
(version "0.10.2")
|
||||
(version "0.11.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://prosody.im/downloads/source/"
|
||||
"prosody-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13knr7izscw0zx648b9582dx11aap4cq9bzfiqh5ykd7wwsz1dbm"))))
|
||||
"1ak5bkx09kscyifxhzybgp5a73jr8nki6xi05c59wwlq0wzw9gli"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no "check" target
|
||||
`(#:tests? #f ;tests require "busted"
|
||||
#:configure-flags (list "--no-example-certs")
|
||||
#:modules ((ice-9 match)
|
||||
(srfi srfi-1)
|
||||
|
@ -807,7 +810,7 @@ a graphical desktop environment like GNOME.")
|
|||
#t))
|
||||
(add-after 'unpack 'fix-makefile
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(substitute* "GNUmakefile"
|
||||
;; prosodyctl needs to read the configuration file.
|
||||
(("^INSTALLEDCONFIG =.*") "INSTALLEDCONFIG = /etc/prosody\n")
|
||||
;; prosodyctl needs a place to put auto-generated certificates.
|
||||
|
@ -827,15 +830,15 @@ a graphical desktop environment like GNOME.")
|
|||
(lua-path (string-join
|
||||
(map (lambda (path)
|
||||
(string-append
|
||||
path "/share/lua/5.1/?.lua;"
|
||||
path "/share/lua/5.1/?/?.lua"))
|
||||
path "/share/lua/5.2/?.lua;"
|
||||
path "/share/lua/5.2/?/?.lua"))
|
||||
(cons out deps))
|
||||
";"))
|
||||
(lua-cpath (string-join
|
||||
(map (lambda (path)
|
||||
(string-append
|
||||
path "/lib/lua/5.1/?.so;"
|
||||
path "/lib/lua/5.1/?/?.so"))
|
||||
path "/lib/lua/5.2/?.so;"
|
||||
path "/lib/lua/5.2/?/?.so"))
|
||||
(cons out deps))
|
||||
";"))
|
||||
(openssl (assoc-ref inputs "openssl"))
|
||||
|
@ -853,14 +856,12 @@ a graphical desktop environment like GNOME.")
|
|||
(inputs
|
||||
`(("libidn" ,libidn)
|
||||
("openssl" ,openssl)
|
||||
;; Lua 5.1 is still recommended for production usage.
|
||||
;; See https://prosody.im/doc/packagers.
|
||||
("lua" ,lua-5.1)
|
||||
("lua5.1-bitop" ,lua5.1-bitop)
|
||||
("lua5.1-expat" ,lua5.1-expat)
|
||||
("lua5.1-socket" ,lua5.1-socket)
|
||||
("lua5.1-filesystem" ,lua5.1-filesystem)
|
||||
("lua5.1-sec" ,lua5.1-sec)))
|
||||
("lua" ,lua-5.2)
|
||||
("lua5.2-bitop" ,lua5.2-bitop)
|
||||
("lua5.2-expat" ,lua5.2-expat)
|
||||
("lua5.2-socket" ,lua5.2-socket)
|
||||
("lua5.2-filesystem" ,lua5.2-filesystem)
|
||||
("lua5.2-sec" ,lua5.2-sec)))
|
||||
(home-page "https://prosody.im/")
|
||||
(synopsis "Jabber (XMPP) server")
|
||||
(description "Prosody is a modern XMPP communication server. It aims to
|
||||
|
@ -870,6 +871,38 @@ system on which to rapidly develop added functionality, or prototype new
|
|||
protocols.")
|
||||
(license license:x11)))
|
||||
|
||||
(define-public prosody-http-upload
|
||||
(let ((changeset "765735bb590b")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "prosody-http-upload")
|
||||
(version (string-append "0-" revision "." (string-take changeset 7)))
|
||||
(source (origin
|
||||
(method hg-fetch)
|
||||
(uri (hg-reference
|
||||
(url "https://hg.prosody.im/prosody-modules/")
|
||||
(changeset changeset)))
|
||||
(file-name (string-append name "-" version "-checkout"))
|
||||
(sha256
|
||||
(base32
|
||||
"142wrcism70nf8ffahhd961cqg2pi1h7ic8adfs3zwh0j3pnf41f"))))
|
||||
(build-system trivial-build-system)
|
||||
(arguments
|
||||
'(#:modules ((guix build utils))
|
||||
#:builder
|
||||
(begin
|
||||
(use-modules (guix build utils))
|
||||
(let ((out (assoc-ref %outputs "out"))
|
||||
(source (assoc-ref %build-inputs "source")))
|
||||
(with-directory-excursion (in-vicinity source "mod_http_upload")
|
||||
(install-file "mod_http_upload.lua" out))
|
||||
#t))))
|
||||
(home-page "https://modules.prosody.im/mod_http_upload.html")
|
||||
(synopsis "XEP-0363: Allow clients to upload files over HTTP")
|
||||
(description "This module implements XEP-0363: it allows clients to
|
||||
upload files over HTTP.")
|
||||
(license (package-license prosody)))))
|
||||
|
||||
(define-public libtoxcore
|
||||
(let ((revision "2")
|
||||
(commit "bf69b54f64003d160d759068f4816b2d9b2e1e21"))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014, 2015, 2017 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -18,7 +18,7 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages moe)
|
||||
#:use-module ((guix licenses) #:select (gpl3+))
|
||||
#:use-module ((guix licenses) #:select (gpl2+))
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (guix packages)
|
||||
|
@ -28,7 +28,7 @@
|
|||
(define-public moe
|
||||
(package
|
||||
(name "moe")
|
||||
(version "1.9")
|
||||
(version "1.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -36,7 +36,7 @@
|
|||
version ".tar.lz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wsfzy0iia0c89wnx1ilzw54wqcmlp2nz8mkpvc393z0zagrx48q"))))
|
||||
"0fymywdiy9xqppcmvgs7mf7d3gfrky3jp5jkxs2l3v93asml9zcc"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("lzip" ,lzip)))
|
||||
(inputs `(("ncurses" ,ncurses)))
|
||||
|
@ -51,4 +51,4 @@ movements while combinations with the Control key are for commands
|
|||
that will modify the text. Moe features multiple windows, unlimited
|
||||
undo/redo, unlimited line length, global search and replace, and
|
||||
more.")
|
||||
(license gpl3+)))
|
||||
(license gpl2+)))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015 Paul van der Walt <paul@denknerd.org>
|
||||
;;; Copyright © 2016 Al McElrath <hello@yrns.org>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
|
@ -2045,7 +2045,7 @@ capabilities, custom envelopes, effects, etc.")
|
|||
(define-public yoshimi
|
||||
(package
|
||||
(name "yoshimi")
|
||||
(version "1.5.9")
|
||||
(version "1.5.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/yoshimi/"
|
||||
|
@ -2053,7 +2053,7 @@ capabilities, custom envelopes, effects, etc.")
|
|||
"/yoshimi-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1nqwxwq6814m860zrh33r85vdyi2bgkvjg5372h3ngcdmxnb7wr0"))))
|
||||
"0mazzn5pc4xnjci3yy1yfsx9l05gkxqzkmscaq1h75jpa7qfsial"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; there are no tests
|
||||
|
@ -2786,7 +2786,7 @@ for improved Amiga ProTracker 2/3 compatibility.")
|
|||
(define-public schismtracker
|
||||
(package
|
||||
(name "schismtracker")
|
||||
(version "20180810")
|
||||
(version "20181223")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2795,7 +2795,7 @@ for improved Amiga ProTracker 2/3 compatibility.")
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0cwp5fna14hjrlf652l96ja5cjq63is3cwg6pp4wbpx43mb7qb2d"))
|
||||
"18k5j10zq39y2q294avdmar87x93k57wqmq8bpz562hdqki2mz1l"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove use of __DATE__ and __TIME__ for reproducibility.
|
||||
|
@ -3610,7 +3610,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
|
|||
(define-public musescore
|
||||
(package
|
||||
(name "musescore")
|
||||
(version "2.3.2")
|
||||
(version "3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -3619,7 +3619,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ncv0xfmq87plqa43cm0fpidlwzz1nq5s7h7139llrbc36yp3pr1"))
|
||||
"0g8n8xpw5d6wh8bwbvy12sinl9i0ir009sr28i4izr28lr4x8v50"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Un-bundle OpenSSL and remove unused libraries.
|
||||
|
@ -3634,27 +3634,21 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
|
|||
"thirdparty/openssl"
|
||||
"thirdparty/portmidi"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:make-flags
|
||||
`(,(string-append "PREFIX=" (assoc-ref %outputs "out"))
|
||||
"USE_SYSTEM_FREETYPE=ON"
|
||||
"DOWNLOAD_SOUNDFONT=OFF"
|
||||
;; The following is not supported since Qt 5.11. May be removed in
|
||||
;; a future release.
|
||||
"BUILD_WEBKIT=OFF")
|
||||
;; There are tests, but no simple target to run. The command
|
||||
;; used to run them is:
|
||||
`(#:configure-flags
|
||||
`("-DUSE_SYSTEM_FREETYPE=ON"
|
||||
"-DBUILD_WEBENGINE=OFF"
|
||||
"-DDOWNLOAD_SOUNDFONT=OFF")
|
||||
;; There are tests, but no simple target to run. The command used to
|
||||
;; run them is:
|
||||
;;
|
||||
;; make debug && sudo make installdebug && cd \
|
||||
;; build.debug/mtest && make && ctest
|
||||
;;
|
||||
;; Basically, it requires to start a whole new build process.
|
||||
;; So we simply skip them.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
#:tests? #f))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("freetype" ,freetype)
|
||||
|
@ -3673,8 +3667,7 @@ audio samples and various soft sythesizers. It can receive input from a MIDI ke
|
|||
("qtsvg" ,qtsvg)
|
||||
("qtxmlpatterns" ,qtxmlpatterns)))
|
||||
(native-inputs
|
||||
`(("cmake" ,cmake)
|
||||
("pkg-config" ,pkg-config)
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("qttools" ,qttools)))
|
||||
(synopsis "Music composition and notation software")
|
||||
(description "MuseScore is a music score typesetter. Its main purpose is
|
||||
|
|
|
@ -14,8 +14,8 @@
|
|||
;;; Copyright © 2016, 2017 Pjotr Prins <pjotr.guix@thebird.nl>
|
||||
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2017 Gábor Boskovits <boskovits@gmail.com>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2018 Adam Van Ymeren <adam@vany.ca>
|
||||
|
@ -1712,15 +1712,17 @@ interface and a programmable text output for scripting.")
|
|||
(define-public libnet
|
||||
(package
|
||||
(name "libnet")
|
||||
(version "1.1.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/sam-github/libnet/"
|
||||
"archive/libnet-" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l4gbzzvr199fzczzricjz7b825i7dlk6sgl5p5alnkcagmq0xys"))))
|
||||
(version "1.2-rc3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sam-github/libnet")
|
||||
(commit (string-append "libnet-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0cy8w4g5rv963v4p6iq3333kxgdddx2lywp70xf62553a25xhhs4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -1860,20 +1862,21 @@ file for more details.")
|
|||
(name "amule")
|
||||
(version "2.3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/amule-project/amule/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/amule-project/amule")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1wvcj0n9xz03xz5c2xwp6dwfp7sqjhhwbki3m0lwikskpn9lkzk2"))
|
||||
"010wxm6g9f92x6fympj501zbnjka32rzbx0sk3a2y4zpih5d2nsn"))
|
||||
;; Patch for adopting crypto++ >= 6.0.
|
||||
(patches (search-patches "amule-crypto-6.patch"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'bootstrap) ; bootstrap phase runs too early.
|
||||
(add-after 'patch-source-shebangs 'autogen
|
||||
(lambda _
|
||||
(invoke "sh" "autogen.sh")
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Peter Kreye <kreyepr@gmail.com>
|
||||
;;; Copyright © 2018 Gabriel Hondet <gabrielhondet@gmail.com>
|
||||
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -47,6 +48,7 @@
|
|||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages m4)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages pcre)
|
||||
|
@ -65,6 +67,7 @@
|
|||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix build-system dune)
|
||||
#:use-module (guix build-system emacs)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system ocaml)
|
||||
#:use-module (guix download)
|
||||
|
@ -633,144 +636,6 @@ arbitrary-precision integer and rational arithmetic that used to be part of
|
|||
the OCaml core distribution.")
|
||||
(license license:lgpl2.1+))); with linking exception
|
||||
|
||||
(define-public coq
|
||||
(package
|
||||
(name "coq")
|
||||
(version "8.8.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/coq/coq/archive/V"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0i2hs0i6rp27cy8zd0mx7jscqw5cx2y0diw0pxgij66s3yr47y7r"))))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "COQPATH")
|
||||
(files (list "lib/coq/user-contrib")))))
|
||||
(build-system ocaml-build-system)
|
||||
(inputs
|
||||
`(("lablgtk" ,lablgtk)
|
||||
("python" ,python-2)
|
||||
("camlp5" ,camlp5)
|
||||
("ocaml-num" ,ocaml-num)))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'configure
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(mandir (string-append out "/share/man"))
|
||||
(browser "icecat -remote \"OpenURL(%s,new-tab)\""))
|
||||
(invoke "./configure"
|
||||
"-prefix" out
|
||||
"-mandir" mandir
|
||||
"-browser" browser
|
||||
"-coqide" "opt"))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "make"
|
||||
"-j" (number->string (parallel-job-count))
|
||||
"world")))
|
||||
(delete 'check)
|
||||
(add-after 'install 'check
|
||||
(lambda _
|
||||
(with-directory-excursion "test-suite"
|
||||
;; These two tests fail.
|
||||
;; This one fails because the output is not formatted as expected.
|
||||
(delete-file-recursively "coq-makefile/timing")
|
||||
;; This one fails because we didn't build coqtop.byte.
|
||||
(delete-file-recursively "coq-makefile/findlib-package")
|
||||
(invoke "make")))))))
|
||||
(home-page "https://coq.inria.fr")
|
||||
(synopsis "Proof assistant for higher-order logic")
|
||||
(description
|
||||
"Coq is a proof assistant for higher-order logic, which allows the
|
||||
development of computer programs consistent with their formal specification.
|
||||
It is developed using Objective Caml and Camlp5.")
|
||||
;; The code is distributed under lgpl2.1.
|
||||
;; Some of the documentation is distributed under opl1.0+.
|
||||
(license (list license:lgpl2.1 license:opl1.0+))))
|
||||
|
||||
(define-public proof-general
|
||||
(package
|
||||
(name "proof-general")
|
||||
(version "4.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://proofgeneral.inf.ed.ac.uk/releases/"
|
||||
"ProofGeneral-" version ".tgz"))
|
||||
(sha256
|
||||
(base32
|
||||
"09qb0myq66fw17v4ziz401ilsb5xlxz1nl2wsp69d0vrfy0bcrrm"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("which" ,which)
|
||||
("emacs" ,emacs-minimal)
|
||||
("texinfo" ,texinfo)))
|
||||
(inputs
|
||||
`(("host-emacs" ,emacs)
|
||||
("perl" ,perl)
|
||||
("coq" ,coq)))
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
#:make-flags (list (string-append "PREFIX=" %output)
|
||||
(string-append "DEST_PREFIX=" %output))
|
||||
#:modules ((guix build gnu-build-system)
|
||||
(guix build utils)
|
||||
(guix build emacs-utils))
|
||||
#:imported-modules (,@%gnu-build-system-modules
|
||||
(guix build emacs-utils))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-after 'unpack 'disable-byte-compile-error-on-warn
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("\\(setq byte-compile-error-on-warn t\\)")
|
||||
"(setq byte-compile-error-on-warn nil)"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-hardcoded-paths
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out"))
|
||||
(coq (assoc-ref inputs "coq"))
|
||||
(emacs (assoc-ref inputs "host-emacs")))
|
||||
(define (coq-prog name)
|
||||
(string-append coq "/bin/" name))
|
||||
(emacs-substitute-variables "coq/coq.el"
|
||||
("coq-prog-name" (coq-prog "coqtop"))
|
||||
("coq-compiler" (coq-prog "coqc"))
|
||||
("coq-dependency-analyzer" (coq-prog "coqdep")))
|
||||
(substitute* "Makefile"
|
||||
(("/sbin/install-info") "install-info"))
|
||||
(substitute* "bin/proofgeneral"
|
||||
(("^PGHOMEDEFAULT=.*" all)
|
||||
(string-append all
|
||||
"PGHOME=$PGHOMEDEFAULT\n"
|
||||
"EMACS=" emacs "/bin/emacs")))
|
||||
#t)))
|
||||
(add-after 'unpack 'clean
|
||||
(lambda _
|
||||
;; Delete the pre-compiled elc files for Emacs 23.
|
||||
(zero? (system* "make" "clean"))))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key make-flags #:allow-other-keys)
|
||||
;; XXX FIXME avoid building/installing pdf files,
|
||||
;; due to unresolved errors building them.
|
||||
(substitute* "Makefile"
|
||||
((" [^ ]*\\.pdf") ""))
|
||||
(zero? (apply system* "make" "install-doc"
|
||||
make-flags)))))))
|
||||
(home-page "http://proofgeneral.inf.ed.ac.uk/")
|
||||
(synopsis "Generic front-end for proof assistants based on Emacs")
|
||||
(description
|
||||
"Proof General is a major mode to turn Emacs into an interactive proof
|
||||
assistant to write formal mathematical proofs using a variety of theorem
|
||||
provers.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-tuareg
|
||||
(package
|
||||
(name "emacs-tuareg")
|
||||
|
@ -4273,6 +4138,7 @@ and 4 (random based) according to RFC 4122.")
|
|||
(setenv "CONFIG_SHELL" (string-append (assoc-ref inputs "bash")
|
||||
"/bin/sh")))))))
|
||||
(inputs `(("lablgtk" ,lablgtk)))
|
||||
(properties `((upstream-name . "ocamlgraph")))
|
||||
(home-page "http://ocamlgraph.lri.fr/")
|
||||
(synopsis "Graph library for OCaml")
|
||||
(description "OCamlgraph is a generic graph library for OCaml.")
|
||||
|
@ -4712,285 +4578,6 @@ OCaml projects that contain C stubs.")
|
|||
cross-platform SDL C library.")
|
||||
(license license:isc)))
|
||||
|
||||
(define-public coq-flocq
|
||||
(package
|
||||
(name "coq-flocq")
|
||||
(version "2.6.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
;; Use the ‘Latest version’ link for a stable URI across releases.
|
||||
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
|
||||
"file/37454/flocq-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"06msp1fwpqv6p98a3i1nnkj7ch9rcq3rm916yxq8dxf51lkghrin"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
("which" ,which)
|
||||
("coq" ,coq)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--libdir=" (assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib/Flocq"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-remake
|
||||
(lambda _
|
||||
(substitute* "remake.cpp"
|
||||
(("/bin/sh") (which "sh")))
|
||||
#t))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(invoke "./remake")
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "./remake" "check")
|
||||
#t))
|
||||
;; TODO: requires coq-gappa and coq-interval.
|
||||
;(invoke "./remake" "check-more")
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(invoke "./remake" "install")
|
||||
#t)))))
|
||||
(home-page "http://flocq.gforge.inria.fr/")
|
||||
(synopsis "Floating-point formalization for the Coq system")
|
||||
(description "Flocq (Floats for Coq) is a floating-point formalization for
|
||||
the Coq system. It provides a comprehensive library of theorems on a multi-radix
|
||||
multi-precision arithmetic. It also supports efficient numerical computations
|
||||
inside Coq.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public coq-gappa
|
||||
(package
|
||||
(name "coq-gappa")
|
||||
(version "1.3.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gforge.inria.fr/frs/download.php/file/36397/gappa-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"19kg2zldaqs4smy7bv9hp650sqg46xbx1ss7jnyagpxdscwn9apd"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
("which" ,which)
|
||||
("coq" ,coq)
|
||||
("bison" ,bison)
|
||||
("flex" ,flex)))
|
||||
(inputs
|
||||
`(("gmp" ,gmp)
|
||||
("mpfr" ,mpfr)
|
||||
("boost" ,boost)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--libdir=" (assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib/Gappa"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-remake
|
||||
(lambda _
|
||||
(substitute* "remake.cpp"
|
||||
(("/bin/sh") (which "sh")))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(zero? (system* "./remake"))))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "./remake" "check"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(zero? (system* "./remake" "install")))))))
|
||||
(home-page "http://gappa.gforge.inria.fr/")
|
||||
(synopsis "Verify and formally prove properties on numerical programs")
|
||||
(description "Gappa is a tool intended to help verifying and formally proving
|
||||
properties on numerical programs dealing with floating-point or fixed-point
|
||||
arithmetic. It has been used to write robust floating-point filters for CGAL
|
||||
and it is used to certify elementary functions in CRlibm. While Gappa is
|
||||
intended to be used directly, it can also act as a backend prover for the Why3
|
||||
software verification plateform or as an automatic tactic for the Coq proof
|
||||
assistant.")
|
||||
(license (list license:gpl2+ license:cecill))));either gpl2+ or cecill
|
||||
|
||||
(define-public coq-mathcomp
|
||||
(package
|
||||
(name "coq-mathcomp")
|
||||
(version "1.7.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/math-comp/math-comp/archive/mathcomp-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05zgyi4wmasi1rcyn5jq42w0bi9713q9m8dl1fdgl66nmacixh39"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
("which" ,which)
|
||||
("coq" ,coq)))
|
||||
(arguments
|
||||
`(#:tests? #f; No need to test formally-verified programs :)
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'build 'chdir
|
||||
(lambda _
|
||||
(chdir "mathcomp")))
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(setenv "COQLIB" (string-append (assoc-ref outputs "out") "/lib/coq/"))
|
||||
(zero? (system* "make" "-f" "Makefile.coq"
|
||||
(string-append "COQLIB=" (assoc-ref outputs "out")
|
||||
"/lib/coq/")
|
||||
"install")))))))
|
||||
(home-page "https://math-comp.github.io/math-comp/")
|
||||
(synopsis "Mathematical Components for Coq")
|
||||
(description "Mathematical Components for Coq has its origins in the formal
|
||||
proof of the Four Colour Theorem. Since then it has grown to cover many areas
|
||||
of mathematics and has been used for large scale projects like the formal proof
|
||||
of the Odd Order Theorem.
|
||||
|
||||
The library is written using the Ssreflect proof language that is an integral
|
||||
part of the distribution.")
|
||||
(license license:cecill-b)))
|
||||
|
||||
(define-public coq-coquelicot
|
||||
(package
|
||||
(name "coq-coquelicot")
|
||||
(version "3.0.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
|
||||
"file/37045/coquelicot-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hsyhsy2lwqxxx2r8xgi5csmirss42lp9bkb9yy35mnya0w78c8r"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
("which" ,which)
|
||||
("coq" ,coq)))
|
||||
(propagated-inputs
|
||||
`(("mathcomp" ,coq-mathcomp)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--libdir=" (assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib/Coquelicot"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-coq8.8
|
||||
(lambda _
|
||||
; appcontext has been removed from coq 8.8
|
||||
(substitute* "theories/AutoDerive.v"
|
||||
(("appcontext") "context"))
|
||||
#t))
|
||||
(add-before 'configure 'fix-remake
|
||||
(lambda _
|
||||
(substitute* "remake.cpp"
|
||||
(("/bin/sh") (which "sh")))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(zero? (system* "./remake"))))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "./remake" "check"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(zero? (system* "./remake" "install")))))))
|
||||
(home-page "http://coquelicot.saclay.inria.fr/index.html")
|
||||
(synopsis "Coq library for Reals")
|
||||
(description "Coquelicot is an easier way of writing formulas and theorem
|
||||
statements, achieved by relying on total functions in place of dependent types
|
||||
for limits, derivatives, integrals, power series, and so on. To help with the
|
||||
proof process, the library comes with a comprehensive set of theorems that cover
|
||||
not only these notions, but also some extensions such as parametric integrals,
|
||||
two-dimensional differentiability, asymptotic behaviors. It also offers some
|
||||
automations for performing differentiability proofs. Moreover, Coquelicot is a
|
||||
conservative extension of Coq's standard library and provides correspondence
|
||||
theorems between the two libraries.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public coq-bignums
|
||||
(package
|
||||
(name "coq-bignums")
|
||||
(version "8.8.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/coq/bignums/archive/V"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08m1cmq4hkaf4sb0vy978c11rgzvds71cphyadmr2iirpr5815r0"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
("coq" ,coq)))
|
||||
(inputs
|
||||
`(("camlp5" ,camlp5)))
|
||||
(arguments
|
||||
`(#:tests? #f; No test target
|
||||
#:make-flags
|
||||
(list (string-append "COQLIBINSTALL=" (assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure))))
|
||||
(home-page "https://github.com/coq/bignums")
|
||||
(synopsis "Coq library for arbitrary large numbers")
|
||||
(description "Bignums is a coq library of arbitrary large numbers. It
|
||||
provides BigN, BigZ, BigQ that used to be part of Coq standard library.")
|
||||
(license license:lgpl2.1+)))
|
||||
|
||||
(define-public coq-interval
|
||||
(package
|
||||
(name "coq-interval")
|
||||
(version "3.3.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://gforge.inria.fr/frs/download.php/"
|
||||
"file/37077/interval-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"08fdcf3hbwqphglvwprvqzgkg0qbimpyhnqsgv3gac4y1ap0f903"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("ocaml" ,ocaml)
|
||||
("which" ,which)
|
||||
("coq" ,coq)))
|
||||
(propagated-inputs
|
||||
`(("flocq" ,coq-flocq)
|
||||
("bignums" ,coq-bignums)
|
||||
("coquelicot" ,coq-coquelicot)
|
||||
("mathcomp" ,coq-mathcomp)))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--libdir=" (assoc-ref %outputs "out")
|
||||
"/lib/coq/user-contrib/Gappa"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'fix-remake
|
||||
(lambda _
|
||||
(substitute* "remake.cpp"
|
||||
(("/bin/sh") (which "sh")))))
|
||||
(replace 'build
|
||||
(lambda _
|
||||
(zero? (system* "./remake"))))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "./remake" "check"))))
|
||||
(replace 'install
|
||||
(lambda _
|
||||
(zero? (system* "./remake" "install")))))))
|
||||
(home-page "http://coq-interval.gforge.inria.fr/")
|
||||
(synopsis "Coq tactics to simplify inequality proofs")
|
||||
(description "Interval provides vernacular files containing tactics for
|
||||
simplifying the proofs of inequalities on expressions of real numbers for the
|
||||
Coq proof assistant.")
|
||||
(license license:cecill-c)))
|
||||
|
||||
(define-public dedukti
|
||||
(package
|
||||
(name "dedukti")
|
||||
|
@ -5045,6 +4632,62 @@ rules. This system is not designed to develop proofs, but to check proofs
|
|||
developed in other systems. In particular, it enjoys a minimalistic syntax.")
|
||||
(license license:cecill-c)))
|
||||
|
||||
(define-public emacs-dedukti-mode
|
||||
(let ((commit "d7c3505a1046187de3c3aeb144455078d514594e"))
|
||||
(package
|
||||
(name "emacs-dedukti-mode")
|
||||
(version (git-version "0" "0" commit))
|
||||
(home-page "https://github.com/rafoo/dedukti-mode")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1842wikq24c8rg0ac84vb1qby9ng1nssxswyyni4kq85lng5lcrp"))
|
||||
(file-name (git-file-name name version))))
|
||||
(inputs
|
||||
`(("dedukti" ,dedukti)))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'install 'patch-dkpath
|
||||
(lambda _
|
||||
(let ((dkcheck-path (which "dkcheck")))
|
||||
(substitute* "dedukti-mode.el"
|
||||
(("dedukti-path \"(.*)\"")
|
||||
(string-append "dedukti-path \"" dkcheck-path "\"")))))))))
|
||||
(synopsis "Emacs major mode for Dedukti files")
|
||||
(description "This package provides an Emacs major mode for editing
|
||||
Dedukti files.")
|
||||
(license license:cecill-b))))
|
||||
|
||||
(define-public emacs-flycheck-dedukti
|
||||
(let ((commit "3dbff5646355f39d57a3ec514f560a6b0082a1cd"))
|
||||
(package
|
||||
(name "emacs-flycheck-dedukti")
|
||||
(version (git-version "0" "0" commit))
|
||||
(home-page "https://github.com/rafoo/flycheck-dedukti")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url home-page)
|
||||
(commit commit)))
|
||||
(sha256
|
||||
(base32
|
||||
"1ffpxnwl3wx244n44mbw81g00nhnykd0lnid29f4aw1av7w6nw8l"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(inputs
|
||||
`(("dedukti-mode" ,emacs-dedukti-mode)
|
||||
("flycheck-mode" ,emacs-flycheck)))
|
||||
(synopsis "Flycheck integration for the dedukti language")
|
||||
(description "This package provides a frontend for Flycheck to perform
|
||||
syntax checking on dedukti files.")
|
||||
(license license:cecill-b))))
|
||||
|
||||
(define-public ocaml-biniou
|
||||
(package
|
||||
(name "ocaml-biniou")
|
||||
|
@ -5105,3 +4748,88 @@ speedup, polymorphic variants and optional syntax for tuples and variants.
|
|||
yojson package. The program @code{atdgen} can be used to derive OCaml-JSON
|
||||
serializers and deserializers from type definitions.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public ocaml-gsl
|
||||
(package
|
||||
(name "ocaml-gsl")
|
||||
(version "1.22.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append
|
||||
"https://github.com/mmottl/gsl-ocaml/releases/download/"
|
||||
version "/gsl-" version ".tbz"))
|
||||
(sha256
|
||||
(base32
|
||||
"17vcswipliq1b2idbzx1z95kskn1a4q4s5v04igilg0f7lnkaarb"))))
|
||||
(build-system ocaml-build-system)
|
||||
(inputs
|
||||
`(("gsl" ,gsl)))
|
||||
(home-page "https://mmottl.github.io/gsl-ocaml")
|
||||
(synopsis "Bindings to the GNU Scientific Library")
|
||||
(description
|
||||
"GSL-OCaml is an interface to the @dfn{GNU scientific library} (GSL) for
|
||||
the OCaml language.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public ocaml4.01-gsl
|
||||
(package-with-ocaml4.01 ocaml-gsl))
|
||||
|
||||
(define-public cubicle
|
||||
(package
|
||||
(name "cubicle")
|
||||
(version "1.1.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cubicle.lri.fr/cubicle-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"10kk80jdmpdvql88sdjsh7vqzlpaphd8vip2lp47aarxjkwjlz1q"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("automake" ,automake)
|
||||
("ocaml" ,ocaml)
|
||||
("which" ,(@@ (gnu packages base) which))))
|
||||
(propagated-inputs
|
||||
`(("ocaml-num" ,ocaml-num)
|
||||
("z3" ,z3)))
|
||||
(arguments
|
||||
`(#:configure-flags (list "--with-z3")
|
||||
#:make-flags (list "QUIET=")
|
||||
#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'configure-for-release
|
||||
(lambda _
|
||||
(substitute* "Makefile.in"
|
||||
(("SVNREV=") "#SVNREV="))
|
||||
#t))
|
||||
(add-before 'configure 'fix-/bin/sh
|
||||
(lambda _
|
||||
(substitute* "configure"
|
||||
(("-/bin/sh") (string-append "-" (which "sh"))))
|
||||
#t))
|
||||
(add-before 'configure 'fix-smt-z3wrapper.ml
|
||||
(lambda _
|
||||
(substitute* "Makefile.in"
|
||||
(("\\\\n") ""))
|
||||
#t))
|
||||
(add-before 'configure 'fix-ocaml-num
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "Makefile.in"
|
||||
(("= \\$\\(FUNCTORYLIB\\)")
|
||||
(string-append "= -I "
|
||||
(assoc-ref inputs "ocaml-num")
|
||||
"/lib/ocaml/site-lib"
|
||||
" $(FUNCTORYLIB)")))
|
||||
#t)))))
|
||||
(home-page "http://cubicle.lri.fr/")
|
||||
(synopsis "Model checker for array-based systems")
|
||||
(description "Cubicle is a model checker for verifying safety properties
|
||||
of array-based systems. This is a syntactically restricted class of
|
||||
parametrized transition systems with states represented as arrays indexed by
|
||||
an arbitrary number of processes. Cache coherence protocols and mutual
|
||||
exclusion algorithms are typical examples of such systems.")
|
||||
(license license:asl2.0)))
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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);
|
|
@ -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());
|
|
@ -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;
|
||||
}
|
||||
|
|
@ -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)
|
||||
{
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
|
@ -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
|
|
@ -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");
|
|
@ -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
|
||||
|
|
@ -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 @@ more sophisticated overview on the other one providing information like a
|
|||
picture of the next slide, as well as the left over time till the end of the
|
||||
presentation. The input files processed by pdfpc are PDF documents.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public paps
|
||||
(package
|
||||
(name "paps")
|
||||
(version "0.6.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/paps/paps/" version "/"
|
||||
"paps-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"080ahnyvq918m8ahq8bg9qvgzlv4k0jgcsdqhrwjzppclx74q8fv"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("pango" ,pango)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(home-page "http://paps.sourceforge.net/")
|
||||
(synopsis "Pango to PostScript converter")
|
||||
(description
|
||||
"Paps reads a UTF-8 encoded file and generates a PostScript language
|
||||
rendering of the file. The rendering is done by creating outline curves
|
||||
through the Pango @code{ft2} backend.")
|
||||
(license license:lgpl2.0+)))
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
;;; Copyright © 2016 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Alex Sassmannshausen <alex@pompo.co>
|
||||
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
|
||||
|
@ -707,20 +707,21 @@ memory_cycle_ok( $object );
|
|||
(define-public perl-test-mockmodule
|
||||
(package
|
||||
(name "perl-test-mockmodule")
|
||||
(version "0.13")
|
||||
(version "0.170.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/G/GF/GFRANKS/"
|
||||
"Test-MockModule-" version ".tar.gz"))
|
||||
"Test-MockModule-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0lwh6fvnc16r6d74vvh5h4b5a1spcslpjb3mcqbv23k01lm78wvl"))))
|
||||
(base32 "0pggwrlqj6k44qayhbpjqkzry1r626iy2vf30zlf2jdhbjbvlycz"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-module-build" ,perl-module-build)
|
||||
;; For tests.
|
||||
("perl-test-pod" ,perl-test-pod)
|
||||
("perl-test-pod-coverage" ,perl-test-pod-coverage)))
|
||||
("perl-test-pod-coverage" ,perl-test-pod-coverage)
|
||||
("perl-test-warnings" ,perl-test-warnings)))
|
||||
(propagated-inputs
|
||||
`(("perl-super" ,perl-super)))
|
||||
(home-page "https://metacpan.org/release/Test-MockModule")
|
||||
|
@ -1121,14 +1122,14 @@ makes fork(2) safe to use in test cases.")
|
|||
(define-public perl-test-simple
|
||||
(package
|
||||
(name "perl-test-simple")
|
||||
(version "1.302136")
|
||||
(version "1.302141")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://cpan/authors/id/E/EX/EXODIST/"
|
||||
"Test-Simple-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0inlv8f4rbhsw6qnqhf1w6ay153xbw27fldmb2pmg4ihn19mr6ld"))))
|
||||
"1dwmsf7jzhw8xppzrw2raq3q6nzd1kcl8b53hik4586b2k45n16p"))))
|
||||
(build-system perl-build-system)
|
||||
(synopsis "Basic utilities for writing tests")
|
||||
(description
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
|
||||
;;; Copyright © 2016, 2018 Mark H Weaver <mhw@netris.org>
|
||||
;;; Copyright © 2016 Jochem Raat <jchmrt@riseup.net>
|
||||
;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2016 Alex Sassmannshausen <alex@pompo.co>
|
||||
;;; Copyright © 2016, 2018 Roel Janssen <roel@gnu.org>
|
||||
|
@ -1533,7 +1533,7 @@ CPAN::Meta object are present.")
|
|||
(define-public perl-cpanel-json-xs
|
||||
(package
|
||||
(name "perl-cpanel-json-xs")
|
||||
(version "3.0114")
|
||||
(version "4.08")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -1541,7 +1541,7 @@ CPAN::Meta object are present.")
|
|||
"Cpanel-JSON-XS-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0jhi1v0631x4d14a7cpfnpjqhs34zkygxjn1nwvvr927awx5jx71"))))
|
||||
"0bbw9sk3kgfwkg9lw3vf59g4jjvr69vv09sinndl2nlbd5dlgh9b"))))
|
||||
(build-system perl-build-system)
|
||||
(propagated-inputs
|
||||
`(("perl-common-sense" ,perl-common-sense)))
|
||||
|
@ -3667,7 +3667,7 @@ file names in a directory.")
|
|||
(define-public perl-file-slurper
|
||||
(package
|
||||
(name "perl-file-slurper")
|
||||
(version "0.008")
|
||||
(version "0.012")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -3677,8 +3677,10 @@ file names in a directory.")
|
|||
".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cyjspspms6zyjcqz9v18dbs574g085h2jzjh41xvsrc1qa8bxhh"))))
|
||||
"0y5518ji60yfkx9ggjp309j6g8vfri4ka4zqlsys245i2sj2xysf"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-warnings" ,perl-test-warnings)))
|
||||
(propagated-inputs
|
||||
`(("perl-perlio-utf8_strict" ,perl-perlio-utf8_strict)))
|
||||
(home-page "https://metacpan.org/release/File-Slurper")
|
||||
|
@ -4408,7 +4410,7 @@ installed.")
|
|||
(define-public perl-json-maybexs
|
||||
(package
|
||||
(name "perl-json-maybexs")
|
||||
(version "1.003010")
|
||||
(version "1.004000")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -4416,7 +4418,7 @@ installed.")
|
|||
"JSON-MaybeXS-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hs504x5zsa2vl6r7b3rvbygsak1ly24m1lg636bqp3x7jirmb30"))))
|
||||
"09m1w03as6n0a00pzvaldkhm494yaf5n0g3j2cwwfx24iwpa1gar"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-test-without-module" ,perl-test-without-module)))
|
||||
|
@ -4636,7 +4638,7 @@ implemented for example in GNU gettext.")
|
|||
(define-public perl-lingua-translit
|
||||
(package
|
||||
(name "perl-lingua-translit")
|
||||
(version "0.26")
|
||||
(version "0.28")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -4644,7 +4646,7 @@ implemented for example in GNU gettext.")
|
|||
"Lingua-Translit-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"161589h08kzliga17i2g0hb0yn4cjmb8rdiyadq5bw97974bac14"))))
|
||||
"1qgap0j0ixmif309dvbqca7sy8xha9xgnj9s2lvh8qrczkc92gqi"))))
|
||||
(build-system perl-build-system)
|
||||
(home-page "https://metacpan.org/release/Lingua-Translit")
|
||||
(synopsis "Transliterate text between writing systems")
|
||||
|
@ -9200,7 +9202,7 @@ best YAML support to date.")
|
|||
(define-public perl-yaml-tiny
|
||||
(package
|
||||
(name "perl-yaml-tiny")
|
||||
(version "1.66")
|
||||
(version "1.73")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -9208,7 +9210,7 @@ best YAML support to date.")
|
|||
"YAML-Tiny-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0c17l8pvpraznpb31ncmr4wxlyww8sg8dhvp3s3q02yqll3cnygv"))))
|
||||
"0i3p4nz8ysrsrs6vlzc6gkjcfpcaf05xjc7lwbjkw7lg5shmycdw"))))
|
||||
(build-system perl-build-system)
|
||||
(native-inputs
|
||||
`(("perl-json-maybexs" ,perl-json-maybexs)
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
;;; Copyright © 2016 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2019 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -124,6 +126,7 @@
|
|||
"--with-mysqli" ; Required for, e.g. wordpress
|
||||
"--with-pdo-mysql"
|
||||
"--with-zlib"
|
||||
"--enable-bcmath" ; Required for, e.g. Zabbix frontend
|
||||
"--enable-calendar"
|
||||
"--enable-dba=shared"
|
||||
"--enable-exif"
|
||||
|
@ -351,10 +354,4 @@ systems, web content management systems and web frameworks." )
|
|||
license:expat)))) ; ext/date/lib
|
||||
|
||||
(define-public php-with-bcmath
|
||||
(package
|
||||
(inherit php)
|
||||
(name "php-with-bcmath")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments php)
|
||||
((#:configure-flags flags)
|
||||
`(cons "--enable-bcmath" ,flags))))))
|
||||
(deprecated-package "php-with-bcmath" php))
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2017 Ben Sturmfels <ben@sturm.com.au>
|
||||
|
@ -341,13 +341,13 @@ password storage.")
|
|||
(define-public python-certifi
|
||||
(package
|
||||
(name "python-certifi")
|
||||
(version "2018.8.13")
|
||||
(version "2018.11.29")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "certifi" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1x7jy10rz3100g9iw7c2czcw2z4lqfaalsd8yg991l4d82hnh7ac"))))
|
||||
"1dvccavd2fzq4j37w0sznylp92ps14zi6gvlxzm23in0yhzciya7"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://certifi.io/")
|
||||
(synopsis "Python CA certificate bundle")
|
||||
|
@ -808,14 +808,14 @@ protocol (Javascript Object Signing and Encryption).")
|
|||
(define-public python-pycryptodome
|
||||
(package
|
||||
(name "python-pycryptodome")
|
||||
(version "3.5.1")
|
||||
(version "3.7.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pycryptodome" version))
|
||||
(sha256
|
||||
(base32
|
||||
"15mc1h5ij1b6hcqvb048kb4k0ip64n2ky0zz0rml2s78ylv7g5dp"))))
|
||||
"1xxf5cyhlc5ak5skf4zgqz9yk5fj5g70hd06hc1jym995lxpxz7m"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://www.pycryptodome.org")
|
||||
(synopsis "Cryptographic library for Python")
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||
;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
|
||||
;;; Copyright © 2016, 2017 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
||||
|
@ -734,14 +734,14 @@ web framework, either via the basic or digest authentication schemes.")
|
|||
(define-public python-terminado
|
||||
(package
|
||||
(name "python-terminado")
|
||||
(version "0.6")
|
||||
(version "0.8.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "terminado" version))
|
||||
(sha256
|
||||
(base32
|
||||
"09h1kwi86g5mrk14s4pgbhshd602zry29lnpxamcqz864kva22rc"))))
|
||||
"0yh69k6579g848rmjyllb5h75pkvgcy27r1l3yzgkf33wnnzkasm"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-tornado" ,python-tornado)
|
||||
|
@ -752,9 +752,7 @@ web framework, either via the basic or digest authentication schemes.")
|
|||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "nosetests")
|
||||
#t)))))
|
||||
(lambda _ (invoke "nosetests") #t)))))
|
||||
(home-page "https://github.com/takluyver/terminado")
|
||||
(synopsis "Terminals served to term.js using Tornado websockets")
|
||||
(description "This package provides a Tornado websocket backend for the
|
||||
|
|
|
@ -7,14 +7,14 @@
|
|||
;;; Copyright © 2014, 2015 Federico Beffa <beffa@fbengineering.ch>
|
||||
;;; Copyright © 2015 Omar Radwan <toxemicsquire4@gmail.com>
|
||||
;;; Copyright © 2015 Pierre-Antoine Rault <par@rigelk.eu>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2015, 2016 Christopher Allan Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2015 Eric Dvorsak <eric@dvorsak.fr>
|
||||
;;; Copyright © 2015, 2016 David Thompson <davet@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017 Leo Famulari <leo@famulari.name>
|
||||
;;; Copyright © 2015, 2017 Ben Woodcroft <donttrustben@gmail.com>
|
||||
;;; Copyright © 2015, 2016 Erik Edrosa <erik.edrosa@gmail.com>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2017 Kyle Meyer <kyle@kyleam.com>
|
||||
;;; Copyright © 2015, 2016 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2016 Danny Milosavljevic <dannym+a@scratchpost.org>
|
||||
|
@ -103,7 +103,6 @@
|
|||
#:use-module (gnu packages libffi)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages llvm)
|
||||
#:use-module (gnu packages machine-learning)
|
||||
#:use-module (gnu packages man)
|
||||
#:use-module (gnu packages maths)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
|
@ -121,7 +120,6 @@
|
|||
#:use-module (gnu packages search)
|
||||
#:use-module (gnu packages shells)
|
||||
#:use-module (gnu packages ssh)
|
||||
#:use-module (gnu packages statistics)
|
||||
#:use-module (gnu packages terminals)
|
||||
#:use-module (gnu packages tex)
|
||||
#:use-module (gnu packages texinfo)
|
||||
|
@ -1395,14 +1393,14 @@ Python 3.3+.")
|
|||
(define-public python-pyicu
|
||||
(package
|
||||
(name "python-pyicu")
|
||||
(version "1.9.8")
|
||||
(version "2.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "PyICU" version))
|
||||
(sha256
|
||||
(base32
|
||||
"05nz4p2dpkhwj6y9kik24xbvmfxji39nl0xw0sc0nvp9fgzf6xnd"))))
|
||||
"0wq9y5fi1ighgf5aws9nr87vi1w44p7q1k83rx2y3qj5d2xyhspa"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("icu4c" ,icu4c)))
|
||||
|
@ -3228,40 +3226,6 @@ color scales, and color space conversion easy. It has support for:
|
|||
(define-public python2-spectra
|
||||
(package-with-python2 python-spectra))
|
||||
|
||||
(define-public python2-fastlmm
|
||||
(package
|
||||
(name "python2-fastlmm")
|
||||
(version "0.2.21")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "fastlmm" version ".zip"))
|
||||
(sha256
|
||||
(base32
|
||||
"1q8c34rpmwkfy3r4d5172pzdkpfryj561897z9r3x22gq7813x1m"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:python ,python-2)) ; only Python 2.7 is supported
|
||||
(propagated-inputs
|
||||
`(("python2-numpy" ,python2-numpy)
|
||||
("python2-scipy" ,python2-scipy)
|
||||
("python2-matplotlib" ,python2-matplotlib)
|
||||
("python2-pandas" ,python2-pandas)
|
||||
("python2-scikit-learn" ,python2-scikit-learn)
|
||||
("python2-pysnptools" ,python2-pysnptools)))
|
||||
(native-inputs
|
||||
`(("unzip" ,unzip)
|
||||
("python2-cython" ,python2-cython)
|
||||
("python2-mock" ,python2-mock)
|
||||
("python2-nose" ,python2-nose)))
|
||||
(home-page "http://research.microsoft.com/en-us/um/redmond/projects/mscompbio/fastlmm/")
|
||||
(synopsis "Perform genome-wide association studies on large data sets")
|
||||
(description
|
||||
"FaST-LMM, which stands for Factored Spectrally Transformed Linear Mixed
|
||||
Models, is a program for performing both single-SNP and SNP-set genome-wide
|
||||
association studies (GWAS) on extremely large data sets.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-numpy-documentation
|
||||
(package
|
||||
(name "python-numpy-documentation")
|
||||
|
@ -3766,64 +3730,6 @@ those files. It can also efficiently manipulate ranges of integers using set
|
|||
operators such as union, intersection, and difference.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-rpy2
|
||||
(package
|
||||
(name "python-rpy2")
|
||||
(version "2.9.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "rpy2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bl1d2qhavmlrvalir9hmkjh74w21vzkvc2sg3cbb162s10zfmxy"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:modules ((ice-9 ftw)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(guix build utils)
|
||||
(guix build python-build-system))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(let ((cwd (getcwd)))
|
||||
(setenv "PYTHONPATH"
|
||||
(string-append cwd "/build/"
|
||||
(find (cut string-prefix? "lib" <>)
|
||||
(scandir (string-append cwd "/build")))
|
||||
":"
|
||||
(getenv "PYTHONPATH"))))
|
||||
(invoke "python" "-m" "rpy2.tests" "-v"))))))
|
||||
(propagated-inputs
|
||||
`(("python-six" ,python-six)
|
||||
("python-jinja2" ,python-jinja2)
|
||||
("python-pytz" ,python-pytz)))
|
||||
(inputs
|
||||
`(("readline" ,readline)
|
||||
("icu4c" ,icu4c)
|
||||
("pcre" ,pcre)
|
||||
("r-minimal" ,r-minimal)
|
||||
("r-survival" ,r-survival)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-rsqlite" ,r-rsqlite)
|
||||
("r-dplyr" ,r-dplyr)
|
||||
("r-dbplyr" ,r-dbplyr)
|
||||
("python-numpy" ,python-numpy)))
|
||||
(native-inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(home-page "https://rpy2.bitbucket.io/")
|
||||
(synopsis "Python interface to the R language")
|
||||
(description "rpy2 is a redesign and rewrite of rpy. It is providing a
|
||||
low-level interface to R from Python, a proposed high-level interface,
|
||||
including wrappers to graphical libraries, as well as R-like structures and
|
||||
functions.")
|
||||
;; Any of these licenses can be picked for the R interface. The whole
|
||||
;; project is released under GPLv2+ according to the license declaration
|
||||
;; in "setup.py".
|
||||
(license (list license:mpl2.0 license:gpl2+ license:lgpl2.1+))))
|
||||
|
||||
(define-public python-scipy
|
||||
(package
|
||||
(name "python-scipy")
|
||||
|
@ -4824,14 +4730,14 @@ without using the configuration machinery.")
|
|||
(define-public python-jupyter-client
|
||||
(package
|
||||
(name "python-jupyter-client")
|
||||
(version "4.4.0")
|
||||
(version "5.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "jupyter_client" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1vjjrpjw7k5sh982pbjnslv7byfbfazjw9g92jvs7dz5qbx556n9"))))
|
||||
"0l9mh7ccrpl3lppym3dnky8n1nk7xarzzdcxf4q2s7aw203cpydm"))))
|
||||
(build-system python-build-system)
|
||||
;; Tests fail because of missing native python kernel which I assume is
|
||||
;; provided by the ipython package, which we cannot use because it would
|
||||
|
@ -4856,20 +4762,29 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
|
|||
(define-public python-ipykernel
|
||||
(package
|
||||
(name "python-ipykernel")
|
||||
(version "4.5.2")
|
||||
(version "5.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ipykernel" version))
|
||||
(sha256
|
||||
(base32 "0qllv0k6zzv1r1cj1x2ygxmlrrqhbslzj8rc6r6fg3kc1rgz4m2s"))))
|
||||
(base32 "0br95qhrd5k65g10djngiy27hs0642301hlf2q142i8djabvzh0g"))))
|
||||
(build-system python-build-system)
|
||||
;; The tests load a submodule of IPython. However, IPython itself depends
|
||||
;; on ipykernel.
|
||||
(arguments `(#:tests? #f))
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(setenv "HOME" "/tmp")
|
||||
(invoke "pytest" "-v")
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
;; imported at runtime during connect
|
||||
`(("python-jupyter-client" ,python-jupyter-client)))
|
||||
`(("python-ipython" ,python-ipython)
|
||||
;; imported at runtime during connect
|
||||
("python-jupyter-client" ,python-jupyter-client)))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)
|
||||
("python-nose" ,python-nose)))
|
||||
(home-page "https://ipython.org")
|
||||
(synopsis "IPython Kernel for Jupyter")
|
||||
(description
|
||||
|
@ -4879,39 +4794,57 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
|
|||
(define-public python2-ipykernel
|
||||
(package-with-python2 python-ipykernel))
|
||||
|
||||
(define-public python-send2trash
|
||||
(package
|
||||
(name "python-send2trash")
|
||||
(version "1.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "send2trash" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ci8vcwjmjlp11ljj1ckrfmml9fkq1mclx2gr53y4zvhgp01q030"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/hsoft/send2trash")
|
||||
(synopsis "Send files to trash")
|
||||
(description
|
||||
"This package provides a cross-platform mechanism to send files to the
|
||||
trash.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-send2trash
|
||||
(package-with-python2 python-send2trash))
|
||||
|
||||
;; This is the latest release of the LTS version of ipython with support for
|
||||
;; Python 2.7 and Python 3.x. Later non-LTS versions starting from 6.0 have
|
||||
;; dropped support for Python 2.7. We may want to rename this package.
|
||||
(define-public python-ipython
|
||||
(package
|
||||
(name "python-ipython")
|
||||
(version "5.5.0")
|
||||
(version "5.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ipython" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "03qmzpfy00if10i9k8fjkam1s4xg22j73f933x5d228z9n4rwik6"))))
|
||||
(base32 "01l93i4hspf0lvhmycvc8j378bslm9rw30mwfspsl6v1ayc69b2b"))))
|
||||
(build-system python-build-system)
|
||||
(outputs '("out" "doc"))
|
||||
(propagated-inputs
|
||||
`(("python-pyzmq" ,python-pyzmq)
|
||||
("python-prompt-toolkit" ,python-prompt-toolkit)
|
||||
("python-prompt-toolkit" ,python-prompt-toolkit-1)
|
||||
("python-terminado" ,python-terminado)
|
||||
("python-matplotlib" ,python-matplotlib)
|
||||
("python-numpy" ,python-numpy)
|
||||
("python-numpydoc" ,python-numpydoc)
|
||||
("python-jinja2" ,python-jinja2)
|
||||
("python-jupyter-console"
|
||||
;; The python-ipython and python-jupyter-console require each
|
||||
;; other. To get the functionality in both packages working, strip
|
||||
;; down the python-jupyter-console package when using it as an input
|
||||
;; to python-ipython.
|
||||
,python-jupyter-console-minimal)
|
||||
("python-mistune" ,python-mistune)
|
||||
("python-pexpect" ,python-pexpect)
|
||||
("python-pickleshare" ,python-pickleshare)
|
||||
("python-simplegeneric" ,python-simplegeneric)
|
||||
("python-jsonschema" ,python-jsonschema)
|
||||
("python-traitlets" ,python-traitlets)
|
||||
("python-ipykernel" ,python-ipykernel)
|
||||
("python-nbformat" ,python-nbformat)
|
||||
("python-pygments" ,python-pygments)))
|
||||
(inputs
|
||||
|
@ -4963,59 +4896,69 @@ installing @code{kernelspec}s for use with Jupyter frontends.")
|
|||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after
|
||||
'install 'install-doc
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
|
||||
(doc (string-append data "/doc/" ,name "-" ,version))
|
||||
(html (string-append doc "/html"))
|
||||
(man1 (string-append data "/man/man1"))
|
||||
(info (string-append data "/info"))
|
||||
(examples (string-append doc "/examples"))
|
||||
(python-arg (string-append "PYTHON=" (which "python"))))
|
||||
(setenv "LANG" "en_US.utf8")
|
||||
;; Make installed package available for running the tests
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(with-directory-excursion "docs"
|
||||
;; FIXME: pdf fails to build
|
||||
;;(system* "make" "pdf" "PAPER=a4")
|
||||
(system* "make" python-arg "html")
|
||||
(system* "make" python-arg "info"))
|
||||
(copy-recursively "docs/man" man1)
|
||||
(copy-recursively "examples" examples)
|
||||
(copy-recursively "docs/build/html" html)
|
||||
;; (copy-file "docs/build/latex/ipython.pdf"
|
||||
;; (string-append doc "/ipython.pdf"))
|
||||
(mkdir-p info)
|
||||
(copy-file "docs/build/texinfo/ipython.info"
|
||||
(string-append info "/ipython.info"))
|
||||
(copy-file "COPYING.rst" (string-append doc "/COPYING.rst")))))
|
||||
(add-after 'install 'install-doc
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((data (string-append (assoc-ref outputs "doc") "/share"))
|
||||
(doc (string-append data "/doc/" ,name "-" ,version))
|
||||
(html (string-append doc "/html"))
|
||||
(man1 (string-append data "/man/man1"))
|
||||
(info (string-append data "/info"))
|
||||
(examples (string-append doc "/examples"))
|
||||
(python-arg (string-append "PYTHON=" (which "python"))))
|
||||
(setenv "LANG" "en_US.utf8")
|
||||
;; Make installed package available for running the tests
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(with-directory-excursion "docs"
|
||||
;; FIXME: pdf fails to build
|
||||
;;(system* "make" "pdf" "PAPER=a4")
|
||||
(system* "make" python-arg "html")
|
||||
(system* "make" python-arg "info"))
|
||||
(copy-recursively "docs/man" man1)
|
||||
(copy-recursively "examples" examples)
|
||||
(copy-recursively "docs/build/html" html)
|
||||
;; (copy-file "docs/build/latex/ipython.pdf"
|
||||
;; (string-append doc "/ipython.pdf"))
|
||||
(mkdir-p info)
|
||||
(copy-file "docs/build/texinfo/ipython.info"
|
||||
(string-append info "/ipython.info"))
|
||||
(copy-file "COPYING.rst" (string-append doc "/COPYING.rst")))
|
||||
#t))
|
||||
;; Tests can only be run after the library has been installed and not
|
||||
;; within the source directory.
|
||||
(delete 'check)
|
||||
(add-after
|
||||
'install 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(if tests?
|
||||
(with-directory-excursion "/tmp"
|
||||
;; Make installed package available for running the tests
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(setenv "HOME" "/tmp/") ;; required by a test
|
||||
(zero? (system* (string-append (assoc-ref outputs "out")
|
||||
"/bin/iptest"))))
|
||||
#t)))
|
||||
(add-before
|
||||
'install 'fix-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "./IPython/utils/_process_posix.py"
|
||||
(("/usr/bin/env', 'which") (which "which")))
|
||||
(substitute* "./IPython/core/tests/test_inputtransformer.py"
|
||||
(("#!/usr/bin/env python")
|
||||
(string-append "#!" (which "python"))))
|
||||
;; Disable 1 failing test
|
||||
(substitute* "./IPython/core/tests/test_magic.py"
|
||||
(("def test_dirops\\(\\):" all)
|
||||
(string-append "@dec.skipif(True)\n" all))))))))
|
||||
(add-after 'install 'check
|
||||
(lambda* (#:key inputs outputs tests? #:allow-other-keys)
|
||||
(if tests?
|
||||
(begin
|
||||
;; Make installed package available for running the tests
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(setenv "HOME" "/tmp/") ;; required by a test
|
||||
;; We only test the core because one of the other tests
|
||||
;; tries to import ipykernel.
|
||||
(invoke "python" "IPython/testing/iptest.py"
|
||||
"-v" "IPython/core/tests"))
|
||||
#t)))
|
||||
(add-before 'check 'fix-tests
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "./IPython/utils/_process_posix.py"
|
||||
(("/usr/bin/env', 'which") (which "which")))
|
||||
(substitute* "./IPython/core/tests/test_inputtransformer.py"
|
||||
(("#!/usr/bin/env python")
|
||||
(string-append "#!" (which "python"))))
|
||||
;; Disable 1 failing test
|
||||
(substitute* "./IPython/core/tests/test_magic.py"
|
||||
(("def test_dirops\\(\\):" all)
|
||||
(string-append "@dec.skipif(True)\n" all)))
|
||||
;; This test introduces a circular dependency on ipykernel
|
||||
;; (which depends on ipython).
|
||||
(delete-file "IPython/core/tests/test_display.py")
|
||||
;; These tests throw errors for unknown reasons.
|
||||
(delete-file "IPython/extensions/tests/test_storemagic.py")
|
||||
(delete-file "IPython/core/tests/test_displayhook.py")
|
||||
(delete-file "IPython/core/tests/test_interactiveshell.py")
|
||||
(delete-file "IPython/core/tests/test_pylabtools.py")
|
||||
(delete-file "IPython/core/tests/test_paths.py")
|
||||
#t)))))
|
||||
(home-page "https://ipython.org")
|
||||
(synopsis "IPython is a tool for interactive computing in Python")
|
||||
(description
|
||||
|
@ -5190,14 +5133,14 @@ implementation of D-Bus.")
|
|||
(define-public python-lxml
|
||||
(package
|
||||
(name "python-lxml")
|
||||
(version "4.2.4")
|
||||
(version "4.2.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "lxml" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1jk336k0kw616gfhqk1wwxsjjwz0flld0n294lz8kxch610bxbz2"))))
|
||||
"0zw0y9hs0nflxhl9cs6ipwwh53szi3w2x06wl0k9cylyqac0cwin"))))
|
||||
(build-system python-build-system)
|
||||
(inputs
|
||||
`(("libxml2" ,libxml2)
|
||||
|
@ -7092,30 +7035,64 @@ convert an @code{.ipynb} notebook file into various static formats including:
|
|||
(define-public python2-nbconvert
|
||||
(package-with-python2 python-nbconvert))
|
||||
|
||||
(define-public python-prometheus-client
|
||||
(package
|
||||
(name "python-prometheus-client")
|
||||
(version "0.5.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "prometheus_client" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0g7rpv1pq2lab1nfqdx98z9d3bqwc400alg1j4ynrpjkrbsizhg8"))))
|
||||
(build-system python-build-system)
|
||||
(arguments '(#:tests? #f)) ; tests are not included
|
||||
(propagated-inputs
|
||||
`(("python-twisted" ,python-twisted)))
|
||||
(home-page "https://github.com/prometheus/client_python")
|
||||
(synopsis "Python client for the Prometheus monitoring system")
|
||||
(description
|
||||
"This package provides a Python client for the Prometheus monitoring
|
||||
system.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python2-prometheus-client
|
||||
(package-with-python2 python-prometheus-client))
|
||||
|
||||
(define-public python-notebook
|
||||
(package
|
||||
(name "python-notebook")
|
||||
(version "4.2.3")
|
||||
(version "5.7.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "notebook" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0laq5c2f21frq6xcdckgq7raqhznbjb0qs0357g612z87wyn1a9r"))))
|
||||
"0jm7324mbxljmn9hgapj66q7swyz5ai92blmr0jpcy0h80x6f26r"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
;; HOME must be set for tests
|
||||
;; These tests require a browser
|
||||
(delete-file-recursively "notebook/tests/selenium")
|
||||
;; Some tests need HOME
|
||||
(setenv "HOME" "/tmp")
|
||||
(zero? (system* "nosetests")))))))
|
||||
;; This file contains "warningfilters", which are not supported
|
||||
;; by this version of nose.
|
||||
(delete-file "setup.cfg")
|
||||
(with-directory-excursion "/tmp"
|
||||
(invoke "nosetests" "-v"))
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("python-jupyter-core" ,python-jupyter-core)
|
||||
("python-nbformat" ,python-nbformat)
|
||||
("python-nbconvert" ,python-nbconvert)
|
||||
("python-ipython" ,python-ipython)))
|
||||
("python-prometheus-client" ,python-prometheus-client)
|
||||
("python-send2trash" ,python-send2trash)
|
||||
("python-terminado" ,python-terminado)))
|
||||
(native-inputs
|
||||
`(("python-nose" ,python-nose)
|
||||
("python-sphinx" ,python-sphinx)
|
||||
|
@ -7151,17 +7128,18 @@ interactive computing.")
|
|||
(define-public python-widgetsnbextension
|
||||
(package
|
||||
(name "python-widgetsnbextension")
|
||||
(version "1.2.6")
|
||||
(version "3.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "widgetsnbextension" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0lff2mrwrgsa1mxmwx3phl9xvy0jqfpg6khbmxy53jbq56rwy666"))))
|
||||
"0rc2nivdy7k4m3vljx7wdh2jh11djapcgwhvzlbs0isl8gl8nqgs"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-notebook" ,python-notebook)))
|
||||
`(("python-ipykernel" ,python-ipykernel)
|
||||
("python-notebook" ,python-notebook)))
|
||||
(native-inputs
|
||||
`(("python-certifi" ,python-certifi)
|
||||
("python-nose" ,python-nose)))
|
||||
|
@ -7186,13 +7164,13 @@ notebooks.")
|
|||
(base32
|
||||
"1lk0qrr5l9a0z7qkkn30hv5832whxwxymf1l576fmmad0n7hkxms"))))
|
||||
(build-system python-build-system)
|
||||
;; FIXME: it's not clear how to run the tests.
|
||||
(arguments `(#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("python-ipykernel" ,python-ipykernel)
|
||||
("python-ipython" ,python-ipython)
|
||||
`(("python-ipython" ,python-ipython)
|
||||
("python-traitlets" ,python-traitlets)
|
||||
("python-widgetsnbextension" ,python-widgetsnbextension)))
|
||||
(native-inputs
|
||||
`(("python-nose" ,python-nose)
|
||||
("python-pytest" ,python-pytest)))
|
||||
(home-page "https://ipython.org")
|
||||
(synopsis "IPython HTML widgets for Jupyter")
|
||||
(description "Ipywidgets are interactive HTML widgets for Jupyter
|
||||
|
@ -7216,14 +7194,15 @@ in the data.")
|
|||
(base32
|
||||
"1kam1qzgwr7srhm5r6aj90di5sws4bq0jmiw15452ddamb9yspal"))))
|
||||
(build-system python-build-system)
|
||||
;; FIXME: it's not clear how to run the tests.
|
||||
;; Tests only run in an TTY.
|
||||
(arguments `(#:tests? #f))
|
||||
(propagated-inputs
|
||||
`(("python-ipykernel" ,python-ipykernel)
|
||||
("python-ipython" ,python-ipython)
|
||||
("python-jupyter-client" ,python-jupyter-client)
|
||||
("python-prompt-toolkit" ,python-prompt-toolkit)
|
||||
("python-prompt-toolkit" ,python-prompt-toolkit-1)
|
||||
("python-pygments" ,python-pygments)))
|
||||
(native-inputs
|
||||
`(("python-nose" ,python-nose)))
|
||||
(home-page "https://jupyter.org")
|
||||
(synopsis "Jupyter terminal console")
|
||||
(description "This package provides a terminal-based console frontend for
|
||||
|
@ -7260,6 +7239,42 @@ Jupyter kernels such as IJulia and IRKernel.")
|
|||
"python-ipython"
|
||||
(package-propagated-inputs python-jupyter-console)))))
|
||||
|
||||
(define-public python-qtconsole
|
||||
(package
|
||||
(name "python-qtconsole")
|
||||
(version "4.4.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "qtconsole" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1b03n1ixzscm0jw97l4dq5iy4fslnqxq5bb8287xb7n2a1gs26xw"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; XXX: Tests are disabled, because this package needs python-ipython 7,
|
||||
;; but we only have the LTS version 5.x. This means that there might be
|
||||
;; runtime errors, but since this is a dependency of the Jupyter package,
|
||||
;; and Jupyter can be used without the qtconsole we can overlook this for
|
||||
;; now.
|
||||
`(#:tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'pre-check
|
||||
(lambda _
|
||||
(setenv "QT_QPA_PLATFORM" "offscreen")
|
||||
#t)))))
|
||||
(propagated-inputs
|
||||
`(("python-ipykernel" ,python-ipykernel)
|
||||
("python-ipython" ,python-ipython)))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(home-page "http://jupyter.org")
|
||||
(synopsis "Jupyter Qt console")
|
||||
(description "This package provides a Qt-based console for Jupyter with
|
||||
support for rich media output.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public jupyter
|
||||
(package
|
||||
(name "jupyter")
|
||||
|
@ -7272,21 +7287,19 @@ Jupyter kernels such as IJulia and IRKernel.")
|
|||
(base32
|
||||
"0pwf3pminkzyzgx5kcplvvbvwrrzd3baa7lmh96f647k30rlpp6r"))))
|
||||
(build-system python-build-system)
|
||||
;; FIXME: it's not clear how to run the tests.
|
||||
(arguments `(#:tests? #f))
|
||||
(arguments '(#:tests? #f)) ; there are none.
|
||||
(propagated-inputs
|
||||
`(("python-ipykernel" ,python-ipykernel)
|
||||
("python-ipywidgets" ,python-ipywidgets)
|
||||
("python-jupyter-console" ,python-jupyter-console)
|
||||
("python-nbconvert" ,python-nbconvert)
|
||||
("python-notebook" ,python-notebook)))
|
||||
|
||||
("python-notebook" ,python-notebook)
|
||||
("python-qtconsole" ,python-qtconsole)))
|
||||
(native-search-paths
|
||||
(list (search-path-specification
|
||||
(variable "JUPYTER_PATH")
|
||||
(files '("share/jupyter")))))
|
||||
|
||||
(home-page "http://jupyter.org")
|
||||
(home-page "https://jupyter.org")
|
||||
(synopsis "Web application for interactive documents")
|
||||
(description
|
||||
"The Jupyter Notebook is a web application that allows you to create and
|
||||
|
@ -7343,7 +7356,7 @@ automatically detect a wide range of file encodings.")
|
|||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _ (zero? (system* "py.test")))))))
|
||||
(lambda _ (invoke "py.test"))))))
|
||||
(home-page "http://docopt.org")
|
||||
(synopsis "Command-line interface description language for Python")
|
||||
(description "This library allows the user to define a command-line
|
||||
|
@ -7455,7 +7468,7 @@ config files.")
|
|||
;; NOTE: Many tests do not run because they rely on Python's
|
||||
;; built-in test.test_argparse, but we remove the unit tests from
|
||||
;; our Python installation.
|
||||
(zero? (system* "python" "setup.py" "test")))))))
|
||||
(invoke "python" "setup.py" "test"))))))
|
||||
(synopsis "Replacement for argparse")
|
||||
(description "A drop-in replacement for argparse that allows options to also
|
||||
be set via config files and/or environment variables.")
|
||||
|
@ -7728,8 +7741,7 @@ Blog, News or Announcements section to a Sphinx website.")
|
|||
'(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(zero? (system* "py.test" "-v")))))))
|
||||
(lambda _ (invoke "py.test" "-v"))))))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(propagated-inputs
|
||||
|
@ -7808,7 +7820,7 @@ with a new public API, and RPython support.")
|
|||
(lambda _
|
||||
;; Tests require write access to HOME.
|
||||
(setenv "HOME" "/tmp")
|
||||
(zero? (system* "nosetests")))))))
|
||||
(invoke "nosetests"))))))
|
||||
(native-inputs
|
||||
`(("python-coverage" ,python-coverage)
|
||||
("python-nose" ,python-nose)))
|
||||
|
@ -9889,36 +9901,61 @@ collections of data.")
|
|||
(package-with-python2 python-backpack))
|
||||
|
||||
(define-public python-prompt-toolkit
|
||||
(package
|
||||
(name "python-prompt-toolkit")
|
||||
(version "1.0.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "prompt_toolkit" version ".tar.gz"))
|
||||
(sha256
|
||||
(package
|
||||
(name "python-prompt-toolkit")
|
||||
(version "2.0.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "prompt_toolkit" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05v9h5nydljwpj5nm8n804ms0glajwfy1zagrzqrg91wk3qqi1c5"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:tests? #f)) ; The test suite uses some Windows-specific data types.
|
||||
(propagated-inputs
|
||||
`(("python-wcwidth" ,python-wcwidth)
|
||||
("python-six" ,python-six)
|
||||
("python-pygments" ,python-pygments)))
|
||||
(home-page "https://github.com/jonathanslenders/python-prompt-toolkit")
|
||||
(synopsis "Library for building command line interfaces in Python")
|
||||
(description
|
||||
"Prompt-Toolkit is a library for building interactive command line
|
||||
"0fgacqk73w7s932vy46pan2yp8rvjmlkag20xvaydh9mhf6h85zx"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'check)
|
||||
(add-after 'install 'post-install-check
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; HOME is needed for the test
|
||||
;; "test_pathcompleter_can_expanduser".
|
||||
(setenv "HOME" "/tmp")
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "py.test"))))))
|
||||
(propagated-inputs
|
||||
`(("python-wcwidth" ,python-wcwidth)
|
||||
("python-six" ,python-six)
|
||||
("python-pygments" ,python-pygments)))
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
(home-page "https://github.com/jonathanslenders/python-prompt-toolkit")
|
||||
(synopsis "Library for building command line interfaces in Python")
|
||||
(description
|
||||
"Prompt-Toolkit is a library for building interactive command line
|
||||
interfaces in Python. It's like GNU Readline but it also features syntax
|
||||
highlighting while typing, out-of-the-box multi-line input editing, advanced
|
||||
code completion, incremental search, support for Chinese double-width
|
||||
characters, mouse support, and auto suggestions.")
|
||||
(license license:bsd-3)))
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public python2-prompt-toolkit
|
||||
(package-with-python2 python-prompt-toolkit))
|
||||
|
||||
(define-public python-prompt-toolkit-1
|
||||
(package (inherit python-prompt-toolkit)
|
||||
(version "1.0.15")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "prompt_toolkit" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"05v9h5nydljwpj5nm8n804ms0glajwfy1zagrzqrg91wk3qqi1c5"))))))
|
||||
|
||||
(define-public python2-prompt-toolkit-1
|
||||
(package-with-python2 python-prompt-toolkit-1))
|
||||
|
||||
(define-public python-jedi
|
||||
(package
|
||||
(name "python-jedi")
|
||||
|
@ -10575,13 +10612,13 @@ related extensions.")
|
|||
(define-public python-sphinx-alabaster-theme
|
||||
(package
|
||||
(name "python-sphinx-alabaster-theme")
|
||||
(version "0.7.9")
|
||||
(version "0.7.12")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "alabaster" version))
|
||||
(sha256
|
||||
(base32
|
||||
"027anxzcb951gjlcc43y3rbn9qrw36d16vj9wd2smv5410xx9bs7"))))
|
||||
"00nwwjj2d2ym4s2kk217x7jkx1hnczc3fvm8yxbqmsp6b0nxfqd6"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-pygments" ,python-pygments)))
|
||||
|
@ -10764,14 +10801,14 @@ Record Format (DWARF).")
|
|||
(define-public python-imagesize
|
||||
(package
|
||||
(name "python-imagesize")
|
||||
(version "1.0.0")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "imagesize" version))
|
||||
(sha256
|
||||
(base32
|
||||
"05b3p62r7rbcvvbk5vknr3bhcq9b2airysn6ric534mng136wcjv"))))
|
||||
(base32
|
||||
"1dg3wn7qpwmhgqc0r9na2ding1wif9q5spz3j9zn2riwphc2k0zk"))))
|
||||
(build-system python-build-system)
|
||||
(home-page "https://github.com/shibukawa/imagesize_py")
|
||||
(synopsis "Gets image size of files in various formats in Python")
|
||||
|
@ -11599,14 +11636,14 @@ clone, while other processes access the original tree.")
|
|||
(define-public python-astroid
|
||||
(package
|
||||
(name "python-astroid")
|
||||
(version "2.0.4")
|
||||
(version "2.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "astroid" version))
|
||||
(sha256
|
||||
(base32
|
||||
"138svbm88w5k0y2nvl4svyas1jfhcc5iy0d2ywkbcpn9kq8ks0f7"))))
|
||||
"08hz675knh4294bancdapql392fmbjyimhbyrmfkz1ka7l035c1m"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
`(("python-lazy-object-proxy" ,python-lazy-object-proxy)
|
||||
|
@ -11620,13 +11657,13 @@ clone, while other processes access the original tree.")
|
|||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-spurious-test
|
||||
(lambda _
|
||||
;; This can be removed after upgrading from python-3.7
|
||||
;; https://github.com/PyCQA/astroid/issues/593
|
||||
;; https://bugs.python.org/issue34056
|
||||
(delete-file "astroid/tests/unittest_modutils.py")
|
||||
#t))
|
||||
(add-after 'unpack 'remove-spurious-test
|
||||
(lambda _
|
||||
;; This can be removed after upgrading from python-3.7
|
||||
;; https://github.com/PyCQA/astroid/issues/593
|
||||
;; https://bugs.python.org/issue34056
|
||||
(delete-file "astroid/tests/unittest_modutils.py")
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "pytest" "astroid"))))))
|
||||
|
@ -12100,14 +12137,14 @@ several utilities, as well as an API for building localization tools.")
|
|||
(define-public python-packaging
|
||||
(package
|
||||
(name "python-packaging")
|
||||
(version "17.1")
|
||||
(version "18.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "packaging" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0nrpayk8kij1zm9sjnk38ldz3a6705ggvw8ljylqbrb4vmqbf6gh"))))
|
||||
"01wq9c53ix5rz6qg2c98gy8n4ff768rmanifm8m5jpjiaizj51h8"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases (modify-phases %standard-phases
|
||||
|
@ -12861,14 +12898,14 @@ requirements is not met.")
|
|||
(define-public python-pysocks
|
||||
(package
|
||||
(name "python-pysocks")
|
||||
(version "1.6.7")
|
||||
(version "1.6.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "PySocks" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1krkiss578zqwcg4c8iqz1hwscwhsvy2djp3xyvps5gsgvr2j0yh"))))
|
||||
"0wn6xafwy9c1gamwljw3fyvih5w19qy9xp39zmv8c90ai5ajrr9z"))))
|
||||
(build-system python-build-system)
|
||||
(arguments `(#:tests? #f))
|
||||
(home-page "https://github.com/Anorov/PySocks")
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
|
||||
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
|
||||
;;; Copyright © 2015, 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2017 Nils Gillmann <ng0@n0.is>
|
||||
;;; Copyright © 2016 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
|
||||
|
@ -31,7 +31,7 @@
|
|||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system trivial)
|
||||
|
@ -2026,15 +2026,17 @@ This package provides the Python bindings.")))
|
|||
(define-public qtkeychain
|
||||
(package
|
||||
(name "qtkeychain")
|
||||
(version "0.8.0")
|
||||
(version "0.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/frankosterfeld/qtkeychain/"
|
||||
"archive/v" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/frankosterfeld/qtkeychain/")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bxi5pfhxdvwk8yxa06lk2d7lcibmfqhahbin82bqf3m341zd4ml"))))
|
||||
(base32
|
||||
"0h4wgngn2yl35hapbjs24amkjfbzsvnna4ixfhn87snjnq5lmjbc"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
|
@ -2045,12 +2047,11 @@ This package provides the Python bindings.")))
|
|||
`(#:tests? #f ; No tests included
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before
|
||||
'configure 'set-qt-trans-dir
|
||||
(add-before 'configure 'set-qt-trans-dir
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("\\$\\{qt_translations_dir\\}")
|
||||
"${CMAKE_INSTALL_PREFIX}/share/qt/translations"))
|
||||
"${CMAKE_INSTALL_PREFIX}/share/qt5/translations"))
|
||||
#t)))))
|
||||
(home-page "https://github.com/frankosterfeld/qtkeychain")
|
||||
(synopsis "Qt API to store passwords")
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -28,6 +29,8 @@
|
|||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cups)
|
||||
#:use-module (gnu packages docbook)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gstreamer)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages linux)
|
||||
|
@ -35,6 +38,7 @@
|
|||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages xml))
|
||||
|
||||
|
@ -73,64 +77,67 @@ to remotely control a user's Windows desktop.")
|
|||
(license license:gpl3+)))
|
||||
|
||||
(define-public freerdp
|
||||
(let ((commit "03ab68318966c3a22935a02838daaea7b7fbe96c"))
|
||||
(package
|
||||
(name "freerdp")
|
||||
(version (git-version "1.1" "1" commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
;; We need the 1.1 branch for RDP support in vinagre.
|
||||
(url "git://github.com/FreeRDP/FreeRDP.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "07ish8rmvbk2zd99k91qybmmh5h4afly75l5kbvslhq1r6k8pbmp"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("libxslt" ,libxslt)
|
||||
("libxml2" ,libxml2)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("xmlto" ,xmlto)))
|
||||
(inputs
|
||||
`(("libx11" ,libx11)
|
||||
("libxkbfile" ,libxkbfile)
|
||||
("libxcursor" ,libxcursor)
|
||||
("libxext" ,libxext)
|
||||
("libxi" ,libxi)
|
||||
("libxv" ,libxv)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxshmfence" ,libxshmfence)
|
||||
("cups" ,cups)
|
||||
("ffmpeg" ,ffmpeg-2.8)
|
||||
("libjpeg" ,libjpeg)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("alsa-lib" ,alsa-lib)
|
||||
("zlib" ,zlib)
|
||||
("openssl" ,openssl)))
|
||||
(arguments
|
||||
`(#:build-type "RELEASE"
|
||||
#:configure-flags
|
||||
(list "-DWITH_JPEG=ON"
|
||||
,@(if (string-prefix? "x86_64"
|
||||
(or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("-DWITH_SSE2=ON")
|
||||
'())
|
||||
(string-append "-DDOCBOOKXSL_DIR="
|
||||
(assoc-ref %build-inputs "docbook-xsl")
|
||||
"/xml/xsl/docbook-xsl-"
|
||||
,(package-version docbook-xsl))
|
||||
"-DWITH_PULSE=ON"
|
||||
"-DWITH_CUPS=ON")
|
||||
#:tests? #f)) ; no 'test' target
|
||||
(home-page "https://www.freerdp.com")
|
||||
(synopsis "Remote Desktop Protocol implementation")
|
||||
(description "FreeRDP implements Microsoft's Remote Desktop Protocol.
|
||||
(package
|
||||
(name "freerdp")
|
||||
(version "2.0.0-rc4")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "git://github.com/FreeRDP/FreeRDP.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0546i0m2d4nz5jh84ngwzpcm3c43fp987jk6cynqspsmvapab6da"))))
|
||||
(build-system cmake-build-system)
|
||||
(native-inputs
|
||||
`(("docbook-xml" ,docbook-xml)
|
||||
("docbook-xsl" ,docbook-xsl)
|
||||
("glib" ,glib)
|
||||
("libxml2" ,libxml2)
|
||||
("libxslt" ,libxslt)
|
||||
("pkg-config" ,pkg-config)
|
||||
("xmlto" ,xmlto)))
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("cups" ,cups)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("libjpeg" ,libjpeg)
|
||||
("libx11" ,libx11)
|
||||
("libxkbcommon" ,libxkbcommon)
|
||||
("libxkbfile" ,libxkbfile)
|
||||
("libxcursor" ,libxcursor)
|
||||
("libxext" ,libxext)
|
||||
("libxi" ,libxi)
|
||||
("libxv" ,libxv)
|
||||
("libxrandr" ,libxrandr)
|
||||
("libxrender" ,libxrender)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxshmfence" ,libxshmfence)
|
||||
("openssl" ,openssl)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("wayland" ,wayland)
|
||||
("zlib" ,zlib)))
|
||||
(arguments
|
||||
`(#:build-type "RELEASE"
|
||||
#:configure-flags
|
||||
(list "-DWITH_JPEG=ON"
|
||||
"-DWITH_LIBSYSTEMD=OFF"
|
||||
,@(if (string-prefix? "x86_64"
|
||||
(or (%current-target-system)
|
||||
(%current-system)))
|
||||
'("-DWITH_SSE2=ON")
|
||||
'())
|
||||
(string-append "-DDOCBOOKXSL_DIR="
|
||||
(assoc-ref %build-inputs "docbook-xsl")
|
||||
"/xml/xsl/docbook-xsl-"
|
||||
,(package-version docbook-xsl))
|
||||
"-DWITH_PULSE=ON"
|
||||
"-DWITH_CUPS=ON"
|
||||
"-DBUILD_TESTING=ON")))
|
||||
(home-page "https://www.freerdp.com")
|
||||
(synopsis "Remote Desktop Protocol implementation")
|
||||
(description "FreeRDP implements Microsoft's Remote Desktop Protocol.
|
||||
It consists of the @code{xfreerdp} client, libraries for client and server
|
||||
functionality, and Windows Portable Runtime (WinPR), a portable implementation
|
||||
of parts of the Windows API.")
|
||||
(license license:asl2.0))))
|
||||
(license license:asl2.0)))
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Clément Lassieur <clement@lassieur.org>
|
||||
;;; Copyright © 2018 Vasile Dumitrascu <va511e@yahoo.com>
|
||||
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -145,74 +147,6 @@ a focus on simplicity and productivity.")
|
|||
(delete-file-recursively "ext/fiddle/libffi-3.2.1")
|
||||
#t))))))
|
||||
|
||||
(define-public ruby-2.2
|
||||
(package (inherit ruby)
|
||||
(version "2.2.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
|
||||
(version-major+minor version)
|
||||
"/ruby-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0l5nk9mc0q4769d2i9d9y1izk0pk0lms2bl8s3lclv36wsvvqxxz"))))))
|
||||
|
||||
(define-public ruby-2.1
|
||||
(package (inherit ruby)
|
||||
(version "2.1.10")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
|
||||
(version-major+minor version)
|
||||
"/ruby-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1wglbd599mlwxfcb2xgqcxi2shr363pjn5dpbv11m04si9bpaim7"))))
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:parallel-tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'replace-bin-sh
|
||||
(lambda _
|
||||
(substitute* '("Makefile.in"
|
||||
"ext/pty/pty.c"
|
||||
"io.c"
|
||||
"lib/mkmf.rb"
|
||||
"process.c")
|
||||
(("/bin/sh") (which "sh")))
|
||||
#t)))))))
|
||||
|
||||
(define-public ruby-1.8
|
||||
(package (inherit ruby)
|
||||
(version "1.8.7-p374")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://cache.ruby-lang.org/pub/ruby/"
|
||||
(version-major+minor version)
|
||||
"/ruby-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"1qq7khilwkayrhwmzlxk83scrmiqfi7lgsn4c63znyvz2c1lgqxl"))))
|
||||
(native-search-paths '())
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
#:parallel-tests? #f
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'configure 'replace-bin-sh
|
||||
(lambda _
|
||||
(substitute* '("Makefile.in"
|
||||
"ext/pty/pty.c"
|
||||
"io.c"
|
||||
"lib/mkmf.rb"
|
||||
"process.c")
|
||||
(("/bin/sh") (which "sh")))
|
||||
#t)))))))
|
||||
|
||||
(define-public ruby-highline
|
||||
(package
|
||||
(name "ruby-highline")
|
||||
|
@ -3346,14 +3280,14 @@ alternative to Marshal for Object serialization. ")
|
|||
(define-public ruby-pg
|
||||
(package
|
||||
(name "ruby-pg")
|
||||
(version "0.21.0")
|
||||
(version "1.1.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (rubygems-uri "pg" version))
|
||||
(sha256
|
||||
(base32
|
||||
"00vhasqwc4f98qb4wxqn2h07fjwzhp5lwyi41j2gndi2g02wrdqh"))))
|
||||
"1pnjw3rspdfjssxyf42jnbsdlgri8ylysimp0s28wxb93k6ff2qb"))))
|
||||
(build-system ruby-build-system)
|
||||
(arguments
|
||||
'(#:test-target "spec"))
|
||||
|
@ -3365,7 +3299,7 @@ alternative to Marshal for Object serialization. ")
|
|||
`(("postgresql" ,postgresql-9.6)))
|
||||
(synopsis "Ruby interface to PostgreSQL")
|
||||
(description "Pg is the Ruby interface to the PostgreSQL RDBMS. It works
|
||||
with PostgreSQL 8.4 and later.")
|
||||
with PostgreSQL 9.0 and later.")
|
||||
(home-page "https://bitbucket.org/ged/ruby-pg")
|
||||
(license license:ruby)))
|
||||
|
||||
|
|
|
@ -224,17 +224,17 @@ features an integrated Emacs-like editor and a large runtime library.")
|
|||
;; long after the initial publication: <https://bugs.gnu.org/33525>. For
|
||||
;; transparency, we give this "second 4.3b" release a different version
|
||||
;; number.
|
||||
(let ((upstream-version "4.3b"))
|
||||
(let ((upstream-version "4.3e"))
|
||||
(package
|
||||
(name "bigloo")
|
||||
(version "4.3b2")
|
||||
(version "4.3e1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Bigloo/bigloo"
|
||||
upstream-version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"02s0wrz5b1p0yqk9x6kax1vwzil7g9cyxfvl3vmy7fzznsza9gs4"))
|
||||
"12k1kxyn3yilba0508xh8wkrw6279gnghzqi0bs2ayf5d2wkqdj3"))
|
||||
;; Remove bundled libraries.
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -320,14 +320,14 @@ and between Scheme and Java programs.")
|
|||
(define-public hop
|
||||
(package
|
||||
(name "hop")
|
||||
(version "3.1.0-pre2")
|
||||
(version "3.2.0-pre1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "ftp://ftp-sop.inria.fr/indes/fp/Hop/hop-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0bvq79vxcpgwydwi923cxb5w9isx2x8r3d0xndbdhacmmsw1m811"))))
|
||||
"0jf418d0s9imv98s6qrpjxr1mdaxr37knh5qyfl5y4a9cc41mlg5"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:test-target "test"
|
||||
|
@ -338,8 +338,12 @@ and between Scheme and Java programs.")
|
|||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(substitute* '("tools/Makefile"
|
||||
"test/hopjs/TEST.in")
|
||||
(("/bin/rm") (which "rm")))
|
||||
(invoke "./configure"
|
||||
(string-append "--prefix=" out)
|
||||
"--hostcc=gcc"
|
||||
(string-append "--blflags="
|
||||
;; user flags completely override useful
|
||||
;; default flags, so repeat them here.
|
||||
|
@ -367,14 +371,14 @@ mashups, office (web agendas, mail clients, ...), etc.")
|
|||
(define-public chicken
|
||||
(package
|
||||
(name "chicken")
|
||||
(version "4.13.0")
|
||||
(version "5.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://code.call-cc.org/releases/"
|
||||
version "/chicken-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0hvckhi5gfny3mlva6d7y9pmx7cbwvq0r7mk11k3sdiik9hlkmdd"))))
|
||||
"15b5yrzfa8aimzba79x7v6y282f898rxqxfxrr446sjx9jwlpfd8"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
|
@ -551,7 +555,7 @@ of libraries.")
|
|||
(define-public gambit-c
|
||||
(package
|
||||
(name "gambit-c")
|
||||
(version "4.9.0")
|
||||
(version "4.9.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -561,14 +565,14 @@ of libraries.")
|
|||
(string-map (lambda (c) (if (char=? c #\.) #\_ c)) version)
|
||||
".tgz"))
|
||||
(sha256
|
||||
(base32 "19862w9ij0g5xrkskl4g89xbs17gp9cc6cfcdca6dlfkb3lk6xhp"))))
|
||||
(base32 "14x9xa0yh7187alzw2m937jnh4csj0dyywi3va8bhi7aaw4p5qai"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
'(#:configure-flags
|
||||
;; According to the ./configure script, this makes the build slower and
|
||||
;; use >= 1 GB memory, but makes Gambit much faster.
|
||||
'("--enable-single-host")))
|
||||
(home-page "http://gambitscheme.org")
|
||||
(home-page "http://dynamo.iro.umontreal.ca/wiki/index.php/Main_Page")
|
||||
(synopsis "Efficient Scheme interpreter and compiler")
|
||||
(description
|
||||
"Gambit consists of two main programs: gsi, the Gambit Scheme
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2016, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Corentin Bocquillon <corentin@nybble.fr>
|
||||
;;; Copyright © 2017 Gregor Giesen <giesen@zaehlwerk.net>
|
||||
;;; Copyright © 2017 Frederick M. Muriithi <fredmanglis@gmail.com>
|
||||
|
@ -34,20 +34,17 @@
|
|||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
#:use-module (guix build-system r)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cran)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages lua)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages statistics))
|
||||
#:use-module (gnu packages perl))
|
||||
|
||||
(define-public cereal
|
||||
(package
|
||||
|
@ -402,14 +399,14 @@ However, “Memory efficiency” and “Speed” have not been primary goals.")
|
|||
(define-public python-ruamel.yaml
|
||||
(package
|
||||
(name "python-ruamel.yaml")
|
||||
(version "0.15.37")
|
||||
(version "0.15.83")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "ruamel.yaml" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0629xzlwbddfwp8lkjz3mpvxhml9kx17cfs8aydzg55idzcl562h"))))
|
||||
"0p4i8ad28cbbbjja8b9274irkhnphhvhap3aym6yb8xfp1d72kpw"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-pytest" ,python-pytest)))
|
||||
|
@ -477,28 +474,6 @@ C#, C, Go, Java, JavaScript, PHP, and Python. It was originally created for
|
|||
game development and other performance-critical applications.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public r-feather
|
||||
(package
|
||||
(name "r-feather")
|
||||
(version "0.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (cran-uri "feather" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1q6dbkfnkpnabq8lb6bm9ma44cfcghx2lm23pyk3vg7943wrn1pi"))))
|
||||
(build-system r-build-system)
|
||||
(propagated-inputs
|
||||
`(("r-hms" ,r-hms)
|
||||
("r-rcpp" ,r-rcpp)
|
||||
("r-tibble" ,r-tibble)))
|
||||
(home-page "https://github.com/wesm/feather")
|
||||
(synopsis "R Bindings to the Feather API")
|
||||
(description "Read and write feather files, a lightweight binary columnar
|
||||
daa store designed for maximum speed.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public python-feather-format
|
||||
(package
|
||||
(name "python-feather-format")
|
||||
|
|
|
@ -46,7 +46,6 @@
|
|||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix build utils)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system python)
|
||||
|
|
|
@ -9,6 +9,8 @@
|
|||
;;; Copyright © 2016, 2017 Raoul Bonnal <ilpuccio.febo@gmail.com>
|
||||
;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
|
||||
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017 Alex Kost <alezost@gmail.com>
|
||||
;;; Copyright © 2018 Alex Branham <alex.branham@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -45,6 +47,7 @@
|
|||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages cran)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages emacs)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages gettext)
|
||||
|
@ -5711,6 +5714,64 @@ plotting function (and equivalents of curve, density, acf and barplot) as well
|
|||
as a boxplot function.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public python-rpy2
|
||||
(package
|
||||
(name "python-rpy2")
|
||||
(version "2.9.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "rpy2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0bl1d2qhavmlrvalir9hmkjh74w21vzkvc2sg3cbb162s10zfmxy"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:modules ((ice-9 ftw)
|
||||
(srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(guix build utils)
|
||||
(guix build python-build-system))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key outputs inputs #:allow-other-keys)
|
||||
(let ((cwd (getcwd)))
|
||||
(setenv "PYTHONPATH"
|
||||
(string-append cwd "/build/"
|
||||
(find (cut string-prefix? "lib" <>)
|
||||
(scandir (string-append cwd "/build")))
|
||||
":"
|
||||
(getenv "PYTHONPATH"))))
|
||||
(invoke "python" "-m" "rpy2.tests" "-v"))))))
|
||||
(propagated-inputs
|
||||
`(("python-six" ,python-six)
|
||||
("python-jinja2" ,python-jinja2)
|
||||
("python-pytz" ,python-pytz)))
|
||||
(inputs
|
||||
`(("readline" ,readline)
|
||||
("icu4c" ,icu4c)
|
||||
("pcre" ,pcre)
|
||||
("r-minimal" ,r-minimal)
|
||||
("r-survival" ,r-survival)
|
||||
("r-ggplot2" ,r-ggplot2)
|
||||
("r-rsqlite" ,r-rsqlite)
|
||||
("r-dplyr" ,r-dplyr)
|
||||
("r-dbplyr" ,r-dbplyr)
|
||||
("python-numpy" ,python-numpy)))
|
||||
(native-inputs
|
||||
`(("zlib" ,zlib)))
|
||||
(home-page "https://rpy2.bitbucket.io/")
|
||||
(synopsis "Python interface to the R language")
|
||||
(description "rpy2 is a redesign and rewrite of rpy. It is providing a
|
||||
low-level interface to R from Python, a proposed high-level interface,
|
||||
including wrappers to graphical libraries, as well as R-like structures and
|
||||
functions.")
|
||||
;; Any of these licenses can be picked for the R interface. The whole
|
||||
;; project is released under GPLv2+ according to the license declaration
|
||||
;; in "setup.py".
|
||||
(license (list license:mpl2.0 license:gpl2+ license:lgpl2.1+))))
|
||||
|
||||
(define-public java-jdistlib
|
||||
(package
|
||||
(name "java-jdistlib")
|
||||
|
@ -5747,3 +5808,70 @@ Java package that provides routines for various statistical distributions.")
|
|||
;; are under the GPLv3, which is a mistake. The author confirmed in an
|
||||
;; email that this whole project should be under GPLv2+.
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public emacs-ess
|
||||
(package
|
||||
(name "emacs-ess")
|
||||
(version "17.11")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/emacs-ess/ESS/archive/v"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0cbilbsiwvcyf6d5y24mymp57m3ana5dkzab3knfs83w4a3a4c5c"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Stop ESS from trying to bundle an external julia-mode.el.
|
||||
(substitute* "lisp/Makefile"
|
||||
(("^\tjulia-mode.elc\\\\\n") "")
|
||||
(("^dist: all julia-mode.el")
|
||||
"dist: all"))
|
||||
;; No need to build docs in so many formats. Also, skipping
|
||||
;; pdf lets us not pull in texlive.
|
||||
(substitute* "doc/Makefile"
|
||||
(("all : info text html pdf")
|
||||
"all : info")
|
||||
(("install: install-info install-other-docs")
|
||||
"install: install-info"))
|
||||
;; Test fails upstream
|
||||
(substitute* "test/ess-r-tests.el"
|
||||
(("ert-deftest ess-r-namespaced-eval-no-srcref-in-errors ()")
|
||||
"ert-deftest ess-r-namespaced-eval-no-srcref-in-errors () :expected-result :failed"))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
(let ((base-directory "/share/emacs/site-lisp/guix.d/ess"))
|
||||
`(#:make-flags (list (string-append "PREFIX=" %output)
|
||||
(string-append "ETCDIR=" %output "/"
|
||||
,base-directory "/etc")
|
||||
(string-append "LISPDIR=" %output "/"
|
||||
,base-directory))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(add-before 'build 'more-shebang-patching
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "Makeconf"
|
||||
(("SHELL = /bin/sh")
|
||||
(string-append "SHELL = " (which "sh"))))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda _
|
||||
(invoke "make" "test")))))))
|
||||
(inputs
|
||||
`(("emacs" ,emacs-minimal)
|
||||
("r-minimal" ,r-minimal)))
|
||||
(native-inputs
|
||||
`(("perl" ,perl)
|
||||
("texinfo" ,texinfo)))
|
||||
(propagated-inputs
|
||||
`(("emacs-julia-mode" ,emacs-julia-mode)))
|
||||
(home-page "https://ess.r-project.org/")
|
||||
(synopsis "Emacs mode for statistical analysis programs")
|
||||
(description "Emacs Speaks Statistics (ESS) is an add-on package for GNU
|
||||
Emacs. It is designed to support editing of scripts and interaction with
|
||||
various statistical analysis programs such as R, Julia, and JAGS.")
|
||||
(license license:gpl2+)))
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2015, 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
|
||||
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Ludovic Courtès <ludo@gnu.org>
|
||||
|
@ -48,14 +48,14 @@
|
|||
(define-public owncloud-client
|
||||
(package
|
||||
(name "owncloud-client")
|
||||
(version "2.4.1")
|
||||
(version "2.5.1.10973")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.owncloud.com/desktop/stable/"
|
||||
"owncloudclient-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "08xayz0alvypwa1bjmw1rmh4m3sclld4yq7kcbf264983icawqj4"))
|
||||
(base32 "19x4rbnqg7f7hspz1xy86b1q51q1n5y7yvq8kqc1m64n2r2s3srk"))
|
||||
(patches (search-patches "owncloud-disable-updatecheck.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
|
@ -109,14 +109,14 @@ silently and reliably flow across to every other.")
|
|||
(version "0.5.8")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/sieren/QSyncthingTray/archive/"
|
||||
version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/sieren/QSyncthingTray")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1024778ml7q62ziqm4d22z5sc1715l34846pwfyzfpcyl32qlhpz"))))
|
||||
"1n9g4j7qznvg9zl6x163pi9f7wsc3x6q76i33psnm7x2v1i22x5w"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-DQST_BUILD_WEBKIT=1")
|
||||
|
@ -128,12 +128,10 @@ silently and reliably flow across to every other.")
|
|||
(let* ((out (assoc-ref outputs "out"))
|
||||
(bin (string-append out "/bin")))
|
||||
(install-file "QSyncthingTray" bin)
|
||||
(install-file (string-append
|
||||
"../QSyncthingTray-"
|
||||
,(package-version qsyncthingtray)
|
||||
"/resources/images/Icon1024.png")
|
||||
(string-append
|
||||
out "/share/pixmaps/QSyncthingTray.png"))
|
||||
(mkdir-p (string-append out "/share/pixmaps"))
|
||||
(copy-file "../source/resources/images/Icon1024.png"
|
||||
(string-append
|
||||
out "/share/pixmaps/QSyncthingTray.png"))
|
||||
#t))))
|
||||
#:tests? #f)) ; no test target
|
||||
(inputs
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
(define-public syncthing
|
||||
(package
|
||||
(name "syncthing")
|
||||
(version "0.14.54")
|
||||
(version "1.0.0")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/syncthing/syncthing"
|
||||
|
@ -38,7 +38,7 @@
|
|||
"/syncthing-source-v" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1pfjckwsrhy8lbmy42fawgh1gcfmjbh3dfxx05w5yjxnpd1g2z6r"))
|
||||
"0992nsdiw374pbh1dywg7c2jijzy4xmsv0b7q5p76xn2yyg5yhr7"))
|
||||
;; Since the update to Go 1.11, Go programs have been keeping
|
||||
;; spurious references to all their dependencies:
|
||||
;; <https://bugs.gnu.org/33620>.
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue