Merge branch 'master' into staging
This commit is contained in:
commit
51482db4da
@ -13219,6 +13219,12 @@ The command below imports metadata for the @code{rails} Ruby package:
|
||||
guix import gem rails
|
||||
@end example
|
||||
|
||||
You can also ask for a specific version:
|
||||
|
||||
@example
|
||||
guix import gem @@7.0.4
|
||||
@end example
|
||||
|
||||
@table @code
|
||||
@item --recursive
|
||||
@itemx -r
|
||||
|
@ -52,6 +52,7 @@
|
||||
# Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
|
||||
# Copyright © 2022 John Kehayias <john.kehayias@protonmail.com>
|
||||
# Copyright © 2022 muradm <mail@muradm.net>
|
||||
# Copyright © 2022 Hilton Chain <hako@ultrarare.space>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
@ -1046,12 +1047,14 @@ dist_patch_DATA = \
|
||||
%D%/packages/patches/emacs-highlight-stages-add-gexp.patch \
|
||||
%D%/packages/patches/emacs-libgit-use-system-libgit2.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-telega-path-placeholder.patch \
|
||||
%D%/packages/patches/emacs-telega-test-env.patch \
|
||||
%D%/packages/patches/emacs-wordnut-require-adaptive-wrap.patch \
|
||||
%D%/packages/patches/emacs-yasnippet-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/enlightenment-fix-setuid-path.patch \
|
||||
%D%/packages/patches/erlang-man-path.patch \
|
||||
|
@ -1348,6 +1348,28 @@ color scheme used by Visual Studio Code.")
|
||||
Apprentice and Sourcerer.")
|
||||
(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
|
||||
(package
|
||||
(name "emacs-treepy")
|
||||
@ -2572,6 +2594,30 @@ light user interface.")
|
||||
within a specified width. It is useful for displaying long track titles.")
|
||||
(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.
|
||||
@ -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.")
|
||||
(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
|
||||
(package
|
||||
(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.")
|
||||
(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
|
||||
(let ((commit "77a83fb50f763a465c021eca7343243f465b4a47")
|
||||
(revision "0"))
|
||||
@ -6725,14 +6854,14 @@ user.")
|
||||
(define-public emacs-subed
|
||||
(package
|
||||
(name "emacs-subed")
|
||||
(version "1.0.8")
|
||||
(version "1.0.9")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"05dx4ywma7n73d0cihf4v8ayihm7gmfqpzvdycq4yk0zkxb958z1"))))
|
||||
"192m7pg8hiqx7ppr1sk6n5qjcbz78dmcg6m14syq12ll07zfpcm0"))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #t
|
||||
@ -15755,7 +15884,7 @@ gnugo-image-display-mode}.")
|
||||
(define-public emacs-transpose-frame
|
||||
(package
|
||||
(name "emacs-transpose-frame")
|
||||
(version "0.2.0")
|
||||
(version "0.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -15764,7 +15893,7 @@ gnugo-image-display-mode}.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "01j4ci0c52r2c31hc9r4p7nsb6s8blmvg50g9n5v5h3afjl1c35v"))))
|
||||
(base32 "0m9jmfwwhgkwxbq3y000ymx7parbgqr7gq3yjm2wh1ll747gv51y"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://www.emacswiki.org/emacs/TransposeFrame")
|
||||
(synopsis "Transpose window arrangement in current frame")
|
||||
@ -15773,6 +15902,31 @@ functions which allows users to transpose windows arrangement in currently
|
||||
selected frame.")
|
||||
(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
|
||||
(package
|
||||
(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
|
||||
(package
|
||||
(name "emacs-ement")
|
||||
(version "0.1.3")
|
||||
(version "0.1.4")
|
||||
(source
|
||||
(origin
|
||||
(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))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "075mwlc616rr86zgli36n6r8w09c5cvlk43by0f1xzla5rmiza8r"))))
|
||||
(base32 "1kms6l14h6ig8kphzpkxv16z7gpvcwvcfsp5ljssdnrx0c7dzz16"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:emacs ,emacs)) ;need libxml support
|
||||
@ -17525,7 +17679,10 @@ contexts.
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(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)
|
||||
(home-page "https://github.com/polymode/polymode")
|
||||
(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
|
||||
(package
|
||||
(name "emacs-parsebib")
|
||||
(version "4.2")
|
||||
(version "4.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -19301,7 +19458,7 @@ files to be expanded upon opening them.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0da4b6d65bq9xhyhq7h9g315zg6g5q9435vz870la966rgav5szd"))))
|
||||
(base32 "0vcl2wvxwpr62c9ym0fm3qaxzhjcrpk4r6r0zaqhkvlf8qr3rg8y"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/joostkremers/parsebib")
|
||||
(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
|
||||
(package
|
||||
(name "emacs-move-text")
|
||||
(version "2.0.8")
|
||||
(version "2.0.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -19628,7 +19785,7 @@ that it can display an error message showing how the parser fails.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "06jxk5g23822gfmwrxhc34zand3dr8p2wjh1zs3j61ibz6n0nmz1"))))
|
||||
(base32 "0pxvipjp9xvr9zwiwij943jgpy7fk8pxphbdj0vrg8ar5avlqiam"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/emacsfodder/move-text")
|
||||
(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
|
||||
(package
|
||||
(name "emacs-logview")
|
||||
(version "0.15")
|
||||
(version "0.15.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -21014,7 +21171,7 @@ and doesn't require memorisation of commands.
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "08bn7fj336krlrsf7flk0fgx9mdkd44vq8sxyx6s1c1q5bc0hqnk"))))
|
||||
(base32 "1khri5632pjirj191x3ps94s4pyrwapf1pbrkmqqp0d26b50d3s2"))))
|
||||
(propagated-inputs
|
||||
(list emacs-datetime emacs-extmap))
|
||||
(build-system emacs-build-system)
|
||||
@ -30320,14 +30477,14 @@ detected language.")
|
||||
(define-public emacs-persist
|
||||
(package
|
||||
(name "emacs-persist")
|
||||
(version "0.4")
|
||||
(version "0.5")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/"
|
||||
"persist-" version ".tar"))
|
||||
(sha256
|
||||
(base32 "0gpxy41qawzss2526j9a7lys60vqma1lvamn4bfabwza7gfhac0q"))))
|
||||
(base32 "090n4479zs82by7a3vb551gyjvv8lpfcylk43ywr2lfyssc9xiq0"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "http://elpa.gnu.org/packages/persist.html")
|
||||
(synopsis "Persist variables between Emacs sessions")
|
||||
@ -30655,6 +30812,34 @@ conventions.")
|
||||
snippets for Emacs.")
|
||||
(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
|
||||
(package
|
||||
(name "emacs-org-roam")
|
||||
@ -30717,6 +30902,34 @@ as a plug-and-play solution for anyone already using Org mode for their
|
||||
personal wiki.")
|
||||
(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
|
||||
(package
|
||||
(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
|
||||
(package
|
||||
(name "emacs-xref")
|
||||
(version "1.5.0")
|
||||
(version "1.5.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/xref-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32 "0xl6aiwkjbgs44c3wxk6s85diydm3y5lsd7znb0dhbqb7milid2d"))))
|
||||
(base32 "131jxsc1sl8q3r9drhylwyfig9qjjkj3hilv3npidp868pr7xdna"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "http://elpa.gnu.org/packages/xref.html")
|
||||
(synopsis "Cross-referencing commands")
|
||||
@ -32155,14 +32368,14 @@ are prefixed with @code{seq-} and work on lists, strings, and vectors.")
|
||||
(define-public emacs-setup
|
||||
(package
|
||||
(name "emacs-setup")
|
||||
(version "1.3.0")
|
||||
(version "1.3.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/setup-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32 "0r13ry73jm31j8fq7v1sh0k113fr4blfkiz85696bdpah2pnca87"))))
|
||||
(base32 "0n9zjclf4b2sr8c8zd37fs45p25p3856frm419c9hch69hhcsv3a"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://git.sr.ht/~pkal/setup")
|
||||
(synopsis "Helpful configuration macro")
|
||||
|
@ -409,6 +409,10 @@ languages.")
|
||||
(package
|
||||
(inherit emacs-next)
|
||||
(name "emacs-next-pgtk")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source emacs-next))
|
||||
(patches (search-patches "emacs-pgtk-super-key-fix.patch"))))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments emacs-next)
|
||||
((#:configure-flags flags #~'())
|
||||
|
@ -447,8 +447,15 @@ converts any cubic curves to quadratic. The most useful function is probably
|
||||
(sha256
|
||||
(base32 "068hm62s1iphyg66w96vgiif6ahpcsaf8fr44rk6jdf71f6fyqd5"))))
|
||||
(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
|
||||
(list python-pytest python-pytest-runner python-setuptools-scm))
|
||||
(list python-pytest python-setuptools-scm))
|
||||
(propagated-inputs
|
||||
(list python-booleanoperations
|
||||
python-cffsubr
|
||||
|
@ -2367,7 +2367,14 @@ visualization.")
|
||||
(version-major version) "/SAGA%20-%20" version
|
||||
"/saga-" version ".tar.gz"))
|
||||
(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)
|
||||
(native-inputs
|
||||
(list pkg-config swig))
|
||||
|
@ -2292,6 +2292,7 @@ The gnome-about program helps find which version of GNOME is installed.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags '("-Dlogind=libelogind")
|
||||
#:meson ,meson-0.60
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||
@ -5904,7 +5905,10 @@ services for numerous locations.")
|
||||
"-Dsystemd=false"
|
||||
;; Otherwise, the RUNPATH will lack the final path component.
|
||||
(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
|
||||
#~(modify-phases %standard-phases
|
||||
(add-before 'configure 'set-baobab-file-name
|
||||
@ -9712,7 +9716,8 @@ can add your own files to the collection.")
|
||||
"15wmikwk62cdi93gas77nqh4fbhlrxrncyfmcd1gfa34jbn7vnsa"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:glib-or-gtk? #t
|
||||
`(#:meson ,meson-0.60
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||
@ -9754,6 +9759,8 @@ beautifying border effects.")
|
||||
(base32
|
||||
"1qvrxrk1h8bd75xwasxbvlkqrw6xkavjimvc7sslkw6lvb3z86jp"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:meson meson-0.60))
|
||||
(native-inputs
|
||||
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, gio-2.0.
|
||||
("gtk+-bin" ,gtk+ "bin") ; for gtk-update-icon-cache
|
||||
@ -11857,7 +11864,7 @@ higher level porcelain stuff.")
|
||||
gsettings-desktop-schemas
|
||||
gspell
|
||||
gtk+
|
||||
gtksourceview
|
||||
gtksourceview-4
|
||||
json-glib
|
||||
libdazzle
|
||||
libgee
|
||||
@ -12123,6 +12130,7 @@ desktop environment.")
|
||||
gspell
|
||||
gtk
|
||||
gjs
|
||||
libadwaita
|
||||
libsecret
|
||||
libsoup
|
||||
telepathy-glib
|
||||
|
@ -324,14 +324,18 @@ many popular formats.")
|
||||
(snippet
|
||||
'(begin
|
||||
(for-each
|
||||
(lambda (dir)
|
||||
(delete-file-recursively
|
||||
(string-append "ThirdParty/" dir "/vtk" dir)))
|
||||
;; pugixml depended upon unconditionally
|
||||
'("doubleconversion" "eigen" "expat" "freetype" "gl2ps"
|
||||
"glew" "hdf5" "jpeg" "jsoncpp" "libproj" "libxml2" "lz4"
|
||||
"netcdf" "ogg" "png" "sqlite" "theora" "tiff" "zlib"))
|
||||
#t))))
|
||||
(lambda (dir)
|
||||
(delete-file-recursively
|
||||
(string-append "ThirdParty/" dir "/vtk" dir)))
|
||||
;; pugixml depended upon unconditionally
|
||||
'("doubleconversion" "eigen" "expat" "freetype" "gl2ps"
|
||||
"glew" "hdf5" "jpeg" "jsoncpp" "libharu" "libproj"
|
||||
"libxml2" "lz4" "netcdf" "ogg" "png" "sqlite" "theora"
|
||||
"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/")))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
@ -348,6 +352,7 @@ many popular formats.")
|
||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_hdf5=ON"
|
||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_jpeg=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_libxml2=ON"
|
||||
"-DVTK_MODULE_USE_EXTERNAL_VTK_lz4=ON"
|
||||
@ -381,6 +386,7 @@ many popular formats.")
|
||||
glew
|
||||
glu
|
||||
hdf5
|
||||
libharu
|
||||
libjpeg-turbo
|
||||
jsoncpp
|
||||
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
|
||||
;; 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 deblob-scripts-5.19
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.19-version
|
||||
linux-libre-5.19-gnu-revision
|
||||
(base32 "1lk90psz33ldb8aiaws4iayhycl5bmywr6badvzffjpr87s5phxw")
|
||||
(base32 "1ph67fvg5qvlkh4cynrrmvkngkb0sw6k90b1mwy9466s24khn05i")))
|
||||
(base32 "092myqjixvy1k3ylcj0hfc4whfxapjvxsxm4gk30a3jv5dnh7mly")))
|
||||
(define-public linux-libre-5.19-pristine-source
|
||||
(let ((version linux-libre-5.19-version)
|
||||
(hash (base32 "1kl7fifsa6vsm34xg3kd2svhx18n771hfj67nhwnlalmb9whhqv1")))
|
||||
(hash (base32 "0dvzjbyknzlx4ndz77fsm6v28fj2chxbq1z85fbc3bckcscbbm8a")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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.
|
||||
;; Here are the support timelines:
|
||||
;; <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 deblob-scripts-5.15
|
||||
(linux-libre-deblob-scripts
|
||||
linux-libre-5.15-version
|
||||
linux-libre-5.15-gnu-revision
|
||||
(base32 "0vj60bra81fmbx3lz924czbhxs4dmvd4d584g9mcs80b7c4q52kg")
|
||||
(base32 "1r189c704jvizk452zcsm9v3g27ybjcjchjwxazsy3nx0wdwx7si")))
|
||||
(base32 "048r4synfax2ajyzlmp672b68yshxwlfccdah2vz1kh88rqfmgsc")))
|
||||
(define-public linux-libre-5.15-pristine-source
|
||||
(let ((version linux-libre-5.15-version)
|
||||
(hash (base32 "0h7r2k59jsw8ykb2p7nxrpazbwx1n5p3nmfbbj1lhib91fldjiys")))
|
||||
(hash (base32 "0zlb44bwpc0hwfynzz5v5b3lkv4aha7w5737ns1qb8cvbk5v7fqp")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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 deblob-scripts-5.10
|
||||
(linux-libre-deblob-scripts
|
||||
@ -397,12 +397,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1981axxswghza3iadp94q54y8w30h9w9vyq4cbjiiv9alvbv0pb8")))
|
||||
(define-public linux-libre-5.10-pristine-source
|
||||
(let ((version linux-libre-5.10-version)
|
||||
(hash (base32 "0s52vfvw5pgnq7gq9n66ib05ryhkxwv765f16862l5gykbdynirz")))
|
||||
(hash (base32 "14af0lsvgh1k0fh283d0nrm1pkrk2kaf2mz0ab59vlvjybg9wb7s")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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 deblob-scripts-5.4
|
||||
(linux-libre-deblob-scripts
|
||||
@ -412,12 +412,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "1vnjbdyssa7dwyjl9kg35alwvf7yh597cl74yr1wy2gk5bc9paw6")))
|
||||
(define-public linux-libre-5.4-pristine-source
|
||||
(let ((version linux-libre-5.4-version)
|
||||
(hash (base32 "1hngr4hsrcd6hmlyvc3msy5racniav2jagp5abmp7xsxv0yjxiq9")))
|
||||
(hash (base32 "1wdssqmac66zqsnq5lx2z8ampa0rd3qswg0gm1sh6n3y8xlf2z76")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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 deblob-scripts-4.19
|
||||
(linux-libre-deblob-scripts
|
||||
@ -427,12 +427,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
|
||||
(define-public linux-libre-4.19-pristine-source
|
||||
(let ((version linux-libre-4.19-version)
|
||||
(hash (base32 "0izaldl2l2zsshkd07qsnr9x6ikipmj5jp7lxr8dyz7kf2m17pga")))
|
||||
(hash (base32 "002sw8b272dzkp3vff0x89sbj5p3vrrikqygfdgrsxv7k3w4459x")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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 deblob-scripts-4.14
|
||||
(linux-libre-deblob-scripts
|
||||
@ -442,12 +442,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "00i91lx938nqlgy63hiricqd0fnbbf26vgya9c5lb7m1f4x324im")))
|
||||
(define-public linux-libre-4.14-pristine-source
|
||||
(let ((version linux-libre-4.14-version)
|
||||
(hash (base32 "0zc97qy62dhc5xkjnvsfn4lpl4dgrj23hlxvxcr4cr8sj0hxzx3h")))
|
||||
(hash (base32 "047gl9nqrvpi9jaxlmhfnx848qvnrhf13710ka8fwn3lyv22k342")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
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 deblob-scripts-4.9
|
||||
(linux-libre-deblob-scripts
|
||||
@ -457,7 +457,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
|
||||
(base32 "0bib3641dbcqdkx3anna3caxnsg3nw9cnmhcklq0s93g3m57041h")))
|
||||
(define-public linux-libre-4.9-pristine-source
|
||||
(let ((version linux-libre-4.9-version)
|
||||
(hash (base32 "1lh63viynf9f7vl0a52mnal8jack9lbqfsfammwkxi3kafpw30r2")))
|
||||
(hash (base32 "1px2np3k796cjwq1sp9gfxyql6hqyqya82vq9cb5y0canq6fqmg8")))
|
||||
(make-linux-libre-source version
|
||||
(%upstream-linux-source version hash)
|
||||
deblob-scripts-4.9)))
|
||||
|
@ -1253,45 +1253,45 @@ of xmpppy.")
|
||||
"3.9"
|
||||
"/site-packages"))))))
|
||||
(native-inputs
|
||||
`(("gettext" ,gettext-minimal)
|
||||
("glib:bin" ,glib "bin")
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
("gtk+:bin" ,gtk+ "bin")
|
||||
("python-distutils-extra" ,python-distutils-extra)
|
||||
("python-setuptools" ,python-setuptools)
|
||||
("xorg-server" ,xorg-server-for-tests)))
|
||||
(list gettext-minimal
|
||||
`(,glib "bin")
|
||||
gobject-introspection
|
||||
`(,gtk+ "bin")
|
||||
python-distutils-extra
|
||||
python-setuptools
|
||||
xorg-server-for-tests))
|
||||
(inputs
|
||||
`(("avahi" ,avahi)
|
||||
("dbus" ,dbus)
|
||||
("farstream" ,farstream)
|
||||
("geoclue" ,geoclue)
|
||||
("glib" ,glib)
|
||||
("glib-networking" ,glib-networking)
|
||||
("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
|
||||
("gsound",gsound)
|
||||
("gspell" ,gspell)
|
||||
("gstreamer" ,gstreamer)
|
||||
("gst-plugins-base" ,gst-plugins-base)
|
||||
("gtk+" ,gtk+)
|
||||
("gtksourceview" ,gtksourceview)
|
||||
("gupnp-igd" ,gupnp-igd)
|
||||
("libappindicator" ,libappindicator)
|
||||
("libnice" ,libnice)
|
||||
("libsecret" ,libsecret)
|
||||
("libsoup" ,libsoup)
|
||||
("libxss" ,libxscrnsaver)
|
||||
("network-manager" ,network-manager)
|
||||
("python-css-parser" ,python-css-parser)
|
||||
("python-dbus" ,python-dbus)
|
||||
("python-gssapi" ,python-gssapi)
|
||||
("python-keyring" ,python-keyring)
|
||||
("python-nbxmpp" ,python-nbxmpp)
|
||||
("python-packaging" ,python-packaging)
|
||||
("python-pillow" ,python-pillow)
|
||||
("python-precis-i18n" ,python-precis-i18n)
|
||||
("python-pycairo" ,python-pycairo)
|
||||
("python-pygobject" ,python-pygobject)
|
||||
("python-pyopenssl" ,python-pyopenssl)))
|
||||
(list avahi
|
||||
dbus
|
||||
farstream
|
||||
geoclue
|
||||
glib
|
||||
glib-networking
|
||||
gsettings-desktop-schemas
|
||||
gsound
|
||||
gspell
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gtk+
|
||||
gtksourceview-4
|
||||
gupnp-igd
|
||||
libappindicator
|
||||
libnice
|
||||
libsecret
|
||||
libsoup
|
||||
libxscrnsaver
|
||||
network-manager
|
||||
python-css-parser
|
||||
python-dbus
|
||||
python-gssapi
|
||||
python-keyring
|
||||
python-nbxmpp
|
||||
python-packaging
|
||||
python-pillow
|
||||
python-precis-i18n
|
||||
python-pycairo
|
||||
python-pygobject
|
||||
python-pyopenssl))
|
||||
(propagated-inputs
|
||||
(list dconf))
|
||||
(synopsis "Fully-featured XMPP client")
|
||||
|
@ -155,7 +155,7 @@ time-stamping or reference clock, sub-microsecond accuracy is possible.")
|
||||
#t))))
|
||||
(native-inputs (list which pkg-config))
|
||||
(inputs
|
||||
`(("openssl" ,openssl)
|
||||
`(("openssl" ,openssl-1.1)
|
||||
("libevent" ,libevent)
|
||||
;; Build with POSIX capabilities support on GNU/Linux. This allows 'ntpd'
|
||||
;; to run as non-root (when invoked with '-u'.)
|
||||
|
49
gnu/packages/patches/emacs-pgtk-super-key-fix.patch
Normal file
49
gnu/packages/patches/emacs-pgtk-super-key-fix.patch
Normal file
@ -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, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
|
||||
;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -381,36 +382,37 @@ Poppler PDF rendering library.")
|
||||
|
||||
(define-public libharu
|
||||
(package
|
||||
(name "libharu")
|
||||
(version "2.3.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libharu/libharu")
|
||||
(commit (string-append
|
||||
"RELEASE_"
|
||||
(string-join (string-split version #\.) "_")))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"15s9hswnl3qqi7yh29jyrg0hma2n99haxznvcywmsp8kjqlyg75q"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list (string-append "--with-zlib="
|
||||
(assoc-ref %build-inputs "zlib"))
|
||||
(string-append "--with-png="
|
||||
(assoc-ref %build-inputs "libpng")))))
|
||||
(inputs
|
||||
(list zlib libpng))
|
||||
(native-inputs
|
||||
(list autoconf automake libtool))
|
||||
(home-page "http://libharu.org/")
|
||||
(synopsis "Library for generating PDF files")
|
||||
(description
|
||||
"libHaru is a library for generating PDF files. libHaru does not support
|
||||
(name "libharu")
|
||||
(version "2.4.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/libharu/libharu")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1jwzqvv81zf5f7zssyixhyjirlp9ddwkbaabd177syb1bxljlsdc"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
(list #:tests? #f ; No tests
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-cmake
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("^install\\(FILES (README\\.md CHANGES) INSTALL DESTINATION .*\\)"
|
||||
_ files)
|
||||
(format #f "install(FILES ~a DESTINATION ~a/share/doc/~a-~a)"
|
||||
files #$output #$name #$version))))))))
|
||||
(inputs
|
||||
(list libpng zlib))
|
||||
(home-page "http://libharu.org/")
|
||||
(synopsis "Library for generating PDF files")
|
||||
(description
|
||||
"libHaru is a library for generating PDF files. libHaru does not support
|
||||
reading and editing of existing PDF files.")
|
||||
(license license:zlib)))
|
||||
(license license:zlib)))
|
||||
|
||||
(define-public xpdf
|
||||
(package
|
||||
|
@ -381,7 +381,7 @@
|
||||
("libzip" ,libzip)
|
||||
("oniguruma" ,oniguruma)
|
||||
("openldap" ,openldap)
|
||||
("openssl" ,openssl)
|
||||
("openssl" ,openssl-1.1)
|
||||
("pcre" ,pcre2)
|
||||
("postgresql" ,postgresql)
|
||||
("readline" ,readline)
|
||||
|
@ -269,14 +269,14 @@ colors, styles, options and details.")
|
||||
(define-public asymptote
|
||||
(package
|
||||
(name "asymptote")
|
||||
(version "2.82")
|
||||
(version "2.83")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/asymptote/"
|
||||
version "/asymptote-" version ".src.tgz"))
|
||||
(sha256
|
||||
(base32 "13blmsapbai4hqynyj1r1sjpypdv6frfassl2f2x7j2ql1dbqvsg"))
|
||||
(base32 "18w8nf0p1b3h74sk1b7w96kq5gcaq09idi4771ini7p594gsfg7y"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
;; Remove bundled RapidJSON.
|
||||
|
@ -348,13 +348,13 @@ library.")
|
||||
(define-public python-pandas
|
||||
(package
|
||||
(name "python-pandas")
|
||||
(version "1.4.2")
|
||||
(version "1.4.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pandas" version))
|
||||
(sha256
|
||||
(base32 "04lsak3j5hq2hk0vfjf532rdxdqmg2akamdl4yl3qipihp2izg4j"))))
|
||||
(base32 "0ryv66s9cvd27q6a985vv556k2qlnlrdna2z7qc7bdhphrrhsv5b"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build utils)
|
||||
@ -422,7 +422,7 @@ library.")
|
||||
(inputs
|
||||
(list which xclip xsel))
|
||||
(native-inputs
|
||||
(list python-cython
|
||||
(list python-cython-0.29.32
|
||||
python-beautifulsoup4
|
||||
python-lxml
|
||||
python-html5lib
|
||||
|
@ -5605,6 +5605,18 @@ programming language and the extended Cython programming language. It makes
|
||||
writing C extensions for Python as easy as Python itself.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
;; Newer version required for Pandas.
|
||||
(define-public python-cython-0.29.32
|
||||
(package
|
||||
(inherit python-cython)
|
||||
(version "0.29.32")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "Cython" version))
|
||||
(sha256
|
||||
(base32
|
||||
"1xqsihpqnfal29nb5kmw8z71nd4jbsnbz7p3lkr094xpb13wycw7"))))))
|
||||
|
||||
(define-public python-cython-3
|
||||
(package
|
||||
(inherit python-cython)
|
||||
|
@ -117,6 +117,9 @@
|
||||
elogind-service
|
||||
elogind-service-type
|
||||
|
||||
%gdm-file-system
|
||||
gdm-file-system-service
|
||||
|
||||
%fontconfig-file-system
|
||||
fontconfig-file-system-service
|
||||
|
||||
@ -1232,6 +1235,13 @@ when they log out."
|
||||
(flags '(read-only))
|
||||
(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,
|
||||
;; 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
|
||||
@ -1240,6 +1250,15 @@ when they log out."
|
||||
(simple-service 'fontconfig-file-system
|
||||
file-system-service-type
|
||||
(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.
|
||||
@ -1750,6 +1769,10 @@ applications needing access to be root.")
|
||||
(list (file-append nfs-utils "/sbin/mount.nfs")
|
||||
(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
|
||||
;; stale entries, possibly referencing fonts that have been GC'd,
|
||||
;; so mount it read-only.
|
||||
|
@ -818,27 +818,6 @@ the GNOME desktop environment.")
|
||||
(home-directory "/var/lib/gdm")
|
||||
(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
|
||||
(program-file
|
||||
"gdm-dbus-wrapper"
|
||||
@ -1022,8 +1001,6 @@ the GNOME desktop environment.")
|
||||
(extensions
|
||||
(list (service-extension shepherd-root-service-type
|
||||
gdm-shepherd-service)
|
||||
(service-extension activation-service-type
|
||||
(const %gdm-activation))
|
||||
(service-extension account-service-type
|
||||
(const %gdm-accounts))
|
||||
(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 © 2012, 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -499,6 +500,12 @@ are unavailable."
|
||||
(base-url (string-append base-url directory))
|
||||
(url (cond ((and=> (string->uri url) uri-scheme) ;full 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?
|
||||
(let ((uri (string->uri base-url)))
|
||||
(uri->string
|
||||
|
@ -5,6 +5,7 @@
|
||||
;;; Copyright © 2020, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -81,10 +82,12 @@
|
||||
(requirements gem-dependency-requirements)) ;string
|
||||
|
||||
|
||||
(define (rubygems-fetch name)
|
||||
"Return a <gem> record for the package NAME, or #f on failure."
|
||||
(define* (rubygems-fetch name #:optional version)
|
||||
"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
|
||||
(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))
|
||||
|
||||
(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)
|
||||
"Fetch the metadata for PACKAGE-NAME from rubygems.org, and return the
|
||||
`package' s-expression corresponding to that package, or #f on failure."
|
||||
(let ((gem (rubygems-fetch package-name)))
|
||||
`package' s-expression corresponding to that package, or #f on failure.
|
||||
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
|
||||
(let* ((dependencies-names (map gem-dependency-name
|
||||
(gem-dependencies-runtime
|
||||
@ -189,4 +195,5 @@ package on RubyGems."
|
||||
(recursive-import package-name
|
||||
#:repo '()
|
||||
#: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 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2021 Simon Tournier <zimon.toutoune@gmail.com>
|
||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -31,6 +32,7 @@
|
||||
#:use-module (srfi srfi-37)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (ice-9 format)
|
||||
#:use-module (ice-9 receive)
|
||||
#:export (guix-import-gem))
|
||||
|
||||
|
||||
@ -42,8 +44,9 @@
|
||||
'())
|
||||
|
||||
(define (show-help)
|
||||
(display (G_ "Usage: guix import gem PACKAGE-NAME
|
||||
Import and convert the RubyGems package for PACKAGE-NAME.\n"))
|
||||
(display (G_ "Usage: guix import gem PACKAGE-NAME[@VERSION] Import and
|
||||
convert the RubyGems package for PACKAGE-NAME. Optionally, a version can be
|
||||
specified after the at-sign (@) character.\n"))
|
||||
(display (G_ "
|
||||
-h, --help display this help and exit"))
|
||||
(display (G_ "
|
||||
@ -86,21 +89,23 @@ Import and convert the RubyGems package for PACKAGE-NAME.\n"))
|
||||
(_ #f))
|
||||
(reverse opts))))
|
||||
(match args
|
||||
((package-name)
|
||||
(let ((code (if (assoc-ref opts 'recursive)
|
||||
(map (match-lambda
|
||||
((and ('package ('name name) . rest) pkg)
|
||||
`(define-public ,(string->symbol name)
|
||||
,pkg))
|
||||
(_ #f))
|
||||
(gem-recursive-import package-name 'rubygems))
|
||||
(let ((sexp (gem->guix-package package-name)))
|
||||
(if sexp sexp #f)))))
|
||||
(match code
|
||||
((or #f '(#f))
|
||||
(leave (G_ "failed to download meta-data for package '~a'~%")
|
||||
package-name))
|
||||
(_ code))))
|
||||
((spec)
|
||||
(receive (package-name package-version)
|
||||
(package-name->name+version spec)
|
||||
(let ((code (if (assoc-ref opts 'recursive)
|
||||
(map (match-lambda
|
||||
((and ('package ('name name) . rest) pkg)
|
||||
`(define-public ,(string->symbol name)
|
||||
,pkg))
|
||||
(_ #f))
|
||||
(gem-recursive-import package-name package-version))
|
||||
(let ((sexp (gem->guix-package package-name #:version package-version)))
|
||||
(if sexp sexp #f)))))
|
||||
(match code
|
||||
((or #f '(#f))
|
||||
(leave (G_ "failed to download meta-data for package '~a'~%")
|
||||
package-name))
|
||||
(_ code)))))
|
||||
(()
|
||||
(leave (G_ "too few arguments~%")))
|
||||
((many ...)
|
||||
|
113
tests/gem.scm
113
tests/gem.scm
@ -3,6 +3,7 @@
|
||||
;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2021 Sarah Morgensen <iskarian@mgsn.dev>
|
||||
;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -44,6 +45,22 @@
|
||||
\"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
|
||||
"{
|
||||
\"name\": \"bar\",
|
||||
@ -103,6 +120,35 @@
|
||||
(x
|
||||
(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"
|
||||
;; Replace network resources with sample data.
|
||||
(mock ((guix http-client) http-fetch
|
||||
@ -170,4 +216,71 @@
|
||||
(x
|
||||
(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")
|
||||
|
@ -1,5 +1,6 @@
|
||||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2015, 2021 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2022 Maxime Devos <maximedevos@telenet.be>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -18,6 +19,10 @@
|
||||
|
||||
(define-module (test-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-64)
|
||||
#:use-module (ice-9 match))
|
||||
@ -55,4 +60,28 @@
|
||||
("mpg321_0.3.2.orig.tar.gz" "0.3.2")
|
||||
("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)
|
||||
|
Loading…
Reference in New Issue
Block a user