This commit is contained in:
Daniel Ziltener 2024-04-15 17:21:02 +02:00
parent e364049e5d
commit 20a811bbc2
Signed by: zilti
GPG key ID: B38976E82C9DAE42
3 changed files with 382 additions and 158 deletions

View file

@ -21,7 +21,6 @@
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages build-tools) #:use-module (gnu packages build-tools)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages cpio) #:use-module (gnu packages cpio)
#:use-module (gnu packages docbook) #:use-module (gnu packages docbook)
@ -51,9 +50,10 @@
#:use-module (gnu packages web) #:use-module (gnu packages web)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
#:use-module (gnu packages wm) #:use-module (gnu packages wm)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg)
#:use-module ((zilti packages utilities) #:prefix utils:))
(define-public tomlplusplus (define-public tomlplusplus ;; SENT to Guix
(package (package
(name "tomlplusplus") (name "tomlplusplus")
(version "3.4.0") (version "3.4.0")
@ -67,7 +67,7 @@
"1hvbifzcc97r9jwjzpnq31ynqnj5y93cjz4frmgddnkg8hxmp6w7")))) "1hvbifzcc97r9jwjzpnq31ynqnj5y93cjz4frmgddnkg8hxmp6w7"))))
(build-system meson-build-system) (build-system meson-build-system)
(native-inputs (native-inputs
(list python cmake)) (list python utils:cmake))
(arguments (arguments
(list #:tests? #f)) (list #:tests? #f))
(home-page "https://marzer.github.io/tomlplusplus/") (home-page "https://marzer.github.io/tomlplusplus/")
@ -75,30 +75,30 @@
(description "Header-only TOML config file parser and serializer for C++17.") (description "Header-only TOML config file parser and serializer for C++17.")
(license license:expat))) (license license:expat)))
(define udis86-for-hyprland (define-public libliftoff
(let ((revision "186") (package
(commit "5336633af70f3917760a6d441ff02d93477b0c86")) (name "libliftoff")
(package (version "0.4.1")
(name "udis86") (source (origin
(version (git-version "1.7.2" revision commit)) (method git-fetch)
(source (origin (uri (git-reference
(method git-fetch) (url "https://gitlab.freedesktop.org/emersion/libliftoff")
(uri (git-reference (commit (string-append "v" version))))
(url "https://github.com/canihavesomecoffee/udis86") (sha256
(commit commit))) (base32
(file-name (git-file-name name version)) "1ikjp638d655ycaqkdnzhb12d29kkbb3a46lqhbhsfc8vsqj3z1l"))))
(sha256 (build-system meson-build-system)
(base32 (native-inputs
"0y5z1169wff578jylpafsww4px4y6gickhcs885a9c660d8xs9qy")))) (list utils:cmake
(build-system gnu-build-system) pkg-config))
(native-inputs (list autoconf automake libtool python-minimal-wrapper)) (inputs
(home-page "https://github.com/canihavesomecoffee/udis86") (list libdrm))
(synopsis "Disassembler Library for x86 and x86-64") (home-page "https://gitlab.freedesktop.org/emersion/libliftoff/")
(description (synopsis "Lightweight KMS plane library.")
"Udis86 is a disassembler for the x86 and x86-64 class of instruction (description "libliftoff eases the use of KMS planes from userspace without standing in your
set architectures. It consists of a C library called @code{libudis86} and a way. Users create \"virtual planes\" called layers, set KMS properties on them,
command line tool called @code{udcli} that incorporates the library.") and libliftoff will pick hardware planes for these layers if possible.")
(license license:bsd-2)))) (license license:expat)))
(define cairo-for-hyprland (define cairo-for-hyprland
(package (package
@ -143,14 +143,14 @@ command line tool called @code{udcli} that incorporates the library.")
(base32 (base32
"1sxgvis0abkymc02nhx2svm60myiq3shvy759sphpxl5rp52g6y5")))))) "1sxgvis0abkymc02nhx2svm60myiq3shvy759sphpxl5rp52g6y5"))))))
(define-public wlroots-for-hyprland (define-public wlroots-hyprland
(let ((base wlroots) (let ((base wlroots)
(revision "255") (revision "255")
(commit "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b")) (commit "50eae512d9cecbf0b3b1898bb1f0b40fa05fe19b"))
(package (package
(inherit base) (inherit base)
(name "wlroots") (name "wlroots")
(version (git-version "0.18.0" revision commit)) (version (git-version "0.19.0" revision commit))
(source (origin (source (origin
(method git-fetch) (method git-fetch)
(uri (git-reference (uri (git-reference
@ -184,15 +184,6 @@ command line tool called @code{udcli} that incorporates the library.")
(base32 (base32
"0yijzgg6rdsa68bz03sw0lcfa2nclv9m3as1cja50wkcyxim7x9v")))))) "0yijzgg6rdsa68bz03sw0lcfa2nclv9m3as1cja50wkcyxim7x9v"))))))
(define hyprland-unbundle-wlroots-patch
(origin
(method url-fetch)
(uri (string-append "https://github.com/hyprwm/Hyprland" "/raw/"
"c5e28ebcfe00a510922779b2c568cfa52a317445"
"/nix/patches/meson-build.patch"))
(sha256
(base32 "00i7c98ignfgkk3x1r1masmlj92xzb8cdb7nyfhivbfkdlfyzgpj"))))
(define-public hyprcursor (define-public hyprcursor
(package (package
(inherit rosenthal:hyprcursor) (inherit rosenthal:hyprcursor)
@ -210,83 +201,75 @@ command line tool called @code{udcli} that incorporates the library.")
(modify-inputs (package-inputs rosenthal:hyprcursor) (modify-inputs (package-inputs rosenthal:hyprcursor)
(append tomlplusplus))))) (append tomlplusplus)))))
(define-public hyprlang
(package
(inherit rosenthal:hyprlang)
(name "hyprlang")
(version "0.5.1")
(source (origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/hyprwm/hyprlang")
(commit (string-append "v" version))))
(sha256
(base32
"1vgvbnd6l5iymb66zdcslhs4w20a7i013qmf4jnxx10z1p8rfkg7"))))))
(define-public hyprland (define-public hyprland
(package (package
(name "hyprland") (name "hyprland")
(version "0.38.1") (version "0.39.0")
(source (origin (source (origin
(method url-fetch) (method git-fetch)
(uri (string-append "https://github.com/hyprwm/Hyprland" (uri (git-reference
"/releases/download/v" version (url "https://github.com/hyprwm/hyprland")
"/source-v" version ".tar.gz")) (commit (string-append "v" version))
(modules '((guix build utils))) (recursive? #t)))
(patches (list hyprland-unbundle-wlroots-patch))
(sha256 (sha256
(base32 (base32
"1avkzdcgyk65p44nwl9w8sv4iq5xs13i7i66jsya9z06q1f3d1hs")))) "0v6xadkrl138irq43s7y747krdirqz9fskw74jbizs5nij1qm9qi"))))
(build-system meson-build-system) (build-system cmake-build-system )
(arguments (arguments
(list #:build-type "release" (list #:build-type "release"
#:cmake utils:cmake
#:parallel-build? #t #:parallel-build? #t
#:configure-flags #~(list "-Dxwayland=enabled") #:configure-flags #~(list "-DNO_XWAYLAND=1"
#:phases "-DNO_SYSTEMD=1")
#~(modify-phases %standard-phases #:phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-path (delete 'check))))
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (find-files "src" "\\.cpp$")
(("/usr/local(/bin/Hyprland)" _ path)
(string-append #$output path))
(("/usr") #$output)
(("(execAndGet\\(\")\\<(cat|fc-list|lspci)\\>"
_ pre cmd)
(string-append
pre (search-input-file
inputs (string-append "bin/" cmd))))
(("\\<cc\\>") (search-input-file inputs "bin/gcc"))
;; NOTE: Add binutils to inputs will override ld-wrapper.
(("(execAndGet\\(\\(\")\\<nm\\>" _ pre)
(string-append pre #$binutils "/bin/nm"))
(("\\<(addr2line|objcopy)\\>" _ cmd)
(string-append #$binutils "/bin/" cmd)))))
(add-after 'build 'install-headers
(lambda _
(copy-recursively
"protocols" "../hyprland-source/protocols")
(invoke "mkdir" "../hyprland-source/build")
(copy-file
"meson-private/hyprland.pc" "../hyprland-source/build/hyprland.pc")
(invoke "find" "." "-name" "hyprland.pc")
(with-directory-excursion
"../hyprland-source"
(invoke "sed" "-i" "/wlroots/d" "Makefile")
(invoke "make"
(string-append "PREFIX=" #$output)
"installheaders")))))))
(native-inputs (native-inputs
(list cmake (list cpio
cpio meson
ninja
gcc-13 gcc-13
git
python-wrapper
jq jq
pkg-config pkg-config))
rosenthal:hyprland-protocols))
(propagated-inputs (propagated-inputs
(list (list
eglexternalplatform egl-wayland
egl-wayland)) libglvnd))
(inputs (inputs
(list cairo-for-hyprland (list cairo-for-hyprland
eudev
gcc-13 gcc-13
hwdata-for-hyprland
hyprcursor hyprcursor
hyprlang
libdisplay-info
libdrm-for-hyprland
libinput-minimal-1.24.0
libliftoff
libseat
libxcb libxcb
rosenthal:hyprland-protocols libxkbcommon
rosenthal:hyprlang mesa
pango pango
pciutils pciutils
tomlplusplus tomlplusplus
udis86-for-hyprland wayland
wlroots-for-hyprland wayland-protocols-for-hyprland))
xcb-util-wm
xorg-server-xwayland))
(home-page "https://hyprland.org") (home-page "https://hyprland.org")
(synopsis "Dynamic tiling Wayland compositor based on wlroots") (synopsis "Dynamic tiling Wayland compositor based on wlroots")
(description (description
@ -314,18 +297,18 @@ more.")
#:configure-flags #~(list #:configure-flags #~(list
"-Dcpp_std=none" "-Dcpp_std=none"
(string-append "-Dcpp_args=-std=gnu++2b" (string-append "-Dcpp_args=-std=gnu++2b"
" -I" #$(file-append wlroots-for-hyprland "/include"))) " -I" #$(file-append wlroots-hyprland "/include")))
#:phases #~(modify-phases %standard-phases #:phases #~(modify-phases %standard-phases
(delete 'check)))) (delete 'check))))
(native-inputs (native-inputs
(list cmake (list utils:cmake
gcc-13 gcc-13
pkg-config pkg-config
wlroots-for-hyprland)) wlroots-hyprland))
(inputs (inputs
(list cairo-for-hyprland (list cairo-for-hyprland
hyprland hyprland
rosenthal:hyprlang hyprlang
libdrm-for-hyprland libdrm-for-hyprland
libinput libinput
pixman)) pixman))
@ -372,12 +355,12 @@ more.")
mesa mesa
rosenthal:hyprland-protocols rosenthal:hyprland-protocols
wayland-protocols-for-hyprland wayland-protocols-for-hyprland
wlroots-for-hyprland wlroots-hyprland
file file
libglvnd libglvnd
libjpeg-turbo libjpeg-turbo
libwebp libwebp
rosenthal:hyprlang hyprlang
pango pango
wayland)) wayland))
(home-page "https://github.com/hyprwm/hyprpaper") (home-page "https://github.com/hyprwm/hyprpaper")
@ -406,7 +389,7 @@ more.")
(list gcc-13 (list gcc-13
pkg-config)) pkg-config))
(inputs (inputs
(list rosenthal:hyprlang (list hyprlang
sdbus-c++ sdbus-c++
wayland-protocols-for-hyprland wayland-protocols-for-hyprland
wayland)) wayland))
@ -455,7 +438,7 @@ more.")
libglvnd libglvnd
libxkbcommon libxkbcommon
wayland-protocols-for-hyprland wayland-protocols-for-hyprland
rosenthal:hyprlang)) hyprlang))
(home-page "https://github.com/hyprwm/hyprlock") (home-page "https://github.com/hyprwm/hyprlock")
(synopsis "Hyprland's GPU-accelerated screen locking utility") (synopsis "Hyprland's GPU-accelerated screen locking utility")
(description "Hyprland's simple, yet multi-threaded and GPU-accelerated screen locking utility.") (description "Hyprland's simple, yet multi-threaded and GPU-accelerated screen locking utility.")
@ -495,7 +478,7 @@ more.")
grim grim
hyprland hyprland
rosenthal:hyprland-protocols rosenthal:hyprland-protocols
rosenthal:hyprlang hyprlang
mesa mesa
pipewire pipewire
qtwayland qtwayland

View file

@ -1,14 +1,24 @@
(define-module (define-module
(zilti packages utilities) (zilti packages utilities)
#:use-module #:use-module
(srfi srfi-1)
#:use-module
(guix download) (guix download)
#:use-module #:use-module
(guix git-download)
#:use-module
(guix gexp) (guix gexp)
#:use-module #:use-module
(guix search-paths)
#:use-module
(guix packages) (guix packages)
#:use-module #:use-module
(guix utils) (guix utils)
#:use-module #:use-module
(guix build-system cmake)
#:use-module
(guix build-system gnu)
#:use-module
(guix build-system trivial) (guix build-system trivial)
#:use-module #:use-module
(guix build-system glib-or-gtk) (guix build-system glib-or-gtk)
@ -24,10 +34,18 @@
#:use-module #:use-module
(gnu packages bison) (gnu packages bison)
#:use-module #:use-module
(gnu packages cmake)
#:use-module
(gnu packages compression) (gnu packages compression)
#:use-module #:use-module
(gnu packages cpp)
#:use-module
(gnu packages crypto)
#:use-module
(gnu packages curl) (gnu packages curl)
#:use-module #:use-module
(gnu packages file)
#:use-module
(gnu packages freedesktop) (gnu packages freedesktop)
#:use-module #:use-module
(gnu packages gettext) (gnu packages gettext)
@ -40,8 +58,12 @@
#:use-module #:use-module
(gnu packages gtk) (gnu packages gtk)
#:use-module #:use-module
(gnu packages libevent)
#:use-module
(gnu packages linux) (gnu packages linux)
#:use-module #:use-module
(gnu packages ncurses)
#:use-module
(gnu packages networking) (gnu packages networking)
#:use-module #:use-module
(gnu packages package-management) (gnu packages package-management)
@ -54,6 +76,12 @@
#:use-module #:use-module
(gnu packages python-build) (gnu packages python-build)
#:use-module #:use-module
(gnu packages serialization)
#:use-module
(gnu packages sphinx)
#:use-module
(gnu packages texinfo)
#:use-module
(gnu packages tls) (gnu packages tls)
#:use-module #:use-module
(gnu packages virtualization) (gnu packages virtualization)
@ -65,59 +93,57 @@
(define-public process-compose (define-public process-compose
(package (package
(name "process-compose") (name "process-compose")
(version "0.88.0") (version "0.88.0")
(source (source
(origin (origin
(method url-fetch/tarbomb) (method url-fetch/tarbomb)
(uri (uri
(string-append "https://github.com/F1bonacc1/process-compose/releases/download/v" version "/process-compose_linux_amd64.tar.gz")) (string-append "https://github.com/F1bonacc1/process-compose/releases/download/v" version "/process-compose_linux_amd64.tar.gz"))
(sha256 (sha256
(base32 (base32
"1fd6pb4gcja48xkxwb16vax884m9c6hddcnxgsvm4c8khfd082v0")))) "1fd6pb4gcja48xkxwb16vax884m9c6hddcnxgsvm4c8khfd082v0"))))
(build-system trivial-build-system) (build-system trivial-build-system)
(arguments (arguments
(list (list
#:modules #:modules
'((guix build utils)) '((guix build utils))
#:builder #~(let* #:builder #~(let*
((source ((source
(assoc-ref %build-inputs "source")) (assoc-ref %build-inputs "source"))
(output (output
(assoc-ref %outputs "out")) (assoc-ref %outputs "out"))
(out-bin (out-bin
(string-append output "/bin"))) (string-append output "/bin")))
(use-modules (use-modules
(guix build utils)) (guix build utils))
(install-file (install-file
(string-append source "/process-compose") (string-append source "/process-compose")
out-bin)))) out-bin))))
(home-page "https://f1bonacc1.github.io/process-compose") (home-page "https://f1bonacc1.github.io/process-compose")
(synopsis "Scheduler and orchestrator for processes") (synopsis "Scheduler and orchestrator for processes")
(description "Process Compose is a simple and flexible scheduler and orchestrator (description "Process Compose is a simple and flexible scheduler and orchestrator
to manage non-containerized applications.") to manage non-containerized applications.")
(license license:expat))) (license license:expat)))
(define-public flatpak (define-public flatpak
(package (package
(name "flatpak") (name "flatpak")
(version "1.14.5") (version "1.14.5")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
(uri (uri
(string-append "https://github.com/flatpak/flatpak/releases/download/" (string-append "https://github.com/flatpak/flatpak/releases/download/"
version "/flatpak-" version ".tar.xz")) version "/flatpak-" version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1b7z4wzh2zgphcal95vj4x7wbr9s89p2a4c0l0g4w4xcwx6ccw2v")) "1b7z4wzh2zgphcal95vj4x7wbr9s89p2a4c0l0g4w4xcwx6ccw2v"))
(patches (patches
(search-patches "flatpak-fix-path.patch")))) (search-patches "flatpak-fix-path.patch"))))
;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to
;; find the TLS backend in glib-networking. ;; find the TLS backend in glib-networking.
(build-system glib-or-gtk-build-system) (build-system glib-or-gtk-build-system)
(arguments (arguments
(list (list
#:configure-flags #:configure-flags
@ -136,23 +162,31 @@ to manage non-containerized applications.")
#:phases #:phases
#~(modify-phases %standard-phases #~(modify-phases %standard-phases
(add-after 'unpack 'fix-tests (add-after 'unpack 'fix-tests
(lambda* (#:key inputs #:allow-other-keys) (lambda*
(#:key inputs #:allow-other-keys)
(copy-recursively (copy-recursively
(search-input-directory inputs "lib/locale") (search-input-directory inputs "lib/locale")
"/tmp/locale") "/tmp/locale")
(for-each make-file-writable (find-files "/tmp")) (for-each make-file-writable
(find-files "/tmp"))
(substitute* "tests/make-test-runtime.sh" (substitute* "tests/make-test-runtime.sh"
(("cp `which.*") "echo guix\n") (("cp `which.*")
"echo guix\n")
(("cp -r /usr/lib/locale/C\\.\\*") (("cp -r /usr/lib/locale/C\\.\\*")
(string-append "mkdir ${DIR}/usr/lib/locale/en_US; \ (string-append "mkdir ${DIR}/usr/lib/locale/en_US; \
cp -r /tmp/locale/*/en_US.*"))) cp -r /tmp/locale/*/en_US.*")))
(substitute* "tests/libtest.sh" (substitute* "tests/libtest.sh"
(("/bin/kill") (which "kill")) (("/bin/kill")
(("/usr/bin/python3") (which "python3"))) (which "kill"))
(("/usr/bin/python3")
(which "python3")))
#t)) #t))
(add-after 'unpack 'p11-kit-fix (add-after 'unpack 'p11-kit-fix
(lambda* (#:key inputs #:allow-other-keys) (lambda*
(let ((p11-path (search-input-file inputs "/bin/p11-kit"))) (#:key inputs #:allow-other-keys)
(let
((p11-path
(search-input-file inputs "/bin/p11-kit")))
(substitute* "session-helper/flatpak-session-helper.c" (substitute* "session-helper/flatpak-session-helper.c"
(("\"p11-kit\",") (("\"p11-kit\",")
(string-append "\"" p11-path "\",")) (string-append "\"" p11-path "\","))
@ -162,7 +196,8 @@ cp -r /tmp/locale/*/en_US.*")))
;; Many tests fail for unknown reasons, so we just run a few basic ;; Many tests fail for unknown reasons, so we just run a few basic
;; tests. ;; tests.
(replace 'check (replace 'check
(lambda* (#:key tests? #:allow-other-keys) (lambda*
(#:key tests? #:allow-other-keys)
(when tests? (when tests?
(setenv "HOME" "/tmp") (setenv "HOME" "/tmp")
(invoke "make" "check" (invoke "make" "check"
@ -170,9 +205,10 @@ cp -r /tmp/locale/*/en_US.*")))
testcommon"))))))) testcommon")))))))
(native-inputs (native-inputs
(list bison (list bison
dbus ; for dbus-daemon dbus ; for dbus-daemon
gettext-minimal gettext-minimal
`(,glib "bin") ; for glib-mkenums + gdbus-codegen `(,glib "bin")
; for glib-mkenums + gdbus-codegen
(libc-utf8-locales-for-target) (libc-utf8-locales-for-target)
gobject-introspection gobject-introspection
libcap libcap
@ -203,10 +239,158 @@ cp -r /tmp/locale/*/en_US.*")))
util-linux util-linux
xdg-dbus-proxy xdg-dbus-proxy
zstd)) zstd))
(propagated-inputs (list glib-networking gnupg gsettings-desktop-schemas)) (propagated-inputs
(list glib-networking gnupg gsettings-desktop-schemas))
(home-page "https://flatpak.org") (home-page "https://flatpak.org")
(synopsis "System for building, distributing, and running sandboxed desktop (synopsis "System for building, distributing, and running sandboxed desktop
applications") applications")
(description "Flatpak is a system for building, distributing, and running (description "Flatpak is a system for building, distributing, and running
sandboxed desktop applications on GNU/Linux.") sandboxed desktop applications on GNU/Linux.")
(license license:lgpl2.1+))) (license license:lgpl2.1+)))
;;;; CMake
;; Build phases shared between 'cmake-bootstrap' and the later variants
;; that use cmake-build-system.
#;
(define
(%common-build-phases)
`((add-after 'unpack 'split-package
;; Remove files that have been packaged in other package recipes.
(lambda _
(delete-file "Auxiliary/cmake-mode.el")
(substitute* "Auxiliary/CMakeLists.txt"
((".*cmake-mode.el.*")
""))))
,@(if
(target-x86-32?)
'((add-after 'unpack 'skip-cpack-txz-test
(lambda _
;; In 'RunCMake.CPack_TXZ', the 'TXZ/THREADED_ALL' test
;; would occasionally fail on i686 with "Internal error
;; initializing compression library: Cannot allocate
;; memory": <https://issues.guix.gnu.org/50617>. Skip it.
(substitute* "Tests/RunCMake/CPack/RunCMakeTest.cmake"
(("THREADED_ALL \"TXZ;DEB\"")
"THREADED_ALL \"DEB\"")))))
'())
(add-before 'configure 'patch-bin-sh
(lambda _
;; Replace "/bin/sh" by the right path in... a lot of
;; files.
(substitute*
'("Modules/CompilerId/Xcode-3.pbxproj.in"
"Modules/Internal/CPack/CPack.RuntimeScript.in"
"Source/cmGlobalXCodeGenerator.cxx"
"Source/cmLocalUnixMakefileGenerator3.cxx"
"Source/cmExecProgramCommand.cxx"
"Tests/CMakeLists.txt"
"Tests/RunCMake/File_Generate/RunCMakeTest.cmake")
(("/bin/sh")
(which "sh")))))))
;;; The "user-facing" CMake, now with manuals and HTML documentation.
(define-public cmake
(package
(inherit cmake-minimal)
(version "3.29.2")
(name "cmake")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://gitlab.kitware.com/cmake/cmake")
(commit (string-append "v" version))
(recursive? #t)))
(sha256
(base32
"0yjk4kqrln8smz457dxansfl69zyikr5015xm23xa4g7x1rihkgg"))))
(outputs
'("out" "doc"))
(arguments
(substitute-keyword-arguments
(package-arguments cmake-minimal)
;; Use cmake-minimal this time.
((#:cmake _ #f)
(if
(%current-target-system)
cmake-minimal-cross
cmake-minimal))
;; Enable debugging information for convenience.
((#:build-type _ #f)
"RelWithDebInfo")
((#:configure-flags flags
''())
#~(append
(list "-DSPHINX_INFO=ON" "-DSPHINX_MAN=ON" "-DSPHINX_HTML=ON"
(string-append "-DCMAKE_DOC_DIR=share/doc/cmake-"
#$(version-major+minor
(package-version
cmake-minimal)))
(string-append "-DCMake_INSTALL_VIMFILES_DIR=" #$output
"/share/vim/vimfiles/pack/guix/start/cmake")
"-DCMAKE_INFO_DIR=share/info"
"-DCMAKE_MAN_DIR=share/man")
#$flags))
((#:phases phases)
#~(modify-phases #$phases
(delete 'delete-help-documentation)
(add-after 'install 'move-html-doc
(lambda _
(let
((html
(string-append "/share/doc/cmake-"
#$(version-major+minor
(package-version cmake-minimal))
"/html")))
(copy-recursively
(string-append #$output html)
(string-append #$output:doc html))
(delete-file-recursively
(string-append #$output html)))))))))
(inputs
(modify-inputs
(package-inputs cmake-minimal)
(prepend ncurses)
(prepend cppdap)))
;required for ccmake
;; Extra inputs required to build the documentation.
(native-inputs
(modify-inputs
(package-native-inputs cmake-minimal)
(append python-sphinx
texinfo)))
(properties
(alist-delete 'hidden?
(package-properties cmake-minimal)))))
(define-public cppdap ;; SENT to Guix
(package
(name "cppdap")
(version "1.58.0-a")
(source
(origin
(method git-fetch)
(uri
(git-reference
(url "https://github.com/google/cppdap")
(commit (string-append "dap-" version))))
(sha256
(base32
"0fq2w35fw1lb5wya1nny45pk3a13b689k48calk1cmqmqpbcjn2b"))))
(build-system cmake-build-system)
(arguments
(list
#:configure-flags #~(list "-DCPPDAP_USE_EXTERNAL_NLOHMANN_JSON_PACKAGE=ON")
#:phases #~(modify-phases %standard-phases
(delete 'check))))
(propagated-inputs
(list nlohmann-json))
(home-page "https://github.com/google/cppdap")
(synopsis "C++ library for the Debug Adapter Protocol")
(description
"cppdap is a C++11 library (\"SDK\") implementation of the Debug Adapter Protocol,
providing an API for implementing a DAP client or server.
cppdap provides C++ type-safe structures for the full DAP specification, and provides
a simple way to add custom protocol messages.")
(license license:expat)))

57
zilti/packages/zig.scm Normal file
View file

@ -0,0 +1,57 @@
(define-module
(zilti packages zig)
#:use-module
(guix packages)
#:use-module
(guix utils)
#:use-module
(guix download)
#:use-module
(guix gexp)
#:use-module
(guix git-download)
#:use-module
(guix build-system zig)
#:use-module
((guix licenses) #:prefix license:)
#:use-module
(gnu packages)
#:use-module
(gnu packages compression)
#:use-module
(gnu packages llvm)
#:use-module
(gnu packages llvm-meta)
#:use-module
(gnu packages zig)
)
(define-public zig-0.11
(package
(inherit zig-0.10)
(name "zig")
(version "0.11.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/ziglang/zig.git")
(commit version)))
(file-name (git-file-name name version))
(sha256
(base32 "0qh7c27cd4wcdjj0mbpkarvwypfk1js8hkyxs0z149qv75zkbrca"))))
(arguments
(substitute-keyword-arguments (package-arguments zig-0.10)
((#:parallel-build? _ #f) #t)))
(inputs
(modify-inputs (package-inputs zig-0.10)
(replace "clang" clang-16)
(replace "lld" lld-16)))
(propagated-inputs
(list clang-16))
(native-inputs
(modify-inputs (package-native-inputs zig-0.10)
(prepend clang-toolchain-16)
(replace "llvm" llvm-16)))
(properties `((max-silent-time . 9600)
,@(clang-compiler-cpu-architectures "16")))))