Merge branch 'staging' into core-updates
This commit is contained in:
commit
9ef33dce94
@ -37529,6 +37529,24 @@ The list of commands for loading Multiboot modules. For example:
|
||||
@dots{}))
|
||||
@end lisp
|
||||
|
||||
@item @code{chain-loader} (default: @code{#f})
|
||||
A string that can be accepted by @code{grub}'s @code{chainloader}
|
||||
directive. This has no effect if either @code{linux} or
|
||||
@code{multiboot-kernel} fields are specified. The following is an
|
||||
example of chainloading a different GNU/Linux system.
|
||||
|
||||
@lisp
|
||||
(bootloader
|
||||
(bootloader-configuration
|
||||
;; @dots{}
|
||||
(menu-entries
|
||||
(list
|
||||
(menu-entry
|
||||
(label "GNU/Linux")
|
||||
(device (uuid "1C31-A17C" 'fat))
|
||||
(chain-loader "/EFI/GNULinux/grubx64.efi"))))))
|
||||
@end lisp
|
||||
|
||||
@end table
|
||||
@end deftp
|
||||
|
||||
|
24
etc/news.scm
24
etc/news.scm
@ -28,10 +28,16 @@
|
||||
|
||||
(entry (commit "c188cf57f161c0c26e2d7c8516bd1ddd1492d686")
|
||||
(title
|
||||
(en "Linux-libre kernel updated to 5.19"))
|
||||
(en "Linux-libre kernel updated to 5.19")
|
||||
(fr "Le noyau linux-libre est mis à jour vers la 5.19")
|
||||
(pt "Kernel linux-libre atualizado para 5.19"))
|
||||
(body
|
||||
(en "The default version of the linux-libre kernel has been
|
||||
updated to the 5.19 release series.")))
|
||||
updated to the 5.19 release series.")
|
||||
(fr "La version par défaut du noyau linux-libre est mise à jour
|
||||
vers la série des 5.19.")
|
||||
(pt "A versão padrão do kernel linux-libre foi atualizada para a
|
||||
série do kernel 5.19.")))
|
||||
|
||||
(entry (commit "a15542d26df42dabdb5e2f76d150ae200230c3b0")
|
||||
(title
|
||||
@ -73,12 +79,15 @@ Execute @command{info \"(guix) Invoking guix style\"} para mais informações.")
|
||||
(entry (commit "2ec7ab2610eb67e26dab52b671eb29e46f64ea0f")
|
||||
(title
|
||||
(en "Linux-libre kernel updated to 5.18")
|
||||
(de "Linux-libre-Kernel wird auf 5.18 aktualisiert"))
|
||||
(de "Linux-libre-Kernel wird auf 5.18 aktualisiert")
|
||||
(fr "Le noyau linux-libre est mis à jour vers la 5.18"))
|
||||
(body
|
||||
(en "The default version of the linux-libre kernel has been
|
||||
updated to the 5.18 release series.")
|
||||
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
|
||||
jetzt auf der 5.18-Versionsreihe.")))
|
||||
jetzt auf der 5.18-Versionsreihe.")
|
||||
(fr "La version par défaut du noyau linux-libre est mise à jour
|
||||
vers la série des 5.18.")))
|
||||
|
||||
(entry (commit "bdf422176739b473add66eb8cac9fdd8c654f794")
|
||||
(title
|
||||
@ -206,12 +215,15 @@ Cela vient avec un nouveau système de construction pour paquets Elm---lancer
|
||||
|
||||
(entry (commit "b6b2de2a0d52530bc1ee128c61580bed662ee15c")
|
||||
(title (en "Linux-libre kernel updated to 5.17")
|
||||
(de "Linux-libre-Kernel wird auf 5.17 aktualisiert"))
|
||||
(de "Linux-libre-Kernel wird auf 5.17 aktualisiert")
|
||||
(fr "Le noyau linux-libre est mis à jour vers la 5.17"))
|
||||
(body
|
||||
(en "The default version of the linux-libre kernel has been
|
||||
updated to the 5.17 release series.")
|
||||
(de "Der standardmäßig verwendete @code{linux-libre}-Kernel basiert
|
||||
jetzt auf der 5.17-Versionsreihe.")))
|
||||
jetzt auf der 5.17-Versionsreihe.")
|
||||
(fr "La version par défaut du noyau linux-libre est mise à jour
|
||||
vers la série des 5.17.")))
|
||||
|
||||
(entry (commit "c42b7baf13c7633b4512e94da7445299c57b247d")
|
||||
(title
|
||||
|
@ -234,6 +234,10 @@ importer."))
|
||||
"jgart@dismail.de")
|
||||
python lisp mentors)
|
||||
|
||||
(define-member (person "Guillaume Le Vaillant"
|
||||
"glv@posteo.net")
|
||||
lisp)
|
||||
|
||||
(define-member (person "Julien Lepiller"
|
||||
"julien@lepiller.eu")
|
||||
java ocaml translations)
|
||||
|
@ -34,6 +34,8 @@
|
||||
#:use-module (guix diagnostics)
|
||||
#:use-module (guix i18n)
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-34)
|
||||
#:use-module (srfi srfi-35)
|
||||
#:use-module (ice-9 match)
|
||||
#:export (menu-entry
|
||||
menu-entry?
|
||||
@ -46,6 +48,7 @@
|
||||
menu-entry-multiboot-kernel
|
||||
menu-entry-multiboot-arguments
|
||||
menu-entry-multiboot-modules
|
||||
menu-entry-chain-loader
|
||||
|
||||
menu-entry->sexp
|
||||
sexp->menu-entry
|
||||
@ -104,8 +107,27 @@
|
||||
(multiboot-arguments menu-entry-multiboot-arguments
|
||||
(default '())) ; list of string-valued gexps
|
||||
(multiboot-modules menu-entry-multiboot-modules
|
||||
(default '()))) ; list of multiboot commands, where
|
||||
(default '())) ; list of multiboot commands, where
|
||||
; a command is a list of <string>
|
||||
(chain-loader menu-entry-chain-loader
|
||||
(default #f))) ; string, path of efi file
|
||||
|
||||
(define (report-menu-entry-error menu-entry)
|
||||
(raise
|
||||
(condition
|
||||
(&message
|
||||
(message
|
||||
(format #f (G_ "invalid menu-entry: ~a") menu-entry)))
|
||||
(&fix-hint
|
||||
(hint
|
||||
(G_ "Please chose only one of:
|
||||
@enumerate
|
||||
@item direct boot by specifying fields @code{linux},
|
||||
@code{linux-arguments} and @code{linux-modules},
|
||||
@item multiboot by specifying fields @code{multiboot-kernel},
|
||||
@code{multiboot-arguments} and @code{multiboot-modules},
|
||||
@item chain-loader by specifying field @code{chain-loader}.
|
||||
@end enumerate"))))))
|
||||
|
||||
(define (menu-entry->sexp entry)
|
||||
"Return ENTRY serialized as an sexp."
|
||||
@ -117,8 +139,9 @@
|
||||
`(label ,(file-system-label->string label)))
|
||||
(_ device)))
|
||||
(match entry
|
||||
(($ <menu-entry> label device mount-point linux linux-arguments initrd #f
|
||||
())
|
||||
(($ <menu-entry> label device mount-point
|
||||
(? identity linux) linux-arguments (? identity initrd)
|
||||
#f () () #f)
|
||||
`(menu-entry (version 0)
|
||||
(label ,label)
|
||||
(device ,(device->sexp device))
|
||||
@ -127,14 +150,23 @@
|
||||
(linux-arguments ,linux-arguments)
|
||||
(initrd ,initrd)))
|
||||
(($ <menu-entry> label device mount-point #f () #f
|
||||
multiboot-kernel multiboot-arguments multiboot-modules)
|
||||
(? identity multiboot-kernel) multiboot-arguments
|
||||
multiboot-modules #f)
|
||||
`(menu-entry (version 0)
|
||||
(label ,label)
|
||||
(device ,(device->sexp device))
|
||||
(device-mount-point ,mount-point)
|
||||
(multiboot-kernel ,multiboot-kernel)
|
||||
(multiboot-arguments ,multiboot-arguments)
|
||||
(multiboot-modules ,multiboot-modules)))))
|
||||
(multiboot-modules ,multiboot-modules)))
|
||||
(($ <menu-entry> label device mount-point #f () #f #f () ()
|
||||
(? identity chain-loader))
|
||||
`(menu-entry (version 0)
|
||||
(label ,label)
|
||||
(device ,(device->sexp device))
|
||||
(device-mount-point ,mount-point)
|
||||
(chain-loader ,chain-loader)))
|
||||
(_ (report-menu-entry-error entry))))
|
||||
|
||||
(define (sexp->menu-entry sexp)
|
||||
"Turn SEXP, an sexp as returned by 'menu-entry->sexp', into a <menu-entry>
|
||||
@ -171,7 +203,16 @@ record."
|
||||
(device-mount-point mount-point)
|
||||
(multiboot-kernel multiboot-kernel)
|
||||
(multiboot-arguments multiboot-arguments)
|
||||
(multiboot-modules multiboot-modules)))))
|
||||
(multiboot-modules multiboot-modules)))
|
||||
(('menu-entry ('version 0)
|
||||
('label label) ('device device)
|
||||
('device-mount-point mount-point)
|
||||
('chain-loader chain-loader) _ ...)
|
||||
(menu-entry
|
||||
(label label)
|
||||
(device (sexp->device device))
|
||||
(device-mount-point mount-point)
|
||||
(chain-loader chain-loader)))))
|
||||
|
||||
|
||||
;;;
|
||||
|
@ -374,44 +374,57 @@ when booting a root file system on a Btrfs subvolume."
|
||||
(let ((label (menu-entry-label entry))
|
||||
(linux (menu-entry-linux entry))
|
||||
(device (menu-entry-device entry))
|
||||
(device-mount-point (menu-entry-device-mount-point entry)))
|
||||
(if linux
|
||||
(let ((arguments (menu-entry-linux-arguments entry))
|
||||
(linux (normalize-file linux
|
||||
device-mount-point
|
||||
store-directory-prefix))
|
||||
(initrd (normalize-file (menu-entry-initrd entry)
|
||||
device-mount-point
|
||||
store-directory-prefix)))
|
||||
;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point.
|
||||
;; Use the right file names for LINUX and INITRD in case
|
||||
;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a
|
||||
;; separate partition.
|
||||
(device-mount-point (menu-entry-device-mount-point entry))
|
||||
(multiboot-kernel (menu-entry-multiboot-kernel entry))
|
||||
(chain-loader (menu-entry-chain-loader entry)))
|
||||
(cond
|
||||
(linux
|
||||
(let ((arguments (menu-entry-linux-arguments entry))
|
||||
(linux (normalize-file linux
|
||||
device-mount-point
|
||||
store-directory-prefix))
|
||||
(initrd (normalize-file (menu-entry-initrd entry)
|
||||
device-mount-point
|
||||
store-directory-prefix)))
|
||||
;; Here DEVICE is the store and DEVICE-MOUNT-POINT is its mount point.
|
||||
;; Use the right file names for LINUX and INITRD in case
|
||||
;; DEVICE-MOUNT-POINT is not "/", meaning that the store is on a
|
||||
;; separate partition.
|
||||
|
||||
;; When BTRFS-SUBVOLUME-FILE-NAME is defined, prepend it the linux and
|
||||
;; initrd paths, to allow booting from a Btrfs subvolume.
|
||||
#~(format port "menuentry ~s {
|
||||
;; When BTRFS-SUBVOLUME-FILE-NAME is defined, prepend it the linux and
|
||||
;; initrd paths, to allow booting from a Btrfs subvolume.
|
||||
#~(format port "menuentry ~s {
|
||||
~a
|
||||
linux ~a ~a
|
||||
initrd ~a
|
||||
}~%"
|
||||
#$label
|
||||
#$(grub-root-search device linux)
|
||||
#$linux (string-join (list #$@arguments))
|
||||
#$initrd))
|
||||
(let ((kernel (menu-entry-multiboot-kernel entry))
|
||||
(arguments (menu-entry-multiboot-arguments entry))
|
||||
(modules (menu-entry-multiboot-modules entry))
|
||||
(root-index 1)) ; XXX EFI will need root-index 2
|
||||
#~(format port "
|
||||
#$label
|
||||
#$(grub-root-search device linux)
|
||||
#$linux (string-join (list #$@arguments))
|
||||
#$initrd)))
|
||||
(multiboot-kernel
|
||||
(let ((kernel (menu-entry-multiboot-kernel entry))
|
||||
(arguments (menu-entry-multiboot-arguments entry))
|
||||
(modules (menu-entry-multiboot-modules entry))
|
||||
(root-index 1)) ; XXX EFI will need root-index 2
|
||||
#~(format port "
|
||||
menuentry ~s {
|
||||
multiboot ~a root=device:hd0s~a~a~a
|
||||
}~%"
|
||||
#$label
|
||||
#$kernel
|
||||
#$root-index (string-join (list #$@arguments) " " 'prefix)
|
||||
(string-join (map string-join '#$modules)
|
||||
"\n module " 'prefix))))
|
||||
(chain-loader
|
||||
#~(format port "
|
||||
menuentry ~s {
|
||||
~a
|
||||
chainloader ~a
|
||||
}~%"
|
||||
#$label
|
||||
#$kernel
|
||||
#$root-index (string-join (list #$@arguments) " " 'prefix)
|
||||
(string-join (map string-join '#$modules)
|
||||
"\n module " 'prefix))))))
|
||||
#$(grub-root-search device chain-loader)
|
||||
#$chain-loader)))))
|
||||
|
||||
(define (crypto-devices)
|
||||
(define (crypto-device->cryptomount dev)
|
||||
|
@ -263,10 +263,10 @@ files and generates build instructions for the Ninja build system.")
|
||||
;; X11 license.
|
||||
(license (list license:bsd-3 license:x11)))))
|
||||
|
||||
(define-public meson
|
||||
(define-public meson-0.63
|
||||
(package
|
||||
(name "meson")
|
||||
(version "0.60.3")
|
||||
(version "0.63.2")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mesonbuild/meson/"
|
||||
@ -274,9 +274,7 @@ files and generates build instructions for the Ninja build system.")
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13mrrizg4vl6n5k7fz6amyafnn3i097dcarr552qc0ca6nlmzjl7"))
|
||||
(patches (search-patches
|
||||
"meson-allow-dirs-outside-of-prefix.patch"))))
|
||||
"1gwba75z47m2hv3w08gw8sgqgbknjr7rj1qwr510bgknxwbjy8hn"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(;; FIXME: Tests require many additional inputs and patching many
|
||||
@ -309,10 +307,26 @@ files}, are written in a custom domain-specific language (@dfn{DSL}) that
|
||||
resembles Python.")
|
||||
(license license:asl2.0)))
|
||||
|
||||
(define-public meson-0.60
|
||||
(package
|
||||
(inherit meson-0.63)
|
||||
(version "0.60.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mesonbuild/meson/"
|
||||
"releases/download/" version "/meson-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"13mrrizg4vl6n5k7fz6amyafnn3i097dcarr552qc0ca6nlmzjl7"))
|
||||
(patches (search-patches
|
||||
"meson-allow-dirs-outside-of-prefix.patch"))))))
|
||||
|
||||
;;; This older Meson variant is kept for now for gtkmm and others that may
|
||||
;;; have problems with 0.60.
|
||||
(define-public meson-0.59
|
||||
(package/inherit meson
|
||||
(package
|
||||
(inherit meson-0.60)
|
||||
(version "0.59.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
@ -325,18 +339,8 @@ resembles Python.")
|
||||
(patches (search-patches
|
||||
"meson-allow-dirs-outside-of-prefix.patch"))))))
|
||||
|
||||
(define-public meson-0.63
|
||||
(package
|
||||
(inherit meson)
|
||||
(version "0.63.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/mesonbuild/meson/"
|
||||
"releases/download/" version "/meson-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1sb5rdra5zc6c3ni8x65zs7r7vsnbarammf5440zzmhkf8li7zh6"))))))
|
||||
;; TODO: Bump this in the next rebuild cycle.
|
||||
(define-public meson meson-0.60)
|
||||
|
||||
(define-public premake4
|
||||
(package
|
||||
|
@ -46062,6 +46062,8 @@ in your code.")
|
||||
(("rust-unicode-ident" ,rust-unicode-ident-1))
|
||||
#:cargo-development-inputs
|
||||
(("rust-quote" ,rust-quote-1))))
|
||||
;; This is necessary for downstream packages such as rust-wayland-scanner
|
||||
(inputs (list rust-unicode-ident-1))
|
||||
(home-page "https://github.com/dtolnay/proc-macro2")
|
||||
(synopsis "Stable implementation of the upcoming new `proc_macro` API")
|
||||
(description "This package provides a stable implementation of the upcoming new
|
||||
|
@ -522,6 +522,31 @@ repositories through the
|
||||
server}. The main advantage compared to @code{vc-hg} is speed.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-telephone-line
|
||||
(let ((commit "6f3455a365912e8f0c45a2240ea79507dee45ade")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "emacs-telephone-line")
|
||||
(version (git-version "0.5" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri
|
||||
(git-reference
|
||||
(url "https://github.com/dbordak/telephone-line")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1hnd6wnc52sc0ckriqnhaz64pyjk027y0dpcmh2zhpd27i8d4hmq"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/dbordak/telephone-line")
|
||||
(synopsis "Implementation of Powerline for Emacs")
|
||||
(description
|
||||
"Telephone Line is a new implementation of Powerline for Emacs with
|
||||
optional baked-in Evil support, antialiased separators, and an easy
|
||||
configuration language which makes it trivial to write your own themes.")
|
||||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-terminal-here
|
||||
(package
|
||||
(name "emacs-terminal-here")
|
||||
@ -2680,7 +2705,7 @@ shine on top of your cursor so you know where it is.")
|
||||
(define-public emacs-counsel-bbdb
|
||||
(package
|
||||
(name "emacs-counsel-bbdb")
|
||||
(version "0.0.4")
|
||||
(version "0.0.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -2689,9 +2714,9 @@ shine on top of your cursor so you know where it is.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bki658mvlchqf3prkzxz4217a95cxm58c1qmf84yp2n8h6gd0d8"))))
|
||||
(base32 "1jrj7hx6y518np3xcnarbj0c43lglcf9gww3fhfqp7lzxl9hvi8s"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-ivy))
|
||||
(propagated-inputs (list emacs-bbdb emacs-ivy))
|
||||
(home-page "https://github.com/redguardtoo/counsel-bbdb")
|
||||
(synopsis "Ivy interface for BBDB")
|
||||
(description "This Ivy extension enables the use of @code{ivy-mode} to input
|
||||
@ -3306,7 +3331,7 @@ be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
|
||||
(define-public emacs-cape
|
||||
(package
|
||||
(name "emacs-cape")
|
||||
(version "0.8")
|
||||
(version "0.9")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -3315,7 +3340,7 @@ be regarded as @code{emacs-company-quickhelp} for @code{emacs-corfu}.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0zv3hcnarwyhj4hhfk9kz4gzshks10vd5zfsmpv5nlbhvwp69j3p"))))
|
||||
(base32 "09lzzhx438s9wlpmiyyx9bbb2hlscf415f080bkz6gyw4nsdh0g4"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/minad/cape")
|
||||
(synopsis "Completion at point extensions for Emacs")
|
||||
@ -6698,14 +6723,14 @@ user.")
|
||||
(define-public emacs-subed
|
||||
(package
|
||||
(name "emacs-subed")
|
||||
(version "1.0.7")
|
||||
(version "1.0.8")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.nongnu.org/nongnu/subed-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32
|
||||
"0js48yar8xgj3wjmlkv3k5208q1zvv74sg4lhk6asiy4cq3pqjia"))))
|
||||
"05dx4ywma7n73d0cihf4v8ayihm7gmfqpzvdycq4yk0zkxb958z1"))))
|
||||
(arguments
|
||||
(list
|
||||
#:tests? #t
|
||||
@ -8871,7 +8896,7 @@ built-in custom themes.")
|
||||
(define-public emacs-gruvbox-theme
|
||||
(package
|
||||
(name "emacs-gruvbox-theme")
|
||||
(version "1.30.0")
|
||||
(version "1.30.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
@ -8880,7 +8905,7 @@ built-in custom themes.")
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1dzaivis9cpqzb53qmkmhijr5l4hl2l3yr2412jxrz2jmqi3q4c5"))))
|
||||
"0dgjf86i8179l1nsjyc20chysqmy8yhphpd5lzv2ypx79l4z3jka"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-autothemer))
|
||||
@ -9230,7 +9255,7 @@ style, or as multiple word prefixes.")
|
||||
(define-public emacs-consult
|
||||
(package
|
||||
(name "emacs-consult")
|
||||
(version "0.18")
|
||||
(version "0.19")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -9238,7 +9263,7 @@ style, or as multiple word prefixes.")
|
||||
(url "https://github.com/minad/consult")
|
||||
(commit version)))
|
||||
(sha256
|
||||
(base32 "0sy4rn1vjk1g50r8z14hzj8lds6s7ij2zkjqfi6mfash5il75wnq"))
|
||||
(base32 "1lb7ci1kkgv07c4hcfxisr5zjx68hq15bqf4x3bhmnn13x38j7jw"))
|
||||
(file-name (git-file-name name version))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-compat))
|
||||
@ -9393,7 +9418,7 @@ expansion and overwriting the marked region with a new snippet completion.")
|
||||
(define-public emacs-marginalia
|
||||
(package
|
||||
(name "emacs-marginalia")
|
||||
(version "0.13")
|
||||
(version "0.14")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -9402,7 +9427,7 @@ expansion and overwriting the marked region with a new snippet completion.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1qk6j7l39z92h4kvvbwcs85ilyx3d6y0l8zm33iar2pjnyks1kq3"))))
|
||||
(base32 "1gbcjw447vxd3ivfjgnya2ix3w791kvbika1v9bzj8s7i996fb6f"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/minad/marginalia")
|
||||
(synopsis "Marginalia in the minibuffer completions")
|
||||
@ -15136,7 +15161,7 @@ in Emacs.")
|
||||
(define-public emacs-php-mode
|
||||
(package
|
||||
(name "emacs-php-mode")
|
||||
(version "1.24.0")
|
||||
(version "1.24.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -15145,7 +15170,7 @@ in Emacs.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bs9q62bd7885c39v7x1qz3w1fhpmpdgm72xwsk2yygw0ii425nn"))))
|
||||
(base32 "06xgmlbvqhkrnk6390mdbpjij34msxxwzqmagi6zpwpsf38mn6qf"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
@ -15217,13 +15242,13 @@ containing words from the Rime project.")
|
||||
(define-public emacs-pyim
|
||||
(package
|
||||
(name "emacs-pyim")
|
||||
(version "5.2.3")
|
||||
(version "5.2.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/pyim-" version ".tar"))
|
||||
(sha256
|
||||
(base32 "189r0qkd8nv5zjg2ljbzbj086jb8xbl4yd1jliz4azaprv8fhqv0"))))
|
||||
(base32 "1dzl4xaf31nyjb5hnwwf29i75x0i8dakpmmagbn4ks5hi3jl2ig0"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
(list emacs-async emacs-popup emacs-posframe emacs-xr))
|
||||
@ -19046,7 +19071,7 @@ according to a parsing expression grammar.")
|
||||
(define-public emacs-eldev
|
||||
(package
|
||||
(name "emacs-eldev")
|
||||
(version "1.2.1")
|
||||
(version "1.2.2")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -19055,7 +19080,7 @@ according to a parsing expression grammar.")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1zf3vrk9yw4f4fj31g3vphjd3rhr2hv3q2crkdsgi7z5xlb8frds"))))
|
||||
(base32 "0d6wbfim0q81sm5m45fjc6n0v6nk32qrgas5nzrs0vslym4bfxna"))))
|
||||
(build-system emacs-build-system)
|
||||
(arguments
|
||||
(list
|
||||
@ -20153,14 +20178,14 @@ or expressions with SVG rounded box labels that are fully customizable.")
|
||||
(define-public emacs-kind-icon
|
||||
(package
|
||||
(name "emacs-kind-icon")
|
||||
(version "0.1.6")
|
||||
(version "0.1.7")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/kind-icon-"
|
||||
version ".tar"))
|
||||
(sha256
|
||||
(base32 "0ac53qrz217b054z51244r7whvjmyrq4941ld0bgl9crssrhb588"))))
|
||||
(base32 "02imi2qj329yrqvs23d4z7fv8bbaz0fvya6zdswb38blpdri4cn1"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs (list emacs-svg-lib))
|
||||
(home-page "https://github.com/jdtsmith/kind-icon")
|
||||
|
@ -773,7 +773,7 @@ and Game Boy Color games.")
|
||||
(define-public sameboy
|
||||
(package
|
||||
(name "sameboy")
|
||||
(version "0.15")
|
||||
(version "0.15.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
@ -782,7 +782,7 @@ and Game Boy Color games.")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0rhl9khc5pxbikjsq4aha5cpqfxf3bnxalc94idd4haw0zf892q9"))))
|
||||
(base32 "0ly9x6cch0wdcnsp0qmrdl6r2h8805jp8hwji3fwswj8rlhxkpa7"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
(list rgbds pkg-config))
|
||||
|
@ -884,6 +884,7 @@ tomorrow, the rest of the week and for special occasions.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
#:configure-flags
|
||||
(list "-Ddogtail=false" ; Not available
|
||||
;; Required for RUNPATH validation.
|
||||
@ -955,6 +956,7 @@ cloud integration is offered through GNOME Online Accounts.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-gnome-music
|
||||
@ -1557,6 +1559,7 @@ tour of all gnome components and allows the user to set them up.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
#:configure-flags
|
||||
`("-Dsystemduserunitdir=/tmp/empty"
|
||||
;; Enable nautilus extension for file sharing.
|
||||
@ -2034,6 +2037,7 @@ to other formats.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
#:phases (modify-phases %standard-phases
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
@ -2287,7 +2291,8 @@ The gnome-about program helps find which version of GNOME is installed.")
|
||||
"0hpyi0sz3gcqqs9lkwyk8b6hr39m3n27432x98kxr436jj37dk6j"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
`(#:meson ,meson-0.60
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-post-install-script
|
||||
(lambda _
|
||||
@ -2331,7 +2336,8 @@ the font would look under various sizes.")
|
||||
"00fsf82ycac8qi0kkiq759p6jrn63pyz4ksn4wnq7m4ax94zq289"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:phases
|
||||
`(#:meson ,meson-0.60
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
;; These fail because /var/lib/dbus/machine-id is not present in the
|
||||
;; build environment.
|
||||
@ -2540,6 +2546,7 @@ forgotten when the session ends.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
#:build-type "release"
|
||||
#:configure-flags
|
||||
'("-Dnautilus=false"
|
||||
@ -3134,6 +3141,7 @@ API add-ons to make GTK+ widgets OpenGL-capable.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list
|
||||
#:meson meson-0.60
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-gtk-update-icon-cache
|
||||
@ -5554,6 +5562,7 @@ services for numerous locations.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
#:configure-flags
|
||||
(list (string-append "-Dudev_dir="
|
||||
(assoc-ref %outputs "out") "/lib/udev")
|
||||
@ -6402,6 +6411,7 @@ supports playlists, song ratings, and any codecs installed through gstreamer.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
#:configure-flags
|
||||
;; Otherwise, the RUNPATH will lack the final 'eog' path component.
|
||||
(list (string-append "-Dc_link_args=-Wl,-rpath="
|
||||
@ -6663,7 +6673,8 @@ USB transfers with your high-level application or system daemon.")
|
||||
(build-system meson-build-system)
|
||||
;; TODO: Fix icons in home screen, About dialogue, and scan menu.
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t))
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60))
|
||||
(native-inputs
|
||||
(list gettext-minimal
|
||||
itstool
|
||||
@ -7161,7 +7172,8 @@ such as gzip tarballs.")
|
||||
(base32
|
||||
"02z0xr6sv9ibl7awbw9j4y05hf4jk1zgvsbbmh7n27hhjvsvc8pl"))))
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
`(#:meson ,meson-0.60
|
||||
#:glib-or-gtk? #t
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'install 'wrap-gnome-session
|
||||
@ -7276,6 +7288,7 @@ javascript engine and the GObject introspection framework.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
#:configure-flags
|
||||
;; Otherwise, the RUNPATH will lack the final path component.
|
||||
(list (string-append "-Dc_link_args=-Wl,-rpath="
|
||||
@ -8488,6 +8501,8 @@ usage and information about running processes.")
|
||||
(base32
|
||||
"1a9ynlwwkb3wpg293ym517vmrkk63y809mmcv9a21k5yr199x53c"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:meson meson-0.60))
|
||||
(native-inputs
|
||||
`(("glib:bin" ,glib "bin") ; for gdbus-codegen, etc.
|
||||
("gtk+" ,gtk+ "bin") ; gtk-update-icon-cache
|
||||
@ -8808,7 +8823,8 @@ like switching to windows and launching applications.")
|
||||
(base32 "0jmr6igyzcj2wmx5v5ywaazvdz3hx6a6rys26yb4l4s71l281bvs"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas
|
||||
`(#:meson ,meson-0.60
|
||||
#:glib-or-gtk? #t)) ; To wrap binaries and/or compile schemas
|
||||
(native-inputs
|
||||
(append
|
||||
;; GJS depends on Rust, which is x86_64-only so far, so remove the GJS
|
||||
@ -9400,6 +9416,7 @@ associations for GNOME.")
|
||||
libhandy))
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
#:phases
|
||||
,#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'fix-service-file
|
||||
@ -9760,6 +9777,7 @@ desktop. It supports world clock, stop watch, alarms, and count down timer.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
;; gnome-calendar has to be installed before the tests can be run
|
||||
;; https://bugzilla.gnome.org/show_bug.cgi?id=788224
|
||||
#:tests? #f
|
||||
@ -10683,6 +10701,7 @@ photo-booth-like software, such as Cheese.")
|
||||
"1y92glc0d6w323x2bdbc0gdh1jdffvkbv6cwlwm1rx0wgvv1svqh"))))
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
;; Tests require GDK.
|
||||
#:tests? #f
|
||||
#:phases
|
||||
@ -11642,6 +11661,7 @@ integrate seamlessly with the GNOME desktop.")
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
`(#:glib-or-gtk? #t
|
||||
#:meson ,meson-0.60
|
||||
#:configure-flags (list "-Drdp=false"
|
||||
(string-append "-Dc_link_args=-Wl,-rpath="
|
||||
(assoc-ref %outputs "out")
|
||||
|
@ -27,6 +27,7 @@
|
||||
|
||||
(define-module (gnu packages imagemagick)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix build-system perl)
|
||||
#:use-module (guix download)
|
||||
@ -212,7 +213,7 @@ script.")
|
||||
(define-public graphicsmagick
|
||||
(package
|
||||
(name "graphicsmagick")
|
||||
(version "1.3.36")
|
||||
(version "1.3.38")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -225,33 +226,34 @@ script.")
|
||||
"/GraphicsMagick-" version ".tar.xz")))
|
||||
(sha256
|
||||
(base32
|
||||
"0ilg6fkppb4avzais1dvi3qf6ln7v3mzj7gjm83w7pwwfpg3ynsx"))))
|
||||
"0x96wcspcqmkcy7jagfifgq2iamcf0ql9swvn6f2n79mb7dxj36n"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--with-frozenpaths"
|
||||
"--enable-shared=yes"
|
||||
"--with-x=yes"
|
||||
"--with-quantum-depth=16" ; required by Octave
|
||||
"--enable-quantum-library-names"
|
||||
(string-append "--with-gs-font-dir="
|
||||
(assoc-ref %build-inputs "font-ghostscript")
|
||||
"/share/fonts/type1/ghostscript"))))
|
||||
(list
|
||||
#:configure-flags
|
||||
#~(list "--with-frozenpaths"
|
||||
"--enable-shared=yes"
|
||||
"--with-x=yes"
|
||||
"--with-quantum-depth=16" ;required by Octave
|
||||
"--enable-quantum-library-names"
|
||||
(string-append "--with-gs-font-dir="
|
||||
(search-input-directory
|
||||
%build-inputs "share/fonts/type1/ghostscript")))))
|
||||
(inputs
|
||||
`(("graphviz" ,graphviz)
|
||||
("ghostscript" ,ghostscript)
|
||||
("font-ghostscript" ,font-ghostscript)
|
||||
("lcms" ,lcms)
|
||||
("libx11" ,libx11)
|
||||
("libxml2" ,libxml2)
|
||||
("libtiff" ,libtiff)
|
||||
("libpng" ,libpng)
|
||||
("libjpeg" ,libjpeg-turbo)
|
||||
("libwebp" ,libwebp)
|
||||
("freetype" ,freetype)
|
||||
("bzip2" ,bzip2)
|
||||
("xz" ,xz)
|
||||
("zlib" ,zlib)))
|
||||
(list bzip2
|
||||
font-ghostscript
|
||||
freetype
|
||||
ghostscript
|
||||
graphviz
|
||||
lcms
|
||||
libjpeg-turbo
|
||||
libpng
|
||||
libtiff
|
||||
libwebp
|
||||
libxml2
|
||||
libx11
|
||||
xz
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(outputs '("out" ; 13 MiB
|
||||
|
@ -117,6 +117,42 @@
|
||||
#:use-module (srfi srfi-1)
|
||||
#:use-module (srfi srfi-19))
|
||||
|
||||
(define-public sbcl-alexandria-plus
|
||||
(let ((commit "adafb09838a84895bedb119f8253b89b6a04a2c5")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-alexandria-plus")
|
||||
;; Version is stated in the ASD file.
|
||||
(version (git-version "1.1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Symbolics/alexandria-plus")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-alexandria-plus" version))
|
||||
(sha256
|
||||
(base32 "1w9r19610h599303gqlx2x5n8mmdynss2gyl7xilg5h6v8z3hkfl"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(arguments
|
||||
'(#:asd-systems '("alexandria+")))
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-alexandria))
|
||||
(home-page "https://symbolics.github.io/alexandria-plus/")
|
||||
(synopsis "Conservative set of extensions to Alexandria utilities")
|
||||
(description
|
||||
"@code{cl-alexandria-plus} is a conservative set of extensions to
|
||||
@code{cl-alexandria} utilities.")
|
||||
(license license:ms-pl))))
|
||||
|
||||
(define-public cl-alexandria-plus
|
||||
(sbcl-package->cl-source-package sbcl-alexandria-plus))
|
||||
|
||||
(define-public ecl-alexandria-plus
|
||||
(sbcl-package->ecl-package sbcl-alexandria-plus))
|
||||
|
||||
(define-public sbcl-alexandria
|
||||
(package
|
||||
(name "sbcl-alexandria")
|
||||
@ -22794,6 +22830,37 @@ functionality similar to what was originally found in @code{sdl2kit}.
|
||||
(define-public ecl-glkit
|
||||
(sbcl-package->ecl-package sbcl-glkit))
|
||||
|
||||
(define-public sbcl-doplus
|
||||
(package
|
||||
(name "sbcl-doplus")
|
||||
(version "1.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/alessiostalla/doplus")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-doplus" version))
|
||||
(sha256
|
||||
(base32 "1yvda9psw9m08d3bzdb8a2drvhrnr07a0rhza5ibk30v1dkwfw7c"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-fiveam))
|
||||
(inputs
|
||||
(list sbcl-parse-declarations sbcl-fset))
|
||||
(arguments
|
||||
'(#:asd-systems '("doplus" "doplus-fset")))
|
||||
(synopsis "Iteration macro for Common Lisp")
|
||||
(description "@code{doplus} is an iteration macro for Common Lisp.")
|
||||
(home-page "https://github.com/alessiostalla/doplus")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public cl-doplus
|
||||
(sbcl-package->cl-source-package sbcl-doplus))
|
||||
|
||||
(define-public ecl-doplus
|
||||
(sbcl-package->ecl-package sbcl-doplus))
|
||||
|
||||
(define-public sbcl-trees
|
||||
(let ((commit "7b06048af0248c4302088c758208276f9faf2beb"))
|
||||
(package
|
||||
@ -22890,6 +22957,41 @@ operator in portable Common Lisp.")
|
||||
(define-public ecl-amb
|
||||
(sbcl-package->ecl-package sbcl-amb))
|
||||
|
||||
(define-public sbcl-quicklisp-stats
|
||||
(let ((commit "953b45c2212ae513d48a611d3dd09c846a6102cd")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-quicklisp-stats")
|
||||
(version (git-version "0.0.1" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/phoe/quicklisp-stats")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-quicklisp-stats" version))
|
||||
(sha256
|
||||
(base32 "0v8dgmlgd283n1g486q4sj2mghgdvgywg2nqp43nnrfc04mkvgc0"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(inputs
|
||||
(list sbcl-alexandria
|
||||
sbcl-drakma
|
||||
sbcl-split-sequence))
|
||||
(arguments
|
||||
`(#:tests? #f)) ; There are no tests.
|
||||
(synopsis "Fetches and operates on Quicklisp download statistics")
|
||||
(description
|
||||
"@code{cl-quicklisp-stats} is a system that fetches and performs basic
|
||||
operations on the Quicklisp download statistics.")
|
||||
(home-page "https://github.com/phoe/quicklisp-stats/")
|
||||
(license license:expat))))
|
||||
|
||||
(define-public cl-quicklisp-stats
|
||||
(sbcl-package->cl-source-package sbcl-quicklisp-stats))
|
||||
|
||||
(define-public ecl-quicklisp-stats
|
||||
(sbcl-package->ecl-package sbcl-quicklisp-stats))
|
||||
|
||||
(define-public sbcl-sketch
|
||||
;; No release in years.
|
||||
(let ((commit "4cc00b08e202c7adda41391463096cf9df1705c3"))
|
||||
@ -23254,6 +23356,524 @@ especially in a multi-threaded context.")
|
||||
(define-public ecl-ndebug
|
||||
(sbcl-package->ecl-package sbcl-ndebug))
|
||||
|
||||
(define-public sbcl-canonicalized-initargs
|
||||
(package
|
||||
(name "sbcl-canonicalized-initargs")
|
||||
(version "2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/canonicalized-initargs")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-canonicalized-initargs" version))
|
||||
(sha256
|
||||
(base32 "0jmmjw86x9mmlfla4kdmdqf1fjrj0p2fmv1lc4k555mcf67mj2fq"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-cesdi
|
||||
sbcl-closer-mop
|
||||
sbcl-compatible-metaclasses
|
||||
sbcl-enhanced-defclass
|
||||
sbcl-enhanced-typep))
|
||||
(home-page
|
||||
"https://www.hexstreamsoft.com/libraries/canonicalized-initargs/")
|
||||
(synopsis "Standard way to canonicalize slot values")
|
||||
(description
|
||||
"This package provides a standard way to canonicalize slot values.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-canonicalized-initargs
|
||||
(sbcl-package->cl-source-package sbcl-canonicalized-initargs))
|
||||
|
||||
(define-public ecl-canonicalized-initargs
|
||||
(sbcl-package->ecl-package sbcl-canonicalized-initargs))
|
||||
|
||||
(define-public sbcl-enhanced-typep
|
||||
(package
|
||||
(name "sbcl-enhanced-typep")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/enhanced-typep")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-enhanced-typep" version))
|
||||
(sha256
|
||||
(base32 "0b22gddkbxnhmi71wa2h51495737lrvsqxnri7g1qdsl1hraml21"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-enhanced-boolean sbcl-parachute))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/enhanced-typep/")
|
||||
(synopsis "Enhanced version of typep")
|
||||
(description
|
||||
"This package provides an enhanced version of @code{typep} that is exactly
|
||||
like the one in the Lisp spec, except it can also accept a single type argument,
|
||||
in which case it returns the appropriate closure.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-enhanced-typep
|
||||
(sbcl-package->cl-source-package sbcl-enhanced-typep))
|
||||
|
||||
(define-public ecl-enhanced-typep
|
||||
(sbcl-package->ecl-package sbcl-enhanced-typep))
|
||||
|
||||
(define-public sbcl-enhanced-defclass
|
||||
(package
|
||||
(name "sbcl-enhanced-defclass")
|
||||
(version "2.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/enhanced-defclass")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-enhanced-defclass" version))
|
||||
(sha256
|
||||
(base32 "142s5c3pl3x7xdawzsj8pdxiqp4wh6fcajf4la5msvnxgf66d8wg"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-cesdi
|
||||
sbcl-closer-mop
|
||||
sbcl-compatible-metaclasses
|
||||
sbcl-enhanced-eval-when
|
||||
sbcl-object-class
|
||||
sbcl-shared-preferences
|
||||
sbcl-simple-guess))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/enhanced-defclass/")
|
||||
(synopsis "Extensible implementation of defclass")
|
||||
(description
|
||||
"This package provides an extensible implementation of defclass that can
|
||||
accurately control the expansion according to the metaclass and automatically
|
||||
detect the suitable metaclass by analyzing the @code{defclass} form.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-enhanced-defclass
|
||||
(sbcl-package->cl-source-package sbcl-enhanced-defclass))
|
||||
|
||||
(define-public ecl-enhanced-defclass
|
||||
(sbcl-package->ecl-package sbcl-enhanced-defclass))
|
||||
|
||||
(define-public sbcl-object-class
|
||||
(package
|
||||
(name "sbcl-object-class")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/object-class")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-object-class" version))
|
||||
(sha256
|
||||
(base32 "0qagmd2mxbr8b60l0y3jccj0maxjchds96p935pd3q805ry50683"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-closer-mop
|
||||
sbcl-compatible-metaclasses
|
||||
sbcl-enhanced-find-class))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/object-class/")
|
||||
(synopsis "Cluster special subclasses of the standard-object")
|
||||
(description
|
||||
"This package ensures that special subclasses of standard-object cluster
|
||||
right in front of standard-object in the class precedence list.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-object-class
|
||||
(sbcl-package->cl-source-package sbcl-object-class))
|
||||
|
||||
(define-public ecl-object-class
|
||||
(sbcl-package->ecl-package sbcl-object-class))
|
||||
|
||||
(define-public sbcl-shared-preferences
|
||||
(package
|
||||
(name "sbcl-shared-preferences")
|
||||
(version "1.1.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/shared-preferences")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-shared-preferences" version))
|
||||
(sha256
|
||||
(base32 "12m4kaba2lxndkjw30a6y2rq16fflh5016lp74l7pf3v0y3j1ydf"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-inheriting-readers
|
||||
sbcl-trivial-garbage))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/shared-preferences/")
|
||||
(synopsis "Flexible specification of package-local preferences")
|
||||
(description
|
||||
"This package allows flexible specification of package-local preferences.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-shared-preferences
|
||||
(sbcl-package->cl-source-package sbcl-shared-preferences))
|
||||
|
||||
(define-public ecl-shared-preferences
|
||||
(sbcl-package->ecl-package sbcl-shared-preferences))
|
||||
|
||||
(define-public sbcl-inheriting-readers
|
||||
(package
|
||||
(name "sbcl-inheriting-readers")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/inheriting-readers")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-inheriting-readers" version))
|
||||
(sha256
|
||||
(base32 "0km3mq6vx1q9qv6j3r4sqqcsdbnb5jar66bl0mzzpaacfvzbx68p"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-class-options
|
||||
sbcl-closer-mop
|
||||
sbcl-compatible-metaclasses))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/inheriting-readers/")
|
||||
(synopsis "Simple yet powerful value inheritance scheme")
|
||||
(description
|
||||
"This package provides a simple yet powerful value inheritance scheme.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-inheriting-readers
|
||||
(sbcl-package->cl-source-package sbcl-inheriting-readers))
|
||||
|
||||
(define-public ecl-inheriting-readers
|
||||
(sbcl-package->ecl-package sbcl-inheriting-readers))
|
||||
|
||||
(define-public sbcl-simple-guess
|
||||
(let ((commit "34744e3200a96e6aba285d70f91cdbd6c25508a6")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-simple-guess")
|
||||
(version (git-version "1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/simple-guess")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-simple-guess" version))
|
||||
(sha256
|
||||
(base32 "0404vj7ln97x7rn9ypbw4rshs56nnpyjnh1z9k03s039s5q3kpv0"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-fakenil sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-cesdi
|
||||
sbcl-closer-mop
|
||||
sbcl-compatible-metaclasses
|
||||
sbcl-evaled-when))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/simple-guess/")
|
||||
(synopsis "Extensible protocol for computing a guess using advisors")
|
||||
(description
|
||||
"This package defines a simple extensible protocol for computing a guess
|
||||
using advisors.")
|
||||
(license license:unlicense))))
|
||||
|
||||
(define-public cl-simple-guess
|
||||
(sbcl-package->cl-source-package sbcl-simple-guess))
|
||||
|
||||
(define-public ecl-simple-guess
|
||||
(sbcl-package->ecl-package sbcl-simple-guess))
|
||||
|
||||
(define-public sbcl-fakenil
|
||||
(package
|
||||
(name "sbcl-fakenil")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/fakenil")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-fakenil" version))
|
||||
(sha256
|
||||
(base32 "0ipqax3sgcs1dsgxz8d2pmfg324k6l35pn0nz89w5jl02fia61l3"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/fakenil/")
|
||||
(synopsis "Provides a canonical stand-in for NIL")
|
||||
(description
|
||||
"This package provides a canonical stand-in for NIL for contexts where
|
||||
NIL means no value.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-fakenil
|
||||
(sbcl-package->cl-source-package sbcl-fakenil))
|
||||
|
||||
(define-public ecl-fakenil
|
||||
(sbcl-package->ecl-package sbcl-fakenil))
|
||||
|
||||
(define-public sbcl-evaled-when
|
||||
(let ((commit "c59f8ab20b846cac81d4be80d056a3d65676e8eb")
|
||||
(revision "0"))
|
||||
(package
|
||||
(name "sbcl-evaled-when")
|
||||
(version (git-version "1.0" revision commit))
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/evaled-when")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name "cl-evaled-when" version))
|
||||
(sha256
|
||||
(base32 "07g1a50aairvsj57issb18si5a9r3skpbk05nlixmlj0mva3gkl3"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-enhanced-boolean sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-trivial-cltl2))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/evaled-when/")
|
||||
(synopsis "Extract and replicate the compile-time side-effects of forms")
|
||||
(description
|
||||
"This package provides a way of extracting and replicating the
|
||||
compile-time side-effects of forms.")
|
||||
(license license:unlicense))))
|
||||
|
||||
(define-public cl-evaled-when
|
||||
(sbcl-package->cl-source-package sbcl-evaled-when))
|
||||
|
||||
(define-public ecl-evaled-when
|
||||
(sbcl-package->ecl-package sbcl-evaled-when))
|
||||
|
||||
(define-public sbcl-enhanced-eval-when
|
||||
(package
|
||||
(name "sbcl-enhanced-eval-when")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/enhanced-eval-when")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-enhanced-eval-when" version))
|
||||
(sha256
|
||||
(base32 "1ws1v297plcbqmcvckg7vqzzgnrwfyx5kd7281r1wrhc26998rx2"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
;; https://github.com/Hexstream/enhanced-eval-when/issues/1
|
||||
(arguments
|
||||
(list #:tests? #f)) ; There are no tests in version 1.0.
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/enhanced-eval-when/")
|
||||
(synopsis "Shortcuts for EVAL-WHEN")
|
||||
(description
|
||||
"This package provides an enhanced @code{EVAL-WHEN} macro that supports a
|
||||
shorthand for @code{(eval-when (:compile-toplevel :load-toplevel :execute) ...)},
|
||||
addressing concerns about verbosity.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-enhanced-eval-when
|
||||
(sbcl-package->cl-source-package sbcl-enhanced-eval-when))
|
||||
|
||||
(define-public ecl-enhanced-eval-when
|
||||
(sbcl-package->ecl-package sbcl-enhanced-eval-when))
|
||||
|
||||
(define-public sbcl-enhanced-boolean
|
||||
(package
|
||||
(name "sbcl-enhanced-boolean")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/enhanced-boolean")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-enhanced-boolean" version))
|
||||
(sha256
|
||||
(base32 "17l18lz07fk2kg835vs6c3189d230n1rm9vghk3ls4i356gbq0gy"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/enhanced-boolean/")
|
||||
(synopsis "Convert generalized booleans to booleans")
|
||||
(description
|
||||
"This package provides a canonical way of converting generalized booleans
|
||||
to booleans.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-enhanced-boolean
|
||||
(sbcl-package->cl-source-package sbcl-enhanced-boolean))
|
||||
|
||||
(define-public ecl-enhanced-boolean
|
||||
(sbcl-package->ecl-package sbcl-enhanced-boolean))
|
||||
|
||||
(define-public sbcl-cesdi
|
||||
(package
|
||||
(name "sbcl-cesdi")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/cesdi")
|
||||
(commit version)))
|
||||
(file-name (git-file-name "cl-cesdi" version))
|
||||
(sha256
|
||||
(base32 "02f2pz5rw79ljkkx1ywh8nkpjj4g3z3s1lyvzqb8krbnx11wl0q9"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-closer-mop))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/cesdi/")
|
||||
(synopsis "Ergonomic initialization of effective slot definition objects")
|
||||
(description
|
||||
"This package provides a @code{compute-effective-slot-definition-initargs}
|
||||
generic function that allows for more ergonomic initialization of effective slot
|
||||
definition objects.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-cesdi
|
||||
(sbcl-package->cl-source-package sbcl-cesdi))
|
||||
|
||||
(define-public ecl-cesdi
|
||||
(sbcl-package->ecl-package sbcl-cesdi))
|
||||
|
||||
(define-public sbcl-compatible-metaclasses
|
||||
(package
|
||||
(name "sbcl-compatible-metaclasses")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/compatible-metaclasses")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-compatible-metaclasses" version))
|
||||
(sha256
|
||||
(base32 "17cf74j400cl6sjslfhkv13lir85k705v63mx3dd4y6dl5hvsdh6"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-class-options
|
||||
sbcl-closer-mop
|
||||
sbcl-enhanced-find-class))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/compatible-metaclasses/")
|
||||
(synopsis "Simplifies class mixins by validating superclasses")
|
||||
(description
|
||||
"This library validates superclasses according to a simple substitution
|
||||
model, thereby greatly simplifying the definition of class mixins.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-compatible-metaclasses
|
||||
(sbcl-package->cl-source-package sbcl-compatible-metaclasses))
|
||||
|
||||
(define-public ecl-compatible-metaclasses
|
||||
(sbcl-package->ecl-package sbcl-compatible-metaclasses))
|
||||
|
||||
(define-public sbcl-class-options
|
||||
(package
|
||||
(name "sbcl-class-options")
|
||||
(version "1.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/class-options")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-class-options" version))
|
||||
(sha256
|
||||
(base32 "1dkgr1vbrsra44jznzz2bvdf8nlpdrrkjcqrfs8aa7axksda3bqk"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-enhanced-boolean sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-closer-mop sbcl-enhanced-find-class))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/class-options/")
|
||||
(synopsis "Accessing defining class and its options during modification")
|
||||
(description
|
||||
"This package provides easy access to the defining class and its options
|
||||
during initialization or reinitialization of its subcomponents.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-class-options
|
||||
(sbcl-package->cl-source-package sbcl-class-options))
|
||||
|
||||
(define-public ecl-class-options
|
||||
(sbcl-package->ecl-package sbcl-class-options))
|
||||
|
||||
(define-public sbcl-enhanced-find-class
|
||||
(package
|
||||
(name "sbcl-enhanced-find-class")
|
||||
(version "1.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/enhanced-find-class")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-enhanced-find-class" version))
|
||||
(sha256
|
||||
(base32 "1pf1mxb238zrmvgm9s0456s1x0m317ls23ls1d987riw69y3w9vx"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-closer-mop))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/enhanced-find-class/")
|
||||
(synopsis "Canonical way of converting class designators to classes")
|
||||
(description
|
||||
"This package provides a canonical way of converting class designators
|
||||
to classes.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-enhanced-find-class
|
||||
(sbcl-package->cl-source-package sbcl-enhanced-find-class))
|
||||
|
||||
(define-public ecl-enhanced-find-class
|
||||
(sbcl-package->ecl-package sbcl-enhanced-find-class))
|
||||
|
||||
(define-public sbcl-definitions-systems
|
||||
(package
|
||||
(name "sbcl-definitions-systems")
|
||||
(version "2.0.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/Hexstream/definitions-systems")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "cl-definitions-systems" version))
|
||||
(sha256
|
||||
(base32 "009392mj0qdq4jy0dw5r41schnygwj286759yvyg7xja30a0psfq"))))
|
||||
(build-system asdf-build-system/sbcl)
|
||||
(native-inputs
|
||||
(list sbcl-parachute))
|
||||
(inputs
|
||||
(list sbcl-canonicalized-initargs
|
||||
sbcl-enhanced-defclass
|
||||
sbcl-enhanced-find-class
|
||||
sbcl-shared-preferences))
|
||||
(home-page "https://www.hexstreamsoft.com/libraries/definitions-systems/")
|
||||
(synopsis "Unified extensible way of processing named definitions")
|
||||
(description
|
||||
"@code{definitions-systems} provides a simple unified extensible way of
|
||||
processing named definitions.")
|
||||
(license license:unlicense)))
|
||||
|
||||
(define-public cl-definitions-systems
|
||||
(sbcl-package->cl-source-package sbcl-definitions-systems))
|
||||
|
||||
(define-public ecl-definitions-systems
|
||||
(sbcl-package->ecl-package sbcl-definitions-systems))
|
||||
|
||||
(define-public sbcl-smug
|
||||
(let ((commit "647a2428df297e1dd183ba7c19574bdb1320ae79")
|
||||
(revision "0"))
|
||||
|
@ -8,53 +8,14 @@ manual. The Texinfo format allows for more structure and info readers
|
||||
provide more advanced navigation capabilities compared to manpages
|
||||
readers.
|
||||
|
||||
* configure (infodir): Add an --infodir option, which allows
|
||||
configuring the directory under which the info manuals are installed.
|
||||
* docs/meson.build (texi, info): New targets.
|
||||
|
||||
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||
|
||||
diff --git a/configure b/configure
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -951,6 +951,8 @@ for opt do
|
||||
static="yes"
|
||||
QEMU_PKG_CONFIG_FLAGS="--static $QEMU_PKG_CONFIG_FLAGS"
|
||||
;;
|
||||
+ --infodir=*) infodir="$optarg"
|
||||
+ ;;
|
||||
--mandir=*) mandir="$optarg"
|
||||
;;
|
||||
--bindir=*) bindir="$optarg"
|
||||
@@ -978,7 +980,7 @@ for opt do
|
||||
--host=*|--build=*|\
|
||||
--disable-dependency-tracking|\
|
||||
--sbindir=*|--sharedstatedir=*|\
|
||||
- --oldincludedir=*|--datarootdir=*|--infodir=*|\
|
||||
+ --oldincludedir=*|--datarootdir=*|\
|
||||
--htmldir=*|--dvidir=*|--pdfdir=*|--psdir=*)
|
||||
# These switches are silently ignored, for compatibility with
|
||||
# autoconf-generated configure scripts. This allows QEMU's
|
||||
@@ -1599,6 +1601,7 @@ else
|
||||
fi
|
||||
mandir="${mandir:-$prefix/share/man}"
|
||||
datadir="${datadir:-$prefix/share}"
|
||||
+infodir="${infodir:-$datadir/info}"
|
||||
docdir="${docdir:-$prefix/share/doc}"
|
||||
sysconfdir="${sysconfdir:-$prefix/etc}"
|
||||
local_statedir="${local_statedir:-$prefix/var}"
|
||||
@@ -1736,6 +1739,7 @@ Advanced options (experts only):
|
||||
--with-git-submodules=validate fail if git submodules are not up to date
|
||||
--with-git-submodules=ignore do not update or check git submodules (default if no .git dir)
|
||||
--static enable static build [$static]
|
||||
+ --infodir=PATH install info manual in PATH
|
||||
--mandir=PATH install man pages in PATH
|
||||
--datadir=PATH install firmware in PATH/$qemu_suffix
|
||||
--localedir=PATH install translation in PATH/$qemu_suffix
|
||||
diff --git a/docs/meson.build b/docs/meson.build
|
||||
--- a/docs/meson.build
|
||||
+++ b/docs/meson.build
|
||||
@@ -104,4 +104,25 @@ if build_docs
|
||||
@@ -92,4 +92,25 @@ if build_docs
|
||||
alias_target('sphinxdocs', sphinxdocs)
|
||||
alias_target('html', sphinxdocs)
|
||||
alias_target('man', sphinxmans)
|
||||
@ -83,7 +44,7 @@ diff --git a/docs/meson.build b/docs/meson.build
|
||||
diff --git a/meson.build b/meson.build
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -35,6 +35,7 @@ endif
|
||||
@@ -37,6 +37,7 @@ endif
|
||||
qemu_confdir = get_option('sysconfdir') / get_option('qemu_suffix')
|
||||
qemu_datadir = get_option('datadir') / get_option('qemu_suffix')
|
||||
qemu_docdir = get_option('docdir') / get_option('qemu_suffix')
|
||||
@ -91,11 +52,11 @@ diff --git a/meson.build b/meson.build
|
||||
qemu_moddir = get_option('libdir') / get_option('qemu_suffix')
|
||||
|
||||
qemu_desktopdir = get_option('datadir') / 'applications'
|
||||
@@ -2433,6 +2434,7 @@ else
|
||||
@@ -3698,6 +3699,7 @@ else
|
||||
summary_info += {'local state directory': 'queried at runtime'}
|
||||
endif
|
||||
summary_info += {'Doc directory': get_option('docdir')}
|
||||
+summary_info += {'Info directory': get_option('infodir')}
|
||||
summary_info += {'Doc directory': get_option('prefix') / get_option('docdir')}
|
||||
+summary_info += {'Info directory': get_option('prefix') / get_option('infodir')}
|
||||
summary_info += {'Build directory': meson.current_build_dir()}
|
||||
summary_info += {'Source path': meson.current_source_dir()}
|
||||
summary_info += {'GIT submodules': config_host['GIT_SUBMODULES']}
|
||||
|
@ -4,7 +4,6 @@ after the patch from the Nix package:
|
||||
https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/virtualization/qemu/fix-qemu-ga.patch
|
||||
|
||||
diff --git a/qga/commands-posix.c b/qga/commands-posix.c
|
||||
index 75dbaab..b416b03 100644
|
||||
--- a/qga/commands-posix.c
|
||||
+++ b/qga/commands-posix.c
|
||||
@@ -84,6 +84,7 @@ static void ga_wait_child(pid_t pid, int *status, Error **errp)
|
||||
@ -15,33 +14,33 @@ index 75dbaab..b416b03 100644
|
||||
Error *local_err = NULL;
|
||||
pid_t pid;
|
||||
int status;
|
||||
@@ -91,10 +92,13 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
|
||||
@@ -101,10 +102,13 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
|
||||
slog("guest-shutdown called, mode: %s", mode);
|
||||
if (!has_mode || strcmp(mode, "powerdown") == 0) {
|
||||
shutdown_flag = "-P";
|
||||
shutdown_flag = powerdown_flag;
|
||||
+ command = "shutdown";
|
||||
} else if (strcmp(mode, "halt") == 0) {
|
||||
shutdown_flag = "-H";
|
||||
shutdown_flag = halt_flag;
|
||||
+ command = "halt";
|
||||
} else if (strcmp(mode, "reboot") == 0) {
|
||||
shutdown_flag = "-r";
|
||||
shutdown_flag = reboot_flag;
|
||||
+ command = "reboot";
|
||||
} else {
|
||||
error_setg(errp,
|
||||
"mode is invalid (valid values are: halt|powerdown|reboot");
|
||||
@@ -109,6 +113,11 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
|
||||
reopen_fd_to_null(1);
|
||||
reopen_fd_to_null(2);
|
||||
|
||||
@@ -123,6 +127,11 @@ void qmp_guest_shutdown(bool has_mode, const char *mode, Error **errp)
|
||||
execl("/sbin/shutdown", "shutdown", shutdown_flag, "-g0", "-y",
|
||||
"hypervisor initiated shutdown", (char *)NULL);
|
||||
#else
|
||||
+ /* try Guix’s shutdown/halt/reboot first */
|
||||
+ char *path = g_strdup_printf("/run/current-system/profile/sbin/%s", command);
|
||||
+ execle(path, command, (char *)NULL, environ);
|
||||
+ execl(path, command, (char *)NULL);
|
||||
+ g_free(path);
|
||||
+
|
||||
execle("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
|
||||
"hypervisor initiated shutdown", (char *)NULL, environ);
|
||||
_exit(EXIT_FAILURE);
|
||||
@@ -158,10 +167,12 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
|
||||
execl("/sbin/shutdown", "shutdown", "-h", shutdown_flag, "+0",
|
||||
"hypervisor initiated shutdown", (char *)NULL);
|
||||
#endif
|
||||
@@ -159,10 +168,12 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
|
||||
Error *local_err = NULL;
|
||||
struct timeval tv;
|
||||
static const char hwclock_path[] = "/sbin/hwclock";
|
||||
@ -55,12 +54,12 @@ index 75dbaab..b416b03 100644
|
||||
}
|
||||
|
||||
if (!hwclock_available) {
|
||||
@@ -207,6 +218,8 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
|
||||
@@ -208,6 +219,8 @@ void qmp_guest_set_time(bool has_time, int64_t time_ns, Error **errp)
|
||||
|
||||
/* Use '/sbin/hwclock -w' to set RTC from the system time,
|
||||
* or '/sbin/hwclock -s' to set the system time from RTC. */
|
||||
+ execle(hwclock_path_guix, "hwclock", has_time ? "-w" : "-s",
|
||||
+ NULL, environ);
|
||||
execle(hwclock_path, "hwclock", has_time ? "-w" : "-s",
|
||||
NULL, environ);
|
||||
+ execl(hwclock_path_guix, "hwclock", has_time ? "-w" : "-s",
|
||||
+ NULL);
|
||||
execl(hwclock_path, "hwclock", has_time ? "-w" : "-s", NULL);
|
||||
_exit(EXIT_FAILURE);
|
||||
} else if (pid < 0) {
|
||||
|
@ -1249,19 +1249,21 @@ for the @code{pytest} framework.")
|
||||
(define-public python-pytest-benchmark
|
||||
(package
|
||||
(name "python-pytest-benchmark")
|
||||
(version "3.2.3")
|
||||
(version "3.4.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pytest-benchmark" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0a4mpb4j73dsyk47hd1prrjpfk4r458s102cn80rf253jg818hxd"))))
|
||||
"0ivvrnhax2xr62grlgw4hlyjmmjp6nc35431j7c82nny2bwn7qj0"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:test-target "check"))
|
||||
(propagated-inputs
|
||||
(list python-py-cpuinfo))
|
||||
(native-inputs
|
||||
(list python-pathlib2 python-pytest))
|
||||
(list python-pytest))
|
||||
(home-page "https://github.com/ionelmc/pytest-benchmark")
|
||||
(synopsis "Pytest fixture for benchmarking code")
|
||||
(description
|
||||
|
@ -1204,13 +1204,13 @@ access the technical and tag data for video and audio files.")
|
||||
(define-public python-psutil
|
||||
(package
|
||||
(name "python-psutil")
|
||||
(version "5.9.0")
|
||||
(version "5.9.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "psutil" version))
|
||||
(sha256
|
||||
(base32 "09fa4vfhansixvxd3lv664xcrbnfdyfn53hm2wr0rf3bsvdl5646"))))
|
||||
(base32 "0p1bf6ndcssqh0ic828ggwhzhm67mzj3ffq6043v0fvc1fhn3f7y"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
;; FIXME: some tests do not return and time out. Some tests fail because
|
||||
@ -8077,14 +8077,14 @@ functions like pickle, json or PyYAML module.")
|
||||
(define-public python-pathlib2
|
||||
(package
|
||||
(name "python-pathlib2")
|
||||
(version "2.3.6")
|
||||
(version "2.3.7.post1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "pathlib2" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0psyg60vk8wca473djrh0v9gb853z8wcawi8im5dyg00amawp2vx"))))
|
||||
"0hf62d0lsf37vnr5fxqp5rfn85njgsr45j4rw71w10wbi6nyvq4z"))))
|
||||
(build-system python-build-system)
|
||||
(propagated-inputs
|
||||
(list python-scandir python-six))
|
||||
@ -9384,15 +9384,23 @@ the GObject Introspection bindings to libnotify for non-GTK applications.")
|
||||
(define-public python-beautifulsoup4
|
||||
(package
|
||||
(name "python-beautifulsoup4")
|
||||
(version "4.10.0")
|
||||
(version "4.11.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (pypi-uri "beautifulsoup4" version))
|
||||
(sha256
|
||||
(base32
|
||||
"14c8z4gh9bi38agx9ls8ym5rscc02pc6f6hmliaqk08xa8yd4fn2"))))
|
||||
"14v68cpfzckfz63n9hnbsm271jvzvxscyijz83mhha7gcmdsb6md"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
'(#:phases (modify-phases %standard-phases
|
||||
(replace 'check
|
||||
(lambda* (#:key tests? #:allow-other-keys)
|
||||
(when tests?
|
||||
(invoke "pytest" "-vv")))))))
|
||||
(native-inputs
|
||||
(list python-pytest))
|
||||
(propagated-inputs
|
||||
(list python-soupsieve python-html5lib python-lxml))
|
||||
(home-page
|
||||
|
@ -1659,7 +1659,7 @@ support for Rust.")
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(inputs
|
||||
(list curl libgit2-1.3 libssh2 openssl zlib))
|
||||
(list curl libgit2-1.3 libssh2 openssl-1.1 zlib))
|
||||
(home-page "https://github.com/lu-zero/cargo-c")
|
||||
(synopsis "Build and install C-compatible libraries")
|
||||
(description
|
||||
|
@ -312,7 +312,7 @@ website for more information about Yubico and the YubiKey.")
|
||||
(string-append
|
||||
"DEFAULT_PCSC_PROVIDER=\"" libpcsclite "\"")))))))))
|
||||
(inputs
|
||||
(list readline openssl pcsc-lite ccid))
|
||||
(list readline openssl-1.1 pcsc-lite ccid))
|
||||
(native-inputs
|
||||
(list libxslt docbook-xsl pkg-config))
|
||||
(home-page "https://github.com/OpenSC/OpenSC/wiki")
|
||||
|
@ -2,7 +2,7 @@
|
||||
;;; Copyright © 2016 David Craven <david@craven.ch>
|
||||
;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2019, 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2019, 2020, 2022 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -47,6 +47,7 @@
|
||||
#:use-module (guix build-system meson)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix gexp)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (guix utils))
|
||||
|
||||
@ -149,7 +150,7 @@ which allows users to view a desktop computing environment.")
|
||||
;; These are required by the pkg-config files.
|
||||
gtk+
|
||||
pixman
|
||||
openssl))
|
||||
openssl-1.1))
|
||||
(inputs
|
||||
`(("glib-networking" ,glib-networking)
|
||||
("gobject-introspection" ,gobject-introspection)
|
||||
@ -221,7 +222,7 @@ which allows users to view a desktop computing environment.")
|
||||
"1xd0xffw0g5vvwbq4ksmm3jjfq45f9dw20xpmi82g1fj9f7wy85k"))))
|
||||
(build-system gnu-build-system)
|
||||
(propagated-inputs
|
||||
(list openssl pixman spice-protocol))
|
||||
(list openssl-1.1 pixman spice-protocol))
|
||||
(inputs
|
||||
(list cyrus-sasl
|
||||
glib
|
||||
@ -340,6 +341,13 @@ resolution scaling on graphical console window resize.")
|
||||
(base32
|
||||
"1rrjlclm6ad63gah1fa4yfwrz4z6vgq2yrybbvzvvdbxrgl4vgzv"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
(list #:configure-flags
|
||||
;; XXX: For some reason NSS is not automatically added on RUNPATH
|
||||
;; with newer versions of Meson (after 0.60).
|
||||
#~(list (string-append "-Dc_link_args=-Wl,-rpath="
|
||||
(search-input-directory
|
||||
%build-inputs "lib/nss")))))
|
||||
(propagated-inputs
|
||||
(list glib ; Requires: in the pkg-config file
|
||||
nss ; Requires.private: in the pkg-config
|
||||
|
@ -158,7 +158,7 @@
|
||||
(define-public qemu
|
||||
(package
|
||||
(name "qemu")
|
||||
(version "6.2.0")
|
||||
(version "7.1.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
@ -166,7 +166,7 @@
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0iavlsy9hin8k38230j8lfmyipx3965zljls1dp34mmc8n75vqb8"))
|
||||
"1rmvrgqjhrvcmchnz170dxvrrf14n6nm39y8ivrprmfydd9lwqx0"))
|
||||
(patches (search-patches "qemu-build-info-manual.patch"
|
||||
"qemu-fix-agent-paths.patch"))
|
||||
(modules '((guix build utils)))
|
||||
@ -177,154 +177,155 @@
|
||||
(outputs '("out" "static" "doc")) ;5.3 MiB of HTML docs
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; FIXME: Disable tests on i686 to work around
|
||||
;; <https://bugs.gnu.org/40527>.
|
||||
`(#:tests? ,(or (%current-target-system)
|
||||
(not (string=? "i686-linux" (%current-system))))
|
||||
#:configure-flags
|
||||
(let ((gcc (search-input-file %build-inputs "/bin/gcc"))
|
||||
(out (assoc-ref %outputs "out")))
|
||||
(list (string-append "--cc=" gcc)
|
||||
;; Some architectures insist on using HOST_CC.
|
||||
(string-append "--host-cc=" gcc)
|
||||
(string-append "--prefix=" out)
|
||||
"--sysconfdir=/etc"
|
||||
(string-append "--smbd=" out "/libexec/samba-wrapper")
|
||||
"--disable-debug-info" ;for space considerations
|
||||
;; The binaries need to be linked against -lrt.
|
||||
(string-append "--extra-ldflags=-lrt")))
|
||||
;; Make build and test output verbose to facilitate investigation upon failure.
|
||||
#:make-flags '("V=1")
|
||||
#:modules ((srfi srfi-1)
|
||||
(list
|
||||
;; FIXME: Disable tests on i686 to work around
|
||||
;; <https://bugs.gnu.org/40527>.
|
||||
#:tests? (or (%current-target-system)
|
||||
(not (string=? "i686-linux" (%current-system))))
|
||||
#:configure-flags
|
||||
#~(let ((gcc (search-input-file %build-inputs "/bin/gcc"))
|
||||
(out #$output))
|
||||
(list (string-append "--cc=" gcc)
|
||||
;; Some architectures insist on using HOST_CC.
|
||||
(string-append "--host-cc=" gcc)
|
||||
(string-append "--prefix=" out)
|
||||
"--sysconfdir=/etc"
|
||||
(string-append "--smbd=" out "/libexec/samba-wrapper")
|
||||
"--disable-debug-info" ;for space considerations
|
||||
;; The binaries need to be linked against -lrt.
|
||||
(string-append "--extra-ldflags=-lrt")))
|
||||
;; Make build and test output verbose to facilitate investigation upon failure.
|
||||
#:make-flags #~'("V=1")
|
||||
#:modules `((srfi srfi-1)
|
||||
(srfi srfi-26)
|
||||
(ice-9 ftw)
|
||||
(ice-9 match)
|
||||
,@%gnu-build-system-modules)
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'extend-test-time-outs
|
||||
(lambda _
|
||||
;; These tests can time out on heavily-loaded and/or slow storage.
|
||||
(substitute* (cons* "tests/qemu-iotests/common.qemu"
|
||||
(find-files "tests/qemu-iotests" "^[0-9]+$"))
|
||||
(("QEMU_COMM_TIMEOUT=[0-9]+" match)
|
||||
(string-append match "9")))))
|
||||
(add-after 'unpack 'disable-unusable-tests
|
||||
(lambda _
|
||||
(substitute* "tests/unit/meson.build"
|
||||
;; Comment out the test-qga test, which needs /sys and
|
||||
;; fails within the build environment.
|
||||
(("tests.*test-qga.*$" all)
|
||||
(string-append "# " all))
|
||||
;; Comment out the test-char test, which needs networking and
|
||||
;; fails within the build environment.
|
||||
((".*'test-char':.*" all)
|
||||
(string-append "# " all)))))
|
||||
,@(if (target-riscv64?)
|
||||
`((add-after 'unpack 'disable-some-tests
|
||||
(lambda _
|
||||
;; qemu.qmp.QMPConnectError: Unexpected empty reply from server
|
||||
(delete-file "tests/qemu-iotests/040")
|
||||
(delete-file "tests/qemu-iotests/041")
|
||||
(delete-file "tests/qemu-iotests/256")
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'extend-test-time-outs
|
||||
(lambda _
|
||||
;; These tests can time out on heavily-loaded and/or slow storage.
|
||||
(substitute* (cons* "tests/qemu-iotests/common.qemu"
|
||||
(find-files "tests/qemu-iotests" "^[0-9]+$"))
|
||||
(("QEMU_COMM_TIMEOUT=[0-9]+" match)
|
||||
(string-append match "9")))))
|
||||
(add-after 'unpack 'disable-unusable-tests
|
||||
(lambda _
|
||||
(substitute* "tests/unit/meson.build"
|
||||
;; Comment out the test-qga test, which needs /sys and
|
||||
;; fails within the build environment.
|
||||
(("tests.*test-qga.*$" all)
|
||||
(string-append "# " all))
|
||||
;; Comment out the test-char test, which needs networking and
|
||||
;; fails within the build environment.
|
||||
((".*'test-char':.*" all)
|
||||
(string-append "# " all)))))
|
||||
#$@(if (target-riscv64?)
|
||||
'((add-after 'unpack 'disable-some-tests
|
||||
(lambda _
|
||||
;; qemu.qmp.QMPConnectError:
|
||||
;; Unexpected empty reply from server
|
||||
(delete-file "tests/qemu-iotests/040")
|
||||
(delete-file "tests/qemu-iotests/041")
|
||||
(delete-file "tests/qemu-iotests/256")
|
||||
|
||||
;; No 'PCI' bus found for device 'virtio-scsi-pci'
|
||||
(delete-file "tests/qemu-iotests/127")
|
||||
(delete-file "tests/qemu-iotests/267"))))
|
||||
'())
|
||||
(add-after 'patch-source-shebangs 'patch-embedded-shebangs
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
;; Ensure the executables created by these source files reference
|
||||
;; /bin/sh from the store so they work inside the build container.
|
||||
(substitute* '("block/cloop.c" "migration/exec.c"
|
||||
"net/tap.c" "tests/qtest/libqtest.c"
|
||||
"tests/qtest/vhost-user-blk-test.c")
|
||||
(("/bin/sh") (search-input-file inputs "/bin/sh")))
|
||||
(substitute* "tests/qemu-iotests/testenv.py"
|
||||
(("#!/usr/bin/env python3")
|
||||
(string-append "#!" (search-input-file (or native-inputs inputs)
|
||||
"/bin/python3"))))))
|
||||
(add-before 'configure 'fix-optionrom-makefile
|
||||
(lambda _
|
||||
;; Work around the inability of the rules defined in this
|
||||
;; Makefile to locate the firmware files (e.g.: No rule to make
|
||||
;; target 'multiboot.bin') by extending the VPATH.
|
||||
(substitute* "pc-bios/optionrom/Makefile"
|
||||
(("^VPATH = \\$\\(SRC_DIR\\)")
|
||||
"VPATH = $(SRC_DIR):$(TOPSRC_DIR)/pc-bios"))))
|
||||
;; XXX ./configure is being re-run at beginning of build phase...
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs outputs configure-flags #:allow-other-keys)
|
||||
;; The `configure' script doesn't understand some of the
|
||||
;; GNU options. Thus, add a new phase that's compatible.
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(setenv "SHELL" (which "bash"))
|
||||
;; Ensure config.status gets the correct shebang off the bat.
|
||||
;; The build system gets confused if we change it later and
|
||||
;; attempts to re-run the whole configuration, and fails.
|
||||
(substitute* "configure"
|
||||
(("#!/bin/sh")
|
||||
(string-append "#!" (which "sh"))))
|
||||
(mkdir-p "b/qemu")
|
||||
(chdir "b/qemu")
|
||||
(apply invoke "../../configure" configure-flags))))
|
||||
;; Configure, build and install QEMU user-emulation static binaries.
|
||||
(add-after 'configure 'configure-user-static
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((gcc (search-input-file inputs "/bin/gcc"))
|
||||
(static (assoc-ref outputs "static"))
|
||||
;; This is the common set of configure flags; it is
|
||||
;; duplicated here to isolate this phase from manipulations
|
||||
;; to the #:configure-flags build argument, as done in
|
||||
;; derived packages such as qemu-minimal.
|
||||
(configure-flags (list (string-append "--cc=" gcc)
|
||||
(string-append "--host-cc=" gcc)
|
||||
"--sysconfdir=/etc"
|
||||
"--disable-debug-info")))
|
||||
(mkdir-p "../user-static")
|
||||
(with-directory-excursion "../user-static"
|
||||
(apply invoke "../../configure"
|
||||
"--static"
|
||||
"--disable-docs" ;already built
|
||||
"--disable-system"
|
||||
"--enable-linux-user"
|
||||
(string-append "--prefix=" static)
|
||||
configure-flags)))))
|
||||
(add-after 'build 'build-user-static
|
||||
(lambda args
|
||||
(with-directory-excursion "../user-static"
|
||||
(apply (assoc-ref %standard-phases 'build) args))))
|
||||
(add-after 'install 'install-user-static
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((static (assoc-ref outputs "static"))
|
||||
(bin (string-append static "/bin")))
|
||||
(with-directory-excursion "../user-static"
|
||||
(for-each (cut install-file <> bin)
|
||||
(append-map (cut find-files <> "^qemu-" #:stat stat)
|
||||
(scandir "."
|
||||
(cut string-suffix?
|
||||
"-linux-user" <>))))))))
|
||||
;; Create a wrapper for Samba. This allows QEMU to use Samba without
|
||||
;; pulling it in as an input. Note that you need to explicitly install
|
||||
;; Samba in your Guix profile for Samba support.
|
||||
(add-after 'install 'create-samba-wrapper
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(libexec (string-append out "/libexec")))
|
||||
(call-with-output-file "samba-wrapper"
|
||||
(lambda (port)
|
||||
(format port "#!/bin/sh
|
||||
;; No 'PCI' bus found for device 'virtio-scsi-pci'
|
||||
(delete-file "tests/qemu-iotests/127")
|
||||
(delete-file "tests/qemu-iotests/267"))))
|
||||
'())
|
||||
(add-after 'patch-source-shebangs 'patch-embedded-shebangs
|
||||
(lambda* (#:key native-inputs inputs #:allow-other-keys)
|
||||
;; Ensure the executables created by these source files reference
|
||||
;; /bin/sh from the store so they work inside the build container.
|
||||
(substitute* '("block/cloop.c" "migration/exec.c"
|
||||
"net/tap.c" "tests/qtest/libqtest.c"
|
||||
"tests/qtest/vhost-user-blk-test.c")
|
||||
(("/bin/sh") (search-input-file inputs "/bin/sh")))
|
||||
(substitute* "tests/qemu-iotests/testenv.py"
|
||||
(("#!/usr/bin/env python3")
|
||||
(string-append "#!" (search-input-file (or native-inputs inputs)
|
||||
"/bin/python3"))))))
|
||||
(add-before 'configure 'fix-optionrom-makefile
|
||||
(lambda _
|
||||
;; Work around the inability of the rules defined in this
|
||||
;; Makefile to locate the firmware files (e.g.: No rule to make
|
||||
;; target 'multiboot.bin') by extending the VPATH.
|
||||
(substitute* "pc-bios/optionrom/Makefile"
|
||||
(("^VPATH = \\$\\(SRC_DIR\\)")
|
||||
"VPATH = $(SRC_DIR):$(TOPSRC_DIR)/pc-bios"))))
|
||||
;; XXX ./configure is being re-run at beginning of build phase...
|
||||
(replace 'configure
|
||||
(lambda* (#:key inputs configure-flags #:allow-other-keys)
|
||||
;; The `configure' script doesn't understand some of the
|
||||
;; GNU options. Thus, add a new phase that's compatible.
|
||||
(setenv "SHELL" (which "bash"))
|
||||
;; Ensure config.status gets the correct shebang off the bat.
|
||||
;; The build system gets confused if we change it later and
|
||||
;; attempts to re-run the whole configuration, and fails.
|
||||
(substitute* "configure"
|
||||
(("#!/bin/sh")
|
||||
(string-append "#!" (which "sh"))))
|
||||
(mkdir-p "b/qemu")
|
||||
(chdir "b/qemu")
|
||||
(apply invoke "../../configure" configure-flags)))
|
||||
;; Configure, build and install QEMU user-emulation static binaries.
|
||||
(add-after 'configure 'configure-user-static
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((static (assoc-ref outputs "static"))
|
||||
(gcc (search-input-file inputs "/bin/gcc"))
|
||||
;; This is the common set of configure flags; it is
|
||||
;; duplicated here to isolate this phase from manipulations
|
||||
;; to the #:configure-flags build argument, as done in
|
||||
;; derived packages such as qemu-minimal.
|
||||
(configure-flags (list (string-append "--cc=" gcc)
|
||||
(string-append "--host-cc=" gcc)
|
||||
"--sysconfdir=/etc"
|
||||
"--disable-debug-info")))
|
||||
(mkdir-p "../user-static")
|
||||
(with-directory-excursion "../user-static"
|
||||
(apply invoke "../../configure"
|
||||
"--static"
|
||||
"--disable-docs" ;already built
|
||||
"--disable-system"
|
||||
"--enable-linux-user"
|
||||
(string-append "--prefix=" static)
|
||||
configure-flags)))))
|
||||
(add-after 'build 'build-user-static
|
||||
(lambda args
|
||||
(with-directory-excursion "../user-static"
|
||||
(apply (assoc-ref %standard-phases 'build) args))))
|
||||
(add-after 'install 'install-user-static
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((static (assoc-ref outputs "static"))
|
||||
(bin (string-append static "/bin")))
|
||||
(with-directory-excursion "../user-static"
|
||||
(for-each (cut install-file <> bin)
|
||||
(append-map (cut find-files <> "^qemu-" #:stat stat)
|
||||
(scandir "."
|
||||
(cut string-suffix?
|
||||
"-linux-user" <>))))))))
|
||||
;; Create a wrapper for Samba. This allows QEMU to use Samba without
|
||||
;; pulling it in as an input. Note that you need to explicitly install
|
||||
;; Samba in your Guix profile for Samba support.
|
||||
(add-after 'install 'create-samba-wrapper
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((libexec (string-append #$output "/libexec")))
|
||||
(call-with-output-file "samba-wrapper"
|
||||
(lambda (port)
|
||||
(format port "#!/bin/sh
|
||||
exec smbd $@")))
|
||||
(chmod "samba-wrapper" #o755)
|
||||
(install-file "samba-wrapper" libexec))))
|
||||
(add-after 'install 'move-html-doc
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(doc (assoc-ref outputs "doc"))
|
||||
(qemu-doc (string-append doc "/share/doc/qemu-" ,version)))
|
||||
(mkdir-p qemu-doc)
|
||||
(rename-file (string-append out "/share/doc/qemu")
|
||||
(string-append qemu-doc "/html"))))))))
|
||||
(chmod "samba-wrapper" #o755)
|
||||
(install-file "samba-wrapper" libexec))))
|
||||
(add-after 'install 'move-html-doc
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out #$output)
|
||||
(doc #$output:doc)
|
||||
(qemu-doc (string-append doc "/share/doc/qemu-"
|
||||
#$(package-version this-package))))
|
||||
(mkdir-p qemu-doc)
|
||||
(rename-file (string-append out "/share/doc/qemu")
|
||||
(string-append qemu-doc "/html"))))))))
|
||||
(inputs
|
||||
(list alsa-lib
|
||||
bash-minimal
|
||||
@ -405,7 +406,7 @@ server and embedded PowerPC, and S390 guests.")
|
||||
"Machine emulator and virtualizer (without GUI) for the host architecture")
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments qemu)
|
||||
((#:configure-flags configure-flags '(list))
|
||||
((#:configure-flags configure-flags #~'())
|
||||
;; Restrict to the host's architecture.
|
||||
(let* ((system (or (%current-target-system)
|
||||
(%current-system)))
|
||||
@ -436,12 +437,12 @@ server and embedded PowerPC, and S390 guests.")
|
||||
"--target-list=riscv32-softmmu,riscv64-softmmu")
|
||||
(else ; An empty list actually builds all the targets.
|
||||
'()))))
|
||||
`(cons ,target-list-arg ,configure-flags)))
|
||||
#~(cons #$target-list-arg #$configure-flags)))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(delete 'configure-user-static)
|
||||
(delete 'build-user-static)
|
||||
(delete 'install-user-static)))))
|
||||
#~(modify-phases #$phases
|
||||
(delete 'configure-user-static)
|
||||
(delete 'build-user-static)
|
||||
(delete 'install-user-static)))))
|
||||
|
||||
;; Remove dependencies on optional libraries, notably GUI libraries.
|
||||
(native-inputs (filter (lambda (input)
|
||||
|
@ -1948,7 +1948,7 @@ from streaming URLs. It is a command-line wrapper for the libquvi library.")
|
||||
(base32 "1k47gbgpp52049andr28y28nbwh9m36bbb0g8p0aka3pqlhjv72l"))))
|
||||
(build-system scons-build-system)
|
||||
(propagated-inputs
|
||||
(list apr apr-util openssl))
|
||||
(list apr apr-util openssl-1.1))
|
||||
(inputs
|
||||
(list ;; TODO: Fix build with gss.
|
||||
;;("gss" ,gss)
|
||||
|
@ -3,6 +3,7 @@
|
||||
;;; Copyright © 2018, 2020-2022 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020,2021 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2021 Timotej Lazar <timotej.lazar@araneo.si>
|
||||
;;; Copyright © 2022 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
@ -470,13 +471,15 @@ potential infinite waits blocking libvirt."))
|
||||
|
||||
(define (libvirt-shepherd-service config)
|
||||
(let* ((config-file (libvirt-conf-file config))
|
||||
(libvirt (libvirt-configuration-libvirt config)))
|
||||
(libvirt (libvirt-configuration-libvirt config))
|
||||
(listen-tcp? (libvirt-configuration-listen-tcp? config)))
|
||||
(list (shepherd-service
|
||||
(documentation "Run the libvirt daemon.")
|
||||
(provision '(libvirtd))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list (string-append #$libvirt "/sbin/libvirtd")
|
||||
"-f" #$config-file)
|
||||
"-f" #$config-file
|
||||
#$@(if listen-tcp? '("--listen") '()))
|
||||
;; For finding qemu and ip binaries.
|
||||
#:environment-variables
|
||||
(list (string-append
|
||||
|
Loading…
x
Reference in New Issue
Block a user