Merge branch 'staging' into core-updates
commit
80c76f5d8e
|
@ -13228,6 +13228,12 @@ The command below imports metadata for the @code{rails} Ruby package:
|
||||||
guix import gem rails
|
guix import gem rails
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
You can also ask for a specific version:
|
||||||
|
|
||||||
|
@example
|
||||||
|
guix import gem @@7.0.4
|
||||||
|
@end example
|
||||||
|
|
||||||
@table @code
|
@table @code
|
||||||
@item --recursive
|
@item --recursive
|
||||||
@itemx -r
|
@itemx -r
|
||||||
|
|
|
@ -52,6 +52,7 @@
|
||||||
# Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
# Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||||
# Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
# Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||||
# Copyright © 2022 muradm <mail@muradm.net>
|
# Copyright © 2022 muradm <mail@muradm.net>
|
||||||
|
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||||
#
|
#
|
||||||
# This file is part of GNU Guix.
|
# This file is part of GNU Guix.
|
||||||
#
|
#
|
||||||
|
@ -1038,12 +1039,14 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
|
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
|
||||||
%D%/packages/patches/emacs-libgit-use-system-libgit2.patch \
|
%D%/packages/patches/emacs-libgit-use-system-libgit2.patch \
|
||||||
%D%/packages/patches/emacs-lispy-fix-thread-last-test.patch \
|
%D%/packages/patches/emacs-lispy-fix-thread-last-test.patch \
|
||||||
|
%D%/packages/patches/emacs-polymode-fix-lexical-variable-error.patch \
|
||||||
%D%/packages/patches/emacs-source-date-epoch.patch \
|
%D%/packages/patches/emacs-source-date-epoch.patch \
|
||||||
%D%/packages/patches/emacs-telega-path-placeholder.patch \
|
%D%/packages/patches/emacs-telega-path-placeholder.patch \
|
||||||
%D%/packages/patches/emacs-telega-test-env.patch \
|
%D%/packages/patches/emacs-telega-test-env.patch \
|
||||||
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
|
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
|
||||||
%D%/packages/patches/emacs-yasnippet-fix-tests.patch \
|
%D%/packages/patches/emacs-yasnippet-fix-tests.patch \
|
||||||
%D%/packages/patches/emacs-kv-fix-tests.patch \
|
%D%/packages/patches/emacs-kv-fix-tests.patch \
|
||||||
|
%D%/packages/patches/emacs-pgtk-super-key-fix.patch \
|
||||||
%D%/packages/patches/enjarify-setup-py.patch \
|
%D%/packages/patches/enjarify-setup-py.patch \
|
||||||
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
|
%D%/packages/patches/enlightenment-fix-setuid-path.patch \
|
||||||
%D%/packages/patches/erlang-man-path.patch \
|
%D%/packages/patches/erlang-man-path.patch \
|
||||||
|
|
|
@ -1348,6 +1348,28 @@ color scheme used by Visual Studio Code.")
|
||||||
Apprentice and Sourcerer.")
|
Apprentice and Sourcerer.")
|
||||||
(license license:gpl3+))))
|
(license license:gpl3+))))
|
||||||
|
|
||||||
|
(define-public emacs-suneater-theme
|
||||||
|
(package
|
||||||
|
(name "emacs-suneater-theme")
|
||||||
|
(version "2.0.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://git.sr.ht/~plattfot/suneater-theme")
|
||||||
|
(commit version)))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0nlam8f8ly86y7p2dn10y9ixnm7bhmigsx7si4cjynh6aiyczyds"))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(home-page "https://git.sr.ht/~plattfot/suneater-theme")
|
||||||
|
(synopsis "Minimalistic dark theme for Emacs")
|
||||||
|
(description
|
||||||
|
"Suneater is a dark, minimalistic Emacs theme. It was based on Sunburst
|
||||||
|
theme but now takes more inspiration from the Nano theme.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public emacs-treepy
|
(define-public emacs-treepy
|
||||||
(package
|
(package
|
||||||
(name "emacs-treepy")
|
(name "emacs-treepy")
|
||||||
|
@ -2572,6 +2594,30 @@ light user interface.")
|
||||||
within a specified width. It is useful for displaying long track titles.")
|
within a specified width. It is useful for displaying long track titles.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public emacs-emprise
|
||||||
|
(package
|
||||||
|
(name "emacs-emprise")
|
||||||
|
(version "0.3.0")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://git.sr.ht/~plattfot/emprise")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0yddvvpjdcgsiwv24jbddkgl5r1lxgz037akjln6z9acx9qrc8px"))
|
||||||
|
(file-name (git-file-name name version))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(home-page "https://sr.ht/~plattfot/emprise")
|
||||||
|
(synopsis "Control MPRIS supported media players from Emacs")
|
||||||
|
(description "This package provides a set of commands to control media
|
||||||
|
players that supports the Media Player Remote Interfacing
|
||||||
|
Specification (MPRIS) protocol from Emacs. It uses Emacs' Completing Read
|
||||||
|
framework as the user interface, which integrates well with Vertico or
|
||||||
|
Selectrum.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; Miscellaneous.
|
;;; Miscellaneous.
|
||||||
|
@ -2605,6 +2651,31 @@ This package turns this into an O(1) operation. It does so by assigning a
|
||||||
letter to each link using avy.")
|
letter to each link using avy.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public emacs-app-launcher
|
||||||
|
;; XXX: Upstream did not tag any commit so far. Base version is extracted
|
||||||
|
;; from Version keyword.
|
||||||
|
(let ((commit "d5015e394b0a666a8c7c4d4bdf786266e773b145")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "emacs-app-launcher")
|
||||||
|
(version (git-version "0.1" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/SebastienWae/app-launcher")
|
||||||
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "0l97ajy27awydyd4gc6323wyhpm5vm2db6i0lp5gqaxi9fp7jivp"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(home-page "https://github.com/SebastienWae/app-launcher")
|
||||||
|
(synopsis "Use Emacs standard completion to launch applications")
|
||||||
|
(description "This package defines the @code{app-launcher-run-app}
|
||||||
|
command, which uses Emacs standard completion to select an application
|
||||||
|
installed on your machine and launch it.")
|
||||||
|
(license license:gpl3+))))
|
||||||
|
|
||||||
(define-public emacs-auto-sudoedit
|
(define-public emacs-auto-sudoedit
|
||||||
(package
|
(package
|
||||||
(name "emacs-auto-sudoedit")
|
(name "emacs-auto-sudoedit")
|
||||||
|
@ -6162,6 +6233,64 @@ and retrieving information using the SQLite program through Elisp programming.
|
||||||
It is not intended as a user interface.")
|
It is not intended as a user interface.")
|
||||||
(license license:gpl3+))))
|
(license license:gpl3+))))
|
||||||
|
|
||||||
|
(define-public emacs-sqlite3-api
|
||||||
|
(package
|
||||||
|
(name "emacs-sqlite3-api")
|
||||||
|
(version "0.16")
|
||||||
|
(source (origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/pekingduck/emacs-sqlite3-api")
|
||||||
|
(commit (string-append "v" version))))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"0yrfwb3yvhp1ib4izxh1ds68b3zw8gjkjhlk1kivarxnfjnjnly2"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(arguments
|
||||||
|
(list
|
||||||
|
#:tests? (not (%current-target-system))
|
||||||
|
#:test-command #~(list "make" "test" "EMACS=emacs")
|
||||||
|
#:modules '((guix build emacs-build-system)
|
||||||
|
(guix build emacs-utils)
|
||||||
|
(guix build utils))
|
||||||
|
#:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(add-after 'unpack 'patch-module-load
|
||||||
|
(lambda _
|
||||||
|
(make-file-writable "sqlite3.el")
|
||||||
|
(emacs-substitute-sexps "sqlite3.el"
|
||||||
|
("(require 'sqlite3-api nil t)"
|
||||||
|
(string-append
|
||||||
|
"(module-load \"" #$output "/lib/sqlite3-api.so\")")))))
|
||||||
|
(add-before 'check 'build-emacs-module
|
||||||
|
(lambda _
|
||||||
|
;; Remove code that fetches constants from the SQLite website
|
||||||
|
;; and the call to generate a timestamp.
|
||||||
|
(invoke "sed" "--in-place" "3,4d;24,28d;31d" "tools/gen-consts.sh")
|
||||||
|
;; Remove filter logic from the script that generates the constants.
|
||||||
|
(invoke "sed" "--in-place" "7,11d;18,22d" "tools/gen-consts.py")
|
||||||
|
;; Generate the consts.c file.
|
||||||
|
(invoke "make" "--directory=tools")
|
||||||
|
;; Remove the SQLITE_STATIC and SQLITE_TRANSIENT
|
||||||
|
;; constants. They cause a compilation warning and would have
|
||||||
|
;; been removed by the original script.
|
||||||
|
(invoke "sed" "--in-place" "/ifdef SQLITE_STATIC/,+2d" "consts.c")
|
||||||
|
(invoke "sed" "--in-place" "/ifdef SQLITE_TRANSIENT/,+2d" "consts.c")
|
||||||
|
;; Compile the shared object file.
|
||||||
|
(invoke "make" #$(string-append "CC=" (cc-for-target)))
|
||||||
|
;; Move the shared object file into /lib.
|
||||||
|
(install-file "sqlite3-api.so"
|
||||||
|
(string-append #$output "/lib")))))))
|
||||||
|
(native-inputs (list python sed))
|
||||||
|
(inputs (list sqlite))
|
||||||
|
(home-page "https://github.com/pekingduck/emacs-sqlite3-api")
|
||||||
|
(synopsis "Dynamic module for Emacs to access the SQLite C interface")
|
||||||
|
(description "This package provides a dynamic module for Emacs that allows
|
||||||
|
direct access to the SQLite C interface. It only exposes a subset of the full
|
||||||
|
SQLite C interface, but should satisfy most user's needs.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
||||||
(define-public emacs-sr-speedbar
|
(define-public emacs-sr-speedbar
|
||||||
(let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
|
(let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
|
||||||
(revision "0"))
|
(revision "0"))
|
||||||
|
@ -6725,14 +6854,14 @@ user.")
|
||||||
(define-public emacs-subed
|
(define-public emacs-subed
|
||||||
(package
|
(package
|
||||||
(name "emacs-subed")
|
(name "emacs-subed")
|
||||||
(version "1.0.8")
|
(version "1.0.9")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
|
(uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
|
||||||
version ".tar"))
|
version ".tar"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"05dx4ywma7n73d0cihf4v8ayihm7gmfqpzvdycq4yk0zkxb958z1"))))
|
"192m7pg8hiqx7ppr1sk6n5qjcbz78dmcg6m14syq12ll07zfpcm0"))))
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
#:tests? #t
|
#:tests? #t
|
||||||
|
@ -15755,7 +15884,7 @@ gnugo-image-display-mode}.")
|
||||||
(define-public emacs-transpose-frame
|
(define-public emacs-transpose-frame
|
||||||
(package
|
(package
|
||||||
(name "emacs-transpose-frame")
|
(name "emacs-transpose-frame")
|
||||||
(version "0.2.0")
|
(version "0.2.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -15764,7 +15893,7 @@ gnugo-image-display-mode}.")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "01j4ci0c52r2c31hc9r4p7nsb6s8blmvg50g9n5v5h3afjl1c35v"))))
|
(base32 "0m9jmfwwhgkwxbq3y000ymx7parbgqr7gq3yjm2wh1ll747gv51y"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(home-page "https://www.emacswiki.org/emacs/TransposeFrame")
|
(home-page "https://www.emacswiki.org/emacs/TransposeFrame")
|
||||||
(synopsis "Transpose window arrangement in current frame")
|
(synopsis "Transpose window arrangement in current frame")
|
||||||
|
@ -15773,6 +15902,31 @@ functions which allows users to transpose windows arrangement in currently
|
||||||
selected frame.")
|
selected frame.")
|
||||||
(license license:bsd-2)))
|
(license license:bsd-2)))
|
||||||
|
|
||||||
|
(define-public emacs-transpose-mark
|
||||||
|
;; XXX: Upstream made no release so far, and did not add a Version keyword.
|
||||||
|
(let ((commit "667327602004794de97214cf336ac61650ef75b7")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "emacs-transpose-mark")
|
||||||
|
(version (git-version "0" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/kwrooijen/transpose-mark")
|
||||||
|
(commit commit)))
|
||||||
|
(file-name (git-file-name name version))
|
||||||
|
(sha256
|
||||||
|
(base32 "03wc50vn1kmrgnzzhs06pwpap2p2rx84wwzxw0hawsg1f1l35m2x"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(home-page "https://github.com/kwrooijen/transpose-mark")
|
||||||
|
(synopsis "Library for transposing lines and regions")
|
||||||
|
(description "Transpose mark provides some commands that makes
|
||||||
|
transposing lines and regions easier. You can mark a line and transpose it
|
||||||
|
with a line at point, or mark a region and transpose it with another region
|
||||||
|
a point. The plugin provides visual feedback for marked regions.")
|
||||||
|
(license license:gpl3+))))
|
||||||
|
|
||||||
(define-public emacs-key-chord
|
(define-public emacs-key-chord
|
||||||
(package
|
(package
|
||||||
(name "emacs-key-chord")
|
(name "emacs-key-chord")
|
||||||
|
@ -16574,7 +16728,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.")
|
||||||
(define-public emacs-ement
|
(define-public emacs-ement
|
||||||
(package
|
(package
|
||||||
(name "emacs-ement")
|
(name "emacs-ement")
|
||||||
(version "0.1.3")
|
(version "0.1.4")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -16583,7 +16737,7 @@ which avoids some of the issues with using Emacs’s built-in Url library.")
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "075mwlc616rr86zgli36n6r8w09c5cvlk43by0f1xzla5rmiza8r"))))
|
(base32 "1kms6l14h6ig8kphzpkxv16z7gpvcwvcfsp5ljssdnrx0c7dzz16"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:emacs ,emacs)) ;need libxml support
|
`(#:emacs ,emacs)) ;need libxml support
|
||||||
|
@ -17525,7 +17679,10 @@ contexts.
|
||||||
(commit (string-append "v" version))))
|
(commit (string-append "v" version))))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "18ssl2h861dm2jkd3df6wkfr48p8zk337dbvpq5522kia7fq1lbn"))))
|
(base32 "18ssl2h861dm2jkd3df6wkfr48p8zk337dbvpq5522kia7fq1lbn"))
|
||||||
|
(patches
|
||||||
|
;; XXX: Cherry-picked from upstream, remove when bumping to 0.2.3.
|
||||||
|
(search-patches "emacs-polymode-fix-lexical-variable-error.patch"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(home-page "https://github.com/polymode/polymode")
|
(home-page "https://github.com/polymode/polymode")
|
||||||
(synopsis "Framework for multiple Emacs modes based on indirect buffers")
|
(synopsis "Framework for multiple Emacs modes based on indirect buffers")
|
||||||
|
@ -19292,7 +19449,7 @@ files to be expanded upon opening them.")
|
||||||
(define-public emacs-parsebib
|
(define-public emacs-parsebib
|
||||||
(package
|
(package
|
||||||
(name "emacs-parsebib")
|
(name "emacs-parsebib")
|
||||||
(version "4.2")
|
(version "4.3")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -19301,7 +19458,7 @@ files to be expanded upon opening them.")
|
||||||
(commit version)))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0da4b6d65bq9xhyhq7h9g315zg6g5q9435vz870la966rgav5szd"))))
|
(base32 "0vcl2wvxwpr62c9ym0fm3qaxzhjcrpk4r6r0zaqhkvlf8qr3rg8y"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(home-page "https://github.com/joostkremers/parsebib")
|
(home-page "https://github.com/joostkremers/parsebib")
|
||||||
(synopsis "Library for parsing @file{.bib} files")
|
(synopsis "Library for parsing @file{.bib} files")
|
||||||
|
@ -19619,7 +19776,7 @@ that it can display an error message showing how the parser fails.")
|
||||||
(define-public emacs-move-text
|
(define-public emacs-move-text
|
||||||
(package
|
(package
|
||||||
(name "emacs-move-text")
|
(name "emacs-move-text")
|
||||||
(version "2.0.8")
|
(version "2.0.10")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -19628,7 +19785,7 @@ that it can display an error message showing how the parser fails.")
|
||||||
(commit version)))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
|
(base32 "0pxvipjp9xvr9zwiwij943jgpy7fk8pxphbdj0vrg8ar5avlqiam"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(home-page "https://github.com/emacsfodder/move-text")
|
(home-page "https://github.com/emacsfodder/move-text")
|
||||||
(synopsis "Move current line or region with M-up or M-down")
|
(synopsis "Move current line or region with M-up or M-down")
|
||||||
|
@ -21005,7 +21162,7 @@ and doesn't require memorisation of commands.
|
||||||
(define-public emacs-logview
|
(define-public emacs-logview
|
||||||
(package
|
(package
|
||||||
(name "emacs-logview")
|
(name "emacs-logview")
|
||||||
(version "0.15")
|
(version "0.15.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method git-fetch)
|
(method git-fetch)
|
||||||
|
@ -21014,7 +21171,7 @@ and doesn't require memorisation of commands.
|
||||||
(commit version)))
|
(commit version)))
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "08bn7fj336krlrsf7flk0fgx9mdkd44vq8sxyx6s1c1q5bc0hqnk"))))
|
(base32 "1khri5632pjirj191x3ps94s4pyrwapf1pbrkmqqp0d26b50d3s2"))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list emacs-datetime emacs-extmap))
|
(list emacs-datetime emacs-extmap))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
|
@ -30320,14 +30477,14 @@ detected language.")
|
||||||
(define-public emacs-persist
|
(define-public emacs-persist
|
||||||
(package
|
(package
|
||||||
(name "emacs-persist")
|
(name "emacs-persist")
|
||||||
(version "0.4")
|
(version "0.5")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://elpa.gnu.org/packages/"
|
(uri (string-append "https://elpa.gnu.org/packages/"
|
||||||
"persist-" version ".tar"))
|
"persist-" version ".tar"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0gpxy41qawzss2526j9a7lys60vqma1lvamn4bfabwza7gfhac0q"))))
|
(base32 "090n4479zs82by7a3vb551gyjvv8lpfcylk43ywr2lfyssc9xiq0"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(home-page "http://elpa.gnu.org/packages/persist.html")
|
(home-page "http://elpa.gnu.org/packages/persist.html")
|
||||||
(synopsis "Persist variables between Emacs sessions")
|
(synopsis "Persist variables between Emacs sessions")
|
||||||
|
@ -30655,6 +30812,34 @@ conventions.")
|
||||||
snippets for Emacs.")
|
snippets for Emacs.")
|
||||||
(license license:expat))))
|
(license license:expat))))
|
||||||
|
|
||||||
|
(define-public emacs-orca
|
||||||
|
;; XXX: Upstream did not tag any commit so far. Base version is extracted
|
||||||
|
;; from Version keyword.
|
||||||
|
(let ((commit "0687f416a5573f63b691d384454f5a793266ed97")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "emacs-orca")
|
||||||
|
(version (git-version "0.1.0" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/abo-abo/orca")
|
||||||
|
(commit commit)))
|
||||||
|
(sha256
|
||||||
|
(base32 "00a363vkqvryw5s7pj0kh8pqq5vvbf1pmbzz0b1z1fckwr49sv0f"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(propagated-inputs (list emacs-zoutline))
|
||||||
|
(home-page "https://github.com/abo-abo/orca")
|
||||||
|
(synopsis "Handler for Org Capture")
|
||||||
|
(description
|
||||||
|
"This package provides several convenient recipes for configuring Org
|
||||||
|
Capture, mainly for capturing from a browser. It can match URLs and inject
|
||||||
|
the capture in a targeted Org file, under a targeted heading. The more this
|
||||||
|
package is configured, the less refiling is needed on your captures: they will
|
||||||
|
go directly to where they belong.")
|
||||||
|
(license license:gpl3+))))
|
||||||
|
|
||||||
(define-public emacs-org-roam
|
(define-public emacs-org-roam
|
||||||
(package
|
(package
|
||||||
(name "emacs-org-roam")
|
(name "emacs-org-roam")
|
||||||
|
@ -30717,6 +30902,34 @@ as a plug-and-play solution for anyone already using Org mode for their
|
||||||
personal wiki.")
|
personal wiki.")
|
||||||
(license license:gpl3+)))
|
(license license:gpl3+)))
|
||||||
|
|
||||||
|
(define-public emacs-org-roam-ui
|
||||||
|
(let ((commit "c75fc7506ee7f03840a9a93ed9336d7ed24551aa")
|
||||||
|
(revision "0"))
|
||||||
|
(package
|
||||||
|
(name "emacs-org-roam-ui")
|
||||||
|
(version (git-version "0.1" revision commit))
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(method git-fetch)
|
||||||
|
(uri (git-reference
|
||||||
|
(url "https://github.com/org-roam/org-roam-ui")
|
||||||
|
(commit commit)))
|
||||||
|
(sha256
|
||||||
|
(base32 "0mkcd2622np8s5qz2zvx7lch6dc586xqmn6914gi4ym7nvklf3zy"))))
|
||||||
|
(build-system emacs-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:include #~(cons "^out" %default-include)))
|
||||||
|
(propagated-inputs
|
||||||
|
(list emacs-org-roam emacs-simple-httpd emacs-websocket))
|
||||||
|
(home-page "https://github.com/org-roam/org-roam-ui")
|
||||||
|
(synopsis "Web User Interface for Org Roam")
|
||||||
|
(description
|
||||||
|
"Org Roam UI is meant as a successor of Org Roam server that extends
|
||||||
|
functionality of Org Roam with a web app that runs side-by-side with Emacs,
|
||||||
|
providing a web interface for navigating around notes created within Org
|
||||||
|
Roam.")
|
||||||
|
(license license:gpl3+))))
|
||||||
|
|
||||||
(define-public emacs-org-roam-bibtex
|
(define-public emacs-org-roam-bibtex
|
||||||
(package
|
(package
|
||||||
(name "emacs-org-roam-bibtex")
|
(name "emacs-org-roam-bibtex")
|
||||||
|
@ -31575,14 +31788,14 @@ work on alists, hash-table and arrays. All functions are prefixed with
|
||||||
(define-public emacs-xref
|
(define-public emacs-xref
|
||||||
(package
|
(package
|
||||||
(name "emacs-xref")
|
(name "emacs-xref")
|
||||||
(version "1.5.0")
|
(version "1.5.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://elpa.gnu.org/packages/xref-"
|
(uri (string-append "https://elpa.gnu.org/packages/xref-"
|
||||||
version ".tar"))
|
version ".tar"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0xl6aiwkjbgs44c3wxk6s85diydm3y5lsd7znb0dhbqb7milid2d"))))
|
(base32 "131jxsc1sl8q3r9drhylwyfig9qjjkj3hilv3npidp868pr7xdna"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(home-page "http://elpa.gnu.org/packages/xref.html")
|
(home-page "http://elpa.gnu.org/packages/xref.html")
|
||||||
(synopsis "Cross-referencing commands")
|
(synopsis "Cross-referencing commands")
|
||||||
|
@ -32155,14 +32368,14 @@ are prefixed with @code{seq-} and work on lists, strings, and vectors.")
|
||||||
(define-public emacs-setup
|
(define-public emacs-setup
|
||||||
(package
|
(package
|
||||||
(name "emacs-setup")
|
(name "emacs-setup")
|
||||||
(version "1.3.0")
|
(version "1.3.1")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://elpa.gnu.org/packages/setup-"
|
(uri (string-append "https://elpa.gnu.org/packages/setup-"
|
||||||
version ".tar"))
|
version ".tar"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "0r13ry73jm31j8fq7v1sh0k113fr4blfkiz85696bdpah2pnca87"))))
|
(base32 "0n9zjclf4b2sr8c8zd37fs45p25p3856frm419c9hch69hhcsv3a"))))
|
||||||
(build-system emacs-build-system)
|
(build-system emacs-build-system)
|
||||||
(home-page "https://git.sr.ht/~pkal/setup")
|
(home-page "https://git.sr.ht/~pkal/setup")
|
||||||
(synopsis "Helpful configuration macro")
|
(synopsis "Helpful configuration macro")
|
||||||
|
|
|
@ -409,6 +409,10 @@ languages.")
|
||||||
(package
|
(package
|
||||||
(inherit emacs-next)
|
(inherit emacs-next)
|
||||||
(name "emacs-next-pgtk")
|
(name "emacs-next-pgtk")
|
||||||
|
(source
|
||||||
|
(origin
|
||||||
|
(inherit (package-source emacs-next))
|
||||||
|
(patches (search-patches "emacs-pgtk-super-key-fix.patch"))))
|
||||||
(arguments
|
(arguments
|
||||||
(substitute-keyword-arguments (package-arguments emacs-next)
|
(substitute-keyword-arguments (package-arguments emacs-next)
|
||||||
((#:configure-flags flags #~'())
|
((#:configure-flags flags #~'())
|
||||||
|
|
|
@ -447,8 +447,15 @@ converts any cubic curves to quadratic. The most useful function is probably
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "068hm62s1iphyg66w96vgiif6ahpcsaf8fr44rk6jdf71f6fyqd5"))))
|
(base32 "068hm62s1iphyg66w96vgiif6ahpcsaf8fr44rk6jdf71f6fyqd5"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:phases
|
||||||
|
#~(modify-phases %standard-phases
|
||||||
|
(replace 'check
|
||||||
|
(lambda* (#:key tests? #:allow-other-keys)
|
||||||
|
(when tests?
|
||||||
|
(invoke "pytest" "-vv")))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list python-pytest python-pytest-runner python-setuptools-scm))
|
(list python-pytest python-setuptools-scm))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list python-booleanoperations
|
(list python-booleanoperations
|
||||||
python-cffsubr
|
python-cffsubr
|
||||||
|
|
|
@ -2366,7 +2366,14 @@ visualization.")
|
||||||
(version-major version) "/SAGA%20-%20" version
|
(version-major version) "/SAGA%20-%20" version
|
||||||
"/saga-" version ".tar.gz"))
|
"/saga-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "008izjs6gvj09abxf16ssl1xy0ay3ljq4jswbggp6wiiq459minv"))))
|
(base32 "008izjs6gvj09abxf16ssl1xy0ay3ljq4jswbggp6wiiq459minv"))
|
||||||
|
(modules '((guix build utils)))
|
||||||
|
(snippet
|
||||||
|
'(substitute* "saga-gis/src/tools/docs/docs_pdf/doc_pdf.cpp"
|
||||||
|
(("^#include <hpdf\\.h>\n" all)
|
||||||
|
(string-append all "#include <hpdf_version.h>\n"))
|
||||||
|
(("\\bHPDF_PROJECTING_SCUARE_END\\b")
|
||||||
|
"HPDF_PROJECTING_SQUARE_END")))))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(list pkg-config swig))
|
(list pkg-config swig))
|
||||||
|
|
|
@ -2293,6 +2293,7 @@ The gnome-about program helps find which version of GNOME is installed.")
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags '("-Dlogind=libelogind")
|
`(#:configure-flags '("-Dlogind=libelogind")
|
||||||
|
#:meson ,meson-0.60
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||||
|
@ -5815,7 +5816,10 @@ services for numerous locations.")
|
||||||
"-Dsystemd=false"
|
"-Dsystemd=false"
|
||||||
;; Otherwise, the RUNPATH will lack the final path component.
|
;; Otherwise, the RUNPATH will lack the final path component.
|
||||||
(string-append "-Dc_link_args=-Wl,-rpath=" #$output
|
(string-append "-Dc_link_args=-Wl,-rpath=" #$output
|
||||||
"/lib/gnome-settings-daemon-3.0"))
|
"/lib/gnome-settings-daemon-3.0:"
|
||||||
|
;; Also add NSS because for some reason Meson
|
||||||
|
;; > 0.60 does not add it automatically (XXX).
|
||||||
|
(search-input-directory %build-inputs "lib/nss")))
|
||||||
#:phases
|
#:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
(add-before 'configure 'set-baobab-file-name
|
(add-before 'configure 'set-baobab-file-name
|
||||||
|
@ -9613,7 +9617,8 @@ can add your own files to the collection.")
|
||||||
"15wmikwk62cdi93gas77nqh4fbhlrxrncyfmcd1gfa34jbn7vnsa"))))
|
"15wmikwk62cdi93gas77nqh4fbhlrxrncyfmcd1gfa34jbn7vnsa"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:glib-or-gtk? #t
|
`(#:meson ,meson-0.60
|
||||||
|
#:glib-or-gtk? #t
|
||||||
#:phases
|
#:phases
|
||||||
(modify-phases %standard-phases
|
(modify-phases %standard-phases
|
||||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||||
|
@ -9655,6 +9660,8 @@ beautifying border effects.")
|
||||||
(base32
|
(base32
|
||||||
"1qvrxrk1h8bd75xwasxbvlkqrw6xkavjimvc7sslkw6lvb3z86jp"))))
|
"1qvrxrk1h8bd75xwasxbvlkqrw6xkavjimvc7sslkw6lvb3z86jp"))))
|
||||||
(build-system meson-build-system)
|
(build-system meson-build-system)
|
||||||
|
(arguments
|
||||||
|
(list #:meson meson-0.60))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
|
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
|
||||||
("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
|
("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
|
||||||
|
@ -12022,6 +12029,7 @@ desktop environment.")
|
||||||
gspell
|
gspell
|
||||||
gtk
|
gtk
|
||||||
gjs
|
gjs
|
||||||
|
libadwaita
|
||||||
libsecret
|
libsecret
|
||||||
libsoup
|
libsoup
|
||||||
telepathy-glib
|
telepathy-glib
|
||||||
|
|
|
@ -476,7 +476,21 @@ the GStreamer multimedia framework.")
|
||||||
(arguments
|
(arguments
|
||||||
(list #:phases
|
(list #:phases
|
||||||
#~(modify-phases %standard-phases
|
#~(modify-phases %standard-phases
|
||||||
#$@%common-gstreamer-phases)))
|
#$@%common-gstreamer-phases
|
||||||
|
#$@(if (string-prefix? "i686" (or (%current-target-system)
|
||||||
|
(%current-system)))
|
||||||
|
;; FIXME: These tests consistently fail in the Guix CI:
|
||||||
|
;; https://issues.guix.gnu.org/57868
|
||||||
|
'((add-after 'unpack 'disable-systemclock-test
|
||||||
|
(lambda _
|
||||||
|
(substitute* "tests/check/gst/gstsystemclock.c"
|
||||||
|
(("tcase_add_test \\(tc_chain, \
|
||||||
|
test_stress_cleanup_unschedule.*")
|
||||||
|
"")
|
||||||
|
(("tcase_add_test \\(tc_chain, \
|
||||||
|
test_stress_reschedule.*")
|
||||||
|
"")))))
|
||||||
|
'()))))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
;; In gstreamer-1.0.pc:
|
;; In gstreamer-1.0.pc:
|
||||||
;; Requires: glib-2.0, gobject-2.0
|
;; Requires: glib-2.0, gobject-2.0
|
||||||
|
@ -880,7 +894,7 @@ model to base your own plug-in on, here it is.")
|
||||||
openjpeg
|
openjpeg
|
||||||
;; openni2
|
;; openni2
|
||||||
opensles
|
opensles
|
||||||
openssl
|
openssl-1.1
|
||||||
opus
|
opus
|
||||||
orc
|
orc
|
||||||
pango
|
pango
|
||||||
|
|
|
@ -324,14 +324,18 @@ many popular formats.")
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
(for-each
|
(for-each
|
||||||
(lambda (dir)
|
(lambda (dir)
|
||||||
(delete-file-recursively
|
(delete-file-recursively
|
||||||
(string-append "ThirdParty/" dir "/vtk" dir)))
|
(string-append "ThirdParty/" dir "/vtk" dir)))
|
||||||
;; pugixml depended upon unconditionally
|
;; pugixml depended upon unconditionally
|
||||||
'("doubleconversion" "eigen" "expat" "freetype" "gl2ps"
|
'("doubleconversion" "eigen" "expat" "freetype" "gl2ps"
|
||||||
"glew" "hdf5" "jpeg" "jsoncpp" "libproj" "libxml2" "lz4"
|
"glew" "hdf5" "jpeg" "jsoncpp" "libharu" "libproj"
|
||||||
"netcdf" "ogg" "png" "sqlite" "theora" "tiff" "zlib"))
|
"libxml2" "lz4" "netcdf" "ogg" "png" "sqlite" "theora"
|
||||||
#t))))
|
"tiff" "zlib"))
|
||||||
|
(substitute* "IO/ExportPDF/vtkPDFContextDevice2D.cxx"
|
||||||
|
(("\\bHPDF_UINT16 (noPen|dash|dot|denseDot|dashDot|dashDotDot)\\b"
|
||||||
|
_ var)
|
||||||
|
(string-append "HPDF_REAL " var)))))))
|
||||||
(properties `((release-monitoring-url . "https://vtk.org/download/")))
|
(properties `((release-monitoring-url . "https://vtk.org/download/")))
|
||||||
(build-system cmake-build-system)
|
(build-system cmake-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -348,6 +352,7 @@ many popular formats.")
|
||||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
|
"-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
|
||||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
|
"-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=ON"
|
||||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON"
|
"-DVTK_MODULE_USE_EXTERNAL_VTK_jsoncpp=ON"
|
||||||
|
"-DVTK_MODULE_USE_EXTERNAL_VTK_libharu=ON"
|
||||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON"
|
"-DVTK_MODULE_USE_EXTERNAL_VTK_libproj=ON"
|
||||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON"
|
"-DVTK_MODULE_USE_EXTERNAL_VTK_libxml2=ON"
|
||||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
|
"-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
|
||||||
|
@ -381,6 +386,7 @@ many popular formats.")
|
||||||
glew
|
glew
|
||||||
glu
|
glu
|
||||||
hdf5
|
hdf5
|
||||||
|
libharu
|
||||||
libjpeg-turbo
|
libjpeg-turbo
|
||||||
jsoncpp
|
jsoncpp
|
||||||
libtheora
|
libtheora
|
||||||
|
|
|
@ -353,17 +353,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||||
;; The current "stable" kernels. That is, the most recently released major
|
;; The current "stable" kernels. That is, the most recently released major
|
||||||
;; versions that are still supported upstream.
|
;; versions that are still supported upstream.
|
||||||
|
|
||||||
(define-public linux-libre-5.19-version "5.19.8")
|
(define-public linux-libre-5.19-version "5.19.9")
|
||||||
(define-public linux-libre-5.19-gnu-revision "gnu")
|
(define-public linux-libre-5.19-gnu-revision "gnu")
|
||||||
(define deblob-scripts-5.19
|
(define deblob-scripts-5.19
|
||||||
(linux-libre-deblob-scripts
|
(linux-libre-deblob-scripts
|
||||||
linux-libre-5.19-version
|
linux-libre-5.19-version
|
||||||
linux-libre-5.19-gnu-revision
|
linux-libre-5.19-gnu-revision
|
||||||
(base32 "1lk90psz33ldb8aiaws4iayhycl5bmywr6badvzffjpr87s5phxw")
|
(base32 "1lk90psz33ldb8aiaws4iayhycl5bmywr6badvzffjpr87s5phxw")
|
||||||
(base32 "1ph67fvg5qvlkh4cynrrmvkngkb0sw6k90b1mwy9466s24khn05i")))
|
(base32 "092myqjixvy1k3ylcj0hfc4whfxapjvxsxm4gk30a3jv5dnh7mly")))
|
||||||
(define-public linux-libre-5.19-pristine-source
|
(define-public linux-libre-5.19-pristine-source
|
||||||
(let ((version linux-libre-5.19-version)
|
(let ((version linux-libre-5.19-version)
|
||||||
(hash (base32 "1kl7fifsa6vsm34xg3kd2svhx18n771hfj67nhwnlalmb9whhqv1")))
|
(hash (base32 "0dvzjbyknzlx4ndz77fsm6v28fj2chxbq1z85fbc3bckcscbbm8a")))
|
||||||
(make-linux-libre-source version
|
(make-linux-libre-source version
|
||||||
(%upstream-linux-source version hash)
|
(%upstream-linux-source version hash)
|
||||||
deblob-scripts-5.19)))
|
deblob-scripts-5.19)))
|
||||||
|
@ -372,22 +372,22 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||||
;; The "longterm" kernels — the older releases with long-term upstream support.
|
;; The "longterm" kernels — the older releases with long-term upstream support.
|
||||||
;; Here are the support timelines:
|
;; Here are the support timelines:
|
||||||
;; <https://www.kernel.org/category/releases.html>
|
;; <https://www.kernel.org/category/releases.html>
|
||||||
(define-public linux-libre-5.15-version "5.15.67")
|
(define-public linux-libre-5.15-version "5.15.68")
|
||||||
(define-public linux-libre-5.15-gnu-revision "gnu")
|
(define-public linux-libre-5.15-gnu-revision "gnu")
|
||||||
(define deblob-scripts-5.15
|
(define deblob-scripts-5.15
|
||||||
(linux-libre-deblob-scripts
|
(linux-libre-deblob-scripts
|
||||||
linux-libre-5.15-version
|
linux-libre-5.15-version
|
||||||
linux-libre-5.15-gnu-revision
|
linux-libre-5.15-gnu-revision
|
||||||
(base32 "0vj60bra81fmbx3lz924czbhxs4dmvd4d584g9mcs80b7c4q52kg")
|
(base32 "0vj60bra81fmbx3lz924czbhxs4dmvd4d584g9mcs80b7c4q52kg")
|
||||||
(base32 "1r189c704jvizk452zcsm9v3g27ybjcjchjwxazsy3nx0wdwx7si")))
|
(base32 "048r4synfax2ajyzlmp672b68yshxwlfccdah2vz1kh88rqfmgsc")))
|
||||||
(define-public linux-libre-5.15-pristine-source
|
(define-public linux-libre-5.15-pristine-source
|
||||||
(let ((version linux-libre-5.15-version)
|
(let ((version linux-libre-5.15-version)
|
||||||
(hash (base32 "0h7r2k59jsw8ykb2p7nxrpazbwx1n5p3nmfbbj1lhib91fldjiys")))
|
(hash (base32 "0zlb44bwpc0hwfynzz5v5b3lkv4aha7w5737ns1qb8cvbk5v7fqp")))
|
||||||
(make-linux-libre-source version
|
(make-linux-libre-source version
|
||||||
(%upstream-linux-source version hash)
|
(%upstream-linux-source version hash)
|
||||||
deblob-scripts-5.15)))
|
deblob-scripts-5.15)))
|
||||||
|
|
||||||
(define-public linux-libre-5.10-version "5.10.142")
|
(define-public linux-libre-5.10-version "5.10.143")
|
||||||
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
(define-public linux-libre-5.10-gnu-revision "gnu1")
|
||||||
(define deblob-scripts-5.10
|
(define deblob-scripts-5.10
|
||||||
(linux-libre-deblob-scripts
|
(linux-libre-deblob-scripts
|
||||||
|
@ -397,12 +397,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||||
(base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
|
(base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
|
||||||
(define-public linux-libre-5.10-pristine-source
|
(define-public linux-libre-5.10-pristine-source
|
||||||
(let ((version linux-libre-5.10-version)
|
(let ((version linux-libre-5.10-version)
|
||||||
(hash (base32 "0s52vfvw5pgnq7gq9n66ib05ryhkxwv765f16862l5gykbdynirz")))
|
(hash (base32 "14af0lsvgh1k0fh283d0nrm1pkrk2kaf2mz0ab59vlvjybg9wb7s")))
|
||||||
(make-linux-libre-source version
|
(make-linux-libre-source version
|
||||||
(%upstream-linux-source version hash)
|
(%upstream-linux-source version hash)
|
||||||
deblob-scripts-5.10)))
|
deblob-scripts-5.10)))
|
||||||
|
|
||||||
(define-public linux-libre-5.4-version "5.4.212")
|
(define-public linux-libre-5.4-version "5.4.213")
|
||||||
(define-public linux-libre-5.4-gnu-revision "gnu1")
|
(define-public linux-libre-5.4-gnu-revision "gnu1")
|
||||||
(define deblob-scripts-5.4
|
(define deblob-scripts-5.4
|
||||||
(linux-libre-deblob-scripts
|
(linux-libre-deblob-scripts
|
||||||
|
@ -412,12 +412,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||||
(base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6")))
|
(base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6")))
|
||||||
(define-public linux-libre-5.4-pristine-source
|
(define-public linux-libre-5.4-pristine-source
|
||||||
(let ((version linux-libre-5.4-version)
|
(let ((version linux-libre-5.4-version)
|
||||||
(hash (base32 "1hngr4hsrcd6hmlyvc3msy5racniav2jagp5abmp7xsxv0yjxiq9")))
|
(hash (base32 "1wdssqmac66zqsnq5lx2z8ampa0rd3qswg0gm1sh6n3y8xlf2z76")))
|
||||||
(make-linux-libre-source version
|
(make-linux-libre-source version
|
||||||
(%upstream-linux-source version hash)
|
(%upstream-linux-source version hash)
|
||||||
deblob-scripts-5.4)))
|
deblob-scripts-5.4)))
|
||||||
|
|
||||||
(define-public linux-libre-4.19-version "4.19.257")
|
(define-public linux-libre-4.19-version "4.19.258")
|
||||||
(define-public linux-libre-4.19-gnu-revision "gnu1")
|
(define-public linux-libre-4.19-gnu-revision "gnu1")
|
||||||
(define deblob-scripts-4.19
|
(define deblob-scripts-4.19
|
||||||
(linux-libre-deblob-scripts
|
(linux-libre-deblob-scripts
|
||||||
|
@ -427,12 +427,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||||
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
|
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
|
||||||
(define-public linux-libre-4.19-pristine-source
|
(define-public linux-libre-4.19-pristine-source
|
||||||
(let ((version linux-libre-4.19-version)
|
(let ((version linux-libre-4.19-version)
|
||||||
(hash (base32 "0izaldl2l2zsshkd07qsnr9x6ikipmj5jp7lxr8dyz7kf2m17pga")))
|
(hash (base32 "002sw8b272dzkp3vff0x89sbj5p3vrrikqygfdgrsxv7k3w4459x")))
|
||||||
(make-linux-libre-source version
|
(make-linux-libre-source version
|
||||||
(%upstream-linux-source version hash)
|
(%upstream-linux-source version hash)
|
||||||
deblob-scripts-4.19)))
|
deblob-scripts-4.19)))
|
||||||
|
|
||||||
(define-public linux-libre-4.14-version "4.14.292")
|
(define-public linux-libre-4.14-version "4.14.293")
|
||||||
(define-public linux-libre-4.14-gnu-revision "gnu1")
|
(define-public linux-libre-4.14-gnu-revision "gnu1")
|
||||||
(define deblob-scripts-4.14
|
(define deblob-scripts-4.14
|
||||||
(linux-libre-deblob-scripts
|
(linux-libre-deblob-scripts
|
||||||
|
@ -442,12 +442,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||||
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
|
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
|
||||||
(define-public linux-libre-4.14-pristine-source
|
(define-public linux-libre-4.14-pristine-source
|
||||||
(let ((version linux-libre-4.14-version)
|
(let ((version linux-libre-4.14-version)
|
||||||
(hash (base32 "0zc97qy62dhc5xkjnvsfn4lpl4dgrj23hlxvxcr4cr8sj0hxzx3h")))
|
(hash (base32 "047gl9nqrvpi9jaxlmhfnx848qvnrhf13710ka8fwn3lyv22k342")))
|
||||||
(make-linux-libre-source version
|
(make-linux-libre-source version
|
||||||
(%upstream-linux-source version hash)
|
(%upstream-linux-source version hash)
|
||||||
deblob-scripts-4.14)))
|
deblob-scripts-4.14)))
|
||||||
|
|
||||||
(define-public linux-libre-4.9-version "4.9.327")
|
(define-public linux-libre-4.9-version "4.9.328")
|
||||||
(define-public linux-libre-4.9-gnu-revision "gnu1")
|
(define-public linux-libre-4.9-gnu-revision "gnu1")
|
||||||
(define deblob-scripts-4.9
|
(define deblob-scripts-4.9
|
||||||
(linux-libre-deblob-scripts
|
(linux-libre-deblob-scripts
|
||||||
|
@ -457,7 +457,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||||
(base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
|
(base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
|
||||||
(define-public linux-libre-4.9-pristine-source
|
(define-public linux-libre-4.9-pristine-source
|
||||||
(let ((version linux-libre-4.9-version)
|
(let ((version linux-libre-4.9-version)
|
||||||
(hash (base32 "1lh63viynf9f7vl0a52mnal8jack9lbqfsfammwkxi3kafpw30r2")))
|
(hash (base32 "1px2np3k796cjwq1sp9gfxyql6hqyqya82vq9cb5y0canq6fqmg8")))
|
||||||
(make-linux-libre-source version
|
(make-linux-libre-source version
|
||||||
(%upstream-linux-source version hash)
|
(%upstream-linux-source version hash)
|
||||||
deblob-scripts-4.9)))
|
deblob-scripts-4.9)))
|
||||||
|
|
|
@ -1253,45 +1253,45 @@ of xmpppy.")
|
||||||
"3.9"
|
"3.9"
|
||||||
"/site-packages"))))))
|
"/site-packages"))))))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
`(("gettext" ,gettext-minimal)
|
(list gettext-minimal
|
||||||
("glib:bin" ,glib "bin")
|
`(,glib "bin")
|
||||||
("gobject-introspection" ,gobject-introspection)
|
gobject-introspection
|
||||||
("gtk+:bin" ,gtk+ "bin")
|
`(,gtk+ "bin")
|
||||||
("python-distutils-extra" ,python-distutils-extra)
|
python-distutils-extra
|
||||||
("python-setuptools" ,python-setuptools)
|
python-setuptools
|
||||||
("xorg-server" ,xorg-server-for-tests)))
|
xorg-server-for-tests))
|
||||||
(inputs
|
(inputs
|
||||||
`(("avahi" ,avahi)
|
(list avahi
|
||||||
("dbus" ,dbus)
|
dbus
|
||||||
("farstream" ,farstream)
|
farstream
|
||||||
("geoclue" ,geoclue)
|
geoclue
|
||||||
("glib" ,glib)
|
glib
|
||||||
("glib-networking" ,glib-networking)
|
glib-networking
|
||||||
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
gsettings-desktop-schemas
|
||||||
("gsound",gsound)
|
gsound
|
||||||
("gspell" ,gspell)
|
gspell
|
||||||
("gstreamer" ,gstreamer)
|
gstreamer
|
||||||
("gst-plugins-base" ,gst-plugins-base)
|
gst-plugins-base
|
||||||
("gtk+" ,gtk+)
|
gtk+
|
||||||
("gtksourceview" ,gtksourceview-4)
|
gtksourceview-4
|
||||||
("gupnp-igd" ,gupnp-igd)
|
gupnp-igd
|
||||||
("libappindicator" ,libappindicator)
|
libappindicator
|
||||||
("libnice" ,libnice)
|
libnice
|
||||||
("libsecret" ,libsecret)
|
libsecret
|
||||||
("libsoup" ,libsoup)
|
libsoup
|
||||||
("libxss" ,libxscrnsaver)
|
libxscrnsaver
|
||||||
("network-manager" ,network-manager)
|
network-manager
|
||||||
("python-css-parser" ,python-css-parser)
|
python-css-parser
|
||||||
("python-dbus" ,python-dbus)
|
python-dbus
|
||||||
("python-gssapi" ,python-gssapi)
|
python-gssapi
|
||||||
("python-keyring" ,python-keyring)
|
python-keyring
|
||||||
("python-nbxmpp" ,python-nbxmpp)
|
python-nbxmpp
|
||||||
("python-packaging" ,python-packaging)
|
python-packaging
|
||||||
("python-pillow" ,python-pillow)
|
python-pillow
|
||||||
("python-precis-i18n" ,python-precis-i18n)
|
python-precis-i18n
|
||||||
("python-pycairo" ,python-pycairo)
|
python-pycairo
|
||||||
("python-pygobject" ,python-pygobject)
|
python-pygobject
|
||||||
("python-pyopenssl" ,python-pyopenssl)))
|
python-pyopenssl))
|
||||||
(propagated-inputs
|
(propagated-inputs
|
||||||
(list dconf))
|
(list dconf))
|
||||||
(synopsis "Fully-featured XMPP client")
|
(synopsis "Fully-featured XMPP client")
|
||||||
|
|
|
@ -155,7 +155,7 @@ time-stamping or reference clock, sub-microsecond accuracy is possible.")
|
||||||
#t))))
|
#t))))
|
||||||
(native-inputs (list which pkg-config))
|
(native-inputs (list which pkg-config))
|
||||||
(inputs
|
(inputs
|
||||||
`(("openssl" ,openssl)
|
`(("openssl" ,openssl-1.1)
|
||||||
("libevent" ,libevent)
|
("libevent" ,libevent)
|
||||||
;; Build with POSIX capabilities support on GNU/Linux. This allows 'ntpd'
|
;; Build with POSIX capabilities support on GNU/Linux. This allows 'ntpd'
|
||||||
;; to run as non-root (when invoked with '-u'.)
|
;; to run as non-root (when invoked with '-u'.)
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
From a897516fc5ec380938115ad42023f279d128fc1e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Andrew Tropin <andrew@trop.in>
|
||||||
|
Date: Fri, 16 Sep 2022 15:24:19 +0300
|
||||||
|
Subject: [PATCH] Workaround gtk bug for superkey handling
|
||||||
|
|
||||||
|
https://gitlab.gnome.org/GNOME/gtk/-/issues/4913
|
||||||
|
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=55362
|
||||||
|
Patch based on Thomas Jost's suggestion.
|
||||||
|
|
||||||
|
---
|
||||||
|
src/pgtkterm.c | 9 +++++----
|
||||||
|
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/pgtkterm.c b/src/pgtkterm.c
|
||||||
|
index 491ba33882..d5a9970693 100644
|
||||||
|
--- a/src/pgtkterm.c
|
||||||
|
+++ b/src/pgtkterm.c
|
||||||
|
@@ -5051,7 +5051,7 @@ pgtk_gtk_to_emacs_modifiers (struct pgtk_display_info *dpyinfo, int state)
|
||||||
|
mod |= mod_ctrl;
|
||||||
|
if (state & GDK_META_MASK || state & GDK_MOD1_MASK)
|
||||||
|
mod |= mod_meta;
|
||||||
|
- if (state & GDK_SUPER_MASK)
|
||||||
|
+ if (state & GDK_SUPER_MASK || state & GDK_MOD4_MASK)
|
||||||
|
mod |= mod_super;
|
||||||
|
if (state & GDK_HYPER_MASK)
|
||||||
|
mod |= mod_hyper;
|
||||||
|
@@ -5184,7 +5184,7 @@ key_press_event (GtkWidget *widget, GdkEvent *event, gpointer *user_data)
|
||||||
|
/* While super is pressed, the input method will always always
|
||||||
|
resend the key events ignoring super. As a workaround, don't
|
||||||
|
filter key events with super or hyper pressed. */
|
||||||
|
- if (!(event->key.state & (GDK_SUPER_MASK | GDK_HYPER_MASK)))
|
||||||
|
+ if (!(event->key.state & (GDK_SUPER_MASK | GDK_MOD4_MASK | GDK_HYPER_MASK)))
|
||||||
|
{
|
||||||
|
if (pgtk_im_filter_keypress (f, &event->key))
|
||||||
|
return TRUE;
|
||||||
|
@@ -5199,8 +5199,9 @@ key_press_event (GtkWidget *widget, GdkEvent *event, gpointer *user_data)
|
||||||
|
/* make_lispy_event turns chars into control chars.
|
||||||
|
Don't do it here because XLookupString is too eager. */
|
||||||
|
state &= ~GDK_CONTROL_MASK;
|
||||||
|
- state &= ~(GDK_META_MASK
|
||||||
|
- | GDK_SUPER_MASK | GDK_HYPER_MASK | GDK_MOD1_MASK);
|
||||||
|
+ state &= ~(GDK_META_MASK | GDK_MOD1_MASK
|
||||||
|
+ | GDK_SUPER_MASK | GDK_MOD4_MASK
|
||||||
|
+ | GDK_HYPER_MASK);
|
||||||
|
|
||||||
|
nbytes = event->key.length;
|
||||||
|
if (nbytes > copy_bufsiz)
|
||||||
|
--
|
||||||
|
2.37.3
|
|
@ -0,0 +1,37 @@
|
||||||
|
From 8b83fa772a71efc9dc030c43db2cba944e4338c1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kien Nguyen <kien.n.quang@gmail.com>
|
||||||
|
Date: Wed, 19 May 2021 23:15:01 +0900
|
||||||
|
Subject: [PATCH] Fix using of temporary lexical variable causes error in
|
||||||
|
native compiling
|
||||||
|
|
||||||
|
---
|
||||||
|
polymode-core.el | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/polymode-core.el b/polymode-core.el
|
||||||
|
index e7d40be..ef316f8 100644
|
||||||
|
--- a/polymode-core.el
|
||||||
|
+++ b/polymode-core.el
|
||||||
|
@@ -2088,14 +2088,14 @@ Elements of LIST can be either strings or symbols."
|
||||||
|
(stringp pm--output-file)
|
||||||
|
(pm--file-mod-time pm--output-file)))
|
||||||
|
(imt (and omt (pm--file-mod-time pm--input-file)))
|
||||||
|
- (action (if is-exporter "exporting" "weaving"))
|
||||||
|
(ofile (if (and imt (time-less-p imt omt))
|
||||||
|
(progn
|
||||||
|
(message "Not re-%s as input file '%s' hasn't changed"
|
||||||
|
- (file-name-nondirectory ifile) action)
|
||||||
|
+ (if is-exporter "exporting" "weaving")
|
||||||
|
+ (file-name-nondirectory ifile))
|
||||||
|
pm--output-file)
|
||||||
|
(message "%s '%s' with '%s' ..."
|
||||||
|
- (capitalize action)
|
||||||
|
+ (if is-exporter "EXPORTING" "WEAVING")
|
||||||
|
(file-name-nondirectory ifile)
|
||||||
|
(eieio-object-name processor))
|
||||||
|
(let ((fn (with-no-warnings
|
||||||
|
|
||||||
|
base-commit: 44265e35161d77f6eaa09388ea2256b89bd5dcc8
|
||||||
|
--
|
||||||
|
2.37.2
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
|
;;; Copyright © 2020 Timotej Lazar <timotej.lazar@araneo.si>
|
||||||
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
;;; Copyright © 2020, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||||
|
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -385,36 +386,37 @@ Poppler PDF rendering library.")
|
||||||
|
|
||||||
(define-public libharu
|
(define-public libharu
|
||||||
(package
|
(package
|
||||||
(name "libharu")
|
(name "libharu")
|
||||||
(version "2.3.0")
|
(version "2.4.2")
|
||||||
(source (origin
|
(source
|
||||||
(method git-fetch)
|
(origin
|
||||||
(uri (git-reference
|
(method git-fetch)
|
||||||
(url "https://github.com/libharu/libharu")
|
(uri (git-reference
|
||||||
(commit (string-append
|
(url "https://github.com/libharu/libharu")
|
||||||
"RELEASE_"
|
(commit (string-append "v" version))))
|
||||||
(string-join (string-split version #\.) "_")))))
|
(file-name (git-file-name name version))
|
||||||
(file-name (git-file-name name version))
|
(sha256
|
||||||
(sha256
|
(base32 "1jwzqvv81zf5f7zssyixhyjirlp9ddwkbaabd177syb1bxljlsdc"))))
|
||||||
(base32
|
(build-system cmake-build-system)
|
||||||
"15s9hswnl3qqi7yh29jyrg0hma2n99haxznvcywmsp8kjqlyg75q"))))
|
(arguments
|
||||||
(build-system gnu-build-system)
|
(list #:tests? #f ; No tests
|
||||||
(arguments
|
#:phases
|
||||||
`(#:configure-flags
|
#~(modify-phases %standard-phases
|
||||||
(list (string-append "--with-zlib="
|
(add-after 'unpack 'patch-cmake
|
||||||
(assoc-ref %build-inputs "zlib"))
|
(lambda _
|
||||||
(string-append "--with-png="
|
(substitute* "CMakeLists.txt"
|
||||||
(assoc-ref %build-inputs "libpng")))))
|
(("^install\\(FILES (README\\.md CHANGES) INSTALL DESTINATION .*\\)"
|
||||||
(inputs
|
_ files)
|
||||||
(list zlib libpng))
|
(format #f "install(FILES ~a DESTINATION ~a/share/doc/~a-~a)"
|
||||||
(native-inputs
|
files #$output #$name #$version))))))))
|
||||||
(list autoconf automake libtool))
|
(inputs
|
||||||
(home-page "http://libharu.org/")
|
(list libpng zlib))
|
||||||
(synopsis "Library for generating PDF files")
|
(home-page "http://libharu.org/")
|
||||||
(description
|
(synopsis "Library for generating PDF files")
|
||||||
"libHaru is a library for generating PDF files. libHaru does not support
|
(description
|
||||||
|
"libHaru is a library for generating PDF files. libHaru does not support
|
||||||
reading and editing of existing PDF files.")
|
reading and editing of existing PDF files.")
|
||||||
(license license:zlib)))
|
(license license:zlib)))
|
||||||
|
|
||||||
(define-public xpdf
|
(define-public xpdf
|
||||||
(package
|
(package
|
||||||
|
|
|
@ -381,7 +381,7 @@
|
||||||
("libzip" ,libzip)
|
("libzip" ,libzip)
|
||||||
("oniguruma" ,oniguruma)
|
("oniguruma" ,oniguruma)
|
||||||
("openldap" ,openldap)
|
("openldap" ,openldap)
|
||||||
("openssl" ,openssl)
|
("openssl" ,openssl-1.1)
|
||||||
("pcre" ,pcre2)
|
("pcre" ,pcre2)
|
||||||
("postgresql" ,postgresql)
|
("postgresql" ,postgresql)
|
||||||
("readline" ,readline)
|
("readline" ,readline)
|
||||||
|
|
|
@ -269,14 +269,14 @@ colors, styles, options and details.")
|
||||||
(define-public asymptote
|
(define-public asymptote
|
||||||
(package
|
(package
|
||||||
(name "asymptote")
|
(name "asymptote")
|
||||||
(version "2.82")
|
(version "2.83")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://sourceforge/asymptote/"
|
(uri (string-append "mirror://sourceforge/asymptote/"
|
||||||
version "/asymptote-" version ".src.tgz"))
|
version "/asymptote-" version ".src.tgz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "13blmsapbai4hqynyj1r1sjpypdv6frfassl2f2x7j2ql1dbqvsg"))
|
(base32 "18w8nf0p1b3h74sk1b7w96kq5gcaq09idi4771ini7p594gsfg7y"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
;; Remove bundled RapidJSON.
|
;; Remove bundled RapidJSON.
|
||||||
|
|
|
@ -348,13 +348,13 @@ library.")
|
||||||
(define-public python-pandas
|
(define-public python-pandas
|
||||||
(package
|
(package
|
||||||
(name "python-pandas")
|
(name "python-pandas")
|
||||||
(version "1.4.2")
|
(version "1.4.4")
|
||||||
(source
|
(source
|
||||||
(origin
|
(origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (pypi-uri "pandas" version))
|
(uri (pypi-uri "pandas" version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32 "04lsak3j5hq2hk0vfjf532rdxdqmg2akamdl4yl3qipihp2izg4j"))))
|
(base32 "0ryv66s9cvd27q6a985vv556k2qlnlrdna2z7qc7bdhphrrhsv5b"))))
|
||||||
(build-system python-build-system)
|
(build-system python-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
`(#:modules ((guix build utils)
|
`(#:modules ((guix build utils)
|
||||||
|
|
|
@ -117,6 +117,9 @@
|
||||||
elogind-service
|
elogind-service
|
||||||
elogind-service-type
|
elogind-service-type
|
||||||
|
|
||||||
|
%gdm-file-system
|
||||||
|
gdm-file-system-service
|
||||||
|
|
||||||
%fontconfig-file-system
|
%fontconfig-file-system
|
||||||
fontconfig-file-system-service
|
fontconfig-file-system-service
|
||||||
|
|
||||||
|
@ -1232,6 +1235,13 @@ when they log out."
|
||||||
(flags '(read-only))
|
(flags '(read-only))
|
||||||
(check? #f)))
|
(check? #f)))
|
||||||
|
|
||||||
|
(define %gdm-file-system
|
||||||
|
(file-system
|
||||||
|
(device "none")
|
||||||
|
(mount-point "/var/lib/gdm")
|
||||||
|
(type "tmpfs")
|
||||||
|
(check? #f)))
|
||||||
|
|
||||||
;; The global fontconfig cache directory can sometimes contain stale entries,
|
;; The global fontconfig cache directory can sometimes contain stale entries,
|
||||||
;; possibly referencing fonts that have been GC'd, so mount it read-only.
|
;; possibly referencing fonts that have been GC'd, so mount it read-only.
|
||||||
;; As mentioned https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36924#8 and
|
;; As mentioned https://debbugs.gnu.org/cgi/bugreport.cgi?bug=36924#8 and
|
||||||
|
@ -1240,6 +1250,15 @@ when they log out."
|
||||||
(simple-service 'fontconfig-file-system
|
(simple-service 'fontconfig-file-system
|
||||||
file-system-service-type
|
file-system-service-type
|
||||||
(list %fontconfig-file-system)))
|
(list %fontconfig-file-system)))
|
||||||
|
|
||||||
|
;; Avoid stale caches and stale user IDs being reused between system
|
||||||
|
;; reconfigurations, which would crash GDM and render the system unusable.
|
||||||
|
;; GDM doesn't require persisting anything valuable there anyway.
|
||||||
|
(define gdm-file-system-service
|
||||||
|
(simple-service 'gdm-file-system
|
||||||
|
file-system-service-type
|
||||||
|
(list %gdm-file-system)))
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; AccountsService service.
|
;;; AccountsService service.
|
||||||
|
@ -1750,6 +1769,10 @@ applications needing access to be root.")
|
||||||
(list (file-append nfs-utils "/sbin/mount.nfs")
|
(list (file-append nfs-utils "/sbin/mount.nfs")
|
||||||
(file-append ntfs-3g "/sbin/mount.ntfs-3g"))))
|
(file-append ntfs-3g "/sbin/mount.ntfs-3g"))))
|
||||||
|
|
||||||
|
;; This is a volatile read-write file system mounted at /var/lib/gdm,
|
||||||
|
;; to avoid GDM stale cache and permission issues.
|
||||||
|
gdm-file-system-service
|
||||||
|
|
||||||
;; The global fontconfig cache directory can sometimes contain
|
;; The global fontconfig cache directory can sometimes contain
|
||||||
;; stale entries, possibly referencing fonts that have been GC'd,
|
;; stale entries, possibly referencing fonts that have been GC'd,
|
||||||
;; so mount it read-only.
|
;; so mount it read-only.
|
||||||
|
|
|
@ -818,27 +818,6 @@ the GNOME desktop environment.")
|
||||||
(home-directory "/var/lib/gdm")
|
(home-directory "/var/lib/gdm")
|
||||||
(shell (file-append shadow "/sbin/nologin")))))
|
(shell (file-append shadow "/sbin/nologin")))))
|
||||||
|
|
||||||
(define %gdm-activation
|
|
||||||
;; Ensure /var/lib/gdm is owned by the "gdm" user. This is normally the
|
|
||||||
;; case but could be wrong if the "gdm" user was created, then removed, and
|
|
||||||
;; then recreated under a different UID/GID: <https://bugs.gnu.org/37423>.
|
|
||||||
(with-imported-modules '((guix build utils))
|
|
||||||
#~(begin
|
|
||||||
(use-modules (guix build utils))
|
|
||||||
|
|
||||||
(let* ((gdm (getpwnam "gdm"))
|
|
||||||
(uid (passwd:uid gdm))
|
|
||||||
(gid (passwd:gid gdm))
|
|
||||||
(st (stat "/var/lib/gdm" #f)))
|
|
||||||
;; Recurse into /var/lib/gdm only if it has wrong ownership.
|
|
||||||
(when (and st
|
|
||||||
(or (not (= uid (stat:uid st)))
|
|
||||||
(not (= gid (stat:gid st)))))
|
|
||||||
(for-each (lambda (file)
|
|
||||||
(chown file uid gid))
|
|
||||||
(find-files "/var/lib/gdm"
|
|
||||||
#:directories? #t)))))))
|
|
||||||
|
|
||||||
(define dbus-daemon-wrapper
|
(define dbus-daemon-wrapper
|
||||||
(program-file
|
(program-file
|
||||||
"gdm-dbus-wrapper"
|
"gdm-dbus-wrapper"
|
||||||
|
@ -1022,8 +1001,6 @@ the GNOME desktop environment.")
|
||||||
(extensions
|
(extensions
|
||||||
(list (service-extension shepherd-root-service-type
|
(list (service-extension shepherd-root-service-type
|
||||||
gdm-shepherd-service)
|
gdm-shepherd-service)
|
||||||
(service-extension activation-service-type
|
|
||||||
(const %gdm-activation))
|
|
||||||
(service-extension account-service-type
|
(service-extension account-service-type
|
||||||
(const %gdm-accounts))
|
(const %gdm-accounts))
|
||||||
(service-extension pam-root-service-type
|
(service-extension pam-root-service-type
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
;;; Copyright © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||||
|
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -499,6 +500,12 @@ are unavailable."
|
||||||
(base-url (string-append base-url directory))
|
(base-url (string-append base-url directory))
|
||||||
(url (cond ((and=> (string->uri url) uri-scheme) ;full URL?
|
(url (cond ((and=> (string->uri url) uri-scheme) ;full URL?
|
||||||
url)
|
url)
|
||||||
|
;; full URL, except for URI scheme. Reuse the URI
|
||||||
|
;; scheme of the document that contains the link.
|
||||||
|
((string-prefix? "//" url)
|
||||||
|
(string-append
|
||||||
|
(symbol->string (uri-scheme (string->uri base-url)))
|
||||||
|
":" url))
|
||||||
((string-prefix? "/" url) ;absolute path?
|
((string-prefix? "/" url) ;absolute path?
|
||||||
(let ((uri (string->uri base-url)))
|
(let ((uri (string->uri base-url)))
|
||||||
(uri->string
|
(uri->string
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
||||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||||
|
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -81,10 +82,12 @@
|
||||||
(requirements gem-dependency-requirements)) ;string
|
(requirements gem-dependency-requirements)) ;string
|
||||||
|
|
||||||
|
|
||||||
(define (rubygems-fetch name)
|
(define* (rubygems-fetch name #:optional version)
|
||||||
"Return a <gem> record for the package NAME, or #f on failure."
|
"Return a <gem> record for the package NAME and VERSION, or #f on failure. If VERSION is #f or missing, return the latest version gem."
|
||||||
(and=> (json-fetch
|
(and=> (json-fetch
|
||||||
(string-append "https://rubygems.org/api/v1/gems/" name ".json"))
|
(if version
|
||||||
|
(string-append "https://rubygems.org/api/v2/rubygems/" name "/versions/" version ".json")
|
||||||
|
(string-append "https://rubygems.org/api/v1/gems/" name ".json")))
|
||||||
json->gem))
|
json->gem))
|
||||||
|
|
||||||
(define (ruby-package-name name)
|
(define (ruby-package-name name)
|
||||||
|
@ -122,8 +125,11 @@ VERSION, HASH, HOME-PAGE, DESCRIPTION, DEPENDENCIES, and LICENSES."
|
||||||
|
|
||||||
(define* (gem->guix-package package-name #:key (repo 'rubygems) version)
|
(define* (gem->guix-package package-name #:key (repo 'rubygems) version)
|
||||||
"Fetch the metadata for PACKAGE-NAME from rubygems.org, and return the
|
"Fetch the metadata for PACKAGE-NAME from rubygems.org, and return the
|
||||||
`package' s-expression corresponding to that package, or #f on failure."
|
`package' s-expression corresponding to that package, or #f on failure.
|
||||||
(let ((gem (rubygems-fetch package-name)))
|
Optionally include a VERSION string to fetch a specific version gem."
|
||||||
|
(let ((gem (if version
|
||||||
|
(rubygems-fetch package-name version)
|
||||||
|
(rubygems-fetch package-name))))
|
||||||
(if gem
|
(if gem
|
||||||
(let* ((dependencies-names (map gem-dependency-name
|
(let* ((dependencies-names (map gem-dependency-name
|
||||||
(gem-dependencies-runtime
|
(gem-dependencies-runtime
|
||||||
|
@ -189,4 +195,5 @@ package on RubyGems."
|
||||||
(recursive-import package-name
|
(recursive-import package-name
|
||||||
#:repo '()
|
#:repo '()
|
||||||
#:repo->guix-package gem->guix-package
|
#:repo->guix-package gem->guix-package
|
||||||
#:guix-name ruby-package-name))
|
#:guix-name ruby-package-name
|
||||||
|
#:version version))
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||||
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
|
;;; Copyright © 2021 Brice Waegeneire <brice@waegenei.re>
|
||||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||||
|
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -31,6 +32,7 @@
|
||||||
#:use-module (srfi srfi-37)
|
#:use-module (srfi srfi-37)
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (ice-9 format)
|
#:use-module (ice-9 format)
|
||||||
|
#:use-module (ice-9 receive)
|
||||||
#:export (guix-import-gem))
|
#:export (guix-import-gem))
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,8 +44,9 @@
|
||||||
'())
|
'())
|
||||||
|
|
||||||
(define (show-help)
|
(define (show-help)
|
||||||
(display (G_ "Usage: guix import gem PACKAGE-NAME
|
(display (G_ "Usage: guix import gem PACKAGE-NAME[@VERSION] Import and
|
||||||
Import and convert the RubyGems package for PACKAGE-NAME.\n"))
|
convert the RubyGems package for PACKAGE-NAME. Optionally, a version can be
|
||||||
|
specified after the at-sign (@) character.\n"))
|
||||||
(display (G_ "
|
(display (G_ "
|
||||||
-h, --help display this help and exit"))
|
-h, --help display this help and exit"))
|
||||||
(display (G_ "
|
(display (G_ "
|
||||||
|
@ -86,21 +89,23 @@ Import and convert the RubyGems package for PACKAGE-NAME.\n"))
|
||||||
(_ #f))
|
(_ #f))
|
||||||
(reverse opts))))
|
(reverse opts))))
|
||||||
(match args
|
(match args
|
||||||
((package-name)
|
((spec)
|
||||||
(let ((code (if (assoc-ref opts 'recursive)
|
(receive (package-name package-version)
|
||||||
(map (match-lambda
|
(package-name->name+version spec)
|
||||||
((and ('package ('name name) . rest) pkg)
|
(let ((code (if (assoc-ref opts 'recursive)
|
||||||
`(define-public ,(string->symbol name)
|
(map (match-lambda
|
||||||
,pkg))
|
((and ('package ('name name) . rest) pkg)
|
||||||
(_ #f))
|
`(define-public ,(string->symbol name)
|
||||||
(gem-recursive-import package-name 'rubygems))
|
,pkg))
|
||||||
(let ((sexp (gem->guix-package package-name)))
|
(_ #f))
|
||||||
(if sexp sexp #f)))))
|
(gem-recursive-import package-name package-version))
|
||||||
(match code
|
(let ((sexp (gem->guix-package package-name #:version package-version)))
|
||||||
((or #f '(#f))
|
(if sexp sexp #f)))))
|
||||||
(leave (G_ "failed to download meta-data for package '~a'~%")
|
(match code
|
||||||
package-name))
|
((or #f '(#f))
|
||||||
(_ code))))
|
(leave (G_ "failed to download meta-data for package '~a'~%")
|
||||||
|
package-name))
|
||||||
|
(_ code)))))
|
||||||
(()
|
(()
|
||||||
(leave (G_ "too few arguments~%")))
|
(leave (G_ "too few arguments~%")))
|
||||||
((many ...)
|
((many ...)
|
||||||
|
|
113
tests/gem.scm
113
tests/gem.scm
|
@ -3,6 +3,7 @@
|
||||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||||
|
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -44,6 +45,22 @@
|
||||||
\"licenses\": [\"MIT\", \"Apache 2.0\"]
|
\"licenses\": [\"MIT\", \"Apache 2.0\"]
|
||||||
}")
|
}")
|
||||||
|
|
||||||
|
(define test-foo-v2-json
|
||||||
|
"{
|
||||||
|
\"name\": \"foo\",
|
||||||
|
\"version\": \"2.0.0\",
|
||||||
|
\"sha\": \"f3676eafca9987cb5fe263df1edf2538bf6dafc712b30e17be3543a9680547a8\",
|
||||||
|
\"info\": \"A cool gem\",
|
||||||
|
\"homepage_uri\": \"https://example.com\",
|
||||||
|
\"dependencies\": {
|
||||||
|
\"runtime\": [
|
||||||
|
{ \"name\": \"bundler\" },
|
||||||
|
{ \"name\": \"bar\" }
|
||||||
|
]
|
||||||
|
},
|
||||||
|
\"licenses\": [\"MIT\", \"Apache 2.0\"]
|
||||||
|
}")
|
||||||
|
|
||||||
(define test-bar-json
|
(define test-bar-json
|
||||||
"{
|
"{
|
||||||
\"name\": \"bar\",
|
\"name\": \"bar\",
|
||||||
|
@ -103,6 +120,35 @@
|
||||||
(x
|
(x
|
||||||
(pk 'fail x #f)))))
|
(pk 'fail x #f)))))
|
||||||
|
|
||||||
|
(test-assert "gem->guix-package with a specific version"
|
||||||
|
;; Replace network resources with sample data.
|
||||||
|
(mock ((guix http-client) http-fetch
|
||||||
|
(lambda (url . rest)
|
||||||
|
(match url
|
||||||
|
("https://rubygems.org/api/v2/rubygems/foo/versions/2.0.0.json"
|
||||||
|
(values (open-input-string test-foo-v2-json)
|
||||||
|
(string-length test-foo-v2-json)))
|
||||||
|
(_ (error "Unexpected URL: " url)))))
|
||||||
|
(match (gem->guix-package "foo" #:version "2.0.0")
|
||||||
|
(('package
|
||||||
|
('name "ruby-foo")
|
||||||
|
('version "2.0.0")
|
||||||
|
('source ('origin
|
||||||
|
('method 'url-fetch)
|
||||||
|
('uri ('rubygems-uri "foo" 'version))
|
||||||
|
('sha256
|
||||||
|
('base32
|
||||||
|
"1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
|
||||||
|
('build-system 'ruby-build-system)
|
||||||
|
('propagated-inputs ('list 'bundler 'ruby-bar))
|
||||||
|
('synopsis "A cool gem")
|
||||||
|
('description "This package provides a cool gem")
|
||||||
|
('home-page "https://example.com")
|
||||||
|
('license ('list 'license:expat 'license:asl2.0)))
|
||||||
|
#t)
|
||||||
|
(x
|
||||||
|
(pk 'fail x #f)))))
|
||||||
|
|
||||||
(test-assert "gem-recursive-import"
|
(test-assert "gem-recursive-import"
|
||||||
;; Replace network resources with sample data.
|
;; Replace network resources with sample data.
|
||||||
(mock ((guix http-client) http-fetch
|
(mock ((guix http-client) http-fetch
|
||||||
|
@ -170,4 +216,71 @@
|
||||||
(x
|
(x
|
||||||
(pk 'fail x #f)))))
|
(pk 'fail x #f)))))
|
||||||
|
|
||||||
|
(test-assert "gem-recursive-import with a specific version"
|
||||||
|
;; Replace network resources with sample data.
|
||||||
|
(mock ((guix http-client) http-fetch
|
||||||
|
(lambda (url . rest)
|
||||||
|
(match url
|
||||||
|
("https://rubygems.org/api/v2/rubygems/foo/versions/2.0.0.json"
|
||||||
|
(values (open-input-string test-foo-v2-json)
|
||||||
|
(string-length test-foo-v2-json)))
|
||||||
|
("https://rubygems.org/api/v1/gems/bar.json"
|
||||||
|
(values (open-input-string test-bar-json)
|
||||||
|
(string-length test-bar-json)))
|
||||||
|
("https://rubygems.org/api/v1/gems/bundler.json"
|
||||||
|
(values (open-input-string test-bundler-json)
|
||||||
|
(string-length test-bundler-json)))
|
||||||
|
(_ (error "Unexpected URL: " url)))))
|
||||||
|
(match (gem-recursive-import "foo" "2.0.0")
|
||||||
|
((('package
|
||||||
|
('name "ruby-bar")
|
||||||
|
('version "1.0.0")
|
||||||
|
('source
|
||||||
|
('origin
|
||||||
|
('method 'url-fetch)
|
||||||
|
('uri ('rubygems-uri "bar" 'version))
|
||||||
|
('sha256
|
||||||
|
('base32
|
||||||
|
"1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
|
||||||
|
('build-system 'ruby-build-system)
|
||||||
|
('propagated-inputs ('list 'bundler))
|
||||||
|
('synopsis "Another cool gem")
|
||||||
|
('description "Another cool gem")
|
||||||
|
('home-page "https://example.com")
|
||||||
|
('license #f)) ;no licensing info
|
||||||
|
('package
|
||||||
|
('name "ruby-bundler")
|
||||||
|
('version "1.14.2")
|
||||||
|
('source
|
||||||
|
('origin
|
||||||
|
('method 'url-fetch)
|
||||||
|
('uri ('rubygems-uri "bundler" 'version))
|
||||||
|
('sha256
|
||||||
|
('base32
|
||||||
|
"1446xiz7zg0bz7kgx9jv84y0s4hpsg61dj5l3qb0i00avc1kxd9v"))))
|
||||||
|
('build-system 'ruby-build-system)
|
||||||
|
('synopsis "Ruby gem bundler")
|
||||||
|
('description "Ruby gem bundler")
|
||||||
|
('home-page "https://bundler.io/")
|
||||||
|
('license 'license:expat))
|
||||||
|
('package
|
||||||
|
('name "ruby-foo")
|
||||||
|
('version "2.0.0")
|
||||||
|
('source
|
||||||
|
('origin
|
||||||
|
('method 'url-fetch)
|
||||||
|
('uri ('rubygems-uri "foo" 'version))
|
||||||
|
('sha256
|
||||||
|
('base32
|
||||||
|
"1a270mlajhrmpqbhxcqjqypnvgrq4pgixpv3w9gwp1wrrapnwrzk"))))
|
||||||
|
('build-system 'ruby-build-system)
|
||||||
|
('propagated-inputs ('list 'bundler 'ruby-bar))
|
||||||
|
('synopsis "A cool gem")
|
||||||
|
('description "This package provides a cool gem")
|
||||||
|
('home-page "https://example.com")
|
||||||
|
('license ('list 'license:expat 'license:asl2.0))))
|
||||||
|
#t)
|
||||||
|
(x
|
||||||
|
(pk 'fail x #f)))))
|
||||||
|
|
||||||
(test-end "gem")
|
(test-end "gem")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2015, 2021 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2015, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -18,6 +19,10 @@
|
||||||
|
|
||||||
(define-module (test-gnu-maintenance)
|
(define-module (test-gnu-maintenance)
|
||||||
#:use-module (guix gnu-maintenance)
|
#:use-module (guix gnu-maintenance)
|
||||||
|
#:use-module (guix tests)
|
||||||
|
#:use-module (guix tests http)
|
||||||
|
#:use-module (guix upstream)
|
||||||
|
#:use-module (guix utils)
|
||||||
#:use-module (srfi srfi-1)
|
#:use-module (srfi srfi-1)
|
||||||
#:use-module (srfi srfi-64)
|
#:use-module (srfi srfi-64)
|
||||||
#:use-module (ice-9 match))
|
#:use-module (ice-9 match))
|
||||||
|
@ -55,4 +60,28 @@
|
||||||
("mpg321_0.3.2.orig.tar.gz" "0.3.2")
|
("mpg321_0.3.2.orig.tar.gz" "0.3.2")
|
||||||
("bvi-1.4.1.src.tar.gz" "1.4.1")))))
|
("bvi-1.4.1.src.tar.gz" "1.4.1")))))
|
||||||
|
|
||||||
|
(test-assert "latest-html-release, scheme-less URIs"
|
||||||
|
(with-http-server
|
||||||
|
`((200 "<html xmlns=\"http://www.w3.org/1999/xhtml\">
|
||||||
|
<head>
|
||||||
|
<title>Releases (on another domain)!</title>
|
||||||
|
</head>
|
||||||
|
<body
|
||||||
|
<a href=\"//another-site/foo-2.tar.gz\">version 1</a>
|
||||||
|
</body>
|
||||||
|
</html>"))
|
||||||
|
(let ()
|
||||||
|
(define package
|
||||||
|
(dummy-package "foo"
|
||||||
|
(source
|
||||||
|
(dummy-origin
|
||||||
|
(uri (string-append (%local-url) "/foo-1.tar.gz"))))
|
||||||
|
(properties
|
||||||
|
`((release-monitoring-url . ,(%local-url))))))
|
||||||
|
(define update ((upstream-updater-latest %generic-html-updater) package))
|
||||||
|
(define expected-new-url "http://another-site/foo-2.tar.gz")
|
||||||
|
(and (pk 'u update)
|
||||||
|
(equal? (upstream-source-version update) "2")
|
||||||
|
(equal? (list expected-new-url) (upstream-source-urls update))))))
|
||||||
|
|
||||||
(test-end)
|
(test-end)
|
||||||
|
|
Reference in New Issue