3
5
Fork 0
mirror of git://git.savannah.gnu.org/guix.git synced 2023-12-14 03:33:07 +01:00

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

This commit is contained in:
Efraim Flashner 2022-06-01 12:31:09 +03:00
commit 64c043e63a
Signed by untrusted user: efraim
GPG key ID: 41AAE7DCCA3D8351
170 changed files with 7358 additions and 13328 deletions

View file

@ -18659,20 +18659,6 @@ List of additional command-line arguments to pass to the daemon.
@end table
@end deftp
@cindex wicd
@cindex wireless
@cindex WiFi
@cindex network management
@deffn {Scheme Procedure} wicd-service [#:wicd @var{wicd}]
Return a service that runs @url{https://launchpad.net/wicd,Wicd}, a network
management daemon that aims to simplify wired and wireless networking.
This service adds the @var{wicd} package to the global profile, providing
several commands to interact with the daemon and configure networking:
@command{wicd-client}, a graphical user interface, and the @command{wicd-cli}
and @command{wicd-curses} user interfaces.
@end deffn
@cindex ModemManager
Some networking devices such as modems require special care, and this is
what the services below focus on.

View file

@ -6,6 +6,7 @@
;;; Copyright © 2020, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,19 +29,19 @@
;;; Code:
(import (sxml xpath)
(srfi srfi-1)
(srfi srfi-2)
(srfi srfi-9)
(srfi srfi-11)
(srfi srfi-26)
(ice-9 format)
(ice-9 popen)
(ice-9 match)
(ice-9 rdelim)
(ice-9 regex)
(ice-9 textual-ports)
(guix gexp))
(use-modules ((sxml xpath) #:prefix xpath:)
(srfi srfi-1)
(srfi srfi-2)
(srfi srfi-9)
(srfi srfi-11)
(srfi srfi-26)
(ice-9 format)
(ice-9 popen)
(ice-9 match)
(ice-9 rdelim)
(ice-9 regex)
(ice-9 textual-ports)
(guix gexp))
(define* (break-string str #:optional (max-line-length 70))
"Break the string STR into lines that are no longer than MAX-LINE-LENGTH.
@ -100,12 +101,16 @@ LINE-NO in PORT."
(read-line port)
(loop (1- i) last-top-level-sexp))))))
;;; Whether the hunk contains a newly added package (definition), a removed
;;; package (removal) or something else (#false).
(define hunk-types '(addition removal #false))
(define-record-type <hunk>
(make-hunk file-name
old-line-number
new-line-number
diff-lines
definition?)
type)
hunk?
(file-name hunk-file-name)
;; Line number before the change
@ -114,8 +119,8 @@ LINE-NO in PORT."
(new-line-number hunk-new-line-number)
;; The full diff to be used with "git apply --cached"
(diff-lines hunk-diff-lines)
;; Does this hunk add a definition?
(definition? hunk-definition?))
;; Does this hunk add or remove a package?
(type hunk-type)) ;one of 'hunk-types'
(define* (hunk->patch hunk #:optional (port (current-output-port)))
(let ((file-name (hunk-file-name hunk)))
@ -133,25 +138,30 @@ LINE-NO in PORT."
;; new definitions with changes to existing
;; definitions.
"--unified=1"
"gnu")))
"--" "gnu")))
(define (extract-line-number line-tag)
(abs (string->number
(car (string-split line-tag #\,)))))
(define (read-hunk)
(let loop ((lines '())
(definition? #false))
(type #false))
(let ((line (read-line port 'concat)))
(cond
((eof-object? line)
(values (reverse lines) definition?))
(values (reverse lines) type))
((or (string-prefix? "@@ " line)
(string-prefix? "diff --git" line))
(unget-string port line)
(values (reverse lines) definition?))
(values (reverse lines) type))
(else
(loop (cons line lines)
(or definition?
(string-prefix? "+(define" line))))))))
(or type
(cond
((string-prefix? "+(define" line)
'addition)
((string-prefix? "-(define" line)
'removal)
(else #false)))))))))
(define info
(let loop ((acc '())
(file-name #f))
@ -166,13 +176,13 @@ LINE-NO in PORT."
(match (string-split line #\space)
((_ old-start new-start . _)
(let-values
(((diff-lines definition?) (read-hunk)))
(((diff-lines type) (read-hunk)))
(loop (cons (make-hunk file-name
(extract-line-number old-start)
(extract-line-number new-start)
(cons (string-append line "\n")
diff-lines)
definition?) acc)
type) acc)
file-name)))))
(else (loop acc file-name))))))
(close-pipe port)
@ -214,10 +224,10 @@ corresponding to the top-level definition containing the staged changes."
(define* (change-commit-message file-name old new #:optional (port (current-output-port)))
"Print ChangeLog commit message for changes between OLD and NEW."
(define (get-values expr field)
(match ((sxpath `(// ,field quasiquote *)) expr)
(match ((xpath:sxpath `(// ,field quasiquote *)) expr)
(()
;; New-style plain lists
(match ((sxpath `(// ,field list *)) expr)
(match ((xpath:sxpath `(// ,field list *)) expr)
((inner) inner)
(_ '())))
;; Old-style labelled inputs
@ -234,7 +244,7 @@ corresponding to the top-level definition containing the staged changes."
(define variable-name
(second old))
(define version
(and=> ((sxpath '(// version *any*)) new)
(and=> ((xpath:sxpath '(// version *any*)) new)
first))
(format port
"gnu: ~a: Update to ~a.~%~%* ~a (~a): Update to ~a.~%"
@ -262,10 +272,18 @@ corresponding to the top-level definition containing the staged changes."
(listify added))))))))))
'(inputs propagated-inputs native-inputs)))
(define* (add-commit-message file-name variable-name #:optional (port (current-output-port)))
"Print ChangeLog commit message for a change to FILE-NAME adding a definition."
(format port
"gnu: Add ~a.~%~%* ~a (~a): New variable.~%"
(define* (add-commit-message file-name variable-name
#:optional (port (current-output-port)))
"Print ChangeLog commit message for a change to FILE-NAME adding a
definition."
(format port "gnu: Add ~a.~%~%* ~a (~a): New variable.~%"
variable-name file-name variable-name))
(define* (remove-commit-message file-name variable-name
#:optional (port (current-output-port)))
"Print ChangeLog commit message for a change to FILE-NAME removing a
definition."
(format port "gnu: Remove ~a.~%~%* ~a (~a): Delete variable.~%"
variable-name file-name variable-name))
(define* (custom-commit-message file-name variable-name message changelog
@ -344,66 +362,67 @@ modifying."
(()
(display "Nothing to be done.\n" (current-error-port)))
(hunks
(let-values
(((definitions changes)
(partition hunk-definition? hunks)))
(let-values (((definitions changes) (partition hunk-type hunks)))
;; Additions/removals.
(for-each
(lambda (hunk)
(and-let* ((define-line (find (cut string-match "(\\+|-)\\(define" <>)
(hunk-diff-lines hunk)))
(variable-name (and=> (string-tokenize define-line)
second))
(commit-message-proc (match (hunk-type hunk)
('addition add-commit-message)
('removal remove-commit-message))))
(commit-message-proc (hunk-file-name hunk) variable-name)
(let ((port (open-pipe* OPEN_WRITE
"git" "apply"
"--cached"
"--unidiff-zero")))
(hunk->patch hunk port)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot apply")))
;; Additions.
(for-each (lambda (hunk)
(and-let*
((define-line (find (cut string-prefix? "+(define" <>)
(hunk-diff-lines hunk)))
(variable-name (and=> (string-tokenize define-line) second)))
(add-commit-message (hunk-file-name hunk) variable-name)
(let ((port (open-pipe* OPEN_WRITE
"git" "apply"
"--cached"
"--unidiff-zero")))
(hunk->patch hunk port)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot apply")))
(let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-")))
(commit-message-proc (hunk-file-name hunk) variable-name port)
(usleep %delay)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot commit"))))
(usleep %delay))
definitions))
(let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-")))
(add-commit-message (hunk-file-name hunk)
variable-name port)
(usleep %delay)
;; Changes.
(for-each
(match-lambda
((new old . hunks)
(for-each (lambda (hunk)
(let ((port (open-pipe* OPEN_WRITE
"git" "apply"
"--cached"
"--unidiff-zero")))
(hunk->patch hunk port)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot commit"))))
(usleep %delay))
definitions)
;; Changes.
(for-each (match-lambda
((new old . hunks)
(for-each (lambda (hunk)
(let ((port (open-pipe* OPEN_WRITE
"git" "apply"
"--cached"
"--unidiff-zero")))
(hunk->patch hunk port)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot apply")))
(usleep %delay))
hunks)
(define copyright-line
(any (lambda (line) (and=> (string-prefix? "+;;; Copyright ©" line)
(const line)))
(hunk-diff-lines (first hunks))))
(cond
(copyright-line
(add-copyright-line copyright-line))
(else
(let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-")))
(change-commit-message* (hunk-file-name (first hunks))
old new)
(change-commit-message* (hunk-file-name (first hunks))
old new
port)
(usleep %delay)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot commit")))))))
;; XXX: we recompute the hunks here because previous
;; insertions lead to offsets.
(new+old+hunks (diff-info)))))))
(error "Cannot apply")))
(usleep %delay))
hunks)
(define copyright-line
(any (lambda (line) (and=> (string-prefix? "+;;; Copyright ©" line)
(const line)))
(hunk-diff-lines (first hunks))))
(cond
(copyright-line
(add-copyright-line copyright-line))
(else
(let ((port (open-pipe* OPEN_WRITE "git" "commit" "-F" "-")))
(change-commit-message* (hunk-file-name (first hunks))
old new)
(change-commit-message* (hunk-file-name (first hunks))
old new
port)
(usleep %delay)
(unless (eqv? 0 (status:exit-val (close-pipe port)))
(error "Cannot commit")))))))
;; XXX: we recompute the hunks here because previous
;; insertions lead to offsets.
(new+old+hunks (diff-info))))))
(apply main (cdr (command-line)))

View file

@ -117,58 +117,59 @@ _guix_is_removing ()
$result
}
_guix_is_short_option ()
{
case "${COMP_WORDS[$COMP_CWORD - 1]}" in
--*) false;;
-*$1) true ;;
*) false ;;
esac
}
_guix_is_long_option ()
{
# Don't handle (non-GNU?) --long-option VALUE, as Guix doesn't either.
case "${COMP_WORDS[$COMP_CWORD]}" in
--$1=*) true ;;
*) false ;;
esac
}
_guix_is_dash_f ()
{
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-f" ] \
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
--file=*|--install-from-file=*) true;;
*) false;;
esac }
_guix_is_short_option f ||
_guix_is_long_option file ||
_guix_is_long_option install-from-file
}
_guix_is_dash_l ()
{
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-l" ] \
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
--load=*) true;;
*) false;;
esac }
_guix_is_short_option l ||
_guix_is_long_option load
}
_guix_is_dash_L ()
{
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-L" ] \
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
--load-path=*) true;;
*) false;;
esac }
_guix_is_short_option L ||
_guix_is_long_option load-path
}
_guix_is_dash_m ()
{
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-m" ] \
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
--manifest=*) true;;
*) false;;
esac }
_guix_is_short_option m ||
_guix_is_long_option manifest
}
_guix_is_dash_C ()
{
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-C" ] \
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
--channels=*) true;;
*) false;;
esac }
_guix_is_short_option C ||
_guix_is_long_option channels
}
_guix_is_dash_p ()
{
[ "${COMP_WORDS[$COMP_CWORD - 1]}" = "-p" ] \
|| { case "${COMP_WORDS[$COMP_CWORD]}" in
--profile=*) true;;
*) false;;
esac }
_guix_is_short_option p ||
_guix_is_long_option profile
}
_guix_complete_file ()

View file

@ -95,16 +95,18 @@ turn doesn't take any constant overhead into account, force a 1-MiB minimum."
(estimate-partition-size root)
size)))))))
(define* (make-vfat-image partition target root)
(define* (make-vfat-image partition target root fs-bits)
"Handle the creation of VFAT partition images. See 'make-partition-image'."
(let ((size (partition-size partition))
(label (partition-label partition)))
(invoke "fakeroot" "mkdosfs" "-n" label "-C" target
"-F" "16" "-S" "1024"
(size-in-kib
(if (eq? size 'guess)
(estimate-partition-size root)
size)))
(label (partition-label partition))
(flags (partition-flags partition)))
(apply invoke "fakeroot" "mkdosfs" "-n" label "-C" target
"-F" (number->string fs-bits)
(size-in-kib
(if (eq? size 'guess)
(estimate-partition-size root)
size))
(if (member 'esp flags) (list "-S" "1024") '()))
(for-each (lambda (file)
(unless (member file '("." ".."))
(invoke "mcopy" "-bsp" "-i" target
@ -120,8 +122,10 @@ ROOT directory to populate the image."
(cond
((string-prefix? "ext" type)
(make-ext-image partition target root))
((string=? type "vfat")
(make-vfat-image partition target root))
((or (string=? type "vfat") (string=? type "fat16"))
(make-vfat-image partition target root 16))
((string=? type "fat32")
(make-vfat-image partition target root 32))
(else
(raise (condition
(&message

View file

@ -612,7 +612,6 @@ GNU_SYSTEM_MODULES = \
%D%/packages/web-browsers.scm \
%D%/packages/webkit.scm \
%D%/packages/wget.scm \
%D%/packages/wicd.scm \
%D%/packages/wine.scm \
%D%/packages/wireservice.scm \
%D%/packages/wm.scm \
@ -826,8 +825,6 @@ MODULES_NOT_COMPILED += \
patchdir = $(guilemoduledir)/%D%/packages/patches
dist_patch_DATA = \
%D%/packages/patches/4store-fix-buildsystem.patch \
%D%/packages/patches/4store-unset-preprocessor-directive.patch \
%D%/packages/patches/a2ps-CVE-2001-1593.patch \
%D%/packages/patches/a2ps-CVE-2014-0466.patch \
%D%/packages/patches/a2ps-CVE-2015-8107.patch \
@ -917,6 +914,7 @@ dist_patch_DATA = \
%D%/packages/patches/bloomberg-bde-cmake-module-path.patch \
%D%/packages/patches/bloomberg-bde-tools-fix-install-path.patch \
%D%/packages/patches/bpftrace-disable-bfd-disasm.patch \
%D%/packages/patches/breezy-fix-gio.patch \
%D%/packages/patches/byobu-writable-status.patch \
%D%/packages/patches/bubblewrap-fix-locale-in-tests.patch \
%D%/packages/patches/cabal-install-base16-bytestring1.0.patch \
@ -926,7 +924,6 @@ dist_patch_DATA = \
%D%/packages/patches/calibre-no-updates-dialog.patch \
%D%/packages/patches/calibre-remove-test-sqlite.patch \
%D%/packages/patches/calibre-remove-test-unrar.patch \
%D%/packages/patches/casync-renameat2-declaration.patch \
%D%/packages/patches/catdoc-CVE-2017-11110.patch \
%D%/packages/patches/circos-remove-findbin.patch \
%D%/packages/patches/cdparanoia-fpic.patch \
@ -1023,11 +1020,13 @@ dist_patch_DATA = \
%D%/packages/patches/elm-offline-package-registry.patch \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/elogind-revert-polkit-detection.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-exec-path.patch \
%D%/packages/patches/emacs-ess-fix-obsolete-function-alias.patch \
%D%/packages/patches/emacs-git-email-missing-parens.patch \
%D%/packages/patches/emacs-fix-scheme-indent-function.patch \
%D%/packages/patches/emacs-json-reformat-fix-tests.patch \
%D%/packages/patches/emacs-helpful-fix-docstring-test.patch \
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
%D%/packages/patches/emacs-hyperbole-toggle-messaging.patch \
%D%/packages/patches/emacs-libgit-use-system-libgit2.patch \
@ -1130,6 +1129,7 @@ dist_patch_DATA = \
%D%/packages/patches/gcc-9-strmov-store-file-names.patch \
%D%/packages/patches/gcc-12-strmov-store-file-names.patch \
%D%/packages/patches/gcc-10-cross-environment-variables.patch \
%D%/packages/patches/gcc-12-cross-environment-variables.patch \
%D%/packages/patches/gcolor3-update-libportal-usage.patch \
%D%/packages/patches/gd-fix-tests-on-i686.patch \
%D%/packages/patches/gd-brect-bounds.patch \
@ -1212,6 +1212,7 @@ dist_patch_DATA = \
%D%/packages/patches/go-github-com-urfave-cli-fix-tests.patch \
%D%/packages/patches/go-github-com-urfave-cli-v2-fix-tests.patch \
%D%/packages/patches/go-skip-gc-test.patch \
%D%/packages/patches/gourmet-sqlalchemy-compat.patch \
%D%/packages/patches/gpaste-fix-paths.patch \
%D%/packages/patches/gpm-glibc-2.26.patch \
%D%/packages/patches/gpodder-disable-updater.patch \
@ -1234,6 +1235,7 @@ dist_patch_DATA = \
%D%/packages/patches/guile-3.0-relocatable.patch \
%D%/packages/patches/guile-linux-syscalls.patch \
%D%/packages/patches/guile-3.0-linux-syscalls.patch \
%D%/packages/patches/guile-ac-d-bus-fix-tests.patch \
%D%/packages/patches/guile-cross-compilation.patch \
%D%/packages/patches/guile-fibers-destroy-peer-schedulers.patch \
%D%/packages/patches/guile-fibers-wait-for-io-readiness.patch \
@ -1298,6 +1300,7 @@ dist_patch_DATA = \
%D%/packages/patches/ipxe-reproducible-geniso.patch \
%D%/packages/patches/irrlicht-use-system-libs.patch \
%D%/packages/patches/isl-0.11.1-aarch64-support.patch \
%D%/packages/patches/itk-snap-alt-glibc-compat.patch \
%D%/packages/patches/json-c-0.13-CVE-2020-12762.patch \
%D%/packages/patches/json-c-0.12-CVE-2020-12762.patch \
%D%/packages/patches/jsoncpp-pkg-config-version.patch \
@ -1487,6 +1490,7 @@ dist_patch_DATA = \
%D%/packages/patches/mesa-skip-tests.patch \
%D%/packages/patches/meson-allow-dirs-outside-of-prefix.patch \
%D%/packages/patches/mhash-keygen-test-segfault.patch \
%D%/packages/patches/mia-fix-boost-headers.patch \
%D%/packages/patches/minetest-add-MINETEST_MOD_PATH.patch \
%D%/packages/patches/mingw-w64-6.0.0-gcc.patch \
%D%/packages/patches/mingw-w64-dlltool-temp-prefix.patch \
@ -1503,13 +1507,6 @@ dist_patch_DATA = \
%D%/packages/patches/monero-use-system-miniupnpc.patch \
%D%/packages/patches/mono-mdoc-timestamping.patch \
%D%/packages/patches/mosaicatcher-unbundle-htslib.patch \
%D%/packages/patches/mozjs17-aarch64-support.patch \
%D%/packages/patches/mozjs24-aarch64-support.patch \
%D%/packages/patches/mozjs38-pkg-config-version.patch \
%D%/packages/patches/mozjs38-shell-version.patch \
%D%/packages/patches/mozjs38-tracelogger.patch \
%D%/packages/patches/mozjs38-version-detection.patch \
%D%/packages/patches/mozjs60-riscv64-support.patch \
%D%/packages/patches/mrrescue-support-love-11.patch \
%D%/packages/patches/mtools-mformat-uninitialized.patch \
%D%/packages/patches/mumps-build-parallelism.patch \
@ -1564,6 +1561,7 @@ dist_patch_DATA = \
%D%/packages/patches/onnx-skip-model-downloads.patch \
%D%/packages/patches/openboardview-use-system-imgui.patch \
%D%/packages/patches/openboardview-use-system-utf8.patch \
%D%/packages/patches/openbox-python3.patch \
%D%/packages/patches/opencascade-oce-glibc-2.26.patch \
%D%/packages/patches/openfoam-4.1-cleanup.patch \
%D%/packages/patches/openjdk-10-idlj-reproducibility.patch \
@ -1703,13 +1701,11 @@ dist_patch_DATA = \
%D%/packages/patches/python-mox3-python3.6-compat.patch \
%D%/packages/patches/python-typing-inspect-fix.patch \
%D%/packages/patches/python-packaging-test-arch.patch \
%D%/packages/patches/python2-parameterized-docstring-test.patch \
%D%/packages/patches/python-paste-remove-timing-test.patch \
%D%/packages/patches/python-pycrypto-CVE-2013-7459.patch \
%D%/packages/patches/python-pycrypto-time-clock.patch \
%D%/packages/patches/python-pyan3-fix-absolute-path-bug.patch \
%D%/packages/patches/python-pyan3-fix-positional-arguments.patch \
%D%/packages/patches/python2-pygobject-2-deprecation.patch \
%D%/packages/patches/python-pygpgme-fix-pinentry-tests.patch \
%D%/packages/patches/python-pytorch-runpath.patch \
%D%/packages/patches/python-pytorch-system-libraries.patch \
@ -1719,7 +1715,6 @@ dist_patch_DATA = \
%D%/packages/patches/python-robotframework-sshlibrary-rf5-compat.patch \
%D%/packages/patches/python-seaborn-kde-test.patch \
%D%/packages/patches/python-seaborn-2690.patch \
%D%/packages/patches/python2-subprocess32-disable-input-test.patch \
%D%/packages/patches/python-unittest2-python3-compat.patch \
%D%/packages/patches/python-unittest2-remove-argparse.patch \
%D%/packages/patches/python-versioneer-guix-support.patch \
@ -1747,7 +1742,6 @@ dist_patch_DATA = \
%D%/packages/patches/ragel-char-signedness.patch \
%D%/packages/patches/randomjungle-disable-static-build.patch \
%D%/packages/patches/range-v3-build-with-gcc10.patch \
%D%/packages/patches/rapicorn-isnan.patch \
%D%/packages/patches/rapidjson-gcc-compat.patch \
%D%/packages/patches/raptor2-heap-overflow.patch \
%D%/packages/patches/ratpoints-sturm_and_rp_private.patch \
@ -1931,18 +1925,18 @@ dist_patch_DATA = \
%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/virtuoso-ose-remove-pre-built-jar-files.patch \
%D%/packages/patches/vsearch-unbundle-cityhash.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt1.patch \
%D%/packages/patches/vte-CVE-2012-2738-pt2.patch \
%D%/packages/patches/vtk-fix-freetypetools-build-failure.patch \
%D%/packages/patches/vtk-7-gcc-10-compat.patch \
%D%/packages/patches/vtk-7-hdf5-compat.patch \
%D%/packages/patches/vtk-7-python-compat.patch \
%D%/packages/patches/warsow-qfusion-fix-bool-return-type.patch \
%D%/packages/patches/webkitgtk-adjust-bubblewrap-paths.patch \
%D%/packages/patches/webrtc-audio-processing-big-endian.patch \
%D%/packages/patches/websocketpp-fix-for-cmake-3.15.patch \
%D%/packages/patches/wicd-bitrate-none-fix.patch \
%D%/packages/patches/wicd-get-selected-profile-fix.patch \
%D%/packages/patches/wicd-urwid-1.3.patch \
%D%/packages/patches/wicd-wpa2-ttls.patch \
%D%/packages/patches/widelands-add-missing-map-include.patch \
%D%/packages/patches/widelands-system-wide_minizip.patch \
%D%/packages/patches/wmctrl-64-fix.patch \

View file

@ -149,32 +149,3 @@ Ada system. Being an interpreter, it does not implement most representation
clauses, and thus does not support systems programming close to the machine
level.")
(license license:gpl2+)))
(define-public python2-langkit
(let ((commit "fe0bc8bf60dbd2937759810df76ac420d99fc15f")
(revision "0"))
(package
(name "python2-langkit")
(version (git-version "0.0.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/AdaCore/langkit")
(commit commit)))
(sha256
(base32
"1abqgw2p8pb1pm54my5kkbbixfhc6l0bwajdv1xlzyrh31xki3wx"))
(file-name (string-append name "-" version "-checkout"))))
(build-system python-build-system)
(propagated-inputs
(list python2-docutils python2-enum34 python2-funcy python2-mako))
(arguments
`(#:python ,python-2
#:tests? #f)) ; Tests would requite gprbuild (Ada).
(synopsis "Semantic analysis tool generator in Python")
(description "@code{Langkit} is a tool whose purpose is to make it easy
to create syntactic and semantic analysis engines. Write a language
specification in our Python DSL and Langkit will generate for you an
Ada library with bindings for the C and Python programming languages.")
(home-page "https://github.com/AdaCore/langkit/")
(license license:gpl3+)))) ; and gcc runtime library exception

View file

@ -2567,42 +2567,6 @@ degradation and failure.")
specified directories.")
(license license:expat)))
(define-public graphios
(package
(name "graphios")
(version "2.0.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "graphios" version))
(sha256
(base32
"1h87hvc315wg6lklbf4l7csd3n5pgljwrfli1p3nasdi0izgn66i"))))
(build-system python-build-system)
(arguments
;; Be warned: Building with Python 3 succeeds, but the build process
;; throws a syntax error that is ignored.
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-before 'build 'fix-setup.py
(lambda* (#:key outputs #:allow-other-keys)
;; Fix hardcoded, unprefixed file names.
(let ((out (assoc-ref outputs "out")))
(substitute* '("setup.py")
(("/etc") (string-append out "/etc"))
(("/usr") out)
(("distro_ver = .*") "distro_ver = ''"))
#t))))))
(home-page "https://github.com/shawn-sterling/graphios")
(synopsis "Emit Nagios metrics to Graphite, Statsd, and Librato")
(description
"Graphios is a script to emit nagios perfdata to various upstream metrics
processing and time-series systems. It's currently compatible with Graphite,
Statsd, Librato and InfluxDB. Graphios can emit Nagios metrics to any number
of supported upstream metrics systems simultaneously.")
(license license:gpl2+)))
(define-public ansible-core
(package
(name "ansible-core")
@ -3191,10 +3155,12 @@ rules is done with the @code{auditctl} utility.")
(,(python-path ndiff)))))))
;; These are the tests that do not require network access.
(replace 'check
(lambda _ (invoke "make"
"check-nse"
"check-ndiff"
"check-dns"))))
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "make"
"check-nse"
"check-ndiff"
"check-dns")))))
;; Nmap can't cope with out-of-source building.
#:out-of-source? #f))
(home-page "https://nmap.org/")
@ -4541,7 +4507,7 @@ supplied by the user when logging in.")
(define-public jc
(package
(name "jc")
(version "1.13.4")
(version "1.19.0")
(source
(origin
;; The PyPI tarball lacks the test suite.
@ -4551,8 +4517,16 @@ supplied by the user when logging in.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0rwvyyrdnw43pixp8h51rncq2inc9pbbj1j2191y5si00pjw34zr"))))
(base32 "021zk0y8kb6v3qf3hwfg8qjzzmrca039nz3fjywiy2njmbhr8hyi"))))
(build-system python-build-system)
(arguments
(list #:phases
#~(modify-phases %standard-phases
;; XXX Guix's America/Los_Angeles time zone is somehow broken.
(add-before 'check 'hack-time-zone
(lambda _
(substitute* (find-files "tests" "^test.*\\.py$")
(("America/Los_Angeles") "PST8PDT")))))))
(propagated-inputs
(list python-pygments python-ruamel.yaml python-xmltodict))
(home-page "https://github.com/kellyjonbrazil/jc")

View file

@ -11,6 +11,7 @@
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Felix Gruber <felgru@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -342,7 +343,7 @@ package for the Game Boy and Game Boy Color. It consists of:
(define-public wla-dx
(package
(name "wla-dx")
(version "9.12")
(version "10.1")
(source (origin
(method git-fetch)
(uri (git-reference
@ -351,12 +352,20 @@ package for the Game Boy and Game Boy Color. It consists of:
(file-name (git-file-name name version))
(sha256
(base32
"1wlbqv2rgk9q6m9an1mi0i29250zl8lw7zipki2bbi9mczpyczli"))))
"1nh2k2xn5fj389gq68f3fxgrxakgn8c6dw2ffqay86s3706hac9w"))))
(build-system cmake-build-system)
(native-inputs
`(("sphinx" ,python-sphinx))) ; to generate man pages
(native-inputs (list python-sphinx)) ; to generate man pages
(arguments
`(#:tests? #f)) ; no tests
`(#:phases
(modify-phases %standard-phases
(add-before 'check 'copy-tests-to-build-directory
(lambda _
(copy-recursively "../source/tests" "tests")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(let ((sh (which "sh")))
(when tests?
(invoke sh "../source/run_tests.sh"))))))))
(home-page "https://github.com/vhelin/wla-dx")
(synopsis "Assemblers for various processors")
(description "WLA DX is a set of tools to assemble assembly files to

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20182022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 by Amar Singh <nly@disroot.org>
;;; Copyright © 2020 R Veera Kumar <vkor@vkten.in>
@ -39,6 +39,7 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages gcc)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gl)
#:use-module (gnu packages glib)
@ -71,6 +72,41 @@
#:use-module (ice-9 match)
#:use-module (srfi srfi-1))
(define-public calceph
(package
(name "calceph")
(version "3.5.1")
(source
(origin
(method url-fetch)
(uri (string-append
"https://www.imcce.fr/content/medias/recherche/equipes/asd/calceph/calceph-"
version ".tar.gz"))
(sha256
(base32 "078wn773pwf4pg9m0h0l00g4aq744pq1rb6kz6plgdpzp3hhpk1k"))))
(build-system gnu-build-system)
(native-inputs
(list gfortran))
(home-page "https://www.imcce.fr/inpop/calceph")
(properties `((release-monitoring-url . ,home-page)))
(synopsis "Astronomical library to access the binary planetary ephemeris files")
(description
"The CALCEPH Library is designed to access the binary planetary ephemeris files,
such INPOPxx and JPL DExxx ephemeris files, (called @code{original JPL binary} or
@code{INPOP 2.0 or 3.0 binary} ephemeris files in the next sections) and the SPICE
kernel files (called @code{SPICE} ephemeris files in the next sections). At the
moment, supported SPICE files are:
@itemize
@item text Planetary Constants Kernel (KPL/PCK) files;
@item binary PCK (DAF/PCK) files;
@item binary SPK (DAF/SPK) files containing segments of type 1, 2, 3, 5, 8, 9,
12, 13, 17, 18, 19, 20, 21, 102, 103 and 120;
@item meta kernel (KPL/MK) files;
@item frame kernel (KPL/FK) files (only basic support).
@end itemize\n")
(license license:cecill)))
(define-public cfitsio
(package
(name "cfitsio")
@ -107,21 +143,20 @@ in FITS files.")
(define-public python-fitsio
(package
(name "python-fitsio")
(version "1.1.5")
(version "1.1.7")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fitsio" version))
(sha256
(base32 "1llql2i6xr9lkdl81jx5nvz80kspamvira90546y32ldy551hq1l"))
(base32 "0q8siijys9kmjnqvyipjgh6hkhf4fwvr1swhsf4if211i9b0m1xy"))
(modules '((guix build utils)))
(snippet
;; Remove the bundled cfitsio
`(begin
(delete-file-recursively "cfitsio3490")
(substitute* "MANIFEST.in"
(("recursive-include cfitsio3490.*$\n") ""))
#t))))
(("recursive-include cfitsio3490.*$\n") ""))))))
(build-system python-build-system)
(arguments
`(#:phases
@ -748,13 +783,13 @@ astronomy and astrophysics.")
(define-public python-astroquery
(package
(name "python-astroquery")
(version "0.4.5")
(version "0.4.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astroquery" version))
(sha256
(base32 "06xy0qzqmps6z5vwfkh5fkhr151p7g94r2j0mvp1rc8zns22y010"))))
(base32 "1vhkzsqlgn3ji5by2rdf2gwklhbyzvpzb1iglalhqjkkrdaaaz1h"))))
(build-system python-build-system)
(arguments
`(#:phases
@ -1366,13 +1401,13 @@ Moon position, etc.")
(define-public python-jplephem
(package
(name "python-jplephem")
(version "2.16")
(version "2.17")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jplephem" version))
(sha256
(base32 "1xvivnsywjaf5lxn3kyg2jhhq393gcwkjrl634m8dn52ypidrcdb"))))
(base32 "09xaibxnwbzzs3x9g3ibqa2la17z3r6in93321glh02dbibfbip1"))))
(build-system python-build-system)
(arguments
`(#:phases

View file

@ -11,7 +11,7 @@
;;; Copyright © 20162022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2018 okapi <okapi@firemail.cc>
;;; Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2018 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2018, 2019 Marius Bakke <mbakke@fastmail.com>
@ -617,8 +617,7 @@ Filter) modules follow the convention of 1V / Octave.")
"--enable-jack"
"--enable-sndfile"
"--enable-samplerate"
"--enable-avcodec")
#:python ,python-2))
"--enable-avcodec")))
(inputs
(list jack-1 libsndfile libsamplerate fftwf ffmpeg)) ; for libavcodec
(native-inputs
@ -2240,23 +2239,23 @@ synchronous execution of all clients, and low latency operation.")
;; jack-2 implement the same API. JACK2 is provided primarily as a client
;; program for users who might benefit from the D-BUS features.
(define-public jack-2
(package (inherit jack-1)
(package
(inherit jack-1)
(name "jack2")
(version "1.9.14")
(version "1.9.21")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/jackaudio/jack2/releases/"
"download/v" version "/jack2-"
version ".tar.gz"))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32
"0z11hf55a6mi8h50hfz5wry9pshlwl4mzfwgslghdh40cwv342m2"))))
(method git-fetch)
(uri (git-reference
(url "https://github.com/jackaudio/jack2")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0sbrffmdbajvrk7iqvsvrnwnpvmicvbjyq3f52r6ashdsznsz03b"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
#:configure-flags '("--dbus"
"--alsa")
`(#:tests? #f ; no check target
#:configure-flags '("--dbus" "--alsa")
#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-linkflags
@ -2270,16 +2269,13 @@ synchronous execution of all clients, and low latency operation.")
((".*CFLAGS.*-Wall.*" m)
(string-append m
" conf.env.append_unique('LINKFLAGS',"
"'-Wl,-rpath=" %output "/lib')\n")))
#t))
"'-Wl,-rpath=" %output "/lib')\n")))))
(add-after 'install 'wrap-python-scripts
(lambda* (#:key inputs outputs #:allow-other-keys)
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure 'jack_control' runs with the correct PYTHONPATH.
(let* ((out (assoc-ref outputs "out"))
(path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/jack_control")
`("GUIX_PYTHONPATH" ":" prefix (,path))))
#t)))))
(wrap-program (search-input-file outputs "bin/jack_control")
`("GUIX_PYTHONPATH" ":"
prefix (,(getenv "GUIX_PYTHONPATH")))))))))
(inputs
(list alsa-lib
dbus
@ -2306,17 +2302,15 @@ synchronous execution of all clients, and low latency operation.")
"05lycfq0f06zjp5xqvzjz9hx9kmqx72yng1lghh76hv63dw43lcj"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
#:python ,python-2))
`(#:tests? #f)) ; no check target
(inputs
`(("lv2" ,lv2)
("lilv" ,lilv)
("suil" ,suil)
("gtk2" ,gtk+-2)
("gtk3" ,gtk+)
("gtkmm" ,gtkmm-2)
("qtbase" ,qtbase-5)
("jack" ,jack-1)))
(list lv2
lilv
suil
gtk
gtkmm
qtbase-5
jack-1))
(native-inputs
(list pkg-config))
(home-page "https://drobilla.net/software/jalv/")
@ -2568,9 +2562,6 @@ compensation, (de)interleaving, and byte-swapping
cross-platform audio input/output stream library.")
(license license:expat)))
(define-public python2-pyaudio
(package-with-python2 python-pyaudio))
(define-public python-pyliblo
(package
(name "python-pyliblo")
@ -2597,9 +2588,6 @@ to send and receive OSC messages using a nice and simple Python API. Also
included are the command line utilities @code{send_osc} and @code{dump_osc}.")
(license license:lgpl2.1+)))
(define-public python2-pyliblo
(package-with-python2 python-pyliblo))
(define-public python-soundfile
(package
(name "python-soundfile")
@ -2807,37 +2795,33 @@ software.")
(description "An LV2 port of the mda EPiano VSTi.")))
(define-public lvtk
(package
(name "lvtk")
(version "1.2.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lvtk/lvtk")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1b01zvzl70ana6l1kn8fgyr7msnn3c7x61cgw7fdpp50322352p8"))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ; no check target
#:python ,python-2
#:configure-flags
(list (string-append "--boost-includes="
(assoc-ref %build-inputs "boost")
"/include"))))
(inputs
(list boost gtkmm-2 lv2))
(native-inputs
(list pkg-config))
(home-page "https://github.com/lvtk/lvtk")
(synopsis "C++ libraries for LV2 plugins")
(description
"The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
;; Use the latest commit, as the latest release was made in 2014 and depends
;; on Python 2.
(let ((commit "a73feabe772f9650aa071e6a4df660e549ab7c48")
(revision "0"))
(package
(name "lvtk")
(version (git-version "1.2.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/lvtk/lvtk")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0scmv8b4jlm88d21dqqchjy98wb93zclc9x960h213gdi871vsaj"))))
(build-system waf-build-system)
(arguments (list #:tests? #f)) ;no check target
(inputs (list boost gtkmm lv2))
(native-inputs (list pkg-config))
(home-page "https://github.com/lvtk/lvtk")
(synopsis "C++ libraries for LV2 plugins")
(description
"The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and
extensions into easy to use C++ classes. It is the successor of
lv2-c++-tools.")
(license license:gpl3+)))
(license license:isc))))
(define-public openal
(package
@ -3163,49 +3147,6 @@ using Guix System.")
;; GNU Library (not Lesser) General Public License.
(license license:lgpl2.0+)))
(define-public raul
(package
(name "raul")
(version "0.8.0")
(source (origin
(method url-fetch)
(uri (string-append "https://download.drobilla.net/raul-"
version ".tar.bz2"))
(sha256
(base32
"09ms40xc1x6qli6lxkwn5ibqh62nl9w7dq0b6jh1q2zvnrxwsd8b"))))
(build-system waf-build-system)
(arguments
`(#:python ,python-2
#:tests? #f)) ; no check target
(inputs
(list glib boost))
(native-inputs
(list pkg-config))
(home-page "https://drobilla.net/software/raul/")
(synopsis "Real-time audio utility library")
(description
"Raul (Real-time Audio Utility Library) is a C++ utility library primarily
aimed at audio/musical applications.")
(license license:gpl2+)))
(define-public raul-devel
(let ((commit "4db870b2b20b0a608ec0283139056b836c5b1624")
(revision "1"))
(package (inherit raul)
(name "raul")
(version (string-append "0.8.9-" revision "."
(string-take commit 9)))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://git.drobilla.net/raul.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"04fajrass3ymr72flx5js5vxc601ccrmx8ny8scp0rw7j0igyjdr")))))))
(define-public resample
(package
(name "resample")
@ -4347,9 +4288,6 @@ It is currently fairly complete for PCM devices, and has some support for
mixers.")
(license license:psfl)))
(define-public python2-pyalsaaudio
(package-with-python2 python-pyalsaaudio))
(define-public ldacbt
(package
(name "ldacbt")

View file

@ -85,14 +85,14 @@
(define-public hello
(package
(name "hello")
(version "2.12")
(version "2.12.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/hello/hello-" version
".tar.gz"))
(sha256
(base32
"1ayhp9v4m4rdhjmnl2bq3cibrbqqkgjbl3s7yk2nhlh8vj3ay16g"))))
"086vqwk2wl8zfs47sq2xpjc9k066ilmb8z6dn0q6ymwjzlm196cd"))))
(build-system gnu-build-system)
(synopsis "Hello, GNU world: An example GNU package")
(description
@ -930,6 +930,60 @@ with the Linux kernel.")
;; Below are old libc versions, which we use mostly to build locale data in
;; the old format (which the new libc cannot cope with.)
(define-public glibc-2.32
(package
(inherit glibc)
(version "2.32")
(source (origin
(inherit (package-source glibc))
(uri (string-append "mirror://gnu/glibc/glibc-" version ".tar.xz"))
(sha256
(base32
"0di848ibffrnwq7g2dvgqrnn4xqhj3h96csn69q4da51ymafl9qn"))
(patches (search-patches
"glibc-skip-c++.patch"
"glibc-ldd-powerpc.patch"
"glibc-ldd-x86_64.patch"
"glibc-dl-cache.patch"
"glibc-hidden-visibility-ldconfig.patch"
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"
"glibc-reinstate-prlimit64-fallback.patch"
"glibc-supported-locales.patch"
"glibc-hurd-clock_t_centiseconds.patch"
"glibc-2.31-hurd-clock_gettime_monotonic.patch"
"glibc-hurd-signal-sa-siginfo.patch"
"glibc-hurd-mach-print.patch"
"glibc-hurd-gettyent.patch"))
#;
(patches (search-patches "glibc-ldd-x86_64.patch"
"glibc-hidden-visibility-ldconfig.patch"
"glibc-versioned-locpath.patch"
"glibc-allow-kernel-2.6.32.patch"
"glibc-reinstate-prlimit64-fallback.patch"
"glibc-supported-locales.patch"
"glibc-hurd-clock_t_centiseconds.patch"
"glibc-hurd-clock_gettime_monotonic.patch"
"glibc-hurd-signal-sa-siginfo.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments glibc)
((#:make-flags flags '())
;; Arrange so that /etc/rpc & co. go to $out/etc.
`(list (string-append "sysconfdir="
(assoc-ref %outputs "out")
"/etc")))
((#:phases phases)
`(modify-phases ,phases
(add-before 'configure 'set-etc-rpc-installation-directory
(lambda* (#:key outputs #:allow-other-keys)
;; Install the rpc data base file under `$out/etc/rpc'.
(let ((out (assoc-ref outputs "out")))
(substitute* "sunrpc/Makefile"
(("^\\$\\(inst_sysconfdir\\)/rpc(.*)$" _ suffix)
(string-append out "/etc/rpc" suffix "\n"))
(("^install-others =.*$")
(string-append "install-others = " out "/etc/rpc\n"))))))))))))
(define-public glibc-2.31
(package
@ -1175,6 +1229,15 @@ test environments.")
(make-glibc-utf8-locales glibc)))
;; Packages provided to ease use of binaries linked against the previous libc.
(define-public glibc-locales-2.32
(package (inherit (make-glibc-locales glibc-2.32))
(name "glibc-locales-2.32")))
(define-public glibc-locales-2.31
(package (inherit (make-glibc-locales glibc-2.31))
(name "glibc-locales-2.31")))
(define-public glibc-locales-2.30
(package (inherit (make-glibc-locales glibc-2.30))
(name "glibc-locales-2.30")))
(define-public glibc-locales-2.29
(package (inherit (make-glibc-locales glibc-2.29))
(name "glibc-locales-2.29")))

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -255,49 +255,6 @@ Transmission BitTorrent daemon.")
(home-page "https://github.com/tremc/tremc")
(license l:gpl3+)))
(define-public transmission-remote-cli
(package
(name "transmission-remote-cli")
(version "1.7.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/fagga/transmission-remote-cli")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"09w9f8vrm61lapin8fmq4rgahr95y3c6wss10g0fgd0kl16f895v"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; only supports Python 2
#:tests? #f ; no test suite
#:phases (modify-phases %standard-phases
;; The software is just a Python script that must be
;; copied into place.
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(man (string-append out "/share/man/man1"))
;; FIXME install zsh completions
(completions (string-append out "/etc/bash_completion.d")))
(install-file "transmission-remote-cli" bin)
(install-file "transmission-remote-cli.1" man)
(install-file
(string-append
"completion/bash/"
"transmission-remote-cli-bash-completion.sh")
completions)))))))
(synopsis "Console client for the Transmission BitTorrent daemon")
(description "Transmission-remote-cli is a console client, with a curses
interface, for the Transmission BitTorrent daemon. This package is no longer
maintained upstream.")
(home-page "https://github.com/fagga/transmission-remote-cli")
(license l:gpl3+)
(properties `((superseded . ,tremc)))))
(define-public aria2
(package
(name "aria2")

View file

@ -278,13 +278,6 @@ across a broad spectrum of applications.")
(define-public boost-with-python3
(deprecated-package "boost-with-python3" boost))
(define-public boost-with-python2
(package/inherit boost
(name "boost-python2")
(native-inputs
`(("python" ,python-2)
,@(alist-delete "python" (package-native-inputs boost))))))
(define-public boost-static
(package
(inherit boost)

View file

@ -16,7 +16,7 @@
;;; Copyright © 2016 Troy Sankey <sankeytms@gmail.com>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
;;; Copyright © 2016 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 20162021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20162022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
;;; Copyright © 2017, 2018 Arun Isaac <arunisaac@systemreboot.net>
@ -818,19 +818,8 @@ but it works for any C/C++ project.")
(description
"Parameterized is a Python library that aims to fix parameterized testing
for every Python test framework. It supports nose, py.test, and unittest.")
(properties `((python2-variant . ,(delay python2-parameterized))))
(license license:bsd-2)))
(define-public python2-parameterized
(let ((base (package-with-python2 (strip-python2-variant
python-parameterized))))
(package/inherit
base
(source
(origin
(inherit (package-source base))
(patches (search-patches "python2-parameterized-docstring-test.patch")))))))
(define-public python-minimock
(package
(name "python-minimock")
@ -849,9 +838,6 @@ for every Python test framework. It supports nose, py.test, and unittest.")
doctest.")
(license license:expat)))
(define-public python2-minimock
(package-with-python2 python-minimock))
(define-public python-mock
(package
(name "python-mock")
@ -876,18 +862,8 @@ doctest.")
of your system under test with mock objects and make assertions about how they
have been used. This library is now part of Python (since Python 3.3),
available via the @code{unittest.mock} module.")
(properties `((python2-variant . ,(delay python2-mock))))
(license license:expat)))
(define-public python2-mock
(let ((base (package-with-python2
(strip-python2-variant python-mock))))
(package/inherit base
(propagated-inputs
`(("python2-functools32" ,python2-functools32)
("python2-funcsigs" ,python2-funcsigs)
,@(package-propagated-inputs base))))))
;;; This package is unmaintained (see the note at the top of doc/index.rst).
(define-public python-nose
(package
@ -911,17 +887,7 @@ available via the @code{unittest.mock} module.")
(synopsis "Python testing library")
(description
"Nose extends the unittest library to make testing easier.")
(license license:lgpl2.0+)
(properties `((python2-variant . ,(delay python2-nose))))))
(define-public python2-nose
(let ((base (package-with-python2
(strip-python2-variant python-nose))))
(package/inherit base
(arguments (substitute-keyword-arguments (package-arguments base)
((#:phases phases)
`(modify-phases ,phases
(delete 'invoke-2to3))))))))
(license license:lgpl2.0+)))
(define-public python-nose2
(package
@ -947,9 +913,6 @@ better plugin api, being easier for users to configure, and simplifying internal
interfaces and processes.")
(license license:bsd-2)))
(define-public python2-nose2
(package-with-python2 python-nose2))
(define-public python-unittest2
(package
(name "python-unittest2")
@ -980,9 +943,6 @@ interfaces and processes.")
standard library.")
(license license:psfl)))
(define-public python2-unittest2
(package-with-python2 python-unittest2))
(define-public python-pytest
(package
(name "python-pytest")
@ -1043,77 +1003,17 @@ standard library.")
"Pytest is a testing tool that provides auto-discovery of test modules
and functions, detailed info on failing assert statements, modular fixtures,
and many external plugins.")
(license license:expat)
(properties `((python2-variant . ,(delay python2-pytest))))))
(license license:expat)))
(define-public python-pytest-6 python-pytest)
;; Pytest 4.x are the last versions that support Python 2.
(define-public python2-pytest
(package
(inherit (strip-python2-variant python-pytest))
(name "python2-pytest")
(version "4.6.11")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest" version))
(sha256
(base32
"0ls3pqr86xgif6bphsb6wrww9r2vc7p7a2naq8zcq8115wwq5yjh"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
,@(package-arguments python-pytest)))
(propagated-inputs
`(("python-atomicwrites" ,python2-atomicwrites)
("python-attrs" ,python2-attrs-bootstrap)
("python-funcsigs" ,python2-funcsigs)
("python-importlib-metadata" ,python2-importlib-metadata-bootstrap)
("python-more-itertools" ,python2-more-itertools)
("python-packaging" ,python2-packaging-bootstrap)
("python-pathlib2" ,python2-pathlib2)
("python-pluggy" ,python2-pluggy)
("python-py" ,python2-py)
("python-six" ,python2-six-bootstrap)
("python-wcwidth" ,python2-wcwidth)))
(native-inputs
`(("bash" ,bash) ;tests require 'compgen'
("python-hypothesis" ,python2-hypothesis)
("python-nose" ,python2-nose)
("python-mock" ,python2-mock)
("python-pytest" ,python2-pytest-bootstrap)
("python-setuptools-scm" ,python2-setuptools-scm)))))
(define-public python-pytest-bootstrap
(package
(inherit (strip-python2-variant python-pytest))
(inherit python-pytest)
(name "python-pytest-bootstrap")
(native-inputs (list python-iniconfig python-setuptools-scm
python-toml))
(arguments `(#:tests? #f))
(properties `((python2-variant . ,(delay python2-pytest-bootstrap))))))
(define-public python2-pytest-bootstrap
(hidden-package
(package/inherit
python2-pytest
(name "python2-pytest-bootstrap")
(arguments
(substitute-keyword-arguments (package-arguments python2-pytest)
((#:tests? _ #f) #f)))
(native-inputs
`(("python-setuptools-scm" ,python2-setuptools-scm)))
(propagated-inputs
`(("python-atomicwrites" ,python2-atomicwrites)
("python-attrs" ,python2-attrs-bootstrap)
("python-funcsigs" ,python2-funcsigs-bootstrap)
("python-importlib-metadata" ,python2-importlib-metadata-bootstrap)
("python-more-itertools" ,python2-more-itertools)
("python-packaging" ,python2-packaging-bootstrap)
("python-pathlib2" ,python2-pathlib2-bootstrap)
("python-pluggy" ,python2-pluggy-bootstrap)
("python-py" ,python2-py)
("python-wcwidth" ,python2-wcwidth))))))
(arguments `(#:tests? #f))))
(define-public python-pytest-assume
(package
@ -1178,38 +1078,6 @@ distributed testing in both @code{load} and @code{each} modes. It also
supports coverage of subprocesses.")
(license license:expat)))
(define-public python2-pytest-cov
(package
(name "python2-pytest-cov")
(version "2.8.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-cov" version))
(sha256
(base32 "0avzlk9p4nc44k7lpx9109dybq71xqnggxb9f4hp0l64pbc44ryc"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
(replace 'check
(lambda _
;; Options taken from tox.ini.
;; TODO: make "--restructuredtext" tests pass. They currently fail
;; with "Duplicate implicit target name".
(invoke "python" "./setup.py" "check"
"--strict" "--metadata"))))))
(propagated-inputs
(list python2-coverage python2-pytest))
(home-page "https://github.com/pytest-dev/pytest-cov")
(synopsis "Pytest plugin for measuring coverage")
(description
"Pytest-cov produces coverage reports. It supports centralised testing and
distributed testing in both @code{load} and @code{each} modes. It also
supports coverage of subprocesses.")
(license license:expat)))
(define-public python-pytest-httpserver
(package
(name "python-pytest-httpserver")
@ -1344,25 +1212,6 @@ Python's @code{random.seed}.")
@file{setup.py} files can use to run tests.")
(license license:expat)))
(define-public python2-pytest-runner
(package-with-python2 python-pytest-runner))
;; python-bleach 3.1.0 requires this ancient version of pytest-runner.
;; Remove once no longer needed.
(define-public python-pytest-runner-2
(package
(inherit python-pytest-runner)
(version "2.12.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "pytest-runner" version))
(sha256
(base32
"11ivjj9hfphkv4yfb2g74av4yy86y8gcbf7gbif0p1hcdfnxg3w6"))))))
(define-public python2-pytest-runner-2
(package-with-python2 python-pytest-runner-2))
(define-public python-pytest-lazy-fixture
(package
(name "python-pytest-lazy-fixture")
@ -1434,29 +1283,8 @@ around the patching API provided by the @code{mock} package, but with the
benefit of not having to worry about undoing patches at the end of a test.
The mocker fixture has the same API as @code{mock.patch}, supporting the
same arguments.")
(properties `((python2-variant . ,(delay python2-pytest-mock))))
(license license:expat)))
(define-public python2-pytest-mock
(let ((base (package-with-python2
(strip-python2-variant python-pytest-mock))))
(package/inherit base
(version "1.10.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pytest-mock" version))
(sha256
(base32
"1i5mg3ff1qk0wqfcxfz60hwy3q5dskdp36i10ckigkzffg8hc3ad"))))
(arguments
`(#:python ,python-2))
(native-inputs
`(("python2-setuptools-scm" ,python2-setuptools-scm)))
(propagated-inputs
`(("python2-mock" ,python2-mock)
("python2-pytest" ,python2-pytest))))))
(define-public python-pytest-xdist
(package
(name "python-pytest-xdist")
@ -1509,9 +1337,6 @@ program code to a remote location, executes there, and then syncs the
result back.")
(license license:expat)))
(define-public python2-pytest-xdist
(package-with-python2 python-pytest-xdist))
(define-public python-pytest-xdist-next
(package/inherit python-pytest-xdist
(name "python-pytest-xdist")
@ -1910,9 +1735,6 @@ library to determine which lines are executable, and which have been
executed.")
(license license:bsd-3)))
(define-public python2-coverage
(package-with-python2 python-coverage))
(define-public python-pytest-asyncio
(package
(name "python-pytest-asyncio")
@ -1973,9 +1795,6 @@ and @code{nose2-cov}. It is useful for developing coverage plugins for these
testing frameworks.")
(license license:expat)))
(define-public python2-cov-core
(package-with-python2 python-cov-core))
(define-public python-codecov
(package
(name "python-codecov")
@ -2064,9 +1883,6 @@ tools for mocking system commands and recording calls to those.")
(home-page "https://github.com/trentm/testlib")
(license license:expat)))
(define-public python2-testlib
(package-with-python2 python-testlib))
;;; The software provided by this package was integrated into pytest 2.8.
(define-public python-pytest-cache
(package
@ -2087,9 +1903,6 @@ the last py.test invocation.")
(home-page "https://bitbucket.org/hpk42/pytest-cache/")
(license license:expat)))
(define-public python2-pytest-cache
(package-with-python2 python-pytest-cache))
(define-public python-pytest-localserver
(package
(name "python-pytest-localserver")
@ -2160,9 +1973,6 @@ normally the case.")
(home-page "https://github.com/untitaker/pytest-subtesthack/")
(license license:unlicense)))
(define-public python2-pytest-subtesthack
(package-with-python2 python-pytest-subtesthack))
(define-public python-pytest-sugar
(package
(name "python-pytest-sugar")
@ -2207,8 +2017,7 @@ much larger range of examples than you would ever want to write by hand. Its
based on the Haskell library, Quickcheck, and is designed to integrate
seamlessly into your existing Python unit testing work flow.")
(home-page "https://github.com/HypothesisWorks/hypothesis")
(license license:mpl2.0)
(properties `((python2-variant . ,(delay python2-hypothesis))))))
(license license:mpl2.0)))
;;; TODO: Make the default python-hypothesis in the next rebuild cycle.
(define-public python-hypothesis-next
@ -2225,22 +2034,6 @@ seamlessly into your existing Python unit testing work flow.")
(modify-inputs (package-propagated-inputs python-hypothesis)
(append python-pytest))))) ;to satisfy the sanity-check phase
;; This is the last version of Hypothesis that supports Python 2.
(define-public python2-hypothesis
(let ((hypothesis (package-with-python2
(strip-python2-variant python-hypothesis))))
(package (inherit hypothesis)
(version "4.57.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "hypothesis" version))
(sha256
(base32
"183gpxbfcdhdqzlahkji5a71n6lmvgqsbkcb0ihqad51n2j6jhrw"))))
(propagated-inputs
(modify-inputs (package-propagated-inputs hypothesis)
(prepend python2-enum34))))))
(define-public python-hypothesmith
(package
(name "python-hypothesmith")
@ -2430,9 +2223,6 @@ a Pytest test execution.")
(description "Pytest plugin for checking PEP8 compliance.")
(license license:expat)))
(define-public python2-pytest-pep8
(package-with-python2 python-pytest-pep8))
(define-public python-pytest-perf
(package
(name "python-pytest-perf")
@ -2522,9 +2312,6 @@ each of the environments.")
(description "Pytest plugin for checking Python source code with pyflakes.")
(license license:expat)))
(define-public python2-pytest-flakes
(package-with-python2 python-pytest-flakes))
(define-public python-coverage-test-runner
(package
(name "python-coverage-test-runner")
@ -2555,9 +2342,6 @@ unit tests and failing them if the unit test module does not exercise all
statements in the module it tests.")
(license license:gpl3+)))
(define-public python2-coverage-test-runner
(package-with-python2 python-coverage-test-runner))
(define-public python-pylint
(package
(name "python-pylint")
@ -2629,9 +2413,6 @@ cases. Since they are TestCase subclasses, they work with other test suites tha
recognize TestCases.")
(license license:bsd-2)))
(define-public python2-python-paramunittest
(package-with-python2 python-paramunittest))
(define-public python-pytest-warnings
(package
(name "python-pytest-warnings")
@ -2652,14 +2433,7 @@ recognize TestCases.")
"Python-pytest-warnings is a pytest plugin to list Python warnings in
pytest report.")
(license license:expat)
(properties `((python2-variant . ,(delay python2-pytest-warnings))
;; This package is part of pytest as of version 3.1.0.
(superseded . ,python-pytest)))))
(define-public python2-pytest-warnings
(package (inherit (package-with-python2
(strip-python2-variant python-pytest-warnings)))
(properties `((superseded . ,python2-pytest)))))
(properties `((superseded unquote python-pytest)))))
(define-public python-pytest-capturelog
(package
@ -2681,9 +2455,6 @@ pytest report.")
"Python-pytest-catchlog is a pytest plugin to catch log messages.")
(license license:expat)))
(define-public python2-pytest-capturelog
(package-with-python2 python-pytest-capturelog))
(define-public python-pytest-catchlog
(package
(name "python-pytest-catchlog")
@ -2707,9 +2478,6 @@ pytest report.")
a fork of pytest-capturelog.")
(license license:expat)))
(define-public python2-pytest-catchlog
(package-with-python2 python-pytest-catchlog))
(define-public python-nosexcover
(package
(name "python-nosexcover")
@ -2733,9 +2501,6 @@ It will honor all the options you pass to the Nose coverage plugin,
especially -cover-package.")
(license license:expat)))
(define-public python2-nosexcover
(package-with-python2 python-nosexcover))
(define-public python-discover
(package
(name "python-discover")
@ -2756,9 +2521,6 @@ especially -cover-package.")
backported from Python 2.7 for Python 2.4+.")
(license license:bsd-3)))
(define-public python2-discover
(package-with-python2 python-discover))
(define-public behave
(package
(name "behave")
@ -2859,9 +2621,6 @@ JSON APIs with Behave.")
@command{nosetests} command of the Python Nose unit test framework.")
(license license:bsd-3)))
(define-public python2-rednose
(package-with-python2 python-rednose))
(define-public python-nose-random
(package
(name "python-nose-random")
@ -2912,9 +2671,6 @@ by resetting it to a repeatable number for each test, enabling the tests to
create data based on random numbers and yet remain repeatable.")
(license license:bsd-3)))
(define-public python2-nose-randomly
(package-with-python2 python-nose-randomly))
(define-public python-nose-timer
(package
(name "python-nose-timer")
@ -2933,9 +2689,6 @@ create data based on random numbers and yet remain repeatable.")
(description "Shows how much time was needed to run individual tests.")
(license license:expat)))
(define-public python2-nose-timer
(package-with-python2 python-nose-timer))
(define-public python-freezegun
(package
(name "python-freezegun")
@ -2966,37 +2719,6 @@ create data based on random numbers and yet remain repeatable.")
time by mocking the datetime module.")
(license license:asl2.0)))
(define-public python2-freezegun
(package
(name "python2-freezegun")
(version "0.3.14")
(source
(origin
(method url-fetch)
(uri (pypi-uri "freezegun" version))
(sha256
(base32 "0al75mk829j1izxi760b7yjnknjihyfhp2mvi5qiyrxb9cpxwqk2"))))
(build-system python-build-system)
(native-inputs
(list python2-mock python2-pytest))
(propagated-inputs
(list python2-six python2-dateutil))
(arguments
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
;; The tests are normally executed via `make test`, but the PyPi
;; package does not include the Makefile.
(replace 'check
(lambda _
(invoke "pytest" "-vv"))))))
(home-page "https://github.com/spulec/freezegun")
(synopsis "Test utility for mocking the datetime module")
(description
"FreezeGun is a library that allows your python tests to travel through
time by mocking the datetime module.")
(license license:asl2.0)))
(define-public python-flexmock
(package
(name "python-flexmock")
@ -3015,9 +2737,6 @@ time by mocking the datetime module.")
mocks, stubs and fakes.")
(license license:bsd-3)))
(define-public python2-flexmock
(package-with-python2 python-flexmock))
(define-public python-flaky
(package
(name "python-flaky")
@ -3044,9 +2763,6 @@ those tests or marking them to @code{@@skip}, they can be automatically
retried.")
(license license:asl2.0)))
(define-public python2-flaky
(package-with-python2 python-flaky))
(define-public python-pyhamcrest
(package
(name "python-pyhamcrest")
@ -3298,23 +3014,10 @@ under test to interact with a fake file system instead of the real file
system. The code under test requires no modification to work with pyfakefs.")
(license license:asl2.0)))
;; This minimal variant is used to avoid a circular dependency between
;; python2-importlib-metadata, which requires pyfakefs for its tests, and
;; python2-pytest, which requires python2-importlib-metadata.
(define-public python2-pyfakefs-bootstrap
(hidden-package
(package
(inherit (package-with-python2 python-pyfakefs))
(name "python2-pyfakefs-bootstrap")
(native-inputs '())
(arguments
`(#:python ,python-2
#:tests? #f)))))
(define-public python-aiounittest
(package
(name "python-aiounittest")
(version "1.4.0")
(version "1.4.1")
;; Pypi package lacks tests.
(source
(origin (method git-fetch)
@ -3324,7 +3027,7 @@ system. The code under test requires no modification to work with pyfakefs.")
(file-name (git-file-name name version))
(sha256
(base32
"0hql5mw62lclrpblbh7xvinwjfcdcfvhhlvl7xlq2hi9isjq1c8r"))))
"10x7ds09b9415r92f7g9714gxixvvq3bm5mnh29ml9aba8blcb0n"))))
(build-system python-build-system)
(arguments
'(#:phases (modify-phases %standard-phases

View file

@ -128,35 +128,6 @@ science, and related areas. It offers flexible high quality rendering and a
powerful plugin architecture.")
(license license:bsd-3)))
(define-public domainfinder
(package
(name "domainfinder")
(version "2.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://bitbucket.org/khinsen/"
"domainfinder/downloads/DomainFinder-"
version ".tar.gz"))
(sha256
(base32
"1z26lsyf7xwnzwjvimmbla7ckipx6p734w7y0jk2a2fzci8fkdcr"))))
(build-system python-build-system)
(inputs
(list python2-mmtk))
(arguments
`(#:python ,python-2
;; No test suite
#:tests? #f))
(home-page "http://dirac.cnrs-orleans.fr/DomainFinder.html")
(synopsis "Analysis of dynamical domains in proteins")
(description "DomainFinder is an interactive program for the determination
and characterization of dynamical domains in proteins. It can infer dynamical
domains by comparing two protein structures, or from normal mode analysis on a
single structure. The software is currently not actively maintained and works
only with Python 2 and NumPy < 1.9.")
(license license:cecill-c)))
(define-public inchi
(package
(name "inchi")
@ -332,69 +303,6 @@ with templates to facilitate the execution of the program. Input files can be
staged, and output files collected using a standard interface.")
(license license:bsd-3)))
(define with-numpy-1.8
(package-input-rewriting `((,python2-numpy . ,python2-numpy-1.8))))
(define-public nmoldyn
(package
(name "nmoldyn")
(version "3.0.11")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/khinsen/nMOLDYN3")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"016h4bqg419p6s7bcx55q5iik91gqmk26hbnfgj2j6zl0j36w51r"))))
(build-system python-build-system)
(inputs
(list (with-numpy-1.8 python2-matplotlib) python2-scientific netcdf
gv))
(propagated-inputs
(list python2-mmtk))
(arguments
`(#:python ,python-2
#:tests? #f ; No test suite
#:phases
(modify-phases %standard-phases
(add-before 'build 'create-linux2-directory
(lambda _
(mkdir-p "nMOLDYN/linux2")))
(add-before 'build 'change-PDF-viewer
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "nMOLDYN/Preferences.py"
;; Set the paths for external executables, substituting
;; gv for acroread.
;; There is also vmd_path, but VMD is not free software
;; and Guix contains currently no free molecular viewer that
;; could be substituted.
(("PREFERENCES\\['acroread_path'\\] = ''")
(format #f "PREFERENCES['acroread_path'] = '~a'"
(which "gv")))
(("PREFERENCES\\['ncdump_path'\\] = ''")
(format #f "PREFERENCES['ncdump_path'] = '~a'"
(which "ncdump")))
(("PREFERENCES\\['ncgen_path'\\] = ''")
(format #f "PREFERENCES['ncgen_path'] = '~a'"
(which "ncgen3")))
(("PREFERENCES\\['task_manager_path'\\] = ''")
(format #f "PREFERENCES['task_manager_path'] = '~a'"
(which "task_manager")))
;; Show documentation as PDF
(("PREFERENCES\\['documentation_style'\\] = 'html'")
"PREFERENCES['documentation_style'] = 'pdf'") ))))))
(home-page "http://dirac.cnrs-orleans.fr/nMOLDYN.html")
(synopsis "Analysis software for Molecular Dynamics trajectories")
(description "nMOLDYN is an interactive analysis program for Molecular Dynamics
simulations. It is especially designed for the computation and decomposition of
neutron scattering spectra, but also computes other quantities. The software
is currently not actively maintained and works only with Python 2 and
NumPy < 1.9.")
(license license:cecill)))
(define-public tng
(package
(name "tng")

View file

@ -313,7 +313,7 @@
'("third_party/blink/perf_tests"))
(define %chromium-version "102.0.5005.61")
(define %ungoogled-revision (string-append %chromium-version "-1"))
(define %ungoogled-revision (string-append %chromium-version "-3"))
(define %debian-revision "debian/102.0.5005.61-1")
(define %ungoogled-origin
@ -324,7 +324,7 @@
(file-name (git-file-name "ungoogled-chromium" %ungoogled-revision))
(sha256
(base32
"1hlyi6k894blkkqmqsizx72bag2vj6wlpza0fvi8db5wp6i5b58g"))))
"19i4ygxjm503dmck3bdqv3fcpda3dp9wr7z306pi6i1k989rbs8l"))))
(define %debian-origin
(origin

View file

@ -2321,7 +2321,7 @@ reading from and writing to ZIP archives.")
(package
(inherit quazip-0)
(name "quazip")
(version "1.2")
(version "1.3")
(source
(origin
(method git-fetch)
@ -2330,7 +2330,7 @@ reading from and writing to ZIP archives.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1dwld7jxhjz9l33lrqwvklazdy7ygi6n1m4ry1n1sk5dnschrhby"))))))
(base32 "0njgbdm3dm5p7xic5mhppbqsl36zn83zz0xfsfh624hlk0ff7n0a"))))))
(define-public zchunk
(package
@ -2715,7 +2715,7 @@ can append files to the end of such compressed archives.")
(define-public libcbor
(package
(name "libcbor")
(version "0.8.0")
(version "0.9.0")
(source
(origin
(method git-fetch)
@ -2723,7 +2723,7 @@ can append files to the end of such compressed archives.")
(url "https://github.com/PJK/libcbor")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256 (base32 "01dv4vxcmbvpphqy16vqiwh25wx11x630js5wfnx7cryarsh9ld7"))))
(sha256 (base32 "1n9fx5i81wr9j18bhz74wclfkwqf1k3piq6lzngvkmq04krzi7ss"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags
@ -2737,8 +2737,8 @@ can append files to the end of such compressed archives.")
(string-append "-DCMAKE_INSTALL_RPATH=" lib)))))
(synopsis "The C library for parsing and generating CBOR")
(description
"The Concise Binary Object Representation (CBOR) is a data format whose
design goals include the possibility of extremely small code size, fairly
"@acronym{CBOR, The Concise Binary Object Representation} is a data format
whose design goals include the possibility of extremely small code size, fairly
small message size, and extensibility without the need for version
negotiation. These design goals make it different from earlier binary
serializations such as ASN.1 and MessagePack.")

View file

@ -1391,7 +1391,7 @@ feature set with a simple and intuitive interface.")
(define-public caf
(package
(name "caf")
(version "0.18.5")
(version "0.18.6")
(source (origin
(method git-fetch)
(uri (git-reference
@ -1400,7 +1400,7 @@ feature set with a simple and intuitive interface.")
(file-name (git-file-name name version))
(sha256
(base32
"04b4kjisb5wzq6pilh8xzbxn7qcjgppl8k65hfv0zi0ja8fyp1xk"))))
"055y82044djphpwbazaxsvmb66c2xfdi8vyny8pzdxkdgxfh0vq1"))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags

File diff suppressed because it is too large Load diff

View file

@ -25,6 +25,7 @@
;;; Copyright © 2021 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2022 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2022 Evgenii Lepikhin <e.lepikhin@corp.mail.ru>
;;;
;;; This file is part of GNU Guix.
;;;
@ -32382,6 +32383,29 @@ by inspecting the system for user preference.")
("rust-regex" ,rust-regex-1)
("rust-winapi" ,rust-winapi-0.3))))))
(define-public rust-located-yaml-0.2
(package
(name "rust-located-yaml")
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "located_yaml" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0xnx5al5v7d9syspj0irm22alwc3a9adikqxpbyyf6vsz3k8xilv"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-linked-hash-map" ,rust-linked-hash-map-0.5)
("rust-serde" ,rust-serde-1)
("rust-yaml-rust" ,rust-yaml-rust-0.4))))
(home-page "https://github.com/johnlepikhin/located_yaml")
(synopsis "YAML parser with saved positions")
(description
"YAML parser which provides AST with saved tokens positions.")
(license (list license:expat))))
(define-public rust-lock-api-0.4
(package
(name "rust-lock-api")
@ -34684,8 +34708,28 @@ file's MIME type by its extension.")
;; No copyright headers in the source code. LICENSE indicates gpl3.
(license license:gpl3)))
(define-public rust-minimal-lexical-0.2
(package
(name "rust-minimal-lexical")
(version "0.2.1")
(source
(origin
(method url-fetch)
(uri (crate-uri "minimal-lexical" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "16ppc5g84aijpri4jzv14rvcnslvlpphbszc7zzp6vfkddf4qdb8"))))
(build-system cargo-build-system)
(home-page "https://github.com/Alexhuszagh/minimal-lexical")
(synopsis "Float parsing conversion routines")
(description "This is a minimal version of rust-lexical, meant to allow
efficient round-trip float parsing. Minimal-lexical implements a correct, fast
float parser.")
(license (list license:expat license:asl2.0))))
(define-public rust-minimal-lexical-0.1
(package
(inherit rust-minimal-lexical-0.2)
(name "rust-minimal-lexical")
(version "0.1.4")
(source
@ -34694,12 +34738,7 @@ file's MIME type by its extension.")
(uri (crate-uri "minimal-lexical" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0xynhr97vyv5n5lls41dl7bfa3ba122lix9mqij1l7yprl6n6r4w"))))
(build-system cargo-build-system)
(home-page "https://github.com/Alexhuszagh/minimal-lexical")
(synopsis "Fast float parsing conversion routines")
(description "Fast float parsing conversion routines.")
(license (list license:expat license:asl2.0))))
(base32 "0xynhr97vyv5n5lls41dl7bfa3ba122lix9mqij1l7yprl6n6r4w"))))))
(define-public rust-miniz-oxide-0.4
(package
@ -37322,7 +37361,7 @@ implementation (which is unstable / requires nightly).")
(define-public rust-nom-7
(package
(name "rust-nom")
(version "7.0.0")
(version "7.1.1")
(source
(origin
(method url-fetch)
@ -37331,13 +37370,13 @@ implementation (which is unstable / requires nightly).")
(string-append name "-" version ".tar.gz"))
(sha256
(base32
"1ha24yclw4m74gi9p5c3d68rhrrcb7qvkgicz153p5cahck9vzbz"))))
"0djc3lq5xihnwhrvkc4bj0fd58sjf632yh6hfiw545x355d3x458"))))
(build-system cargo-build-system)
(arguments
`(#:tests? #f ; Tests require example directory, not included in tarball.
#:cargo-inputs
(("rust-memchr" ,rust-memchr-2)
("rust-minimal-lexical" ,rust-minimal-lexical-0.1)
("rust-minimal-lexical" ,rust-minimal-lexical-0.2)
("rust-version-check" ,rust-version-check-0.9))
#:cargo-development-inputs
(("rust-criterion" ,rust-criterion-0.3)
@ -37548,6 +37587,30 @@ combinators library.")
(description "This package derives custom nom parsers from structs.")
(license (list license:expat license:asl2.0))))
(define-public rust-nom-locate-4
(package
(name "rust-nom-locate")
(version "4.0.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "nom_locate" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "0186n5qbpiyhpas3nk8y4ynnbdghl4nx958bkq4a6a9hr8v48y9p"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-bytecount" ,rust-bytecount-0.6)
("rust-memchr" ,rust-memchr-2)
("rust-nom" ,rust-nom-7)
("rust-stable-deref-trait" ,rust-stable-deref-trait-1))))
(home-page "https://github.com/fflorent/nom_locate")
(synopsis "Special input type for nom to locate tokens")
(description "This crate provides the @code{LocatedSpan} struct that
encapsulates the data.")
(license (list license:expat))))
(define-public rust-noop-proc-macro-0.3
(package
(name "rust-noop-proc-macro")
@ -44339,8 +44402,40 @@ functions.")
(("rust-predicates-core" ,rust-predicates-core-0.9)
("rust-treeline" ,rust-treeline-0.1))))))
(define-public rust-pretty-0.11
(package
(name "rust-pretty")
(version "0.11.2")
(source
(origin
(method url-fetch)
(uri (crate-uri "pretty" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1282l4pa9hhamvbnd5mjrwhdgcsjy1l1lj44i0m4pczsf1cd3br9"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-arrayvec" ,rust-arrayvec-0.5)
("rust-log" ,rust-log-0.4)
("rust-termcolor" ,rust-termcolor-1)
("rust-typed-arena" ,rust-typed-arena-2)
("rust-unicode-segmentation" ,rust-unicode-segmentation-1))
#:cargo-development-inputs
(("rust-criterion" ,rust-criterion-0.3)
("rust-difference" ,rust-difference-2)
("rust-env-logger" ,rust-env-logger-0.9)
("rust-tempfile" ,rust-tempfile-3))))
(home-page "https://github.com/Marwes/pretty.rs")
(synopsis "Pretty printing combinators for Rust")
(description
"This crate provides functionality for defining pretty printers. It is
particularly useful for printing structured recursive data like trees.")
(license license:expat)))
(define-public rust-pretty-0.5
(package
(inherit rust-pretty-0.11)
(name "rust-pretty")
(version "0.5.2")
(source
@ -44350,18 +44445,11 @@ functions.")
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1lzn7d60l79vsdwcfgrh6jmk193nzwh1j36r8p9cv3n8dyghs37n"))))
(build-system cargo-build-system)
(arguments
`(#:skip-build? #t
#:cargo-inputs
(("rust-termcolor" ,rust-termcolor-0.3)
("rust-typed-arena" ,rust-typed-arena-1))))
(home-page "https://github.com/Marwes/pretty.rs")
(synopsis "Pretty printing combinators for Rust")
(description
"This crate provides functionality for defining pretty printers. It is
particularly useful for printing structured recursive data like trees.")
(license license:expat)))
("rust-typed-arena" ,rust-typed-arena-1))))))
(define-public rust-pretty-assertions-0.7
(package
@ -54582,6 +54670,30 @@ using nested parameters, similar to those used by @code{qs} for Node, and
commonly used by Ruby on Rails via Rack.")
(license (list license:expat license:asl2.0))))
(define-public rust-serde-regex-1
(package
(name "rust-serde-regex")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (crate-uri "serde_regex" version))
(file-name (string-append name "-" version ".tar.gz"))
(sha256
(base32 "1pxsnxb8c198szghk1hvzvhva36w2q5zs70hqkmdf5d89qd6y4x8"))))
(build-system cargo-build-system)
(arguments
`(#:cargo-inputs
(("rust-regex" ,rust-regex-1))
#:cargo-development-inputs
(("rust-serde-derive" ,rust-serde-derive-1)
("rust-serde-json" ,rust-serde-json-1))))
(home-page "https://github.com/tailhook/serde-regex")
(synopsis "Serde wrapper to serialize regular expressions as strings")
(description "This package provides a serde wrapper, that can be used to
serialize regular expressions as strings.")
(license (list license:expat license:asl2.0))))
(define-public rust-serde-repr-0.1
(package
(name "rust-serde-repr")

View file

@ -242,6 +242,9 @@ target that libc."
(append
(origin-patches (package-source xgcc))
(append (cond
((version>=? (package-version xgcc) "12.0")
(search-patches "gcc-12-cross-environment-variables.patch"
"gcc-cross-gxx-include-dir.patch"))
((version>=? (package-version xgcc) "10.0")
(search-patches "gcc-10-cross-environment-variables.patch"
"gcc-cross-gxx-include-dir.patch"))

View file

@ -716,8 +716,7 @@ should only be used as part of the Guix cups-pk-helper service.")
(search-patches "foomatic-filters-CVE-2015-8327.patch"
"foomatic-filters-CVE-2015-8560.patch"))))
(build-system gnu-build-system)
(home-page
"https://wiki.linuxfoundation.org/openprinting/database/foomatic")
(home-page "https://openprinting.github.io/projects/02-foomatic/")
(native-inputs
(list perl pkg-config))
(inputs

View file

@ -102,6 +102,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages gperf)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages icu4c)
@ -178,47 +179,6 @@
#:use-module (srfi srfi-26)
#:use-module (ice-9 match))
(define-public 4store
(package
(name "4store")
(version "1.1.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/4store/4store")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1kzdfmwpzy64cgqlkcz5v4klwx99w0jk7afckyf7yqbqb4rydmpk"))
(patches (search-patches "4store-unset-preprocessor-directive.patch"
"4store-fix-buildsystem.patch"))))
(build-system gnu-build-system)
(native-inputs
(list perl
python-2
autoconf
automake
gettext-minimal
libtool
`(,pcre "bin") ;for 'pcre-config'
pkg-config))
(inputs
(list glib
rasqal
libxml2
raptor2
readline
avahi
cyrus-sasl
openssl
`(,util-linux "lib")))
;; http://www.4store.org has been down for a while now.
(home-page "https://github.com/4store/4store")
(synopsis "Clustered RDF storage and query engine")
(description "4store is a RDF/SPARQL store written in C, supporting
either single machines or networked clusters.")
(license license:gpl3+)))
(define-public ephemeralpg
(package
(name "ephemeralpg")
@ -1511,9 +1471,6 @@ CSV, DB3, iXF, SQLite, MS-SQL or MySQL to PostgreSQL.")
Most public APIs are compatible with @command{mysqlclient} and MySQLdb.")
(license license:expat)))
(define-public python2-pymysql
(package-with-python2 python-pymysql))
(define-public qdbm
(package
(name "qdbm")
@ -2776,29 +2733,20 @@ semantics.")
(define-public libpqxx
(package
(name "libpqxx")
(version "4.0.1")
(version "7.7.3")
(source (origin
(method url-fetch)
(uri (string-append
"http://pqxx.org/download/software/libpqxx/"
name "-" version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/jtv/libpqxx")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0f6wxspp6rx12fkasanb0z2g2gc8dhcfwnxagx8wwqbpg6ifsz09"))))
"1mrhsih5bhiin0l3c4vp22l9p7c5035m0vvqpx18c0407fkzc7hp"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python-2)))
(native-inputs (list gcc-11 python-wrapper))
(inputs (list postgresql))
(arguments
`(#:tests? #f ; # FAIL: 1
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-sed-command
(lambda _
;; Newer sed versions error out if double brackets are not used.
(substitute* "configure"
(("\\[:space:\\]") "[[:space:]]"))
#t)))))
(arguments '(#:tests? #f)) ;tests require a running PostgreSQL server
(synopsis "C++ connector for PostgreSQL")
(description
"Libpqxx is a C++ library to enable user programs to communicate with the
@ -2862,9 +2810,6 @@ support for sqlite, mysql and postgresql. If you already have a database, you
can autogenerate peewee models using @code{pwiz}, a model generator.")
(license license:expat)))
(define-public python2-peewee
(package-with-python2 python-peewee))
(define-public python-pypika-tortoise
(package
(name "python-pypika-tortoise")
@ -3080,9 +3025,6 @@ development.")
for ODBC.")
(license (license:x11-style "file://LICENSE.TXT"))))
(define-public python2-pyodbc-c
(package-with-python2 python-pyodbc-c))
(define-public python-pyodbc
(package
(name "python-pyodbc")
@ -3105,9 +3047,6 @@ for ODBC.")
for ODBC.")
(license (license:x11-style "file:///LICENSE.TXT"))))
(define-public python2-pyodbc
(package-with-python2 python-pyodbc))
(define-public mdbtools
(package
(name "mdbtools")
@ -3215,14 +3154,30 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
(define-public virtuoso-ose
(package
(name "virtuoso-ose")
(version "7.2.6")
(version "7.2.7")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/virtuoso/virtuoso/" version "/"
"virtuoso-opensource-" version ".tar.gz"))
(sha256
(base32 "0ly7s7a3w2a2zhhi9rq9k2qlnzapqbbc1rcdqb3zqqpgg81krz9q"))))
(base32 "1853ln0smiilf3pni70gq6nmi9ps039cy44g6b5i9d2z1n9hnj02"))
(patches (search-patches "virtuoso-ose-remove-pre-built-jar-files.patch"))
(modules '((guix build utils)))
;; This snippet removes pre-built Java archives.
(snippet
'(for-each delete-file-recursively
(list "binsrc/hibernate"
"binsrc/jena"
"binsrc/jena2"
"binsrc/jena3"
"binsrc/jena4"
"binsrc/rdf4j"
"binsrc/sesame"
"binsrc/sesame2"
"binsrc/sesame3"
"binsrc/sesame4"
"libsrc/JDBCDriverType4")))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; Tests require a network connection.
@ -3233,6 +3188,9 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
"--enable-static=no")
#:phases
(modify-phases %standard-phases
(replace 'bootstrap
(lambda _
(invoke "sh" "autogen.sh")))
;; Even with "--enable-static=no", "libvirtuoso-t.a" is left in
;; the build output. The following phase removes it.
(add-after 'install 'remove-static-libs
@ -3242,6 +3200,8 @@ Memory-Mapped Database} (LMDB), a high-performance key-value store.")
(delete-file (string-append lib "/" file)))
'("libvirtuoso-t.a"
"libvirtuoso-t.la"))))))))
(native-inputs
(list autoconf automake bison flex gperf libtool))
(inputs
(list openssl net-tools readline zlib))
(home-page "http://vos.openlinksw.com/owiki/wiki/VOS/")
@ -3278,33 +3238,6 @@ local Cassandra clusters. It creates, launches and removes Cassandra clusters
on localhost.")
(license license:asl2.0)))
(define-public python2-ccm
(package-with-python2 python-ccm))
(define-public python2-pysqlite
(package
(name "python2-pysqlite")
(version "2.8.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pysqlite" version))
(sha256
(base32
"1424gwq9sil2ffmnizk60q36vydkv8rxs6m7xs987kz8cdc37lqp"))))
(build-system python-build-system)
(inputs
(list sqlite))
(arguments
`(#:python ,python-2 ; incompatible with Python 3
#:tests? #f)) ; no test target
(home-page "https://github.com/ghaering/pysqlite")
(synopsis "SQLite bindings for Python")
(description
"Pysqlite provides SQLite bindings for Python that comply to the
Database API 2.0T.")
(license license:zlib)))
(define-public python-sqlalchemy
(package
(name "python-sqlalchemy")
@ -3343,30 +3276,6 @@ designed for efficient and high-performing database access, adapted into a
simple and Pythonic domain language.")
(license license:x11)))
(define-public python2-sqlalchemy
(let ((base (package-with-python2 python-sqlalchemy)))
(package
(inherit base)
(arguments
(substitute-keyword-arguments (package-arguments base)
((#:phases phases)
#~(modify-phases #$phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv"
;; The memory usage tests are very expensive and run in
;; sequence; skip them.
"-k"
(string-append
"not test_memusage.py"
;; This test fails with "AssertionError: Warnings
;; were not seen [...]".
" and not test_fixture_five")))))))))
;; Do not use pytest-xdist, which is broken for Python 2.
(native-inputs (modify-inputs (package-native-inputs base)
(delete "python-pytest-xdist"))))))
(define-public python-sqlalchemy-stubs
(package
(name "python-sqlalchemy-stubs")
@ -3525,17 +3434,8 @@ value in database is immediately visible to other processes accessing the same
database. Concurrency is possible because the values are stored in separate
files. Hence the database is a directory where all files are governed by
PickleShare.")
(properties `((python2-variant . ,(delay python2-pickleshare))))
(license license:expat)))
(define-public python2-pickleshare
(let ((pickleshare (package-with-python2
(strip-python2-variant python-pickleshare))))
(package (inherit pickleshare)
(propagated-inputs (modify-inputs (package-propagated-inputs
pickleshare)
(prepend python2-pathlib2))))))
(define-public python-apsw
(package
(name "python-apsw")
@ -3579,9 +3479,6 @@ pysqlite it focuses on being a minimal layer over SQLite attempting just to
translate the complete SQLite API into Python.")
(license license:zlib)))
(define-public python2-apsw
(package-with-python2 python-apsw))
(define-public python-aiosqlite
(package
(name "python-aiosqlite")
@ -3638,48 +3535,6 @@ managers for automatically closing connections.")
(description "This package implements async database support for Python.")
(license license:bsd-3)))
(define-public python2-neo4j-driver
(package
(name "python2-neo4j-driver")
;; NOTE: When upgrading to 1.5.0, please add a python3 variant.
(version "1.4.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "neo4j-driver" version))
(sha256
(base32
"011r1vh182p8mm83d8dz9rfnc3l7rf7fd00cyrbyfzi71jmc4g98"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(home-page "https://neo4j.com/developer/python/")
(synopsis "Neo4j driver code written in Python")
(description "This package provides the Neo4j Python driver that connects
to the database using Neo4j's binary protocol. It aims to be minimal, while
being idiomatic to Python.")
(license license:asl2.0)))
(define-public python2-py2neo
(package
(name "python2-py2neo")
(version "3.1.2")
(source (origin
(method url-fetch)
(uri (pypi-uri "py2neo" version))
(sha256
(base32
"1f1q95vqcvlc3nsc33p841swnjdcjazddlq2dzi3qfnjqjrajxw1"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(home-page "https://py2neo.org")
(synopsis "Library and toolkit for working with Neo4j in Python")
(description "This package provides a client library and toolkit for
working with Neo4j from within Python applications and from the command
line. The core library has no external dependencies and has been carefully
designed to be easy and intuitive to use.")
(license license:asl2.0)))
(define-public python-psycopg2
(package
(name "python-psycopg2")
@ -3916,9 +3771,6 @@ for Python. The design goals are:
parsing code in hiredis. It primarily speeds up parsing of multi bulk replies.")
(license license:bsd-3)))
(define-public python2-hiredis
(package-with-python2 python-hiredis))
(define-public python-aioredis
(package
(name "python-aioredis")
@ -4005,9 +3857,6 @@ reasonable substitute.")
"This package provides a Python interface to the Redis key-value store.")
(license license:expat)))
(define-public python2-redis
(package-with-python2 python-redis))
(define-public python-rq
(package
(name "python-rq")
@ -4105,9 +3954,6 @@ is designed to have a low barrier to entry.")
Redis protocol.")
(license license:bsd-2)))
(define-public python2-trollius-redis
(package-with-python2 python-trollius-redis))
(define-public python-sqlparse
(package
(name "python-sqlparse")
@ -4193,7 +4039,7 @@ the SQL language using a syntax that reflects the resulting query.")
(define-public apache-arrow
(package
(name "apache-arrow")
(version "7.0.0")
(version "8.0.0")
(source
(origin
(method git-fetch)
@ -4203,7 +4049,7 @@ the SQL language using a syntax that reflects the resulting query.")
(file-name (git-file-name name version))
(sha256
(base32
"19xx6mlddca79q6d3wga574m4y32ixmxx2rmk6j3f22i5c37mjzw"))))
"1gwiflk72pq1krc0sjzabypmh7slfyf7ak71fiypy3xgzw8a777c"))))
(build-system cmake-build-system)
(arguments
`(#:tests? #f

View file

@ -36,10 +36,13 @@
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages guile)
#:use-module (gnu packages linux)
#:use-module (gnu packages man)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages wget))
#:use-module (gnu packages wget)
#:use-module (srfi srfi-26))
(define-public debian-archive-keyring
(package
@ -418,6 +421,152 @@ other apt sources typically provided by open source developers.")
handling the installation and removal of Debian software packages.")
(license license:gpl2+)))
(define-public pbuilder
(package
(name "pbuilder")
(version "0.231")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://salsa.debian.org/pbuilder-team/pbuilder.git/")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0z6f1fgcrkfql9ayc3d0nxra2y6cn91xd5lvr0hd8gdlp9xdvxbc"))))
(build-system gnu-build-system)
(arguments
(list
#:modules `((guix build gnu-build-system)
(guix build utils)
(srfi srfi-26))
#:phases
#~(modify-phases %standard-phases
(delete 'configure) ; no configure script
(add-after 'unpack 'patch-source
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Documentation requires tldp-one-page.xsl
(substitute* "Makefile"
((".*-C Documentation.*") ""))
;; Don't create #$output/var/cache/pbuilder/...
(substitute* '("Makefile"
"pbuildd/Makefile")
((".*/var/cache/pbuilder.*") ""))
;; Find the correct fallback location.
(substitute* '("pbuilder-checkparams"
"pbuilder-loadconfig"
"pbuilder-satisfydepends-apt"
"pbuilder-satisfydepends-aptitude"
"pbuilder-satisfydepends-classic"
"t/test_pbuilder-satisfydepends-classic")
(("\\$PBUILDER_ROOT(/usr)?") #$output))
;; Some hardcoded paths
(substitute* '("debuild-pbuilder"
"pbuilder"
"pbuilder-buildpackage"
"pbuilderrc"
"pdebuild"
"pdebuild-checkparams"
"pdebuild-internal")
(("/usr/lib/pbuilder")
(string-append #$output "/lib/pbuilder")))
(substitute* "pbuildd/buildd-config.sh"
(("/usr/share/doc/pbuilder")
(string-append #$output "/share/doc/pbuilder")))
(substitute* "pbuilder-unshare-wrapper"
(("/(s)?bin/ifconfig") "ifconfig")
(("/(s)?bin/ip") (search-input-file inputs "/sbin/ip")))
(substitute* "Documentation/Makefile"
(("/usr") ""))
;; Ensure PATH works both in Guix and within the Debian chroot.
(substitute* "pbuilderrc"
(("PATH=\"/usr/sbin:/usr/bin:/sbin:/bin")
"PATH=\"$PATH:/usr/sbin:/usr/bin:/sbin:/bin"))))
(add-after 'install 'create-etc-pbuilderrc
(lambda* (#:key outputs #:allow-other-keys)
(with-output-to-file (string-append #$output "/etc/pbuilderrc")
(lambda ()
(format #t "# A couple of presets to make this work more smoothly.~@
MIRRORSITE=\"http://deb.debian.org/debian\"~@
if [ -r /run/setuid-programs/sudo ]; then~@
PBUILDERROOTCMD=\"/run/setuid-programs/sudo -E\"~@
fi~@
PBUILDERSATISFYDEPENDSCMD=\"~a/lib/pbuilder/pbuilder-satisfydepends-apt\"~%"
#$output)))))
(add-after 'install 'install-manpages
(lambda* (#:key outputs #:allow-other-keys)
(let ((man (string-append #$output "/share/man/")))
(install-file "debuild-pbuilder.1" (string-append man "man1"))
(install-file "pdebuild.1" (string-append man "man1"))
(install-file "pbuilder.8" (string-append man "man8"))
(install-file "pbuilderrc.5" (string-append man "man5")))))
(add-after 'install 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
(for-each
(lambda (file)
(wrap-script file
`("PATH" ":" prefix
,(map (compose dirname (cut search-input-file inputs <>))
(list "/bin/cut"
"/bin/dpkg"
"/bin/grep"
"/bin/perl"
"/bin/sed"
"/bin/which"
"/sbin/debootstrap")))))
(cons*
(string-append #$output "/bin/pdebuild")
(string-append #$output "/sbin/pbuilder")
(find-files (string-append #$output "/lib/pbuilder"))))))
;; Move the 'check phase to after 'install.
(delete 'check)
(add-after 'validate-runpath 'check
(assoc-ref %standard-phases 'check)))
#:make-flags
;; No PREFIX, use DESTDIR instead.
#~(list (string-append "DESTDIR=" #$output)
(string-append "SYSCONFDIR=" #$output "/etc")
(string-append "BINDIR=" #$output "/bin")
(string-append "PKGLIBDIR=" #$output "/lib/pbuilder")
(string-append "SBINDIR=" #$output "/sbin")
(string-append "PKGDATADIR=" #$output "/share/pbuilder")
(string-append "EXAMPLEDIR=" #$output "/share/doc/pbuilder/examples")
"PBUILDDDIR=/share/doc/pbuilder/examples/pbuildd/")))
(inputs
(list dpkg
debootstrap
grep
guile-3.0 ; for wrap-script
iproute
perl
which))
(native-inputs
(list man-db
util-linux))
(home-page "https://pbuilder-team.pages.debian.net/pbuilder/")
(synopsis "Personal package builder for Debian packages")
(description
"@code{pbuilder} is a personal package builder for Debian packages.
@itemize
@item@code{pbuilder} constructs a chroot system, and builds a package inside the
chroot. It is an ideal system to use to check that a package has correct
build-dependencies. It uses @code{apt} extensively, and a local mirror, or a
fast connection to a Debian mirror is ideal, but not necessary.
@item@code{pbuilder create} uses debootstrap to create a chroot image.
@item@code{pbuilder update} updates the image to the current state of
testing/unstable/whatever.
@item@code{pbuilder build} takes a @code{*.dsc} file and builds a binary in the
chroot image.
@item@code{pdebuild} is a wrapper for Debian Developers, to allow running
@code{pbuilder} just like @code{debuild}, as a normal user.
@end itemize")
(license license:gpl2+)))
(define-public reprepro
(package
(name "reprepro")

View file

@ -3,6 +3,7 @@
;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -41,12 +42,12 @@
(name "dico")
(version "2.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/dico/dico-"
version ".tar.xz"))
(sha256
(base32
"0nic4mggc0yhms130k7x4qp5k9c42fwg6n8hmk5cmynh6gi9h7xc"))))
(method url-fetch)
(uri (string-append "mirror://gnu/dico/dico-"
version ".tar.xz"))
(sha256
(base32
"0nic4mggc0yhms130k7x4qp5k9c42fwg6n8hmk5cmynh6gi9h7xc"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags (list (string-append "--with-guile-site-dir=" %output
@ -59,23 +60,22 @@
;; Guile is too talkative, which disturbs the test
;; infrastructure. Gag it.
(setenv "GUILE_AUTO_COMPILE" "0")
(setenv "GUILE_WARN_DEPRECATED" "no")
#t))
(setenv "GUILE_WARN_DEPRECATED" "no")))
(replace 'check
(lambda _
;; Test '71: append + dooffs + env' fails if $V is not 2.
(invoke "make" "check" "V=2"))))))
(native-inputs (list groff))
(inputs
`(("m4" ,m4) ;used at run time
("pcre" ,pcre)
("python" ,python-2)
("guile" ,guile-2.2)
("gsasl" ,gsasl)
("readline" ,readline)
("zlib" ,zlib)
("wordnet" ,wordnet)
("libltdl" ,libltdl)))
(list m4 ;used at run time
pcre
python-wrapper
guile-2.2
gsasl
readline
zlib
wordnet
libltdl))
(home-page "https://www.gnu.org/software/dico/")
(synopsis "Implementation of DICT server (RFC 2229)")
(description
@ -84,4 +84,4 @@ RFC 2229 (DICT Server). It is able to access any database available,
regardless of format, thanks to its modular structure. New modules may be
written in C, Guile or Python. Dico also includes a command-line client,
which may be used to query remote dictionary databases.")
(license gpl3+)))
(license gpl3+)))

View file

@ -74,7 +74,7 @@
(define-public diffoscope
(package
(name "diffoscope")
(version "213")
(version "214")
(source
(origin
(method git-fetch)
@ -83,7 +83,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "075zrraj7pibwgi731pa506pkq5i06mpilqa03w3dd548b1jc9py"))
(base32 "05vzvs8yn963wzxmnqifj0zsa9scxcq3iqrq9msm0vqznb1xgp7q"))
(patches
(search-patches "diffoscope-fix-llvm-test.patch"))))
(build-system python-build-system)
@ -111,13 +111,6 @@
(string-append "['" (which "stat") "',"))
(("\\['getfacl',")
(string-append "['" (which "getfacl") "',")))))
(add-after 'unpack 'xb-tool-external-tool
;; Fixed upstream, remove this phase when updating to
;; diffoscope 213
(lambda _
(substitute* "diffoscope/external_tools.py"
((".debian.: .libxmlb-dev.")
"\"debian\": \"libxmlb-dev\", \"guix\": \"libxmlb\""))))
(add-after 'build 'build-man-page
(lambda* (#:key (make-flags '()) #:allow-other-keys)
(apply invoke "make" "-C" "doc" make-flags)))

View file

@ -12,6 +12,7 @@
;;; Copyright © 2021 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -41,7 +42,9 @@
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages admin)
#:use-module (gnu packages base)
#:use-module (gnu packages bash)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages freedesktop)
@ -252,70 +255,86 @@ experience for your users, your family and yourself")
(license license:gpl3+)))
(define-public lightdm
(package
(name "lightdm")
(version "1.30.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/CanonicalLtd/lightdm/releases/download/"
version "/lightdm-" version ".tar.xz"))
(sha256
(base32
"158zb2d0v1309a8v19hh32y4yj3v6yg4yg6m0l7v59d3a2b7f651"))))
(build-system gnu-build-system)
(arguments
'(#:parallel-tests? #f ; fails when run in parallel
#:configure-flags
(list "--localstatedir=/var")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda _
(substitute* "src/shared-data-manager.c"
(("/bin/rm") (which "rm")))
(substitute* '("data/users.conf"
"common/user-list.c")
(("/bin/false") (which "false"))
(("/usr/sbin/nologin") (which "nologin")))
(substitute* "src/seat.c"
(("/bin/sh") (which "sh")))
#t))
(add-before 'check 'pre-check
;; Run test-suite under a dbus session.
(lambda* (#:key inputs #:allow-other-keys)
(wrap-program "tests/src/test-python-greeter"
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
;; Use the latest commit, as the current official release doesn't build with
;; glib >= 2.33.
(let ((revision "0")
(commit "b7fc3214cbaed09c73e963847443a0d648dfd896"))
(package
(name "lightdm")
(version (git-version "1.30.0" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/canonical/lightdm")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0378jacazpmdgdjkiilk3mbikz3iysb4s9q40hg9zv4yngwsix1m"))))
(build-system gnu-build-system)
(arguments
'(#:parallel-tests? #f ; fails when run in parallel
#:configure-flags
(list "--localstatedir=/var"
;; Otherwise the test suite fails on such a warning.
"CFLAGS=-Wno-error=missing-prototypes")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "src/shared-data-manager.c"
(("/bin/rm")
(search-input-file inputs "bin/rm")))
(substitute* '("data/users.conf"
"common/user-list.c")
(("/bin/false")
(search-input-file inputs "bin/false"))
(("/usr/sbin/nologin")
(search-input-file inputs "sbin/nologin")))
(substitute* "src/seat.c"
(("/bin/sh")
(search-input-file inputs "bin/sh")))))
(add-before 'check 'pre-check
;; Run test-suite under a dbus session.
(lambda _
(wrap-program "tests/src/test-python-greeter"
`("GUIX_PYTHONPATH" ":" prefix (,(getenv "GUIX_PYTHONPATH")))
`("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH"))))
;; Avoid printing locale warnings, which trip up the text
;; matching tests.
(unsetenv "LC_ALL")
#t)))))
(inputs
(list audit
linux-pam
shadow ;for sbin/nologin
libgcrypt
libxcb))
(native-inputs
`(("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("itstool" ,itstool)
("intltool" ,intltool)
("vala" ,vala) ;for Vala bindings
;; For tests
("dbus" ,dbus)
("python" ,python-2)
("python-pygobject" ,python2-pygobject)))
;; Required by liblightdm-gobject-1.pc.
(propagated-inputs
(list glib libx11 libxklavier))
(home-page "https://www.freedesktop.org/wiki/Software/LightDM/")
(synopsis "Lightweight display manager")
(description "The Light Display Manager (LightDM) is a cross-desktop
;; Avoid printing locale warnings, which trip up the text
;; matching tests.
(unsetenv "LC_ALL"))))))
(inputs
(list audit
coreutils ;for cross-compilation
linux-pam
shadow ;for sbin/nologin
libgcrypt
libxcb))
(native-inputs
(list autoconf
automake
gobject-introspection
gtk-doc
pkg-config
itstool
intltool
libtool
vala ;for Vala bindings
;; For tests
dbus
;; python-wrapper
;; python-pygobject
which
yelp-tools))
;; Required by liblightdm-gobject-1.pc.
(propagated-inputs
(list glib libx11 libxklavier))
(home-page "https://www.freedesktop.org/wiki/Software/LightDM/")
(synopsis "Lightweight display manager")
(description "The Light Display Manager (LightDM) is a cross-desktop
display manager which supports different greeters.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public lightdm-gtk-greeter
(package

View file

@ -3,6 +3,7 @@
;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,6 +25,7 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
@ -149,31 +151,15 @@ a continuous layout.")
(sha256
(base32 "0c595yziz81c9izf9s5sskd00qmgz2n1hp2vdcgg0dx81g3xfidb"))))
(build-system gnu-build-system)
(native-inputs
`(("gettext" ,gettext-minimal)
("pkg-config" ,pkg-config)
("python2" ,python-2)
("python2-nose" ,python2-nose)))
(arguments (list #:tests? #f)) ;requires Python 2
(native-inputs (list gettext-minimal pkg-config))
(inputs
`(("djvulibre" ,djvulibre)
("exiv2" ,exiv2)
("graphicsmagick" ,graphicsmagick)
("poppler" ,poppler)
("poppler-data" ,poppler-data)
("util-linux-lib" ,util-linux "lib"))) ; for libuuid
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
(substitute* "tests/test-xmp-broken.py"
;; Error message changed in recent versions of XML parser
(("XML parsing failure")
"Error in XMLValidator"))))
(add-before 'check 'set-home-for-tests
(lambda _
(setenv "HOME" "/tmp"))))))
(list djvulibre
exiv2
graphicsmagick
poppler
poppler-data
`(,util-linux "lib"))) ;for libuuid
(synopsis "PDF to DjVu converter")
(description
"@code{pdf2djvu} creates DjVu files from PDF files.
@ -290,193 +276,158 @@ and white.")
(home-page "https://sourceforge.net/projects/minidjvu/")
(license license:gpl2)))
(define-public djvusmooth
(package
(name "djvusmooth")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/jwilk/djvusmooth/releases/download/" version
"/djvusmooth-" version ".tar.gz"))
(sha256
(base32 "0z403cklvxzz0qaczgv83ax0nknrd9h8micp04j9kjfdxk2sgval"))))
(build-system python-build-system)
(inputs
(list djvulibre python2-djvulibre python2-subprocess32
python2-wxpython))
(arguments
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "lib/djvused.py"
(("djvused_path = 'djvused'")
(string-append "djvused_path = '"
(assoc-ref inputs "djvulibre")
"/bin/djvused'"))))))))
(synopsis "Graphical editor for DjVu documents")
(description
"@code{djvusmooth} is a graphical editor for DjVu_ documents.
It is able to:
@itemize
@item edit document metadata,
@item edit document outline (bookmarks),
@item add, remove or edit hyperlinks,
@item correct occasional errors in the hidden text layer.
@end itemize\n")
(home-page "https://jwilk.net/software/djvusmooth")
(license license:gpl2)))
(define-public didjvu
(package
(name "didjvu")
(version "0.9")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/jwilk/didjvu/releases/download/" version
"/didjvu-" version ".tar.gz"))
(sha256
(base32 "0xyrnk8d2khi7q1zr28gjkjq6frz4mkb5jdl8821yzf12k7c8pbv"))))
(build-system gnu-build-system)
(native-inputs
(list python2-nose))
(inputs
`(("djvulibre" ,djvulibre)
("minidjvu" ,minidjvu)
("python" ,python-2)
("python2-gamera" ,python2-gamera)
("python2-pillow" ,python2-pillow)))
(arguments
`(#:modules ((guix build gnu-build-system)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build python-build-system))
#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'check 'disable-failing-test
(lambda _
(substitute* "tests/test_ipc.py"
;; test_wait_signal gets stuck forever
(("yield self\\._test_signal, name")
"return True")
;; test_path fails to find a file it should have created
(("path = os\\.getenv\\('PATH'\\)\\.split\\(':'\\)")
"return True"))
(substitute* "tests/test_timestamp.py"
;; test_timezones fails with:
;; '2009-12-18T21:25:14Z' != '2009-12-18T22:25:14+01:00'
(("@fork_isolation")
"return True"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "make"
"DESTDIR="
(string-append "PREFIX=" out)
"install"))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(djvulibre (assoc-ref inputs "djvulibre")))
(wrap-program (string-append out "/bin/didjvu")
`("PATH" ":" prefix (,(string-append djvulibre "/bin"))))))))))
(synopsis "DjVu encoder with foreground/background separation")
(description
"@code{didjvu} uses the @code{Gamera} framework to separate the foreground
(let ((revision "0")
(commit "c792d61e85fbe5b6e678bc7d686b0208717c587b"))
(package
(name "didjvu")
(version (git-version "0.9" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/FriedrichFroebel/didjvu")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"09lwfwirmfl93062i2rvdcrgwp9fj95ny07059bxq7dl6z0z35qj"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build python-build-system))
#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'check 'disable-failing-test
(lambda _
(substitute* "tests/test_ipc.py"
;; test_wait_signal gets stuck forever
(("yield self\\._test_signal, name")
"return True")
;; test_path fails to find a file it should have created
(("path = os\\.getenv\\('PATH'\\)\\.split\\(':'\\)")
"return True"))
(substitute* "tests/test_timestamp.py"
;; test_timezones fails with:
;; '2009-12-18T21:25:14Z' != '2009-12-18T22:25:14+01:00'
(("@fork_isolation")
"return True"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "make"
"DESTDIR="
(string-append "PREFIX=" out)
"install"))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(djvulibre (assoc-ref inputs "djvulibre")))
(wrap-program (string-append out "/bin/didjvu")
`("PATH" ":" prefix (,(string-append djvulibre "/bin"))))))))))
(native-inputs (list python-nose))
(inputs
(list djvulibre
minidjvu
python-gamera
python-pillow
python-wrapper))
(synopsis "DjVu encoder with foreground/background separation")
(description
"@code{didjvu} uses the @code{Gamera} framework to separate the foreground
and background layers of images, which can then be encoded into a DjVu file.")
(home-page "https://jwilk.net/software/didjvu")
(license license:gpl2)))
(home-page "https://jwilk.net/software/didjvu")
(license license:gpl2))))
(define-public ocrodjvu
(package
(name "ocrodjvu")
(version "0.12")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/jwilk/ocrodjvu/releases/download/" version
"/ocrodjvu-" version ".tar.xz"))
(sha256
(base32 "09w9rqr7z2jd5kwp178zz2yrsc82mxs7gksipg92znxzgzhmw2ng"))))
(build-system gnu-build-system)
(native-inputs
(list libxml2 python2-nose python2-pillow))
(inputs
`(("djvulibre" ,djvulibre)
("ocrad" ,ocrad)
("python" ,python-2)
("python2-djvulibre" ,python2-djvulibre)
("python2-html5lib" ,python2-html5lib)
("python2-lxml" ,python2-lxml)
("python2-pyicu" ,python2-pyicu)
("python2-subprocess32" ,python2-subprocess32)
("tesseract-ocr" ,tesseract-ocr)))
(arguments
`(#:modules ((guix build gnu-build-system)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:imported-modules (,@%gnu-build-system-modules
(guix build python-build-system))
#:test-target "test"
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-before 'check 'disable-failing-test
(lambda _
(substitute* "tests/test_ipc.py"
;; test_wait_signal gets stuck forever
(("yield self\\._test_signal, name")
"return True")
;; test_path fails to find a file it should have created
(("path = os\\.getenv\\('PATH'\\)\\.split\\(':'\\)")
"return True"))
;; Disable tests with tesseract. They can't work without
;; the language files that must downloaded by the final user
;; as they are not packaged in Guix.
(substitute* "tests/ocrodjvu/test.py"
(("engines = stdout\\.getvalue\\(\\)\\.splitlines\\(\\)")
"engines = ['ocrad']"))
(substitute* "tests/ocrodjvu/test_integration.py"
(("engines = 'tesseract', 'cuneiform', 'gocr', 'ocrad'")
"engines = 'ocrad'"))))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "make"
"DESTDIR="
(string-append "PREFIX=" out)
"install"))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-path
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(djvulibre (assoc-ref inputs "djvulibre"))
(ocrad (assoc-ref inputs "ocrad"))
(tesseract (assoc-ref inputs "tesseract-ocr")))
(for-each (lambda (file)
(wrap-program (string-append out "/bin/" file)
`("PATH" ":" prefix
(,(string-append djvulibre "/bin:"
ocrad "/bin:"
tesseract "/bin")))))
'("djvu2hocr"
"hocr2djvused"
"ocrodjvu"))))))))
(synopsis "Program to perform OCR on DjVu files")
(description
"@code{ocrodjvu} is a wrapper for OCR systems, that allows you to perform
(let ((revision "0")
(commit "0dd3364462fc77d5674b4457fcc8230835323c30"))
(package
(name "ocrodjvu")
(version (git-version "0.12" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
;; Use the following fork repository, as upstream
;; doesn't seem too concerned with Python 3
;; compatibility.
(url "https://github.com/rmast/ocrodjvu")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0x64hg9ysrk8sismxb4jgk0sq7r9j90v2i9765xhmxpiy6f0lpni"))))
(build-system gnu-build-system)
(native-inputs
(list libxml2 python-nose python-pillow))
(inputs
(list djvulibre
ocrad
python-djvulibre
python-future
python-html5lib
python-lxml
python-pyicu
python-regex
python-wrapper
tesseract-ocr))
(arguments
(list
#:modules '((guix build gnu-build-system)
((guix build python-build-system) #:prefix python:)
(guix build utils))
#:imported-modules `(,@%gnu-build-system-modules
(guix build python-build-system))
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-before 'check 'disable-failing-test
(lambda _
(substitute* "tests/test_ipc.py"
;; test_wait_signal gets stuck forever
(("yield self\\._test_signal, name")
"return True")
;; test_path fails to find a file it should have created
(("path = os\\.getenv\\('PATH'\\)\\.split\\(':'\\)")
"return True"))
;; Disable tests with tesseract. They can't work without
;; the language files that must downloaded by the final user
;; as they are not packaged in Guix.
(substitute* "tests/ocrodjvu/test.py"
(("engines = stdout\\.getvalue\\(\\)\\.splitlines\\(\\)")
"engines = ['ocrad']"))
(substitute* "tests/ocrodjvu/test_integration.py"
(("engines = 'tesseract', 'cuneiform', 'gocr', 'ocrad'")
"engines = 'ocrad'"))))
(replace 'install
(lambda _
(invoke "make" "install"
"DESTDIR=" (string-append "PREFIX=" #$output))))
(add-after 'install 'wrap-python
(assoc-ref python:%standard-phases 'wrap))
(add-after 'wrap-python 'wrap-path
(lambda* (#:key outputs #:allow-other-keys)
(for-each (lambda (file)
(wrap-program (search-input-file outputs file)
`("PATH" ":" prefix
(,(string-append
#$(this-package-input "djvulibre") "/bin:"
#$(this-package-input "ocrad") "/bin:"
#$(this-package-input "tesseract-ocr")
"/bin")))))
'("bin/djvu2hocr"
"bin/hocr2djvused"
"bin/ocrodjvu")))))))
(synopsis "Program to perform OCR on DjVu files")
(description
"@code{ocrodjvu} is a wrapper for OCR systems, that allows you to perform
OCR on DjVu files.")
(home-page "https://jwilk.net/software/ocrodjvu")
(license license:gpl2)))
(home-page "https://jwilk.net/software/ocrodjvu")
(license license:gpl2))))

View file

@ -445,109 +445,6 @@ specialized device.")
(home-page "https://bipede.fr/contrib/")
(license license:gpl3)))
(define-public childsplay
(package
(name "childsplay")
(version "3.4")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://sourceforge/schoolsplay/"
"childsplay-" version ".tgz"))
(sha256
(base32
"0z7yp2swjnbz51vn2zyfnjn40jq38l5mbh15yafmx1z3vn2z1m77"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
#:tests? #f
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'unbundle-dejavu-font
(lambda* (#:key inputs #:allow-other-keys)
(let* ((dejavu-dir
(string-append (assoc-ref inputs "font-dejavu")
"/share/fonts/truetype"))
(dejavu-font
(string-append dejavu-dir
"/DejaVuSansCondensed-Bold.ttf")))
(substitute* "SPConstants.py"
(("^(TTF(BOLD)? = ).*" _ prefix)
(string-append prefix "'" dejavu-font "'\n")))
(for-each (lambda (f) (delete-file f))
(find-files "lib/SPData" "DejaVu"))
#t)))
(delete 'build)
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(pixmaps (string-append out "/share/pixmaps"))
(share (string-append out "/share/childsplay"))
(doc (string-append out "/share/doc/" ,name "-",version)))
;; Install icon.
(install-file "lib/SPData/themes/childsplay/logo_cp.svg" pixmaps)
;; Install data.
(mkdir-p share)
(for-each (lambda (f)
(copy-recursively f (string-append share "/" f)))
'("alphabet-sounds" "lib" "locale" "SPWidgets"))
(for-each (lambda (f) (install-file f share))
(find-files "." "\\.(py|dev|db)$"))
;; Install documentation.
(mkdir-p doc)
(copy-recursively "docs" doc)
#t)))
(add-after 'install 'create-executable
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((python (search-input-file inputs "/bin/python"))
(out (assoc-ref outputs "out"))
(bin (string-append out "/bin"))
(executable (string-append bin "/childsplay")))
(mkdir-p bin)
(call-with-output-file executable
(lambda (file)
(format file
"~a ~a"
python
(string-append out "/share/childsplay/childsplay.py"))))
(chmod executable #o555)
#t)))
(add-after 'install 'create-desktop-file
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(applications (string-append out "/share/applications")))
(mkdir-p applications)
(call-with-output-file
(string-append applications "/childsplay.desktop")
(lambda (file)
(format file
"[Desktop Entry]~@
Name=Childsplay~@
Comment=Suite of educational games for young children~@
Comment[ca]=Conjunt de jocs educatius per a xiquets~@
Comment[es]=Conjunto de juegos educativos para niños~@
Comment[de]=Sammlung mit lehrreichen Spielen für kleine Kinder~@
Exec=~a/bin/childsplay~@
Terminal=false~@
Icon=logo_cp.svg~@
Type=Application~@
Categories=Application;Game;Education;KidsGame;~@
Keywords=suite;children;games;young;educational;~%"
out)))
#t))))))
(inputs
`(("font-dejavu" ,font-dejavu)
("pygame" ,python2-pygame)
("sqlalchemy" ,python2-sqlalchemy)))
(synopsis "Suite of educational games for young children")
(description "Childsplay is a collection of educational activities
for young children. Childsplay can be used at home, kindergartens and
pre-schools. Childsplay is a fun and safe way to let young children
use the computer and at the same time teach them a little math,
letters of the alphabet, spelling, eye-hand coordination, etc.")
(home-page "http://www.schoolsplay.org")
(license license:gpl3+)))
(define-public openboard
;; The last release builds from qtwebkit, which is planned for removal in
;; Guix, so use the latest commit of the 1.7-dev branch, which builds with
@ -679,106 +576,6 @@ used both with interactive whiteboards or in a dual-screen setup with
a pen-tablet display and a beamer.")
(license license:gpl3))))
(define-public omnitux
(package
(name "omnitux")
(version "1.2.1")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/omnitux/omnitux/"
"v" version "/omnitux-" version ".tar.bz2"))
(sha256
(base32 "1wmmmbzmxd0blhn00d4g91xwavnab143a31ca3i8hrqgzh6qz9w6"))
(modules '((guix build utils)))
(snippet
'(begin
;; Remove pre-compiled .pyc files from source.
(for-each delete-file (find-files "bin" "\\.pyc$"))
#t))))
(build-system python-build-system)
(inputs
(list python2-pygame python2-pygtk))
(arguments
`(#:tests? #f ;no test
#:python ,python-2
#:phases
(modify-phases %standard-phases
(delete 'build) ;no setup.py
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(share (string-append out "/share"))
(data (string-append share "/omnitux")))
;; Install documentation.
(let ((doc (string-append share "/doc/" ,name "-" ,version)))
(for-each (lambda (f) (install-file f doc))
'("LICENSE.txt" "README.txt")))
;; Install data.
(install-file "omnitux.sh" data)
(for-each (lambda (d)
(copy-recursively d (string-append data "/" d)))
'("bin" "data"))
;; Install the launcher.
(let* ((bin (string-append out "/bin"))
(script (string-append bin "/omnitux"))
(bash (search-input-file %build-inputs "/bin/bash"))
(python (search-input-file %build-inputs
"/bin/python2")))
(mkdir-p bin)
(with-output-to-file script
(lambda ()
(format #t "#!~a~%" bash)
(format #t
"cd ~a; ~a menu.py~%"
(string-append data "/bin")
python)))
(chmod script #o755))
;; Install icon and desktop file.
(let ((pixmaps (string-append share "/pixmaps")))
(install-file "data/default/icons/Omnitux_logo.svg" pixmaps))
(let ((apps (string-append out "/share/applications")))
(mkdir-p apps)
(with-output-to-file (string-append apps "/omnitux.desktop")
(lambda _
(format #t
"[Desktop Entry]~@
Name=Omnitux~@
GenericName=Omnitux
Comment=An educational game based on multimedia elements.~@
Comment[fr]=Un jeu ludo-éducatif basé sur des éléments multimédias.~@
Exec=~a/bin/omnitux~@
Type=Application~@
Categories=Game;Education;~@
Terminal=false~@
Icon=Omnitux_logo.svg~@"
out))))
#t))))))
(home-page "http://omnitux.sourceforge.net/")
(synopsis "Educational activities based on multimedia elements")
(description "The project aims to provide various educational
activities around multimedia elements (images, sounds, texts). Types
of activities include:
@itemize
@item associations,
@item items to place on a map or a schema,
@item counting activities,
@item puzzles,
@item card faces to remember,
@item find differences between two pictures,
@item ...
@end itemize
Activities are available in English, French, German, Polish,
Portuguese, Spanish and Italian.")
;; Project's license is GPL3+, but multimedia elements are
;; released under various licenses.
(license (list license:gpl3+
license:gpl2+
license:cc-by-sa2.0
license:cc-by-sa3.0
license:public-domain))))
(define-public fet
(package
(name "fet")

View file

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com>
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013-2022 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
@ -891,57 +891,63 @@ libgit2 bindings for Emacs, intended to boost the performance of Magit.")
(base32 "0cxyvp2aav27znc7mf6c83q5pddpdniaqkrxn1r8dbgr540qmnpn"))))
(build-system emacs-build-system)
(arguments
`(#:emacs ,emacs-no-x ;module support is required
#:tests? #t
#:test-command '("make" "test")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'build-info-manual
(lambda _
(invoke "make" "info")
;; Copy info files to the lisp directory, which acts as
;; the root of the project for the emacs-build-system.
(for-each (lambda (f)
(install-file f "lisp"))
(find-files "Documentation" "\\.info$"))
(chdir "lisp")))
(add-after 'build-info-manual 'set-magit-version
(lambda _
(make-file-writable "magit.el")
(emacs-substitute-variables "magit.el"
("magit-version" ,version))))
(add-after 'set-magit-version 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((perl (assoc-ref inputs "perl")))
(make-file-writable "magit-sequence.el")
(emacs-substitute-variables "magit-sequence.el"
("magit-perl-executable" (string-append perl "/bin/perl"))))))
(add-before 'check 'configure-git
(lambda _
;; Otherwise some tests fail with error "unable to auto-detect
;; email address".
(setenv "HOME" (getcwd))
(invoke "git" "config" "--global" "user.name" "toto")
(invoke "git" "config" "--global" "user.email"
"toto@toto.com")))
(add-after 'configure-git 'disable-tramp-test
(lambda _
;; There is an issue causing TRAMP to fail in the build
;; environment. Setting the tramp-remote-shell parameter of
;; the sudo-method to the file name of the shell didn't help.
(chdir "..")
(substitute* "t/magit-tests.el"
(("^\\(ert-deftest magit-toplevel:tramp.*" all)
(string-append all " (skip-unless nil)")))))
(add-before 'install 'enter-lisp-directory
(lambda _
(chdir "lisp"))))))
(list
#:tests? #t
#:test-command #~(list "make" "test")
#:exclude #~(cons* "magit-libgit.el"
"magit-libgit-pkg.el"
%default-exclude)
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'build-info-manual
(lambda _
(invoke "make" "info")
;; Copy info files to the lisp directory, which acts as
;; the root of the project for the emacs-build-system.
(for-each (lambda (f)
(install-file f "lisp"))
(find-files "Documentation" "\\.info$"))))
(add-after 'build-info-manual 'set-magit-version
(lambda _
(make-file-writable "lisp/magit.el")
(emacs-substitute-variables "lisp/magit.el"
("magit-version" #$version))))
(add-after 'set-magit-version 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "lisp/magit-sequence.el")
(emacs-substitute-variables "lisp/magit-sequence.el"
("magit-perl-executable"
(search-input-file inputs "/bin/perl")))))
(add-before 'check 'configure-git
(lambda _
;; Otherwise some tests fail with error "unable to auto-detect
;; email address".
(setenv "HOME" (getcwd))
(invoke "git" "config" "--global" "user.name" "toto")
(invoke "git" "config" "--global" "user.email"
"toto@toto.com")))
(add-after 'configure-git 'disable-tramp-test
(lambda _
;; There is an issue causing TRAMP to fail in the build
;; environment. Setting the tramp-remote-shell parameter of
;; the sudo-method to the file name of the shell didn't help.
(substitute* "t/magit-tests.el"
(("^\\(ert-deftest magit-toplevel:tramp.*" all)
(string-append all " (skip-unless nil)")))))
(replace 'expand-load-path
(lambda args
(with-directory-excursion "lisp"
(apply (assoc-ref %standard-phases 'expand-load-path) args))))
(replace 'install
(lambda args
(with-directory-excursion "lisp"
(apply (assoc-ref %standard-phases 'install) args)))))))
(native-inputs
(list texinfo))
(inputs
(list git perl))
(propagated-inputs
(list emacs-dash emacs-libgit emacs-transient emacs-with-editor))
(list emacs-dash emacs-transient emacs-with-editor))
(home-page "https://magit.vc/")
(synopsis "Emacs interface for the Git version control system")
(description
@ -2149,18 +2155,17 @@ or unexpected behavior inside an elisp configuration file (typically
;; 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"))))
(version "20220508.2259")
(source (origin
;; "Officially" this is still on cvs.namazu.org, but that repo
;; seems to be unreachable.
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacs-w3m/emacs-w3m.git")
(commit "bbcebbe20ebfa807a3e4beaadf40ce6f4be213e7")))
(sha256
(base32
"0y892n8jaxzyxi1fgyklc7zfh57ibp4yyywmif69dm28hykj6lmz"))))
(build-system gnu-build-system)
(native-inputs (list autoconf texinfo emacs-minimal))
(inputs (list w3m imagemagick))
@ -6552,7 +6557,9 @@ framework for Emacs Lisp to be used with @code{ert}.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))))
(base32 "0xy9zb6wwkgwhcxdnslqk52bq3z24chgk6prqi4ks0qcf2bwyh5h"))
(patches
(search-patches "emacs-deferred-fix-number-of-arguments.patch"))))
(build-system emacs-build-system)
(arguments
`(#:phases
@ -18731,31 +18738,27 @@ and @code{erc-send-modify-hook} to download and show images.")
(license license:gpl3+)))
(define-public emacs-list-utils
(package
(name "emacs-list-utils")
(version "0.4.6")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rolandwalker/list-utils")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07hbz2md52ccy95gv4d5n6szrfmpfqf3w4kwqdg2cf54c7kgf7hw"))))
(build-system emacs-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-require-cl
(lambda _
(substitute* "list-utils.el"
(("\\(require 'cl\\)") "(require 'cl-lib)"))
#t)))))
(home-page "https://github.com/rolandwalker/list-utils")
(synopsis "List-manipulation utility functions")
(description "This package provides a list manipulation library for Emacs.")
(license license:gpl3+)))
;; Use a git snapshot until upstream fixes the build with emacs 28.1.
;; See <http://issues.guix.gnu.org/55558>.
(let ((commit "0dec8c02962d2591766739e37c5714ba21133093") (revision "1"))
(package
(name "emacs-list-utils")
(version (git-version "0.4.6" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/rolandwalker/list-utils")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"11nm8649a131bn2kwj4fxkiijdx2d4f1byx7a985zlb3bzdwnaw8"))))
(build-system emacs-build-system)
(home-page "https://github.com/rolandwalker/list-utils")
(synopsis "List-manipulation utility functions")
(description
"This package provides a list manipulation library for Emacs.")
(license license:gpl3+))))
(define-public emacs-parsec
(package
@ -20127,7 +20130,7 @@ downloading manager for Emacs.")
(define-public emacs-helpful
(package
(name "emacs-helpful")
(version "0.18")
(version "0.19")
(source
(origin
(method git-fetch)
@ -20136,7 +20139,9 @@ downloading manager for Emacs.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0gdjxykqkal2x765mi51m99i5ql23i1fy909wy4mzj5ajhjfgqcc"))))
(base32 "0qwsifzsjw95l83m7z07fr9h1sqbhggwmcps1qgbddpan2a8ab8a"))
;; Cherry-picked from upstream, remove when bumping to 0.20.
(patches (search-patches "emacs-helpful-fix-docstring-test.patch"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-elisp-refs emacs-dash emacs-s emacs-f emacs-shut-up))
@ -21553,10 +21558,11 @@ provide an incremental search that moves all fake cursors in sync.")
(license license:expat))))
(define-public emacs-evil-org
(let ((commit "9d4be14118bf27094a30dbff349b815f098aacbf"))
(let ((commit "0d10ff7bb9a3a93d25cd91018b17f0a052b335f3")
(revision "2"))
(package
(name "emacs-evil-org")
(version (git-version "1.0.2" "1" commit))
(version (git-version "1.0.3" revision commit))
(source
(origin
(method git-fetch)
@ -21566,7 +21572,7 @@ provide an incremental search that moves all fake cursors in sync.")
(file-name (git-file-name name version))
(sha256
(base32
"1fxxfkinb0gq4p5b686r7z4jrkv98zfgh5z889zkjacncv8ibswn"))))
"15g47xgpswzc8lz7qdbbzfcq1n9m4474qa2jkg43l8d5ali8qa7z"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-evil))
(home-page
@ -24171,8 +24177,8 @@ stored playlists.")
(define-public emacs-vterm
(let ((version "0.0.1")
(revision "0")
(commit "a670b786539d3c8865d8f68fe0c67a2d4afbf1aa"))
(revision "1")
(commit "b44723552f86407d528c4a6c8057382c061b008e"))
(package
(name "emacs-vterm")
(version (git-version version revision commit))
@ -24184,7 +24190,7 @@ stored playlists.")
(file-name (git-file-name name version))
(sha256
(base32
"0s244crjkbzl2jhp9m4sm1xdhbpxwph0m3jg18livirgajvdz6hn"))))
"0rq2skwylvc7s4vfpbbsdykws4akyp9sc6xgrh2ql5yydhhnv2h3"))))
(build-system emacs-build-system)
(arguments
`(#:modules ((guix build emacs-build-system)
@ -24350,49 +24356,52 @@ indentation and a command to plot the file.")
according to their use.")
(license license:gpl3+))))
(define-public emacs-dtache
(define-public emacs-detached
(package
(name "emacs-dtache")
(version "0.5")
(name "emacs-detached")
(version "0.7")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/niklaseklund/dtache")
(url "https://git.sr.ht/~niklaseklund/detached.el")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"05gm5l533y8xr00w3c3i4fbhzhib6i7q2bbnpkm08w1n8a08iaj5"))))
"160h60vrpxslw6y290ndc065cc75dab58aq7kjqash94vkifnii2"))))
(arguments
(list
#:tests? #t
#:test-command #~(list "ert-runner")
#:phases
#~(modify-phases %standard-phases
(add-before 'install 'install-dtache-env
(add-before 'install 'install-detached-env
(lambda _
(install-file "dtache-env" (string-append #$output "/bin"))))
(install-file "detached-env" (string-append #$output "/bin"))))
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
(make-file-writable "dtache.el")
(emacs-substitute-variables "dtache.el"
("dtache-env"
(string-append #$output "/bin/dtache-env"))
("dtache-dtach-program"
(make-file-writable "detached.el")
(emacs-substitute-variables "detached.el"
("detached-env"
(string-append #$output "/bin/detached-env"))
("detached-dtach-program"
(search-input-file inputs "/bin/dtach"))
("dtache-shell-program"
("detached-shell-program"
(search-input-file inputs "/bin/bash"))))))))
(build-system emacs-build-system)
(native-inputs (list emacs-ert-runner))
(inputs (list dtach))
(home-page "https://gitlab.com/niklaseklund/dtache")
(synopsis "Run and interact with detached shell commands")
(home-page "https://git.sr.ht/~niklaseklund/detached.el")
(synopsis "A package to launch, and manage, detached processes")
(description
"The dtache package allows users to run shell commands
detached from Emacs. These commands are launched in sessions, using the
program dtach.")
"The detached package allows users to run processes
detached from Emacs. It provides integration with multiple built-in modes, as
well as providing an interface to attach and interact with the processes.")
(license license:gpl3+)))
(define-public emacs-dtache
(deprecated-package "emacs-dtache" emacs-detached))
(define-public emacs-dtrt-indent
(package
(name "emacs-dtrt-indent")

View file

@ -1144,36 +1144,6 @@ MPSSE (Multi-Protocol Synchronous Serial Engine) adapter by FTDI that can do
SPI, I2C, JTAG.")
(license license:gpl2+)))
(define-public python2-libmpsse
(package
(inherit python-libmpsse)
(name "python2-libmpsse")
(arguments
(substitute-keyword-arguments (package-arguments python-libmpsse)
((#:phases phases)
`(modify-phases ,phases
(replace 'set-environment-up
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((python (assoc-ref inputs "python")))
(chdir "src")
(setenv "PYDEV" (string-append python
"/include/python"
,(version-major+minor (package-version python-2))))
#t)))
(replace 'install
(lambda* (#:key inputs outputs make-flags #:allow-other-keys #:rest args)
(let* ((out (assoc-ref outputs "out"))
(out-python (string-append out
"/lib/python"
,(version-major+minor (package-version python-2))
"/site-packages"))
(install (assoc-ref %standard-phases 'install)))
(install #:make-flags (cons (string-append "PYLIB=" out-python)
make-flags)))))))))
(inputs
(alist-replace "python" (list python-2)
(package-inputs python-libmpsse)))))
(define-public picprog
(package
(name "picprog")

View file

@ -1647,9 +1647,6 @@ bindings for Python, Java, OCaml and more.")
(string-append "'" (assoc-ref %build-inputs "capstone") "/lib',\n")))
#t)))))))
(define-public python2-capstone
(package-with-python2 python-capstone))
(define-public python-esptool-3.0
(package

View file

@ -439,9 +439,6 @@ embedded systems.")
Libraries stack (eo, evas, ecore, edje, emotion, ethumb and elementary).")
(license license:lgpl3)))
(define-public python2-efl
(package-with-python2 python-efl))
(define-public edi
(package
(name "edi")
@ -483,34 +480,6 @@ and in creating applications based on the Enlightenment Foundation Library suite
license:gpl2 ; edi
license:gpl3)))) ; data/extra/examples/images/mono-runtime.png
(define-public lekha
(package
(name "lekha")
(version "0.2.1")
(source (origin
(method url-fetch)
(uri (pypi-uri "Lekha" version))
(sha256
(base32
"0zr6i74ik58pbzrd7r9l7sawqbdv0r2c1a9927qkqzwga27x8j15"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no test target
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-data-location
(lambda _ (substitute* "setup.py"
(("'/usr/")"'"))
#t)))))
(propagated-inputs
(list python2-efl python2-pypdf2 python2-pyxdg))
(synopsis "Simple PDF viewer")
(description
"Simple PDF viewer based on the Enlightenment Foundation Libraries.")
(home-page "https://github.com/kaihu/lekha")
(license license:gpl3+)))
(define-public ephoto
(package
(name "ephoto")

View file

@ -61,26 +61,32 @@ identified by unique ID codes).")
(license license:gpl3)))
(define-public lolcode-lci
(package
(name "lolcode-lci")
(version "0.11.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/justinmeza/lci")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0syw60b93iajgh91ffchirwwhm2kix2753ibx845kyrhzggmdh2l"))))
(build-system cmake-build-system)
(inputs
(list readline))
(native-inputs
(list python-2)) ; for the tests
(synopsis "LOLCODE interpreter written in C")
(description
"@code{lci} is a LOLCODE interpreter written in C and is designed to be
;; Use the latest commit as the last release is from 2014 with Python 2.
(let ((commit "6762b724361a4fb471345961b4750657783aeb3b")
(revision "0"))
(package
(name "lolcode-lci")
(version (git-version "0.11.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/justinmeza/lci")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0phqnqp7qvkn0kxkk5qsc76b9gxs932w4dy3jm96pmknh1q7h6kk"))))
(build-system cmake-build-system)
;; The test suite is currently failing with Python 3 (see:
;; https://github.com/justinmeza/lci/issues/75).
(arguments (list #:tests? #f))
(inputs
(list readline))
(native-inputs
(list python-wrapper)) ; for the tests
(synopsis "LOLCODE interpreter written in C")
(description
"@code{lci} is a LOLCODE interpreter written in C and is designed to be
correct, portable, fast, and precisely documented.
@enumerate
@item correct: Every effort has been made to test lci's conformance to the
@ -90,8 +96,8 @@ to compile on a broad range of systems.
@item fast: Much effort has gone into producing simple and efficient code
whenever possible to the extent that the above points are not compromized.
@end enumerate")
(home-page "http://lolcode.org/")
(license license:gpl3+)))
(home-page "http://lolcode.org/")
(license license:gpl3+))))
(define-public shakespeare-spl
(package

View file

@ -950,9 +950,6 @@ settings.")
of Bitcoin BIP-0039.")
(license license:expat)))
(define-public python2-mnemonic
(package-with-python2 python-mnemonic))
(define-public python-ledgerblue
(package
(name "python-ledgerblue")
@ -978,9 +975,6 @@ of Bitcoin BIP-0039.")
Ledger Blue/Nano S.")
(license license:asl2.0)))
(define-public python2-ledgerblue
(package-with-python2 python-ledgerblue))
(define-public python-btchip-python
(package
(name "python-btchip-python")
@ -1088,9 +1082,6 @@ TREZOR Hardware Wallet.")
the KeepKey Hardware Wallet.")
(license license:lgpl3)))
(define-public python2-keepkey
(package-with-python2 python-keepkey))
(define-public ledger-agent
(package
(name "ledger-agent")
@ -1230,9 +1221,6 @@ The module also includes implementations of the Verhoeff,
Luhn and family of ISO/IEC 7064 check digit algorithms.")
(license license:lgpl2.1+)))
(define-public python2-stdnum
(package-with-python2 python-stdnum))
(define-public python-duniterpy
(package
(name "python-duniterpy")
@ -1689,14 +1677,13 @@ that allows you to run services and through them access the Bitcoin Cash network
(define-public beancount
(package
(name "beancount")
(version "2.3.4")
(version "2.3.5")
(source
(origin
(method url-fetch)
(uri (pypi-uri "beancount" version))
(sha256
(base32
"1h465zc7gb0bc5pagm9fsp083sqxrn2mjfbk9l7h162xm7k8rw1b"))
(base32 "0sn3x6c5vwvdfak1qm0y4vv284izrc4dly31mqyd9jz9l8jmdqql"))
(patches (search-patches "beancount-disable-googleapis-fonts.patch"))))
(build-system python-build-system)
(arguments

View file

@ -1442,30 +1442,6 @@ other support classes. Where useful and possible, ufoLib2 tries to be
API-compatible with defcon.")
(license license:asl2.0)))
(define-public python2-ufolib
(package
(name "python2-ufolib")
(version "2.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "ufoLib" version ".zip"))
(sha256
(base32 "07qy6mx7z0wi9a30lc2hj5i9q1gnz1n8l40dmjz2c19mj9s6mz9l"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(propagated-inputs
(list python2-fonttools))
(native-inputs
(list unzip python2-pytest python2-pytest-runner))
(home-page "https://github.com/unified-font-object/ufoLib")
(synopsis "Low-level UFO reader and writer")
(description
"UfoLib reads and writes Unified Font Object (UFO)
files. UFO is a file format that stores fonts source files.")
(license license:bsd-3)))
;;; A variant used to break a cycle between python-fontpens and
;;; python-fontparts.
(define-public python-defcon-bootstrap
@ -1504,48 +1480,34 @@ UFO3 as described by the UFO font format.")
(modify-inputs (package-propagated-inputs python-defcon-bootstrap)
(replace "python-fontpens-bootstrap" python-fontpens))))))
(define-public python2-defcon
(package
(inherit python-defcon)
(name "python2-defcon")
(version "0.3.5")
(source (origin
(method url-fetch)
(uri (pypi-uri "defcon" version ".zip"))
(sha256
(base32
"03jlm2gy9lvbwj68kfdm43yaddwd634jwkdg4wf0jxx2s8mwbg22"))))
(arguments
`(#:python ,python-2))
(native-inputs
(list unzip python2-pytest python2-pytest-runner))
(propagated-inputs
(list python2-fonttools python2-ufolib))))
(define-public nototools
(package
(name "nototools")
(version "20170925")
(version "0.2.16")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/googlei18n/nototools")
(commit "v2017-09-25-tooling-for-phase3-update")))
(url "https://github.com/googlefonts/nototools")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"03nzvcvwmrhfrcjhg218q2f3hfrm3vlivp4rk19sc397kh3hisiz"))))
"14rrdamkmhrykff8ln07fq9cm8zwj3k113lzwjcy0lgz23g51jyl"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(propagated-inputs
(list python2-booleanoperations
python2-defcon
python2-fonttools
python2-pillow
python2-pyclipper
python2-ufolib))
(list
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'pretend-version
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(with-directory-excursion "tests"
(invoke "./run_tests")))))))
(native-inputs (list python-setuptools-scm))
(propagated-inputs (list python-afdko))
(home-page "https://github.com/googlei18n/nototools")
(synopsis "Noto fonts support tools and scripts")
(description

View file

@ -12,7 +12,7 @@
;;; Copyright © 2017, 2018, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017, 2018, 2019 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017, 2020, 2021 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 20202022 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2018 Stefan Stefanović <stefanx2ovic@gmail.com>
;;; Copyright © 2019 Reza Alizadeh Majd <r.majd@pantherx.org>
@ -27,7 +27,7 @@
;;; Copyright © 2021 Robby Zambito <contact@robbyzambito.me>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Daniel Meißner <daniel.meissner-i4k@ruhr-uni-bochum.de>
;;;
;;; This file is part of GNU Guix.
@ -46,12 +46,13 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages freedesktop)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix bzr-download)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix utils)
#:use-module (guix build-system cmake)
#:use-module (guix build-system gnu)
#:use-module (guix build-system meson)
@ -959,9 +960,6 @@ manager for the current system.")
Python.")
(license license:lgpl2.0)))
(define-public python2-pyxdg
(package-with-python2 python-pyxdg))
(define-public wayland
(package
(name "wayland")
@ -1672,7 +1670,7 @@ wish to perform colour calibration.")
(define-public libfprint
(package
(name "libfprint")
(version "1.94.2")
(version "1.94.4")
(source
(origin
(method git-fetch)
@ -1681,7 +1679,7 @@ wish to perform colour calibration.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0y3wz5hlxpnvqj67bihvzfi4dwx2m2nx9byppf4jjd80x0j2630m"))))
(base32 "1wfd2svsq26wizhsaifnr74havswbc1rlfm79b36yrhw9n7c3jqb"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags
@ -1714,7 +1712,7 @@ software.")
(define-public fprintd
(package
(name "fprintd")
(version "1.94.1")
(version "1.94.2")
(source
(origin
(method git-fetch)
@ -1723,7 +1721,7 @@ software.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "015j8ikyv48qz8vn6kfvkwwg5ydzppl1lzf7vkali9ymywywfxsw"))))
(base32 "015k3kc4fmas0vc2b21qzq7kvdc9x6lcqvjhbvy6m84pkhhmry3q"))))
(build-system meson-build-system)
(arguments
(list #:configure-flags
@ -1762,17 +1760,18 @@ software.")
((".*pam_wrapper.*") "")))))
#:tests? #f)) ; XXX depend on unpackaged packages
(native-inputs
`(("gettext" ,gettext-minimal)
("glib:bin" ,glib "bin") ; for glib-genmarshal
("perl" ,perl) ; for pod2man
("pkg-config" ,pkg-config)))
;; For tests.
;;("pam_wrapper" ,pam_wrapper)
;;("python-pycairo" ,python-pycairo)
;;("python-dbus" ,python-dbus)
;;("python-dbusmock" ,python-dbusmock)
;;("python-pygobject" ,python-pygobject)
;;("python-pypamtest" ,python-pypamtest)
(list gettext-minimal
`(,glib "bin") ; for glib-genmarshal
perl ; for pod2man
pkg-config
;; For tests.
python)) ; needed unconditionally
;; pam_wrapper
;; python-pycairo
;; python-dbus
;; python-dbusmock
;; python-pygobject
;; python-pypamtest
(inputs
(list dbus-glib
elogind
@ -2172,80 +2171,61 @@ useful with system integration.")
(license license:gpl3)))
(define-public libappindicator
(package
(name "libappindicator")
(version "12.10.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://launchpad.net/libappindicator/"
(version-major+minor version) "/" version
"/+download/libappindicator-" version ".tar.gz"))
(modules '((guix build utils)))
(snippet
'(begin
;; Fix 'multiple definitions' error from GCC 10
(substitute* "bindings/python/appindicatormodule.c"
(("^#include <pygobject.h>" all)
(string-append "#define NO_IMPORT_PYGOBJECT\n" all)))))
(sha256
(base32
"17xlqd60v0zllrxp8bgq3k5a1jkj0svkqn8rzllcyjh8k0gpr46m"))))
(build-system gnu-build-system)
(native-inputs
`(("dbus-test-runner" ,dbus-test-runner)
("glib:bin" ,glib "bin")
("gobject-introspection" ,gobject-introspection)
("pkg-config" ,pkg-config)
("xvfb" ,xorg-server-for-tests)))
(inputs
`(("dbus-glib" ,dbus-glib)
("libindicator" ,libindicator)
("python@2" ,python-2)
("python2-pygtk" ,python2-pygtk)
("python2-pygobject-2" ,python2-pygobject-2)
;; ("mono" ,mono) ; requires non-packaged gapi
("vala" ,vala)))
(propagated-inputs
(list gtk+ libdbusmenu))
(arguments
;; FIXME: do not hardcode gtk version
`(#:configure-flags '("--with-gtk=3")
#:make-flags '("CFLAGS=-Wno-error")
#:tests? #f ; One test does not pass (it succeeds when it should fail).
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "docs/reference/Makefile.in"
(("/bin/sh") (which "sh")))
(substitute* "tests/Makefile.in"
(("/bin/sh") (which "sh"))
(("#!/bin/bash") (string-append "#!" (which "bash")))
(("/usr") (string-append (assoc-ref inputs "dbus-test-runner"))))
(substitute* "bindings/python/Makefile.in"
(("-lappindicator") "-lappindicator3"))
#t))
(add-after 'unpack 'fix-codegen-path
(lambda _
(substitute* "configure"
(("PYGTK_CODEGEN=.*") "PYGTK_CODEGEN=pygtk-codegen-2.0\n"))
#t))
(add-after 'build 'build-bindings
(lambda _
(invoke "make" "-C" "bindings/python")
#t))
(add-after 'install 'install-bindings
(lambda _
(invoke "make" "-C" "bindings/python" "install")
#t)))))
(home-page "https://launchpad.net/libappindicator")
(synopsis "Allow applications to export a menu into the Unity menu bar")
(description "A library to allow applications to export a menu, originally
;; Use the latest commit as the latest official release from 2012 uses
;; Python 2.
(let ((revision "0")
;; Corresponds to the 12.10.1+20.10.20200706.1-0ubuntu1 tag.
(bazaar-revision "298"))
(package
(name "libappindicator")
(version (string-append "12.10.1-" revision "-" bazaar-revision))
(source (origin
(method bzr-fetch)
(uri (bzr-reference
(url "lp:libappindicator")
(revision bazaar-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"0jkc1xdsa7r71vrr2l7wgkarvzvwrpwn0m8m4ipaqlzfa5d45n3a"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf
automake
at-spi2-core
dbus-test-runner
`(,glib "bin")
gnome-common
gobject-introspection
gtk-doc
libtool
pkg-config
vala
which
xorg-server-for-tests))
(inputs
(list dbus-glib))
(propagated-inputs
(list gtk+ libdbusmenu))
(arguments
`(#:configure-flags '("--with-gtk=3")
#:make-flags '("CFLAGS=-Wno-error")
#:tests? #f ; One test does not pass (it succeeds when it should fail).
#:phases
(modify-phases %standard-phases
(add-before 'configure 'fix-paths
(lambda* (#:key native-inputs inputs #:allow-other-keys)
(substitute* "tests/Makefile.in"
(("/bin/sh") (which "sh"))
(("/bin/bash") (which "bash"))
(("/usr/(share/dbus-test-runner/session.conf)" _ tail)
(search-input-file (or native-inputs inputs) tail))))))))
(home-page "https://launchpad.net/libappindicator")
(synopsis "Allow applications to export a menu into the Unity menu bar")
(description "A library to allow applications to export a menu, originally
into the Unity menu bar. Based on KSNI, it also works in KDE and will
fallback to generic Systray support if none of those are available.")
(license license:lgpl2.1+)))
(license license:lgpl2.1+))))
(define-public libportal
(package

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016, 2017, 2020, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 20192021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 20192022 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,14 +28,14 @@
(define-public freeipmi
(package
(name "freeipmi")
(version "1.6.8")
(version "1.6.9")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/freeipmi/freeipmi-"
version ".tar.gz"))
(sha256
(base32
"0w8af1i57szmxl9vfifwwyal7xh8aixz2l9487wvy6yckqk6m92a"))))
"01l2kkf2f0c7p8pq8qsil53fv0yaaciwq7n3kjlvbwfhycsiqppj"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static"

View file

@ -407,14 +407,6 @@ levels.")
;; under the CC0 license.
license:cc0))))
(define-public python2-tmx
(let ((python2-tmx (package-with-python2 python-tmx)))
(package
(inherit python2-tmx)
(propagated-inputs
(modify-inputs (package-propagated-inputs python2-tmx)
(prepend python2-pathlib))))))
(define-public python-xsge
(package
(name "python-xsge")
@ -1214,9 +1206,6 @@ to create fully featured games and multimedia programs in the python language.")
license:public-domain
license:lgpl2.1+))))
(define-public python2-pygame
(package-with-python2 python-pygame))
(define-public python-pygame-sdl2
(let ((real-version "2.1.0")
(renpy-version "7.4.11"))
@ -1268,12 +1257,9 @@ While it aims to be used as a drop-in replacement, it appears to be
developed mainly for Ren'py.")
(license (list license:lgpl2.1 license:zlib)))))
(define-public python2-pygame-sdl2
(package-with-python2 python-pygame-sdl2))
(define-public python2-renpy
(define-public renpy
(package
(name "python2-renpy")
(name "renpy")
(version "7.4.11")
(source
(origin
@ -1292,8 +1278,7 @@ developed mainly for Ren'py.")
#t))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; Ren'py doesn't seem to package tests
#:python ,python-2
`(#:tests? #f ; Ren'py doesn't seem to package tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-commands
@ -1301,8 +1286,7 @@ developed mainly for Ren'py.")
(substitute* "renpy/editor.py"
(("xdg-open")
(string-append (assoc-ref inputs "xdg-utils")
"/bin/xdg-open")))
#t))
"/bin/xdg-open")))))
(add-after 'unpack 'fix-include-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "module/setup.py"
@ -1313,8 +1297,7 @@ developed mainly for Ren'py.")
(setenv "RENPY_CYTHON"
(search-input-file (or native-inputs inputs)
"/bin/cython"))
(setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":"))
#t))
(setenv "RENPY_DEPS_INSTALL" (string-join (map cdr inputs) ":"))))
(replace 'build
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
;; The "module" subdirectory contains a python (really cython)
@ -1324,8 +1307,7 @@ developed mainly for Ren'py.")
(apply (assoc-ref %standard-phases 'build) args))
;; The above only builds the cython modules, but nothing else,
;; so we do that here.
(invoke "python" "-m" "compileall" "renpy")
#t))
(invoke "python" "-m" "compileall" "renpy")))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys #:rest args)
;; Again, we have to wrap the module installation.
@ -1340,8 +1322,9 @@ developed mainly for Ren'py.")
(apply (assoc-ref %standard-phases 'install) args))
(copy-recursively "renpy"
(string-append out site "/renpy"))
(delete-file-recursively (string-append out site "/renpy/common")))
#t)))))
(delete-file-recursively (string-append out site
"/renpy/common"))))))))
(native-inputs (list python-cython))
(inputs
(list ffmpeg
freetype
@ -1350,11 +1333,7 @@ developed mainly for Ren'py.")
libpng
(sdl-union (list sdl2 sdl2-image sdl2-mixer sdl2-ttf))
xdg-utils))
(propagated-inputs
`(("python2-future" ,python2-future)
("python2-pygame" ,python2-pygame-sdl2)))
(native-inputs
(list python2-cython))
(propagated-inputs (list python-future python-pygame-sdl2))
(home-page "https://www.renpy.org/")
(synopsis "Ren'py python module")
(description "This package contains the shared libraries and Python modules
@ -1363,176 +1342,6 @@ the launcher and common Ren'py code provided by the @code{renpy} package and
are only used to bootstrap it.")
(license license:expat)))
(define-public renpy
(package
(inherit python2-renpy)
(name "renpy")
(build-system python-build-system)
(arguments
`(#:tests? #f ; see python2-renpy
#:python ,python-2
#:modules ((srfi srfi-1)
(guix build python-build-system)
(guix build utils))
#:imported-modules ((srfi srfi-1) ,@%python-build-system-modules)
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-commands
(lambda* (#:key inputs outputs #:allow-other-keys)
(substitute* "launcher/game/choose_directory.rpy"
(("/usr/bin/python")
(string-append (assoc-ref inputs "python2")
"/bin/python2")))
(substitute* "launcher/game/front_page.rpy"
(("xdg-open")
(string-append (assoc-ref inputs "xdg-utils")
"/bin/xdg-open")))
(substitute* "launcher/game/project.rpy"
(("cmd = \\[ executable, \"-EO\", sys.argv\\[0\\] \\]")
(string-append "cmd = [ \"" (assoc-ref outputs "out")
"/bin/renpy\" ]"))
;; Projects are still created in the usual style, so we need
;; to adjust the path.
(("cmd.append\\(self.path\\)")
"cmd.append(self.path + \"/game\")"))
#t))
(add-after 'unpack 'drop-game-from-paths
(lambda _
(substitute* (list "launcher/game/gui7.rpy"
"launcher/game/gui7/images.py")
((", \"game\",") ","))
#t))
(add-before 'build 'start-xserver
(lambda* (#:key inputs native-inputs #:allow-other-keys)
(let ((xorg-server (assoc-ref (or native-inputs inputs)
"xorg-server")))
(setenv "HOME" (getcwd))
(system (format #f "~a/bin/Xvfb :1 &" xorg-server))
(setenv "DISPLAY" ":1")
#t)))
(replace 'build
(lambda _
(invoke "python" "renpy.py" "launcher" "quit")
(invoke "python" "renpy.py" "the_question" "quit")
(invoke "python" "renpy.py" "tutorial" "quit")
#t))
(replace 'install
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Here we install our custom renpy program.
;; After finishing this step, "out" will have the following:
;; |-- bin/renpy
;; `-- share/renpy ; i.e. path_to_renpy_base()
;; |-- common
;; `-- gui
;;
;; Note that common shares the source files that would be installed
;; by python2-renpy (which are instead deleted from that package),
;; but also contains their byte-compiled versions.
;; On other systems, renpy_base would point to site-packages or
;; even somewhere in /opt.
;; The former approach is not as straightforward as it seems
;; -- it causes renpy to load files twice for some weird reason --
;; and the latter is impossible on Guix. Hence the detour through
;; share/renpy and the custom renpy program.
;;
;; As a convention, other games should be installed as
;; subdirectories of share/renpy in their respective outputs as
;; well. This differs from the traditional layout, which is
;; roughly the following:
;; `-- Super Awesome Game
;; |-- game ; <- the folder we actually want
;; |-- lib ; compiled renpy module and dependencies
;; |-- renpy ; yet another copy of Ren'py's code
;; | |-- common ; the common folder from above
;; | `-- ... ; Python code (source + compiled)
;; |-- Super Awesome Game.py
;; `-- Super Awesome Game.sh
(let* ((out (assoc-ref outputs "out"))
(bin/renpy (string-append out "/bin/renpy")))
(copy-recursively "renpy/common"
(string-append out "/share/renpy/common"))
(copy-recursively "gui"
(string-append out "/share/renpy/gui"))
(mkdir-p (string-append out "/bin"))
(copy-file (assoc-ref inputs "renpy.in") bin/renpy)
(substitute* bin/renpy
(("@PYTHON@") (search-input-file inputs "bin/python2"))
(("@RENPY_BASE@") (string-append out "/share/renpy")))
(chmod bin/renpy #o755))))
(add-after 'install 'install-games
(lambda* (#:key outputs #:allow-other-keys)
(define renpy (assoc-ref outputs "out"))
;; TODO: We should offer a renpy-build-system to make the
;; installation of Ren'py games easier.
(define* (install-renpy-game #:key output game name (renpy renpy)
#:allow-other-keys)
(let* ((name (or name (basename game)))
(launcher (string-append output "/bin/renpy-" name))
(share (string-append output "/share/renpy/" name)))
(copy-recursively (string-append game "/game") share)
(mkdir-p (string-append output "/bin"))
(with-output-to-file launcher
(lambda ()
(format #t
"#!~a~%~a ~a \"$@\""
(which "bash")
(string-append renpy "/bin/renpy")
share)))
(chmod launcher #o755)))
(install-renpy-game #:output (assoc-ref outputs "out")
#:game "launcher")
(install-renpy-game #:output (assoc-ref outputs "the-question")
#:game "the_question"
#:name "the-question")
(install-renpy-game #:output (assoc-ref outputs "tutorial")
#:game "tutorial")
#t))
(replace 'wrap
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(site (string-append "/lib/python"
(python-version
(assoc-ref inputs "python"))
"/site-packages")))
(wrap-program (string-append out "/bin/renpy")
`("GUIX_PYTHONPATH" =
(,@(delete-duplicates
(map
(lambda (store-path)
(string-append store-path site))
(cons (assoc-ref outputs "out")
(map cdr
(filter
(lambda (input)
(string-prefix? "python2" (car input)))
inputs))))))))
#t))))))
(inputs
`(("renpy.in" ,(search-auxiliary-file "renpy/renpy.in"))
("python2-renpy" ,python2-renpy)
("python2-tkinter" ,python-2 "tk")
("python2" ,python-2) ; for fix-commands and wrap
("xdg-utils" ,xdg-utils)))
(propagated-inputs '())
(native-inputs
(list xorg-server-for-tests))
(outputs
(list "out" "tutorial" "the-question"))
(home-page "https://www.renpy.org/")
(synopsis "Visual Novel Engine")
(description "Ren'Py is a visual novel engine that helps you use words,
images, and sounds to tell interactive stories that run on computers and
mobile devices. These can be both visual novels and life simulation games.
The easy to learn script language allows anyone to efficiently write large
visual novels, while its Python scripting is enough for complex simulation
games.")
(license license:expat)))
(define-public python-pyxel
(package
(name "python-pyxel")

View file

@ -3080,7 +3080,7 @@ that beneath its ruins lay buried an ancient evil.")
(define-public angband
(package
(name "angband")
(version "4.2.3")
(version "4.2.4")
(source
(origin
(method git-fetch)
@ -3089,7 +3089,7 @@ that beneath its ruins lay buried an ancient evil.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1psrdbf90mb6dhq0b9z18pz1csnshz1kvwg82dvwa99apqdw0la8"))
(base32 "1x0qqsv7xa3figcl4v35sin64ffgz32652vk541d8qaq4qcc378n"))
(modules '((guix build utils)))
(snippet
;; So, some of the sounds/graphics/tilesets are under different
@ -3105,14 +3105,12 @@ that beneath its ruins lay buried an ancient evil.")
(substitute* "lib/Makefile"
;; And don't try to invoke makefiles in the directories we removed.
(("gamedata customize help screens fonts tiles sounds icons user")
"gamedata customize help screens user"))
#t))))
"gamedata customize help screens user"))))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no check target
#:configure-flags (list (string-append "--bindir=" %output "/bin"))))
(native-inputs
(list autoconf automake))
(native-inputs (list autoconf automake))
(inputs (list ncurses))
(home-page "https://rephial.org/")
(synopsis "Dungeon exploration roguelike")
@ -6690,7 +6688,7 @@ fight against their plot and save his fellow rabbits from slavery.")
libxcursor
libxml2
miniupnpc
mozjs-78
mozjs
openal
sdl2
wxwidgets
@ -8682,33 +8680,6 @@ the net. There can be 1 to 8 balls in game. Once one ball touches
the ground, the set ends and all balls are served again.")
(license license:gpl3+)))
(define-public slingshot
(package
(name "slingshot")
(version "0.9")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ryanakca/slingshot")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"19m8b6nsi786bc6gmkp185mwri3r5y249gjmqd5qsc23nnfhgrs1"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(inputs
(list python2-pygame))
(home-page "https://github.com/ryanakca/slingshot")
(synopsis "Simple 2D shooting strategy game set in space")
(description "Slingshot is a two-dimensional strategy game where two
players attempt to shoot one another through a section of space populated by
planets. The main feature of the game is that the shots, once fired, are
affected by the gravity of the planets.")
(license license:gpl2+)))
(define-public 4dtris
(package
(name "4dtris")

View file

@ -641,14 +641,14 @@ It also includes runtime support libraries for these languages.")
(define-public gcc-9
(package
(inherit gcc-8)
(version "9.4.0")
(version "9.5.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.xz"))
(sha256
(base32
"13l3p6g2krilaawbapmn9zmmrh3zdwc36mfr3msxfy038hps6pf9"))
"13ygjmd938m0wmy946pxdhz9i1wq7z4w10l6pvidak0xxxj9yxi7"))
(patches (search-patches "gcc-9-strmov-store-file-names.patch"
"gcc-9-asan-fix-limits-include.patch"
"gcc-5.0-libvtv-runpath.patch"))

View file

@ -8,6 +8,7 @@
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,6 +28,7 @@
(define-module (gnu packages gimp)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix utils)
#:use-module ((guix licenses) #:prefix license:)
@ -297,71 +299,55 @@ buffers.")
(base32 "1p375gaw2daip6aiv1icrlpws5m1my5kalxkxrvl4zgdfsm5v0c8"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML
"doc")) ; 9 MiB of gtk-doc HTML
(arguments
'(#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html")
(list
#:configure-flags
#~(list (string-append "--with-html-dir=" #$output "/share/gtk-doc/html")
;; Prevent the build system from running 'gtk-update-icon-cache'
;; which is not needed during the build because Guix runs it at
;; profile creation time.
"ac_cv_path_GTK_UPDATE_ICON_CACHE=true"
;; Prevent the build system from running 'gtk-update-icon-cache'
;; which is not needed during the build because Guix runs it at
;; profile creation time.
"ac_cv_path_GTK_UPDATE_ICON_CACHE=true"
;; Disable automatic network request on startup to check for
;; version updates.
"--disable-check-update"
;; Disable automatic network request on startup to check for
;; version updates.
"--disable-check-update"
;; ./configure requests not to annoy upstream with packaging bugs.
"--with-bug-report-url=https://bugs.gnu.org/guix")
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-sitecustomize.py
;; Install 'sitecustomize.py' into gimp's python directory to
;; add pygobject and pygtk to pygimp's search path.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((pythonpath (getenv "GUIX_PYTHONPATH"))
(out (assoc-ref outputs "out"))
(sitecustomize.py
(string-append
out "/lib/gimp/2.0/python/sitecustomize.py")))
(call-with-output-file sitecustomize.py
(lambda (port)
(format port "import site~%")
(format port "for dir in '~a'.split(':'):~%" pythonpath)
(format port " site.addsitedir(dir)~%")))))))))
;; Only Python 2 is supported; disable it.
"--disable-python"
;; ./configure requests not to annoy upstream with packaging bugs.
"--with-bug-report-url=https://bugs.gnu.org/guix")))
(inputs
`(("atk" ,atk)
("babl" ,babl)
("gegl" ,gegl)
("gexiv2" ,gexiv2)
("glib" ,glib)
("glib-networking" ,glib-networking)
("gtk+" ,gtk+-2)
("libjpeg" ,libjpeg-turbo)
("libmypaint" ,libmypaint)
("libtiff" ,libtiff)
("libwebp" ,libwebp)
("mypaint-brushes" ,mypaint-brushes-1.3)
("exif" ,libexif) ; optional, EXIF + XMP support
("ghostscript" ,ghostscript) ; optional, EPS + PS support
("lcms" ,lcms) ; optional, color management
("libheif" ,libheif) ; optional, HEIF + AVIF support
("libmng" ,libmng) ; optional, MNG support
("librsvg" ,librsvg) ; optional, SVG support
("libxcursor" ,libxcursor) ; optional, Mouse Cursor support
("openexr" ,openexr-2) ; optional, EXR support
("openjpeg" ,openjpeg) ; optional, JPEG 2000 support
("poppler" ,poppler) ; optional, PDF support
("poppler-data" ,poppler-data) ; optional, PDF support
("python" ,python-2) ; optional, Python support
("python2-pygtk" ,python2-pygtk))) ; optional, Python support
(list atk
babl
gegl
gexiv2
glib
glib-networking
gtk+-2
libjpeg-turbo
libmypaint
libtiff
libwebp
mypaint-brushes-1.3
libexif ;optional, EXIF + XMP support
ghostscript ;optional, EPS + PS support
lcms ;optional, color management
libheif ;optional, HEIF + AVIF support
libmng ;optional, MNG support
librsvg ;optional, SVG support
libxcursor ;optional, Mouse Cursor support
openexr-2 ;optional, EXR support
openjpeg ;optional, JPEG 2000 support
poppler ;optional, PDF support
poppler-data)) ;optional, PDF support
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
("glib:bin" ,glib "bin") ; for glib-compile-resources and gdbus-codegen
("intltool" ,intltool)
("pkg-config" ,pkg-config)))
(list desktop-file-utils
`(,glib "bin") ;for glib-compile-resources and gdbus-codegen
intltool
pkg-config))
(home-page "https://www.gimp.org")
(synopsis "GNU Image Manipulation Program")
(description
@ -595,79 +581,61 @@ transferring the style of an image.")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/glimpse-editor/Glimpse")
(commit (string-append "v" version))))
(url "https://github.com/glimpse-editor/Glimpse")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0drngj2xqzxfaag6pc4xjffiw003n4y43x5rb5bf4ziv1ac51dm9"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ; 9 MiB of gtk-doc HTML
"doc")) ; 9 MiB of gtk-doc HTML
(arguments
'(#:configure-flags
(list (string-append "--with-html-dir="
(assoc-ref %outputs "doc")
"/share/gtk-doc/html")
"--enable-gtk-doc"
(list
#:configure-flags
#~(list
(string-append "--with-html-dir=" #$output "/share/gtk-doc/html")
"--enable-gtk-doc"
;; Prevent the build system from running 'gtk-update-icon-cache'
;; which is not needed during the build because Guix runs it at
;; profile creation time.
"ac_cv_path_GTK_UPDATE_ICON_CACHE=true"
;; Prevent the build system from running 'gtk-update-icon-cache'
;; which is not needed during the build because Guix runs it at
;; profile creation time.
"ac_cv_path_GTK_UPDATE_ICON_CACHE=true"
;; Disable automatic network request on startup to check for
;; version updates.
"--disable-check-update"
;; Disable automatic network request on startup to check for
;; version updates.
"--disable-check-update"
;; ./configure requests not to annoy upstream with packaging bugs.
"--with-bug-report-url=https://bugs.gnu.org/guix")
#:phases
(modify-phases %standard-phases
(add-after 'install 'install-sitecustomize.py
;; Install 'sitecustomize.py' into glimpse's python directory to
;; add pygobject and pygtk to pygimp's search path.
(lambda* (#:key outputs #:allow-other-keys)
(let* ((pythonpath (getenv "GUIX_PYTHONPATH"))
(out (assoc-ref outputs "out"))
(sitecustomize.py
(string-append
out "/lib/glimpse/2.0/python/sitecustomize.py")))
(call-with-output-file sitecustomize.py
(lambda (port)
(format port "import site~%")
(format port "for dir in '~a'.split(':'):~%" pythonpath)
(format port " site.addsitedir(dir)~%")))))))))
;; ./configure requests not to annoy upstream with packaging bugs.
"--with-bug-report-url=https://bugs.gnu.org/guix")))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("gtk-doc" ,gtk-doc)
("intltool" ,intltool)
("libtool" ,libtool)
("libxslt" ,libxslt) ; for xsltproc
("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin"))) ; for gdbus-codegen
(list autoconf
automake
gtk-doc
intltool
libtool
libxslt ;for xsltproc
pkg-config
`(,glib "bin"))) ;for gdbus-codegen
(inputs
`(("babl" ,babl)
("glib" ,glib)
("glib-networking" ,glib-networking)
("libtiff" ,libtiff)
("libwebp" ,libwebp)
("libjpeg" ,libjpeg-turbo)
("atk" ,atk)
("gexiv2" ,gexiv2)
("gtk+" ,gtk+-2)
("libmypaint" ,libmypaint)
("mypaint-brushes" ,mypaint-brushes-1.3)
("exif" ,libexif) ; optional, EXIF + XMP support
("lcms" ,lcms) ; optional, color management
("librsvg" ,librsvg) ; optional, SVG support
("libxcursor" ,libxcursor) ; optional, Mouse Cursor support
("poppler" ,poppler) ; optional, PDF support
("poppler-data" ,poppler-data)
("python" ,python-2) ; optional, Python support
("python2-pygtk" ,python2-pygtk) ; optional, Python support
("gegl" ,gegl-for-glimpse))) ; XXX see comment in gegl-for-glimpse
(list babl
glib
glib-networking
libtiff
libwebp
libjpeg-turbo
atk
gexiv2
gtk+-2
libmypaint
mypaint-brushes-1.3
libexif ;optional, EXIF + XMP support
lcms ;optional, color management
librsvg ;optional, SVG support
libxcursor ;optional, Mouse Cursor support
poppler ;optional, PDF support
poppler-data
gegl-for-glimpse)) ;XXX see comment in gegl-for-glimpse
(home-page "https://glimpse-editor.github.io/")
(synopsis "Glimpse Image Editor")
(description "The Glimpse Image Editor is an application for image

View file

@ -296,12 +296,9 @@ also known as DXTn or DXTC) for Mesa.")
libxvmc
wayland
wayland-protocols)
(if (member (%current-system)
'("x86_64-linux" "i686-linux" "powerpc64le-linux"
"aarch64-linux" "powerpc-linux" "riscv64-linux"))
;; Note: update the 'clang' input of mesa-opencl when bumping this.
(list llvm-11)
'())))
;; TODO: Resort alphabetically.
;; Note: update the 'clang' input of mesa-opencl when bumping this.
(list llvm-11)))
(native-inputs
(append (list bison
flex
@ -311,18 +308,18 @@ also known as DXTn or DXTC) for Mesa.")
python-libxml2 ;for OpenGL ES 1.1 and 2.0 support
python-mako
(@ (gnu packages base) which))
(if (member (%current-system)
'("x86_64-linux" "i686-linux" "powerpc64le-linux"
"aarch64-linux" "powerpc-linux" "riscv64-linux"))
(list glslang)
'())))
;; TODO: Resort alphabetically.
(list glslang)))
(outputs '("out" "bin"))
(arguments
`(#:configure-flags
'(,@(match (%current-system)
((or "armhf-linux" "aarch64-linux")
("aarch64-linux"
;; TODO: Fix svga driver for non-Intel architectures.
'("-Dgallium-drivers=etnaviv,freedreno,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl"))
("armhf-linux"
;; Freedreno FTBFS when built on a 64-bit machine.
'("-Dgallium-drivers=etnaviv,kmsro,lima,nouveau,panfrost,r300,r600,swrast,tegra,v3d,vc4,virgl"))
((or "powerpc64le-linux" "powerpc-linux" "riscv64-linux")
'("-Dgallium-drivers=nouveau,r300,r600,radeonsi,swrast,virgl"))
(_
@ -354,13 +351,8 @@ also known as DXTn or DXTC) for Mesa.")
(_
'("-Dvulkan-drivers=auto")))
;; Enable the Vulkan overlay layer on architectures using llvm.
,@(match (%current-system)
((or "x86_64-linux" "i686-linux" "powerpc64le-linux" "aarch64-linux"
"powerpc-linux" "riscv64-linux")
'("-Dvulkan-layers=device-select,overlay"))
(_
'()))
;; Enable the Vulkan overlay layer on all architectures.
"-Dvulkan-layers=device-select,overlay"
;; Also enable the tests.
"-Dbuild-tests=true"
@ -369,13 +361,11 @@ also known as DXTn or DXTC) for Mesa.")
;; from the default dri drivers
,@(match (%current-system)
((or "x86_64-linux" "i686-linux")
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"
"-Dllvm=enabled")) ; default is x86/x86_64 only
((or "powerpc64le-linux" "aarch64-linux" "powerpc-linux" "riscv64-linux")
'("-Ddri-drivers=nouveau,r200,r100"
"-Dllvm=enabled"))
'("-Ddri-drivers=i915,i965,nouveau,r200,r100"))
(_
'("-Ddri-drivers=nouveau,r200,r100"))))
'("-Ddri-drivers=nouveau,r200,r100")))
"-Dllvm=enabled") ; default is x86/x86_64 only
;; XXX: 'debugoptimized' causes LTO link failures on some drivers. The
;; documentation recommends using 'release' for performance anyway.
@ -433,6 +423,10 @@ also known as DXTn or DXTC) for Mesa.")
;; The simplest way to skip it is to run a different test instead.
`((substitute* "src/freedreno/ir3/meson.build"
(("disasm\\.c'") "delay.c',\n link_args: ld_args_build_id"))))
("armhf-linux"
;; Disable some of the llvmpipe tests.
`((substitute* "src/gallium/drivers/llvmpipe/meson.build"
(("'lp_test_arit', ") ""))))
(_
'((display "No tests to disable on this architecture.\n"))))))
(add-before 'configure 'fix-dlopen-libnames

View file

@ -816,44 +816,6 @@ useful for C++.")
(modify-inputs (package-propagated-inputs glibmm)
(replace "libsigc++" libsigc++-2)))))
(define-public python2-pygobject-2
(package
(name "python2-pygobject")
;; This was the last version to declare the 2.0 platform number, i.e. its
;; pkg-config files were named pygobject-2.0.pc
(version "2.28.7")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/pygobject/"
(version-major+minor version)
"/pygobject-" version ".tar.xz"))
(sha256
(base32
"0nkam61rsn7y3wik3vw46wk5q2cjfh2iph57hl9m39rc8jijb7dv"))
(patches (search-patches "python2-pygobject-2-deprecation.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("which" ,which)
("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas
("pkg-config" ,pkg-config)
("dbus" ,dbus))) ;for tests
(inputs
`(("python" ,python-2)
("glib" ,glib)
("python2-pycairo" ,python2-pycairo)
("gobject-introspection" ,gobject-introspection)))
(propagated-inputs
(list libffi)) ;mentioned in pygobject-2.0.pc
(arguments
`(#:tests? #f ;segfaults during tests
#:configure-flags '("LIBS=-lcairo-gobject")))
(home-page "https://pypi.org/project/PyGObject/")
(synopsis "Python bindings for GObject")
(description
"Python bindings for GLib, GObject, and GIO.")
(license license:lgpl2.1+)))
(define-public python-pygobject
(package
(name "python-pygobject")
@ -902,37 +864,7 @@ useful for C++.")
(synopsis "Python bindings for GObject")
(description
"Python bindings for GLib, GObject, and GIO.")
(license license:lgpl2.1+)
(properties `((python2-variant . ,(delay python2-pygobject))))))
(define-public python2-pygobject
(let ((base (strip-python2-variant python-pygobject)))
(package/inherit base
(name "python2-pygobject")
;; Note: We use python-build-system here, because Meson only supports
;; Python 3, and needs PYTHONPATH etc set up correctly, which makes it
;; difficult to use for Python 2 projects.
(build-system python-build-system)
(arguments
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'delete-broken-tests
(lambda _
;; FIXME: this test freezes and times out.
(delete-file "tests/test_mainloop.py")
;; FIXME: this test fails with this kind of error:
;; AssertionError: <Handlers.SIG_IGN: 1> != <built-in function default_int_handler
(delete-file "tests/test_ossig.py")
#t)))))
(inputs
`(("python-pycairo" ,python2-pycairo)
("gobject-introspection" ,gobject-introspection)))
(native-inputs
`(("glib-bin" ,glib "bin")
("pkg-config" ,pkg-config)
("python-pytest" ,python2-pytest))))))
(license license:lgpl2.1+)))
(define-public perl-glib
(package

View file

@ -332,7 +332,6 @@
(inputs
(list dvd+rw-tools
glib
gnome-doc-utils
gstreamer
gst-plugins-base
gtk+
@ -1850,7 +1849,7 @@ either on a local, or remote machine via a number of methods.")
(define-public gnome-commander
(package
(name "gnome-commander")
(version "1.14.0")
(version "1.14.2")
(source
(origin
(method url-fetch)
@ -1858,7 +1857,7 @@ either on a local, or remote machine via a number of methods.")
(version-major+minor version) "/"
"gnome-commander-" version ".tar.xz"))
(sha256
(base32 "1zdz82j7vpxiqa188zmsxliqk60g331ycaxfbhx5bzyqfjgrh7gd"))))
(base32 "1s8fdwp0z1smzkwrsvssp9g3yak6z4cdk0qx0c4qmwca9z9fyy0k"))))
(build-system glib-or-gtk-build-system)
(native-inputs
(list desktop-file-utils
@ -2227,37 +2226,6 @@ The gnome-about program helps find which version of GNOME is installed.")
; Some bits under the LGPL.
(license license:gpl2+)))
(define-public gnome-doc-utils
(package
(name "gnome-doc-utils")
(version "0.20.10")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major+minor version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb"))))
(build-system gnu-build-system)
(native-inputs
(list intltool
docbook-xml-4.4
python2-libxml2
libxml2
libxslt
pkg-config
python-2))
(home-page "https://wiki.gnome.org/GnomeDocUtils")
(synopsis
"Documentation utilities for the Gnome project")
(description
"Gnome-doc-utils is a collection of documentation utilities for the
Gnome project. It includes xml2po tool which makes it easier to translate
and keep up to date translations of documentation.")
(license license:gpl2+))) ; xslt under lgpl
(define-public gnome-disk-utility
(package
(name "gnome-disk-utility")
@ -2509,61 +2477,44 @@ GNOME Desktop.")
(name "gnome-keyring")
(version "40.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0cdrlcw814zayhvlaxqs1sm9bqlfijlp22dzzd0g5zg2isq4vlm3"))))
(method url-fetch)
(uri (string-append "mirror://gnome/sources/" name "/"
(version-major version) "/"
name "-" version ".tar.xz"))
(sha256
(base32
"0cdrlcw814zayhvlaxqs1sm9bqlfijlp22dzzd0g5zg2isq4vlm3"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
;not exist
#:configure-flags
(list
(string-append "--with-pkcs11-config="
(assoc-ref %outputs "out") "/share/p11-kit/modules/")
(string-append "--with-pkcs11-modules="
(assoc-ref %outputs "out") "/share/p11-kit/modules/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-/bin/sh-reference
(lambda _
(substitute* "po/Makefile.in.in"
(("/bin/sh") (which "sh")))
#t))
(add-after 'unpack 'fix-docbook
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "docs/Makefile.am"
(("http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl")
(string-append (assoc-ref inputs "docbook-xsl")
"/xml/xsl/docbook-xsl-"
,(package-version docbook-xsl)
"/manpages/docbook.xsl")))
(setenv "XML_CATALOG_FILES"
(string-append (assoc-ref inputs "docbook-xml")
"/xml/dtd/docbook/catalog.xml"))
;; Rerun the whole thing to avoid version mismatch ("This is
;; Automake 1.15.1, but the definition used by this
;; AM_INIT_AUTOMAKE comes from Automake 1.15."). Note: we don't
;; use 'autoreconf' because it insists on running 'libtoolize'.
(invoke "autoconf")
(invoke "aclocal")
(invoke "automake" "-ac"))))))
(list
#:tests? #f ;48 of 603 tests fail because /var/lib/dbus/machine-id does
;not exist
#:configure-flags
#~(list
(string-append "--with-pkcs11-config="
#$output "/share/p11-kit/modules/")
(string-append "--with-pkcs11-modules="
#$output "/share/p11-kit/modules/"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-/bin/sh-reference
(lambda _
(substitute* "po/Makefile.in.in"
(("/bin/sh") (which "sh"))))))))
(inputs
(list libgcrypt linux-pam openssh dbus gcr))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib" ,glib "bin")
("glib" ,glib) ; for m4 macros
("python" ,python-2) ;for tests
("intltool" ,intltool)
("autoconf" ,autoconf)
("automake" ,automake)
("libxslt" ,libxslt) ;for documentation
("docbook-xml" ,docbook-xml-4.3)
("docbook-xsl" ,docbook-xsl)))
(list pkg-config
`(,glib "bin")
glib ;for m4 macros
python-wrapper ;for tests
intltool
autoconf
automake
libxml2 ;for XML_CATALOG_FILES
libxslt ;for documentation
docbook-xml
docbook-xsl))
(propagated-inputs
(list gcr))
(home-page "https://www.gnome.org")
@ -4757,35 +4708,6 @@ commercial X servers. It is useful for creating XKB-related software (layout
indicators etc).")
(license license:lgpl2.0+)))
(define-public python2-rsvg
;; XXX: This is actually a subset of gnome-python-desktop.
(package
(name "python2-rsvg")
(version "2.32.0")
(source
(origin
(method url-fetch)
(uri (string-append
"mirror://gnome/sources/gnome-python-desktop/2.32/gnome-python-desktop-"
version ".tar.bz2"))
(sha256
(base32
"1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(inputs
(list python-2 python2-pygtk librsvg))
(home-page "https://www.gnome.org")
(synopsis "Python bindings to librsvg")
(description
"This package provides Python bindings to librsvg, the SVG rendering
library.")
;; This is the license of the rsvg bindings. The license of each module
;; of gnome-python-desktop is given in 'COPYING'.
(license license:lgpl2.1+)))
(define-public glib-networking
(package
(name "glib-networking")
@ -5010,13 +4932,6 @@ and the GLib main loop, to integrate well with GNOME applications.")
("pkg-config" ,pkg-config)
("vala" ,vala)
("xsltproc" ,libxslt)))
;; These are needed for the tests.
;; FIXME: Add gjs once available.
;("dbus" ,dbus)
;("python2" ,python-2)
;("python2-dbus" ,python2-dbus)
;("python2-pygobject" ,python2-pygobject)
;("python2-pygobject-2" ,python2-pygobject-2)))
(propagated-inputs
(list glib)) ; required by libsecret-1.pc
(inputs
@ -7279,7 +7194,7 @@ configuration program to choose applications starting on login.")
("xvfb" ,xorg-server-for-tests)))
(propagated-inputs
;; These are all in the Requires.private field of gjs-1.0.pc.
(list cairo gobject-introspection mozjs-78))
(list cairo gobject-introspection mozjs))
(inputs
(list gtk+ readline))
(synopsis "Javascript bindings for GNOME")
@ -10202,7 +10117,7 @@ is suitable as a default application in a Desktop environment.")
(define-public xpad
(package
(name "xpad")
(version "5.1.0")
(version "5.8.0")
(source
(origin
(method url-fetch)
@ -10211,13 +10126,13 @@ is suitable as a default application in a Desktop environment.")
name "-" version ".tar.bz2"))
(sha256
(base32
"0l0g5x8g6dwhf5ksnqqrjjsycy57kcvdslkmsr6bl3vrsjd7qml3"))))
"1sc2dz4yxx6glnqpnhiby85g2blnsfn8d3fvbaqhdi2hi0q54q7j"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake
`(,gtk+ "bin") intltool pkg-config))
(inputs
(list gtksourceview-3 libsm))
(list gtksourceview libsm))
(home-page "https://wiki.gnome.org/Apps/Xpad")
(synopsis "Virtual sticky note")
(description
@ -10437,14 +10352,6 @@ accessibility infrastructure.")
(license license:lgpl2.0)
(properties '((upstream-name . "pyatspi")))))
(define-public python2-pyatspi
(package/inherit python-pyatspi
(name "python2-pyatspi")
(inputs
`(("python" ,python-2)))
(propagated-inputs
`(("python-pygobject" ,python2-pygobject)))))
(define-public orca
(package
(name "orca")
@ -12018,7 +11925,7 @@ GTK+. It integrates well with the GNOME desktop environment.")
python-pygobject
python-pyenchant
python-pypandoc
webkitgtk))
webkitgtk-with-libsoup2))
(native-inputs
(list gettext-minimal
`(,glib "bin")

View file

@ -21,6 +21,7 @@
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Nikita Domnitskii <nikita@domnitskii.me>
;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -532,9 +533,6 @@ cryptographic library. It is developed in the GPGME source code, and then
distributed separately.")
(license license:lgpl2.1+)))
(define-public python2-gpg
(package-with-python2 python-gpg))
(define-public python-pygpgme
(package
(name "python-pygpgme")
@ -570,9 +568,6 @@ distributed separately.")
decrypt messages using the OpenPGP format by making use of GPGME.")
(license license:lgpl2.1+)))
(define-public python2-pygpgme
(package-with-python2 python-pygpgme))
(define-public python-gnupg
(package
(name "python-gnupg")
@ -644,44 +639,38 @@ signing, decryption, verification, and key-listing parsing.")
(define-public pius
(package
(name "pius")
(version "2.2.7")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/jaymzh/pius/releases/download/v"
version "/pius-" version ".tar.bz2"))
(sha256
(base32
"1nsl7czicv95j0gfz4s82ys3g3h2mwr6cq3ilid8bpz3iy7z4ipy"))))
(build-system python-build-system)
(inputs `(("perl" ,perl) ; for 'pius-party-worksheet'
("gpg" ,gnupg)
("python-six" ,python2-six)))
(arguments
`(#:tests? #f
#:python ,python-2 ; uses the Python 2 'print' syntax
#:phases
(modify-phases %standard-phases
(add-before
'build 'set-gpg-file-name
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((gpg (search-input-file inputs "/bin/gpg")))
(name "pius")
(version "3.0.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/jaymzh/pius/releases/download/v"
version "/pius-" version ".tar.bz2"))
(sha256
(base32
"11fhmfvr0avxl222rv43wjd2xjbpxrsmcl8xwmn0nvf1rw95v9fn"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-before 'build 'set-gpg-file-name
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libpius/constants.py"
(("/usr/bin/gpg2") gpg))
#t))))))
(synopsis "Programs to simplify GnuPG key signing")
(description
"Pius (PGP Individual UID Signer) helps attendees of PGP keysigning
(("/usr/bin/gpg2")
(search-input-file inputs "bin/gpg"))))))))
(inputs (list perl ;for 'pius-party-worksheet'
gnupg))
(synopsis "Programs to simplify GnuPG key signing")
(description
"Pius (PGP Individual UID Signer) helps attendees of PGP key signing
parties. It is the main utility and makes it possible to quickly and easily
sign each UID on a set of PGP keys. It is designed to take the pain out of
the sign-all-the-keys part of PGP Keysigning Party while adding security
to the process.
pius-keyring-mgr and pius-party-worksheet help organisers of
PGP keysigning parties.")
(license license:gpl2)
(home-page "https://www.phildev.net/pius/index.shtml")))
the sign-all-the-keys part of PGP key signing parties while adding security to
the process. The @command{pius-keyring-mgr} and
@command{pius-party-worksheet} commands help organizers of PGP key signing
parties.")
(license license:gpl2)
(home-page "https://www.phildev.net/pius/index.shtml")))
(define-public signing-party
(package

File diff suppressed because it is too large Load diff

View file

@ -495,14 +495,14 @@ Faiss library.")))
(define-public python-leidenalg
(package
(name "python-leidenalg")
(version "0.7.0")
(version "0.8.10")
(source
(origin
(method url-fetch)
(uri (pypi-uri "leidenalg" version))
(sha256
(base32
"15fwld9hdw357rd026mzcwpah5liy4f33vc9x9kwy37g71b2rjf1"))))
"1hbvagp1yyazvl7cid7mii5263qi48lpkq543n5w71qysgz1f0v7"))))
(build-system python-build-system)
(arguments
'(#:tests? #f ;tests are not included
@ -510,12 +510,14 @@ Faiss library.")))
(add-after 'unpack 'fix-requirements
(lambda _
(substitute* "setup.py"
(("self.external = False")
"self.external = True")
(("self.use_pkgconfig = False")
"self.use_pkgconfig = True")
(("python-igraph >=")
"igraph >=")))))))
(native-inputs
;; XXX: setuptools >= 58 as shipped with Python 3.9+ removes support
;; for lib2to3, so use this older variant.
(list pkg-config python-setuptools))
(list pkg-config python-setuptools-scm))
(inputs
(list igraph))
(propagated-inputs

View file

@ -1361,73 +1361,6 @@ realistic reflections, shading, perspective and other effects.")
(home-page "http://www.povray.org/")
(license license:agpl3+)))
(define-public rapicorn
(package
(name "rapicorn")
(version "16.0.0")
(source (origin
(method url-fetch)
(uri (string-append "https://testbit.eu/pub/dists/rapicorn/"
"rapicorn-" version ".tar.xz"))
(sha256
(base32
"1y51yjrpsihas1jy905m9p3r8iiyhq6bwi2690c564i5dnix1f9d"))
(patches (search-patches "rapicorn-isnan.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-tests
(lambda _
;; Our grep does not support perl regular expressions.
(substitute* "taptool.sh"
(("grep -P") "grep -E"))
;; Disable path tests because we cannot access /bin or /sbin.
(substitute* "rcore/tests/multitest.cc"
(("TCMP \\(Path::equals \\(\"/bin\"") "//"))
#t))
(add-before 'check 'pre-check
(lambda _
;; The test suite requires a running X server (with DISPLAY
;; number 99 or higher).
(system "Xvfb :99 &")
(setenv "DISPLAY" ":99")
#t))
(add-after 'unpack 'replace-fhs-paths
(lambda _
(substitute* (cons "Makefile.decl"
(find-files "." "^Makefile\\.in$"))
(("/bin/ls") (which "ls"))
(("/usr/bin/env") (which "env")))
#t)))))
;; These libraries are listed in the "Required" section of the pkg-config
;; file.
(propagated-inputs
(list librsvg cairo pango libxml2 python2-enum34))
(inputs
`(("gdk-pixbuf" ,gdk-pixbuf)
("libpng" ,libpng-1.2)
("readline" ,readline)
("libcroco" ,libcroco)
("python" ,python-2)
("cython" ,python2-cython)))
(native-inputs
`(("pandoc" ,pandoc)
("bison" ,bison)
("flex" ,flex)
("doxygen" ,doxygen)
("graphviz" ,graphviz)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("xvfb" ,xorg-server-for-tests)))
(home-page "https://rapicorn.testbit.org/")
(synopsis "Toolkit for rapid development of user interfaces")
(description
"Rapicorn is a toolkit for rapid development of user interfaces in C++
and Python. The user interface is designed in a declarative markup language
and is connected to the programming logic using data bindings and commands.")
(license license:mpl2.0)))
(define-public ctl
(package
(name "ctl")
@ -1593,9 +1526,6 @@ rendering @acronym{SVG, Scalable Vector Graphics}.")
your terminal.")
(license license:expat)))
(define-public python2-pastel
(package-with-python2 python-pastel))
(define-public fgallery
(package
(name "fgallery")

View file

@ -208,9 +208,6 @@ interfaces for other technical domains.")
visualization tool suite.")
(license license:expat)))
(define-public python2-graphviz
(package-with-python2 python-graphviz))
(define-public python-pygraphviz
(package
(name "python-pygraphviz")
@ -403,9 +400,6 @@ can be used either as a standalone application, or as a Python library.")
graphs in Graphviz's DOT language, written in pure Python.")
(license license:expat)))
(define-public python2-pydot
(package-with-python2 python-pydot))
(define-public dot2tex
(package
(name "dot2tex")
@ -418,11 +412,33 @@ graphs in Graphviz's DOT language, written in pure Python.")
"1kp77wiv7b5qib82i3y3sn9r49rym43aaqm5aw1bwnzfbbq2m6i9"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2))
(inputs
(list texlive-latex-preview graphviz))
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "pytest" "-vv" "tests"
;; The test_semicolon test fails for unknown reason
;; (see:
;; https://github.com/kjellmf/dot2tex/issues/94).
"-k" "not test_semicolon")))))))
(native-inputs (list python-pytest))
(inputs (list graphviz))
(propagated-inputs
(list python2-pyparsing))
(list python-pyparsing
;; These TeX dependencies are propagated to make it easier to build
;; the resulting generated TeX files, which \usepackage them.
texlive-bin
texlive-amsmath
texlive-latex-geometry
texlive-latex-graphics
texlive-latex-base
texlive-latex-preview
texlive-latex-xkeyval
texlive-pgf
texlive-pstricks
texlive-xcolor))
(home-page "https://github.com/kjellmf/dot2tex")
(synopsis "Graphviz to LaTeX converter")
(description

View file

@ -24,12 +24,13 @@
;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Brendan Tildesley <mail@brendan.scot>
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
;;; Copyright © 2021 Simon Streit <simon@netpanic.org>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Wamm K. D. <jaft.r@outlook.com>
;;; Copyright © 2022 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2022 Benjamin Slade <slade@lambda-y.net>
;;;
;;; This file is part of GNU Guix.
;;;
@ -52,6 +53,7 @@
#:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix bzr-download)
#:use-module (guix git-download)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (guix build-system cmake)
@ -1918,96 +1920,9 @@ printing and other features typical of a source code editor.")
(synopsis "Python bindings for cairo")
(description
"Pycairo is a set of Python bindings for the Cairo graphics library.")
(license license:lgpl3+)
(properties `((python2-variant . ,(delay python2-pycairo))))))
(license license:lgpl3+)))
;; Pycairo no longer supports Python 2 since version 1.19.0, so we stick
;; with this older version here.
(define-public python2-pycairo
(let ((pycairo (package-with-python2
(strip-python2-variant python-pycairo))))
(package
(inherit pycairo)
(version "1.18.2")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/pygobject/pycairo/releases"
"/download/v" version "/pycairo-" version ".tar.gz"))
(sha256
(base32
"0cb5n4r4nl0k1g90b1gz9iyk4lp7hi03db98i1p52a870bym7f6w"))))
;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1
(license (list license:lgpl2.1 license:mpl1.1)))))
(define-public python2-pygtk
(package
(name "python2-pygtk")
(version "2.24.0")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources"
"/pygtk/" (version-major+minor version)
"/pygtk-" version ".tar.bz2"))
(sha256
(base32
"04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d"))))
(build-system gnu-build-system)
(outputs '("out"
"doc")) ;13 MiB of gtk-doc HTML
(native-inputs
(list pkg-config))
(inputs
`(("python" ,python-2)
;; XXX: The package fails to build with the latest Pango (propagated
;; from GTK+2), so we provide it with this older version.
("pango" ,pango-1.42)
("libglade" ,libglade)
("glib" ,glib)))
(propagated-inputs
`(("python-pycairo" ,python2-pycairo) ;loaded at runtime
("python-pygobject" ,python2-pygobject-2) ;referenced in pc file
("gtk+" ,gtk+-2)))
(arguments
`(#:tests? #f
#:phases (modify-phases %standard-phases
(add-before 'configure 'set-gtk-doc-directory
(lambda* (#:key outputs #:allow-other-keys)
;; Install documentation to "doc".
(let ((doc (assoc-ref outputs "doc")))
(substitute* "docs/Makefile.in"
(("TARGET_DIR = \\$\\(datadir\\)")
(string-append "TARGET_DIR = " doc))))))
(add-after 'configure 'fix-codegen
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "pygtk-codegen-2.0"
(("^prefix=.*$")
(string-append
"prefix="
(assoc-ref inputs "python-pygobject") "\n")))))
(add-after 'install 'install-pth
(lambda* (#:key inputs outputs #:allow-other-keys)
;; pygtk's modules are stored in a subdirectory of
;; python's site-packages directory. Add a .pth file so
;; that python will add that subdirectory to its module
;; search path.
(let* ((out (assoc-ref outputs "out"))
(site (string-append out "/lib/python"
,(version-major+minor
(package-version python-2))
"/site-packages")))
(call-with-output-file (string-append site "/pygtk.pth")
(lambda (port)
(format port "gtk-2.0~%")))))))))
(home-page "http://www.pygtk.org/")
(synopsis "Python bindings for GTK+")
(description
"PyGTK allows you to write full featured GTK programs in Python. It is
targeted at GTK 2.x, and can be used in conjunction with gnome-python to
write GNOME applications.")
(license license:lgpl2.1+)))
(define-public perl-cairo
(package
@ -2546,7 +2461,7 @@ independent of your desktop environment, and supports global key bindings.")
(define-public yad
(package
(name "yad")
(version "5.0")
(version "12.0")
(source
(origin
(method git-fetch)
@ -2555,7 +2470,7 @@ independent of your desktop environment, and supports global key bindings.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "07rd61hvilsxxrj7lf8c9k0a8glj07s48m7ya8d45030r90g3lvc"))))
(base32 "1nbbw4vwlxjlp83d35w54952b6rrn8qlr3d053lisqwl0hfcm7if"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags
@ -2630,64 +2545,85 @@ printed to standard output.")
(license license:gpl3+)))
(define-public libdbusmenu
(package
(name "libdbusmenu")
(version "16.04.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://launchpad.net/libdbusmenu/"
(version-major+minor version) "/" version
"/+download/libdbusmenu-" version ".tar.gz"))
(sha256
(base32 "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
'("--sysconfdir=/etc"
"--localstatedir=/var"
;; The shebang of the generated test files should be patched before
;; enabling tests.
"--disable-tests")
#:make-flags
`(,(string-append "typelibdir=" (assoc-ref %outputs "out")
"/lib/girepository-1.0"))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'do-not-treat-warnings-as-errors
(lambda _
;; Prevent the build from failing due to deprecation warnings
;; from newer GLib and GTK versions.
(substitute* (find-files "." "^Makefile.in$")
((" -Werror")
""))
#t))
(add-before 'configure 'set-environment
(lambda _
(setenv "HAVE_VALGRIND_TRUE" "")
(setenv "HAVE_VALGRIND_FALSE" "#")
#t)))))
(inputs
`(("glib" ,glib)
("gtk+" ,gtk+)
("gtk+-2" ,gtk+-2)))
(native-inputs
`(("glib:bin" ,glib "bin")
("gnome-doc-utils" ,gnome-doc-utils)
("gobject-introspection" ,gobject-introspection)
("intltool" ,intltool)
("json-glib" ,json-glib)
("pkg-config" ,pkg-config)
("python" ,python-2)
("vala" ,vala)))
(home-page "https://launchpad.net/libdbusmenu")
(synopsis "Library for passing menus over DBus")
(description "@code{libdbusmenu} passes a menu structure across DBus so
(let ((bzr-revision "496"))
(package
(name "libdbusmenu")
(version (string-append "16.04.0" "-" bzr-revision))
(source
(origin
(method bzr-fetch)
(uri (bzr-reference
(url "lp:libdbusmenu")
(revision bzr-revision)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1rnp86r8f2xjcbk6jjl6np1qdhc3d7fj1c3ggn0gbv2kksc8r1bx"))))
(build-system gnu-build-system)
(arguments
(list
#:configure-flags
#~(list "--sysconfdir=/etc"
"--localstatedir=/var"
;; The shebang of the generated test files should be patched
;; before enabling tests.
"--disable-tests")
#:make-flags
#~(list (string-append "typelibdir=" #$output "/lib/girepository-1.0"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-deprecated-gnome-common-macros
(lambda _
;; Adapted from a Debian patch to remove deprecated macros.
(substitute* "autogen.sh"
(("^USE_GNOME2_MACROS.*") "")
(("^USE_COMMON_DOC_BUILD.*") ""))))
(add-after 'unpack 'patch-paths
(lambda _
(substitute* "libdbusmenu-glib/Makefile.am"
(("/bin/false")
"false")
;; (("\\$\\(srcdir)/clean-namespaces.xslt")
;; "clean-namespaces.xslt")
)))
(add-before 'configure 'do-not-treat-warnings-as-errors
(lambda _
;; Prevent the build from failing due to deprecation warnings
;; from newer GLib and GTK versions.
(substitute* (find-files "." "^Makefile.in$")
((" -Werror")
""))))
(add-before 'configure 'set-environment
(lambda _
(setenv "HAVE_VALGRIND_TRUE" "")
(setenv "HAVE_VALGRIND_FALSE" "#"))))))
(inputs
(list glib
gtk+
gtk+-2))
(native-inputs
(list autoconf
automake
`(,glib "bin")
gobject-introspection
gnome-common
gtk-doc ;FIXME: propagate by gnome-common?
intltool
json-glib
libtool
libxslt
pkg-config
python-wrapper
which
vala))
(home-page "https://launchpad.net/libdbusmenupython")
(synopsis "Library for passing menus over DBus")
(description "@code{libdbusmenu} passes a menu structure across DBus so
that a program can create a menu simply without worrying about how it is
displayed on the other side of the bus.")
;; Dual-licensed under either LGPLv2.1 or LGPLv3.
(license (list license:lgpl2.1 license:lgpl3))))
;; Dual-licensed under either LGPLv2.1 or LGPLv3.
(license (list license:lgpl2.1 license:lgpl3)))))
(define-public gtk-layer-shell
(package

View file

@ -4,6 +4,7 @@
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
;;; Copyright © 2022 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@ -30,7 +31,8 @@
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system gnu))
#:use-module (guix build-system gnu)
#:use-module (guix utils))
(define-public guile-xcb
(let ((commit "db7d5a393cc37a56f66541b3f33938b40c6f35b3")
@ -48,19 +50,19 @@
(base32
"16w4vgzbmnwih4bgfn8rw85ryfvzhc6hyly6bic9sd7hhc82rcnd"))))
(build-system gnu-build-system)
(arguments '(;; Parallel builds fail.
#:parallel-build? #f
#:configure-flags (list (string-append
"--with-guile-site-dir="
(assoc-ref %outputs "out")
"/share/guile/site/2.2")
(string-append
"--with-guile-site-ccache-dir="
(assoc-ref %outputs "out")
"/lib/guile/2.2/site-ccache"))))
(arguments
`( ;; Parallel builds fail.
#:parallel-build? #f
#:configure-flags
(let ((out (assoc-ref %outputs "out"))
(effective ,(version-major+minor
(package-version (this-package-input "guile")))))
(list (string-append "--with-guile-site-dir=" out
"/share/guile/site/" effective)
(string-append "--with-guile-site-ccache-dir=" out
"/lib/guile/" effective "/site-ccache")))))
(native-inputs (list guile-2.2 pkg-config texinfo))
(inputs `(("guile" ,guile-2.2)
("xcb" ,xcb-proto)))
(inputs (list guile-2.2 xcb-proto))
(home-page "https://github.com/mwitmer/guile-xcb")
(synopsis "XCB bindings for Guile")
(description
@ -93,14 +95,17 @@ dependencies.")
(ice-9 popen))
;; The '.scm' files go to $(datadir), so set that to the
;; standard value.
#:configure-flags (list (string-append "--datadir="
(assoc-ref %outputs "out")
"/share/guile/site/2.2"))
#:configure-flags
(let ((out (assoc-ref %outputs "out"))
(effective ,(version-major+minor
(package-version (this-package-input "guile")))))
(list (string-append "--datadir=" out
"/share/guile/site/" effective)))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-module-directory
(lambda* (#:key outputs #:allow-other-keys)
;; Install .scm files to $out/share/guile/site/2.2.
;; Install .scm files to $out/share/guile/site/x.y.
(let ((out (assoc-ref outputs "out"))
(effective (read-line
(open-pipe* OPEN_READ
@ -110,8 +115,7 @@ dependencies.")
(("^wmdir = .*$")
(string-append "wmdir = " out
"/share/guile/site/"
effective "\n"))))
#t))
effective "\n"))))))
(add-after 'install 'set-load-path
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Put Guile-XCB's and Guile-WM's modules in the
@ -131,8 +135,7 @@ dependencies.")
(,mods ,(string-append xcb "/share/guile/site/" effective)))
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
(,gos ,(string-append xcb "/lib/guile/"
effective "/site-ccache")))))
#t))
effective "/site-ccache")))))))
(add-after 'install 'install-go-files
(lambda* (#:key outputs inputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@ -153,8 +156,7 @@ dependencies.")
(go (string-append object-dir base ".go")))
(invoke "guild" "compile" "-L" module-dir
file "-o" go)))
(find-files module-dir "\\.scm$"))
#t)))
(find-files module-dir "\\.scm$")))))
(add-after 'install 'install-xsession
(lambda* (#:key outputs #:allow-other-keys)
;; add a .desktop file to xsessions
@ -170,8 +172,7 @@ dependencies.")
Comment=~a~@
Exec=~a/bin/guile-wm~@
Type=Application~%"
,name ,synopsis %output))))
#t)))))
,name ,synopsis %output)))))))))
(native-inputs (list guile-2.2 guile-xcb pkg-config texinfo))
(inputs (list guile-2.2 guile-xcb))
(home-page "https://github.com/mwitmer/guile-wm/releases")

View file

@ -3843,45 +3843,64 @@ and space linear in the size of the input text.")
(file-name (git-file-name name version))
(sha256
(base32
"0rl809qimhgz6b0rixakb42r2l4g53jr09a2g0s1hxgab0blz0kb"))))
"0rl809qimhgz6b0rixakb42r2l4g53jr09a2g0s1hxgab0blz0kb"))
(patches (search-patches "guile-ac-d-bus-fix-tests.patch"))))
(build-system guile-build-system)
(arguments
`(#:implicit-inputs? #f ;needs nothing but Guile
#:compile-flags '("--r6rs" "-Wunbound-variable" "-Warity-mismatch")
#:phases (modify-phases %standard-phases
(add-before 'build 'adjust-for-guile
(lambda _
;; Adjust source file names for Guile.
(define (guile-sls->sls file)
(string-append (string-drop-right
file (string-length ".guile.sls"))
".sls"))
(list
#:implicit-inputs? #f ;needs nothing but Guile
#:compile-flags #~(list "--r6rs" "-Wunbound-variable" "-Warity-mismatch")
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'adjust-for-guile
(lambda _
;; Adjust source file names for Guile.
(define (guile-sls->sls file)
(string-append (string-drop-right
file (string-length ".guile.sls"))
".sls"))
;; Remove files targeting other implementations:
;; *.mosh.sls, etc.
(for-each delete-file
(find-files
"compat"
(lambda (file stat)
(not (string-contains file ".guile.")))))
;; Remove files targeting other implementations: *.mosh.sls,
;; etc.
(for-each delete-file
(find-files
"compat"
(lambda (file stat)
(not (string-contains file ".guile.")))))
;; Rename *.guile.sls to *.sls so the ".guile" bit does
;; not appear in .go file names.
(for-each (lambda (file)
(rename-file file (guile-sls->sls file)))
(find-files "compat" "\\.guile\\.sls"))
;; Rename *.guile.sls to *.sls so the ".guile" bit does not
;; appear in .go file names.
(for-each (lambda (file)
(rename-file file (guile-sls->sls file)))
(find-files "compat" "\\.guile\\.sls"))
;; Move directories under d-bus/ to match module names.
(mkdir "d-bus")
(for-each (lambda (directory)
(rename-file directory
(string-append "d-bus/"
directory)))
'("compat" "protocol"))
#t)))))
;; Move directories under d-bus/ to match module names.
(mkdir "d-bus")
(for-each (lambda (directory)
(rename-file directory
(string-append "d-bus/"
directory)))
'("compat" "protocol"))))
(add-after 'build 'build-doc
(lambda _
(with-directory-excursion "docs"
(invoke "makeinfo" "ac-d-bus"))))
(add-after 'build-doc 'check
(lambda* (#:key (tests? #t) #:allow-other-keys)
(when tests?
;; There is no locale for the ö character, which crashes
;; substitute*; reset the conversion strategy to workaround it.
(with-fluids ((%default-port-conversion-strategy 'substitute))
(substitute* (find-files "tests")
(("#!/usr/bin/env scheme-script")
(string-append "#!" (which "guile")))))
(invoke "./run-tests.sh"))))
(add-after 'install 'install-doc
(lambda _
(install-file "docs/ac-d-bus.info"
(string-append #$output "/share/info")))))))
(native-inputs
(list guile-3.0))
(list bash-minimal guile-3.0 texinfo))
(propagated-inputs
(list guile-packrat))
(synopsis "D-Bus protocol implementation in R6RS Scheme")

View file

@ -375,42 +375,6 @@ through the Display Data Channel Command Interface (@dfn{DDC/CI}) protocol.")
human-readable format and checks if it conforms to the standards.")
(license license:expat))))
(define-public h-client
(let ((version "0.0a0")
(revision 138))
(package
(name "h-client")
(version (string-append version "-" (number->string revision)))
(source
(origin
(method svn-fetch)
(uri
(svn-reference
(url "https://svn.savannah.nongnu.org/svn/h-client/trunk/h-client")
(revision revision)))
(file-name (git-file-name name version))
(sha256
(base32 "1pdd2qhyaa5vh7z4rkpwjlby1flkwhzmp8zlglalx5y5sv95l4kp"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2
;; Tests depends on /etc/os-release which does not exist in the
;; build container.
#:tests? #f))
(inputs
(list python-2 python2-pycurl python2-pygtk pciutils usbutils))
(synopsis "Graphical client for the h-node hardware database
project")
(description
"The h-node project (https://www.h-node.org) aims to build a database of
hardware that works with fully free operating systems.
h-client is a GTK+ graphical client that is able to retrieves information on
the hardware inside the computer it's running on, and on peripherals connected
to it, and help you submit that information to the h-node project along with
whether the hardware works with a fully free operating system or not.")
(home-page "https://savannah.nongnu.org/projects/h-client/")
(license license:gpl3+))))
(define-public headsetcontrol
(package
(name "headsetcontrol")

View file

@ -304,14 +304,14 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
(version "10.20220504")
(version "10.20220525")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
(base32 "10pp58b7glwi1yckrij49d1iq99pc4dpkkbkb1qqiif9dr9672f3"))))
(base32 "1nrwa4qm3xkr11x0b0c1mx052zhd7lz9w97xf0ycdkhsyc6vbiy6"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags

View file

@ -19,6 +19,7 @@
;;; Copyright © 2021 Paul Garlick <pgarlick@tourbillion-technology.com>
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -145,7 +146,7 @@ Magnetic Resonance Imaging.")
(define-public dcmtk
(package
(name "dcmtk")
(version "3.6.6")
(version "3.6.7")
(source
(origin
(method url-fetch)
@ -154,8 +155,11 @@ Magnetic Resonance Imaging.")
"dcmtk" (string-join (string-split version #\.) "")
"/dcmtk-" version ".tar.gz"))
(sha256
(base32 "13j5yf3p6qj3mr17d77r3kcqchf055hgvk1w15vmdr8f54mwcnb8"))))
(base32 "02kix73qhndgb56cmi5327666i6imp7hi17wwqp26q4d7s72jn3w"))))
(build-system cmake-build-system)
(arguments
;; By default, only static archives are built.
(list #:configure-flags #~(list "-DBUILD_SHARED_LIBS=ON")))
(inputs
(list icu4c
libjpeg-turbo
@ -181,7 +185,7 @@ licences similar to the Modified BSD licence."))))
(define-public mia
(package
(name "mia")
(version "2.4.6")
(version "2.4.7")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/mia/mia/"
@ -189,37 +193,41 @@ licences similar to the Modified BSD licence."))))
"/mia-" version ".tar.xz"))
(sha256
(base32
"0j4nd5z7i3v199jh7hqqhwd4g7snchizkc7rhzanpvngqg91m1pb"))))
"0qpcd3n26q52dpyibm11f5l6cgscdr54p2jish39gc3p1f5h3ws1"))
(patches (search-patches "mia-fix-boost-headers.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
(list "-DMIA_CREATE_NIPYPE_INTERFACES=0"
(list "-DMIA_CREATE_NIPYPE_INTERFACES=OFF"
"-DCMAKE_CXX_FLAGS=-fpermissive")))
(inputs
`(("boost" ,boost)
("dcmtk" ,dcmtk)
("doxygen" ,doxygen)
("eigen" ,eigen)
("fftw" ,fftw)
("fftwf" ,fftwf)
("gsl" ,gsl)
("gts" ,gts)
("hdf5" ,hdf5)
("itpp" ,itpp)
("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libtiff" ,libtiff)
("libxml" ,libxml2)
("libxml++" ,libxml++)
("maxflow" ,maxflow)
("niftilib" ,niftilib)
("nlopt" ,nlopt)
("openexr" ,openexr-2)
("python-lxml" ,python2-lxml)
("vtk" ,vtk)))
(list boost
dcmtk
doxygen
eigen
fftw
fftwf
gsl
gts
hdf5
itpp
libjpeg-turbo
libpng
libtiff
libxml2
libxml++
maxflow
niftilib
nlopt
openexr-2
python-lxml
;; The build fails when using the regular VTK (currently at version
;; 9), with error "addons/vtk/vtkvf.cc:23:10: fatal error:
;; vtkStructuredPointsReader.h: No such file or directory".
vtk-7))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-2)))
(list pkg-config
python-wrapper))
(home-page "http://mia.sourceforge.net")
(synopsis "Toolkit for gray scale medical image analysis")
(description "MIA provides a combination of command line tools, plug-ins,
@ -407,10 +415,10 @@ a suite of 3D interaction widgets, supports parallel processing, and
integrates with various databases on GUI toolkits such as Qt and Tk.")
(license license:bsd-3)))
;; itksnap needs an older variant of VTK.
(define-public vtk-6
(package (inherit vtk)
(version "6.3.0")
(define-public vtk-7
(package
(inherit vtk)
(version "7.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://vtk.org/files/release/"
@ -418,11 +426,16 @@ integrates with various databases on GUI toolkits such as Qt and Tk.")
"/VTK-" version ".tar.gz"))
(sha256
(base32
"0pla1r5mvkgl4sl213gfdhzrypdgai0h3z5mfgm6p9jz9hsr794j"))))
(inputs
(modify-inputs (package-inputs vtk)
(replace "jsoncpp" jsoncpp-for-tensorflow)
(replace "python" python-2))))) ;fails to build with Python 3.9
"0nm7xwwj7rnsxjdv2ssviys8nhci4n9iiiqm2y14s520hl2dsp1d"))
(patches (search-patches "vtk-7-python-compat.patch"
"vtk-7-hdf5-compat.patch"
"vtk-7-gcc-10-compat.patch"))))
(arguments
(substitute-keyword-arguments (package-arguments vtk)
((#:configure-flags flags)
;; Otherwise, the build would fail with: "error: invalid conversion
;; from const char* to char* [-fpermissive]".
`(cons "-DCMAKE_CXX_FLAGS=-fpermissive" ,flags))))))
(define-public opencv
(package
@ -1010,7 +1023,8 @@ combine the information contained in both.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "15i5ixpryfrbf3vrrb5rici8fb585f25k0v1ljds16bp1f1msr4q"))))
(base32 "15i5ixpryfrbf3vrrb5rici8fb585f25k0v1ljds16bp1f1msr4q"))
(patches (search-patches "itk-snap-alt-glibc-compat.patch"))))
(build-system cmake-build-system)
(arguments
`(#:configure-flags
@ -1029,22 +1043,19 @@ combine the information contained in both.")
(substitute* "CMakeLists.txt"
(("install_qt5_executable\
\\(\\$\\{SNAP_MAIN_INSTALL_DIR\\}/\\$\\{SNAP_EXE\\}\\)")
""))
#t))
""))))
(add-after 'unpack 'disable-gui-tests
(lambda _
;; The GUI tests just time out.
(substitute* "CMakeLists.txt"
((" (Workspace|DiffSpace|ProbeIntensity|RegionCompetition\
|RandomForest|RandomForestBailOut)")
""))
#t))
""))))
(add-after 'unpack 'make-reproducible
(lambda _
(substitute* "CMakeLists.txt"
(("TODAY\\(SNAP_VERSION_COMPILE_DATE\\)")
"SET(SNAP_VERSION_COMPILE_DATE \"(removed for reproducibility)\")"))
#t))
"SET(SNAP_VERSION_COMPILE_DATE \"(removed for reproducibility)\")"))))
(add-after 'unpack 'prepare-submodules
(lambda* (#:key inputs #:allow-other-keys)
(rmdir "Submodules/c3d")
@ -1055,19 +1066,16 @@ combine the information contained in both.")
(("vcl_") "std::"))
(rmdir "Submodules/greedy")
(symlink (assoc-ref inputs "greedy-src")
"Submodules/greedy")
#t))
"Submodules/greedy")))
(add-after 'unpack 'fix-includes
(lambda _
(substitute* "GUI/Model/RegistrationModel.cxx"
(("<vnl_symmetric_eigensystem.h>")
"<vnl/algo/vnl_symmetric_eigensystem.h>"))
#t))
"<vnl/algo/vnl_symmetric_eigensystem.h>"))))
(add-before 'check 'prepare-tests
(lambda _
;; Needed by at least one test.
(setenv "HOME" "/tmp")
#t))
(setenv "HOME" "/tmp")))
(add-after 'install 'wrap-executable
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
@ -1076,23 +1084,22 @@ combine the information contained in both.")
,(map (lambda (label)
(string-append (assoc-ref inputs label)
"/lib/qt5/plugins"))
'("qtbase" "qtdeclarative"))))
#t))))))
'("qtbase" "qtdeclarative"))))))))))
(inputs
`(("curl" ,curl)
("fftw" ,fftw)
("fftwf" ,fftwf)
("glu" ,glu)
("hdf5" ,hdf5)
("mesa" ,mesa-opencl)
;; This package does not build with either insight-toolkit 5.0.0 and
;; not with 4.13. It really needs to be 4.12.
("itk" ,insight-toolkit-4.12)
("vtk" ,vtk-6)
("qtbase" ,qtbase-5)
("qtdeclarative" ,qtdeclarative)
("vxl" ,vxl-1)
("zlib" ,zlib)))
(list curl
fftw
fftwf
glu
hdf5
mesa-opencl
;; This package does not build with either insight-toolkit 5.0.0
;; and not with 4.13. It really needs to be 4.12.
insight-toolkit-4.12
vtk-7
qtbase-5
qtdeclarative
vxl-1
zlib))
(native-inputs
`(("googletest" ,googletest)
("qttools" ,qttools)

View file

@ -239,25 +239,6 @@ APNG patch provides APNG support to libpng.")
(home-page "https://sourceforge.net/projects/libpng-apng/")
(license license:zlib)))
(define-public libpng-1.2
(package
(inherit libpng)
(version "1.2.59")
(source
(origin
(method url-fetch)
(uri (list (string-append "mirror://sourceforge/libpng/libpng12/"
version "/libpng-" version ".tar.xz")
(string-append
"ftp://ftp.simplesystems.org/pub/libpng/png/src"
"/libpng12/libpng-" version ".tar.xz")
(string-append
"ftp://ftp.simplesystems.org/pub/libpng/png/src/history"
"/libpng12/libpng-" version ".tar.xz")))
(sha256
(base32
"1izw9ybm27llk8531w6h4jp4rk2rxy2s9vil16nwik5dp0amyqxl"))))))
(define-public pngcrush
(package
(name "pngcrush")

View file

@ -96,9 +96,6 @@ that is concerned with representation of names for languages and language
groups.")
(license license:agpl3+)))
(define-public python2-iso639
(package-with-python2 python-iso639))
(define-public python-iso3166
(package
(name "python-iso3166")
@ -115,6 +112,3 @@ groups.")
(synopsis "Self-contained ISO 3166-1 country definitions")
(description "This package provides the ISO 3166-1 country definitions.")
(license license:expat)))
(define-public python2-iso3166
(package-with-python2 python-iso3166))

View file

@ -2252,7 +2252,7 @@ new Date();"))
(package
(inherit openjdk16)
(name "openjdk")
(version "17.0.2")
(version "17.0.3")
(source (origin
(method git-fetch)
(uri (git-reference
@ -2261,7 +2261,7 @@ new Date();"))
(file-name (git-file-name name version))
(sha256
(base32
"0zwv5pnh7rb7a6689jlhjfcc92bsiy0xbhdxyj93096ah4n3hqhj"))
"0slmd6ww947gxpp4yr2wmr5z975bg86qh7zqfp2radf2q77ql65b"))
(patches
(search-patches "openjdk-15-xcursor-no-dynamic.patch"))))
(native-inputs

View file

@ -26,28 +26,3 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages gnome)
#:use-module (guix build-system python))
(define-public key-mon
(package
(name "key-mon")
(version "1.17")
(source (origin
(method url-fetch)
(uri (string-append
"http://key-mon.googlecode.com/files/key-mon-"
version ".tar.gz"))
(sha256
(base32
"1liz0dxcqmchbnl1xhlxkqm3gh76wz9jxdxn9pa7dy77fnrjkl5q"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ;uses the Python 2 'print' syntax
#:tests? #f)) ;no tests
(inputs
(list python2-xlib python2-pygtk python2-rsvg))
(home-page "https://code.google.com/p/key-mon")
(synopsis "Show keyboard and mouse status")
(description
"The key-mon utility displays the current keyboard and mouse status.
This is useful for teaching and screencasts.")
(license asl2.0)))

View file

@ -855,443 +855,6 @@ extensions in EXTS."
(srfi srfi-1)
(srfi srfi-26)))
(define-public python2-tegaki-wagomu
(package
(name "python2-tegaki-wagomu")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri "tegaki-wagomu" version))
(sha256
(base32
"1pzdiq4zy1nyylaj9i6v2h4h0r05klahskzpafpp367p4rysi1x9"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "pyc"))))
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; only Python 2 is supported
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-recognizer
(lambda* (#:key inputs #:allow-other-keys)
;; fix missing module and function
(substitute* "tegakiwagomu.py"
(("import Results,")
"import ")
(("def _recognize")
"def recognize")
(("Results\\(candidates\\)")
"candidates"))
#t)))))
(inputs
(list glib))
(native-inputs
(list pkg-config swig))
(home-page "https://tegaki.github.io/")
(synopsis
"Chinese and Japanese Handwriting Recognition (Recognition engine)")
(description
"Tegaki is an ongoing project which aims to develop a free and open-source
modern implementation of handwriting recognition software, specifically
designed for Chinese (simplified and traditional) and Japanese, and that is
suitable for both the desktop and mobile devices.")
(license license:gpl2+))) ; all files
(define-public python2-tegaki-python
(package
(inherit python2-tegaki-wagomu)
(name "python2-tegaki-python")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri "tegaki-python" version))
(sha256
(base32
"0x93k7pw9nh0ywd97pr8pm7jv3f94nw044i5k0zvzhdpsjqvak7p"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "pyc"))))
(arguments
(substitute-keyword-arguments (package-arguments python2-tegaki-wagomu)
((#:phases _)
`(modify-phases %standard-phases
(add-after 'unpack 'pre-configure
(lambda* (#:key inputs #:allow-other-keys)
;; Always convert string to unicode to avoid the following error
;; when running "tegaki-build" in python2-tegaki-tools:
;;
;; sqlite3.ProgrammingError: You must not use 8-bit bytestrings
;; unless you use a text_factory that can interpret 8-bit
;; bytestrings (like text_factory = str).
;; It is highly recommended that you instead just switch your
;; application to Unicode strings.
(substitute* "tegaki/charcol.py"
(("sqlite3.OptimizedUnicode")
"lambda s: unicode(s, 'utf-8')"))
(substitute* "tegaki/engine.py"
(("/usr(/local)?")
(assoc-ref inputs "python2-tegaki-wagomu")))
#t))))))
;; override inherited inputs
(inputs '())
(native-inputs '())
(propagated-inputs
(list python2-tegaki-wagomu python2-zinnia))
(synopsis
"Chinese and Japanese Handwriting Recognition (Base python library)")
(license (list license:gpl2+ ; all files except...
license:bsd-3 ; dictutils.py
license:zpl2.1)))) ; minjson.py
(define-public python2-tegaki-pygtk
(package
(inherit python2-tegaki-wagomu)
(name "python2-tegaki-pygtk")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri "tegaki-pygtk" version))
(sha256
(base32
"1cip0azxhjdj2dg2z85cp1z3lz4qwx3w1j7z4xmcm7npapmsaqs2"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "pyc"))))
(arguments
(substitute-keyword-arguments (package-arguments python2-tegaki-wagomu)
((#:phases _)
`(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "tegakigtk/fakekey.py"
(("libX11.so.6" so)
(search-input-file inputs
(string-append "/lib/" so)))
(("libXtst.so.6" so)
(search-input-file inputs
(string-append "/lib/" so))))))))))
(inputs ; required for sending key strokes
(list libx11 libxtst))
(native-inputs '()) ; override inherited inputs
(propagated-inputs
(list python2-pygtk python2-tegaki-python))
(synopsis "Chinese and Japanese Handwriting Recognition (Base UI library)")
(license license:gpl2+)))
(define-public python2-tegaki-tools
(package
(inherit python2-tegaki-wagomu)
(name "python2-tegaki-tools")
(version "0.3.1")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri "tegaki-tools" version))
(sha256
(base32
"0xxv97ggh2jgldw3r7y59lv3fhz733r6l7mdn6nh4m0gvb0ja971"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "pyc"))))
(arguments
(substitute-keyword-arguments (package-arguments python2-tegaki-wagomu)
((#:phases _) '%standard-phases)))
(inputs
(list python2-tegaki-pygtk))
;; override inherited inputs
(native-inputs '())
(propagated-inputs '())
(synopsis "Chinese and Japanese Handwriting Recognition (Advanced tools)")
;; Files in gifenc/ are licensed under gpl3+ while other files are licensed
;; under gpl2+. Therefore, the combined work is licensed under gpl3+.
(license license:gpl3+)))
(define-public python2-tegaki-recognize
(let ((commit "eceec69fe651d0733c8c8752dae569d2283d0f3c")
(revision "1"))
(package
(inherit python2-tegaki-tools)
(name "python2-tegaki-recognize")
;; version copied from <https://github.com/tegaki/tegaki/releases>
(version (git-version "0.3.1" revision commit))
(source
(origin
;; We use GIT-FETCH because 'tegaki-recognize.desktop.in' and
;; 'tegaki-recognize.in' are missing in the tarball.
(method git-fetch)
(uri (git-reference
(url "https://github.com/tegaki/tegaki")
(commit commit)))
(sha256
(base32
"09mw2if9p885phbgah5f95q3fwy7s5b46qlmpxqyzfcnj6g7afr5"))
(file-name (git-file-name name version))
(modules `((guix build utils)
(ice-9 ftw)
(srfi srfi-26)
,@remove-pre-compiled-files-modules))
(snippet
`(begin
;; remove unnecessary files with potentially different license
(for-each delete-file-recursively
(scandir "."
(negate (cut member <> '("tegaki-recognize"
"." "..")))))
,(remove-pre-compiled-files "pyc")
#t))))
(arguments
(substitute-keyword-arguments (package-arguments python2-tegaki-tools)
((#:phases _)
`(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "tegaki-recognize")
#t))
;; 'setup.py' script does not support one of the Python build
;; system's default flags, "--single-version-externally-managed"
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "python" "setup.py" "install"
(string-append "--prefix=" (assoc-ref outputs "out"))
"--root=/")
#t))))))
(synopsis "Chinese and Japanese Handwriting Recognition (Main program)")
(license license:gpl2+))))
(define-public tegaki-zinnia-japanese
(package
(inherit python2-tegaki-wagomu)
(name "tegaki-zinnia-japanese")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"1nmg9acxhcqly9gwkyb9m0hpy76fll91ywk4b1q4xms0ajxip1h7"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests
#:phases
(modify-phases %standard-phases
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "Makefile"
(("/usr/local")
(assoc-ref outputs "out")))
#t)))))
;; override inherited inputs
(inputs '())
(native-inputs
(list python2-tegaki-tools))
(propagated-inputs '())
(native-search-paths
(list (search-path-specification
(variable "TEGAKI_MODEL_PATH")
(files '("share/tegaki/models")))))
(synopsis "Chinese and Japanese Handwriting Recognition (Model)")
(license license:lgpl2.1)))
(define-public tegaki-zinnia-japanese-light
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-zinnia-japanese-light")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"0x0fs29ylqzxd6xvg51h7rigpbisd7q8v11df425ib2j792yfyf8"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
(define-public tegaki-zinnia-japanese-kyoiku
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-zinnia-japanese-kyoiku")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"0am94bcpmbzplxdnwn9gk15sgaizvcfhmv13mk14jjvx3419cvvx"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
(define-public tegaki-zinnia-japanese-joyo
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-zinnia-japanese-joyo")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"1v0j40lzdyiz01ayws0b8r7fsdy2mr32658382kz4wyk883wzx2z"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
(define-public tegaki-zinnia-simplified-chinese
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-zinnia-simplified-chinese")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"18wq0jccv7lpnrfnzspyc110d6pj2v1i21xcx4fmgzz1lnln3fs5"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
(define-public tegaki-zinnia-simplified-chinese-light
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-zinnia-simplified-chinese-light")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"0v24yf0w0p03lb7fyx128a75mwzad166bigvlbrzqnad789qg1sr"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
(define-public tegaki-zinnia-traditional-chinese
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-zinnia-traditional-chinese")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"140nlp6hynrai2svs5670jjfw1za6ayflhyj2dl0bzsfgbk3447l"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
(define-public tegaki-zinnia-traditional-chinese-light
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-zinnia-traditional-chinese-light")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"1m6yk6a57vs9wg5y50qciwi1ahhmklp2mgsjysbj4mnyzv6yhcr2"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
(define-public tegaki-wagomu-japanese
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-wagomu-japanese")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"0flj5id8xwsn7csrrzqz9prdikswnwm2wms0as2vzdpxzph1az4k"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
(define-public tegaki-wagomu-japanese-kyoiku
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-wagomu-japanese-kyoiku")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"0v8crfh8rdf6ndp16g52s5jlrrlwh73xp38zjn5i9dlacx8kfqg1"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
(define-public tegaki-wagomu-japanese-joyo
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-wagomu-japanese-joyo")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"0wk8shpr963zp328g991qs6abpnacq4242003m687z2d6yp7nph2"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
(define-public tegaki-wagomu-simplified-chinese
(package
(inherit tegaki-zinnia-japanese)
(name "tegaki-wagomu-simplified-chinese")
(version "0.3")
(source
(origin
(method url-fetch)
(uri (tegaki-release-uri name version "zip"))
(sha256
(base32
"0wqprynigqxqxv128i1smh81gxvmjj056d9qpznxa3n9f5ymlbj6"))
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license license:lgpl2.1)))
;;; Upstream does not provide the source for tegaki-wagomu-traditional-chinese.
;;; Therefore, we use the source for tegaki-zinnia-traditional-chinese and
;;; patch the Makefile accordingly.
(define-public tegaki-wagomu-traditional-chinese
(package
(inherit tegaki-zinnia-traditional-chinese)
(name "tegaki-wagomu-traditional-chinese")
(arguments
(substitute-keyword-arguments
(package-arguments tegaki-zinnia-traditional-chinese)
((#:phases phases '%standard-phases)
`(modify-phases ,phases
(replace 'configure
(lambda args
(let ((configure (assq-ref ,phases 'configure)))
(apply configure args))
(substitute* "Makefile"
(("zinnia") "wagomu"))
#t))))))
(license license:lgpl2.1)))
(define-public link-grammar
(package
(name "link-grammar")

View file

@ -152,9 +152,6 @@ conversions for values passed between the two languages.")
(sha256
(base32 "0m3rz2pqfmyfagx0bhj2jlbr2h58j3wr3cyv1agxkhlnm1k0s3wj"))))))
(define-public python2-cffi
(package-with-python2 python-cffi))
(define-public python-cffi-documentation
(package
(name "python-cffi-documentation")

View file

@ -300,9 +300,6 @@ wrapper for accessing libusb-1.0.")
"PyUSB aims to be an easy to use Python module to access USB devices.")
(license license:bsd-3)))
(define-public python2-pyusb
(package-with-python2 python-pyusb))
(define-public python-capablerobot-usbhub
(package
(name "python-capablerobot-usbhub")
@ -624,6 +621,3 @@ HID-Class devices.")
(license:non-copyleft
"https://github.com/trezor/cython-hidapi/blob/master/LICENSE-orig.txt"
"You are free to use cython-hidapi code for any purpose.")))))
(define-public python2-hidapi
(package-with-python2 python-hidapi))

View file

@ -349,7 +349,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernels. That is, the most recently released major
;; versions that are still supported upstream.
(define-public linux-libre-5.17-version "5.17.9")
(define-public linux-libre-5.17-version "5.17.12")
(define-public linux-libre-5.17-gnu-revision "gnu")
(define deblob-scripts-5.17
(linux-libre-deblob-scripts
@ -359,7 +359,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1zd4ds6ha4a2acqnalp234r2m9rz9p30qmy1aqri78i06aw7flwn")))
(define-public linux-libre-5.17-pristine-source
(let ((version linux-libre-5.17-version)
(hash (base32 "0y2rmn86z3cvgv71b6sjjyafnlbanlib1kjpjjqzjbgg86y2890p")))
(hash (base32 "0yr8xfds5l1s3lk8qk67mgy0l4yh2jfvjc7xwrfws3ci020ss9a2")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.17)))
@ -367,7 +367,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
(define-public linux-libre-5.15-version "5.15.41")
(define-public linux-libre-5.15-version "5.15.44")
(define-public linux-libre-5.15-gnu-revision "gnu")
(define deblob-scripts-5.15
(linux-libre-deblob-scripts
@ -377,12 +377,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0gs92qbpvirwd02rpwwnja7771z2azbiy9ppy9ynpr14lxmzxnnh")))
(define-public linux-libre-5.15-pristine-source
(let ((version linux-libre-5.15-version)
(hash (base32 "07jrsr54rvhry3g401h58r1773zinq49dbrkb9v1p6q27gyb2z1w")))
(hash (base32 "1p1jz0lxmzyj0c51afqghylg9kblk8zmlw92zq6bsn37wlwbrylv")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.15)))
(define-public linux-libre-5.10-version "5.10.117")
(define-public linux-libre-5.10-version "5.10.119")
(define-public linux-libre-5.10-gnu-revision "gnu1")
(define deblob-scripts-5.10
(linux-libre-deblob-scripts
@ -392,12 +392,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1xyhz0dyrkg2avz382ly3dzpa5v89x49gfzx80c1drpwsk7jg6gp")))
(define-public linux-libre-5.10-pristine-source
(let ((version linux-libre-5.10-version)
(hash (base32 "1iyw3nmsga2binmrhfnzsf1pvn2bs21a8jw6vm89k26z5h8zfgkh")))
(hash (base32 "04952zaz2kfwf7agy4laz50f9sl3mrnpqlbwbj84q1xpl9akwd9y")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.10)))
(define-public linux-libre-5.4-version "5.4.195")
(define-public linux-libre-5.4-version "5.4.196")
(define-public linux-libre-5.4-gnu-revision "gnu1")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
@ -407,12 +407,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "05i286d98fm2pdf9724x1dsmfcm7gsd7yyyvxqlpisyj1kx14hda")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
(hash (base32 "078380qhds2jwfmrchna6p27wpfb74pvnj4xiyc5k38gysfmnbzj")))
(hash (base32 "1x5irgki792f21hm5146xary0260cl9r475kvw8vm9w32vyx18ig")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.244")
(define-public linux-libre-4.19-version "4.19.245")
(define-public linux-libre-4.19-gnu-revision "gnu1")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
@ -422,12 +422,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
(hash (base32 "1g9562v6ny196rw2n3kj43nrz65qa7imwnmfasvj6x8fm8bdhz79")))
(hash (base32 "1s58qci6xhmss12glzkqk41kp60pqmzh4d84kyz4m4nf4xhdvzcr")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.280")
(define-public linux-libre-4.14-version "4.14.281")
(define-public linux-libre-4.14-gnu-revision "gnu1")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
@ -437,12 +437,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1dnjgx1nmawm9gm0yf15nl80nmg7hy7q2vl3jxjbwj6hlrfv5dmx")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
(hash (base32 "01jr0f7mq919s7xxvv8sc1mg6isc1ggij33l2s0n6jvykm23ghrr")))
(hash (base32 "0pivb1m2cwqnlm8bhd4ccnlq9pwp2r5lmn77gp91k6vbjv3gkqis")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.315")
(define-public linux-libre-4.9-version "4.9.316")
(define-public linux-libre-4.9-gnu-revision "gnu1")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
@ -452,7 +452,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "14jyn2yrbm6ayp0bszs4f9jy3p1qkrj5p5gf5c42spr67aa2lv2v")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
(hash (base32 "1171p90s00jxg1clyz8kp81ilmdzygg131mxysr6lpkaisahkjg6")))
(hash (base32 "05yd7djm6dcxv3vaylhmj3p0yml421azv8qabmhv4ric1f99idjp")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
@ -1227,7 +1227,7 @@ and should be used with caution, especially on untested models.")
(define-public corefreq
(package
(name "corefreq")
(version "1.87.4")
(version "1.90.1")
(source
(origin
(method git-fetch)
@ -1236,7 +1236,7 @@ and should be used with caution, especially on untested models.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "01g1smhfzb02gmfjm8c7rchc79dan9jc9pv9c0f8f7fly2hy5zvs"))))
(base32 "1fpmrqjwxvjbs23r73agjs322fbi4v1013cncbfyk6lcjghxab76"))))
(build-system linux-module-build-system)
(outputs (list "out" "linux-module"))
(arguments

View file

@ -133,17 +133,4 @@ on just one button press.")
(home-page "https://github.com/tompreston/python-lirc")
(synopsis "Python bindings for LIRC")
(description "@code{lirc} is a Python module which provides LIRC bindings.")
(license license:gpl3)
(properties `((python2-variant . ,(delay python2-lirc)))))))
(define-public python2-lirc
(let ((base (package-with-python2 (strip-python2-variant python-lirc))))
(package/inherit base
(arguments
`(#:tests? #f ; the only tests that exist are human-interactive
#:phases
(modify-phases %standard-phases
(add-before 'build 'build-from-cython-files
(lambda _ (invoke "make" "py2"))))))
(native-inputs
`(("python2-cython" ,python2-cython))))))
(license license:gpl3))))

View file

@ -7,7 +7,7 @@
;;; Copyright © 2017 Roel Janssen <roel@gnu.org>
;;; Copyright © 20182022 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2021 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2018 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@ -216,7 +216,15 @@ given PATCHES. When TOOLS-EXTRA is given, it must point to the
;; Use a sane default include directory.
(string-append "-DC_INCLUDE_DIRS="
(assoc-ref %build-inputs "libc")
"/include"))
"/include")
,@(if (target-riscv64?)
(list "-DLIBOMP_LIBFLAGS=-latomic"
"-DCMAKE_SHARED_LINKER_FLAGS=-latomic")
`()))
,@(if (target-riscv64?)
`(#:make-flags '("LDFLAGS=-latomic"))
'())
;; Don't use '-g' during the build to save space.
#:build-type "Release"
@ -353,8 +361,11 @@ given PATCHES. When TOOLS-EXTRA is given, it must point to the
(mkdir-p lib-share)
;; Symlink the ignorelist to where Clang expects
;; to find it.
(symlink cfi-ignorelist
(string-append lib-share "/" file-name))))))
;; Not all architectures support CFI.
;; see: compiler-rt/cmake/config-ix.cmake
(when (file-exists? cfi-ignorelist)
(symlink cfi-ignorelist
(string-append lib-share "/" file-name)))))))
'())
(add-after 'install 'install-clean-up-/share/clang
(lambda* (#:key outputs #:allow-other-keys)

View file

@ -1144,55 +1144,8 @@ computing environments.")
(description
"Scikit-learn provides simple and efficient tools for data mining and
data analysis.")
(properties `((python2-variant . ,(delay python2-scikit-learn))))
(license license:bsd-3)))
;; scikit-learn 0.22 and later only supports Python 3, so we stick with
;; an older version here.
(define-public python2-scikit-learn
(let ((base (package-with-python2 (strip-python2-variant python-scikit-learn))))
(package
(inherit base)
(version "0.20.4")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/scikit-learn/scikit-learn")
(commit version)))
(file-name (git-file-name "python-scikit-learn" version))
(sha256
(base32
"08zbzi8yx5wdlxfx9jap61vg1malc9ajf576w7a0liv6jvvrxlpj"))))
(arguments
`(#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-after 'build 'build-ext
(lambda _ (invoke "python" "setup.py" "build_ext" "--inplace")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
;; Restrict OpenBLAS threads to prevent segfaults while testing!
(setenv "OPENBLAS_NUM_THREADS" "1")
;; Some tests require write access to $HOME.
(setenv "HOME" "/tmp")
(invoke "pytest" "sklearn" "-m" "not network"
"-k"
(string-append
;; This test tries to access the internet.
"not test_load_boston_alternative"
;; This test fails for unknown reasons
" and not test_rank_deficient_design"))))))))
(inputs
(list openblas))
(native-inputs
(list python2-pytest python2-pandas ;for tests
python2-cython))
(propagated-inputs
(list python2-numpy python2-scipy python2-joblib)))))
(define-public python-threadpoolctl
(package
(name "python-threadpoolctl")
@ -1389,9 +1342,6 @@ forward-mode differentiation, and the two can be composed arbitrarily. The
main intended application of Autograd is gradient-based optimization.")
(license license:expat))))
(define-public python2-autograd
(package-with-python2 python-autograd))
(define-public lightgbm
(package
(name "lightgbm")
@ -1478,38 +1428,6 @@ 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
`(#:tests? #f ; some test files are missing
#:python ,python-2)) ; only Python 2.7 is supported
(propagated-inputs
(list python2-numpy
python2-scipy
python2-matplotlib
python2-pandas
python2-scikit-learn
python2-pysnptools))
(native-inputs
(list unzip python2-cython python2-mock 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-hyperopt
(package
(name "python-hyperopt")

View file

@ -32,7 +32,7 @@
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Justus Winter <justus@sequoia-pgp.org>
;;; Copyright © 2020 Eric Brown <ecbrown@ericcbrown.com>
;;; Copyright © 2020, 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
;;; Copyright © 2020, 2021 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
@ -40,7 +40,6 @@
;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
;;; Copyright © 2020 divoplade <d@divoplade.fr>
;;; Copyright © 2021 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Benoit Joly <benoit@benoitj.ca>
;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
@ -556,7 +555,7 @@ aliasing facilities to work just as they would on normal mail.")
(define-public mutt
(package
(name "mutt")
(version "2.2.4")
(version "2.2.5")
(source (origin
(method url-fetch)
(uri (list
@ -566,7 +565,7 @@ aliasing facilities to work just as they would on normal mail.")
version ".tar.gz")))
(sha256
(base32
"0q70qrsjvmkfns1qxc0il2rlmfjwzbmfg89zlch0iqghpyz7c9xq"))
"0ivyfld4a4sfzsdiaajqiarvfx4i85g1smbb2b5dqjkrb48pi2zz"))
(patches (search-patches "mutt-store-references.patch"))))
(build-system gnu-build-system)
(inputs
@ -1483,9 +1482,6 @@ useful for email address completion.")
and search library.")
(license license:gpl3+)))
(define-public python2-notmuch
(package-with-python2 python-notmuch))
(define-public python-notmuch2
(package
(inherit python-notmuch)
@ -1551,31 +1547,33 @@ minimum information necessary to bring replicas up to date regardless of which
pairs have previously synchronized.")
(license license:gpl2+))) ; with OpenSSL libcrypto exception
(define-public getmail
(define-public getmail6
(package
(name "getmail")
(version "5.16")
(source
(origin
(method url-fetch)
(uri (string-append "https://pyropus.ca/software/getmail/old-versions/"
"getmail-" version ".tar.gz"))
(sha256
(base32 "1yk7lrndbfsrbdxikwzdqvadryqsldalxdn3a184dg4sxzmgis3a"))))
(name "getmail6")
(version "6.18.6")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/getmail6/getmail6")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"08a5yw6ll1kmd1ardj8rzhsw4wl48zzdc87g5lh4p5snv8w2m4ja"))))
(build-system python-build-system)
(arguments
(list #:tests? #f ; no tests
#:python python-2))
(home-page "https://pyropus.ca/software/getmail/")
(arguments (list #:tests? #f)) ;tests require docker
(home-page "https://github.com/getmail6/getmail6")
(synopsis "Mail retriever")
(description
"A flexible, extensible mail retrieval system with support for
POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs,
arbitrary message filtering, single-user and domain-mailboxes, and many other
useful features.")
"A flexible, extensible mail retrieval system with support for POP3,
IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, arbitrary
message filtering, single-user and domain-mailboxes, and many other useful
features. This is a fork derived from getmali 5.14, aimed at Python 3
compatibility.")
(license license:gpl2+))) ;see docs/COPYING
;; License is specified in file '__init__.py'.
(license license:gpl2)))
(define-public getmail
(deprecated-package "getmail" getmail6))
(define-public libetpan
(package
@ -3365,25 +3363,8 @@ filtering, digest delivery, and more.")
(description
"The mailmanclient library provides official Python bindings for
the GNU Mailman 3 REST API.")
(properties `((python2-variant . ,(delay python2-mailmanclient))))
(license license:lgpl3+)))
;; This is the last version which supports Python-2.
(define-public python2-mailmanclient
(let ((base (package-with-python2
(strip-python2-variant python-mailmanclient))))
(package
(inherit base)
(version "3.1.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mailmanclient" version))
(sha256
(base32
"0fdfs5g3pf30v2i7w18pdkv9xnfxmfcv66mzv56dck0a1igq07m3"))))
(propagated-inputs
(list python2-six python2-httplib2)))))
(define-public mlmmj
(package
@ -4365,7 +4346,7 @@ on RFC 3501 and original @code{imaplib} module.")
(define-public rspamd
(package
(name "rspamd")
(version "2.7")
(version "3.2")
(source
(origin
(method git-fetch)
@ -4373,11 +4354,12 @@ on RFC 3501 and original @code{imaplib} module.")
(url "https://github.com/rspamd/rspamd")
(commit version)))
(sha256
(base32 "0fw6nbfc3xqapzq5nydakwgpw6cz6vb3qby2aqlr06lzf87d3hic"))
(base32 "122d5m1nfxxz93bhsk8lm4dazvdknzphb0a1188m7bsa4iynbfv2"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
'(#:configure-flags '("-DENABLE_LUAJIT=ON")))
'(#:configure-flags '("-DENABLE_LUAJIT=ON"
"-DLOCAL_CONFDIR=/etc/rspamd")))
(inputs
(list openssl
glib
@ -4386,7 +4368,7 @@ on RFC 3501 and original @code{imaplib} module.")
sqlite
file
icu4c
pcre
pcre2
zlib
perl
libsodium))

View file

@ -5,7 +5,7 @@
;;; Copyright © 2014-2022 Eric Bavier <bavier@posteo.net>
;;; Copyright © 2014 Federico Beffa <beffa@fbengineering.ch>
;;; Copyright © 2014 Mathieu Lirzin <mathieu.lirzin@openmailbox.org>
;;; Copyright © 20152021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 20152022 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
@ -152,6 +152,7 @@
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages swig)
#:use-module (gnu packages tcl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages tex)
@ -1915,34 +1916,34 @@ with the provided training tools.")
(define-public nlopt
(package
(name "nlopt")
(version "2.4.2")
(version "2.7.1")
(source (origin
(method url-fetch)
(uri (string-append "http://ab-initio.mit.edu/nlopt/nlopt-"
version ".tar.gz"))
(method git-fetch)
(uri (git-reference
(url "https://github.com/stevengj/nlopt/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "12cfkkhcdf4zmb6h7y6qvvdvqjs2xf9sjpa3rl3bq76px4yn76c0"))))
(build-system gnu-build-system)
(base32 "1xpdza28i8w441fwv6a5f3qk4zi7ys6ws9fx6kr5ny27dfdz6rr1"))))
(build-system cmake-build-system)
(arguments
`(;; Shared libraries are not built by default. They are required to
;; build the Guile, Octave, and Python bindings.
#:configure-flags '("--enable-shared")
#:phases
`(#:phases
(modify-phases %standard-phases
(add-before 'configure 'set-libnlopt-file-name
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure the Scheme module refers to the library by its
;; absolute file name (we cannot do that from a snippet
;; because the expansion of @libdir@ contains
;; ${exec_prefix}.)
;; absolute file name.
(let ((out (assoc-ref outputs "out")))
(substitute* "swig/nlopt.scm.in"
(("libnlopt")
(string-append out "/lib/libnlopt")))
#t))))))
(inputs (list guile-2.0))
(native-inputs (list pkg-config))
(substitute* "src/swig/nlopt-guile.i"
(("\"nlopt_guile\"")
(format #f "~s"
`(format #f "~anlopt_guile"
(if (getenv "NLOPT_UNINSTALLED")
""
,(format #f "~a/lib/guile/3.0/extensions/" out))))))
(setenv "NLOPT_UNINSTALLED" "1")))))))
(inputs (list guile-3.0 octave python))
(native-inputs (list pkg-config swig))
(home-page "http://ab-initio.mit.edu/wiki/")
(synopsis "Library for nonlinear optimization")
(description "NLopt is a library for nonlinear optimization, providing a
@ -3335,9 +3336,6 @@ Cassowary solver with typical use cases gaining a 40x improvement. Memory
savings are consistently > 5x.")
(license license:bsd-3)))
(define-public python2-kiwisolver
(package-with-python2 python-kiwisolver))
(define-public slepc
(package
(name "slepc")
@ -5365,7 +5363,6 @@ in finite element programs.")
;; Disable it for now.
;;("octave" ,octave-cli)
("python" ,python-2) ; print syntax
;; ("python2-numpy" ,python2-numpy) ; only required for the tests
("zlib" ,zlib)))
(arguments
`(;; The 'share/flann/octave' contains a .mex file, which is an ELF file

View file

@ -45,6 +45,8 @@
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Thomas Albers Raviola <thomas@thomaslabs.org>
;;; Copyright © 2022 Sughosha <sughosha@disroot.org>
;;; Copyright © 2022 Remco van 't Veer <remco@remworks.net>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -153,6 +155,7 @@
#:use-module (gnu packages protobuf)
#:use-module (gnu packages pulseaudio) ;libsndfile
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-compression)
#:use-module (gnu packages python-web)
@ -1272,52 +1275,6 @@ standalone program which is able to download cover art, lyrics, photos,
biographies, reviews and more.")
(license license:lgpl3+)))
(define-public gtklick
(package
(name "gtklick")
(version "0.6.4")
(source (origin
(method url-fetch)
(uri (string-append "http://das.nasophon.de/download/gtklick-"
version ".tar.gz"))
(sha256
(base32
"0dq1km6njnzsqdqyf6wzir9g733z0mc9vmxfg2383k3c2a2di6bp"))))
(build-system python-build-system)
(arguments
`(#:tests? #f ; no tests
#:python ,python-2
#:phases
(modify-phases %standard-phases
(add-before 'build 'add-sitedirs
;; .pth files are not automatically interpreted unless the
;; directories containing them are added as "sites". The directories
;; are then added to those in the PYTHONPATH. This is required for
;; the operation of pygtk.
(lambda _
(substitute* "gtklick/gtklick.py"
(("import pygtk")
"import pygtk, site, sys
for path in [path for path in sys.path if 'site-packages' in path]: site.addsitedir(path)"))))
(add-after 'unpack 'inject-store-path-to-klick
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "gtklick/klick_backend.py"
(("KLICK_PATH = 'klick'")
(string-append "KLICK_PATH = '"
(assoc-ref inputs "klick")
"/bin/klick'")))
#t)))))
(inputs
(list klick python2-pyliblo python2-pygtk))
(native-inputs
`(("gettext" ,gettext-minimal)))
(home-page "http://das.nasophon.de/gtklick/")
(synopsis "Simple metronome with an easy-to-use graphical interface")
(description
"Gtklick is a simple metronome with an easy-to-use graphical user
interface. It is implemented as a frontend to @code{klick}.")
(license license:gpl2+)))
(define-public lingot
(package
(name "lingot")
@ -1750,20 +1707,20 @@ music theorist Paul Nauert's quantization grids or Q-Grids, for short.")
(define-public non-sequencer
;; The latest tagged release is three years old and uses a custom build
;; system, so we take the last commit.
(let ((commit "5ae43bb27c42387052a73e5ffc5d33efb9d946a9")
(revision "4"))
(let ((commit "257ec5951e7d4086344d98c99ebbe569f7c31211")
(revision "5"))
(package
(name "non-sequencer")
(version (string-append "1.9.5-" revision "." (string-take commit 7)))
(version (git-version "1.9.5" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "git://git.tuxfamily.org/gitroot/non/non.git")
(url "https://github.com/falkTX/non/")
(commit commit)))
(sha256
(base32
"1cljkkyi9dxqpqhx8y6l2ja4zjmlya26m26kqxml8gx08vyvddhx"))
(file-name (string-append name "-" version "-checkout"))))
"0h6ycm3nbb5lvjvhymz5xlj8wqm3z3ggzn4ghmw6xyzd0l7c3m8b"))
(file-name (git-file-name name version))))
(build-system waf-build-system)
(arguments
`(#:tests? #f ;no "check" target
@ -1774,11 +1731,16 @@ music theorist Paul Nauert's quantization grids or Q-Grids, for short.")
(%current-system))))
'("--disable-sse")
'()))
#:python ,python-2))
#:phases
(modify-phases %standard-phases
(add-before 'configure 'setup-waf
(lambda* (#:key inputs #:allow-other-keys)
(let ((waf (assoc-ref inputs "python-waf")))
(copy-file (string-append waf "/bin/waf") "waf")))))))
(inputs
(list jack-1 libsigc++-2 liblo ntk))
(native-inputs
(list pkg-config))
(list python-waf pkg-config))
(home-page "https://non.tuxfamily.org/wiki/Non%20Sequencer")
(synopsis "Pattern-based MIDI sequencer")
(description
@ -1789,6 +1751,31 @@ Sequencer happens on-line, in real-time. Music can be composed live, while the
transport is rolling.")
(license license:gpl2+))))
(define-public new-session-manager
(package
(name "new-session-manager")
(version "1.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jackaudio/new-session-manager")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0ihngqbnc50izfy6x7nhgaah00byk8nl6n5smxbyb8fkhm2s8p21"))))
(build-system meson-build-system)
(native-inputs (list pkg-config))
(inputs (list fltk jack-2 liblo libx11))
(home-page "https://new-session-manager.jackaudio.org/")
(synopsis "Music production session management tool")
(description "New Session Manager (NSM) is a tool to assist music
production by grouping standalone programs into sessions. It can be used
create a session, or project, and add programs to it and then use commands to
save, start/stop, hide/show all programs at once, or individually. The
session can be interrupted and easily resumed at a later time.")
(license license:gpl3+)))
(define-public non-session-manager
(package (inherit non-sequencer)
(name "non-session-manager")
@ -1800,14 +1787,15 @@ transport is rolling.")
(inputs
(list jack-1 liblo ntk))
(native-inputs
(list pkg-config))
(list python-waf pkg-config))
(home-page "https://non.tuxfamily.org/nsm/")
(synopsis "Audio session management")
(description
"The Non Session Manager is an API and an implementation for audio
session management. NSM clients use a well-specified OSC protocol to
communicate with the session management daemon.")
(license license:gpl2+)))
(license license:gpl2+)
(properties `((superseded . ,new-session-manager)))))
(define-public non-mixer
(package (inherit non-sequencer)
@ -1818,9 +1806,9 @@ communicate with the session management daemon.")
`(cons "--project=mixer"
(delete "--project=sequencer" ,flags)))))
(inputs
(list jack-1 liblo ladspa lrdf ntk))
(list jack-1 liblo ladspa lrdf ntk lv2 lilv))
(native-inputs
(list pkg-config))
(list python-waf pkg-config))
(home-page "https://non.tuxfamily.org/wiki/Non%20Mixer")
(synopsis "Modular digital audio mixer")
(description
@ -1842,7 +1830,7 @@ studio.")
(inputs
(list jack-1 liblo libsndfile ntk))
(native-inputs
(list pkg-config))
(list python-waf pkg-config))
(home-page "https://non.tuxfamily.org/wiki/Non%20Timeline")
(synopsis "Modular digital audio timeline arranger")
(description
@ -2020,72 +2008,85 @@ Key features include:
(define-public solfege
(package
(name "solfege")
(version "3.22.2")
(version "3.23.5pre2")
(source (origin
(method url-fetch)
(uri (string-append
"mirror://gnu/solfege/solfege-"
version ".tar.xz"))
(method git-fetch)
(uri (git-reference
(url "https://git.savannah.gnu.org/git/solfege.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"1w25rxdbj907nsx285k9nm480pvy12w3yknfh4n1dfv17cwy072i"))))
"1lmzp4kn0xh58yc8gzriz1i34g5qaa2xxrxzpmr7v9jyk19dqmcm"))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; xmllint attempts to download DTD
#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-configuration
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "default.config"
(("/usr/bin/aplay") "aplay")
(("/usr/bin/timidity") "timidity")
(("/usr/bin/mpg123") "mpg123")
(("/usr/bin/ogg123") "ogg123"))))
(add-before 'build 'patch-python-shebangs
(lambda _
;; Two python scripts begin with a Unicode BOM, so patch-shebang
;; has no effect.
(substitute* '("solfege/parsetree.py"
"solfege/presetup.py")
(("#!/usr/bin/python") (string-append "#!" (which "python"))))))
(add-before 'build 'add-sitedirs
;; .pth files are not automatically interpreted unless the
;; directories containing them are added as "sites". The directories
;; are then added to those in the PYTHONPATH. This is required for
;; the operation of pygtk and pygobject.
(lambda _
(substitute* "run-solfege.py"
(("import os")
"import os, site
for path in [path for path in sys.path if 'site-packages' in path]: site.addsitedir(path)"))
#t))
(add-before 'build 'adjust-config-file-prefix
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "run-solfege.py"
(("prefix = os.path.*$")
(string-append "prefix = " (assoc-ref outputs "out"))))
#t))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
;; Make sure 'solfege' runs with the correct PYTHONPATH.
(let* ((out (assoc-ref outputs "out"))
(path (getenv "GUIX_PYTHONPATH")))
(wrap-program (string-append out "/bin/solfege")
`("GUIX_PYTHONPATH" ":" prefix (,path))))
#t)))))
(list
#:tests? #f ;xmllint attempts to download DTD
#:test-target "test"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-version
(lambda _
(substitute* "autogen.sh"
(("python3 -c \"import tools.*create_versions_file.*")
(string-append "echo \"version_info = '"
#$version "' > solfege/_version.py\"\n")))
(substitute* "Makefile.in"
(("\\$\\(PYTHON) -c \"import tools.*create_versions_file.*")
"true\n"))
(substitute* "solfege/buildinfo.py.in"
(("from solfege._version import version_info")
"version_info = {'git_sha': 'N/A'}"))))
(add-after 'unpack 'fix-configuration
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "default.config"
(("/usr/bin/aplay") "aplay")
(("/usr/bin/timidity") "timidity")
(("/usr/bin/mpg123") "mpg123")
(("/usr/bin/ogg123") "ogg123"))))
(add-before 'build 'patch-python-shebangs
(lambda* (#:key inputs #:allow-other-keys)
;; Two python scripts begin with a Unicode BOM, so patch-shebang
;; has no effect.
(substitute* '("solfege/parsetree.py"
"solfege/presetup.py")
(("#!/usr/bin/python")
(string-append "#!" search-input-file inputs "bin/python")))))
(add-before 'build 'add-sitedirs
;; .pth files are not automatically interpreted unless the
;; directories containing them are added as "sites". The
;; directories are then added to those in the PYTHONPATH. This is
;; required for the operation of pygtk and pygobject.
(lambda _
(substitute* "run-solfege.py"
(("import os")
"import os, site
for path in [path for path in sys.path if 'site-packages' in path]: site.addsitedir(path)"))))
(add-before 'build 'adjust-config-file-prefix
(lambda _
(substitute* "run-solfege.py"
(("prefix = os.path.*$")
(string-append "prefix = " #$output)))))
(add-after 'install 'wrap-program
(lambda* (#:key outputs #:allow-other-keys)
;; Make sure 'solfege' runs with the correct PYTHONPATH.
(let ((path (getenv "GUIX_PYTHONPATH")))
(wrap-program (search-input-file outputs "bin/solfege")
`("GUIX_PYTHONPATH" ":" prefix (,path)))))))))
(inputs
`(("python" ,python-2)
("pygtk" ,python2-pygtk)
("gettext" ,gettext-minimal)
("gtk" ,gtk+)
("lilypond" ,lilypond)))
(list python-wrapper
python-pygobject
gettext-minimal
gtk+
lilypond))
(native-inputs
(list pkg-config
(list autoconf
automake
pkg-config
txt2man
libxml2 ; for tests
libxml2 ; for tests
ghostscript
texinfo-5))
texinfo))
(home-page "https://www.gnu.org/software/solfege/")
(synopsis "Ear training")
(description
@ -2294,7 +2295,7 @@ perform creative live mixes with digital music files.")
(list jack-1
lv2
alsa-lib
non-session-manager
new-session-manager
liblo
qtbase-5))
(native-inputs
@ -2326,7 +2327,7 @@ oscillators and stereo effects.")
lv2
libsndfile
alsa-lib
non-session-manager
new-session-manager
liblo
qtbase-5))
(native-inputs
@ -2358,7 +2359,7 @@ effects.")
lv2
libsndfile
alsa-lib
non-session-manager
new-session-manager
liblo
qtbase-5))
(native-inputs
@ -2389,7 +2390,7 @@ effects.")
(list jack-1
lv2
alsa-lib
non-session-manager
new-session-manager
liblo
fftwf
qtbase-5))
@ -2506,48 +2507,6 @@ modification devices that brought world-wide fame to the names and products of
Laurens Hammond and Don Leslie.")
(license license:gpl2+)))
(define-public beast
(package
(name "beast")
(version "0.10.0")
(source (origin
(method url-fetch)
(uri (string-append "https://testbit.eu/pub/dists/beast/beast-"
version ".tar.xz"))
(sha256
(base32
"1jzzmfwssklzw8fvvil04n8csc0zm99fnd9p2xa7c0xchg37lvhn"))))
(build-system gnu-build-system)
(arguments
'(#:parallel-build? #f)) ; Race conditions cause build failures
(inputs
`(("rapicorn" ,rapicorn)
("guile" ,guile-1.8)
("python" ,python-2)
("libgnomecanvas" ,libgnomecanvas)
("libogg" ,libogg)
("libmad" ,libmad)
("flac" ,flac)
("alsa-lib" ,alsa-lib)
("libvorbis" ,libvorbis)
("gettext" ,gettext-minimal)))
(native-inputs
`(("pkg-config" ,pkg-config)
("glib:bin" ,glib "bin")
("cython" ,python2-cython)
("perl" ,perl)
("perl-xml-parser" ,perl-xml-parser)))
(home-page "https://testbit.eu/wiki/Beast_Home")
(synopsis "Music composition and modular synthesis environment")
(description
"Beast is a music composition and modular synthesis application. It
supports a wide range of standards in the field, such as MIDI, various audio
file formats and LADSPA modules. It allows for multitrack editing, real-time
synthesis, 32bit audio rendering, precise timing down to sample granularity,
on-demand and partial loading of wave files, on the fly decoding, stereo
mixing, FFT scopes, MIDI automation and full scriptability in Scheme.")
(license license:gpl3+)))
(define-public bristol
(package
(name "bristol")
@ -3442,11 +3401,11 @@ analogue-like user interface.")
(define-public mod-host
;; The last release was in 2014 but since then hundreds of commits have
;; been made.
(let ((commit "1726ad06b11323da7e1aaed690ff8aef91f702b5")
(revision "3"))
(let ((commit "cdd30ddbd2cc916be8a0364275071c3d8335b3a7")
(revision "4"))
(package
(name "mod-host")
(version (string-append "0.10.6-" revision "." (string-take commit 9)))
(version (git-version "0.10.6" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
@ -3454,34 +3413,33 @@ analogue-like user interface.")
(commit commit)))
(sha256
(base32
"1nrd37c35w6z6ldczgrwmmd9hx1n3zyvcjcgb3mi4cygqdanvspv"))
(file-name (string-append name "-" version "-checkout"))))
"1xnflvcyj071gn9nhv5dynd0v85nq99sz1wn3adlj43l5m4fbx3a"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:tests? #f ; no tests included
#:make-flags
(list (string-append "PREFIX=" (assoc-ref %outputs "out"))
"CC=gcc")
#:phases
(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'fix-jack-installation-directory
(lambda _
;; Do not attempt to install files to output of "jack" package.
(substitute* "Makefile"
(("\\$\\(shell pkg-config --variable=libdir jack\\)")
"lib"))
#t)))))
(list
#:tests? #f ; no tests included
#:make-flags
#~(list (string-append "PREFIX=" #$output) "CC=gcc")
#:phases
#~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'fix-jack-installation-directory
(lambda _
;; Do not attempt to install files to output of "jack" package.
(substitute* "Makefile"
(("\\$\\(shell pkg-config --variable=libdir jack\\)")
"lib")))))))
(inputs
(list lilv
fftw
fftwf
lv2
jack-1
jack-2
readline))
(native-inputs
`(("pkg-config" ,pkg-config)
("python" ,python-2)))
(list pkg-config
python-wrapper))
(home-page "https://github.com/moddevices/mod-host")
(synopsis "LV2 host for Jack controllable via socket or command line")
(description "mod-host is an LV2 plugin host for JACK, controllable via
@ -3672,9 +3630,6 @@ MusicBrainz database.")
;; 'musicbrainzngs/compat.py' is ISC licensed.
(license (list license:bsd-2 license:isc))))
(define-public python2-musicbrainzngs
(package-with-python2 python-musicbrainzngs))
(define-public python-isrcsubmit
(package
(name "python-isrcsubmit")
@ -3696,39 +3651,6 @@ Standard Recording Code} (ISRCs) from audio CDs and submit them to
@url{https://musicbrainz.org/, MusicBrainz}.")
(license license:gpl3+)))
(define-public python2-pyechonest
(package
(name "python2-pyechonest")
(version "9.0.0")
(source (origin
(method url-fetch)
(uri (pypi-uri "pyechonest" version))
(sha256
(base32
"1584nira3rkiman9dm81kdshihmkj21s8navndz2l8spnjwb790x"))))
(build-system python-build-system)
(arguments
`(;; Python 3 is not supported:
;; https://github.com/echonest/pyechonest/issues/42
#:python ,python-2))
(home-page "https://github.com/echonest/pyechonest")
(synopsis "Python interface to The Echo Nest APIs")
(description "Pyechonest is a Python library for the Echo Nest API. With
Pyechonest you have Python access to the entire set of API methods including:
@enumerate
@item artist - search for artists by name, description, or attribute, and get
back detailed information about any artist including audio, similar artists,
blogs, familiarity, hotttnesss, news, reviews, urls and video.
@item song - search songs by artist, title, description, or attribute (tempo,
duration, etc) and get detailed information back about each song, such as
hotttnesss, audio_summary, or tracks.
@item track - upload a track to the Echo Nest and receive summary information
about the track including key, duration, mode, tempo, time signature along with
detailed track info including timbre, pitch, rhythm and loudness information.
@end enumerate\n")
(license license:bsd-3)))
(define-public python-pylast
(package
(name "python-pylast")
@ -4475,91 +4397,6 @@ filters, crossovers, simple gain plugins without zipper noise, switch box
plugins, a switch trigger, a toggle switch, and a peakmeter.")
(license license:gpl2+))))
(define-public ingen
(let ((commit "cc4a4db33f4d126a07a4a498e053c5fb9a883be3")
(revision "2"))
(package
(name "ingen")
(version (string-append "0.0.0-" revision "."
(string-take commit 9)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.drobilla.net/ingen.git")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1wg47vjw9djn99gbnsl2bcwj4xhdid61m4wrbn2nlp797flj91ic"))))
(build-system waf-build-system)
(arguments
`(#:python ,python-2
#:tests? #f ; no "check" target
#:configure-flags (list "--no-webkit")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-wscript
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(substitute* "wscript"
;; FIXME: Our version of lv2specgen.py does not behave as
;; expected. Maybe this requires a development version of
;; LV2.
(("lv2specgen.py") "touch ingen.lv2/ingen.html; echo")
;; Add libraries to RUNPATH.
(("^(.+)target.*= 'src/ingen/ingen'," line prefix)
(string-append prefix
"linkflags=[\"-Wl,-rpath="
out "/lib" "\"]," line)))
(substitute* '("src/wscript"
"src/server/wscript")
;; Add libraries to RUNPATH.
(("bld.env.PTHREAD_LINKFLAGS" line)
(string-append line
" + [\"-Wl,-rpath=" out "/lib" "\"]")))
(substitute* "src/client/wscript"
;; Add libraries to RUNPATH.
(("^(.+)target.*= 'ingen_client'," line prefix)
(string-append prefix
"linkflags=[\"-Wl,-rpath="
out "/lib" "\"]," line)))
(substitute* "src/gui/wscript"
;; Add libraries to RUNPATH.
(("^(.+)target.* = 'ingen_gui.*" line prefix)
(string-append prefix
"linkflags=[\"-Wl,-rpath="
out "/lib" "\"]," line))))
#t)))))
(inputs
(list boost
python-rdflib
python
jack-1
lv2
lilv
raul-devel
ganv
suil
serd
sord
sratom
gtkmm-2))
(native-inputs
(list pkg-config python-pygments))
(home-page "https://drobilla.net/software/ingen")
(synopsis "Modular audio processing system")
(description "Ingen is a modular audio processing system for JACK and
LV2 based systems. Ingen is built around LV2 technology and a strict
separation of engine from user interface. The engine is controlled
exclusively through a protocol, and can execute as a headless process, with an
in-process GUI, or as an LV2 plugin. The GUI can run as a program which
communicates over a Unix or TCP/IP socket, or as an embeddable LV2 GUI which
communicates via LV2 ports. Any saved Ingen graph can be loaded as an LV2
plugin on any system where Ingen is installed. This allows users to visually
develop custom plugins for use in other applications without programming.")
(license license:agpl3+))))
(define-public qmidiarp
(package
(name "qmidiarp")
@ -5669,45 +5506,6 @@ with error and volume history, and advanced features.")
;; are under LGPL2.1.
(license (list license:gpl2+ license:lgpl2.1))))
(define-public mloop
(let ((commit "adebff98b0b4dc5872a03acb82e89c77cb29c127")
(revision "0"))
(package
(name "mloop")
(version (git-version "0.0.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "http://git.fuzzle.org/mloop")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"175gxvg5slq0bllcx1c381rjlq3xpxww8c3kpiw5i2kfr4m52myz"))))
(build-system waf-build-system)
(arguments
`(#:python ,python-2
#:tests? #f)) ; no "check" target
(inputs
(list jack-1 ncurses))
(native-inputs
(list pkg-config))
(home-page "https://fuzzle.org/~petern/mloop.html")
(synopsis "Live MIDI looper")
(description "mloop is a live MIDI looping system, using jack-midi.
Loops are recorded, optionally with beat quantization, and can then be played
back, either once or looping. A 'note cache' system is implemented to
remember which notes are pressed and their velocities. This allows for a loop
to start off with the currently pressed notes, making seamless loops much
easier to perform. Features include:
@itemize
@item Quantisation; end a loop on a beat exactly.
@item Delayed recording; wait for a MIDI event before starting a loop record.
@item Adjust tempo; Playback speed of loops can be adjusted on the fly.
@end itemize\n")
(license license:gpl2))))
(define-public pragha
(package
(name "pragha")
@ -6878,3 +6676,87 @@ choice.")
streaming audio server.")
(home-page "https://musikcube.com/")
(license license:bsd-3)))
(define-public quodlibet
(package
(name "quodlibet")
(version "4.5.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/quodlibet/quodlibet")
(commit (string-append "release-" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1i5k93k3bfp7hpcwkbr865mbj9jam3jv2a5k1bazcyp4f5vdrb0v"))))
(build-system python-build-system)
(arguments
(list
#:modules '((guix build python-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
(guix build utils))
#:imported-modules `((guix build python-build-system)
,@%glib-or-gtk-build-system-modules)
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" (getcwd))))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(if tests?
(invoke "xvfb-run" "pytest"
;; needs network
"--ignore=tests/test_browsers_iradio.py"
;; broken upstream
"--disable-warnings"
"--ignore=tests/quality")
(format #t "test suite not run~%"))))
(add-after 'install 'glib-or-gtk-wrap ; ensure icons loaded
(assoc-ref glib-or-gtk:%standard-phases 'glib-or-gtk-wrap))
(add-after 'install 'wrap-extra-paths
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out"))
(gi-typelib-path (getenv "GI_TYPELIB_PATH"))
(gst-plugins-path (getenv "GST_PLUGIN_SYSTEM_PATH")))
(for-each
(lambda (prog)
(wrap-program (string-append out "/bin/" prog)
`("GI_TYPELIB_PATH" ":" = (,gi-typelib-path))
`("GST_PLUGIN_SYSTEM_PATH" ":" suffix (,gst-plugins-path))))
'("exfalso" "quodlibet"))))))))
(native-inputs (list xvfb-run gettext-minimal))
(inputs
(list adwaita-icon-theme
bash-minimal
glib
gsettings-desktop-schemas
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gstreamer
gtk+
hicolor-icon-theme
librsvg
libsoup-minimal-2
python
python-cheetah
python-dbus
python-feedparser
python-gst
python-iniconfig
python-mutagen
python-pycairo
python-pygobject
python-pytest
python-sgmllib3k
python-toml))
(home-page "https://github.com/quodlibet/quodlibet")
(synopsis "Music manager and player")
(description "Quod Libet provides several ways to browse and view your
local music library, along with flexible search capabilities. It includes
a tag editor, which can also be invoked as a standalone program, and further
supports streaming audio and feeds (such as podcasts).")
(license license:gpl2+)))

View file

@ -48,6 +48,7 @@
;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2022 Simon South <simon@simonsouth.net>
;;; Copyright © 2022 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -1655,7 +1656,7 @@ round-robin fashion.")
(propagated-inputs
(list openssh)) ; used by gandi/cli/modules/iass.py
(inputs
(list openssl python-click python-ipy python-pyyaml python-requests))
(list openssl python-click-7 python-ipy python-pyyaml python-requests))
(home-page "https://cli.gandi.net")
(synopsis "Command-line interface to the Gandi.net Web API")
(description
@ -2621,9 +2622,6 @@ handling for most notations in use for IPv4 and IPv6 addresses and
networks.")
(license license:bsd-3)))
(define-public python2-ipy
(package-with-python2 python-ipy))
(define-public speedtest-cli
(package
(name "speedtest-cli")

View file

@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015, 2016, 2017, 2018, 2019, 2021 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016-2019, 2021, 2022 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020, 2021 Marius Bakke <marius@gnu.org>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
@ -144,6 +144,11 @@ in the Mozilla clients.")
(list "-C" "nss" (string-append "PREFIX=" out)
"NSDISTMODE=copy"
"NSS_USE_SYSTEM_SQLITE=1"
;; The gtests fail to compile on riscv64.
;; Skipping them doesn't affect the test suite.
,@(if (target-riscv64?)
`("NSS_DISABLE_GTESTS=1")
'())
(string-append "NSPR_INCLUDE_DIR=" nspr "/include/nspr")
;; Add $out/lib/nss to RPATH.
(string-append "RPATH=" rpath)
@ -153,6 +158,9 @@ in the Mozilla clients.")
(ice-9 ftw)
(ice-9 match)
(srfi srfi-26))
#:tests? ,(not (or (%current-target-system)
;; Tests take more than 30 hours on riscv64-linux.
(target-riscv64?)))
#:phases
(modify-phases %standard-phases
(replace 'configure

View file

@ -3,6 +3,7 @@
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -20,60 +21,141 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages nutrition)
#:use-module (guix download)
#:use-module (guix packages)
#:use-module (guix licenses)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix build-system python)
#:use-module (gnu packages)
#:use-module (gnu packages check)
#:use-module (gnu packages databases)
#:use-module (gnu packages gtk)
#:use-module (gnu packages enchant)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages image)
#:use-module (gnu packages python)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages time)
#:use-module (gnu packages xorg)
#:use-module (gnu packages xml))
(define-public gourmet
(define-public python-scrape-schema-recipe
(package
(name "gourmet")
(version "0.17.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thinkle/gourmet")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"09a2zk140l4babwdj8pwcgl9v7rvwff9cn7h3ppfhm3yvsgkrx07"))))
(name "python-scrape-schema-recipe")
(version "0.2.0")
;; The PyPI archive lacks a VERSION file as well as the test suite.
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/micahcochran/scrape-schema-recipe")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"044c6qwhb4c710ksgiw29cd0qcp84h1m4y8yr2g4c8vdlm3kkqh5"))))
(build-system python-build-system)
(native-inputs
`(("distutils-extra" ,python2-distutils-extra)
("intltool" ,intltool)
("python-pygtk" ,python2-pygtk))) ;for tests
;; TODO: Add python-reportlab and/or python-poppler for printing/pdf
;; export, and python-beautifulsoup for web import plugin.
(inputs
`(("pygtk" ,python2-pygtk)
("sqlalchemy" ,python2-sqlalchemy)
("python-lxml" ,python2-lxml)
("python-pillow" ,python2-pillow)
("elib.intl" ,python2-elib.intl)))
(arguments
`(#:python ,python-2 ;exception and print syntax
#:tests? #f ;tests look bitrotted
#:phases
(modify-phases %standard-phases
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(invoke "python" "setup.py" "install" "--prefix"
(assoc-ref outputs "out")))))))
(home-page "https://thinkle.github.io/gourmet/")
(synopsis "Recipe organizer")
(description
"Gourmet Recipe Manager is a recipe organizer that allows you to collect,
(list
#:phases
#~(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(substitute* "test_scrape.py"
(("DISABLE_NETWORK_TESTS = False")
"DISABLE_NETWORK_TESTS = True"))
(invoke "pytest" "-vv")))))))
(native-inputs (list python-pytest))
(propagated-inputs
(list python-extruct
python-importlib-resources
python-isodate
python-requests))
(home-page "https://github.com/micahcochran/scrape-schema-recipe")
(synopsis "HTML Recipe format extractor")
(description "This tool extracts cooking recipe from HTML structured data
in the @url{https://schema.org/Recipe} format.")
(license asl2.0)))
(define-public gourmet
;; Use the latest commit to gain Python 3 support.
(let ((revision "0")
(commit "8af29c8ded24528030e5ae2ea3461f61c1e5a575"))
(package
(name "gourmet")
(version (git-version "0.17.4" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/thinkle/gourmet")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"08fbw6zp32ws6w9czwy2sqc9c9izlkglsskshj2114d0l79z4gj8"))
(patches (search-patches "gourmet-sqlalchemy-compat.patch"))))
(build-system python-build-system)
(arguments
(list
#:modules `((guix build utils)
(guix build python-build-system)
(ice-9 ftw)
(srfi srfi-26))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'prepare-x
;; Both the tests and the sanity-check phase need an X server to
;; succeed.
(lambda _
(system "Xvfb &")
(setenv "DISPLAY" ":0")))
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(setenv "HOME" "/tmp") ;needed by tests
(apply invoke "pytest" "-vv"
;; XXX: This is needed because some tests in deeper
;; directories or otherwise discovered by Pytest are
;; broken.
(map (cut string-append "gourmet/tests/" <>)
(scandir "gourmet/tests"
(cut string-prefix? "test_" <>)))))))
(add-after 'install 'install-dekstop-file-and-icons
(lambda _
(define share (string-append #$output "/share"))
(install-file ".flatpak/io.github.thinkle.Gourmet.desktop"
(string-append share "/applications"))
(install-file ".flatpak/io.github.thinkle.Gourmet.svg"
(string-append share "/icons/Gourmet")))))))
(native-inputs
(list python-dogtail
python-pytest
python-selenium
xorg-server-for-tests))
(inputs
(list gtk+
python-argcomplete
python-beautifulsoup4
python-gst
python-keyring
python-lxml
python-pillow
python-pycairo
python-pyenchant
python-pygobject
python-requests
python-scrape-schema-recipe
python-sqlalchemy))
(home-page "https://thinkle.github.io/gourmet/")
(synopsis "Recipe organizer")
(description
"Gourmet Recipe Manager is a recipe organizer that allows you to collect,
search, organize, and browse your recipes. Gourmet can also generate shopping
lists and calculate nutritional information. It imports Mealmaster,
MasterCook and KRecipe files and exports PDFs, webpages, and other formats.")
(license gpl2+)))
(license gpl2+))))

View file

@ -24,6 +24,7 @@
;;; Copyright © 2021 Ivan Gankevich <i.gankevich@spbu.ru>
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -663,21 +664,20 @@ underlying solvers like Cplex, Gurobi, Lpsolver, Glpk, CbC, SCIP or WBO.")
"ocaml-dose3-Install-mli-cmx-etc.patch"))))
(build-system ocaml-build-system)
(arguments
`(#:configure-flags
`(#:tests? #f ;the test suite requires python 2
#:configure-flags
,#~(list (string-append "SHELL="
#+(file-append (canonical-package bash-minimal)
"/bin/sh")))
#:make-flags
,#~(list (string-append "LIBDIR=" #$output "/lib/ocaml/site-lib"))))
(propagated-inputs
(list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
(list ocaml-graph ocaml-cudf ocaml-extlib ocaml-re))
(native-inputs
`(("perl" ,perl)
("python" ,python-2) ; for a test script
("python2-pyyaml" ,python2-pyyaml) ; for a test script
("ocaml-extlib" ,ocaml-extlib)
("ocamlbuild" ,ocamlbuild)
("ocaml-cppo" ,ocaml-cppo)))
(list perl
ocaml-extlib
ocamlbuild
ocaml-cppo))
(home-page "https://www.mancoosi.org/software/")
(synopsis "Package distribution management framework")
(description "Dose3 is a framework made of several OCaml libraries for

View file

@ -240,21 +240,4 @@ that allows us to create any hand-written recognition systems with low-cost.")
license:x11 ; 'install-sh'
license:public-domain))))) ; 'install-sh'
;;; python 2 bindings, license under the same terms as zinnia
(define-public python2-zinnia
(package
(inherit zinnia)
(name "python2-zinnia")
(build-system python-build-system)
(arguments
`(#:python ,python-2 ; CObject API is used, it was removed in Python 3.2
#:tests? #f ; avoid circular dependency on tegaki-zinnia-japanese
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "zinnia/python")
#t)))))
(inputs
(list zinnia))))

View file

@ -2,6 +2,7 @@
;;; Copyright © 2014 Julien Lepiller <julien@lepiller.eu>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017 Nikita <nikita@n0.is>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,6 +25,9 @@
#:use-module (guix download)
#:use-module (guix utils)
#:use-module (guix build-system gnu)
#:use-module (guix gexp)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages freedesktop)
#:use-module (gnu packages gettext)
#:use-module (gnu packages gnome)
@ -46,10 +50,18 @@
version ".tar.xz"))
(sha256
(base32
"0vg2y1qddsdxkjv806mzpvmkgzliab8ll4s7zm7ma5jnriamirxb"))))
"0vg2y1qddsdxkjv806mzpvmkgzliab8ll4s7zm7ma5jnriamirxb"))
(patches (search-patches "openbox-python3.patch"))))
(build-system gnu-build-system)
(native-inputs (list pkg-config))
(propagated-inputs (list python2-pyxdg))
(arguments
(list #:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'force-reconfigure
;; This is made necessary by the openbox-python3 patch.
(lambda _
(delete-file "configure"))))))
(native-inputs (list autoconf automake gettext-minimal libtool pkg-config))
(propagated-inputs (list python-pyxdg))
(inputs (list imlib2
libxml2
(librsvg-for-system)
@ -60,7 +72,7 @@
libxrandr
libxft
pango
python-2))
python-wrapper))
(synopsis "Box style window manager")
(description
"Openbox is a highly configurable, next generation window manager with

View file

@ -34,6 +34,7 @@
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2020 Hartmut Goebel <h.goebel@crazy-compilers.com>
;;; Copyright © 2021 David Dashyan <mail@davie.li>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -952,13 +953,13 @@ between hosts and entries in the password store.")
(native-inputs
(list perl))
(inputs
`(("gmp" ,gmp)
("libpcap" ,libpcap)
("nss" ,nss)
("openssl" ,openssl)
("python" ,python-2) ; For "python" and "python2" shebangs
("ruby" ,ruby) ; For genincstats.rb
("zlib" ,zlib)))
(list gmp
libpcap
nss
openssl
python-wrapper
ruby ; For genincstats.rb
zlib))
(arguments
`(#:configure-flags
(list "--with-systemwide"
@ -1019,8 +1020,7 @@ between hosts and entries in the password store.")
(find-files "." "(.*\\.chr|.*\\.lst)")
(find-files "." ".*\\.conf")))
(copy-recursively "rules" (string-append datadir "/rules")))
(copy-recursively "../doc" docdir)
#t)))
(copy-recursively "../doc" docdir))))
(delete 'check) ; Tests need installed .conf files; move after install
(add-after 'install 'check
(lambda args
@ -1036,33 +1036,6 @@ of the box are Windows LM hashes, plus lots of other hashes and ciphers. This
is the community-enhanced, \"jumbo\" version of John the Ripper.")
(license license:gpl2+))))
(define-public sala
(package
(name "sala")
(version "1.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sala" version))
(sha256
(base32
"13qgmc3i2a0cqp8jqrfl93lnphfagb32pgfikc1gza2a14asxzi8"))))
(build-system python-build-system)
(arguments
;; Sala is supposed to work with Python 3.2 or higher,
;; but it doesn't work with Python 3.6. Better stick
;; to Python 2, which works fine.
`(#:python ,python-2))
(propagated-inputs
(list gnupg pwgen))
(home-page "http://www.digip.org/sala/")
(synopsis "Encrypted plaintext password store")
(description
"Store passwords and other bits of sensitive plain-text information
to encrypted files on a directory hierarchy. The information is protected
by GnuPG's symmetrical encryption.")
(license license:expat)))
(define-public fpm2
(package
(name "fpm2")

View file

@ -1,56 +0,0 @@
This patch sets a fixed version to avoid needing Git and the .git/ folder.
It also removes the creation of "/var/lib/4store", which is not available
during the install phase in GNU Guix.
Patch by Roel Janssen <roel@gnu.org>
*** a/configure.ac Wed Feb 4 19:05:24 2015
--- b/configure.ac Wed Mar 23 11:20:38 2016
***************
*** 2,13 ****
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.50])
! AC_INIT([4store], m4_esyscmd([./version.sh .version]), [http://4store.org/support/], [4store])
AC_CONFIG_SRCDIR([src/backend/backend-intl.h])
! AM_INIT_AUTOMAKE([1.7 std-options -Wall])
AC_CONFIG_HEADERS(4store-config.h)
# Checks for programs.
AC_PROG_LIBTOOL
AC_PROG_AWK
AC_PROG_CC
--- 2,14 ----
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.50])
! AC_INIT([4store], [1.1.6], [http://4store.org/support/], [4store])
AC_CONFIG_SRCDIR([src/backend/backend-intl.h])
! AM_INIT_AUTOMAKE([1.7 std-options foreign -Wall])
AC_CONFIG_HEADERS(4store-config.h)
# Checks for programs.
+ AM_PROG_AR
AC_PROG_LIBTOOL
AC_PROG_AWK
AC_PROG_CC
*** a/src/utilities/Makefile.am Wed Feb 4 19:05:24 2015
--- b/src/utilities/Makefile.am Wed Mar 23 14:05:56 2016
***************
*** 13,20 ****
noinst_PROGRAMS = lex-file-verify 4s-rid
install-data-local:
! mkdir -p $(DESTDIR)@FS_STORE_ROOT@
! chmod 1777 $(DESTDIR)@FS_STORE_ROOT@
4s_backend_destroy_SOURCES = backend-destroy.c
4s_backend_destroy_LDADD = ../common/lib4sintl.a
--- 13,19 ----
noinst_PROGRAMS = lex-file-verify 4s-rid
install-data-local:
! echo "Please create the following directory: " $(DESTDIR)@FS_STORE_ROOT@
4s_backend_destroy_SOURCES = backend-destroy.c
4s_backend_destroy_LDADD = ../common/lib4sintl.a

View file

@ -1,16 +0,0 @@
This patch removes the _XOPEN_SOURCE preprocessor directive as it does not seem to be needed.
Setting it removes the definition of strdup, which is used in filter-datatypes.c.
Patch by Roel Janssen <roel@gnu.org>
*** a/src/frontend/filter-datatypes.c 1970-01-01 01:00:00.000000000 +0100
--- b/src/frontend/filter-datatypes.c 2018-04-03 17:39:23.177905592 +0200
***************
*** 18,24 ****
* Copyright (C) 2006 Steve Harris for Garlik
*/
- #define _XOPEN_SOURCE
#include <stdlib.h>
#include <string.h>
#include <math.h>
--- 18,23 ----

View file

@ -0,0 +1,338 @@
This patch combines https://code.launchpad.net/~jelmer/brz/enable-gio/+merge/419150
and https://bazaar.launchpad.net/~jelmer/brz/fix-gio/revision/7570.
=== modified file 'breezy/transport/gio_transport.py'
--- a/breezy/transport/gio_transport.py 2022-04-09 12:17:41 +0000
+++ b/breezy/transport/gio_transport.py 2022-04-09 12:33:51 +0000
@@ -52,11 +52,7 @@
from ..tests.test_server import TestServer
try:
- import glib
-except ImportError as e:
- raise errors.DependencyNotPresent('glib', e)
-try:
- import gio
+ from gi.repository import Gio as gio
except ImportError as e:
raise errors.DependencyNotPresent('gio', e)
@@ -57,6 +57,9 @@
raise errors.DependencyNotPresent('gio', e)
+from gi.repository.GLib import GError
+
+
class GioLocalURLServer(TestServer):
"""A pretend server for local transports, using file:// urls.
@@ -81,7 +84,7 @@
def __init__(self, transport, relpath):
FileStream.__init__(self, transport, relpath)
self.gio_file = transport._get_GIO(relpath)
- self.stream = self.gio_file.create()
+ self.stream = self.gio_file.create(0, None)
def _close(self):
self.stream.close()
@@ -90,7 +93,7 @@
try:
# Using pump_string_file seems to make things crash
osutils.pumpfile(BytesIO(bytes), self.stream)
- except gio.Error as e:
+ except GError as e:
# self.transport._translate_gio_error(e,self.relpath)
raise errors.BzrError(str(e))
@@ -98,12 +101,12 @@
class GioStatResult(object):
def __init__(self, f):
- info = f.query_info('standard::size,standard::type')
+ info = f.query_info('standard::size,standard::type', 0, None)
self.st_size = info.get_size()
type = info.get_file_type()
- if (type == gio.FILE_TYPE_REGULAR):
+ if type == gio.FileType.REGULAR:
self.st_mode = stat.S_IFREG
- elif type == gio.FILE_TYPE_DIRECTORY:
+ elif type == gio.FileType.DIRECTORY:
self.st_mode = stat.S_IFDIR
@@ -122,7 +125,7 @@
user, netloc = netloc.rsplit('@', 1)
# Seems it is not possible to list supported backends for GIO
# so a hardcoded list it is then.
- gio_backends = ['dav', 'file', 'ftp', 'obex', 'sftp', 'ssh', 'smb']
+ gio_backends = ['dav', 'file', 'ftp', 'obex', 'sftp', 'ssh', 'smb', 'http']
if scheme not in gio_backends:
raise urlutils.InvalidURL(base,
extra="GIO support is only available for " +
@@ -138,13 +141,10 @@
_from_transport=_from_transport)
def _relpath_to_url(self, relpath):
- full_url = urlutils.join(self.url, relpath)
- if isinstance(full_url, str):
- raise urlutils.InvalidURL(full_url)
- return full_url
+ return urlutils.join(self.url, relpath)
def _get_GIO(self, relpath):
- """Return the ftplib.GIO instance for this object."""
+ """Return the GIO instance for this object."""
# Ensures that a connection is established
connection = self._get_connection()
if connection is None:
@@ -152,7 +152,7 @@
connection, credentials = self._create_connection()
self._set_connection(connection, credentials)
fileurl = self._relpath_to_url(relpath)
- file = gio.File(fileurl)
+ file = gio.File.new_for_uri(fileurl)
return file
def _auth_cb(self, op, message, default_user, default_domain, flags):
@@ -197,7 +197,7 @@
try:
obj.mount_enclosing_volume_finish(res)
self.loop.quit()
- except gio.Error as e:
+ except GError as e:
self.loop.quit()
raise errors.BzrError(
"Failed to mount the given location: " + str(e))
@@ -209,12 +209,12 @@
user, password = credentials
try:
- connection = gio.File(self.url)
+ connection = gio.File.new_for_uri(self.url)
mount = None
try:
mount = connection.find_enclosing_mount()
- except gio.Error as e:
- if (e.code == gio.ERROR_NOT_MOUNTED):
+ except GError as e:
+ if e.code == gio.IOErrorEnum.NOT_MOUNTED:
self.loop = glib.MainLoop()
ui.ui_factory.show_message('Mounting %s using GIO' %
self.url)
@@ -227,7 +227,7 @@
m = connection.mount_enclosing_volume(op,
self._mount_done_cb)
self.loop.run()
- except gio.Error as e:
+ except GError as e:
raise errors.TransportError(msg="Error setting up connection:"
" %s" % str(e), orig_error=e)
return connection, (user, password)
@@ -257,8 +257,8 @@
if stat.S_ISREG(st.st_mode) or stat.S_ISDIR(st.st_mode):
return True
return False
- except gio.Error as e:
- if e.code == gio.ERROR_NOT_FOUND:
+ except GError as e:
+ if e.code == gio.IOErrorEnum.NOT_FOUND:
return False
else:
self._translate_gio_error(e, relpath)
@@ -281,10 +281,10 @@
buf = fin.read()
fin.close()
return BytesIO(buf)
- except gio.Error as e:
+ except GError as e:
# If we get a not mounted here it might mean
# that a bad path has been entered (or that mount failed)
- if (e.code == gio.ERROR_NOT_MOUNTED):
+ if e.code == gio.IOErrorEnum.NOT_MOUNTED:
raise errors.PathError(relpath,
extra='Failed to get file, make sure the path is correct. '
+ str(e))
@@ -307,19 +307,19 @@
closed = True
try:
f = self._get_GIO(tmppath)
- fout = f.create()
+ fout = f.create(0, None)
closed = False
length = self._pump(fp, fout)
fout.close()
closed = True
self.stat(tmppath)
dest = self._get_GIO(relpath)
- f.move(dest, flags=gio.FILE_COPY_OVERWRITE)
+ f.move(dest, flags=gio.FileCopyFlags.OVERWRITE)
f = None
if mode is not None:
self._setmode(relpath, mode)
return length
- except gio.Error as e:
+ except GError as e:
self._translate_gio_error(e, relpath)
finally:
if not closed and fout is not None:
@@ -335,7 +335,7 @@
f = self._get_GIO(relpath)
f.make_directory()
self._setmode(relpath, mode)
- except gio.Error as e:
+ except GError as e:
self._translate_gio_error(e, relpath)
def open_write_stream(self, relpath, mode=None):
@@ -369,14 +369,11 @@
f.delete()
else:
raise errors.NotADirectory(relpath)
- except gio.Error as e:
+ except GError as e:
self._translate_gio_error(e, relpath)
except errors.NotADirectory as e:
# just pass it forward
raise e
- except Exception as e:
- mutter('failed to rmdir %s: %s' % (relpath, e))
- raise errors.PathError(relpath)
def append_file(self, relpath, file, mode=None):
"""Append the text in the file-like object into the final
@@ -392,7 +389,7 @@
result = 0
fo = self._get_GIO(tmppath)
fi = self._get_GIO(relpath)
- fout = fo.create()
+ fout = fo.create(0, None)
try:
info = GioStatResult(fi)
result = info.st_size
@@ -400,11 +397,11 @@
self._pump(fin, fout)
fin.close()
# This separate except is to catch and ignore the
- # gio.ERROR_NOT_FOUND for the already existing file.
+ # gio.IOErrorEnum.NOT_FOUND for the already existing file.
# It is valid to open a non-existing file for append.
# This is caused by the broken gio append_to...
- except gio.Error as e:
- if e.code != gio.ERROR_NOT_FOUND:
+ except GError as e:
+ if e.code != gio.IOErrorEnum.NOT_FOUND:
self._translate_gio_error(e, relpath)
length = self._pump(file, fout)
fout.close()
@@ -413,9 +410,11 @@
raise errors.BzrError("Failed to append size after "
"(%d) is not original (%d) + written (%d) total (%d)" %
(info.st_size, result, length, result + length))
- fo.move(fi, flags=gio.FILE_COPY_OVERWRITE)
+ fo.move(
+ fi, flags=gio.FileCopyFlags.OVERWRITE, cancellable=None,
+ progress_callback=None)
return result
- except gio.Error as e:
+ except GError as e:
self._translate_gio_error(e, relpath)
def _setmode(self, relpath, mode):
@@ -429,8 +428,8 @@
try:
f = self._get_GIO(relpath)
f.set_attribute_uint32(gio.FILE_ATTRIBUTE_UNIX_MODE, mode)
- except gio.Error as e:
- if e.code == gio.ERROR_NOT_SUPPORTED:
+ except GError as e:
+ if e.code == gio.IOErrorEnum.NOT_SUPPORTED:
# Command probably not available on this server
mutter("GIO Could not set permissions to %s on %s. %s",
oct(mode), self._remote_path(relpath), str(e))
@@ -444,8 +443,8 @@
mutter("GIO move (rename): %s => %s", rel_from, rel_to)
f = self._get_GIO(rel_from)
t = self._get_GIO(rel_to)
- f.move(t)
- except gio.Error as e:
+ f.move(t, flags=0, cancellable=None, progress_callback=None)
+ except GError as e:
self._translate_gio_error(e, rel_from)
def move(self, rel_from, rel_to):
@@ -455,8 +454,8 @@
mutter("GIO move: %s => %s", rel_from, rel_to)
f = self._get_GIO(rel_from)
t = self._get_GIO(rel_to)
- f.move(t, flags=gio.FILE_COPY_OVERWRITE)
- except gio.Error as e:
+ f.move(t, flags=gio.FileCopyFlags.OVERWRITE)
+ except GError as e:
self._translate_gio_error(e, relfrom)
def delete(self, relpath):
@@ -466,7 +465,7 @@
mutter("GIO delete: %s", relpath)
f = self._get_GIO(relpath)
f.delete()
- except gio.Error as e:
+ except GError as e:
self._translate_gio_error(e, relpath)
def external_url(self):
@@ -489,11 +488,11 @@
try:
entries = []
f = self._get_GIO(relpath)
- children = f.enumerate_children(gio.FILE_ATTRIBUTE_STANDARD_NAME)
+ children = f.enumerate_children(gio.FILE_ATTRIBUTE_STANDARD_NAME, 0, None)
for child in children:
entries.append(urlutils.escape(child.get_name()))
return entries
- except gio.Error as e:
+ except GError as e:
self._translate_gio_error(e, relpath)
def iter_files_recursive(self):
@@ -519,7 +518,7 @@
mutter("GIO stat: %s", relpath)
f = self._get_GIO(relpath)
return GioStatResult(f)
- except gio.Error as e:
+ except GError as e:
self._translate_gio_error(e, relpath, extra='error w/ stat')
def lock_read(self, relpath):
@@ -556,21 +555,21 @@
mutter("GIO Error: %s %s" % (str(err), path))
if extra is None:
extra = str(err)
- if err.code == gio.ERROR_NOT_FOUND:
+ if err.code == gio.IOErrorEnum.NOT_FOUND:
raise errors.NoSuchFile(path, extra=extra)
- elif err.code == gio.ERROR_EXISTS:
+ elif err.code == gio.IOErrorEnum.EXISTS:
raise errors.FileExists(path, extra=extra)
- elif err.code == gio.ERROR_NOT_DIRECTORY:
+ elif err.code == gio.IOErrorEnum.NOT_DIRECTORY:
raise errors.NotADirectory(path, extra=extra)
- elif err.code == gio.ERROR_NOT_EMPTY:
+ elif err.code == gio.IOErrorEnum.NOT_EMPTY:
raise errors.DirectoryNotEmpty(path, extra=extra)
- elif err.code == gio.ERROR_BUSY:
+ elif err.code == gio.IOErrorEnum.BUSY:
raise errors.ResourceBusy(path, extra=extra)
- elif err.code == gio.ERROR_PERMISSION_DENIED:
+ elif err.code == gio.IOErrorEnum.PERMISSION_DENIED:
raise errors.PermissionDenied(path, extra=extra)
- elif err.code == gio.ERROR_HOST_NOT_FOUND:
+ elif err.code == gio.IOErrorEnum.HOST_NOT_FOUND:
raise errors.PathError(path, extra=extra)
- elif err.code == gio.ERROR_IS_DIRECTORY:
+ elif err.code == gio.IOErrorEnum.IS_DIRECTORY:
raise errors.PathError(path, extra=extra)
else:
mutter('unable to understand error for path: %s: %s', path, err)

View file

@ -1,27 +0,0 @@
Fix build failure on glibc 2.28 where 'renameat2' would end up being
declared twice: <https://github.com/systemd/casync/issues/166>.
From 625244ca47e8ee1375d2d0092271bfd13b0913ea Mon Sep 17 00:00:00 2001
From: Daniel Mack <daniel@zonque.org>
Date: Tue, 13 Nov 2018 17:52:48 +0100
Subject: [PATCH] meson.build: pass -D_GNU_SOURCE when checking for functions
As described in #166, -D_GNU_SOURCE needs to be passed to the meson function
availability checker. h/t to @tomeon for providing a link to the solution as
well.
---
meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index f42ed16..c0f741e 100644
--- a/meson.build
+++ b/meson.build
@@ -78,6 +78,6 @@ foreach ident : [
['copy_file_range', '''#include <sys/syscall.h>
#include <unistd.h>'''],
]
- have = cc.has_function(ident[0], prefix : ident[1])
+ have = cc.has_function(ident[0], args : '-D_GNU_SOURCE', prefix : ident[1])
conf.set10('HAVE_' + ident[0].to_upper(), have)
endforeach

View file

@ -0,0 +1,58 @@
From 226734f06196d31971d8ca2026a9ce432d5227d0 Mon Sep 17 00:00:00 2001
From: r0man <roman@burningswell.com>
Date: Thu, 26 May 2022 10:42:25 +0200
Subject: [PATCH] Fix wrong-number-of-arguments error
With Emacs 28 I'm seeing the following error when running the tests.
```
deferred error : (wrong-number-of-arguments #<subr start-process-shell-command> 4)
```
I believe this is because the `start-process-shell-command` function
is called with the command arguments as &rest parameters. This is the
function signature of `start-process-shell-command`, and it only takes
3 arguments, the name, buffer, and command. The command argument can
be a shell string like "ls -l" for example.
```
(defun start-process-shell-command (name buffer command) ...)
```
The `start-process` function on the other hand has &rest parameters
and can be called with a list of arguments.
```
(defun start-process (name buffer program &rest program-args) ...)
```
This PR fixes the issue by concatenating the command and it's argument
before calling out to `deferred:process-buffer-gen`, which is used in
both cases, when calling `start-process-shell-command`, and when
calling `start-process`.
---
deferred.el | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/deferred.el b/deferred.el
index 041c90b..3092ac0 100644
--- a/deferred.el
+++ b/deferred.el
@@ -754,7 +754,7 @@ object. The process name and buffer name of the argument of the
`start-process-shell-command' are generated by this function automatically.
The next deferred object receives stdout and stderr string from
the command process."
- (deferred:process-gen 'start-process-shell-command command args))
+ (deferred:process-gen 'start-process-shell-command (string-join (cons command args) " ") nil))
(defun deferred:process-buffer (command &rest args)
"A deferred wrapper of `start-process'. Return a deferred
@@ -770,7 +770,7 @@ object. The process name and buffer name of the argument of the
`start-process-shell-command' are generated by this function automatically.
The next deferred object receives stdout and stderr buffer from
the command process."
- (deferred:process-buffer-gen 'start-process-shell-command command args))
+ (deferred:process-buffer-gen 'start-process-shell-command (string-join (cons command args) " ") nil))
(defun deferred:process-gen (f command args)
"[internal]"

View file

@ -0,0 +1,18 @@
This patch fixing a build failure has been cherry-picked from upstream.
Originally submitted as pull request by Erik Šabič.
See also <https://github.com/Wilfred/helpful/pull/296>.
diff --git a/test/helpful-unit-test.el b/test/helpful-unit-test.el
index a07aa8e..8a95129 100644
--- a/test/helpful-unit-test.el
+++ b/test/helpful-unit-test.el
@@ -119,7 +119,9 @@ bar")))
(should
(equal
(helpful--docstring #'test-foo-advised t)
- "Docstring here too.")))
+ (if (version< emacs-version "28")
+ "Docstring here too."
+ "Docstring here too.\n\nThis function has :around advice: `ad-Advice-test-foo-advised'."))))
(defun test-foo-no-docstring ()
nil)

View file

@ -0,0 +1,54 @@
Search path environment variables for cross-compilers. See the discussion
at <http://gcc.gnu.org/ml/gcc/2013-02/msg00124.html>.
Note: Touch 'C_INCLUDE_PATH' et al. rather than 'CPATH', as discussed
at <http://bugs.gnu.org/22186>.
diff --git a/gcc/gcc.cc b/gcc/gcc.cc
--- a/gcc/gcc.cc
+++ b/gcc/gcc.cc
@@ -4832,7 +4832,7 @@ process_command (unsigned int decoded_options_count,
}
temp = env.get (LIBRARY_PATH_ENV);
- if (temp && *cross_compile == '0')
+ if (temp)
{
const char *startp, *endp;
char *nstore = (char *) alloca (strlen (temp) + 3);
diff --git a/gcc/incpath.cc b/gcc/incpath.cc
--- a/gcc/incpath.cc
+++ b/gcc/incpath.cc
@@ -480,8 +480,8 @@ register_include_chains (cpp_reader *pfile, const char *sysroot,
int stdinc, int cxx_stdinc, int verbose)
{
static const char *const lang_env_vars[] =
- { "C_INCLUDE_PATH", "CPLUS_INCLUDE_PATH",
- "OBJC_INCLUDE_PATH", "OBJCPLUS_INCLUDE_PATH" };
+ { "CROSS_C_INCLUDE_PATH", "CROSS_CPLUS_INCLUDE_PATH",
+ "CROSS_OBJC_INCLUDE_PATH", "CROSS_OBJCPLUS_INCLUDE_PATH" };
cpp_options *cpp_opts = cpp_get_options (pfile);
size_t idx = (cpp_opts->objc ? 2: 0);
@@ -492,7 +492,7 @@ register_include_chains (cpp_reader *pfile, const char *sysroot,
/* CPATH and language-dependent environment variables may add to the
include chain. */
- add_env_var_paths ("CPATH", INC_BRACKET);
+ add_env_var_paths ("CROSS_CPATH", INC_BRACKET);
add_env_var_paths (lang_env_vars[idx], INC_SYSTEM);
target_c_incpath.extra_pre_includes (sysroot, iprefix, stdinc);
diff --git a/gcc/system.h b/gcc/system.h
--- a/gcc/system.h
+++ b/gcc/system.h
@@ -1317,4 +1317,6 @@ endswith (const char *str, const char *suffix)
return memcmp (str + str_len - suffix_len, suffix, suffix_len) == 0;
}
+#define LIBRARY_PATH_ENV "CROSS_LIBRARY_PATH"
+
#endif /* ! GCC_SYSTEM_H */
--
2.36.1

View file

@ -0,0 +1,18 @@
diff --git a/gourmet/backends/db.py b/gourmet/backends/db.py
index faa6a57a..7e6d2bc6 100644
--- a/gourmet/backends/db.py
+++ b/gourmet/backends/db.py
@@ -773,9 +773,11 @@ class RecData (Pluggable):
"""Return the number of rows in table that match criteria
"""
if criteria:
- return table.count(*make_simple_select_arg(criteria,table)).execute().fetchone()[0]
+ return sqlalchemy.select(
+ sqlalchemy.func.count(criteria)).select_from(table).scalar()
else:
- return table.count().execute().fetchone()[0]
+ return sqlalchemy.select(
+ sqlalchemy.func.count()).select_from(table).scalar()
def fetch_join (self, table1, table2, col1, col2,
column_names=None, sort_by=[], **criteria):

View file

@ -0,0 +1,28 @@
Submitted upstream: https://gitlab.com/weinholt/ac-d-bus/-/merge_requests/3
diff --git a/tests/test-signature.sps b/tests/test-signature.sps
index 278401b..cc5574f 100755
--- a/tests/test-signature.sps
+++ b/tests/test-signature.sps
@@ -43,6 +43,7 @@
(format-type-signature '(message BYTE BYTE BYTE BYTE UINT32 UINT32
(ARRAY (STRUCT BYTE VARIANT)))))
+(define fail-count (test-runner-fail-count (test-runner-get)))
(test-end)
-(exit (if (zero? (test-runner-fail-count (test-runner-get))) 0 1))
+(exit (if (zero? fail-count) 0 1))
diff --git a/tests/test-wire.sps b/tests/test-wire.sps
index c3354bf..06ae73b 100755
--- a/tests/test-wire.sps
+++ b/tests/test-wire.sps
@@ -147,6 +147,7 @@
#x08 #x01 #x67 #x00 #x00 #x00 #x00 #x00 #x05 #x01 #x75 #x00 #x04 #x00 #x00 #x00
#x07 #x01 #x73 #x00 #x06 #x00 #x00 #x00 #x3A #x31 #x2E #x32 #x39 #x38 #x00 #x00)))
+(define fail-count (test-runner-fail-count (test-runner-get)))
(test-end)
-(exit (if (zero? (test-runner-fail-count (test-runner-get))) 0 1))
+(exit (if (zero? fail-count) 0 1))

View file

@ -0,0 +1,22 @@
Retrieved from ALT Linux.
https://git.altlinux.org/tasks/273587/build/300/x86_64/srpm/itk-snap-3.8.0-alt6.src.rpm
diff --git a/GUI/Qt/main.cxx b/GUI/Qt/main.cxx
index 576f7160..ceab92e6 100644
--- a/GUI/Qt/main.cxx
+++ b/GUI/Qt/main.cxx
@@ -51,12 +51,13 @@ using namespace std;
#if defined (__unix__) || (defined (__APPLE__) && defined (__MACH__))
#include <signal.h>
+#include <string.h>
#include <execinfo.h>
void SegmentationFaultHandler(int sig)
{
cerr << "*************************************" << endl;
- cerr << "ITK-SNAP: " << sys_siglist[sig] << endl;
+ cerr << "ITK-SNAP: " << strsignal(sig) << " (" << sigabbrev_np(sig) << ")" << endl;
cerr << "BACKTRACE: " << endl;
void *array[50];
int nsize = backtrace(array, 50);

View file

@ -0,0 +1,479 @@
Retrieved from Debian, and added a few "#include <boost/mpl/vector.hpp>"
directives to fix the build.
diff --git a/addons/hdf5/test_hdf5_3dimage.cc b/addons/hdf5/test_hdf5_3dimage.cc
index a7185618..7a398821 100644
--- a/addons/hdf5/test_hdf5_3dimage.cc
+++ b/addons/hdf5/test_hdf5_3dimage.cc
@@ -23,7 +23,7 @@
#include <mia/internal/autotest.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
+#include <boost/test/unit_test.hpp>
#include <addons/hdf5/hdf5_3dimage.hh>
diff --git a/addons/hdf5/test_hdf5mia.cc b/addons/hdf5/test_hdf5mia.cc
index 3d62106e..8141be07 100644
--- a/addons/hdf5/test_hdf5mia.cc
+++ b/addons/hdf5/test_hdf5mia.cc
@@ -23,7 +23,6 @@
#include <mia/internal/autotest.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
#include <boost/mpl/insert_range.hpp>
#include <addons/hdf5/hdf5a_mia.hh>
diff --git a/addons/nifti/test_niftiimage.cc b/addons/nifti/test_niftiimage.cc
index 8df3f0b5..840ae585 100644
--- a/addons/nifti/test_niftiimage.cc
+++ b/addons/nifti/test_niftiimage.cc
@@ -23,8 +23,6 @@
#include <mia/internal/autotest.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
-
#include <nifti/niftiimage.hh>
#include <unistd.h>
diff --git a/addons/vistaio/test_2dvistaio.cc b/addons/vistaio/test_2dvistaio.cc
index b3da29a0..9b1599dd 100644
--- a/addons/vistaio/test_2dvistaio.cc
+++ b/addons/vistaio/test_2dvistaio.cc
@@ -23,8 +23,6 @@
#include <mia/internal/autotest.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
-
#include <vistaio/2dvistaio.hh>
#include <unistd.h>
diff --git a/addons/vistaio/test_3dvistaio.cc b/addons/vistaio/test_3dvistaio.cc
index 93c007d0..c3ae1fdb 100644
--- a/addons/vistaio/test_3dvistaio.cc
+++ b/addons/vistaio/test_3dvistaio.cc
@@ -23,8 +23,6 @@
#include <mia/internal/autotest.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
-
#include <vistaio/3dvistaio.hh>
#include <unistd.h>
diff --git a/addons/vtk/test_vtkimage.cc b/addons/vtk/test_vtkimage.cc
index eaf96a6b..8212ef1d 100644
--- a/addons/vtk/test_vtkimage.cc
+++ b/addons/vtk/test_vtkimage.cc
@@ -23,8 +23,6 @@
#include <mia/internal/autotest.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
-
#include <vtk/vtkimage.hh>
#include <unistd.h>
diff --git a/mia/2d/creator/test_circle.cc b/mia/2d/creator/test_circle.cc
index 9784e05d..7ca4bab9 100644
--- a/mia/2d/creator/test_circle.cc
+++ b/mia/2d/creator/test_circle.cc
@@ -21,8 +21,6 @@
#include <mia/internal/plugintester.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
-
#include <mia/2d/creator/circle.hh>
using namespace mia;
diff --git a/mia/2d/filter/test_convert.cc b/mia/2d/filter/test_convert.cc
index 80304793..f40d295a 100644
--- a/mia/2d/filter/test_convert.cc
+++ b/mia/2d/filter/test_convert.cc
@@ -25,7 +25,6 @@
#include <type_traits>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
#include <boost/mpl/insert_range.hpp>
diff --git a/mia/2d/filter/test_morphological.cc b/mia/2d/filter/test_morphological.cc
index 2fc58583..9a004946 100644
--- a/mia/2d/filter/test_morphological.cc
+++ b/mia/2d/filter/test_morphological.cc
@@ -20,7 +20,6 @@
#include <mia/internal/plugintester.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
#include <mia/2d/filter/morphological.hh>
namespace bmpl = boost::mpl;
diff --git a/mia/2d/filter/test_sortlabel.cc b/mia/2d/filter/test_sortlabel.cc
index 78464e1a..49c327e3 100644
--- a/mia/2d/filter/test_sortlabel.cc
+++ b/mia/2d/filter/test_sortlabel.cc
@@ -23,7 +23,6 @@
#include <mia/2d/filter/sortlabel.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
namespace bmpl = boost::mpl;
diff --git a/mia/2d/filter/test_thinning.cc b/mia/2d/filter/test_thinning.cc
index 3ebb2cdc..8bc5b356 100644
--- a/mia/2d/filter/test_thinning.cc
+++ b/mia/2d/filter/test_thinning.cc
@@ -21,7 +21,6 @@
#include <mia/internal/plugintester.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
#include <mia/2d/filter/thinning.hh>
#include <mia/2d/imagetest.hh>
diff --git a/mia/2d/test_filter_cast.cc b/mia/2d/test_filter_cast.cc
index e806e14f..91c77398 100644
--- a/mia/2d/test_filter_cast.cc
+++ b/mia/2d/test_filter_cast.cc
@@ -24,7 +24,7 @@
#include <mia/internal/autotest.hh>
#include <mia/2d/filter.hh>
-#include <boost/test/test_case_template.hpp>
+#include <boost/mpl/vector.hpp>
#include <boost/type_traits.hpp>
#include <boost/mpl/list.hpp>
diff --git a/mia/2d/test_image.cc b/mia/2d/test_image.cc
index c82dc59b..1f602510 100644
--- a/mia/2d/test_image.cc
+++ b/mia/2d/test_image.cc
@@ -24,6 +24,7 @@
#include <mia/internal/autotest.hh>
#include <boost/filesystem/path.hpp>
+#include <boost/mpl/vector.hpp>
#include <iostream>
diff --git a/mia/2d/test_interpol.cc b/mia/2d/test_interpol.cc
index d1f3703d..5caafccf 100644
--- a/mia/2d/test_interpol.cc
+++ b/mia/2d/test_interpol.cc
@@ -23,7 +23,6 @@
#include <mia/internal/autotest.hh>
-#include <boost/test/test_case_template.hpp>
#include <boost/type_traits.hpp>
#include <boost/mpl/list.hpp>
diff --git a/mia/3d/fifotestfixture.cc b/mia/3d/fifotestfixture.cc
index ab2e7c65..1b6e6bb4 100644
--- a/mia/3d/fifotestfixture.cc
+++ b/mia/3d/fifotestfixture.cc
@@ -24,7 +24,7 @@
#include <climits>
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core/msgstream.hh>
#include <mia/2d/imagetest.hh>
#include <mia/3d/fifotestfixture.hh>
diff --git a/mia/3d/filter/test_convert.cc b/mia/3d/filter/test_convert.cc
index e83032c1..dad9afaa 100644
--- a/mia/3d/filter/test_convert.cc
+++ b/mia/3d/filter/test_convert.cc
@@ -20,7 +20,6 @@
#include <mia/internal/autotest.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
#include <mia/core/type_traits.hh>
#include <mia/3d/filter/convert.hh>
#include <boost/mpl/insert_range.hpp>
diff --git a/mia/3d/test_image.cc b/mia/3d/test_image.cc
index 18f71892..c21e0d20 100644
--- a/mia/3d/test_image.cc
+++ b/mia/3d/test_image.cc
@@ -21,7 +21,8 @@
#include <climits>
#include <boost/test/unit_test_suite.hpp>
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
+#include <boost/mpl/vector.hpp>
#include <mia/3d/image.hh>
#include <mia/core/filter.hh>
diff --git a/mia/3d/test_imageio.cc b/mia/3d/test_imageio.cc
index 0640a668..7a6b5635 100644
--- a/mia/3d/test_imageio.cc
+++ b/mia/3d/test_imageio.cc
@@ -20,7 +20,6 @@
#include <mia/internal/autotest.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
#include <boost/mpl/insert_range.hpp>
#include <mia/core/attribute_names.hh>
diff --git a/mia/core/splinekernel/test_bspline.cc b/mia/core/splinekernel/test_bspline.cc
index 54d6bda3..0abfe443 100644
--- a/mia/core/splinekernel/test_bspline.cc
+++ b/mia/core/splinekernel/test_bspline.cc
@@ -23,8 +23,6 @@
#include <mia/core/splinekernel/bspline.hh>
#include <mia/core/interpolator1d.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
-
using namespace mia;
using namespace mia::bsplinekernel;
diff --git a/mia/core/test_cost.cc b/mia/core/test_cost.cc
index 70097b2e..305ca84d 100644
--- a/mia/core/test_cost.cc
+++ b/mia/core/test_cost.cc
@@ -27,7 +27,7 @@
#include <mia/core/msgstream.hh>
#include <boost/test/unit_test_suite.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <boost/test/test_tools.hpp>
NS_MIA_USE
diff --git a/mia/core/test_cstplan.cc b/mia/core/test_cstplan.cc
index aa241d48..a9e5a0e3 100644
--- a/mia/core/test_cstplan.cc
+++ b/mia/core/test_cstplan.cc
@@ -23,7 +23,7 @@
#include <boost/test/unit_test_suite.hpp>
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core/cstplan.hh>
diff --git a/mia/core/test_dictmap.cc b/mia/core/test_dictmap.cc
index a9217290..fd05fe30 100644
--- a/mia/core/test_dictmap.cc
+++ b/mia/core/test_dictmap.cc
@@ -26,7 +26,7 @@
#include <boost/test/test_tools.hpp>
#include <boost/test/unit_test_suite.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core/dictmap.hh>
#include <mia/core/cmdlineparser.hh>
diff --git a/mia/core/test_fifofilter.cc b/mia/core/test_fifofilter.cc
index 2a066f2e..6e2a385d 100644
--- a/mia/core/test_fifofilter.cc
+++ b/mia/core/test_fifofilter.cc
@@ -27,7 +27,7 @@
#include <boost/test/test_tools.hpp>
#include <boost/test/unit_test_suite.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core/cmdlineparser.hh>
diff --git a/mia/core/test_gsl_matrix.cc b/mia/core/test_gsl_matrix.cc
index 4add5f7a..6d16353d 100644
--- a/mia/core/test_gsl_matrix.cc
+++ b/mia/core/test_gsl_matrix.cc
@@ -25,7 +25,7 @@
#define BOOST_TEST_MAIN
#define BOOST_TEST_ALTERNATIVE_INIT_API
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core/gsl_matrix.hh>
#include <stdexcept>
diff --git a/mia/core/test_gsl_matrix_vector_ops.cc b/mia/core/test_gsl_matrix_vector_ops.cc
index e5f7d7b9..217020f7 100644
--- a/mia/core/test_gsl_matrix_vector_ops.cc
+++ b/mia/core/test_gsl_matrix_vector_ops.cc
@@ -28,7 +28,7 @@
#define BOOST_TEST_MAIN
#define BOOST_TEST_ALTERNATIVE_INIT_API
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <iostream>
#include <cmath>
diff --git a/mia/core/test_gsl_multimin.cc b/mia/core/test_gsl_multimin.cc
index 5bbc434b..129f578a 100644
--- a/mia/core/test_gsl_multimin.cc
+++ b/mia/core/test_gsl_multimin.cc
@@ -25,7 +25,7 @@
#define BOOST_TEST_MAIN
#define BOOST_TEST_ALTERNATIVE_INIT_API
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <vector>
#include <mia/core/gsl_multimin.hh>
diff --git a/mia/core/test_gsl_pca.cc b/mia/core/test_gsl_pca.cc
index 436b36b0..12942921 100644
--- a/mia/core/test_gsl_pca.cc
+++ b/mia/core/test_gsl_pca.cc
@@ -27,7 +27,7 @@
#define BOOST_TEST_MAIN
#define BOOST_TEST_ALTERNATIVE_INIT_API
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core/gsl_pca.hh>
diff --git a/mia/core/test_gsl_vector.cc b/mia/core/test_gsl_vector.cc
index 541c88b8..ba91f159 100644
--- a/mia/core/test_gsl_vector.cc
+++ b/mia/core/test_gsl_vector.cc
@@ -25,10 +25,9 @@
#define BOOST_TEST_MAIN
#define BOOST_TEST_ALTERNATIVE_INIT_API
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
#include <mia/core/gsl_vector.hh>
diff --git a/mia/core/test_interpol.cc b/mia/core/test_interpol.cc
index 36669dc0..2dd5157d 100644
--- a/mia/core/test_interpol.cc
+++ b/mia/core/test_interpol.cc
@@ -24,7 +24,7 @@
#include <mia/internal/autotest.hh>
#include <boost/mpl/vector.hpp>
-#include <boost/test/test_case_template.hpp>
+#include <boost/test/unit_test.hpp>
#include <boost/type_traits.hpp>
#include <boost/filesystem/path.hpp>
diff --git a/mia/core/test_parameter.cc b/mia/core/test_parameter.cc
index ae9b4976..28ef2a80 100644
--- a/mia/core/test_parameter.cc
+++ b/mia/core/test_parameter.cc
@@ -26,7 +26,7 @@
#include <boost/test/test_tools.hpp>
#include <boost/test/unit_test_suite.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core/parameter.hh>
#include <mia/core/msgstream.hh>
diff --git a/mia/core/test_probmap.cc b/mia/core/test_probmap.cc
index 2dc6cb6c..38052681 100644
--- a/mia/core/test_probmap.cc
+++ b/mia/core/test_probmap.cc
@@ -22,7 +22,7 @@
#include <boost/test/unit_test_suite.hpp>
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core/cmdlineparser.hh>
#include <mia/core/probmap.hh>
diff --git a/mia/core/test_sqmin.cc b/mia/core/test_sqmin.cc
index f00b3b85..4a0b67b9 100644
--- a/mia/core/test_sqmin.cc
+++ b/mia/core/test_sqmin.cc
@@ -23,7 +23,7 @@
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test_suite.hpp>
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core/sqmin.hh>
diff --git a/mia/internal/autotest.hh b/mia/internal/autotest.hh
index 419f6e8f..4458c0b2 100644
--- a/mia/internal/autotest.hh
+++ b/mia/internal/autotest.hh
@@ -34,7 +34,7 @@
#define BOOST_TEST_MAIN
#define BOOST_TEST_NO_MAIN
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <miaconfig.h>
#include <mia/core/cmdlineparser.hh>
diff --git a/mia/internal/plugintester.hh b/mia/internal/plugintester.hh
index 2d42b858..e632e5f7 100644
--- a/mia/internal/plugintester.hh
+++ b/mia/internal/plugintester.hh
@@ -31,7 +31,7 @@
#define BOOST_TEST_MAIN
#define BOOST_TEST_NO_MAIN
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <miaconfig.h>
#include <mia/core/factory.hh>
diff --git a/mia/test/testhelpers.hh b/mia/test/testhelpers.hh
index 27f37e7f..68c213a6 100644
--- a/mia/test/testhelpers.hh
+++ b/mia/test/testhelpers.hh
@@ -23,7 +23,7 @@
#include <type_traits>
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
namespace miatest
{
diff --git a/src/2dlerp.cc b/src/2dlerp.cc
index 4c7dde77..1e8801de 100644
--- a/src/2dlerp.cc
+++ b/src/2dlerp.cc
@@ -25,7 +25,7 @@
#include <boost/test/unit_test_suite.hpp>
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core.hh>
#include <mia/internal/main.hh>
diff --git a/src/3dlerp.cc b/src/3dlerp.cc
index 6ee8dca0..2f1c1f3a 100644
--- a/src/3dlerp.cc
+++ b/src/3dlerp.cc
@@ -24,7 +24,7 @@
#define BOOST_TEST_NO_MAIN
#include <boost/test/unit_test_suite.hpp>
#include <boost/test/unit_test.hpp>
-#include <boost/test/floating_point_comparison.hpp>
+#include <boost/test/tools/floating_point_comparison.hpp>
#include <mia/core.hh>
#include <mia/internal/main.hh>

View file

@ -1,60 +0,0 @@
https://build.opensuse.org/package/view_file/openSUSE:Factory/mozjs17/mozjs-aarch64-support.patch
index c071c33..90764c3 100644
--- a/js/src/assembler/jit/ExecutableAllocator.h
+++ b/js/src/assembler/jit/ExecutableAllocator.h
@@ -382,6 +382,12 @@ public:
{
reprotectRegion(start, size, Executable);
}
+#elif WTF_CPU_AARCH64 && WTF_PLATFORM_LINUX
+ static void cacheFlush(void* code, size_t size)
+ {
+ intptr_t end = reinterpret_cast<intptr_t>(code) + size;
+ __builtin___clear_cache(reinterpret_cast<char*>(code), reinterpret_cast<char*>(end));
+ }
#else
static void makeWritable(void*, size_t) {}
static void makeExecutable(void*, size_t) {}
diff --git a/js/src/assembler/wtf/Platform.h b/js/src/assembler/wtf/Platform.h
index 0c84896..e8763a7 100644
--- a/js/src/assembler/wtf/Platform.h
+++ b/js/src/assembler/wtf/Platform.h
@@ -325,6 +325,10 @@
#define WTF_THUMB_ARCH_VERSION 0
#endif
+/* CPU(AArch64) - 64-bit ARM */
+#if defined(__aarch64__)
+#define WTF_CPU_AARCH64 1
+#endif
/* WTF_CPU_ARMV5_OR_LOWER - ARM instruction set v5 or earlier */
/* On ARMv5 and below the natural alignment is required.
diff --git a/js/src/configure.in b/js/src/configure.in
index 15605b2..19fd704 100644
--- a/js/src/configure.in
+++ b/js/src/configure.in
@@ -1121,6 +1121,10 @@ arm*)
CPU_ARCH=arm
;;
+aarch64)
+ CPU_ARCH=aarch64
+ ;;
+
mips|mipsel)
CPU_ARCH=&quot;mips&quot;
;;
diff --git a/mfbt/double-conversion/utils.h b/mfbt/double-conversion/utils.h
index 0eec2d9..fe26dab 100644
--- a/mfbt/double-conversion/utils.h
+++ b/mfbt/double-conversion/utils.h
@@ -58,6 +58,7 @@
defined(__mips__) || defined(__powerpc__) || \
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
defined(__SH4__) || defined(__alpha__) || \
+ defined(__aarch64__) || \
defined(_MIPS_ARCH_MIPS32R2)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)

View file

@ -1,21 +0,0 @@
This patch is sourced from Debian's mozjs24 patch set.
Description: Add arm64 support
Author: Andreas Schwab <schwab@suse.de>
Origin: vendor, https://build.opensuse.org/package/view_file/openSUSE:Factory/mozjs17/mozjs-aarch64-support.patch
Forwarded: no
Last-Update: 2014-01-03
Index: b/mfbt/double-conversion/utils.h
===================================================================
--- a/mfbt/double-conversion/utils.h
+++ b/mfbt/double-conversion/utils.h
@@ -58,7 +58,7 @@
defined(__mips__) || defined(__powerpc__) || \
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
defined(__SH4__) || defined(__alpha__) || \
- defined(_MIPS_ARCH_MIPS32R2)
+ defined(_MIPS_ARCH_MIPS32R2) || defined(__aarch64__)
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
#elif defined(_M_IX86) || defined(__i386__) || defined(__i386)
#if defined(_WIN32)

View file

@ -1,24 +0,0 @@
Taken from https://bug1339931.bmoattachments.org/attachment.cgi?id=8837770.
Add major version to pkg-config filename.
Author: Rico Tzschichholz <ricotz@ubuntu.com>
Forwarded: no
Last-Update: 2015-05-04
Index: b/js/src/Makefile.in
===================================================================
--- a/js/src/Makefile.in
+++ b/js/src/Makefile.in
@@ -214,10 +214,10 @@
$(JS_CONFIG_NAME): js-config
cp $^ $@
-$(LIBRARY_NAME).pc: js.pc
+$(JS_LIBRARY_NAME).pc: js.pc
cp $^ $@
-install:: $(LIBRARY_NAME).pc
+install:: $(JS_LIBRARY_NAME).pc
$(SYSINSTALL) $^ $(DESTDIR)$(libdir)/pkgconfig
install:: js-config.h

View file

@ -1,67 +0,0 @@
Taken from https://bug1339931.bmoattachments.org/attachment.cgi?id=8837771.
# HG changeset patch
# Parent 4732a0e5d22bc7e5c1f1ace7a182d537d9cc2c6a
Add major version to shell and js-config filenames.
Author: Rico Tzschichholz <ricotz@ubuntu.com>
Forwarded: no
Last-Update: 2014-10-29
---
diff --git a/js/src/configure b/js/src/configure
--- a/js/src/configure
+++ b/js/src/configure
@@ -1696,8 +1696,13 @@
MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"`
IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'`
+if test -n "$JS_STANDALONE"; then
+JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION
+JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config
+else
JS_SHELL_NAME=js
JS_CONFIG_NAME=js-config
+fi
if test -n "$IS_ALPHA"; then
diff --git a/js/src/configure.in b/js/src/configure.in
--- a/js/src/configure.in
+++ b/js/src/configure.in
@@ -234,16 +234,13 @@ MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSI
MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"`
IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'`
-dnl XXX in a temporary bid to avoid developer anger at renaming files
-dnl XXX before "js" symlinks exist, don't change names.
-dnl
-dnl if test -n "$JS_STANDALONE"; then
-dnl JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION
-dnl JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config
-dnl else
+if test -n "$JS_STANDALONE"; then
+JS_SHELL_NAME=js$MOZJS_MAJOR_VERSION
+JS_CONFIG_NAME=js$MOZJS_MAJOR_VERSION-config
+else
JS_SHELL_NAME=js
JS_CONFIG_NAME=js-config
-dnl fi
+fi
changequote([,])
if test -n "$IS_ALPHA"; then
diff -r 80a9e64d75f5 js/src/Makefile.in
--- a/js/src/Makefile.in Wed Jun 25 15:11:42 2014 +0200
+++ b/js/src/Makefile.in Sat Jul 05 14:08:38 2014 +0200
@@ -273,6 +273,9 @@
SCRIPTS = $(JS_CONFIG_NAME)
SDK_BINARY = $(JS_CONFIG_NAME)
+$(JS_CONFIG_NAME): js-config
+ cp $^ $@
+
$(JS_LIBRARY_NAME).pc: js.pc
cp $^ $@

View file

@ -1,608 +0,0 @@
Squashed version of several commits to fix the tracelogger.
Taken from
https://github.com/GNOME/jhbuild/blob/master/patches/mozjs38-fix-tracelogger.patch.
# === Fix the SM38 tracelogger ===
# This patch is a squashed version of several patches that were adapted
# to fix failing hunks.
#
# Applied in the following order, they are:
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223767
# Assertion failure: i < size_, at js/src/vm/TraceLoggingTypes.h:210
# Also fix stop-information to make reduce.py work correctly.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227914
# Limit the memory tracelogger can take.
# This causes tracelogger to flush data to the disk regularly and prevents out of
# memory issues if a lot of data gets logged.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1155618
# Fix tracelogger destructor that touches possibly uninitialised hash table.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1223636
# Don't treat extraTextId as containing only extra ids.
# This fixes an assertion failure: id == nextTextId at js/src/vm/TraceLoggingGraph.cpp
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1227028
# Fix when to keep the payload of a TraceLogger event.
# This fixes an assertion failure: textId < uint32_t(1 << 31) at js/src/vm/TraceLoggingGraph.h
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1266649
# Handle failing to add to pointermap gracefully.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1280648
# Don't cache based on pointers to movable GC things.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1224123
# Fix the use of LastEntryId in tracelogger.h.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1231170
# Use size in debugger instead of the current id to track last logged item.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1221844
# Move TraceLogger_Invalidation to LOG_ITEM.
# Add some debug checks to logTimestamp.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1255766
# Also mark resizing of memory.
# * https://bugzilla.mozilla.org/show_bug.cgi?id=1259403
# Only increase capacity by multiples of 2.
# Always make sure there are 3 free slots for events.
# ===
diff --git a/js/src/jit-test/tests/tracelogger/bug1231170.js b/js/src/jit-test/tests/tracelogger/bug1231170.js
new file mode 100644
index 0000000..023e93e
--- /dev/null
+++ b/js/src/jit-test/tests/tracelogger/bug1231170.js
@@ -0,0 +1,3 @@
+var du = new Debugger();
+if (typeof du.drainTraceLogger === "function")
+ du.drainTraceLogger();
diff --git a/js/src/jit-test/tests/tracelogger/bug1266649.js b/js/src/jit-test/tests/tracelogger/bug1266649.js
new file mode 100644
index 0000000..81ae7ad
--- /dev/null
+++ b/js/src/jit-test/tests/tracelogger/bug1266649.js
@@ -0,0 +1,10 @@
+
+var du = new Debugger();
+if (typeof du.setupTraceLogger === "function" &&
+ typeof oomTest === 'function')
+{
+ du.setupTraceLogger({
+ Scripts: true
+ })
+ oomTest(() => function(){});
+}
diff --git a/js/src/jit/Ion.cpp b/js/src/jit/Ion.cpp
index 93e2fda..09049d6 100644
--- a/js/src/jit/Ion.cpp
+++ b/js/src/jit/Ion.cpp
@@ -1055,6 +1055,8 @@ IonScript::Destroy(FreeOp* fop, IonScript* script)
script->destroyCaches();
script->unlinkFromRuntime(fop);
+ // Frees the potential event we have set.
+ script->traceLoggerScriptEvent_ = TraceLoggerEvent();
fop->free_(script);
}
diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp
index 26262fd..af7f313 100644
--- a/js/src/vm/Debugger.cpp
+++ b/js/src/vm/Debugger.cpp
@@ -369,10 +369,10 @@ Debugger::Debugger(JSContext* cx, NativeObject* dbg)
objects(cx),
environments(cx),
#ifdef NIGHTLY_BUILD
- traceLoggerLastDrainedId(0),
+ traceLoggerLastDrainedSize(0),
traceLoggerLastDrainedIteration(0),
#endif
- traceLoggerScriptedCallsLastDrainedId(0),
+ traceLoggerScriptedCallsLastDrainedSize(0),
traceLoggerScriptedCallsLastDrainedIteration(0)
{
assertSameCompartment(cx, dbg);
@@ -3907,9 +3907,9 @@ Debugger::drainTraceLogger(JSContext* cx, unsigned argc, Value* vp)
size_t num;
TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime());
bool lostEvents = logger->lostEvents(dbg->traceLoggerLastDrainedIteration,
- dbg->traceLoggerLastDrainedId);
+ dbg->traceLoggerLastDrainedSize);
EventEntry* events = logger->getEventsStartingAt(&dbg->traceLoggerLastDrainedIteration,
- &dbg->traceLoggerLastDrainedId,
+ &dbg->traceLoggerLastDrainedSize,
&num);
RootedObject array(cx, NewDenseEmptyArray(cx));
@@ -4002,10 +4002,10 @@ Debugger::drainTraceLoggerScriptCalls(JSContext* cx, unsigned argc, Value* vp)
size_t num;
TraceLoggerThread* logger = TraceLoggerForMainThread(cx->runtime());
bool lostEvents = logger->lostEvents(dbg->traceLoggerScriptedCallsLastDrainedIteration,
- dbg->traceLoggerScriptedCallsLastDrainedId);
+ dbg->traceLoggerScriptedCallsLastDrainedSize);
EventEntry* events = logger->getEventsStartingAt(
&dbg->traceLoggerScriptedCallsLastDrainedIteration,
- &dbg->traceLoggerScriptedCallsLastDrainedId,
+ &dbg->traceLoggerScriptedCallsLastDrainedSize,
&num);
RootedObject array(cx, NewDenseEmptyArray(cx));
diff --git a/js/src/vm/Debugger.h b/js/src/vm/Debugger.h
index 8cac36a..c92d685 100644
--- a/js/src/vm/Debugger.h
+++ b/js/src/vm/Debugger.h
@@ -314,10 +314,10 @@ class Debugger : private mozilla::LinkedListElement<Debugger>
* lost events.
*/
#ifdef NIGHTLY_BUILD
- uint32_t traceLoggerLastDrainedId;
+ uint32_t traceLoggerLastDrainedSize;
uint32_t traceLoggerLastDrainedIteration;
#endif
- uint32_t traceLoggerScriptedCallsLastDrainedId;
+ uint32_t traceLoggerScriptedCallsLastDrainedSize;
uint32_t traceLoggerScriptedCallsLastDrainedIteration;
class FrameRange;
diff --git a/js/src/vm/TraceLogging.cpp b/js/src/vm/TraceLogging.cpp
index 6715b36..9766a6f 100644
--- a/js/src/vm/TraceLogging.cpp
+++ b/js/src/vm/TraceLogging.cpp
@@ -131,7 +131,7 @@ TraceLoggerThread::init()
{
if (!pointerMap.init())
return false;
- if (!extraTextId.init())
+ if (!textIdPayloads.init())
return false;
if (!events.init())
return false;
@@ -185,10 +185,10 @@ TraceLoggerThread::~TraceLoggerThread()
graph = nullptr;
}
- for (TextIdHashMap::Range r = extraTextId.all(); !r.empty(); r.popFront())
- js_delete(r.front().value());
- extraTextId.finish();
- pointerMap.finish();
+ if (textIdPayloads.initialized()) {
+ for (TextIdHashMap::Range r = textIdPayloads.all(); !r.empty(); r.popFront())
+ js_delete(r.front().value());
+ }
}
bool
@@ -287,7 +287,7 @@ TraceLoggerThread::eventText(uint32_t id)
if (id < TraceLogger_Last)
return TLTextIdString(static_cast<TraceLoggerTextId>(id));
- TextIdHashMap::Ptr p = extraTextId.lookup(id);
+ TextIdHashMap::Ptr p = textIdPayloads.lookup(id);
MOZ_ASSERT(p);
return p->value()->string();
@@ -341,13 +341,15 @@ TraceLoggerThread::extractScriptDetails(uint32_t textId, const char** filename,
TraceLoggerEventPayload*
TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId textId)
{
- TextIdHashMap::AddPtr p = extraTextId.lookupForAdd(textId);
- if (p)
+ TextIdHashMap::AddPtr p = textIdPayloads.lookupForAdd(textId);
+ if (p) {
+ MOZ_ASSERT(p->value()->textId() == textId); // Sanity check.
return p->value();
+ }
TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, (char*)nullptr);
- if (!extraTextId.add(p, textId, payload))
+ if (!textIdPayloads.add(p, textId, payload))
return nullptr;
return payload;
@@ -357,8 +359,10 @@ TraceLoggerEventPayload*
TraceLoggerThread::getOrCreateEventPayload(const char* text)
{
PointerHashMap::AddPtr p = pointerMap.lookupForAdd((const void*)text);
- if (p)
+ if (p) {
+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check.
return p->value();
+ }
size_t len = strlen(text);
char* str = js_pod_malloc<char>(len + 1);
@@ -369,7 +373,7 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text)
MOZ_ASSERT(ret == len);
MOZ_ASSERT(strlen(str) == len);
- uint32_t textId = extraTextId.count() + TraceLogger_Last;
+ uint32_t textId = nextTextId;
TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str);
if (!payload) {
@@ -377,17 +381,19 @@ TraceLoggerThread::getOrCreateEventPayload(const char* text)
return nullptr;
}
- if (!extraTextId.putNew(textId, payload)) {
+ if (!textIdPayloads.putNew(textId, payload)) {
js_delete(payload);
return nullptr;
}
- if (!pointerMap.add(p, text, payload))
- return nullptr;
-
if (graph.get())
graph->addTextId(textId, str);
+ nextTextId++;
+
+ if (!pointerMap.add(p, text, payload))
+ return nullptr;
+
return payload;
}
@@ -407,9 +413,14 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f
if (!traceLoggerState->isTextIdEnabled(type))
return getOrCreateEventPayload(type);
- PointerHashMap::AddPtr p = pointerMap.lookupForAdd(ptr);
- if (p)
- return p->value();
+ PointerHashMap::AddPtr p;
+ if (ptr) {
+ p = pointerMap.lookupForAdd(ptr);
+ if (p) {
+ MOZ_ASSERT(p->value()->textId() < nextTextId); // Sanity check.
+ return p->value();
+ }
+ }
// Compute the length of the string to create.
size_t lenFilename = strlen(filename);
@@ -428,24 +439,28 @@ TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, const char* f
MOZ_ASSERT(ret == len);
MOZ_ASSERT(strlen(str) == len);
- uint32_t textId = extraTextId.count() + TraceLogger_Last;
+ uint32_t textId = nextTextId;
TraceLoggerEventPayload* payload = js_new<TraceLoggerEventPayload>(textId, str);
if (!payload) {
js_free(str);
return nullptr;
}
- if (!extraTextId.putNew(textId, payload)) {
+ if (!textIdPayloads.putNew(textId, payload)) {
js_delete(payload);
return nullptr;
}
- if (!pointerMap.add(p, ptr, payload))
- return nullptr;
-
if (graph.get())
graph->addTextId(textId, str);
+ nextTextId++;
+
+ if (ptr) {
+ if (!pointerMap.add(p, ptr, payload))
+ return nullptr;
+ }
+
return payload;
}
@@ -453,14 +468,14 @@ TraceLoggerEventPayload*
TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type, JSScript* script)
{
return getOrCreateEventPayload(type, script->filename(), script->lineno(), script->column(),
- script);
+ nullptr);
}
TraceLoggerEventPayload*
TraceLoggerThread::getOrCreateEventPayload(TraceLoggerTextId type,
const JS::ReadOnlyCompileOptions& script)
{
- return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, &script);
+ return getOrCreateEventPayload(type, script.filename(), script.lineno, script.column, nullptr);
}
void
@@ -485,7 +500,7 @@ TraceLoggerThread::startEvent(uint32_t id)
if (!traceLoggerState->isTextIdEnabled(id))
return;
- logTimestamp(id);
+ log(id);
}
void
@@ -510,7 +525,7 @@ TraceLoggerThread::stopEvent(uint32_t id)
if (!traceLoggerState->isTextIdEnabled(id))
return;
- logTimestamp(TraceLogger_Stop);
+ log(TraceLogger_Stop);
}
void
@@ -522,23 +537,57 @@ TraceLoggerThread::logTimestamp(TraceLoggerTextId id)
void
TraceLoggerThread::logTimestamp(uint32_t id)
{
+ MOZ_ASSERT(id > TraceLogger_LastTreeItem && id < TraceLogger_Last);
+ log(id);
+}
+
+void
+TraceLoggerThread::log(uint32_t id)
+{
if (enabled == 0)
return;
MOZ_ASSERT(traceLoggerState);
- if (!events.ensureSpaceBeforeAdd()) {
+
+ // We request for 3 items to add, since if we don't have enough room
+ // we record the time it took to make more place. To log this information
+ // we need 2 extra free entries.
+ if (!events.hasSpaceForAdd(3)) {
uint64_t start = rdtsc() - traceLoggerState->startupTime;
- if (graph.get())
- graph->log(events);
+ if (!events.ensureSpaceBeforeAdd(3)) {
+ if (graph.get())
+ graph->log(events);
+
+ iteration_++;
+ events.clear();
+
+ // Remove the item in the pointerMap for which the payloads
+ // have no uses anymore
+ for (PointerHashMap::Enum e(pointerMap); !e.empty(); e.popFront()) {
+ if (e.front().value()->uses() != 0)
+ continue;
+
+ TextIdHashMap::Ptr p = textIdPayloads.lookup(e.front().value()->textId());
+ MOZ_ASSERT(p);
+ textIdPayloads.remove(p);
+
+ e.removeFront();
+ }
- iteration_++;
- events.clear();
+ // Free all payloads that have no uses anymore.
+ for (TextIdHashMap::Enum e(textIdPayloads); !e.empty(); e.popFront()) {
+ if (e.front().value()->uses() == 0) {
+ js_delete(e.front().value());
+ e.removeFront();
+ }
+ }
+ }
// Log the time it took to flush the events as being from the
// Tracelogger.
if (graph.get()) {
- MOZ_ASSERT(events.capacity() > 2);
+ MOZ_ASSERT(events.hasSpaceForAdd(2));
EventEntry& entryStart = events.pushUninitialized();
entryStart.time = start;
entryStart.textId = TraceLogger_Internal;
@@ -548,13 +597,6 @@ TraceLoggerThread::logTimestamp(uint32_t id)
entryStop.textId = TraceLogger_Stop;
}
- // Free all TextEvents that have no uses anymore.
- for (TextIdHashMap::Enum e(extraTextId); !e.empty(); e.popFront()) {
- if (e.front().value()->uses() == 0) {
- js_delete(e.front().value());
- e.removeFront();
- }
- }
}
uint64_t time = rdtsc() - traceLoggerState->startupTime;
@@ -956,3 +998,16 @@ TraceLoggerEvent::~TraceLoggerEvent()
if (payload_)
payload_->release();
}
+
+TraceLoggerEvent&
+TraceLoggerEvent::operator=(const TraceLoggerEvent& other)
+{
+ if (hasPayload())
+ payload()->release();
+ if (other.hasPayload())
+ other.payload()->use();
+
+ payload_ = other.payload_;
+
+ return *this;
+}
diff --git a/js/src/vm/TraceLogging.h b/js/src/vm/TraceLogging.h
index a124dcb..91a1eb0 100644
--- a/js/src/vm/TraceLogging.h
+++ b/js/src/vm/TraceLogging.h
@@ -110,6 +110,9 @@ class TraceLoggerEvent {
bool hasPayload() const {
return !!payload_;
}
+
+ TraceLoggerEvent& operator=(const TraceLoggerEvent& other);
+ TraceLoggerEvent(const TraceLoggerEvent& event) = delete;
};
/**
@@ -130,6 +133,10 @@ class TraceLoggerEventPayload {
uses_(0)
{ }
+ ~TraceLoggerEventPayload() {
+ MOZ_ASSERT(uses_ == 0);
+ }
+
uint32_t textId() {
return textId_;
}
@@ -166,7 +173,8 @@ class TraceLoggerThread
mozilla::UniquePtr<TraceLoggerGraph> graph;
PointerHashMap pointerMap;
- TextIdHashMap extraTextId;
+ TextIdHashMap textIdPayloads;
+ uint32_t nextTextId;
ContinuousSpace<EventEntry> events;
@@ -181,6 +189,7 @@ class TraceLoggerThread
: enabled(0),
failed(false),
graph(),
+ nextTextId(TraceLogger_Last),
iteration_(0),
top(nullptr)
{ }
@@ -195,22 +204,22 @@ class TraceLoggerThread
bool enable(JSContext* cx);
bool disable();
- // Given the previous iteration and lastEntryId, return an array of events
+ // Given the previous iteration and size, return an array of events
// (there could be lost events). At the same time update the iteration and
- // lastEntry and gives back how many events there are.
- EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastEntryId, size_t* num) {
+ // size and gives back how many events there are.
+ EventEntry* getEventsStartingAt(uint32_t* lastIteration, uint32_t* lastSize, size_t* num) {
EventEntry* start;
if (iteration_ == *lastIteration) {
- MOZ_ASSERT(events.lastEntryId() >= *lastEntryId);
- *num = events.lastEntryId() - *lastEntryId;
- start = events.data() + *lastEntryId + 1;
+ MOZ_ASSERT(*lastSize <= events.size());
+ *num = events.size() - *lastSize;
+ start = events.data() + *lastSize;
} else {
- *num = events.lastEntryId() + 1;
+ *num = events.size();
start = events.data();
}
*lastIteration = iteration_;
- *lastEntryId = events.lastEntryId();
+ *lastSize = events.size();
return start;
}
@@ -220,16 +229,16 @@ class TraceLoggerThread
const char** lineno, size_t* lineno_len, const char** colno,
size_t* colno_len);
- bool lostEvents(uint32_t lastIteration, uint32_t lastEntryId) {
+ bool lostEvents(uint32_t lastIteration, uint32_t lastSize) {
// If still logging in the same iteration, there are no lost events.
if (lastIteration == iteration_) {
- MOZ_ASSERT(lastEntryId <= events.lastEntryId());
+ MOZ_ASSERT(lastSize <= events.size());
return false;
}
- // When proceeded to the next iteration and lastEntryId points to
- // the maximum capacity there are no logs that are lost.
- if (lastIteration + 1 == iteration_ && lastEntryId == events.capacity())
+ // If we are in a consecutive iteration we are only sure we didn't lose any events,
+ // when the lastSize equals the maximum size 'events' can get.
+ if (lastIteration == iteration_ - 1 && lastSize == events.maxSize())
return false;
return true;
@@ -268,6 +277,7 @@ class TraceLoggerThread
void stopEvent(uint32_t id);
private:
void stopEvent();
+ void log(uint32_t id);
public:
static unsigned offsetOfEnabled() {
diff --git a/js/src/vm/TraceLoggingGraph.cpp b/js/src/vm/TraceLoggingGraph.cpp
index d1b7f2e..a4eb273 100644
--- a/js/src/vm/TraceLoggingGraph.cpp
+++ b/js/src/vm/TraceLoggingGraph.cpp
@@ -276,7 +276,7 @@ TraceLoggerGraph::flush()
if (bytesWritten < tree.size())
return false;
- treeOffset += tree.lastEntryId();
+ treeOffset += tree.size();
tree.clear();
}
@@ -359,7 +359,7 @@ TraceLoggerGraph::startEventInternal(uint32_t id, uint64_t timestamp)
if (parent.lastChildId() == 0) {
MOZ_ASSERT(!entry.hasChildren());
- MOZ_ASSERT(parent.treeId() == tree.lastEntryId() + treeOffset);
+ MOZ_ASSERT(parent.treeId() == treeOffset + tree.size() - 1);
if (!updateHasChildren(parent.treeId()))
return false;
diff --git a/js/src/vm/TraceLoggingTypes.h b/js/src/vm/TraceLoggingTypes.h
index f1c9d0c..10b76d6 100644
--- a/js/src/vm/TraceLoggingTypes.h
+++ b/js/src/vm/TraceLoggingTypes.h
@@ -21,7 +21,6 @@
_(Internal) \
_(Interpreter) \
_(InlinedScripts) \
- _(Invalidation) \
_(IonCompilation) \
_(IonCompilationPaused) \
_(IonLinking) \
@@ -60,6 +59,7 @@
#define TRACELOGGER_LOG_ITEMS(_) \
_(Bailout) \
+ _(Invalidation) \
_(Disable) \
_(Enable) \
_(Stop)
@@ -130,6 +130,9 @@ class ContinuousSpace {
uint32_t size_;
uint32_t capacity_;
+ // The maximum amount of ram memory a continuous space structure can take (in bytes).
+ static const uint32_t LIMIT = 200 * 1024 * 1024;
+
public:
ContinuousSpace ()
: data_(nullptr)
@@ -151,6 +154,10 @@ class ContinuousSpace {
data_ = nullptr;
}
+ static uint32_t maxSize() {
+ return LIMIT / sizeof(T);
+ }
+
T* data() {
return data_;
}
@@ -187,11 +194,14 @@ class ContinuousSpace {
if (hasSpaceForAdd(count))
return true;
+ // Limit the size of a continuous buffer.
+ if (size_ + count > maxSize())
+ return false;
+
uint32_t nCapacity = capacity_ * 2;
- if (size_ + count > nCapacity)
- nCapacity = size_ + count;
- T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T));
+ nCapacity = (nCapacity < maxSize()) ? nCapacity : maxSize();
+ T* entries = (T*) js_realloc(data_, nCapacity * sizeof(T));
if (!entries)
return false;

View file

@ -1,180 +0,0 @@
Taken from
https://trac.wildfiregames.com/export/18656/ps/trunk/libraries/source/spidermonkey/FixVersionDetectionConfigure.diff.
Fixes a version detection issue in 0ad. See
https://lists.gnu.org/archive/html/guix-devel/2017-01/msg00625.html.
diff --git a/js/src/configure b/js/src/configure
--- a/js/src/configure
+++ b/js/src/configure
@@ -1662,70 +1662,6 @@ esac
fi
-MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir`
-MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --uaversion`
-MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --symbolversion`
-
-cat >> confdefs.pytmp <<EOF
- (''' MOZILLA_VERSION ''', r''' "$MOZILLA_VERSION" ''')
-EOF
-cat >> confdefs.h <<EOF
-#define MOZILLA_VERSION "$MOZILLA_VERSION"
-EOF
-
-cat >> confdefs.pytmp <<EOF
- (''' MOZILLA_VERSION_U ''', r''' $MOZILLA_VERSION ''')
-EOF
-cat >> confdefs.h <<EOF
-#define MOZILLA_VERSION_U $MOZILLA_VERSION
-EOF
-
-cat >> confdefs.pytmp <<EOF
- (''' MOZILLA_UAVERSION ''', r''' "$MOZILLA_UAVERSION" ''')
-EOF
-cat >> confdefs.h <<EOF
-#define MOZILLA_UAVERSION "$MOZILLA_UAVERSION"
-EOF
-
-
-
-# Separate version into components for use in shared object naming etc
-
-MOZJS_MAJOR_VERSION=`echo $MOZILLA_VERSION | sed "s|\(^[0-9]*\)\.[0-9]*.*|\1|"`
-MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.\([0-9]*\).*|\1|"`
-MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"`
-IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'`
-
-JS_SHELL_NAME=js
-JS_CONFIG_NAME=js-config
-
-
-if test -n "$IS_ALPHA"; then
-
- MOZJS_ALPHA=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9\.]*\([^0-9]\).*|\1|"`
-
-fi
-cat >> confdefs.pytmp <<EOF
- (''' MOZJS_MAJOR_VERSION ''', r''' $MOZJS_MAJOR_VERSION ''')
-EOF
-cat >> confdefs.h <<EOF
-#define MOZJS_MAJOR_VERSION $MOZJS_MAJOR_VERSION
-EOF
-
-cat >> confdefs.pytmp <<EOF
- (''' MOZJS_MINOR_VERSION ''', r''' $MOZJS_MINOR_VERSION ''')
-EOF
-cat >> confdefs.h <<EOF
-#define MOZJS_MINOR_VERSION $MOZJS_MINOR_VERSION
-EOF
-
-
-
-
-
-
-
-
AR_FLAGS='crs $@'
@@ -5731,6 +5565,71 @@ XCFLAGS="$X_CFLAGS"
fi # COMPILE_ENVIRONMENT
+MOZILLA_VERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir`
+MOZILLA_UAVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --uaversion`
+MOZILLA_SYMBOLVERSION=`$PYTHON $srcdir/python/mozbuild/mozbuild/milestone.py --topsrcdir $srcdir --symbolversion`
+
+cat >> confdefs.pytmp <<EOF
+ (''' MOZILLA_VERSION ''', r''' "$MOZILLA_VERSION" ''')
+EOF
+cat >> confdefs.h <<EOF
+#define MOZILLA_VERSION "$MOZILLA_VERSION"
+EOF
+
+cat >> confdefs.pytmp <<EOF
+ (''' MOZILLA_VERSION_U ''', r''' $MOZILLA_VERSION ''')
+EOF
+cat >> confdefs.h <<EOF
+#define MOZILLA_VERSION_U $MOZILLA_VERSION
+EOF
+
+cat >> confdefs.pytmp <<EOF
+ (''' MOZILLA_UAVERSION ''', r''' "$MOZILLA_UAVERSION" ''')
+EOF
+cat >> confdefs.h <<EOF
+#define MOZILLA_UAVERSION "$MOZILLA_UAVERSION"
+EOF
+
+
+
+# Separate version into components for use in shared object naming etc
+
+MOZJS_MAJOR_VERSION=`echo $MOZILLA_VERSION | sed "s|\(^[0-9]*\)\.[0-9]*.*|\1|"`
+MOZJS_MINOR_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.\([0-9]*\).*|\1|"`
+MOZJS_PATCH_VERSION=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9]*[^0-9]*||"`
+IS_ALPHA=`echo $MOZILLA_VERSION | grep '[ab]'`
+
+JS_SHELL_NAME=js
+JS_CONFIG_NAME=js-config
+
+
+if test -n "$IS_ALPHA"; then
+
+ MOZJS_ALPHA=`echo $MOZILLA_VERSION | sed "s|^[0-9]*\.[0-9\.]*\([^0-9]\).*|\1|"`
+
+fi
+cat >> confdefs.pytmp <<EOF
+ (''' MOZJS_MAJOR_VERSION ''', r''' $MOZJS_MAJOR_VERSION ''')
+EOF
+cat >> confdefs.h <<EOF
+#define MOZJS_MAJOR_VERSION $MOZJS_MAJOR_VERSION
+EOF
+
+cat >> confdefs.pytmp <<EOF
+ (''' MOZJS_MINOR_VERSION ''', r''' $MOZJS_MINOR_VERSION ''')
+EOF
+cat >> confdefs.h <<EOF
+#define MOZJS_MINOR_VERSION $MOZJS_MINOR_VERSION
+EOF
+
+
+
+
+
+
+
+
+
AS_BIN=$AS
AR_LIST='$(AR) t'
AR_EXTRACT='$(AR) x'
@@ -16003,13 +15908,6 @@ sed 's/$/,/' >> $CONFIG_STATUS <<EOF
(''' ANDROID_NDK ''', r''' $ANDROID_NDK ''')
(''' ANDROID_TOOLCHAIN ''', r''' $ANDROID_TOOLCHAIN ''')
(''' ANDROID_PLATFORM ''', r''' $ANDROID_PLATFORM ''')
- (''' MOZILLA_SYMBOLVERSION ''', r''' $MOZILLA_SYMBOLVERSION ''')
- (''' JS_SHELL_NAME ''', r''' $JS_SHELL_NAME ''')
- (''' JS_CONFIG_NAME ''', r''' $JS_CONFIG_NAME ''')
- (''' MOZJS_MAJOR_VERSION ''', r''' $MOZJS_MAJOR_VERSION ''')
- (''' MOZJS_MINOR_VERSION ''', r''' $MOZJS_MINOR_VERSION ''')
- (''' MOZJS_PATCH_VERSION ''', r''' $MOZJS_PATCH_VERSION ''')
- (''' MOZJS_ALPHA ''', r''' $MOZJS_ALPHA ''')
(''' HOST_CC ''', r''' $HOST_CC ''')
(''' HOST_CXX ''', r''' $HOST_CXX ''')
(''' HOST_RANLIB ''', r''' $HOST_RANLIB ''')
@@ -16061,6 +15959,13 @@ sed 's/$/,/' >> $CONFIG_STATUS <<EOF
(''' X_PRE_LIBS ''', r''' $X_PRE_LIBS ''')
(''' X_LIBS ''', r''' $X_LIBS ''')
(''' X_EXTRA_LIBS ''', r''' $X_EXTRA_LIBS ''')
+ (''' MOZILLA_SYMBOLVERSION ''', r''' $MOZILLA_SYMBOLVERSION ''')
+ (''' JS_SHELL_NAME ''', r''' $JS_SHELL_NAME ''')
+ (''' JS_CONFIG_NAME ''', r''' $JS_CONFIG_NAME ''')
+ (''' MOZJS_MAJOR_VERSION ''', r''' $MOZJS_MAJOR_VERSION ''')
+ (''' MOZJS_MINOR_VERSION ''', r''' $MOZJS_MINOR_VERSION ''')
+ (''' MOZJS_PATCH_VERSION ''', r''' $MOZJS_PATCH_VERSION ''')
+ (''' MOZJS_ALPHA ''', r''' $MOZJS_ALPHA ''')
(''' SOLARIS_SUNPRO_CC ''', r''' $SOLARIS_SUNPRO_CC ''')
(''' SOLARIS_SUNPRO_CXX ''', r''' $SOLARIS_SUNPRO_CXX ''')
(''' MOZ_THUMB2 ''', r''' $MOZ_THUMB2 ''')

View file

@ -1,122 +0,0 @@
This is a combination of several upstream patches which weren't accepted.
They were proposed by Fedora for spidermonkey 52 and were ultimately
accepted years later after some changes for a later version. It was
adapted slightly from both sets of patches to apply cleanly to mozjs-60.
https://bugzilla.mozilla.org/show_bug.cgi?id=1318905
https://bug1318905.bmoattachments.org/attachment.cgi?id=8812602
https://bug1318905.bmoattachments.org/attachment.cgi?id=8812603
https://bug1318905.bmoattachments.org/attachment.cgi?id=8812604
https://phabricator.services.mozilla.com/D78623
https://phabricator.services.mozilla.com/D78624
https://phabricator.services.mozilla.com/D78625
diff --git a/build/moz.configure/init.configure b/build/moz.configure/init.configure
index 83b8d705..59131525 100644
--- a/build/moz.configure/init.configure
+++ b/build/moz.configure/init.configure
@@ -676,6 +676,9 @@ def split_triplet(triplet, allow_unknown=False):
elif cpu == 'sh4':
canonical_cpu = 'sh4'
endianness = 'little'
+ elif cpu.startswith('riscv64'):
+ canonical_cpu = 'riscv64'
+ endianness = 'little'
elif allow_unknown:
canonical_cpu = cpu
endianness = 'unknown'
diff --git a/js/src/jit/AtomicOperations.h b/js/src/jit/AtomicOperations.h
index a8970b0d..6b947a3f 100644
--- a/js/src/jit/AtomicOperations.h
+++ b/js/src/jit/AtomicOperations.h
@@ -375,7 +375,7 @@ AtomicOperations::isLockfreeJS(int32_t size)
# endif
#elif defined(__ppc__) || defined(__PPC__)
# include "jit/none/AtomicOperations-feeling-lucky.h"
-#elif defined(__sparc__)
+#elif defined(__sparc__) || defined(__riscv)
# include "jit/none/AtomicOperations-feeling-lucky.h"
#elif defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)
# include "jit/none/AtomicOperations-feeling-lucky.h"
diff --git a/js/src/jit/none/AtomicOperations-feeling-lucky.h b/js/src/jit/none/AtomicOperations-feeling-lucky.h
index da572284..6ce40c89 100644
--- a/js/src/jit/none/AtomicOperations-feeling-lucky.h
+++ b/js/src/jit/none/AtomicOperations-feeling-lucky.h
@@ -49,6 +49,12 @@
# define GNUC_COMPATIBLE
#endif
+#if defined(__riscv) && __riscv_xlen == 64
+# define HAS_64BIT_ATOMICS
+# define HAS_64BIT_LOCKFREE
+# define GNUC_COMPATIBLE
+#endif
+
#ifdef __sparc__
# define GNUC_COMPATIBLE
# ifdef __LP64__
diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h
index 80143dc8..b430fedb 100644
--- a/js/src/jit/none/MacroAssembler-none.h
+++ b/js/src/jit/none/MacroAssembler-none.h
@@ -402,6 +402,10 @@ class MacroAssemblerNone : public Assembler
#endif
};
+ struct AutoPrepareForPatching {
+ explicit AutoPrepareForPatching(MacroAssemblerNone&) {}
+ };
+
typedef MacroAssemblerNone MacroAssemblerSpecific;
class ABIArgGenerator
diff --git a/mfbt/tests/TestPoisonArea.cpp b/mfbt/tests/TestPoisonArea.cpp
index 06c24ed0..c3fed0df 100644
--- a/mfbt/tests/TestPoisonArea.cpp
+++ b/mfbt/tests/TestPoisonArea.cpp
@@ -160,6 +160,9 @@
#elif defined __aarch64__
#define RETURN_INSTR 0xd65f03c0 /* ret */
+#elif defined __riscv
+#define RETURN_INSTR 0x80828082 /* ret; ret */
+
#elif defined __ia64
struct ia64_instr { uint32_t mI[4]; };
static const ia64_instr _return_instr =
diff --git a/python/mozbuild/mozbuild/configure/constants.py b/python/mozbuild/mozbuild/configure/constants.py
index 33ae5a45..11a01d3b 100644
--- a/python/mozbuild/mozbuild/configure/constants.py
+++ b/python/mozbuild/mozbuild/configure/constants.py
@@ -50,6 +50,7 @@ CPU_bitness = {
'mips64': 64,
'ppc': 32,
'ppc64': 64,
+ 'riscv64': 64,
's390': 32,
's390x': 64,
'sh4': 32,
@@ -82,6 +84,7 @@ CPU_preprocessor_checks = OrderedDict((
('s390', '__s390__'),
('ppc64', '__powerpc64__'),
('ppc', '__powerpc__'),
+ ('riscv64', '__riscv && __riscv_xlen == 64'),
('Alpha', '__alpha__'),
('hppa', '__hppa__'),
('sparc64', '__sparc__ && __arch64__'),
diff --git a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
index cb7ff709..9da41adf 100755
--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_configure.py
@@ -1165,6 +1165,10 @@ class LinuxCrossCompileToolchainTest(BaseToolchainTest):
'sh4-unknown-linux-gnu': little_endian + {
'__sh__': 1,
},
+ 'riscv64-unknown-linux-gnu': little_endian + {
+ '__riscv': 1,
+ '__riscv_xlen': 64,
+ },
}
PLATFORMS['powerpc64le-unknown-linux-gnu'] = \

View file

@ -0,0 +1,165 @@
Retrieved from the openbox Debian package.
From acfbbc4ea40932f183617bb7006700140fe5f61e Mon Sep 17 00:00:00 2001
From: Troy Curtis Jr <troycurtisjr@gmail.com>
Date: Wed, 13 Sep 2017 21:59:48 -0500
Subject: [PATCH] Add python3 support to openbox-xdg-autostart.
Updated syntax in openbox-xdg-autostart to support both python2 and
python3.
Added a configure substitution to set the chosen python at build time.
https://bugzilla.icculus.org/show_bug.cgi?id=6444
---
.gitignore | 1 +
configure.ac | 3 +
...xdg-autostart => openbox-xdg-autostart.in} | 70 +++++++++----------
3 files changed, 38 insertions(+), 36 deletions(-)
rename data/autostart/{openbox-xdg-autostart => openbox-xdg-autostart.in} (77%)
diff --git a/configure.ac b/configure.ac
index ca1602670..9a31e9845 100644
--- a/configure.ac
+++ b/configure.ac
@@ -103,6 +103,8 @@ AC_CHECK_HEADERS(ctype.h dirent.h errno.h fcntl.h grp.h locale.h pwd.h)
AC_CHECK_HEADERS(signal.h string.h stdio.h stdlib.h unistd.h sys/stat.h)
AC_CHECK_HEADERS(sys/select.h sys/socket.h sys/time.h sys/types.h sys/wait.h)
+AM_PATH_PYTHON([2],,)
+
AC_PATH_PROG([SED], [sed], [no])
if test "$SED" = "no"; then
AC_MSG_ERROR([The program "sed" is not available. This program is required to build Openbox.])
@@ -259,6 +261,7 @@ AC_CONFIG_FILES([
obrender/version.h
obt/version.h
version.h
+ data/autostart/openbox-xdg-autostart
])
AC_CONFIG_COMMANDS([doc],
[test -d doc || mkdir doc])
diff --git a/data/autostart/openbox-xdg-autostart b/data/autostart/openbox-xdg-autostart.in
similarity index 77%
rename from data/autostart/openbox-xdg-autostart
rename to data/autostart/openbox-xdg-autostart.in
index 04a17a199..3c365b112 100755
--- a/data/autostart/openbox-xdg-autostart
+++ b/data/autostart/openbox-xdg-autostart.in
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!@PYTHON@
# openbox-xdg-autostart runs things based on the XDG autostart specification
# Copyright (C) 2008 Dana Jansens
@@ -28,9 +28,7 @@ try:
from xdg.DesktopEntry import DesktopEntry
from xdg.Exceptions import ParsingError
except ImportError:
- print
- print >>sys.stderr, "ERROR:", ME, "requires PyXDG to be installed"
- print
+ sys.stderr.write("\nERROR: %s requires PyXDG to be installed\n" % ME)
sys.exit(1)
def main(argv=sys.argv):
@@ -51,7 +49,7 @@ def main(argv=sys.argv):
try:
autofile = AutostartFile(path)
except ParsingError:
- print "Invalid .desktop file: " + path
+ print("Invalid .desktop file: " + path)
else:
if not autofile in files:
files.append(autofile)
@@ -99,9 +97,9 @@ class AutostartFile:
def _alert(self, str, info=False):
if info:
- print "\t ", str
+ print("\t ", str)
else:
- print "\t*", str
+ print("\t*", str)
def _showInEnvironment(self, envs, verbose=False):
default = not self.de.getOnlyShowIn()
@@ -146,14 +144,14 @@ class AutostartFile:
def display(self, envs):
if self._shouldRun(envs):
- print "[*] " + self.de.getName()
+ print("[*] " + self.de.getName())
else:
- print "[ ] " + self.de.getName()
+ print("[ ] " + self.de.getName())
self._alert("File: " + self.path, info=True)
if self.de.getExec():
self._alert("Executes: " + self.de.getExec(), info=True)
self._shouldRun(envs, True)
- print
+ print()
def run(self, envs):
here = os.getcwd()
@@ -165,34 +163,34 @@ class AutostartFile:
os.chdir(here)
def show_help():
- print "Usage:", ME, "[OPTION]... [ENVIRONMENT]..."
- print
- print "This tool will run xdg autostart .desktop files"
- print
- print "OPTIONS"
- print " --list Show a list of the files which would be run"
- print " Files which would be run are marked with an asterix"
- print " symbol [*]. For files which would not be run,"
- print " information is given for why they are excluded"
- print " --help Show this help and exit"
- print " --version Show version and copyright information"
- print
- print "ENVIRONMENT specifies a list of environments for which to run autostart"
- print "applications. If none are specified, only applications which do not "
- print "limit themselves to certain environments will be run."
- print
- print "ENVIRONMENT can be one or more of:"
- print " GNOME Gnome Desktop"
- print " KDE KDE Desktop"
- print " ROX ROX Desktop"
- print " XFCE XFCE Desktop"
- print " Old Legacy systems"
- print
+ print("Usage:", ME, "[OPTION]... [ENVIRONMENT]...")
+ print()
+ print("This tool will run xdg autostart .desktop files")
+ print()
+ print("OPTIONS")
+ print(" --list Show a list of the files which would be run")
+ print(" Files which would be run are marked with an asterix")
+ print(" symbol [*]. For files which would not be run,")
+ print(" information is given for why they are excluded")
+ print(" --help Show this help and exit")
+ print(" --version Show version and copyright information")
+ print()
+ print("ENVIRONMENT specifies a list of environments for which to run autostart")
+ print("applications. If none are specified, only applications which do not ")
+ print("limit themselves to certain environments will be run.")
+ print()
+ print("ENVIRONMENT can be one or more of:")
+ print(" GNOME Gnome Desktop")
+ print(" KDE KDE Desktop")
+ print(" ROX ROX Desktop")
+ print(" XFCE XFCE Desktop")
+ print(" Old Legacy systems")
+ print()
def show_version():
- print ME, VERSION
- print "Copyright (c) 2008 Dana Jansens"
- print
+ print(ME, VERSION)
+ print("Copyright (c) 2008 Dana Jansens")
+ print()
if __name__ == "__main__":
sys.exit(main())

View file

@ -1,18 +0,0 @@
Skip unicode docstring test, required when running on Python 2.
See <https://github.com/wolever/parameterized/issues/44>.
--- a/parameterized/test.py
+++ b/parameterized/test.py
@@ -284,11 +284,6 @@
" More" %(foo, )
)
- @parameterized.expand([param("foo")])
- def test_unicode_docstring(self, foo):
- u"""Döcumentation."""
- self._assert_docstring(u"Döcumentation [with foo=%r]." %(foo, ))
-
@parameterized.expand([param("foo", )])
def test_default_values_get_correct_value(self, foo, bar=12):
"""Documentation"""

View file

@ -1,39 +0,0 @@
From e5df32ffbf37481dbb6a70c4d4e7b7b9778c5549 Mon Sep 17 00:00:00 2001
From: "John (J5) Palmieri" <johnp@redhat.com>
Date: Sat, 13 Aug 2011 04:13:28 -0400
Subject: remove references to deprecated GI_INFO_TYPE_ERROR_DOMAIN
diff --git a/gi/pygi-info.c b/gi/pygi-info.c
index 8729e25..007b609 100644
--- a/gi/pygi-info.c
+++ b/gi/pygi-info.c
@@ -165,9 +165,6 @@ _pygi_info_new (GIBaseInfo *info)
case GI_INFO_TYPE_CONSTANT:
type = &PyGIConstantInfo_Type;
break;
- case GI_INFO_TYPE_ERROR_DOMAIN:
- type = &PyGIErrorDomainInfo_Type;
- break;
case GI_INFO_TYPE_UNION:
type = &PyGIUnionInfo_Type;
break;
@@ -484,7 +481,6 @@ _pygi_g_type_info_size (GITypeInfo *type_info)
case GI_INFO_TYPE_INVALID:
case GI_INFO_TYPE_FUNCTION:
case GI_INFO_TYPE_CONSTANT:
- case GI_INFO_TYPE_ERROR_DOMAIN:
case GI_INFO_TYPE_VALUE:
case GI_INFO_TYPE_SIGNAL:
case GI_INFO_TYPE_PROPERTY:
@@ -863,7 +859,6 @@ pygi_g_struct_info_is_simple (GIStructInfo *struct_info)
case GI_INFO_TYPE_INVALID:
case GI_INFO_TYPE_FUNCTION:
case GI_INFO_TYPE_CONSTANT:
- case GI_INFO_TYPE_ERROR_DOMAIN:
case GI_INFO_TYPE_VALUE:
case GI_INFO_TYPE_SIGNAL:
case GI_INFO_TYPE_PROPERTY:
--
cgit v0.10.1

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