Merge branch 'staging' into core-updates

This commit is contained in:
Marius Bakke 2022-09-09 23:04:13 +02:00
commit 9ef33dce94
No known key found for this signature in database
GPG Key ID: A2A06DF2A33A54FA
22 changed files with 1085 additions and 342 deletions

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)))))
;;;

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -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))

View File

@ -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")

View File

@ -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

View File

@ -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"))

View File

@ -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']}

View File

@ -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 Guixs 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) {

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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")

View File

@ -2,7 +2,7 @@
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 20182021 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

View File

@ -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)

View File

@ -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)

View File

@ -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