me
/
guix
Archived
1
0
Fork 0

Merge branch 'master' into mesa-updates

Change-Id: I6848392e8c1ffca1473bd25511d8d90ae0f98ce7
master
John Kehayias 2023-11-11 17:21:39 -05:00
commit 8d0a3bfcda
No known key found for this signature in database
GPG Key ID: 499097AE5EA815D9
48 changed files with 1463 additions and 787 deletions

View File

@ -13,7 +13,7 @@
# Copyright © 2018 Julien Lepiller <julien@lepiller.eu>
# Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
# Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
# Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2019, 2023 Efraim Flashner <efraim@flashner.co.il>
# Copyright © 2020, 2021, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
# Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
# Copyright © 2021 Andrew Tropin <andrew@trop.in>
@ -185,6 +185,7 @@ MODULES = \
guix/build-system/texlive.scm \
guix/build-system/tree-sitter.scm \
guix/build-system/trivial.scm \
guix/build-system/vim.scm \
guix/build-system/zig.scm \
guix/ftp-client.scm \
guix/http-client.scm \
@ -243,6 +244,7 @@ MODULES = \
guix/build/scons-build-system.scm \
guix/build/texlive-build-system.scm \
guix/build/tree-sitter-build-system.scm \
guix/build/vim-build-system.scm \
guix/build/waf-build-system.scm \
guix/build/haskell-build-system.scm \
guix/build/julia-build-system.scm \

View File

@ -29,6 +29,7 @@ choice.
* Submitting Patches:: Share your work.
* Tracking Bugs and Changes:: Keeping it all organized.
* Commit Access:: Pushing to the official repository.
* Reviewing the Work of Others:: Some guidelines for sharing reviews.
* Updating the Guix Package:: Updating the Guix package definition.
* Writing Documentation:: Improving documentation in GNU Guix.
* Translating Guix:: Make Guix speak your native language.
@ -385,6 +386,7 @@ copyright-update}. If you want to do it automatically after each buffer
save then add @code{(add-hook 'after-save-hook 'copyright-update)} in
Emacs.
@node Viewing Bugs within Emacs
@subsection Viewing Bugs within Emacs
Emacs has a nice minor mode called @code{bug-reference}, which, when
@ -452,6 +454,13 @@ configuration file:
(group (zero-or-one "cgi/bugreport.cgi?bug="))
(group-n 3 (one-or-more digit))
line-end))
;; Reduce the number of prompts with 'M-x debbugs-gnu'.
(setq debbugs-gnu-default-packages '("guix" "guix-patches"))
;; Show feature requests.
(setq debbugs-gnu-default-severities
'("serious" "important" "normal" "minor" "wishlist"))
@end lisp
For more information, refer to @ref{Bug Reference,,, emacs, The GNU
@ -1279,11 +1288,16 @@ implement low-level concepts, such as the @code{memoize} procedure.
@node Modules
@subsection Modules
@cindex build-side modules
@cindex host-side modules
Guile modules that are meant to be used on the builder side must live in
the @code{(guix build @dots{})} name space. They must not refer to
other Guix or GNU modules. However, it is OK for a ``host-side'' module
to use a build-side module.
to use a build-side module. As an example, the @code{(guix
search-paths)} module should not be imported and used by a package since
it isn't meant to be used as a ``build-side'' module. It would also
couple the module with the package's dependency graph, which is
undesirable.
Modules that deal with the broader GNU system should be in the
@code{(gnu @dots{})} name space rather than @code{(guix @dots{})}.
@ -1862,7 +1876,7 @@ browse issues:
interface@footnote{The web interface at
@url{https://issues.guix.gnu.org} is powered by Mumi, a nice piece of
software written in Guile, and you can help! See
@url{https://git.elephly.net/gitweb.cgi?p=software/mumi.git}.} to browse
@url{https://git.savannah.gnu.org/cgit/guix/mumi.git}.} to browse
bug reports and patches, and to participate in discussions;
@item
@url{https://bugs.gnu.org/guix} lists bug reports;
@ -1969,6 +1983,15 @@ For example, to list all open issues on @code{guix-patches}, hit:
@kbd{C-u} @kbd{M-x} debbugs-gnu @kbd{RET} @kbd{RET} guix-patches @kbd{RET} n y
@end example
For a more convenient (shorter) way to access both the bugs and patches
submissions, you may want to configure the
@code{debbugs-gnu-default-packages} and
@code{debbugs-gnu-default-severities} Emacs variables (@pxref{Viewing
Bugs within Emacs}).
To search for bugs, @samp{@kbd{M-x} debbugs-gnu-guix-search} can be
used.
@xref{Top,,, debbugs-ug, Debbugs User Guide}, for more information on
this nifty tool!
@ -1981,7 +2004,12 @@ Debbugs provides a feature called @dfn{usertags} that allows any user to
tag any bug with an arbitrary label. Bugs can be searched by usertag,
so this is a handy way to organize bugs@footnote{The list of usertags is
public information, and anyone can modify any user's list of usertags,
so keep that in mind if you choose to use this feature.}.
so keep that in mind if you choose to use this feature.}. If you use
Emacs Debbugs, the entry-point to consult existing usertags is the
@samp{C-u M-x debbugs-gnu-usertags} procedure. To set a usertag, press
@samp{C} while consulting a bug within the *Guix-Patches* buffer opened
with @samp{C-u M-x debbugs-gnu-bugs} buffer, then select @code{usertag}
and follow the instructions.
For example, to view all the bug reports (or patches, in the case of
@code{guix-patches}) tagged with the usertag @code{powerpc64le-linux}
@ -1994,9 +2022,9 @@ documentation for Debbugs or the documentation for whatever tool you use
to interact with Debbugs.
In Guix, we are experimenting with usertags to keep track of
architecture-specific issues. To facilitate collaboration, all our
usertags are associated with the single user @code{guix}. The following
usertags currently exist for that user:
architecture-specific issues, as well as reviewed ones. To facilitate
collaboration, all our usertags are associated with the single user
@code{guix}. The following usertags currently exist for that user:
@table @code
@ -2014,6 +2042,9 @@ For issues related to reproducibility. For example, it would be
appropriate to assign this usertag to a bug report for a package that
fails to build reproducibly.
@item reviewed-looks-good
You have reviewed the series and it looks good to you (LGTM).
@end table
If you're a committer and you want to add a usertag, just start using it
@ -2283,6 +2314,100 @@ only push their own awesome changes, but also offer some of their time
you're welcome to use your expertise and commit rights to help other
contributors, too!
@node Reviewing the Work of Others
@section Reviewing the Work of Others
Perhaps the biggest action you can do to help GNU Guix grow as a project
is to review the work contributed by others. You do not need to be a
committer to do so; applying, reading the source, building, linting and
running other people's series and sharing your comments about your
experience will give some confidence to committers. Basically, you gmust
ensure the check list found in the @ref{Submitting Patches} section has
been correctly followed. A reviewed patch series should give the best
chances for the proposed change to be merged faster, so if a change you
would like to see merged hasn't yet been reviewed, this is the most
appropriate thing to do!
@cindex reviewing, guidelines
Review comments should be unambiguous; be as clear and explicit as you
can about what you think should be changed, ensuring the author can take
action on it. Please try to keep the following guidelines in mind
during review:
@enumerate
@item
@emph{Be clear and explicit about changes you are suggesting}, ensuring
the author can take action on it. In particular, it is a good idea to
explicitly ask for new revisions when you want it.
@item
@emph{Remain focused: do not change the scope of the work being
reviewed.} For example, if the contribution touches code that follows a
pattern deemed unwieldy, it would be unfair to ask the submitter to fix
all occurrences of that pattern in the code; to put it simply, if a
problem unrelated to the patch at hand was already there, do not ask the
submitter to fix it.
@item
@emph{Ensure progress.} As they respond to review, submitters may
submit new revisions of their changes; avoid requesting changes that you
did not request in the previous round of comments. Overall, the
submitter should get a clear sense of progress; the number of items open
for discussion should clearly decrease over time.
@item
@emph{Aim for finalization.} Reviewing code is time-consuming. Your
goal as a reviewer is to put the process on a clear path towards
integration, possibly with agreed-upon changes, or rejection, with a
clear and mutually-understood reasoning. Avoid leaving the review
process in a lingering state with no clear way out.
@item
@emph{Review is a discussion.} The submitter's and reviewer's views on
how to achieve a particular change may not always be aligned. To lead
the discussion, remain focused, ensure progress and aim for
finalization, spending time proportional to the stakes@footnote{The
tendency to discuss minute details at length is often referred to as
``bikeshedding'', where much time is spent discussing each one's
preference for the color of the shed at the expense of progress made on
the project to keep bikes dry.}. As a reviewer, try hard to explain the
rationale for suggestions you make, and to understand and take into
account the submitter's motivation for doing things in a certain way.
@end enumerate
@cindex LGTM, Looks Good To Me
@cindex review tags
@cindex Reviewed-by, git trailer
When you deem the proposed change adequate and ready for inclusion
within Guix, the following well understood/codified
@samp{Reviewed-by:@tie{}Your@tie{}Name<your-email@@example.com>}
@footnote{The @samp{Reviewed-by} Git trailer is used by other projects
such as Linux, and is understood by third-party tools such as the
@samp{b4 am} sub-command, which is able to retrieve the complete
submission email thread from a public-inbox instance and add the Git
trailers found in replies to the commit patches.} line should be used to
sign off as a reviewer, meaning you have reviewed the change and that it
looks good to you:
@itemize
@item
If the @emph{whole} series (containing multiple commits) looks good to
you, reply with @samp{Reviewed-by:@tie{}Your@tie{}Name<your-email@@example.com>}
to the cover page if it has one, or to the last patch of the series
otherwise, adding another @samp{(for the whole series)} comment on the
line below to explicit this fact.
@item
If you instead want to mark a @emph{single commit} as reviewed (but not
the whole series), simply reply with
@samp{Reviewed-by:@tie{}Your@tie{}Name<your-email@@example.com>} to that
commit message.
@end itemize
If you are not a committer, you can help others find a @emph{series} you
have reviewed more easily by adding a @code{reviewed-looks-good} usertag
for the @code{guix} user (@pxref{Debbugs Usertags}).
@node Updating the Guix Package
@section Updating the Guix Package

View File

@ -8375,6 +8375,13 @@ hash @var{hash} of type @var{hash-algo} (a symbol). Use @var{name} as
the file name, or a generic name if @code{#f}.
@end deffn
@deffn {Procedure} git-fetch/lfs ref hash-algo hash
This is a variant of the @code{git-fetch} procedure that supports the
Git @acronym{LFS, Large File Storage} extension. This may be useful to
pull some binary test data to run the test suite of a package, for
example.
@end deffn
@deftp {Data Type} git-reference
This data type represents a Git reference for @code{git-fetch} to
retrieve.
@ -9441,6 +9448,41 @@ e.g., install @file{foo/sub/file} to @file{share/my-app/sub/file}.
@end itemize
@end defvar
@defvar vim-build-system
This variable is exported by @code{(guix build-system vim)}. It is an
extension of the @code{copy-build-system}, installing Vim and Neovim plugins
into locations where these two text editors know to find their plugins, using
their packpaths.
Packages which are prefixed with @code{vim-} will be installed in Vim's
packpath, while those prefixed with @code{neovim-} will be installed in
Neovim's packpath. If there is a @code{doc} directory with the plugin then
helptags will be generated automatically.
There are a couple of keywords added with the @code{vim-build-system}:
@itemize
@item With @code{plugin-name} it is possible to set the name of the plugin.
While by default this is set to the name and version of the package, it is
often more helpful to set this to name which the upstream author calls their
plugin. This is the name used for @command{:packadd} from inside Vim.
@item With @code{install-plan} it is possible to augment the built-in
install-plan of the @code{vim-build-system}. This is particularly helpful if
you have files which should be installed in other locations. For more
information about using the @code{install-plan}, see the
@code{copy-build-system} (@pxref{Build Systems, @code{copy-build-system}}).
@item With @code{#:vim} it is possible to add this package to Vim's packpath,
in addition to if it is added automatically because of the @code{vim-} prefix
in the package's name.
@item With @code{#:neovim} it is possible to add this package to Neovim's
packpath, in addition to if it is added automatically because of the
@code{neovim-} prefix in the package's name.
@item With @code{#:mode} it is possible to adjust the path which the plugin is
installed into. By default the plugin is installed into @code{start} and other
options are available, including @code{opt}. Adding a plugin into @code{opt}
will mean you will need to run, for example, @command{:packadd foo} to load the
@code{foo} plugin from inside of Vim.
@end itemize
@end defvar
@cindex Clojure (programming language)
@cindex simple Clojure build system

View File

@ -298,7 +298,7 @@ complete -f -c guix -n '__fish_guix_using_command publish' -l repl -d '[=PORT] s
#### lint
set -l remotecommands checkers list-checkers
complete -f -c guix -n '__fish_guix_needs_command' -a lint -d 'Run a set of checkers on the specificied package.'
complete -f -c guix -n '__fish_guix_needs_command' -a lint -d 'Run a set of checkers on the specified package.'
complete -f -c guix -n '__fish_guix_using_command lint' -l list-checkers -d 'Display the list of available lint checkers.'
complete -f -c guix -n '__fish_guix_using_command lint' -l checkers -d 'Only run the specified checkers.'
complete -f -c guix -n '__fish_guix_using_command lint' -l description -d 'Validate package descriptions.'
@ -327,7 +327,7 @@ complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_su
##### import cpan
complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a cpan -d 'Import and convert the CPAN package for PACKAGE-NAME.'
##### import hackage
complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a hackage -d 'Import and convert the Hackage package for PACKAGE-NAME. If PACKAGE-NAME includes a suffix constituted by a at-sign followed by a numerical version (as used with Guix packages), then a definition for the specified version of the package will be generated. If no version suffix is pecified, then the generated package definition will correspond to the latest available version.'
complete -f -c guix -n '__fish_guix_using_command import; and not __fish_seen_subcommand_from $remotecommands' -a hackage -d 'Import and convert the Hackage package for PACKAGE-NAME. If PACKAGE-NAME includes a suffix constituted by a at-sign followed by a numerical version (as used with Guix packages), then a definition for the specified version of the package will be generated. If no version suffix is specified, then the generated package definition will correspond to the latest available version.'
complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from hackage' -s e -d 'ALIST specify environment for Cabal evaluation.'
complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from hackage' -a "--cabal-environment=" -d 'ALIST specify environment for Cabal evaluation.'
complete -f -c guix -n '__fish_guix_using_command import; and __fish_seen_subcommand_from hackage' -s s -l stdin -d 'Read from standard input.'

View File

@ -16,3 +16,10 @@
to = guix-patches@gnu.org
headerCmd = etc/teams.scm cc-members-header-cmd
thread = no
[b4]
attestation-check-dkim = off
attestation-policy = off
linkmask = https://yhetil.org/guix/%s
linktrailermask = https://yhetil.org/guix/%s
midmask = https://yhetil.org/guix/%s

View File

@ -1097,7 +1097,6 @@ dist_patch_DATA = \
%D%/packages/patches/elm-reactor-static-files.patch \
%D%/packages/patches/elogind-fix-rpath.patch \
%D%/packages/patches/emacs-all-the-icons-remove-duplicate-rs.patch \
%D%/packages/patches/emacs-debbugs-keep-patch-subject.patch \
%D%/packages/patches/emacs-deferred-fix-number-of-arguments.patch \
%D%/packages/patches/emacs-elpy-dup-test-name.patch \
%D%/packages/patches/emacs-exec-path.patch \

View File

@ -1,13 +1,8 @@
" This appends all of the vim plugins to the end of Vim's runtimepath.
" This appends all applicable vim paths to the end of packagepath. Once we
" have told vim the packagepath vim will add it to the runtimepath for us.
for directory in ["/run/current-system/profile", $HOME . "/.guix-profile", $HOME ."/.guix-home/profile", $GUIX_PROFILE, $GUIX_ENVIRONMENT]
let vimplugins = directory . "/share/vim/vimfiles"
if isdirectory(vimplugins)
let &rtp = join([&rtp,vimplugins], ',')
let &pp = join([&pp,vimplugins], ',')
endif
endfor
" Unconditionally add */after directories last, as intended by upstream
" TODO: Remove duplicate */after directories
for directory in [$VIM . "/vimfiles", $HOME ."/.vim"]
let vimplugins = directory . "/after"
let &rtp = join([&rtp,vimplugins], ',')
endfor

View File

@ -8,7 +8,7 @@
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2020, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
@ -44,6 +44,7 @@
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages compression)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages llvm)
@ -445,15 +446,18 @@ signals and slots system.")
(define-public mdds
(package
(name "mdds")
(version "2.0.3")
(version "2.1.1")
(source (origin
(method url-fetch)
(uri (string-append "https://kohei.us/files/mdds/src/mdds-"
version ".tar.xz"))
(sha256
(base32
"1r68kxqppmhfg0dhz54d0hqzs5882cqrv1x6wpg7lak6gyyws0bc"))))
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/mdds/mdds")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0866020brc1kmiryh7dmhjamnywlsd56ks649hy87283k0p7d3bb"))))
(build-system gnu-build-system)
(native-inputs (list autoconf automake))
(propagated-inputs
(list boost)) ; inclusion of header files
(home-page "https://gitlab.com/mdds/mdds")

View File

@ -57,8 +57,8 @@ supported content to the Kodi media center.")
;; Arbitrary commit of branch master,
;; Update when updating uBlockOrigin.
(let* ((name "ublock-main-assets")
(commit "c8783488f377723165e3661062bd124ae6d57165")
(revision "0")
(commit "d93605b8584df8cd47bcc91b3d932feecd9e3a2a")
(revision "1")
(version (git-version "0" revision commit)))
(origin
(method git-fetch)
@ -67,14 +67,14 @@ supported content to the Kodi media center.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1b6a1m6s060r49vg563f32rsy057af6i4jcyprym4sdci3z90nls")))))
(base32 "1bbwxmb5rb1afh6i5a7m1ysaw0022wi5g091vpahi4h805p1s7a2")))))
(define ublock-prod-assets
;; Arbitrary commit of branch gh-pages,
;; Update when updating uBlockOrigin.
(let* ((name "ublock-prod-assets")
(commit "fbcfe9229ab6b865ef349c01a4eac73943be8418")
(revision "0")
(commit "1d3df32ef6672763f44b27a95fd5cb3b5770d5e2")
(revision "1")
(version (git-version "0" revision commit)))
(origin
(method git-fetch)
@ -83,12 +83,12 @@ supported content to the Kodi media center.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "0s5rvaz8lc9lk44yfc8463vah8yppy1ybmag0dpd4m1hyj6165h0")))))
(base32 "1cbx7w1nzdcjq0z4z7j9nr8922i27nslprrw5dy03xcdqwc3x4l6")))))
(define ublock-origin
(package
(name "ublock-origin")
(version "1.51.0")
(version "1.53.2")
(home-page "https://github.com/gorhill/uBlock")
(source (origin
(method git-fetch)
@ -98,7 +98,7 @@ supported content to the Kodi media center.")
(file-name (git-file-name name version))
(sha256
(base32
"1i8rnij3sbwg6vj6znprrsca0n5xjzhmhppaa8v6jyxg6wrrfch1"))))
"0mz1k5ghyc25v51md02qx7chrbg4cxagvqi18bcbs4agq8ix6sp7"))))
(build-system gnu-build-system)
(outputs '("xpi" "firefox" "chromium"))
(properties '((addon-id . "uBlock0@raymondhill.net")))

View File

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016, 2018 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2023 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 20182021 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2021, 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
@ -62,7 +62,11 @@
;; Tests require a writable HOME.
(lambda _
(setenv "HOME" (getenv "TMPDIR")))))))
(native-inputs (list perl ruby-asciidoctor which))
(native-inputs
(append (list perl which)
(if (supported-package? ruby-asciidoctor)
(list ruby-asciidoctor)
'())))
(inputs (list zlib `(,zstd "lib")))
(home-page "https://ccache.dev/")
(synopsis "Compiler cache")

View File

@ -4,6 +4,7 @@
;;; Copyright © 2019 Andrew Miloradovsky <andrew@interpretmath.pw>
;;; Copyright © 2020, 2022 Marius Bakke <marius@gnu.org>
;;; Copyright © 2021 Dion Mendel <guix@dm9.info>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -74,14 +75,18 @@
(arguments
(list
#:configure-flags
#~(list "--sysconfdir=/etc"
"--localstatedir=/var"
;; Do not install sysv or systemd init scripts.
"--with-initscripttype=none"
;; Disable support for DRBD 8.3 as it is only for
;; Linux-Libre versions < 3.8. 8.4 is the latest
;; kernel driver as of Linux 5.18.
"--without-83support")
#~(append
(list "--sysconfdir=/etc"
"--localstatedir=/var"
;; Do not install sysv or systemd init scripts.
"--with-initscripttype=none"
;; Disable support for DRBD 8.3 as it is only for
;; Linux-Libre versions < 3.8. 8.4 is the latest
;; kernel driver as of Linux 5.18.
"--without-83support")
#$(if (this-package-native-input "ruby-asciidoctor")
#~'()
#~(list "--without-manual")))
#:test-target "test"
#:make-flags #~(list "WANT_DRBD_REPRODUCIBLE_BUILD=yesplease")
#:phases
@ -126,16 +131,18 @@
(("\\$\\(DESTDIR\\)\\$\\(DRBD_LIB_DIR\\)")
"$(DESTDIR)$(prefix)$(DRBD_LIB_DIR)")))))))
(native-inputs
(list clitest
eudev ;just to satisfy a configure check
flex
;; For the documentation.
docbook-xml
docbook-xml-4.4 ;used by documentation/ra2refentry.xsl
docbook-xsl
libxml2 ;for XML_CATALOG_FILES
libxslt ;for xsltproc
ruby-asciidoctor))
(append (list clitest
eudev ;just to satisfy a configure check
flex)
;; For the documentation.
(if (supported-package? ruby-asciidoctor)
(list docbook-xml
docbook-xml-4.4 ;used by documentation/ra2refentry.xsl
docbook-xsl
libxml2 ;for XML_CATALOG_FILES
libxslt ;for xsltproc
ruby-asciidoctor)
'())))
(home-page "https://www.linbit.com/drbd/")
(synopsis "Replicate block devices between machines")
(description

View File

@ -237,8 +237,9 @@ highlighting your own code that seemed comprehensible when you wrote it.")
(lambda _
;; Install the plugin files in the right place.
(let* ((data (string-append #$output "/share/gtags"))
(vim (string-append #$output
"/share/vim/vimfiles/plugin"))
(vim (string-append
#$output
"/share/vim/vimfiles/pack/guix/start/global/plugin"))
(lisp (string-append #$output "/share/emacs/site-lisp/"
#$(package-name this-package) "-"
#$(package-version this-package))))

View File

@ -31,7 +31,7 @@
;;; Copyright © 2022 Arun Isaac <arunisaac@systemreboot.net>
;;; Copyright © 2022, 2023 David Elsing <david.elsing@posteo.net>
;;; Copyright © 2022, 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022, 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022 Antero Mejr <antero@mailbox.org>
;;; Copyright © 2023 Sughosha <Sughosha@proton.me>
;;; Copyright © 2023 Artyom V. Poptsov <poptsov.artyom@gmail.com>
@ -609,6 +609,47 @@ container which uses the order in which keys were inserted to the container
as ordering relation.")
(license license:expat)))
(define-public frozen
;; The test suite fails to compile with the latest 1.1.1 release; use a
;; newer commit (see:
;; https://github.com/serge-sans-paille/frozen/issues/163).
(let ((commit "dd1f58c5f6c97fbf0832cc4e84676663839b913e")
(revision "0"))
(package
(name "frozen")
(version (git-version "1.1.1" revision commit))
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/serge-sans-paille/frozen")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"06i307a7v6alxfy24d47b1sjkz5f4mrqwl2vb4j8zx7wlgnrf08b"))))
(build-system cmake-build-system)
(home-page "https://github.com/serge-sans-paille/frozen")
(synopsis "C++ constexpr alternative header-only library")
(description "@code{frozen} is a header-only library that provides zero
cost initialization for immutable containers, fixed-size containers, and
various algorithms. It provides features such as:
@itemize
@item
immutable (also known as frozen), @code{constexpr}-compatible versions of
{std::set}, {std::unordered_set}, {std::map} and {std::unordered_map}
@item
fixed-capacity, @code{constinit}-compatible versions of @code{std::map} and
@code{std::unordered_map} with immutable, compile-time selected keys mapped to
mutable values.
@item
zero cost initialization version of @code{std::search} for frozen needles
using Boyer-Moore or Knuth-Morris-Pratt algorithms.
@end itemize
The @code{unordered_*} containers are guaranteed perfect (no hash
collision) and the extra storage is linear with respect to the number of
keys.")
(license license:asl2.0))))
(define-public json-dto
(package
(name "json-dto")

View File

@ -32,14 +32,14 @@
(define-public dezyne
(package
(name "dezyne")
(version "2.17.7")
(version "2.17.8")
(source
(origin
(method url-fetch)
(uri (string-append "https://dezyne.org/download/dezyne/"
name "-" version ".tar.gz"))
(sha256
(base32 "09w2rl2ghm8z6fv3iflxnikcj2q98119imvlgvkmkhch5cplx7ny"))))
(base32 "0m5cnymcyg7k1jhp4xjpvpay7ia72xdzyjnjg0spsr4p7fy7yql4"))))
(inputs (list bash-minimal
guile-3.0-latest
guile-json-4

View File

@ -1355,7 +1355,7 @@ its mode line.")
(define-public emacs-git-modes
(package
(name "emacs-git-modes")
(version "1.4.1")
(version "1.4.2")
(source
(origin
(method git-fetch)
@ -1364,7 +1364,7 @@ its mode line.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0b9fywqwccdvyg1cfnlzl61gq1gryjvzp32cw91l4igv7ppmq684"))))
(base32 "0npwjcm04gg1cy19gsha5m6my9xa0din860gv3h32cx8q3nizjjc"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-compat))
@ -1976,7 +1976,7 @@ Apprentice and Sourcerer.")
(define-public emacs-suneater-theme
(package
(name "emacs-suneater-theme")
(version "2.3.0")
(version "2.4.0")
(source
(origin
(method git-fetch)
@ -1985,7 +1985,7 @@ Apprentice and Sourcerer.")
(commit version)))
(sha256
(base32
"19432hb4lkfvip72wrc9nqq5bc10nv0g4547x2sif5iqak43dw72"))
"1j216w9c2psynlsl8gdmnya5a60cyx100ibm15zyyaav75wccn5j"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(home-page "https://git.sr.ht/~plattfot/suneater-theme")
@ -2954,13 +2954,13 @@ and ease-of-key score. Most frequently used commands have most easy keys.")
(define-public emacs-xr
(package
(name "emacs-xr")
(version "1.24")
(version "1.25")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/xr-" version ".tar"))
(sha256
(base32 "04g7qx6qmhp98pw5iwdhspln9sg9jzjq2zp3nmq3q1yl82pzd214"))))
(base32 "0w4gaxypl76d1jw9vcq0zhj7ksj44wyfb148l1fb0vl7h6wpv0pg"))))
(build-system emacs-build-system)
(home-page "https://elpa.gnu.org/packages/xr.html")
(synopsis "Convert string regexp to rx notation")
@ -3117,14 +3117,14 @@ project root.")
(define-public emacs-relint
(package
(name "emacs-relint")
(version "1.23")
(version "1.24")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"relint-" version ".tar"))
(sha256
(base32 "0cyv9hjlyxy1c2394544ljq5d4prhi296y9j2zy6p1lq6irncmv9"))))
(base32 "0wc7jzapzc4s7v7yqwp315ymbs6xighy2clx1ylvf60zs49y2bwm"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-xr))
(home-page "https://github.com/mattiase/relint")
@ -3674,20 +3674,21 @@ the @code{Dracula} theme for Emacs and the @code{Gloom} theme for Atom.")
(define-public emacs-bbdb
(package
(name "emacs-bbdb")
(version "3.2.2.2")
(version "3.2.2.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"bbdb-" version ".tar"))
(sha256
(base32 "0bf20r5xhxln6z4qp8zrlln0303dkci2ydsr74pxcj08aqgk5xxf"))))
(base32 "13i8ggknc29sny16rq126q0ssz26m3fam0zpdhlsm05pa8dydd7p"))))
(build-system emacs-build-system)
(arguments
;; XXX: The following file cannot be byte-compiled, because et requires
;; `vm-autoloads', from the VM package, with is neither in Emacs nor
;; packaged in Guix. So, don't bother for now.
`(#:exclude '("bbdb-vm\\.el")))
(inputs (list emacs-notmuch))
(home-page "https://elpa.gnu.org/packages/bbdb.html")
(synopsis "Contact management utility for Emacs")
(description
@ -4170,14 +4171,14 @@ as a library for other Emacs packages.")
(define-public emacs-auctex
(package
(name "emacs-auctex")
(version "13.2.1")
(version "13.2.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"auctex-" version ".tar"))
(sha256
(base32 "0q914q1qm5w0yx9cqfmyxzbzxmrdkz321cazy7g7l4mc5qndb9nm"))))
(base32 "1k8ypxp2iwg7a0m5lyk1sy5chcnmas0gs6frk6xw6k0r974f193s"))))
(build-system emacs-build-system)
;; We use 'emacs' because AUCTeX requires dbus at compile time
;; ('emacs-minimal' does not provide dbus).
@ -5880,7 +5881,7 @@ or if you want to ensure that some modes have no ligatures at all.")
(define-public emacs-olivetti
(package
(name "emacs-olivetti")
(version "2.0.4")
(version "2.0.5")
(source
(origin
(method git-fetch)
@ -5889,7 +5890,7 @@ or if you want to ensure that some modes have no ligatures at all.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0wc0rki4zvzdxs126g5c8d92h1vfn9slfkdx831rr9d0jx93wc7s"))))
(base32 "1v5f0glp0ggmmzzhaxlijc58w4ip1nlik9lx7rcl6symsqcmqmq1"))))
(build-system emacs-build-system)
(home-page "https://github.com/rnkn/olivetti")
(synopsis "Emacs minor mode for a nice writing environment")
@ -6258,7 +6259,7 @@ files and directories.")
(define-public emacs-fountain-mode
(package
(name "emacs-fountain-mode")
(version "3.6.3")
(version "3.7.1")
(source
(origin
(method git-fetch)
@ -6267,7 +6268,7 @@ files and directories.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "18s1dp2n9q6f3py3f1yc3918yqpncdkwkgi3b3bc2868n6sw0n84"))))
(base32 "1m6xvda2bx5pxzklc0nlzfc9a9fbnvysld2zha59qdjlr9zzi298"))))
(arguments
(list
#:phases #~(modify-phases %standard-phases
@ -6584,7 +6585,7 @@ intended to be.")
(define-public emacs-ef-themes
(package
(name "emacs-ef-themes")
(version "1.3.0")
(version "1.4.0")
(source
(origin
(method git-fetch)
@ -6594,7 +6595,7 @@ intended to be.")
(file-name (git-file-name name version))
(sha256
(base32
"0a52zm9h7nsif5b6ig428d9i0gh8c0qcfyarvsmpv8cwk59iba0z"))))
"029pcca3ppbs22isym2hi3zzynmvk5dg7jcimpm7nd8m4qk46f49"))))
(build-system emacs-build-system)
(home-page "https://git.sr.ht/~protesilaos/ef-themes")
(synopsis "Colorful and legible themes")
@ -6703,20 +6704,18 @@ mode, which displays information about Elasticsearch clusters.")
(license license:gpl3+)))
(define-public emacs-expand-region
(let ((commit "c5c4362741deebb0985a8a29f9b8b0e25160764a")
(revision "1"))
(package
(package
(name "emacs-expand-region")
(version (git-version "0.11.0" revision commit))
(version "1.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/magnars/expand-region.el")
(commit commit)))
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "17h58v5mnggbrwrp61cwkqx8hzazkdqyz9p6s1hl9g2hys7zkb00"))))
(base32 "0mw1jlgdp17k56rq4g801z7y35h4infm9cy3mh8jw5wqqar5ifa6"))))
(build-system emacs-build-system)
(home-page "https://github.com/magnars/expand-region.el")
(synopsis "Increase selected region by semantic units")
@ -6724,7 +6723,7 @@ mode, which displays information about Elasticsearch clusters.")
"Expand region increases the selected region by semantic units. Just
keep pressing the key until it selects what you want. There's also
@code{er/contract-region} if you expand too far.")
(license license:gpl3+))))
(license license:gpl3+)))
(define-public emacs-explain-pause-mode
(let ((commit "2356c8c3639cbeeb9751744dbe737267849b4b51")
@ -8683,14 +8682,14 @@ user.")
(define-public emacs-subed
(package
(name "emacs-subed")
(version "1.2.4")
(version "1.2.7")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
version ".tar"))
(sha256
(base32
"05pnjdrf9gq32bayvbd0yvp1lxpwj2xsarcy3s2jjb6zcgm6djyb"))))
"1rvc17pvig3ihc74d7i25kl3lnigp0h8lh634x0676hdx38h91ib"))))
(arguments
(list
#:tests? #t
@ -8802,15 +8801,14 @@ by a query, so both a link can refer to several mails.")
(define-public emacs-debbugs
(package
(name "emacs-debbugs")
(version "0.36")
(version "0.37")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/debbugs-"
version ".tar"))
(sha256
(base32 "1rzv13shadbvy583vjj4zg13v920zpiqrsnn10r3cqqyli89ivn2"))
(patches (search-patches "emacs-debbugs-keep-patch-subject.patch"))))
(base32 "0xj0sv5d3y88fsbm7yhm0v59mzj1srxayng1hr418v89ky43rxpr"))))
(build-system emacs-build-system)
(arguments '(#:include '("\\.el$" "\\.wsdl$" "\\.info$")))
(propagated-inputs
@ -9019,14 +9017,14 @@ variables, and so on. The mode also allows you to execute Tup commands.")
(define-public emacs-compat
(package
(name "emacs-compat")
(version "29.1.4.2")
(version "29.1.4.3")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"compat-" version ".tar"))
(sha256
(base32
"1njvbvvx2gl10psswb8md2s9diiy476gy4yj6vwips40r0n96l3g"))))
"08lg6jph1hqkamf1fhm5ajwy4klh2a2260llr1z7wlbbq52032k5"))))
(build-system emacs-build-system)
(home-page "https://git.sr.ht/~pkal/compat")
(synopsis "Emacs Lisp Compatibility Library")
@ -9047,14 +9045,14 @@ commands and user options are usually not implemented here.")
(define-public emacs-company
(package
(name "emacs-company")
(version "0.9.13")
(version "0.10.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"company-" version ".tar"))
(sha256
(base32 "1c9x9wlzzsn7vrsm57l2l44nqx455saa6wrm853szzg09qn8dlnw"))))
(base32 "0j2qrnx2w2al4f2n37b89q0pkabh5ccv00gsknvgaylhy0za5gq9"))))
(build-system emacs-build-system)
(home-page "https://company-mode.github.io/")
(synopsis "Modular text completion framework")
@ -9196,7 +9194,7 @@ languages.")
(define-public emacs-irony-mode
(package
(name "emacs-irony-mode")
(version "1.6.0")
(version "1.6.1")
(home-page "https://github.com/Sarcasm/irony-mode")
(source
(origin
@ -9206,7 +9204,7 @@ languages.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1zwmarjy9lzi57m82dw67aj69cn4nscdgp4fm8glx1krk9xh35hp"))))
(base32 "1w0rd74kjgda7mjbf853yavppkgzdfyw1a2hgskbqbbjii3mr1zy"))))
(build-system emacs-build-system)
(arguments
(list
@ -11517,7 +11515,7 @@ answers.")
(define-public emacs-base16-theme
(package
(name "emacs-base16-theme")
(version "3.1")
(version "3.2")
(source
(origin
(method git-fetch)
@ -11526,7 +11524,7 @@ answers.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1yq9afvybrgkmn17h22ha9231am7hlh3wccxw7g2ks3g0k5vvds0"))))
(base32 "0mdnm6xam1md9yiy6y14yp59j2864brazqszm7vklgb40xpxaxsq"))))
(build-system emacs-build-system)
(arguments
(list #:include #~(cons "^build\\/.*\\.el$" %default-include)
@ -12566,16 +12564,16 @@ hydras with one column per group of heads.")))
(define-public emacs-ivy
(package
(name "emacs-ivy")
(version "0.14.0")
(version "0.14.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/ivy-" version ".tar"))
(sha256
(base32 "1fzl7xcmxjg005g4676ac3jcshgmcmdr81ywmxvjcs8wj71v56jv"))))
(base32 "1zjksh0jvxyqhzgwmh9i26gaip6c04q400xckh730r2gjs287pjj"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-hydra))
(list))
(home-page "https://github.com/abo-abo/swiper")
(synopsis "Incremental vertical completion for Emacs")
(description
@ -12590,17 +12588,17 @@ expression.")
(define-public emacs-counsel
(package
(name "emacs-counsel")
(version "0.14.0")
(version "0.14.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"counsel-" version ".tar"))
(sha256
(base32 "03n1qk66dcbh9xlnlzpwkb441c2xdpfc7bzx4i2szw0xh4a6g5sj"))))
(base32 "13119alyzr2xipk3jra3iawplqkqgvv0gdcm4yd527z592b0s7f0"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-swiper))
(list emacs-ivy emacs-swiper))
(home-page "https://github.com/abo-abo/swiper")
(synopsis "Various completion functions using Ivy")
(description
@ -12668,13 +12666,13 @@ the same name.")
(define-public emacs-swiper
(package
(name "emacs-swiper")
(version "0.14.0")
(version "0.14.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/swiper-" version ".tar"))
(sha256
(base32 "1p2qil6gj4y8y3ydqs8pbxn8j16q9r42nnc2f61c30hws504pkms"))))
(base32 "1x6jnc0nrk68kww12gq6w8nss6ny76xz0fgxf57550bbipx9pa8m"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-ivy))
@ -13940,7 +13938,7 @@ like @code{org-edit-src-code} but for arbitrary regions.")
(define-public emacs-projectile
(package
(name "emacs-projectile")
(version "2.7.0")
(version "2.8.0")
(source
(origin
(method git-fetch)
@ -13950,7 +13948,7 @@ like @code{org-edit-src-code} but for arbitrary regions.")
(file-name (git-file-name name version))
(sha256
(base32
"0ybd41iss8vd56qv6czpxqq7a99s4h7i3a2r4khy4rf5blj5zdqi"))))
"022ca1185ywmw8pjpkrxkd6d2wp4vbq67x2w724iiw2asy69j7wb"))))
(build-system emacs-build-system)
(arguments
(list
@ -14147,7 +14145,7 @@ much easier.")
(define-public emacs-elfeed-protocol
(package
(name "emacs-elfeed-protocol")
(version "0.9.0")
(version "0.9.1")
(source
(origin
(method git-fetch)
@ -14156,7 +14154,7 @@ much easier.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0cgq280gxw40vxn2pvax9k5k22gd1kwsjw4yl35206d3mb9wb0fa"))))
(base32 "1n5bns7181j6n603a626jsv26v06s3wm86ml7vixlp234p0frypp"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-elfeed))
@ -15404,9 +15402,9 @@ e.g., the expression you've just evaluated would briefly flash and so on.")
(license license:gpl3+))))
(define-public emacs-sly
;; Update together with sbcl-slynk .
(let ((commit "df62abae73bd511885c9c7ec0ea7ea1469a00923")
(revision "8"))
;; Update together with sbcl-slynk.
(let ((commit "9c43bf65b967e12cef1996f1af5f0671d8aecbf4")
(revision "9"))
;; Versions are not always tagged. Besides, latest master contains
;; important fixes.
(package
@ -15421,7 +15419,7 @@ e.g., the expression you've just evaluated would briefly flash and so on.")
(file-name (git-file-name name version))
(sha256
(base32
"1nxijv52bja6la2i3asq7kklpj5li25454n52sgsc6xnnfvakbsv"))))
"15nyr02ykkws4q79jcmxcawddg8sgq9v5l8k7jv7gg3hnpzxjlb2"))))
(build-system emacs-build-system)
(native-inputs
(list texinfo))
@ -15730,7 +15728,7 @@ Lua programming language}.")
(define-public emacs-ebuild-mode
(package
(name "emacs-ebuild-mode")
(version "1.67")
(version "1.69")
(source
(origin
(method url-fetch)
@ -15739,7 +15737,7 @@ Lua programming language}.")
"ebuild-mode-" version ".tar.xz"))
(file-name (string-append name "-" version ".tar.xz"))
(sha256
(base32 "0hbx3vrv2h2vfi45q4mj6z9kqsma530gxjsr5hyd4bj1xnk4gb76"))))
(base32 "1sqyjz4qy07q6wkh89gg4f4s1fk96mv2f99y4rm0sp7gf6bkdj38"))))
(build-system emacs-build-system)
(arguments
(list
@ -16418,7 +16416,7 @@ passive voice.")
(define-public emacs-org
(package
(name "emacs-org")
(version "9.6.9")
(version "9.6.11")
(source
(origin
(method git-fetch)
@ -16427,7 +16425,7 @@ passive voice.")
(commit (string-append "release_" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1j1bv6pz8s15ymr1mzrsb465vv39qmd6sb5cjq3sb9c0nzm1mzif"))))
(base32 "167cnc7iq5i278a7rph2rs9dhxb5anckzjz5d4anbkghzk48qa9x"))))
(build-system emacs-build-system)
(arguments
(list
@ -17335,14 +17333,14 @@ customizable by the user.")
(define-public emacs-zones
(package
(name "emacs-zones")
(version "2019.7.13")
(version "2023.6.11")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"zones-" version ".el"))
"zones-" version ".tar"))
(sha256
(base32 "0qp1ba2pkqx9d35g7z8hf8qs2k455krf2a92l4rka3ipsbnmq5k1"))))
(base32 "1znz720s9pchc7r9g1mpz9jcnz122bppimmh09g1rn94fh3m6vm3"))))
(build-system emacs-build-system)
(home-page "https://www.emacswiki.org/emacs/Zones")
(synopsis "Define and act on multiple zones of buffer text")
@ -19449,7 +19447,7 @@ more information.")
(define-public emacs-jarchive
(package
(name "emacs-jarchive")
(version "0.10.0")
(version "0.11.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -19458,7 +19456,7 @@ more information.")
(file-name (git-file-name name version))
(sha256
(base32
"1hddjs4yj03cqppip1gsgmkhp3fmq9ggyf5wxx5k3m78cg7k1bl7"))))
"1v8a2bbjgkn95pxq8x9251znj03m5n0f6bngbf4a63pxa2il3r8n"))))
(build-system emacs-build-system)
(home-page "https://sr.ht/~dannyfreeman/jarchive")
(synopsis "Jarchive teaches Emacs how to navigate to files inside JARs")
@ -22283,26 +22281,29 @@ protocol for PureScript programming language. It features:
(license license:gpl3+))))
(define-public emacs-evil-anzu
(package
(name "emacs-evil-anzu")
(version "0.03")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/syohex/emacs-evil-anzu")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0lw7fg4gqwj30r0l6k2ni36sxqkf65zf0d0z3rxnpwbxlf8dlkrr"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-evil emacs-anzu))
(home-page "https://github.com/syohex/emacs-evil-anzu")
(synopsis "Anzu for evil-mode")
(description "@code{anzu} provides a minor mode that displays the current
;; No release since January 2015
(let ((commit "d1e98ee6976437164627542909a25c6946497899")
(revision "0"))
(package
(name "emacs-evil-anzu")
(version (git-version "0.03" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/emacsorphanage/evil-anzu")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1i8f360lq5a32knkzbwdw10ql9cxsmgfd4iiwnr7vcwacm34zq88"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-evil emacs-anzu))
(home-page "https://github.com/emacsorphanage/evil-anzu")
(synopsis "Anzu for evil-mode")
(description
"@code{anzu} provides a minor mode that displays the current
match and total match information in the mode-line in various search modes.")
(license license:gpl3+)))
(license license:gpl3+))))
(define-public emacs-pg
(package
@ -22920,7 +22921,7 @@ according to a parsing expression grammar.")
(define-public emacs-eldev
(package
(name "emacs-eldev")
(version "1.6")
(version "1.7")
(source
(origin
(method git-fetch)
@ -22929,7 +22930,7 @@ according to a parsing expression grammar.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0m2d607hprkl1pdapxsfjwag7plf822ig59qb6jjzy9m7gwg21k5"))))
(base32 "1q30r6di3r8dxxfbxfyii7kfvjj83c16bxx8ixadki3ix6imd6l5"))))
(build-system emacs-build-system)
(arguments
(list
@ -22942,12 +22943,9 @@ according to a parsing expression grammar.")
(setenv "ELDEV_LOCAL" (getcwd))
(make-file-writable "test/project-i/project-i-autoloads.el")))
(add-after 'unpack 'skip-failing-tests
;; FIXME: 3 tests are failing. Skip them for now.
;; FIXME: 2 tests are failing. Skip them for now.
(lambda _
(delete-file "test/upgrade-self.el")
(substitute* "test/doctor.el"
(("\\(ert-deftest eldev-doctor-up-to-date-copyright-2 .*" all)
(string-append all "(skip-unless nil)\n")))))
(delete-file "test/upgrade-self.el")))
(add-after 'install 'install-eldev-executable
;; This constructs the eldev executable from templates and
;; installs it in the specified directory.
@ -23012,15 +23010,15 @@ interactive commands and functions, such as @code{completing-read}.")
(define-public emacs-org-ql
(package
(name "emacs-org-ql")
(version "0.7.2")
(version "0.7.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alphapapa/org-ql")
(commit version)))
(commit (string-append "v" version))))
(sha256
(base32
"1nxjhk0yd0njlscnxvsxnlf1wy6027spcaks64qgvnrzzq9vnzrj"))
"1jdkk837z8fw2dff5v8fh2dhx7rz348sf5jqpj2aja5ji48p0fs9"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
@ -23137,7 +23135,7 @@ files to be expanded upon opening them.")
(define-public emacs-ebib
(package
(name "emacs-ebib")
(version "2.39.3")
(version "2.39.4")
(source
(origin
(method git-fetch)
@ -23146,7 +23144,7 @@ files to be expanded upon opening them.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1azgsjf5j8k6llq74brykidcb2mnq6fghk8jyq7qad5afh7n0mrc"))))
(base32 "08j6z4rpnvz7vhdrm7y3prf2jpxclqicid6as4qljysq3czzfhay"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-biblio emacs-ivy emacs-parsebib))
@ -23193,7 +23191,7 @@ automatically fetched from well-curated sources, and formatted as BibTeX.")
(define-public emacs-citar
(package
(name "emacs-citar")
(version "1.3.1")
(version "1.4.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -23202,7 +23200,7 @@ automatically fetched from well-curated sources, and formatted as BibTeX.")
(file-name (git-file-name name version))
(sha256
(base32
"12chdrmkggnpci1kdkkrz4a2bnsbzc8pra318zbnn3qxinlpngyy"))))
"07q94iplkx29lggrs5xfzj42rxfcn2cnbr90jgifk29jshcz30pv"))))
(build-system emacs-build-system)
(arguments
(list
@ -23215,7 +23213,10 @@ automatically fetched from well-curated sources, and formatted as BibTeX.")
#:phases #~(modify-phases %standard-phases
(add-before 'build 'set-home
(lambda _
(setenv "HOME" "/tmp"))))))
(setenv "HOME" "/tmp")))
;; XXX: The following phase reports bogus errors. Suppress
;; it for now.
(delete 'validate-compiled-autoloads))))
(propagated-inputs (list emacs-auctex
emacs-citeproc-el
emacs-embark
@ -26174,11 +26175,10 @@ be changed by customizing the appropriate variables.")
(license license:gpl3+)))
(define-public emacs-org-caldav
(let ((commit "8569941a0a5a9393ba51afc8923fd7b77b73fa7a")
(revision "2"))
(let ((commit "754989ae500b3f576bdb94fe2ef3059f12eaf7d7")) ;version bump
(package
(name "emacs-org-caldav")
(version (git-version "0.0.0" revision commit))
(version "3.0")
(source
(origin
(method git-fetch)
@ -26187,7 +26187,7 @@ be changed by customizing the appropriate variables.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "05lgxqaffnqaqnzl24frafdkskran88hl2ml05qvyjhs4jjbgw9g"))))
(base32 "0vx465di6imfxmxxkhd8lsdgywyz3gnindg0fyvb2zshg3zz80bg"))))
(build-system emacs-build-system)
(arguments
;; Tests require to have two specific calendars on a test server.
@ -26566,7 +26566,7 @@ tracking.")
(define-public emacs-helm-company
(package
(name "emacs-helm-company")
(version "0.2.5")
(version "0.2.7")
(source
(origin
(method git-fetch)
@ -26576,20 +26576,19 @@ tracking.")
(file-name (git-file-name name version))
(sha256
(base32
"1ci37w6ahnqrfpb284gjvxmimlf61sdxb9k192yy9q983cksv2hx"))))
"0zg878i48kmgw9lj772c3kx5v13k9k2afz98j65jx2bjbcm9f338"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-helm emacs-company))
(native-inputs
(list emacs-ert-runner))
(arguments
`(#:tests? #t
#:test-command '("ert-runner")))
(list #:tests? #t
#:test-command #~(list "ert-runner")))
(home-page "https://github.com/Sodel-the-Vociferous/helm-company")
(synopsis "Helm interface for company-mode")
(synopsis "Helm interface for Company mode")
(description
"This is a Helm interface to company-mode, a text completion
framework.")
"This is a Helm interface to Company mode, a text completion framework.")
(license license:gpl3+)))
(define-public emacs-helm-descbinds
@ -26831,7 +26830,7 @@ image, rotate it, save modified images, and more.")
(define-public emacs-package-lint
(package
(name "emacs-package-lint")
(version "0.19")
(version "0.20")
(source
(origin
(method git-fetch)
@ -26841,10 +26840,11 @@ image, rotate it, save modified images, and more.")
(file-name (git-file-name name version))
(sha256
(base32
"0afqvsqz5rx39k7k84ffcnf97px8ckmdgq23w19gdxxnzh7vv87z"))))
"1v12l8mbsrgkq5rmgzypkiabhfrd5cq6nrnmsairnpw8rrz4w739"))))
(arguments
'(#:include (cons "^data/" %default-include)))
(list #:include #~(cons "^data/" %default-include)))
(build-system emacs-build-system)
(propagated-inputs (list emacs-compat))
(home-page "https://github.com/purcell/package-lint")
(synopsis "Linting library for Elisp package authors")
(description
@ -28125,16 +28125,16 @@ and comments.")
(define-public emacs-yeetube
(package
(name "emacs-yeetube")
(version "2.0.5")
(version "2.0.7")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.thanosapollo.com/yeetube")
(url "https://git.thanosapollo.org/yeetube")
(commit version)))
(sha256
(base32
"1pb6pb624icnjp7210vqrxj4sb38kydfaxc88bj1xmk1dh332h1k"))
"05w33431dfr1ldcg3yq01qvz0alpv8q88r0dsb278qbwszw9cfz6"))
(file-name (git-file-name name version))))
(build-system emacs-build-system)
(arguments
@ -28163,40 +28163,41 @@ This package also includes a @code{yt-dlp} front-end.")
(define-public emacs-org-web-tools
(package
(name "emacs-org-web-tools")
(version "1.1.1")
(version "1.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/alphapapa/org-web-tools")
(commit version)))
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
"0v4qad54r0z7dr7kg5lpfdsazi44qvrbybx9aciyl4w9grfajphb"))))
"1w24d1cxzgjqycqz894kg3707n3ckwpv5cmbywfaffsz1v5i2p3a"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-dash emacs-esxml emacs-request emacs-s))
(list emacs-compat emacs-dash emacs-esxml emacs-request emacs-s))
(inputs
(list pandoc))
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((pandoc (assoc-ref inputs "pandoc")))
(substitute* "org-web-tools.el"
(("\"pandoc\"") (string-append "\"" pandoc "/bin/pandoc\"")))
#t))))))
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-exec-paths
(lambda* (#:key inputs #:allow-other-keys)
(let ((pandoc (search-input-file inputs "/bin/pandoc")))
(substitute* "org-web-tools.el"
(("\"pandoc\"") (string-append "\"" pandoc "\"")))))))))
(home-page "https://github.com/alphapapa/org-web-tools")
(synopsis "Display/Process web page as Org-mode content")
(description "This package contains library functions and commands useful
for retrieving web page content and processing it into Org-mode content.
(synopsis "Display/Process web page as Org mode content")
(description
"This package contains library functions and commands useful
for retrieving web page content and processing it into Org mode content.
For example, you can copy a URL to the clipboard or kill-ring, then run a
command that downloads the page, isolates the readable content with
@command{eww-readable}, converts it to Org-mode content with Pandoc, and
displays it in an Org-mode buffer. Another command does all of that but
For example, you can copy a URL to the clipboard or kill-ring, then run
a command that downloads the page, isolates the ``readable'' content with
@command{eww-readable}, converts it to Org mode content with Pandoc, and
displays it in an Org mode buffer. Another command does all of that but
inserts it as an Org entry instead of displaying it in a new buffer.")
(license license:gpl3+)))
@ -30545,7 +30546,7 @@ real search.")
(define-public emacs-notmuch-indicator
(package
(name "emacs-notmuch-indicator")
(version "1.0.1")
(version "1.1.0")
(home-page "https://git.sr.ht/~protesilaos/notmuch-indicator")
(source (origin
(method url-fetch)
@ -30554,7 +30555,7 @@ real search.")
".tar"))
(sha256
(base32
"1n5k2ikk93mdwqqysf6l7gd8i6iazk8yvbqpf8xnz5zny248cc2x"))))
"0k5csfrs8y1r6g7hs2y0961jpx0ih090kb6rkijljny2qhfj0573"))))
(build-system emacs-build-system)
(synopsis "Display a mode line indicator with @code{notmuch-count} output")
(description "This package renders an indicator with an email count of the
@ -32045,14 +32046,14 @@ well as an option for visually flashing evaluated s-expressions.")
(define-public emacs-tramp
(package
(name "emacs-tramp")
(version "2.6.1.3")
(version "2.6.1.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"tramp-" version ".tar"))
(sha256
(base32 "0z7q55yilwicgzl2m69r275pq6bzpyksxcjaf8fb3bcr3zvzil0y"))))
(base32 "1ajlx0982hx6ypby9dvw1yh9zyl1h4j9xp4n9rfzxhfvvq3139bi"))))
(build-system emacs-build-system)
(arguments
(list
@ -32416,14 +32417,14 @@ advice system without dropping support for Emacs<24.4.")
(define-public emacs-url-http-ntlm
(package
(name "emacs-url-http-ntlm")
(version "2.0.4")
(version "2.0.5")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"url-http-ntlm-" version ".el"))
"url-http-ntlm-" version ".tar"))
(sha256
(base32 "1cakq2ykraci7d1gl8rnpv4f2f5ffyaidhqb1282g7i72adwmb98"))))
(base32 "0bpjif0c4yzz75v59wsv7hilkpj2gv4kyc0rdk8h3d9hvmlq7791"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-ntlm))
(home-page "https://elpa.gnu.org/packages/url-http-ntlm.html")
@ -33992,11 +33993,11 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
(license license:gpl3+)))
(define-public emacs-telega-server
(let ((commit "17bfa50c8f2e70daeb8866f3bf195f15623ab520")
(revision "1"))
(let ((commit "4f08c835c08e762137ca04e12055cf9dc0b2b8cf")
(revision "0"))
(package
(name "emacs-telega-server")
(version (git-version "0.8.03" revision commit))
(version (git-version "0.8.203" revision commit))
(source
(origin
(method git-fetch)
@ -34004,7 +34005,7 @@ other @code{helm-type-file} sources such as @code{helm-locate}.")
(url "https://github.com/zevlg/telega.el")
(commit commit)))
(sha256
(base32 "1057zr4g8llxmzy47l5klyi89x66q8qx5vrd50pmpsp4c6772jz9"))
(base32 "02iv2cxwsmfpx2b6wvp7l22izvqw21f1b98jm0yihmfh39idxwn8"))
(file-name (git-file-name "emacs-telega" version))
(patches
(search-patches "emacs-telega-path-placeholder.patch"
@ -35027,14 +35028,14 @@ example code.")
(define-public emacs-buffer-env
(package
(name "emacs-buffer-env")
(version "0.4")
(version "0.5")
(source (origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/buffer-env-"
version ".tar"))
(sha256
(base32
"0y8ik87dqldhn6q631zp2ln9z5byqgm9icrvr4xrdx6g8mr9c56z"))))
"17q0flxp0rp52ksyh5ijcamvvm003icbyzv28r6vknrw3qsphb3p"))))
(build-system emacs-build-system)
(propagated-inputs (list emacs-compat))
(home-page "https://github.com/astoff/buffer-env")
@ -37066,7 +37067,7 @@ and preferred services can easily be configured.")
(define-public emacs-ivy-avy
(package
(name "emacs-ivy-avy")
(version "0.14.0")
(version "0.14.2")
(source
(origin
(method url-fetch)
@ -37074,7 +37075,7 @@ and preferred services can easily be configured.")
"https://elpa.gnu.org/packages/"
"ivy-avy-" version ".tar"))
(sha256
(base32 "0gjpvjahhkxsakqrcni78v71fsrh3f0jrs55a4kqc5hv6qyn8hk9"))))
(base32 "0vdrfn2i078567lklhxfhzq2cjplfpawyq2rzpdpww0fzz6fi426"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-ivy emacs-avy))
@ -37158,7 +37159,7 @@ files, providing syntax highlighting and indentation rules.")
(define-public emacs-ivy-hydra
(package
(name "emacs-ivy-hydra")
(version "0.14.0")
(version "0.14.2")
(source
(origin
(method url-fetch)
@ -37166,7 +37167,7 @@ files, providing syntax highlighting and indentation rules.")
"https://elpa.gnu.org/packages/"
"ivy-hydra-" version ".tar"))
(sha256
(base32 "1gsjr2yny9qcj56cb4xy47la11z0lszq0f2qws0yzyh02ng30k1n"))))
(base32 "10qav0rvgc5bnlazjiwnv9dlk6hivl4acif0zq2f0qqgld9nh528"))))
(build-system emacs-build-system)
(propagated-inputs
(list emacs-ivy emacs-hydra))
@ -37909,7 +37910,7 @@ hacker.")
(define-public emacs-osm
(package
(name "emacs-osm")
(version "0.13")
(version "0.14")
(source (origin
(method git-fetch)
(uri (git-reference
@ -37918,7 +37919,7 @@ hacker.")
(file-name (git-file-name name version))
(sha256
(base32
"0i1lks8724i2nz9jk5csl4nfkyi49fc928a117sn7438z82r9gyr"))))
"1y0zkfc27pnhz5hqpapsqin2kc6al1zjgd6cd4nhzqmh49h81bsb"))))
(build-system emacs-build-system)
(arguments
(list #:phases #~(modify-phases %standard-phases

View File

@ -1940,7 +1940,7 @@ to the OSM opening hours specification.")
(define-public josm
(package
(name "josm")
(version "18646")
(version "18822")
(source (origin
(method svn-fetch)
(uri (svn-reference
@ -1949,7 +1949,7 @@ to the OSM opening hours specification.")
(recursive? #f)))
(sha256
(base32
"0zr3p1i39wi0f29lgb3xrnv6lijrq5ia8jxn4wnq1yz0xdlbg98i"))
"0b4q6n3jbqrh7dsfmcf2g0xdd1wjj62sjq8lwvggvrpqlk1fyn1b"))
(file-name (string-append name "-" version "-checkout"))
(modules '((guix build utils)))
(snippet
@ -1963,17 +1963,18 @@ to the OSM opening hours specification.")
(list java-commons-jcs
java-commons-compress
java-jmapviewer
java-jsonp-api
java-jsonp-impl ; runtime dependency
java-jakarta-json
java-jsr305
java-metadata-extractor
java-opening-hours-parser
java-openjfx-media
java-parsson ; runtime dependency
java-signpost-core
java-svg-salamander))
(arguments
`(#:tests? #f
#:jar-name "josm.jar"
#:jdk ,openjdk11
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'rm-build.xml

View File

@ -880,7 +880,14 @@ new Date();"))
(build-system gnu-build-system)
(outputs '("out" "jdk" "doc"))
(arguments
`(#:tests? #f; require jtreg
`(#:imported-modules
((guix build ant-build-system)
,@%gnu-build-system-modules)
#:modules
((guix build utils)
(guix build gnu-build-system)
(ice-9 popen))
#:tests? #f; require jtreg
#:make-flags '("all")
#:disallowed-references ,(list (gexp-input icedtea-8)
(gexp-input icedtea-8 "jdk"))
@ -973,6 +980,80 @@ new Date();"))
(find-files "."
"\\.c$|\\.h$"))
#t)))
;; By default OpenJDK only generates an empty keystore. In order to
;; be able to use certificates in Java programs we need to generate a
;; keystore from a set of certificates. For convenience we use the
;; certificates from the nss-certs package.
(add-after 'install 'install-keystore
(lambda* (#:key inputs outputs #:allow-other-keys)
(use-modules (ice-9 rdelim))
(let* ((keystore "cacerts")
(certs-dir (search-input-directory inputs
"etc/ssl/certs"))
(keytool (string-append (assoc-ref outputs "jdk")
"/bin/keytool")))
(define (extract-cert file target)
(call-with-input-file file
(lambda (in)
(call-with-output-file target
(lambda (out)
(let loop ((line (read-line in 'concat))
(copying? #f))
(cond
((eof-object? line) #t)
((string-prefix? "-----BEGIN" line)
(display line out)
(loop (read-line in 'concat) #t))
((string-prefix? "-----END" line)
(display line out)
#t)
(else
(when copying? (display line out))
(loop (read-line in 'concat) copying?)))))))))
(define (import-cert cert)
(format #t "Importing certificate ~a\n" (basename cert))
(let ((temp "tmpcert"))
(extract-cert cert temp)
(let ((port (open-pipe* OPEN_WRITE keytool
"-import"
"-alias" (basename cert)
"-keystore" keystore
"-storepass" "changeit"
"-file" temp)))
(display "yes\n" port)
(when (not (zero? (status:exit-val (close-pipe port))))
(format #t "failed to import ~a\n" cert)))
(delete-file temp)))
;; This is necessary because the certificate directory contains
;; files with non-ASCII characters in their names.
(setlocale LC_ALL "en_US.utf8")
(setenv "LC_ALL" "en_US.utf8")
(copy-file (string-append (assoc-ref outputs "out")
"/lib/security/cacerts")
keystore)
(chmod keystore #o644)
(for-each import-cert (find-files certs-dir "\\.pem$"))
(mkdir-p (string-append (assoc-ref outputs "out")
"/lib/security"))
(mkdir-p (string-append (assoc-ref outputs "jdk")
"/lib/security"))
;; The cacerts files we are going to overwrite are chmod'ed as
;; read-only (444) in icedtea-8 (which derives from this
;; package). We have to change this so we can overwrite them.
(chmod (string-append (assoc-ref outputs "out")
"/lib/security/" keystore) #o644)
(chmod (string-append (assoc-ref outputs "jdk")
"/lib/security/" keystore) #o644)
(install-file keystore
(string-append (assoc-ref outputs "out")
"/lib/security"))
(install-file keystore
(string-append (assoc-ref outputs "jdk")
"/lib/security")))))
;; Some of the libraries in the lib/ folder link to libjvm.so.
;; But that shared object is located in the server/ folder, so it
;; cannot be found. This phase creates a symbolic link in the
@ -1046,6 +1127,7 @@ new Date();"))
("icedtea-8:jdk" ,icedtea-8 "jdk")
;; XXX: The build system fails with newer versions of GNU Make.
("make@4.2" ,gnu-make-4.2)
("nss-certs" ,nss-certs)
("unzip" ,unzip)
("which" ,which)
("zip" ,zip)))
@ -1128,6 +1210,7 @@ new Date();"))
`(("openjdk9" ,openjdk9)
("openjdk9:jdk" ,openjdk9 "jdk")
("make@4.2" ,gnu-make-4.2)
("nss-certs" ,nss-certs)
("unzip" ,unzip)
("which" ,which)
("zip" ,zip)))))
@ -1154,6 +1237,7 @@ new Date();"))
#:modules `((guix build gnu-build-system)
(guix build utils)
(ice-9 match)
(ice-9 popen)
(srfi srfi-1)
(srfi srfi-26))
#:disallowed-references (list (gexp-input openjdk10)
@ -1396,6 +1480,7 @@ new Date();"))
openjdk10
`(,openjdk10 "jdk")
gnu-make-4.2
nss-certs
pkg-config
unzip
which
@ -13570,6 +13655,70 @@ and allows building a Java object model for JSON text using API classes
parse, generate, transform and query) JSON messages. This package contains
a reference implementation of that API.")))
(define-public java-jakarta-json
(package
(name "java-jakarta-json")
(version "2.1.3")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/jakartaee/jsonp-api")
(commit (string-append version "-RELEASE"))))
(file-name (git-file-name name version))
(sha256
(base32
"1q600harqfhlf763l75j4fx7ai7ybp7ga06aiky2a2hg8mhz0s5f"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "jakarta-json.jar"
#:source-dir "api/src/main/java"
#:tests? #f; no tests
#:jdk ,openjdk11))
(home-page "https://github.com/jakartaee/jsonp-api")
(synopsis "Portable API for JSON handling in Java")
(description "This project contains API and Compatible Implementation of
Jakarta JSON Processing specification. Jakarta JSON Processing provides
portable APIs to parse, generate, transform, and query JSON documents.")
;; with classpath exception
(license license:epl2.0)))
(define-public java-parsson
(package
(name "java-parsson")
(version "1.1.5")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/eclipse-ee4j/parsson")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"06vvr6qv1ihnk212gdxg4x0sd61lgxk7wf062s7gym5k2h7fms0p"))))
(build-system ant-build-system)
(arguments
`(#:jar-name "parsson.jar"
#:source-dir "impl/src/main/java"
#:test-dir "impl/src/test"
#:use-java-modules? #t
#:jdk ,openjdk11
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'copy-resources
(lambda _
(copy-recursively "impl/src/main/resources"
"build/classes"))))))
(inputs
(list java-jakarta-json))
(native-inputs
(list java-junit))
(home-page "https://github.com/eclipse-ee4j/parsson")
(synopsis "Implementation of Jakarta JSON API")
(description "Eclipse Parsson is an implementation of the Jakarta JSON
Processing specification.")
;; with classpath exception
(license license:epl2.0)))
(define-public java-xmp
(package
(name "java-xmp")

View File

@ -14,6 +14,7 @@
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -50,6 +51,7 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages cpp)
#:use-module (gnu packages cups)
#:use-module (gnu packages curl)
#:use-module (gnu packages cyrus-sasl)
@ -92,20 +94,19 @@
(define-public ixion
(package
(name "ixion")
(version "0.17.0")
(source
(origin
(method url-fetch)
(uri (string-append "http://kohei.us/files/ixion/src/libixion-"
version ".tar.xz"))
(sha256
(base32
"07hhqkvns4da8xv990gr1smqz1zf40m531lg95nphfrz48wp3jak"))))
(version "0.19.0")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.com/ixion/ixion")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"0nycbs3765wkaw9ff7aflm56ayxkn15dlfl5pbbb9b5i2rcv3dq6"))))
(build-system gnu-build-system)
(native-inputs
(list pkg-config))
(inputs
(list mdds python spdlog))
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list mdds python spdlog))
(home-page "https://gitlab.com/ixion/ixion")
(synopsis "General purpose formula parser and interpreter")
(description "Ixion is a library for calculating the results of formula
@ -117,22 +118,22 @@ their dependencies automatically upon calculation.")
(define-public orcus
(package
(name "orcus")
(version "0.17.2")
(source
(origin
(method url-fetch)
(uri (string-append "http://kohei.us/files/orcus/src/lib"
"orcus-" version ".tar.xz"))
(sha256
(base32
"1as04qb74jnlnwy4wh5jwaw2nnzgn2s3230ymvh3kx1w9r0rsl1h"))))
(version "0.19.0")
(source (origin
;; The test suite requires data files store with Git Large
;; File Storage.
(method git-fetch/lfs)
(uri (git-reference
(url "https://gitlab.com/orcus/orcus")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32
"02prj6kgph56fkr89k8wlqarrmx65cq92863i4rrny5sqr8c2llr"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
(native-inputs
(list pkg-config))
(inputs
(list ixion mdds python zlib))
(arguments (list #:configure-flags #~(list "--disable-static")))
(native-inputs (list autoconf automake libtool pkg-config))
(inputs (list ixion mdds python zlib))
(home-page "https://gitlab.com/orcus/orcus")
(synopsis "File import filter library for spreadsheet documents")
(description "Orcus is a library that provides a collection of standalone
@ -353,7 +354,7 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
(name "libcmis")
;; Note: Use an unreleased version because libreoffice requires it and
;; is the only user (see <https://github.com/tdf/libcmis/pull/43>).
(version "0.5.2-46-gf264a61")
(version "0.6.0")
(home-page "https://github.com/tdf/libcmis")
(source
(origin
@ -363,7 +364,7 @@ working with graphics in the WPG (WordPerfect Graphics) format.")
(file-name (git-file-name name version))
(sha256
(base32
"06ff5vw0xrymvvna18wlaayyk20755sk2541i1gh7zpbmncs2ni6"))))
"17jx9fb7nmyp6jhz9nlmb3wcp8k03vhcv7sqql6a7jhsjnw3hq0k"))))
(build-system gnu-build-system)
(native-inputs
(list autoconf automake libtool cppunit pkg-config))
@ -897,7 +898,7 @@ commonly called @code{ftoa} or @code{dtoa}.")
(define-public libreoffice
(package
(name "libreoffice")
(version "7.5.4.2")
(version "7.6.3.1")
(source
(origin
(method url-fetch)
@ -906,7 +907,7 @@ commonly called @code{ftoa} or @code{dtoa}.")
"https://download.documentfoundation.org/libreoffice/src/"
(version-prefix version 3) "/libreoffice-" version ".tar.xz"))
(sha256
(base32 "1s3592ick745kl60yjlv7ki3p7nnwswj0mgjh3nk6k7skyvx3fv8"))))
(base32 "148084acq370483y0xwvcvck30kxhr78cnmibp5lks17xqp5f9q7"))))
(build-system glib-or-gtk-build-system)
(arguments
(list
@ -1088,6 +1089,7 @@ commonly called @code{ftoa} or @code{dtoa}.")
(list bison
cppunit
flex
frozen ;header-only library
pkg-config
python-wrapper
which

View File

@ -625,8 +625,8 @@ to make test code more informative.
(sbcl-package->cl-source-package sbcl-kaputt))
(define-public sbcl-lift
(let ((commit "2594160d6ca3a77d8750110dfa63214256aab852")
(revision "2"))
(let ((commit "a7941845a9de72be60e66ea941aa34cbee35bf23")
(revision "3"))
(package
(name "sbcl-lift")
(version (git-version "1.7.1" revision commit))
@ -634,10 +634,10 @@ to make test code more informative.
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/lift")
(url "https://github.com/hraban/lift")
(commit commit)))
(sha256
(base32 "01xvz9sl5l5lai4h9dabmcjnm659wf5zllaxqbs55lffskp6jwq3"))
(base32 "1513n46fkqw8rnvz69s7xnwj476qm8ibdlwsr63qj9yh0mib0q6x"))
(file-name (git-file-name "lift" version))
(modules '((guix build utils)))
(snippet

View File

@ -1247,8 +1247,8 @@ and Gopher website hosting.")
(delete 'build-program))))))))
(define-public sbcl-trivial-timeout
(let ((commit "feb869357f40f5e109570fb40abad215fb370c6c")
(revision "1"))
(let ((commit "e70d9b4f7caeab83ea6ac50d724470fe49561e66")
(revision "2"))
(package
(name "sbcl-trivial-timeout")
(version (git-version "0.1.5" revision commit))
@ -1256,19 +1256,15 @@ and Gopher website hosting.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/trivial-timeout/")
(url "https://github.com/hraban/trivial-timeout")
(commit commit)))
(file-name (git-file-name "trivial-timeout" version))
(sha256
(base32 "1kninxwvvih9nhh7a9y8lfgi7pdr76675y1clw4ss17vz8fbim5p"))))
(base32 "0s8z9aj6b3kv21yiyk13cjylzf5zlnw9v86vcff477m1gk9yddjs"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-lift))
(arguments
;; NOTE: (Sharlatan-20210202T231437+0000): Due to the age of this library
;; tests use some deprecated functionality and keep failing.
`(#:tests? #f))
(home-page "https://github.com/gwkkwg/trivial-timeout/")
(home-page "https://github.com/hraban/trivial-timeout")
(synopsis "Timeout library for Common Lisp")
(description
"This library provides an OS and implementation independent access to
@ -2260,8 +2256,9 @@ antialiased TrueType font rendering using CLX and XRender extension.")
(sbcl-package->ecl-package sbcl-clx-truetype))
(define-public sbcl-slynk
(let ((commit "df62abae73bd511885c9c7ec0ea7ea1469a00923")
(revision "8"))
;; Update together with emacs-sly.
(let ((commit "9c43bf65b967e12cef1996f1af5f0671d8aecbf4")
(revision "9"))
(package
(name "sbcl-slynk")
(version (git-version "1.0.43" revision commit))
@ -2273,7 +2270,7 @@ antialiased TrueType font rendering using CLX and XRender extension.")
(url "https://github.com/joaotavora/sly")
(commit commit)))
(sha256
(base32 "1nxijv52bja6la2i3asq7kklpj5li25454n52sgsc6xnnfvakbsv"))
(base32 "15nyr02ykkws4q79jcmxcawddg8sgq9v5l8k7jv7gg3hnpzxjlb2"))
(file-name (git-file-name "cl-slynk" version))))
(build-system asdf-build-system/sbcl)
(outputs '("out" "image"))
@ -2708,8 +2705,8 @@ arbitrary Lisp data.")
(sbcl-package->ecl-package sbcl-cl-dot))
(define-public sbcl-cl-graph
(let ((commit "3cb786797b24883d784b7350e7372e8b1e743508")
(revision "1"))
(let ((commit "c617de35390cb02db88bc5b5febffafdb8947ae8")
(revision "2"))
(package
(name "sbcl-cl-graph")
(version (git-version "0.10.2" revision commit))
@ -2717,11 +2714,11 @@ arbitrary Lisp data.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/cl-graph")
(url "https://github.com/hraban/cl-graph")
(commit commit)))
(file-name (git-file-name "cl-graph" version))
(sha256
(base32 "1748rj52f2jmd5jvsy9jwhn0zf73sjzjhwhnljvq6yi2kdqr30kl"))))
(base32 "0g1abkph9zb0m9zz6q2471ml9q9acdhwyapk8ra3bisqpwlxvpyf"))))
(build-system asdf-build-system/sbcl)
(arguments
;; TODO: (Sharlatan-20221118T215839+0000): Tests failed
@ -5601,8 +5598,8 @@ client and server.")
(sbcl-package->ecl-package sbcl-trivial-clipboard))
(define-public sbcl-trivial-backtrace
(let ((commit "6eb65bde7229413040c81d42ea22f0e4c9c8cfc9")
(revision "1"))
(let ((commit "7f90b4a4144775cca0728791e4b92ac2557b07a1")
(revision "2"))
(package
(name "sbcl-trivial-backtrace")
(version (git-version "1.1.0" revision commit))
@ -5610,11 +5607,11 @@ client and server.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/trivial-backtrace")
(url "https://github.com/hraban/trivial-backtrace")
(commit commit)))
(file-name (git-file-name "trivial-backtrace" version))
(sha256
(base32 "1mbaqiwj5034iw6jzw30jyhwzp1pvhnz1zcy0lns0z5j2h9ldapw"))))
(base32 "11j0p3vgmnn5q84xw7sacr5p3cvff2hfhsh2is8xpm2iwxc723kn"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-lift))
@ -7730,8 +7727,8 @@ CPython implementation of Python) and Common Lisp.")
(sbcl-package->ecl-package sbcl-burgled-batteries3))
(define-public sbcl-metabang-bind
(let ((commit "c93b7f7e1c18c954c2283efd6a7fdab36746ab5e")
(revision "1"))
(let ((commit "08196426cb099db0623e6cae2aeca566e0b788b2")
(revision "2"))
(package
(name "sbcl-metabang-bind")
(version (git-version "0.8.0" revision commit))
@ -7739,12 +7736,12 @@ CPython implementation of Python) and Common Lisp.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/metabang-bind")
(url "https://github.com/hraban/metabang-bind")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0hd0kr91795v77akpbcyqiss9p0p7ypa9dznrllincnmgvsxlmf0"))))
"14g7k3zhm8cd6bssc5mm5h6iq1dv5lfhiq33aimcmj5a6vbiq47d"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-lift))
@ -9220,8 +9217,8 @@ discontiguous ranges of time.")
(sbcl-package->ecl-package sbcl-periods))
(define-public sbcl-metatilities-base
(let ((commit "6eaa9e3ff0939a93a92109dd0fcd218de85417d5")
(revision "1"))
(let ((commit "ef04337759972fd622c9b27b53149f3d594a841f")
(revision "2"))
(package
(name "sbcl-metatilities-base")
(version (git-version "0.6.6" revision commit))
@ -9229,12 +9226,12 @@ discontiguous ranges of time.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/metatilities-base")
(url "https://github.com/hraban/metatilities-base")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32
"0xpa86pdzlnf4v5g64j3ifaplx71sx2ha8b7vvakswi652679ma0"))))
"069rk5ncwvjnnzvvky6xiriynl72yzvjpnzl6jw9jf3b8na14zrk"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-lift))
@ -9252,8 +9249,8 @@ which implements a set of utilities.")
(sbcl-package->ecl-package sbcl-metatilities-base))
(define-public sbcl-cl-containers
(let ((commit "3d1df53c22403121bffb5d553cf7acb1503850e7")
(revision "3"))
(let ((commit "781ebfe0888bae46f07c018f7d473898b1bd4f5f")
(revision "4"))
(package
(name "sbcl-cl-containers")
(version (git-version "0.12.1" revision commit))
@ -9261,12 +9258,12 @@ which implements a set of utilities.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/cl-containers")
(url "https://github.com/hraban/cl-containers")
(commit commit)))
(file-name (git-file-name "cl-containers" version))
(sha256
(base32
"18s6jfq11n8nv9k4biz32pm1s7y9zl054ry1gmdbcf39nisy377y"))))
"1nrql8s1j123v5gscy99lxvhlzp0ijig9x94w30v3lwfa58hf90l"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-lift))
@ -17097,12 +17094,21 @@ not so easy to copy (ssyntax, argument destructuring, etc.).")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/trivial-shell")
(url "https://github.com/hraban/trivial-shell")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "08mpkl5ij5sjfsyn8pq2kvsvpvyvr7ha1r8g1224fa667b8k2q85"))))
(build-system asdf-build-system/sbcl)
(arguments
(list
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda _
(substitute* "dev/definitions.lisp"
(("/bin/sh")
(which "sh"))))))))
(native-inputs
(list sbcl-lift))
(home-page "https://common-lisp.net/project/trivial-shell/")
@ -17687,31 +17693,34 @@ It aims to be implementation-agnostic and to climb the syntax trees.")
(sbcl-package->ecl-package sbcl-agnostic-lizard))
(define-public sbcl-dynamic-classes
(package
(name "sbcl-dynamic-classes")
(version "1.0.2")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/dynamic-classes")
(commit (string-append "version-" version))))
(file-name (git-file-name "dynamic-classes" version))
(sha256
(base32 "1z3ag6w4ff0v6715xa9zhvwjqnp4i6zrjfmxdz8m115sklbwgm6c"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("metatilities-base" ,sbcl-metatilities-base)))
(arguments
;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
;; test suites. lift-standard.config contains referances to deprecated
;; functionality.
`(#:tests? #f))
(home-page "https://common-lisp.net/project/dynamic-classes/")
(synopsis "Dynamic class definition for Common Lisp")
(description "Dynamic-Classes helps to ease the prototyping process by
(let ((commit "ebd7405603f67b16e8f2bc08ce8e2bcfcf439501")
(revision "0"))
(package
(name "sbcl-dynamic-classes")
(version (git-version "1.0.2" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hraban/dynamic-classes")
(commit commit)))
(file-name (git-file-name "dynamic-classes" version))
(sha256
(base32 "1k9lkchwyi2xhygp2v8ifq3kg1l3wcnihhzgr06jrivjxgdqpc1a"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("metatilities-base" ,sbcl-metatilities-base)))
(arguments
;; NOTE: (Sharlatan-20210106222900+0000) Circular dependencies and failing
;; test suites. lift-standard.config contains referances to deprecated
;; functionality.
;; See https://github.com/hraban/dynamic-classes/issues/2
`(#:tests? #f))
(home-page "https://common-lisp.net/project/dynamic-classes/")
(synopsis "Dynamic class definition for Common Lisp")
(description "Dynamic-Classes helps to ease the prototyping process by
bringing dynamism to class definition.")
(license license:expat)))
(license license:expat))))
(define-public ecl-dynamic-classes
(sbcl-package->ecl-package sbcl-dynamic-classes))
@ -17720,41 +17729,47 @@ bringing dynamism to class definition.")
(sbcl-package->cl-source-package sbcl-dynamic-classes))
(define-public sbcl-cl-markdown
;; NOTE: (Sharlatan-20210106214629+0000) latest version tag
;; "version-0.10.6_version-0.10.6" is failing to build due to missing system
;; #:container-dynamic-classes
(package
(name "sbcl-cl-markdown")
(version "0.10.4")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/cl-markdown")
(commit (string-append "version-" version))))
(file-name (git-file-name "cl-markdown" version))
(sha256
(base32 "1wdjbdd1zyskxf7zlilcp6fmwkivybj0wjp64vvzb265d5xi7p8p"))))
(build-system asdf-build-system/sbcl)
(inputs
`(("anaphora" ,sbcl-anaphora)
("cl-containers" ,sbcl-cl-containers)
("cl-ppcre" ,sbcl-cl-ppcre)
("dynamic-classes" ,sbcl-dynamic-classes)
("metabang-bind" ,sbcl-metabang-bind)
("metatilities-base" ,sbcl-metatilities-base)))
(arguments
;; NOTE: (Sharlatan-20210107213629+0000) Tests depend on too many not
;; available systems, which themself are abandoned.
`(#:tests? #f))
(home-page "https://common-lisp.net/project/cl-markdown/")
(synopsis "Common Lisp rewrite of Markdown")
(description
"This is an implementation of a Markdown parser in Common Lisp.")
(license license:expat)))
;; The latest changes with fixes are not released yet, see
;; https://github.com/hraban/cl-markdown/issues/9
(let ((commit "3788802199228b49d0e06c3feb80c1c22af05cfc")
(revision "0"))
(package
(name "sbcl-cl-markdown")
(version (git-version "0.10.6" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hraban/cl-markdown")
(commit commit)))
(file-name (git-file-name "cl-markdown" version))
(sha256
(base32 "1algqwmafipyf194cx9wfhg0pdx1ppx6s444p1pm8yaycbsyla1v"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-lift sbcl-trivial-shell))
(inputs
(list sbcl-anaphora
sbcl-cl-containers
sbcl-cl-ppcre
sbcl-dynamic-classes
sbcl-metabang-bind
sbcl-metatilities-base))
(home-page "https://common-lisp.net/project/cl-markdown/")
(synopsis "Common Lisp rewrite of Markdown")
(description
"This is an implementation of a Markdown parser in Common Lisp.")
(license license:expat))))
(define-public ecl-cl-markdown
(sbcl-package->ecl-package sbcl-cl-markdown))
(let ((pkg (sbcl-package->ecl-package sbcl-cl-markdown)))
(package
(inherit pkg)
(arguments
;; XXX: Tests fail with "The function LIFT::GET-BACKTRACE-AS-STRING is
;; undefined" on ECL.
;; See https://github.com/hraban/cl-markdown/issues/11
'(#:tests? #f)))))
(define-public cl-markdown
(sbcl-package->cl-source-package sbcl-cl-markdown))
@ -19481,7 +19496,7 @@ immediately loaded.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/cl-mathstats")
(url "https://github.com/hraban/cl-mathstats")
(commit commit)))
(file-name (git-file-name "cl-mathstats" version))
(sha256
@ -19491,7 +19506,7 @@ immediately loaded.")
(list sbcl-lift))
(inputs
(list sbcl-cl-containers sbcl-metatilities-base))
(home-page "https://github.com/gwkkwg/cl-mathstats")
(home-page "https://github.com/hraban/cl-mathstats")
(synopsis "Common Lisp collection of mathematical routines")
(description
"This package provides Common Lisp math and statistics routines.")
@ -21219,8 +21234,8 @@ running into parallelism problems when having to change directory.")
(sbcl-package->cl-source-package sbcl-simple-inferiors))
(define-public sbcl-metacopy
(let ((commit "1b5bf443206cc1dea7801ae23d1167bd02122d30")
(revision "1"))
(let ((commit "df7856f2a43fa91124fe780ef22f792040bc130c")
(revision "2"))
(package
(name "sbcl-metacopy")
(version (git-version "0.2.0" revision commit))
@ -21228,27 +21243,27 @@ running into parallelism problems when having to change directory.")
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/gwkkwg/metacopy")
;; Upstream changed the maintaner.
;; legacy https://github.com/gwkkwg/metacopy
(url "https://github.com/hraban/metacopy")
(commit commit)))
(file-name (git-file-name "cl-metacopy" version))
(sha256
(base32 "1rzp112djgw5n76s6hy2aq92bc43p0zd5bgzvqwvgvws4pls42s9"))))
(base32 "0l5ryg8pvqz9sn9s8bsvd0plvcnm7crsx86iqk5wxblkialaizip"))))
(build-system asdf-build-system/sbcl)
(native-inputs
(list sbcl-asdf-system-connections sbcl-lift))
(inputs
(list sbcl-contextl sbcl-moptilities))
(home-page "https://github.com/gwkkwg/metacopy")
(home-page "https://github.com/hraban/metacopy")
(synopsis "Flexible Common Lisp shallow/deep copy mechanism")
(description
"This package provides a flexible shallow/deep copy mechanism for
Common Lisp.")
(license license:expat))))
;; NOTE: (Sharlatan-20221112T214131+0000): There is no ecl-moptilities variable
;; required for tests.
;;
;; ecl-metacopy
(define-public ecl-metacopy
(sbcl-package->ecl-package sbcl-metacopy))
(define-public cl-metacopy
(sbcl-package->cl-source-package sbcl-metacopy))

View File

@ -1061,8 +1061,9 @@ the HTML documentation of TXR.")
'("txr-manpage.html" "txr-manpage.pdf")))))
(add-after 'install 'install-vim-files
(lambda _
(let ((syntax (string-append #$output
"/share/vim/vimfiles/syntax")))
(let ((syntax (string-append
#$output
"/share/vim/vimfiles/pack/guix/start/txr/syntax")))
(install-file "tl.vim" syntax)
(install-file "txr.vim" syntax)))))))
(native-inputs

View File

@ -1867,7 +1867,8 @@ addons which can add many functionalities to the base client.")
(doc (string-append out "/share/doc/msmtp"))
(msmtpq "scripts/msmtpq")
(msmtpqueue "scripts/msmtpqueue")
(vimfiles (string-append out "/share/vim/vimfiles/syntax")))
(vimfiles (string-append
out "/share/vim/vimfiles/pack/guix/start/msmtp/syntax")))
(install-file (string-append msmtpq "/msmtpq") bin)
(install-file (string-append msmtpq "/msmtp-queue") bin)
(install-file (string-append msmtpqueue "/msmtp-enqueue.sh") bin)

View File

@ -125,39 +125,39 @@ convert it to structurally valid XHTML (or HTML).")
"See License.text in the distribution."))))
(define-public lowdown
(let ((commit "1de10c1d71bfb4348ae0beaec8b1547d5e114969")
(revision "1"))
(package
(name "lowdown")
(version (git-version "0.10.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/kristapsdz/lowdown")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "1wh07nkiihvp1m79sj4qlnqklnn0rfp3hwls8sqcp0bfd96wpa1h"))))
(build-system gnu-build-system)
(arguments
(list
#:test-target "regress"
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "./configure"
(string-append "PREFIX=" #$output)
(string-append "MANDIR=" #$output "/share/man")))))
#:make-flags #~(list "CFLAGS=-fPIC")))
(native-inputs
(list which))
(home-page "https://kristaps.bsd.lv/lowdown/")
(synopsis "Simple Markdown translator")
(description "Lowdown is a Markdown translator producing HTML5,
roff documents in the ms and man formats, LaTeX, gemini, and terminal output.")
(license license:isc))))
(package
(name "lowdown")
(version "1.1.0")
(source
(origin
(method url-fetch)
(uri (string-append
"https://kristaps.bsd.lv/lowdown/snapshots/lowdown-"
version ".tar.gz"))
(sha256
(base32 "0y88gffrg1zrin0y53j4gbkmpia0r8p0kyklj501wavkqi83j7pk"))))
(build-system gnu-build-system)
(arguments
(list
#:test-target "regress"
#:phases
#~(modify-phases %standard-phases
(replace 'configure
(lambda _
(invoke "./configure"
(string-append "PREFIX=" #$output)
(string-append "MANDIR=" #$output "/share/man"))))
(replace 'install
(lambda _
(invoke "make" "install" "install_libs"))))
#:make-flags #~(list "CFLAGS=-fPIC")))
(native-inputs
(list which))
(home-page "https://kristaps.bsd.lv/lowdown/")
(synopsis "Simple Markdown translator")
(description "Lowdown is a Markdown translator producing HTML5, roff
documents in the ms and man formats, LaTeX, gemini, and terminal output.")
(license license:isc)))
(define-public discount
(package

View File

@ -33,6 +33,7 @@
#:use-module (gnu packages texinfo)
#:use-module (guix build-system gnu)
#:use-module (guix download)
#:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module (guix licenses)
#:use-module (guix packages)
@ -153,15 +154,16 @@ parsers to allow execution with Guile as extension languages.")))
(define-public mes
(package
(name "mes")
(version "0.24.2")
(version "0.25")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/mes/"
"mes-" version ".tar.gz"))
(sha256
(base32
"0vp8v88zszh1imm3dvdfi3m8cywshdj7xcrsq4cgmss69s2y1nkx"))))
(supported-systems '("armhf-linux" "i686-linux" "x86_64-linux"))
"0h49h85m1jkppfsv95zdxdrrw1q1mwswhq81lwxj1nbyasrm0lij"))))
(supported-systems '("aarch64-linux" "armhf-linux" "i686-linux"
"x86_64-linux" "riscv64-linux"))
(propagated-inputs (list mescc-tools nyacc-1.00.2))
(native-inputs
(append (list guile-3.0)
@ -173,8 +175,13 @@ parsers to allow execution with Guile as extension languages.")))
;; MesCC 64 bit .go files installed ready for use with Guile.
(list (cross-binutils "i686-unknown-linux-gnu")
(cross-gcc "i686-unknown-linux-gnu")))
(else
'())))
((string-prefix? "aarch64-linux" target-system)
;; Use cross-compiler rather than #:system "armhf-linux" to get
;; MesCC 64 bit .go files installed ready for use with Guile.
(let ((triplet "arm-linux-gnueabihf"))
(list (cross-binutils triplet) (cross-gcc triplet))))
(else
'())))
(list graphviz help2man
m2-planet
perl ;build-aux/gitlog-to-changelog
@ -209,9 +216,8 @@ Guile.")
(version "1.5.0")
(source (origin
(method url-fetch)
(uri (string-append
"https://github.com/oriansj/mescc-tools/releases/download/"
"Release_" version "/" name "-" version ".tar.gz"))
(uri (string-append "mirror://savannah/" name "/"
name "-" version ".tar.gz"))
(sha256
(base32
"1vjczlajyrbjcx9ld35vhdqbxfdwwy3axg0jray3iwnrf70qr700"))))
@ -220,10 +226,15 @@ Guile.")
"armhf-linux" "aarch64-linux"
"riscv64-linux"))
(arguments
`(#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out")))
#:test-target "test"
#:phases (modify-phases %standard-phases
(delete 'configure))))
(list
#:make-flags #~(list (string-append "PREFIX=" #$output))
#:test-target "test"
#:phases #~(modify-phases %standard-phases
(delete 'configure)
(add-after 'unpack 'patch-Kaem/test.sh
(lambda _
(substitute* "Kaem/test.sh"
(("#/usr/") "#! /usr")))))))
(native-inputs (list which))
(synopsis "Tools for the full source bootstrapping process")
(description
@ -268,3 +279,4 @@ built as Phase-5 of the full source bootstrapping process and is capable of
building GNU Mes.")
(home-page "https://github.com/oriansj/m2-planet")
(license gpl3+)))

View File

@ -2636,11 +2636,11 @@ replacement.")
(license license:gpl2+)))
(define-public tdlib
(let ((commit "4d1d22d6f477d61f6ff2b8f6e49de1847092c5b4")
(let ((commit "4ed0b23c9c99868ab4d2d28e8ff244687f7b3144")
(revision "0"))
(package
(name "tdlib")
(version (git-version "1.8.16" revision commit))
(version (git-version "1.8.20" revision commit))
(source
(origin
(method git-fetch)
@ -2648,7 +2648,7 @@ replacement.")
(url "https://github.com/tdlib/td")
(commit commit)))
(sha256
(base32 "0nv921k795kq0l993rxzd5pm5v3l3mnwbaxb7d7d0m0506l4w9fk"))
(base32 "16kprlcnphi89yfwgnlaxjwwb1xx24az8xd710rx8cslb4zv00qw"))
(file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments

View File

@ -154,7 +154,6 @@
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages qt)
#:use-module (gnu packages readline)
#:use-module (gnu packages ruby)
#:use-module (gnu packages samba)
#:use-module (gnu packages serialization)
#:use-module (gnu packages shells)
@ -867,25 +866,9 @@ publish/subscribe, RPC-style request/reply, or service discovery.")
(sha256
(base32 "01ddfzjlkf2dgijrmm3j3j8irccsnbgfvjcnwslsfaxnrmrq5s64"))))
(build-system cmake-build-system)
(outputs '("out" "doc"))
(arguments
`(#:configure-flags
(list
"-DNN_ENABLE_COVERAGE=ON")
#:phases
(modify-phases %standard-phases
(add-after 'install 'move-docs
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(doc (assoc-ref outputs "doc")))
(mkdir-p (string-append doc "/share/doc"))
(rename-file
(string-append out "/share/doc/nanomsg")
(string-append doc "/share/doc/nanomsg"))
#t))))))
(native-inputs
`(("asciidoctor" ,ruby-asciidoctor)
("pkg-config" ,pkg-config)))
(list "-DNN_ENABLE_COVERAGE=ON")))
(synopsis "Scalable socket library")
(description "Nanomsg is a socket library that provides several common
communication patterns. It aims to make the networking layer fast, scalable,

View File

@ -174,8 +174,8 @@
;; Note: the 'update-guix-package.scm' script expects this definition to
;; start precisely like this.
(let ((version "1.4.0")
(commit "e863274e67e2242b970845783172c9f4e49405ca")
(revision 13))
(commit "a60ff4611a8814d1f33d64af07401762afbcc597")
(revision 14))
(package
(name "guix")
@ -191,7 +191,7 @@
(commit commit)))
(sha256
(base32
"0g8p0w9qrqbzz3b4fzbvvqpdfgwhlxpz75n3ysa6haima5s19mp3"))
"08czk2789y21cydg1xwwrmah8hjaprdnzvb993n7d7d70ccxk5kz"))
(file-name (string-append "guix-" version "-checkout"))))
(build-system gnu-build-system)
(arguments

View File

@ -1,29 +0,0 @@
Preserve subject when replying to patch threads.
Upstream status: likely to be in the next release (bug#66330)
diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index f366fba11d..cd549e364d 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -1747,6 +1747,12 @@ MERGED is the list of bugs merged with this one."
(format "Re: bug#%d: %s" id (alist-get 'subject status)))
(debbugs-gnu-summary-mode 1)))
+(defcustom debbugs-gnu-summary-keep-subject
+ (rx "[PATCH" (? (0+ (not (any digit "/]"))) (1+ digit) "/" (1+ digit)) "]")
+ "Regular expression which keeps the original message subject in replies."
+ :version "29.1"
+ :type 'regexp)
+
(defvar debbugs-gnu-summary-mode-map
(let ((map (make-sparse-keymap)))
(define-key map "C" #'debbugs-gnu-send-control-message)
@@ -1778,6 +1784,8 @@ MERGED is the list of bugs merged with this one."
(cons new new))
address))))))
,@(and debbugs-gnu-subject
+ (not (string-match-p debbugs-gnu-summary-keep-subject
+ debbugs-gnu-subject))
`((subject ,debbugs-gnu-subject)))))))
(defun debbugs-gnu-guess-current-id ()

View File

@ -117,7 +117,7 @@
(define-public capypdf
(package
(name "capypdf")
(version "0.5.0")
(version "0.6.0")
(source (origin
(method git-fetch)
(uri (git-reference
@ -125,7 +125,7 @@
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1mb3i0jq04gg5cm1l07mn9kal5s748miql97j6fpaf1x1j2lcrsx"))))
(base32 "15l8zwc83l65xh739s0qddlv5qv537wnx74s8fcwlm1r8y7kf2x4"))))
(build-system meson-build-system)
(arguments
(list #:meson meson/newer

View File

@ -13,6 +13,7 @@
;;; Copyright © 2022 Greg Hogan <code@greghogan.com>
;;; Copyright © 2022 Ryan Tolboom <ryan@using.tech>
;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
@ -218,49 +219,46 @@ mathematical operations, and much more.")
(license license:expat)))
(define-public rtl-sdr
;; No tagged release since 2018
(let ((commit "5e73f90f1d85d8db2e583f3dbf1cff052d71d59b")
(revision "1"))
(package
(name "rtl-sdr")
(version (git-version "0.6.0" revision commit))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.osmocom.org/rtl-sdr/")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(base32 "106fwzyr7cba952f3p3wm3hdqzm9zvm0v3gcz4aks2n7fnvrgrvn"))))
(build-system cmake-build-system)
(inputs
(list libusb))
(native-inputs
(list pkg-config))
(arguments
`(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON"
"-DINSTALL_UDEV_RULES=ON")
#:tests? #f ; No tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("DESTINATION \"/etc/udev/")
(string-append "DESTINATION \""
(assoc-ref outputs "out")
"/lib/udev/")))))
(add-after 'fix-paths 'fix-udev-rules
(lambda _
(substitute* "rtl-sdr.rules"
;; The plugdev group does not exist; use dialout as in
;; the hackrf package.
(("GROUP=\"plugdev\"")
"GROUP=\"dialout\"")))))))
(home-page "https://osmocom.org/projects/sdr/wiki/rtl-sdr")
(synopsis "Software defined radio driver for Realtek RTL2832U")
(description "DVB-T dongles based on the Realtek RTL2832U can be used as a
(package
(name "rtl-sdr")
(version "2.0.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://git.osmocom.org/rtl-sdr/")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "0z8dn0gdava894fb9fs9gcwvmik31fcj6ldkggylc0mhgw5145pr"))))
(build-system cmake-build-system)
(inputs
(list libusb))
(native-inputs
(list pkg-config))
(arguments
`(#:configure-flags '("-DDETACH_KERNEL_DRIVER=ON"
"-DINSTALL_UDEV_RULES=ON")
#:tests? #f ; No tests
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-paths
(lambda* (#:key outputs #:allow-other-keys)
(substitute* "CMakeLists.txt"
(("DESTINATION \"/etc/udev/")
(string-append "DESTINATION \""
(assoc-ref outputs "out")
"/lib/udev/")))))
(add-after 'fix-paths 'fix-udev-rules
(lambda _
(substitute* "rtl-sdr.rules"
;; The plugdev group does not exist; use dialout as in
;; the hackrf package.
(("GROUP=\"plugdev\"")
"GROUP=\"dialout\"")))))))
(home-page "https://osmocom.org/projects/sdr/wiki/rtl-sdr")
(synopsis "Software defined radio driver for Realtek RTL2832U")
(description "DVB-T dongles based on the Realtek RTL2832U can be used as a
cheap software defined radio, since the chip allows transferring the raw I/Q
samples to the host. @code{rtl-sdr} provides drivers for this purpose.
@ -275,7 +273,7 @@ system configuration:
To install the rtl-sdr udev rules, you must extend 'udev-service-type' with
this package. E.g.: @code{(udev-rules-service 'rtl-sdr rtl-sdr)}")
(license license:gpl2+))))
(license license:gpl2+)))
(define-public airspy
(let ((commit "6f92f47146aa8a8fce59b60927cf8c53da6851b3")
@ -1662,13 +1660,19 @@ instances over the network, and general QSO and DXpedition logging.")
(base32 "1lqd77v9xm58k9g9kfwxva3mmzm1yyk1v27nws5j1a293zfg2hkw"))))
(build-system qt-build-system)
(arguments
(list #:tests? #f)) ; No test suite
(list #:tests? #f ; No test suite
#:configure-flags
(if (this-package-native-input "ruby-asciidoctor")
#~'()
#~(list "-DWSJT_GENERATE_DOCS=OFF"))))
(native-inputs
(list asciidoc
gfortran
pkg-config
qttools-5
ruby-asciidoctor))
(append (list asciidoc
gfortran
pkg-config
qttools-5)
(if (supported-package? ruby-asciidoctor)
(list ruby-asciidoctor)
'())))
(inputs
(list boost
fftw
@ -1914,7 +1918,7 @@ from devices on the 433 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz ISM bands.")
(define-public multimon-ng
(package
(name "multimon-ng")
(version "1.2.0")
(version "1.3.0")
(source
(origin
(method git-fetch)
@ -1923,7 +1927,7 @@ from devices on the 433 MHz, 868 MHz, 315 MHz, 345 MHz and 915 MHz ISM bands.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0hm7391z1iz2sk4xkwfphqz8qvihqjzsh45csz14gb4jfs1p6ks2"))))
(base32 "1gd3kxb1w2fc6waa8g7af036yicjbg4a7hs0dgdci4d3aqwyz690"))))
(build-system cmake-build-system)
(inputs
(list libx11 pulseaudio))
@ -2569,7 +2573,7 @@ voice formats.")
(define-public sdrangel
(package
(name "sdrangel")
(version "7.16.0")
(version "7.17.0")
(source
(origin
(method git-fetch)
@ -2578,7 +2582,7 @@ voice formats.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32 "1c2pdxw2a3pysqlmr42gghg0ga33afwdp6wc97h7s6gwc5km6zlk"))))
(base32 "16hpnfzccpj8a3i24ryli870ym6kjih981sjapcqdc8va0q14qdz"))))
(build-system qt-build-system)
(native-inputs
(list doxygen graphviz pkg-config))

View File

@ -2206,7 +2206,8 @@ consecutive lines and since program start.")
(bin (string-append out "/bin"))
(share (string-append out "/share"))
(man (string-append out "/share/man"))
(vimfiles (string-append share "/vim/vimfiles/plugin"))
(vimfiles (string-append
share "/vim/vimfiles/pack/guix/start/skim/plugin"))
(bash-completion
(string-append share "/bash-completions/completions"))
(zsh-site (string-append share "/zsh/site-functions"))

View File

@ -63,14 +63,14 @@
(define-public tor
(package
(name "tor")
(version "0.4.8.7")
(version "0.4.8.8")
(source (origin
(method url-fetch)
(uri (string-append "https://dist.torproject.org/tor-"
version ".tar.gz"))
(sha256
(base32
"14blalf96240dg6crpmgyf2bdcj109dyx47h0w6a0a6vfjf2n3dj"))))
"0140d0zcjxi4vijvr2gk3kmnd4xa80sjj9kdcc2gzazyr84fkfr1"))))
(build-system gnu-build-system)
(arguments
(list #:configure-flags

View File

@ -3188,26 +3188,33 @@ will reconstruct the object along its delta-base chain and return it.")
#$(file-append (this-package-input "go-golang-org-x-net")
"/src/golang.org/x/net/publicsuffix/data")
"src/golang.org/x/net/publicsuffix/data")))
(add-before 'build 'man-gen
;; Without this, the binary generated in 'build
;; phase won't have any embedded usage-text.
(lambda _
(with-directory-excursion "src/github.com/git-lfs/git-lfs"
(invoke "make" "mangen"))))
(add-after 'build 'build-man-pages
(lambda _
(with-directory-excursion "src/github.com/git-lfs/git-lfs"
(invoke "make" "man"))))
(add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion "src/github.com/git-lfs/git-lfs/man"
(for-each
(lambda (manpage)
(install-file manpage
(string-append #$output "/share/man/man1")))
(find-files "." "^git-lfs.*\\.1$"))))))))
;; Only build the man pages if ruby-asciidoctor is available.
#$@(if (this-package-native-input "ruby-asciidoctor")
#~((add-before 'build 'man-gen
;; Without this, the binary generated in 'build
;; phase won't have any embedded usage-text.
(lambda _
(with-directory-excursion "src/github.com/git-lfs/git-lfs"
(invoke "make" "mangen"))))
(add-after 'build 'build-man-pages
(lambda _
(with-directory-excursion "src/github.com/git-lfs/git-lfs"
(invoke "make" "man"))))
(add-after 'install 'install-man-pages
(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion "src/github.com/git-lfs/git-lfs/man"
(for-each
(lambda (manpage)
(install-file manpage
(string-append #$output "/share/man/man1")))
(find-files "." "^git-lfs.*\\.1$"))))))
#~()))))
;; make `ronn` available during build for man page generation
(native-inputs (list ronn-ng git-minimal ruby-asciidoctor))
(native-inputs
(append (list git-minimal)
(if (supported-package? ruby-asciidoctor)
(list ronn-ng ruby-asciidoctor)
'())))
(propagated-inputs
(list go-github-com-xeipuuv-gojsonschema
go-github-com-xeipuuv-gojsonreference

View File

@ -179,6 +179,7 @@
#:use-module (gnu packages pulseaudio)
#:use-module (gnu packages python)
#:use-module (gnu packages python-build)
#:use-module (gnu packages python-check)
#:use-module (gnu packages python-crypto)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
@ -2430,7 +2431,7 @@ images and image hosting sites.")
(define-public mpv-mpris
(package
(name "mpv-mpris")
(version "1.0")
(version "1.1")
(source
(origin
(method git-fetch)
@ -2439,7 +2440,7 @@ images and image hosting sites.")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "1vpx4kzyg4pssn1hql2ci4s9x08sdx2v0kphw4aryywnz04yjhzf"))))
(base32 "1384y8n3l0xk8hbad1nsj9ljzb1h02g3ln3jysd8bd6shbl0x4mx"))))
(build-system copy-build-system)
(arguments
'(#:install-plan
@ -2453,7 +2454,7 @@ images and image hosting sites.")
(native-inputs
(list pkg-config))
(inputs
(list glib mpv))
(list ffmpeg glib mpv))
(home-page "https://github.com/hoyon/mpv-mpris")
(synopsis "MPRIS plugin for mpv")
(description "This package provides an @dfn{MPRIS} (Media Player Remote
@ -3272,33 +3273,45 @@ and custom quantization matrices.")
(define-public streamlink
(package
(name "streamlink")
(version "3.2.0")
(version "6.3.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "streamlink" version))
(sha256
(base32
"09nrspga15svzi0hmakcarbciav0nzf30hg1ff53gia473cd4w4p"))))
"0i2qym2plm4gpcq50vl67j69m8a4zz9mb8gi2xryx28pbnpdzh4k"))
(snippet
#~(begin (use-modules (guix build utils))
(substitute* "pyproject.toml"
(("trio >=0\\.22") "trio >=0.21"))))))
(build-system python-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
`(#:phases
(modify-phases %standard-phases
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
(invoke "python" "-m" "pytest")))))))
(native-inputs
(list python-freezegun python-mock python-pytest
python-requests-mock))
(list python-freezegun
python-requests-mock
python-pytest
python-pytest-asyncio
python-pytest-trio))
(propagated-inputs
(list python-pysocks
python-websocket-client
(list python-certifi
python-isodate
python-lxml
python-pycountry
python-pycryptodome
python-pysocks
python-requests
python-urllib3))
python-trio
python-trio-websocket
python-typing-extensions
python-urllib3
python-websocket-client))
(home-page "https://github.com/streamlink/streamlink")
(synopsis "Extract streams from various services")
(description "Streamlink is command-line utility that extracts streams

View File

@ -38,10 +38,10 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject)
#:use-module (guix build-system vim)
#:use-module (gnu packages)
#:use-module (gnu packages acl)
#:use-module (gnu packages admin) ; For GNU hostname
@ -299,12 +299,9 @@ written in the Python 3, Perl, Ruby, Tcl, and Lua programming languages.")))
(sha256
(base32
"1h6sci5mhdfg6sjsjpi8l5li02hg858zcayiwl60y9j2gqnd18lv"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "neocomplete"))
(synopsis "Next generation completion framework for Vim")
(description
"@code{neocomplete}, an abbreviation of 'neo-completion with cache',
@ -332,10 +329,9 @@ features than Vim's built-in completion.")
(sha256
(base32
"151wpvbj6jb9jdkbhj3b77f5sq7y328spvwfbqyj1y32rg4ifmc6"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("neosnippets" "share/vim/vimfiles/"))))
(list #:plugin-name "neosnippet")) ; Extends neosnippet
(synopsis "Snippets for neosnippet")
(description
"@code{neosnippet-snippets} provides standard snippets for the Vim plugin
@ -361,17 +357,9 @@ you can fill in on the fly.")
(sha256
(base32
"0k80syscmpnj38ks1fq02ds59g0r4jlg9ll7z4qc048mgi35alw5"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("ftdetect" "share/vim/vimfiles/")
("ftplugin" "share/vim/vimfiles/")
("indent" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/")
("rplugin" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/"))))
(list #:plugin-name "neosnippet"))
(synopsis "Snippet support for Vim")
(description
"@code{neosnippet}, is a plugin for Vim which adds snippet support to Vim.
@ -400,12 +388,9 @@ trouble using them, because you do not have to remember each snippet name.")
(sha256
(base32
"04h946vr4f8wxap3wzqs69y2v8n50g2zbk22jsg2kxr4c01z5cbw"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("ftplugin" "share/vim/vimfiles/")
("indent" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/"))))
(list #:plugin-name "vim-scheme"))
(synopsis "Scheme syntax for Vim")
(description
"@code{vim-scheme} provides Scheme support for Vim (R7RS and CHICKEN).")
@ -428,10 +413,9 @@ trouble using them, because you do not have to remember each snippet name.")
(sha256
(base32
"0ka3qbhsh8lix1vyj4678j7dnchkd8khhirrnn3aylxxf8fpqyg8"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("colors" "share/vim/vimfiles/"))))
(list #:plugin-name "luna"))
(synopsis "Dark color theme for Vim")
(description
"@code{vim-luna} is a dark color theme for Vim.")
@ -455,11 +439,9 @@ trouble using them, because you do not have to remember each snippet name.")
(sha256
(base32
"0alvrfhmd91zkd9h83s8wvgyq4iakcf6rybsyjd369qbgpcqky89"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("doc" "share/vim/vimfiles/")
("autoload" "share/vim/vimfiles/"))))
(list #:plugin-name "context_filetype"))
(synopsis "Context filetype library for Vim")
(description
"@code{vim-context-filetype} is context filetype library for Vim script.")
@ -479,15 +461,9 @@ trouble using them, because you do not have to remember each snippet name.")
(file-name (git-file-name name version))
(sha256
(base32 "138290g2aph1jjhaza6biky5qi4ka6435s01bwxivllgb53g3irc"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("ftdetect" "share/vim/vimfiles/")
("ftplugin" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/"))))
(list #:plugin-name "fugitive"))
(home-page "https://github.com/tpope/vim-fugitive")
(synopsis "Vim plugin to work with Git")
(description "Vim-fugitive is a wrapper for Vim that complements the
@ -509,12 +485,9 @@ commit or run any Git arbitrary command.")
(sha256
(base32
"1aksmr73648pvyc75pfdz28k2d4ky52rn7xiwcv7lz87q3vqld7k"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "airline"))
(synopsis "Statusline for Vim")
(description
"@code{vim-airline} is an extensible statusline for Vim.
@ -540,12 +513,9 @@ and powerline symbols, etc.")
(sha256
(base32
"1sb7nb7j7bz0pv1c9bgdy0smhr0jk2b1vbdv9yzghg5lrknpsbr6"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "airline-themes"))
(synopsis "Collection of themes for Vim-airline")
(description
"@code{vim-airline-themes} is a collection of themes for @code{vim-airline}.")
@ -565,13 +535,9 @@ and powerline symbols, etc.")
(file-name (git-file-name name version))
(sha256
(base32 "0j91f72jaz1s6aw1hpjiz30vk2ds2aqd9gisk91grsldy6nz6hhz"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/")
("syntax_checkers" "share/vim/vimfiles/"))))
(list #:plugin-name "syntastic"))
(synopsis "Syntax checking plugin for Vim")
(description
"Vim-syntastic is a syntax checking plugin for Vim. It runs files through
@ -581,6 +547,17 @@ are detected, the user is notified.")
(home-page "https://github.com/vim-syntastic/syntastic")
(license license:wtfpl2)))
(define-public neovim-syntastic
(package
(inherit vim-syntastic)
(name "neovim-syntastic")
(synopsis "Syntax checking plugin for Neovim")
(description
"Vim-syntastic is a syntax checking plugin for Neovim. It runs files through
external syntax checkers and displays any resulting errors to the user. This
can be done on demand, or automatically as files are saved. If syntax errors
are detected, the user is notified.")))
(define-public vim-solarized
(let ((commit "62f656a02f93c5190a8753159e34b385588d5ff3")
(revision "1"))
@ -596,11 +573,15 @@ are detected, the user is notified.")
(file-name (git-file-name name version))
(sha256
(base32 "0001mz5v3a8zvi3gzmxhi3yrsb6hs7qf6i497arsngnvj2cwn61d"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("vim-colors-solarized/colors" "share/vim/vimfiles/")
("vim-colors-solarized/doc" "share/vim/vimfiles/"))))
(list
#:plugin-name "solarized"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "vim-colors-solarized"))))))
(home-page "https://github.com/altercation/vim-colors-solarized")
(synopsis "Solarized color scheme for Vim")
(description
@ -631,9 +612,16 @@ switching between the light and dark background modes.")
(file-name (git-file-name name version))
(sha256
(base32 "1jya8wwlkmgs89hndrq6gsaskhk9g0fh62wdib8v9vz2x5g3738z"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan '(("opt" "share/vim/vimfiles/pack/rainbow/"))))
(list
#:plugin-name "rainbow"
#:mode "opt"
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'chdir
(lambda _
(chdir "opt/rainbow"))))))
(home-page "https://github.com/mason1920/rainbow")
(synopsis "Rainbow Parentheses Improved")
(description
@ -656,12 +644,11 @@ codes by showing different levels of parentheses in different colors.")
(sha256
(base32
"0mp80bi2m56bb93szw87vy6q5s85yk9g91sl4pr51316rgdv5kkv"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list
#:plugin-name "editorconfig"
#:vim? #t))
(home-page "https://editorconfig.org/")
(synopsis "EditorConfig plugin for Vim")
(description "EditorConfig makes it easy to maintain the correct coding
@ -686,11 +673,9 @@ editors.")
(sha256
(base32
"1xn08z3a21mgfvp5i1nv57jnldwxwnl5nkryiff3zc99b1mizigp"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
(list #:install-plan
#~'(("lua" "share/nvim/site/pack/guix/start/packer.nvim/")
("doc" "share/nvim/site/pack/guix/start/packer.nvim/"))))
(list #:plugin-name "packer.nvim"))
(home-page "https://github.com/wbthomason/packer.nvim")
(synopsis "Plugin manager for Neovim")
(description
@ -699,23 +684,6 @@ editors.")
is based on Vim's builtin plugin support.")
(license license:expat))))
(define-public neovim-syntastic
(package
(inherit vim-syntastic)
(name "neovim-syntastic")
(arguments
'(#:install-plan
'(("autoload" "share/nvim/site/")
("doc" "share/nvim/site/")
("plugin" "share/nvim/site/")
("syntax_checkers" "share/nvim/site/"))))
(synopsis "Syntax checking plugin for Neovim")
(description
"Vim-syntastic is a syntax checking plugin for Neovim. It runs files through
external syntax checkers and displays any resulting errors to the user. This
can be done on demand, or automatically as files are saved. If syntax errors
are detected, the user is notified.")))
(define-public neovim
(package
(name "neovim")
@ -889,12 +857,12 @@ and support for fonts with ligatures.")
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(vifm (string-append out "/share/vifm"))
(vimfiles (string-append out "/share/vim/vimfiles")))
(vimfiles (string-append
out "/share/vim/vimfiles/pack/guix/start/vifm")))
(copy-recursively (string-append vifm "/colors")
(string-append vimfiles "/colors"))
(copy-recursively (string-append vifm "/vim")
vimfiles)
(delete-file-recursively (string-append vifm "/colors"))
(delete-file-recursively (string-append vifm "/vim"))))))))
(native-inputs
(list groff)) ; for the documentation
@ -986,17 +954,9 @@ a nested nvim process.")
(sha256
(base32
"013yn2n2nsspk12bldkc9xn4z4kjx9rvracbllc8i1nngldckxd0"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("compiler" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("indent" "share/vim/vimfiles/")
("ftdetect" "share/vim/vimfiles/")
("ftplugin" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/"))))
(list #:plugin-name "guix"))
(home-page "https://git.sr.ht/~efraim/guix.vim")
(synopsis "Guix integration in Vim")
(description "This package provides support for GNU Guix in Vim.")
@ -1015,11 +975,10 @@ a nested nvim process.")
(sha256
(base32
"11zcw0sll6qg6ha0rr6n1cw5v73azvf7ycwn9lgiwa5cj7rrqjf4"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("plugin" "share/vim/vimfiles/")
("doc/" "share/vim/vimfiles/doc" #:include ("asyncrun.txt")))))
(list
#:plugin-name "asyncrun"))
(home-page "https://github.com/skywind3000/asyncrun.vim")
(synopsis "Run Async Shell Commands in Vim")
(description "This plugin takes the advantage of new APIs in Vim 8 (and
@ -1041,12 +1000,9 @@ quickfix window in realtime.")
(sha256
(base32
"1m8b5mn2zqlphzs6xfwykwmghf6p0wabrhpjmh7vav35jgcxc4wl"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "dispatch"))
(home-page "https://github.com/tpope/vim-dispatch")
(synopsis "Asynchronous build and test dispatcher")
(description "Leverage the power of Vim's compiler plugins without being
@ -1071,11 +1027,9 @@ the job completes, errors will be loaded and parsed automatically.")
(file-name (git-file-name name version))
(sha256
(base32 "05ffhhfahjqwxyrqmsinsahrs15wknzl2qbj8mznyv319mn2civ2"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
`(#:install-plan
'(("ftdetect" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/"))))
(list #:plugin-name "gemini"))
(home-page "https://git.sr.ht/~torresjrjr/gemini.vim")
(synopsis "Vim syntax highlighting plugin for Gemini")
(description "This Vim plugin provides a Vim syntax highlighting plugin
@ -1099,11 +1053,9 @@ specification.")
(sha256
(base32
"1xadb22kd40swmww0qxmmkcpcq6viy8l167pjck5q32hfngll5d3"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "eunuch"))
(home-page "https://github.com/tpope/vim-eunuch")
(synopsis "Vim sugar for the UNIX shell commands")
(description "Vim sugar for the UNIX shell commands that need it the most.
@ -1127,13 +1079,9 @@ help working on Vim buffers and the files they reference with one command.")
(file-name (git-file-name name version))
(sha256
(base32 "0k4b629jn6xlxyjxdl3cgm06v9dmx967rqnslv5m82c9kscwpyh4"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
`(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("ftplugin" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "vim-slime"))
(home-page "https://technotales.wordpress.com/2007/10/03/like-slime-for-vim/")
(synopsis "Vim plugin to give you some slime")
(description "SLIME is an Emacs plugin to turn Emacs into a Lisp IDE. You
@ -1159,28 +1107,29 @@ to Lisp.")
(sha256
(base32 "1dfc1wyjsgkckrklkzvk4whaz3ahaka59rvm7rc724mabmk83pmp"))
(file-name (git-file-name name version))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("vim/autoload" "share/vim/vimfiles/")
("vim/doc" "share/vim/vimfiles/")
("vim/ftplugin" "share/vim/vimfiles/")
("vim/syntax" "share/vim/vimfiles/")
("vim/test" "share/vim/vimfiles/")
;; This is so the Vimscript part of Vlime can find the lisp files.
("lisp" "share/vim/")
;; This is so lisp can load Vlime without the Vim part.
("lisp" "share/common-lisp/source/vlime"))
'(#:plugin-name "vlime"
#:phases
(modify-phases %standard-phases
;; Create a symbolic link to the .asd file so that
;; (asdf:load-system "vlime") finds the system.
(add-after 'install 'link-asd
(add-after 'symlink-files 'install-lisp-files
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(mkdir-p (string-append out "/share/common-lisp/systems/"))
(symlink (string-append out "/share/common-lisp/source/vlime/vlime.asd")
(string-append out "/share/common-lisp/systems/vlime.asd"))))))))
(let* ((out (assoc-ref outputs "out"))
(common-lisp (string-append out "/share/common-lisp")))
;; Create a symbolic link to the .asd file so that
;; (asdf:load-system "vlime") finds the system.
(copy-recursively "lisp" (string-append common-lisp "/source/vlime"))
(mkdir-p (string-append common-lisp "/systems/"))
(symlink (string-append common-lisp "/source/vlime/vlime.asd")
(string-append common-lisp "/systems/vlime.asd")))))
(add-after 'install 'symlink-files
(lambda* (#:key outputs plugin-name mode #:allow-other-keys)
(with-directory-excursion
(string-append (assoc-ref outputs "out")
"/share/vim/vimfiles/pack/guix/" mode "/" plugin-name)
(for-each (lambda (dir)
(symlink (string-append "./vim/" dir) dir))
(list "after" "autoload" "doc" "ftplugin" "syntax"))))))))
(propagated-inputs
(list cl-alexandria
cl-slime-swank
@ -1211,11 +1160,9 @@ to aid you in your glorious Common Lisp hacking quest.")
(file-name (git-file-name name version))
(sha256
(base32 "07d5s20r0ssd7rir45vy0fqlci44gha1a81rcilgar227f3nw328"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "paredit"))
(home-page "https://github.com/kovisoft/paredit")
(synopsis "Vim plugin for structured editing of Lisp S-expressions")
(description
@ -1237,11 +1184,9 @@ to aid you in your glorious Common Lisp hacking quest.")
(file-name (git-file-name name version))
(sha256
(base32 "1b0bd5m5lv1p4d299mrwjfs2gk0zqwyaqdaid9hs9yqlxnr8s5nf"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "surround"))
(home-page "https://github.com/tpope/vim-surround")
(synopsis "Vim plugin for easy quoting and parenthesizing")
(description
@ -1262,12 +1207,9 @@ change and add such surroundings in pairs.")
"/vim-gnupg-v" version ".tar.gz"))
(sha256
(base32 "02w8lgyyh7wgxysvmmcf9ja5c06vrbyh3alzvv97x8cfhrp0skn7"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "vim-gnupg"))
(home-page "https://www.vim.org/scripts/script.php?script_id=3645")
(synopsis "Vim plugin for transparent editing of gpg encrypted files")
(description
@ -1293,12 +1235,9 @@ swapfile, and undofile when editing encrypted files to increase security.")
(file-name (git-file-name name version))
(sha256
(base32 "0n68hg59h4rjn0ziqbsh5pr03l3kr98zk54659ny6vq107af1w96"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "ctrlp.vim"))
(home-page "https://ctrlpvim.github.io/ctrlp.vim/")
(synopsis "Fuzzy file, buffer, mru, tag, etc. finder for Vim")
(description
@ -1330,12 +1269,9 @@ anything).
(file-name (git-file-name name version))
(sha256
(base32 "054g80n09mmxxlh8xaic29bn8bgn3clvv732rymljdyvbj1mlhwd"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "MUcomplete"))
(home-page "https://github.com/lifepillar/vim-mucomplete")
(synopsis "MUcomplete is a minimalist autocompletion plugin for Vim")
(description
@ -1359,12 +1295,9 @@ result is returned.")
(file-name (git-file-name name version))
(sha256
(base32 "0zpa7cs59a8sq0k3frlf9flpf30jcn239yrpmv40r7nqvxzglbpl"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "gitgutter"))
(synopsis "Vim plugin which shows a git diff in the sign column")
(description
"A Vim plugin which shows a git diff in the sign column. It shows which
@ -1388,12 +1321,9 @@ buffer.")
(file-name (git-file-name name version))
(sha256
(base32 "0ppsbsd696ih40d9f76mdl9sd9y7p2pvm65qmvq4b2zhkv4xbpxz"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "characterize"))
(home-page "https://github.com/tpope/vim-characterize")
(synopsis "Vim plugin for showing Unicode character metadata")
(description
@ -1422,13 +1352,9 @@ additions:
(file-name (git-file-name name version))
(sha256
(base32 "1fqfs8msmr6d4kpvxqp14sdjvp5fj52q5w5kz71myzcd4kqzmirp"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/"))
'(#:plugin-name "tagbar"
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'link-universal-ctags
@ -1463,15 +1389,9 @@ the class they are defined in.")
(file-name (git-file-name name version))
(sha256
(base32 "1si8qla86ng8cffbmfrk9gss0i3912yw0f1ph4bsiq0kk837lccp"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
'(#:install-plan
'(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("lib" "share/vim/vimfiles/")
("nerdtree_plugin" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/")
("syntax" "share/vim/vimfiles/"))))
(list #:plugin-name "nerdtree"))
(home-page "https://github.com/preservim/nerdtree")
(synopsis "Tree explorer plugin for Vim")
(description
@ -1493,13 +1413,9 @@ files for reading or editing, and perform basic file system operations.")
(file-name (git-file-name name version))
(sha256
(base32 "1ka2rqn7rby55aps3iblh1dcqxm7m7qx72mpkz6y2aaj8mkj0zyd"))))
(build-system copy-build-system)
(build-system vim-build-system)
(arguments
(list
#:install-plan
#~`(("autoload" "share/vim/vimfiles/")
("doc" "share/vim/vimfiles/")
("plugin" "share/vim/vimfiles/"))))
(list #:plugin-name "nerdcommenter"))
(home-page "https://github.com/preservim/nerdcommenter")
(synopsis "Vim plugin for easy commenting of code")
(description

View File

@ -787,7 +787,7 @@ desktop environment.")
(define-public icewm
(package
(name "icewm")
(version "3.4.3")
(version "3.4.4")
(source (origin
(method url-fetch)
(uri (string-append
@ -795,7 +795,7 @@ desktop environment.")
version "/icewm-" version ".tar.lz"))
(sha256
(base32
"1r2x7acjahq4666mds1di46zc32sl80592wllghqcp5800jpjcjm"))))
"0cdsb2d45dwcr2dm4jfh0z5g6pkb0ghd4jaybxqiz74mbw5rmjhv"))))
(build-system gnu-build-system)
(native-inputs (list pkg-config))
(inputs (list fontconfig
@ -1084,7 +1084,8 @@ drags, snap-to-border support, and virtual desktops.")
(add-after 'install 'install-vim-files
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(syntax (string-append out "/share/vim/vimfiles/syntax")))
(syntax (string-append
out "/share/vim/vimfiles/pack/guix/start/fluxbox/syntax")))
(copy-recursively "3rd/vim/vim/syntax" syntax)
#t)))
(add-after 'install 'install-xsession

View File

@ -103,6 +103,7 @@
(build-target "jar")
(jar-name #f)
(main-class #f)
(use-java-modules? #f)
(test-include (list "**/*Test.java"))
(test-exclude (list "**/Abstract*.java"))
(source-dir "src")
@ -131,6 +132,7 @@
#:build-target #$build-target
#:jar-name #$jar-name
#:main-class #$main-class
#:use-java-modules? #$use-java-modules?
#:test-include (list #$@test-include)
#:test-exclude (list #$@test-exclude)
#:source-dir #$source-dir

View File

@ -0,0 +1,157 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Jonathan Scoresby <me@jonscoresby.com>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix build-system vim)
#:use-module (guix store)
#:use-module (guix utils)
#:use-module (guix gexp)
#:use-module (guix monads)
#:use-module (guix packages)
#:use-module (guix search-paths)
#:use-module (guix build-system)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
#:export (%vim-build-system-modules vim-build vim-build-system))
;; Commentary:
;;
;; Standard package installer for vim and neovim plugins.
;; This is implemented as an extension of the `copy-build-system'
;; and takes advantage of vim and neovim's built-in package manager.
;; It extends the installation procedure from the copy-build-system
;; to put files in the correct place and then generates help tags.
;;
;; Code:
(define %vim-build-system-modules
;; Build-side modules imported by default.
`((guix build vim-build-system)
,@%copy-build-system-modules))
(define (default-vim)
"Return the default Vim package."
;; Lazily resolve the binding to avoid a circular dependency.
(let ((vim (resolve-interface '(gnu packages vim))))
(module-ref vim 'vim)))
(define (default-neovim)
"Return the default Neovim package."
(let ((vim (resolve-interface '(gnu packages vim))))
(module-ref vim 'neovim)))
(define* (lower name
#:key source
inputs
native-inputs
outputs
system
target
(vim? #f)
(neovim? #f)
(plugin-name name)
(vim (default-vim))
(neovim (default-neovim))
#:allow-other-keys #:rest arguments)
"Return a bag for NAME."
(let* ((private-keywords '(#:target #:vim #:neovim #:inputs #:native-inputs))
(vim? (or (string-prefix? "vim-" name)
vim?))
(neovim? (or (string-prefix? "neovim-" name)
neovim?))
(vim-inputs (append (if vim?
`(("vim" ,vim))
'())
(if neovim?
`(("neovim" ,neovim))
'())))
(vim-arguments (append arguments
`(#:vim? ,vim?
#:neovim? ,neovim?))))
(bag (name name)
(system system)
(host-inputs `(,@(if source
`(("source" ,source))
'()) ,@inputs
;; Keep the standard inputs of 'gnu-build-system'.
,@(standard-packages)))
(build-inputs `(,@vim-inputs ,@native-inputs))
(outputs outputs)
(build vim-build)
(arguments (strip-keyword-arguments private-keywords vim-arguments)))))
(define* (vim-build name inputs
#:key guile
source
(vim? #f)
(neovim? #f)
(mode "start")
(plugin-name name)
(install-plan ''())
(phases '(@ (guix build vim-build-system) %standard-phases))
(outputs '("out"))
(search-paths '())
(system (%current-system))
(substitutable? #t)
(imported-modules %vim-build-system-modules)
(modules '((guix build vim-build-system)
(guix build utils))))
(define build
(with-imported-modules imported-modules
#~(begin
(use-modules #$@modules)
#$(with-build-variables inputs outputs
#~(vim-build #:name #$name
#:vim? #$vim?
#:neovim? #$neovim?
#:mode #$mode
#:plugin-name #$plugin-name
#:install-plan #$(if (pair? install-plan)
(sexp->gexp install-plan)
install-plan)
#:source #+source
#:system #$system
#:phases #$(if (pair? phases)
(sexp->gexp phases)
phases)
#:outputs %outputs
#:search-paths '#$(sexp->gexp
(map search-path-specification->sexp
search-paths))
#:inputs
%build-inputs)))))
(mlet %store-monad
((guile (package->derivation (or guile (default-guile))
system #:graft? #f)))
(gexp->derivation name
build
#:system system
#:target #f
#:graft? #f
#:substitutable? substitutable?
#:guile-for-build guile)))
(define vim-build-system
(build-system (name 'vim)
(description "The standard Vim build system")
(lower lower)))
;;; vim.scm ends here

View File

@ -37,6 +37,7 @@
(define* (default-build.xml jar-name prefix #:optional
(source-dir ".") (test-dir "./test") (main-class #f)
(use-java-modules? #f)
(test-include '("**/*Test.java"))
(test-exclude '("**/Abstract*Test.java")))
"Create a simple build.xml with standard targets for Ant."
@ -65,7 +66,7 @@
(value "first")))
(property (@ (environment "env")))
(path (@ (id "classpath"))
(pathelement (@ (location "${env.CLASSPATH}"))))
(pathelement (@ (path "${env.CLASSPATH}"))))
(target (@ (name "manifest"))
(mkdir (@ (dir "${manifest.dir}")))
@ -79,18 +80,30 @@
(mkdir (@ (dir "${classes.dir}")))
(javac (@ (includeantruntime "false")
(srcdir ,source-dir)
(destdir "${classes.dir}")
(classpath (@ (refid "classpath"))))))
(destdir "${classes.dir}"))
,(if use-java-modules?
`((modulepath (@ (refid "classpath"))))
'())
(classpath (@ (refid "classpath")))))
(target (@ (name "compile-tests"))
(mkdir (@ (dir "${test.classes.dir}")))
(javac (@ (includeantruntime "false")
(srcdir ,test-dir)
(destdir "${test.classes.dir}"))
(classpath
(pathelement (@ (path "${env.CLASSPATH}")))
(pathelement (@ (location "${classes.dir}")))
(pathelement (@ (location "${test.classes.dir}"))))))
,(if use-java-modules?
`((classpath
(pathelement
(@ (path "${env.CLASSPATH}")))
(pathelement
(@ (location "${classes.dir}")))
(pathelement
(@ (location "${test.classes.dir}")))))
'())
(classpath
(pathelement (@ (path "${env.CLASSPATH}")))
(pathelement (@ (location "${classes.dir}")))
(pathelement (@ (location "${test.classes.dir}"))))))
(target (@ (name "check")
(depends "compile-tests"))
@ -156,13 +169,15 @@ to the default GNU unpack strategy."
(source-dir "src")
(test-dir "src/test")
(main-class #f)
(use-java-modules? #f)
(test-include '("**/*Test.java"))
(test-exclude '("**/Abstract*.java")) #:allow-other-keys)
(when jar-name
(default-build.xml jar-name
(string-append (assoc-ref outputs "out")
"/share/java")
source-dir test-dir main-class test-include test-exclude))
source-dir test-dir main-class use-java-modules?
test-include test-exclude))
(setenv "JAVA_HOME" (assoc-ref inputs "jdk"))
(setenv "CLASSPATH" (generate-classpath inputs))
#t)

View File

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2016, 2019, 2023 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -33,10 +34,13 @@
;;; Code:
(define* (git-fetch url commit directory
#:key (git-command "git") recursive?)
#:key (git-command "git")
lfs? recursive?)
"Fetch COMMIT from URL into DIRECTORY. COMMIT must be a valid Git commit
identifier. When RECURSIVE? is true, all the sub-modules of URL are fetched,
recursively. Return #t on success, #f otherwise."
identifier. When LFS? is true, configure Git to also fetch Large File
Storage (LFS) files; it assumes that the @code{git-lfs} extension is available
in the environment. When RECURSIVE? is true, all the sub-modules of URL are
fetched, recursively. Return #t on success, #f otherwise."
;; Disable TLS certificate verification. The hash of the checkout is known
;; in advance anyway.
@ -57,6 +61,11 @@ recursively. Return #t on success, #f otherwise."
(with-directory-excursion directory
(invoke git-command "init" "--initial-branch=main")
(invoke git-command "remote" "add" "origin" url)
(when lfs?
(setenv "HOME" "/tmp")
(invoke git-command "lfs" "install"))
(if (zero? (system* git-command "fetch" "--depth" "1" "origin" commit))
(invoke git-command "checkout" "FETCH_HEAD")
(begin
@ -81,11 +90,13 @@ recursively. Return #t on success, #f otherwise."
(define* (git-fetch-with-fallback url commit directory
#:key (git-command "git") recursive?)
#:key (git-command "git")
lfs? recursive?)
"Like 'git-fetch', fetch COMMIT from URL into DIRECTORY, but fall back to
alternative methods when fetching from URL fails: attempt to download a nar,
and if that also fails, download from the Software Heritage archive."
(or (git-fetch url commit directory
#:lfs? lfs?
#:recursive? recursive?
#:git-command git-command)
(download-nar directory)

View File

@ -126,7 +126,8 @@ If it is unknown, make an educated guess."
(/ total-old-size (expt 1024 2))
(/ total-new-size (expt 1024 2)))))))
(define name-regexp (make-regexp "^name[ ]*=(.+)$"))
(define name-regexp
(make-regexp "^name[[:space:]]*=[[:space:]]*([[:graph:]]+)[[:space:]]*$"))
(define* (read-mod-name mod.conf #:optional not-found)
"Read the name of a mod from MOD.CONF. If MOD.CONF

View File

@ -192,6 +192,7 @@
terminal-window-size
terminal-columns
terminal-rows
terminal-string-width
openpty
login-tty
@ -2336,6 +2337,20 @@ PORT, trying to guess a reasonable value if all else fails. The result is
always a positive integer."
(terminal-dimension window-size-rows port (const 25)))
(define terminal-string-width
(let ((mbstowcs (syscall->procedure int "mbstowcs" (list '* '* size_t)))
(wcswidth (syscall->procedure int "wcswidth" (list '* size_t))))
(lambda (str)
"Return the width of a string as it would be printed on the terminal.
This procedure accounts for characters that have a different width than 1, such
as CJK double-width characters."
(let ((wchar (make-bytevector (* (+ (string-length str) 1) 4))))
(mbstowcs (bytevector->pointer wchar)
(string->pointer str)
(string-length str))
(wcswidth (bytevector->pointer wchar)
(string-length str))))))
(define openpty
(let ((proc (syscall->procedure int "openpty" '(* * * * *)
#:library "libutil")))

View File

@ -0,0 +1,119 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2022 Jonathan Scoresby <me@jonscoresby.com>
;;; Copyright © 2023 Efraim Flashner <efraim@flashner.co.il>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (guix build vim-build-system)
#:use-module ((guix build copy-build-system)
#:prefix copy:)
#:use-module (guix build utils)
#:use-module (ice-9 match)
#:use-module (ice-9 ftw)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-26)
#:export (%standard-phases vim-build))
;; Commentary:
;;
;; System for installing vim and neovim plugins. It downloads
;; the source and copies the appropriate files to vim and nvim
;; packpaths. It then generates helptags.
;;
;; Code:
(define copy:install
(assoc-ref copy:%standard-phases 'install))
(define vim-path
"/share/vim/vimfiles/pack/guix/")
(define nvim-path
"/share/nvim/site/pack/guix/")
(define* (install #:key plugin-name
install-plan
neovim?
vim?
mode
outputs
#:allow-other-keys)
(let* ((include-regexp '(".*\\/.*\\/.*"))
(exclude-regexp '("^scripts/.*"
"tests?/.*" "^t/.*"
"assets/.*"
".*\\/\\..*"))
(vim-install
(if vim?
`(("." ,(string-append vim-path mode "/" plugin-name "/")
#:include-regexp ,include-regexp
#:exclude-regexp ,exclude-regexp))
'()))
(neovim-install
(if neovim?
`(("." ,(string-append nvim-path mode "/" plugin-name "/")
#:include-regexp ,include-regexp
#:exclude-regexp ,exclude-regexp))
'())))
(copy:install #:outputs outputs
#:install-plan (append vim-install
neovim-install
install-plan))))
(define* (generate-helptags #:key plugin-name
neovim?
vim?
mode
outputs
#:allow-other-keys)
(define (vim-generate-helptags output)
(invoke "vim" "--clean" "-en" "--cmd"
(string-append "helptags "
output vim-path mode "/" plugin-name "/doc")
"--cmd" "q"))
(define (neovim-generate-helptags output)
(invoke "nvim" "--clean" "--headless" "-en" "--cmd"
(string-append "helptags "
output nvim-path mode "/" plugin-name "/doc")
"--cmd" "q"))
(when (scandir "./doc")
(let ((out (assoc-ref outputs "out")))
(when vim?
(vim-generate-helptags out))
(when neovim?
(neovim-generate-helptags out)))))
(define %standard-phases
;; Everything is as with the Copy Build System except for
;; the addition of the generate-helptags phase and a few
;; custom actions are added to the install phase
(modify-phases copy:%standard-phases
(replace 'install install)
(add-after 'install 'generate-helptags generate-helptags)))
(define* (vim-build #:key inputs
(phases %standard-phases)
#:allow-other-keys #:rest args)
"Build the given package, applying all of PHASES in order."
(apply copy:copy-build
#:inputs inputs
#:phases phases
args))
;;; vim-build-system.scm ends here

View File

@ -4,6 +4,7 @@
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
;;; Copyright © 2023 Simon Tournier <zimon.toutoune@gmail.com>
;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@ -54,6 +55,7 @@
git-reference-recursive?
git-fetch
git-fetch/lfs
git-version
git-file-name
git-predicate))
@ -79,30 +81,36 @@
(let ((distro (resolve-interface '(gnu packages version-control))))
(module-ref distro 'git-minimal)))
(define* (git-fetch/in-band ref hash-algo hash
#:optional name
#:key (system (%current-system))
(guile (default-guile))
(git (git-package)))
"Return a fixed-output derivation that performs a Git checkout of REF, using
GIT and GUILE (thus, said derivation depends on GIT and GUILE).
(define (git-lfs-package)
"Return the default 'git-lfs' package."
(let ((distro (resolve-interface '(gnu packages version-control))))
(module-ref distro 'git-lfs)))
This method is deprecated in favor of the \"builtin:git-download\" builder.
It will be removed when versions of guix-daemon implementing
\"builtin:git-download\" will be sufficiently widespread."
(define* (git-fetch/in-band* ref hash-algo hash
#:optional name
#:key (system (%current-system))
(guile (default-guile))
(git (git-package))
git-lfs)
"Shared implementation code for git-fetch/in-band & friends. Refer to their
respective documentation."
(define inputs
`(("git" ,(or git (git-package)))
;; When doing 'git clone --recursive', we need sed, grep, etc. to be
;; available so that 'git submodule' works.
`(,(or git (git-package))
,@(if git-lfs
(list git-lfs)
'())
,@(if (git-reference-recursive? ref)
(standard-packages)
;; TODO: remove (standard-packages) after
;; 48e528a26f9c019eeaccf5e3de3126aa02c98d3b is merged into master;
;; currently when doing 'git clone --recursive', we need sed, grep,
;; etc. to be available so that 'git submodule' works.
(map second (standard-packages))
;; The 'swh-download' procedure requires tar and gzip.
`(("gzip" ,(module-ref (resolve-interface '(gnu packages compression))
'gzip))
("tar" ,(module-ref (resolve-interface '(gnu packages base))
'tar))))))
(list (module-ref (resolve-interface '(gnu packages compression))
'gzip)
(module-ref (resolve-interface '(gnu packages base))
'tar)))))
(define guile-json
(module-ref (resolve-interface '(gnu packages guile)) 'guile-json-4))
@ -126,7 +134,7 @@ It will be removed when versions of guix-daemon implementing
(define build
(with-imported-modules modules
(with-extensions (list guile-json gnutls ;for (guix swh)
(with-extensions (list guile-json gnutls ;for (guix swh)
guile-lzlib)
#~(begin
(use-modules (guix build git)
@ -134,6 +142,9 @@ It will be removed when versions of guix-daemon implementing
#:select (set-path-environment-variable))
(ice-9 match))
(define lfs?
(call-with-input-string (getenv "git lfs?") read))
(define recursive?
(call-with-input-string (getenv "git recursive?") read))
@ -144,18 +155,17 @@ It will be removed when versions of guix-daemon implementing
#+(file-append glibc-locales "/lib/locale"))
(setlocale LC_ALL "en_US.utf8")
;; The 'git submodule' commands expects Coreutils, sed,
;; grep, etc. to be in $PATH.
(set-path-environment-variable "PATH" '("bin")
(match '#+inputs
(((names dirs outputs ...) ...)
dirs)))
;; The 'git submodule' commands expects Coreutils, sed, grep,
;; etc. to be in $PATH. This also ensures that git extensions are
;; found.
(set-path-environment-variable "PATH" '("bin") '#+inputs)
(setvbuf (current-output-port) 'line)
(setvbuf (current-error-port) 'line)
(git-fetch-with-fallback (getenv "git url") (getenv "git commit")
#$output
#:lfs? lfs?
#:recursive? recursive?
#:git-command "git")))))
@ -175,18 +185,49 @@ It will be removed when versions of guix-daemon implementing
(git-reference-url ref))))
("git commit" . ,(git-reference-commit ref))
("git recursive?" . ,(object->string
(git-reference-recursive? ref))))
(git-reference-recursive? ref)))
("git lfs?" . ,(if git-lfs "#t" "#f")))
#:leaked-env-vars '("http_proxy" "https_proxy"
"LC_ALL" "LC_MESSAGES" "LANG"
"COLUMNS")
#:system system
#:local-build? #t ;don't offload repo cloning
#:local-build? #t ;don't offload repo cloning
#:hash-algo hash-algo
#:hash hash
#:recursive? #t
#:guile-for-build guile)))
(define* (git-fetch/in-band ref hash-algo hash
#:optional name
#:key (system (%current-system))
(guile (default-guile))
(git (git-package)))
"Return a fixed-output derivation that performs a Git checkout of REF, using
GIT and GUILE (thus, said derivation depends on GIT and GUILE).
This method is deprecated in favor of the \"builtin:git-download\" builder.
It will be removed when versions of guix-daemon implementing
\"builtin:git-download\" will be sufficiently widespread."
(git-fetch/in-band* ref hash-algo hash name
#:system system
#:guile guile
#:git git))
(define* (git-fetch/lfs ref hash-algo hash
#:optional name
#:key (system (%current-system))
(guile (default-guile))
(git (git-package))
(git-lfs (git-lfs-package)))
"Like git-fetch/in-band, but with support for the Git Large File
Storage (LFS) extension."
(git-fetch/in-band* ref hash-algo hash name
#:system system
#:guile guile
#:git git
#:git-lfs git-lfs))
(define* (git-fetch/built-in ref hash-algo hash
#:optional name
#:key (system (%current-system)))

View File

@ -33,6 +33,8 @@
#:use-module (guix store)
#:use-module (guix utils)
#:use-module (guix records)
#:use-module ((guix build syscalls)
#:select (terminal-string-width))
#:use-module (guix gexp)
#:autoload (guix git-download)
(git-reference-url git-reference-commit git-reference-recursive?)
@ -154,7 +156,7 @@ the 'SSL_CERT_FILE' and 'SSL_CERT_DIR' environment variables."
;; TODO: Both should be handled & exposed by the PROGRESS-BAR API instead.
(define width
(max (- (current-terminal-columns)
(string-length label) 7)
(terminal-string-width label) 7)
3))
(define grain

View File

@ -21,6 +21,8 @@
(define-module (guix progress)
#:use-module (guix records)
#:use-module ((guix build syscalls)
#:select (terminal-string-width))
#:use-module (srfi srfi-19)
#:use-module (rnrs io ports)
#:use-module (rnrs bytevectors)
@ -307,7 +309,7 @@ tasks is performed. Write PREFIX at the beginning of the line."
(if (string-null? prefix)
(display (progress-bar ratio (current-terminal-columns)) port)
(let ((width (- (current-terminal-columns)
(string-length prefix) 3)))
(terminal-string-width prefix) 3)))
(display prefix port)
(display " " port)
(display (progress-bar ratio width) port)))

View File

@ -1,7 +1,7 @@
dnl GNU Guix --- Functional package management for GNU
dnl Copyright © 2012, 2013, 2014, 2015, 2016, 2018, 2019, 2020, 2021 Ludovic Courtès <ludo@gnu.org>
dnl Copyright © 2014 Mark H Weaver <mhw@netris.org>
dnl Copyright © 2017, 2020, 2021 Efraim Flashner <efraim@flashner.co.il>
dnl Copyright © 2017, 2020, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
dnl Copyright © 2021 Chris Marusich <cmmarusich@gmail.com>
dnl
dnl This file is part of GNU Guix.
@ -128,7 +128,7 @@ dnl GUIX_CHECK_GUILE_SSH
dnl
dnl Check whether a recent-enough Guile-SSH is available.
AC_DEFUN([GUIX_CHECK_GUILE_SSH], [
dnl Check whether '#:nodelay' paramater to 'make-session' (introduced in
dnl Check whether '#:nodelay' parameter to 'make-session' (introduced in
dnl 0.13.0) is present.
AC_CACHE_CHECK([whether Guile-SSH is available and recent enough],
[guix_cv_have_recent_guile_ssh],
@ -306,7 +306,7 @@ AC_DEFUN([GUIX_CHECK_FILE_NAME_LIMITS], [
AC_REQUIRE([GUIX_TEST_HASH_BANG_LENGTH])
if test "$ac_cv_guix_socket_file_name_length" -ge ]SOCKET_FILE_NAME_LIMIT[; then
AC_MSG_ERROR([socket file name would exceed the maxium allowed length])
AC_MSG_ERROR([socket file name would exceed the maximum allowed length])
fi
if test "$ac_cv_guix_test_socket_file_name_length" -ge ]SOCKET_FILE_NAME_LIMIT[; then
AC_MSG_WARN([socket file name limit may be exceeded when running tests])

View File

@ -583,6 +583,12 @@
(test-assert "terminal-rows"
(> (terminal-rows) 0))
(test-assert "terminal-string-width English"
(= (terminal-string-width "hello") 5))
(test-assert "terminal-string-width Japanese"
(= (terminal-string-width "今日は") 6))
(test-assert "openpty"
(let ((head inferior (openpty)))
(and (integer? head) (integer? inferior)