diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/axoloti.scm | 12 | ||||
-rw-r--r-- | gnu/packages/emacs-xyz.scm | 25 | ||||
-rw-r--r-- | gnu/packages/fltk.scm | 4 | ||||
-rw-r--r-- | gnu/packages/geo.scm | 37 | ||||
-rw-r--r-- | gnu/packages/gnuzilla.scm | 12 | ||||
-rw-r--r-- | gnu/packages/hardware.scm | 64 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 34 | ||||
-rw-r--r-- | gnu/packages/lua.scm | 219 | ||||
-rw-r--r-- | gnu/packages/markup.scm | 117 | ||||
-rw-r--r-- | gnu/packages/messaging.scm | 67 | ||||
-rw-r--r-- | gnu/packages/music.scm | 59 | ||||
-rw-r--r-- | gnu/packages/perl.scm | 20 | ||||
-rw-r--r-- | gnu/packages/scheme.scm | 62 | ||||
-rw-r--r-- | gnu/packages/version-control.scm | 61 | ||||
-rw-r--r-- | gnu/packages/wm.scm | 36 |
15 files changed, 681 insertions, 148 deletions
diff --git a/gnu/packages/axoloti.scm b/gnu/packages/axoloti.scm index 72802bcf15..ebd2e37d5c 100644 --- a/gnu/packages/axoloti.scm +++ b/gnu/packages/axoloti.scm @@ -618,7 +618,7 @@ powerful microcontroller board: Axoloti Core.") (define-public ksoloti-runtime (package (name "ksoloti-runtime") - (version "1.0.12-7") + (version "1.0.12-8") (source (origin (method git-fetch) @@ -627,7 +627,7 @@ powerful microcontroller board: Axoloti Core.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "046jddrzlx1pdn53z0l8wf3rz7jsx7qn6l08ccw104gk996gr3gn")) + (base32 "00ghkz3fhmmza24qrmhhz8n90n5q465fk9bld3hrfijf8sf4532i")) (modules '((guix build utils))) ;; Remove pre-built Java binaries. (snippet @@ -685,12 +685,6 @@ powerful microcontroller board: Axoloti Core.") (string-append "TRGT = " (assoc-ref inputs "cross-toolchain") "/bin/arm-none-eabi-\n"))) - ;; XXX: Add missing entry for -size tool. This should be - ;; upstreamed. - (substitute* '("firmware_axoloti_legacy/flasher/Makefile" - "firmware_axoloti_legacy/mounter/Makefile") - (("^OD.*= \\$\\(TRGT\\)objdump" m) - (string-append m "\nSZ = $(TRGT)size"))) ;; Hardcode path to "make" (substitute* '("firmware/compile_firmware_linux.sh" @@ -759,7 +753,7 @@ powerful microcontroller board: Axoloti Core.") ;; for compiling firmware ("cross-toolchain" ,(make-arm-none-eabi-nano-toolchain-4.9)) ;; for uploading compiled patches and firmware - ("dfu-util" ,dfu-util-for-axoloti))) + ("dfu-util" ,dfu-util))) (native-inputs (list unzip)) (home-page "https://ksoloti.github.io/") (synopsis "Audio development environment for the Ksoloti board") diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index bf2b622f92..5da3f28545 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -5445,6 +5445,27 @@ a single buffer.") Lisp developers who want to write macros with convenience.") (license license:gpl3+))) +(define-public emacs-noman + (package + (name "emacs-noman") + (version "0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/andykuszyk/noman.el") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "04hvh816a0dvakgn22lxzw8qjmvc8grb5nhg1b5w99j5606ljqcl")))) + (build-system emacs-build-system) + (synopsis "Emacs package for browsing CLI command docs without man pages") + (description + "Noman is an Emacs package that parses command line help from flags like +@code{--help}, and presents it in an easy-to-navigate Emacs buffer.") + (home-page "https://github.com/andykuszyk/noman.el") + (license license:gpl3+))) + (define-public emacs-tablist (package (name "emacs-tablist") @@ -17415,7 +17436,7 @@ encryption.") (define-public emacs-nginx-mode (package (name "emacs-nginx-mode") - (version "1.1.9") + (version "1.1.10") (source (origin (method git-fetch) @@ -17424,7 +17445,7 @@ encryption.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "17dh5pr3gh6adrbqx588gimxbb2fr7iv2qrxv6r48w2727l344xs")))) + (base32 "1zal05l3lnb41pvfxwkzrcf39g7amqbaaffxn3wz7qa45gvvc6fw")))) (build-system emacs-build-system) (home-page "https://github.com/ajc/nginx-mode") (synopsis "Emacs major mode for editing nginx config files") diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index 4518a1e30a..05d418022f 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -43,7 +43,7 @@ (define-public fltk (package (name "fltk") - (version "1.3.8") + (version "1.3.9") (source (origin (method url-fetch) @@ -51,7 +51,7 @@ (first (string-split version #\-)) "/fltk-" version "-source.tar.gz")) (sha256 - (base32 "1gyisjwjbdsax4kbdm3hpijp2f0qgh1wk7wgad87l3pb0wmi1hgk")))) + (base32 "06siv517l1wfvcc1dg0h1dka5yzkh9gbmm835i1hgmjhbi2b0dnp")))) (build-system gnu-build-system) (native-inputs (list pkg-config)) diff --git a/gnu/packages/geo.scm b/gnu/packages/geo.scm index c30f28d96f..985fa77231 100644 --- a/gnu/packages/geo.scm +++ b/gnu/packages/geo.scm @@ -105,6 +105,7 @@ #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages lua) + #:use-module (gnu packages machine-learning) #:use-module (gnu packages maths) #:use-module (gnu packages multiprecision) #:use-module (gnu packages pcre) @@ -1388,6 +1389,42 @@ utilities for data translation and processing.") "The Python Shapefile Library (PyShp) reads and writes ESRI Shapefiles.") (license license:expat))) +(define-public python-verde + (package + (name "python-verde") + (version "1.8.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "verde" version)) + (sha256 + (base32 "1hnh91dsk2dxfbk7p2hv3hajaa396139pd6apabgdrp5b7s54k97")))) + (build-system pyproject-build-system) + (arguments + ;; Tests below fetch data remotely. + (list #:test-flags #~(list "-k" (string-append + "not test_minimal_integration_2d_gps" + " and not test_datasets_locate" + " and not test_fetch_texas_wind" + " and not test_fetch_baja_bathymetry" + " and not test_fetch_rio_magnetic" + " and not test_fetch_california_gps")))) + (native-inputs (list python-cartopy python-distributed)) + (propagated-inputs (list python-dask + python-numpy + python-pandas + python-pooch + python-scikit-learn + python-scipy + python-xarray)) + (home-page "https://github.com/fatiando/verde") + (synopsis "Processing and gridding spatial data, machine-learning style") + (description + "Verde is a Python library for processing spatial data (topography, point +clouds, bathymetry, geophysics surveys, etc) and interpolating them on a 2D +surface (i.e., gridding) with a hint of machine learning.") + (license license:bsd-3))) + (define-public python-cartopy (package (name "python-cartopy") diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 4a9bf3ba04..1ffec770fa 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -523,9 +523,9 @@ variable defined below. It requires guile-json to be installed." ;; XXXX: Workaround 'snippet' limitations. (define computed-origin-method (@@ (guix packages) computed-origin-method)) -(define %icecat-base-version "115.9.1") +(define %icecat-base-version "115.10.0") (define %icecat-version (string-append %icecat-base-version "-guix0-preview1")) -(define %icecat-build-id "20240323000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-build-id "20240416000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -545,12 +545,12 @@ variable defined below. It requires guile-json to be installed." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "0agr8s42lpbq5gixsgj5kpcvimbnyx6msr4il4rvmf7gpw47hr93")))) + "1wpf4vcrvnvhnfzqavbkzqbn51bds1l9f6ld4mzh9xwm7mrkrz8a")))) ;; The upstream-icecat-base-version may be older than the ;; %icecat-base-version. - (upstream-icecat-base-version "115.9.1") - (gnuzilla-commit "a59b8a2c2e4c8b8de47b3ae4d10032154a47a01e") + (upstream-icecat-base-version "115.10.0") + (gnuzilla-commit "40e114e5e8fd0b4d3621d6c8aebf0c78100578f2") (gnuzilla-source (origin (method git-fetch) @@ -562,7 +562,7 @@ variable defined below. It requires guile-json to be installed." (string-take gnuzilla-commit 8))) (sha256 (base32 - "0l07x59c0bmj72n0pdhb4mlphw9nmd88i9jg39xvxcw0cv7bw6qm")))) + "1x6miiafhv9ncddm7xxjz88amq9bpv6sqnw5k0yz6fy1ghw9ckw0")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm index 72b6decd81..42722a79d0 100644 --- a/gnu/packages/hardware.scm +++ b/gnu/packages/hardware.scm @@ -17,6 +17,7 @@ ;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2023 Spencer Skylar Chan <schan12@umd.edu> ;;; Copyright © 2023 Foundation Devices, Inc. <hello@foundationdevices.com> +;;; Copyright © 2024 Giacomo Leidi <goodoldpaul@autistici.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -60,6 +61,7 @@ #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages gnome) + #:use-module (gnu packages golang) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages haskell-xyz) @@ -141,6 +143,68 @@ drivers, including an assembler and a disassembler for several GPU instruction sets, and tools to deal with register databases.") (license license:expat)))) +(define-public brillo + (package + (name "brillo") + (version "1.4.12") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/cameronnemo/brillo") + (commit (string-append "v" version)))) + (sha256 + (base32 + "16n4j45mfhd1zxwbpl8342vyqf8rj3plhcl90xp02m46hn58v8bl")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (arguments + (list + #:make-flags #~(list (string-append "CC=" + #$(cc-for-target)) + (string-append "AADIR=" #$output "/etc/apparmor.d") + (string-append "PREFIX=" #$output)) + #:phases + #~(modify-phases %standard-phases + (add-after 'unpack 'patch-udev-rules + (lambda _ + (substitute* "contrib/udev.in" + (("/bin/chgrp") + (string-append #$coreutils + "/bin/chgrp")) + (("/bin/chmod") + (string-append #$coreutils + "/bin/chmod"))))) + (delete 'configure) + ;; Tests must be run on real hardware. + (delete 'check) + (add-after 'install 'install-udev-polkit + (lambda* (#:key make-flags #:allow-other-keys) + (map (lambda (target) + (apply invoke "make" target make-flags)) + '("install.udev" "install.polkit"))))))) + (native-inputs (list go-github-com-go-md2man)) + (supported-systems + (lset-difference string=? %supported-systems %hurd-systems)) + (home-page "https://gitlab.com/cameronnemo/brillo") + (synopsis "Controls the brightness of backlight and LED devices on Linux") + (description + "Brillo is a command line tool to control the brightness of backlight and +LED devices on Linux. + +Notable features include: + +@itemize + +@item Automatic best controller detection +@item Smooth transitions and natural brightness adjustments +@item Ability to save and restore brightness across boots +@item Directly using sysfs to set brightness without relying on X +@item Unprivileged access with no new setuid binaries +@item Containment with AppArmor + +@end itemize") + (license (list license:bsd-0 license:gpl3+)))) + (define-public hw-probe (package (name "hw-probe") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 7a34baba88..9c819838bd 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -502,17 +502,17 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "mainline" kernel. -(define-public linux-libre-6.8-version "6.8.5") +(define-public linux-libre-6.8-version "6.8.6") (define-public linux-libre-6.8-gnu-revision "gnu") (define deblob-scripts-6.8 (linux-libre-deblob-scripts linux-libre-6.8-version linux-libre-6.8-gnu-revision (base32 "1kqwcm8baq3zx1z8jrgnvm9yps3y9jbf4pv1pbqqprpdscgl9089") - (base32 "0j9pj370zismhzw18iyx3lwcby3l3160xgpmh5xa8i8cr38r2z5h"))) + (base32 "1x7lmy8lff4g4hm67c97797ws594xv5c6l2v5mahj4xh4pb3b8d6"))) (define-public linux-libre-6.8-pristine-source (let ((version linux-libre-6.8-version) - (hash (base32 "12gsxxiwkildj8i94fkm2v69zb6z6s7hnnlvpsyv8j1pszjj728k"))) + (hash (base32 "158rb8x4qaig8ywbr6n2jnqpl9wgqha4ghs3y3mlbaq3sqr34wly"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.8))) @@ -541,37 +541,37 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-6.6-version "6.6.26") +(define-public linux-libre-6.6-version "6.6.27") (define-public linux-libre-6.6-gnu-revision "gnu") (define deblob-scripts-6.6 (linux-libre-deblob-scripts linux-libre-6.6-version linux-libre-6.6-gnu-revision (base32 "1qm8f3fq4yx59f7b6yky5ryyf229ypxnry922sr8cy0s7mp62cmv") - (base32 "17hq5pirvxaq1yscb204950xlakrd4r4mknjqayh1rzj4rzngzyq"))) + (base32 "0s8ys7nz4p50c766f3z9h68vxnrsrgps1i5zskk3cjwik3q60an8"))) (define-public linux-libre-6.6-pristine-source (let ((version linux-libre-6.6-version) - (hash (base32 "1nan0h95dkqpb55jr5mxfi8yks09fd518im3vblbi4zvyi4v8m5g"))) + (hash (base32 "14c229mcrd2rd2vjp0c3apzqifn6mkz0rcbw07nj73rw1q3517k3"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.6))) -(define-public linux-libre-6.1-version "6.1.85") +(define-public linux-libre-6.1-version "6.1.86") (define-public linux-libre-6.1-gnu-revision "gnu") (define deblob-scripts-6.1 (linux-libre-deblob-scripts linux-libre-6.1-version linux-libre-6.1-gnu-revision (base32 "1sf80f2i4vf888xjcn84ymn4w5ynn30ib9033zwmv7f09yvfhapy") - (base32 "1kp8zl97x1hsmvmdwaq8s8gndfmf8chvlhsw216f86ishi2prws3"))) + (base32 "0104m61mqhlmsjjprj51njwbffjcqgjln5bf1wknb6y3iiazl6ng"))) (define-public linux-libre-6.1-pristine-source (let ((version linux-libre-6.1-version) - (hash (base32 "0x32p1c04q5d0yd4qncrmc064m3g1x7cvfia5cd04q3wb769pzik"))) + (hash (base32 "0nqiwcaln36drkcaav96dymd2y8rv7wj6a5xjl58f2hg9z2cilyk"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-6.1))) -(define-public linux-libre-5.15-version "5.15.154") +(define-public linux-libre-5.15-version "5.15.155") (define-public linux-libre-5.15-gnu-revision "gnu") (define deblob-scripts-5.15 (linux-libre-deblob-scripts @@ -581,12 +581,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "121shkzgixmywa19xx5f2yxg1primarpg4bxin3jyw0214xbfh2n"))) (define-public linux-libre-5.15-pristine-source (let ((version linux-libre-5.15-version) - (hash (base32 "16067mhf173kgs4mvlzix9qscwq5wy8817dyfyjx5g7jkykmxy0p"))) + (hash (base32 "1r16j5asd8v5hr5b0sb8z2wmp6say928pgm13k4iyv9fdnw5jn68"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.15))) -(define-public linux-libre-5.10-version "5.10.214") +(define-public linux-libre-5.10-version "5.10.215") (define-public linux-libre-5.10-gnu-revision "gnu1") (define deblob-scripts-5.10 (linux-libre-deblob-scripts @@ -596,12 +596,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "12csh2zyjrqzgqcv799gv8h4xaw1irxh2zqddn4jqp5p7psx4j5k"))) (define-public linux-libre-5.10-pristine-source (let ((version linux-libre-5.10-version) - (hash (base32 "0n7m82hw2rkw5mhdqw0vvmq7kq0s43jalr53sbv09wl17vai9w20"))) + (hash (base32 "1af6h86flx96pszg006agpak2f9dkk2jqaazfykd7aafqdcs3747"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.10))) -(define-public linux-libre-5.4-version "5.4.273") +(define-public linux-libre-5.4-version "5.4.274") (define-public linux-libre-5.4-gnu-revision "gnu1") (define deblob-scripts-5.4 (linux-libre-deblob-scripts @@ -611,12 +611,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0x0xg0fcykpd117x3q0gim8jilhx922ashhckjvafxv2gk2zzjhj"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "0hs7af3mcnk5mmp3c5vjl187nva2kzsdx487nd12a8m7zb9wz84b"))) + (hash (base32 "1m4yyyv48mfkzhqms88dv1jf39zsfp88az5zpqynmm1wlhhv9iza"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.311") +(define-public linux-libre-4.19-version "4.19.312") (define-public linux-libre-4.19-gnu-revision "gnu1") (define deblob-scripts-4.19 (linux-libre-deblob-scripts @@ -626,7 +626,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0fgkp3v7qgqpn7l1987xcwwlrmwsbscqnxfv06p8nkavrhymrv3c"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "10dww3cyazcf3wjzh8igpa0frb8gvl6amnksh42zfkji4mskh2r6"))) + (hash (base32 "0jppa4p73pssd7m3jpc7i6rgnj9gawjcgk4wmqyy87ijzrgzm553"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index c35bbe8bcd..7b17c0756b 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2016, 2017, 2020-2022 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2016, 2019 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2016, 2019, 2024 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2016 doncatnip <gnopap@gmail.com> ;;; Copyright © 2016, 2017, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org> @@ -375,49 +375,55 @@ directory structure and file attributes.") (define (make-lua-ossl name lua) (package (name name) - (version "20170903") + (version "20220711") (source (origin - (method url-fetch) - (uri (string-append "https://25thandclement.com/~william/" - "projects/releases/luaossl-" version ".tgz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/wahern/luaossl") + (commit (string-append "rel-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "10392bvd0lzyibipblgiss09zlqh3a5zgqg1b9lgbybpqb9cv2k3")))) + "1a9pgmc6fbhgh1m9ksz9fq057yzz46npqgakcsy9vngg47xacfdb")))) (build-system gnu-build-system) (arguments - `(#:make-flags - (let ((out (assoc-ref %outputs "out")) - (lua-api-version ,(version-major+minor (package-version lua)))) - (list ,(string-append "CC=" (cc-for-target)) - "CFLAGS='-D HAVE_SYS_SYSCTL_H=0'" ; sys/sysctl.h is deprecated - (string-append "prefix=" out) - (string-append "LUA_APIS=" lua-api-version))) + (list + #:make-flags + #~(let ((lua-api-version #$(version-major+minor (package-version lua)))) + (list (string-append "CC=" #$(cc-for-target)) + "CFLAGS='-D HAVE_SYS_SYSCTL_H=0'" ; sys/sysctl.h is deprecated + (string-append "prefix=" #$output) + (string-append "LUA_APIS=" lua-api-version))) #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'check) - (add-after 'install 'check - (lambda* (#:key outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out")) - (lua-version ,(version-major+minor (package-version lua)))) - (setenv "LUA_CPATH" - (string-append out "/lib/lua/" lua-version "/?.so;;")) - (setenv "LUA_PATH" - (string-append out "/share/lua/" lua-version "/?.lua;;")) - (with-directory-excursion "regress" - (for-each (lambda (f) - (invoke "lua" f)) - (find-files "." "^[0-9].*\\.lua$")))) - #t))))) + #~(modify-phases %standard-phases + (delete 'configure) + (delete 'check) + (add-after 'install 'check + (lambda _ + (let ((lua-version #$(version-major+minor (package-version lua)))) + (setenv "LUA_CPATH" + (string-append #$output "/lib/lua/" lua-version "/?.so;;")) + (setenv "LUA_PATH" + (string-append #$output "/share/lua/" lua-version "/?.lua;;")) + (with-directory-excursion "regress" + (for-each (lambda (f) + (unless (member f (list + ;; This test is for luajit only + "./104-interposition-discarded.lua" + ;; needs cqueues, which needs ossl + "./148-custom-extensions.lua")) + (invoke "lua" f))) + (find-files "." "^[0-9].*\\.lua$"))))))))) (inputs (list lua openssl)) (home-page "https://25thandclement.com/~william/projects/luaossl.html") (synopsis "OpenSSL bindings for Lua") (description "The luaossl extension module for Lua provides comprehensive, -low-level bindings to the OpenSSL library, including support for certificate and -key management, key generation, signature verification, and deep bindings to the -distinguished name, alternative name, and X.509v3 extension interfaces. It also -binds OpenSSL's bignum, message digest, HMAC, cipher, and CSPRNG interfaces.") +low-level bindings to the OpenSSL library, including support for certificate +and key management, key generation, signature verification, and deep bindings +to the distinguished name, alternative name, and X.509v3 extension interfaces. +It also binds OpenSSL's bignum, message digest, HMAC, cipher, and CSPRNG +interfaces.") (license license:expat))) (define-public lua-ossl @@ -479,86 +485,87 @@ secure session between the peers.") (define (make-lua-cqueues name lua lua-ossl) (package (name name) - (version "20171014") + (version "20200726") (source (origin - (method url-fetch) - (uri (string-append "https://25thandclement.com/~william/" - "projects/releases/cqueues-" version ".tgz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/wahern/cqueues") + (commit (string-append "rel-" version)))) + (file-name (git-file-name name version)) (sha256 (base32 - "1dabhpn6r0hlln8vx9hxm34pfcm46qzgpb2apmziwg5z51fi4ksb")))) + "17gwqndlga6gnishgs6wk8cvgwzanddr42yikkg2xd4nanhcg8z9")))) (build-system gnu-build-system) (arguments - `(#:modules ((guix build gnu-build-system) + (list + #:modules '((guix build gnu-build-system) (guix build utils) (ice-9 string-fun)) - #:make-flags - (let ((out (assoc-ref %outputs "out")) - (lua-api-version ,(version-major+minor (package-version lua)))) - (list ,(string-append "CC=" (cc-for-target)) - (string-append "LUA_APIS=" lua-api-version))) - #:phases - (modify-phases %standard-phases - (delete 'configure) - (delete 'check) - (replace 'install - (lambda* (#:key make-flags outputs #:allow-other-keys) - (let ((out (assoc-ref outputs "out"))) - (apply invoke "make" "install" - (append make-flags - (list (string-append "DESTDIR=" out) - "prefix=")))))) - (add-after 'install 'check - (lambda* (#:key inputs outputs make-flags #:allow-other-keys) - (let* - ((lua-version ,(version-major+minor (package-version lua))) - (env-suffix (if (equal? lua-version "5.1") - "" - (string-append - "_" - (string-replace-substring lua-version "." "_")))) - - (lua-ossl (assoc-ref inputs "lua-ossl")) - (out (assoc-ref outputs "out")) - - (lua-cpath (lambda (p) - (string-append p "/lib/lua/" lua-version "/?.so"))) - (lua-path (lambda (p) - (string-append p "/share/lua/" lua-version "/?.lua")))) - ;; The test suite sets Lua-version-specific search-path variables - ;; when available so we must do the same, as these take - ;; precedence over the generic "LUA_CPATH" and "LUA_PATH" - (setenv (string-append "LUA_CPATH" env-suffix) - (string-append - (string-join (map lua-cpath (list out lua-ossl)) ";") - ";;")) - (setenv (string-append "LUA_PATH" env-suffix) - (string-append - (string-join (map lua-path (list out lua-ossl)) ";") - ";;")) - - ;; Skip regression tests we expect to fail - (with-directory-excursion "regress" - (for-each (lambda (f) - (rename-file f (string-append f ".skip"))) - (append - ;; Regression tests that require network - ;; connectivity - '("22-client-dtls.lua" - "30-starttls-completion.lua" - "62-noname.lua" - "153-dns-resolvers.lua") - - ;; Regression tests that require LuaJIT - '("44-resolvers-gc.lua" - "51-join-defunct-thread.lua") - - ;; Regression tests that require Lua 5.3 - (if (not (equal? lua-version "5.3")) - '("152-thread-integer-passing.lua") - '())))) - - (apply invoke "make" "check" make-flags))))))) + #:make-flags + #~(let ((lua-api-version #$(version-major+minor (package-version lua)))) + (list (string-append "CC=" #$(cc-for-target)) + (string-append "LUA_APIS=" lua-api-version))) + #:phases + #~(modify-phases %standard-phases + (delete 'configure) + (delete 'check) + (replace 'install + (lambda* (#:key make-flags #:allow-other-keys) + (apply invoke "make" "install" + (append make-flags + (list (string-append "DESTDIR=" #$output) + "prefix="))))) + (add-after 'install 'check + (lambda* (#:key make-flags #:allow-other-keys) + (let* + ((lua-version #$(version-major+minor (package-version lua))) + (env-suffix (if (equal? lua-version "5.1") + "" + (string-append + "_" + (string-replace-substring lua-version "." "_")))) + + (lua-cpath (lambda (p) + (string-append p "/lib/lua/" lua-version "/?.so"))) + (lua-path (lambda (p) + (string-append p "/share/lua/" lua-version "/?.lua")))) + ;; The test suite sets Lua-version-specific search-path variables + ;; when available so we must do the same, as these take + ;; precedence over the generic "LUA_CPATH" and "LUA_PATH" + (setenv (string-append "LUA_CPATH" env-suffix) + (string-append + (string-join (map lua-cpath (list #$output #$lua-ossl)) ";") + ";;")) + (setenv (string-append "LUA_PATH" env-suffix) + (string-append + (string-join (map lua-path (list #$output #$lua-ossl)) ";") + ";;")) + + ;; Skip regression tests we expect to fail + (with-directory-excursion "regress" + (for-each (lambda (f) + (rename-file f (string-append f ".skip"))) + (append + ;; Regression tests that require network + ;; connectivity + '("22-client-dtls.lua" + "30-starttls-completion.lua" + "62-noname.lua" + "153-dns-resolvers.lua") + + ;; Regression tests that require LuaJIT + '("44-resolvers-gc.lua" + "51-join-defunct-thread.lua" + ;; These both need the ffi module. + "73-starttls-buffering.lua" + "87-alpn-disappears.lua") + + ;; Regression tests that require Lua 5.3 + (if (not (equal? lua-version "5.3")) + '("152-thread-integer-passing.lua") + '())))) + + (apply invoke "make" "check" make-flags))))))) (native-inputs (list m4)) (inputs diff --git a/gnu/packages/markup.scm b/gnu/packages/markup.scm index 6d891ee313..2cc3d0415d 100644 --- a/gnu/packages/markup.scm +++ b/gnu/packages/markup.scm @@ -12,6 +12,7 @@ ;;; Copyright © 2022 jgart <jgart@dismail.de> ;;; Copyright © 2022, 2024 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com> +;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,15 +45,21 @@ #:use-module (guix gexp) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages check) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) #:use-module (gnu packages libffi) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages perl) #:use-module (gnu packages perl-check) + #:use-module (gnu packages perl-compression) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) - #:use-module (gnu packages web)) + #:use-module (gnu packages tex) + #:use-module (gnu packages web) + #:use-module (gnu packages xml)) (define-public hoedown (package @@ -126,6 +133,114 @@ convert it to structurally valid XHTML (or HTML).") (license (license:non-copyleft "file://License.text" "See License.text in the distribution.")))) +(define-public latexml + (package + (name "latexml") + (version "0.8.8") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/brucemiller/LaTeXML") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0lppm66fxadsbn73xh0nfqdi4y6d9j6xph1slvlp6ynrfbnn5p6s")))) + (build-system perl-build-system) + (arguments + (let ((wraplibs + (list "perl-archive-zip" + "perl-common-sense" + "perl-db-file" + "perl-encode-locale" + "perl-file-which" + "perl-getopt-long" + "perl-http-date" + "perl-http-message" + "perl-image-magick" + "perl-image-size" + "perl-io-string" + "perl-json-xs" + "perl-libwww" + "perl-mime-base64" + "perl-parse-recdescent" + "perl-pod-parser" + "perl-text-unidecode" + "perl-time-hires" + "perl-try-tiny" + "perl-types-serialiser" + "perl-uri" + "perl-xml-libxml" + "perl-xml-libxslt" + "perl-xml-sax-base"))) + (list + ;; some tests skip due to missing dependencies + #:phases + #~(modify-phases %standard-phases + (add-after 'install 'find-itself + ;; Fix run-time 'Can't locate [].pm in @INC' failure and remove + ;; need for extensive set of propagated inputs + (lambda* (#:key inputs outputs #:allow-other-keys) + (with-directory-excursion (string-append #$output "/bin") + (for-each + (lambda* (program) + (wrap-program program + `("PERL5LIB" ":" prefix + (,(string-append #$output "/lib/perl5/site_perl") + ,#$@(map (lambda (in) + (file-append + (this-package-input in) "/lib/perl5/site_perl")) + wraplibs))))) + (find-files "." ".*"))))))))) + (inputs + (list bash-minimal + libxml2 + libxslt + perl + perl-archive-zip + perl-common-sense + perl-db-file + perl-encode-locale + perl-file-which + perl-getopt-long + perl-http-date + perl-http-message + perl-image-magick + perl-image-size + perl-io-string + perl-json-xs + perl-libwww + perl-mime-base64 + perl-parse-recdescent + perl-pod-parser + perl-text-unidecode + perl-time-hires + perl-try-tiny + perl-types-serialiser + perl-uri + perl-xml-libxml + perl-xml-libxslt + perl-xml-sax-base)) + (native-inputs + (list texlive-bin + perl-test-more-utf8 + perl-extutils-manifest + perl-data-dumper + perl-ipc-run3 + perl-file-temp)) + (home-page "https://math.nist.gov/~BMiller/LaTeXML/") + (synopsis "LaTeX to XML, HTML, MathML, epub and Jats converter") + (description "This package provides a LaTeX converter, with the following goals: +@itemize +@item Faithful emulation of TEX’s behaviour; +@item Easily extensible; +@item Lossless, preserving both semantic and presentation cues; +@item Use an abstract LATEX-like, extensible, document type; +@item Infer the semantics of mathematical content +@end itemize") + (license license:cc0))) + (define-public lowdown (package (name "lowdown") diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 24a9810c43..20bdb713b5 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2017 Julien Lepiller <julien@lepiller.eu> ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com> ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2021 Ricardo Wurmus <rekado@elephly.net> +;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2021, 2024 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2015, 2018-2021, 2023 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016 Andy Patterson <ajpatter@uwaterloo.ca> @@ -1581,8 +1581,8 @@ protocols.") (license license:x11))) (define (prosody-module module-name) - (let ((changeset "fba64b043c52") - (revision "2") + (let ((changeset "66e7d46b1d4b") + (revision "3") (package-name (string-append "prosody-" (string-replace-substring @@ -1601,7 +1601,7 @@ protocols.") (file-name (string-append name "-" version "-checkout")) (sha256 (base32 - "1nvka8s3zqs97jqsknhp2q956rrdga1qaxa1y3i0h8zx3g9vgdch")))) + "0wyxvbf335jaaz850m2q6jj6ix4hjlhlh28kzk7462qa9fcw5p7s")))) (build-system copy-build-system) (arguments `(#:install-plan '((,(string-append module-name "/") ".")))) @@ -1611,6 +1611,56 @@ protocols.") (description #f) (license (package-license prosody))))) +(define-public prosody-cloud-notify + (package + (inherit (prosody-module "mod_cloud_notify")) + (synopsis "XEP-0357: Push Notifications") + (description "This module implements XEP-0357: Push Notifications. + +Some platforms, notably Apple’s iOS and many versions of Android, impose +limits that prevent applications from running or accessing the network in the +background. This makes it difficult or impossible for an XMPP application to +remain reliably connected to a server to receive messages. + +In order for messaging and other apps to receive notifications, the OS vendors +run proprietary servers that their OS maintains a permanent connection to in +the background. Then they provide APIs to application developers that allow +sending notifications to specific devices via those servers. + +When you connect to your server with a client that requires push +notifications, it will use this module to set up a “push registration”. When +you receive a message but your device is not connected to the server, this +module will generate a notification and send it to the push gateway operated +by your application’s developers). Their gateway will then connect to your +device’s OS vendor and ask them to forward the notification to your device. +When your device receives the notification, it will display it or wake up the +app so it can connect to XMPP and receive any pending messages."))) + +(define-public prosody-cloud-notify-encrypted + (package + (inherit (prosody-module "mod_cloud_notify_encrypted")) + (propagated-inputs (list lua5.2-ossl)) + (synopsis "Custom extension to XEP-0357: Push Notifications") + (description "This module implements support for a Encrypted Push +Notifications, a custom extension to XEP-0357: Push Notifications."))) + +(define-public prosody-cloud-notify-filters + (package + (inherit (prosody-module "mod_cloud_notify_filters")) + (synopsis "Filters for XEP-0357: Push Notifications") + (description "This module implements support for a group of push +notification extensions by the Tigase team that allow a client to specify +filters to be applied to push notifications. It is a custom extension to +XEP-0357: Push Notifications."))) + +(define-public prosody-cloud-notify-priority-tag + (package + (inherit (prosody-module "mod_cloud_notify_priority_tag")) + (synopsis "Tigase priorities for XEP-0357: Push Notifications") + (description "This module implements support for a Tigase XMPP extension, +Priority of notifications. It is a custom extension to XEP-0357: Push +Notifications."))) + (define-public prosody-http-upload (package (inherit (prosody-module "mod_http_upload")) @@ -1618,6 +1668,15 @@ protocols.") (description "This module implements XEP-0363: it allows clients to upload files over HTTP."))) +(define-public prosody-muc-offline-delivery + (package + (inherit (prosody-module "mod_muc_offline_delivery")) + (synopsis "Deliver MUC messages to users who are not in the room") + (description "This module implements support for sending messages in a MUC +to affiliated users who are not in the room. This is a custom extension by +Tigase to allow push notifications from MUCs to users who are not currently +connected."))) + (define-public prosody-smacks (package (inherit (prosody-module "mod_smacks")) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index a4feada47d..ceac94a592 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -191,6 +191,7 @@ #:use-module (gnu packages terminals) #:use-module (gnu packages tex) #:use-module (gnu packages texinfo) + #:use-module (gnu packages textutils) #:use-module (gnu packages time) #:use-module (gnu packages tls) #:use-module (gnu packages version-control) @@ -599,6 +600,64 @@ you create custom user interfaces for your MIDI hardware.") license:gpl3 ;JUCE license:bsd-3))))) +(define-public qmmp + (package + (name "qmmp") + (version "2.1.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://qmmp.ylsoftware.com/files/" + (version-major+minor version) "/" + "qmmp-" version ".tar.bz2")) + (sha256 + (base32 "1jpflf17198ascaqmxla6ajb69bnj8zzngk32vdyyw5443kshylj")))) + (build-system qt-build-system) + (arguments + (list #:qtbase qtbase + #:tests? #f)) ; there are no tests + (inputs + ;; Missing optional inputs: + ;; libsidplay2 ; input plugin + ;; projectm ; visualization plugin + (list alsa-lib + curl + enca + faad2 + ffmpeg + flac + jack-2 + libarchive + libbs2b + libcddb + libcdio-paranoia + libgme + libmad + libshout + libsndfile + libvorbis + libxmp + opusfile + opus + pipewire + pulseaudio + qtmultimedia + qttools + soxr + taglib + wavpack + wildmidi)) + (native-inputs + (list pkg-config)) + (home-page "https://qmmp.ylsoftware.com") + (synopsis "Qt-based music player") + (description "Music player with support for most common audio formats, and +plugins for various additional features such as visualization, effects and +online service integration. In addition to a Qt-based interface it supports +Winamp/XMMS skins.") + (license (list license:gpl2+ ; code + license:cc-by-sa4.0)))) ; src/plugins/Ui/skinned/glare + (define-public strawberry (package (name "strawberry") diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 80b17098c7..57a06f836b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2023 Mădălin Ionel Patrașcu <madalinionel.patrascu@mdc-berlin.de> ;;; Copyright © 2023 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2023 Jake Leporte <jakeleporte@outlook.com> +;;; Copyright © 2023 Nicolas Graves <ngraves@ngraves.fr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -5554,6 +5555,25 @@ Hook::LexWrap implements wrappers in such a way that the standard caller function works correctly within the wrapped subroutine.") (license license:perl-license))) +(define-public perl-image-size + (package + (name "perl-image-size") + (version "3.300") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJRAY/Image-Size-" + version ".tar.gz")) + (sha256 + (base32 "0sq2kwdph55h4adx50fmy86brjkkv8grsw33xrhf1k9icpwb3jak")))) + (build-system perl-build-system) + (native-inputs (list perl-module-build)) + (home-page "https://metacpan.org/release/Image-Size") + (synopsis "Extract height/width from images") + (description "This package provides a simple Perl library to extract +height/width from images.") + (license license:perl-license))) + (define-public perl-importer (package (name "perl-importer") diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 070696d6ba..a91a2d693d 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -24,6 +24,7 @@ ;;; Copyright © 2023 Juliana Sims <juli@incana.org> ;;; Copyright © 2023 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2024 Skylar Hill <stellarskylark@posteo.net> +;;; Copyright © 2024 Artyom V. Poptsov <poptsov.artyom@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -44,7 +45,8 @@ #:use-module (gnu packages) #:use-module ((guix licenses) #:select (gpl2 gpl2+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ asl2.0 - bsd-3 cc-by-sa4.0 non-copyleft expat public-domain)) + bsd-0 bsd-3 cc-by-sa4.0 non-copyleft expat + public-domain)) #:use-module (guix gexp) #:use-module (guix packages) #:use-module (guix download) @@ -855,6 +857,64 @@ can be added and values can be defined in the Scheme environment. Being quite a small program, it is easy to comprehend, get to grips with, and use.") (license bsd-3))) ; there are no licence headers +(define-public tr7 + (package + (name "tr7") + (version "1.0.10") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://gitlab.com/jobol/tr7") + (commit (string-append "v" version)))) + (sha256 + (base32 "0n77fkm5kcv2pmwbw5fl8r00aarw8da8gkd9d1ki5fn9kbl4fyk2")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (outputs '("out" "doc")) + (arguments + (list + #:phases + #~(modify-phases %standard-phases + (replace 'configure + (lambda _ + (substitute* "Makefile" + (("PREFIX = /usr/local") + (string-append "PREFIX=" #$output)) + (("ALL = \\$\\(LIBSTA\\) \\$\\(TR7I\\) tags") + "ALL = $(LIBSTA) $(TR7I)")))) + (replace 'build + (lambda _ + (setenv "CC" #$(cc-for-target)) + (invoke "make"))) + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + (invoke "make" "test")))) + (replace 'install + (lambda _ + (let* ((share (string-append #$output "/share")) + (doc (string-append #$output:doc "/share/doc/")) + (bin (string-append #$output "/bin")) + (lib (string-append #$output "/lib/")) + (tr7 (string-append share "/tr7")) + (libs (string-append tr7 "/libs"))) + (for-each mkdir-p (list tr7 libs bin lib doc)) + (copy-file "tr7i" (string-append bin "/tr7i")) + (copy-file "libtr7.a" (string-append lib "/libtr7.a")) + (copy-file "r7rs.pdf" (string-append doc "/r7rs.pdf")) + (copy-recursively "tr7libs" libs))))))) + (home-page "https://gitlab.com/jobol/tr7") + (synopsis "Embedded R7RS small Scheme interpreter") + (description + "TR7 is a lightweight Scheme interpreter that implements the revision +R7RS small of scheme programming language. + +It is meant to be used as an embedded scripting interpreter for other +programs. A lot of functionality in TR7 is included conditionally, to allow +developers freedom in balancing features and footprint.") + (license bsd-0))) + (define-public stalin (let ((commit "ed1c9e339c352b7a6fee40bb2a47607c3466f0be")) ;; FIXME: The Stalin "source" contains C code generated by itself: diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 19f128d45f..0c7c496c82 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1538,6 +1538,33 @@ shell and OS versions so the script writer can be confident that the script will work.") (license license:lgpl2.1))) +(define-public trac + (package + (name "trac") + (version "1.6") + (source + (origin + (method url-fetch) + (uri (pypi-uri "Trac" version)) + (sha256 + (base32 "013kqa93kd1giswir9qsasm5080x5x5x4ab86ky8zmkhyrhkrmv1")))) + (build-system pyproject-build-system) + (arguments + (list #:test-flags #~(list "-k" + ;; XXX: these two tests fail, check why. + (string-append + "not test_remove_composite_keys" + " and not test_remove_simple_keys")))) + (native-inputs (list python-psycopg2 python-pymysql python-pytest)) + (propagated-inputs (list python-jinja2 python-multipart)) + (home-page "https://trac.edgewall.org") + (synopsis "Integrated SCM, wiki, issue tracker and project environment") + (description "Trac is a minimalistic web-based software project management +and bug/issue tracking system. It provides an interface to the Git and +Subversion revision control systems, an integrated wiki, flexible issue +tracking and convenient report facilities.") + (license license:bsd-3))) + (define-public git-flow (package (name "git-flow") @@ -2812,6 +2839,34 @@ output of the @code{git} command.") modification time.") (license license:bsd-2))) +(define-public fnc + (package + (name "fnc") + (version "0.16") + (source (origin + (method url-fetch) + (uri + (string-append "https://fnc.bsdbox.org/uv/dl/fnc-" + version ".tar.gz")) + (sha256 + (base32 + "1npnbdz5i4p61ri76vx6awggbc0q19y8b26l3sy4wxmaxkly7gwy")))) + (build-system gnu-build-system) + (arguments + (list + #:phases #~(modify-phases %standard-phases + (delete 'configure)) + #:tests? #f ; no tests + #:make-flags #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)))) + (inputs (list ncurses zlib sqlite-next)) + (home-page "https://fnc.bsdbox.org") + (synopsis "Interactive text-based user interface for Fossil") + (description "fnc uses ncurses and libfossil to create a fossil user +interface in the terminal. It can view local changes at the hunk level to +prepare atomic commits.") + (license license:isc))) + (define-public myrepos (package (name "myrepos") @@ -4118,3 +4173,9 @@ comes as a command line app and also an Emacs interface.") (description "Compute various size metrics for a Git repository, flagging those that might cause problems or inconvenience.") (license license:expat))) + +;;; +;;; Avoid adding new packages to the end of this file. To reduce the chances +;;; of a merge conflict, place them above by existing packages with similar +;;; functionality or similar names. +;;; diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 4e76e705e1..b5e9dca524 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -69,6 +69,7 @@ ;;; Copyright © 2024 Timotej Lazar <timotej.lazar@araneo.si> ;;; Copyright © 2024 Ahmad Draidi <a.r.draidi@redscript.org> ;;; Copyright © 2024 chris <chris@bumblehead.com> +;;; Copyright © 2024 Erik Eduardo Alonso Hernández <erik@erikeduardo.xyz> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1384,6 +1385,41 @@ Keybinder works with GTK-based applications using the X Window System.") (define-public keybinder-3.0 (deprecated-package "keybinder-3.0" keybinder)) +(define-public sandbar + (package + (name "sandbar") + (version "0.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kolunmi/sandbar") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0912cr2q2kg4nqdwy978kpmdcj2cjz3gnlcb28ny9z3cprxvyvxq")))) + (build-system gnu-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (delete 'configure)) ;no configure script + #:tests? #f ;no check target + #:make-flags + #~(list (string-append "CC=" #$(cc-for-target)) + (string-append "PREFIX=" #$output)))) + (inputs (list fcft wayland)) + (native-inputs (list pkg-config wayland-protocols)) + (synopsis "DWM-like bar for the River Wayland compositor") + (description "Sandbar is a minimalist DWM-like bar designed for River, +a Wayland compositor. It is triggered through commands sent via standard +input, providing extensive customization options. This behavior allows users +to dynamically adjust status text, visibility, and bar location, making +Sandbar an ideal choice for those seeking a lightweight and hackable bar +solution in their Wayland environment.") + ;; LICENSE LICENSE.dtao + (license (list license:gpl3 license:expat)) + (home-page "https://github.com/kolunmi/sandbar"))) + (define-public spectrwm (package (name "spectrwm") |