mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
Merge branch 'master' into core-updates
This commit is contained in:
commit
50e6c1bf2e
43 changed files with 1274 additions and 742 deletions
|
@ -1,5 +1,6 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019, 2020 Ludovic Courtès <ludo@gnu.org>
|
||||
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -58,7 +59,10 @@ (define %manual
|
|||
"guix"))
|
||||
|
||||
(define %languages
|
||||
'("de" "en" "es" "fr" "ru" "zh_CN"))
|
||||
;; The cookbook is currently only translated into German.
|
||||
(if (string=? %manual "guix-cookbook")
|
||||
'("de" "en")
|
||||
'("de" "en" "es" "fr" "ru" "zh_CN")))
|
||||
|
||||
(define (texinfo-manual-images source)
|
||||
"Return a directory containing all the images used by the user manual, taken
|
||||
|
@ -451,7 +455,9 @@ (define (html? file stat)
|
|||
(lambda (mono)
|
||||
(let ((anchors (collect-anchors mono)))
|
||||
(process-html mono anchors)))
|
||||
(find-files #$input "^guix(\\.[a-zA-Z_-]+)?\\.html$"))
|
||||
(find-files
|
||||
#$input
|
||||
"^guix(-cookbook|)(\\.[a-zA-Z_-]+)?\\.html$"))
|
||||
|
||||
;; Next process the multi-node HTML files in two phases: (1)
|
||||
;; collect the list of anchors, and (2) perform
|
||||
|
|
|
@ -78,6 +78,7 @@ Copyright @copyright{} 2020 Jack Hill@*
|
|||
Copyright @copyright{} 2020 Naga Malleswari@*
|
||||
Copyright @copyright{} 2020 Brice Waegeneire@*
|
||||
Copyright @copyright{} 2020 R Veera Kumar@*
|
||||
Copyright @copyright{} 2020 Pierre Langlois@*
|
||||
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
under the terms of the GNU Free Documentation License, Version 1.3 or
|
||||
|
@ -11274,7 +11275,7 @@ possible to use the GNU@tie{}Hurd.}.
|
|||
A list of objects (usually packages) to collect loadable kernel modules
|
||||
from--e.g. @code{(list ddcci-driver-linux)}.
|
||||
|
||||
@item @code{kernel-arguments} (default: @code{'("quiet")})
|
||||
@item @code{kernel-arguments} (default: @code{%default-kernel-arguments})
|
||||
List of strings or gexps representing additional arguments to pass on
|
||||
the command-line of the kernel---e.g., @code{("console=ttyS0")}.
|
||||
|
||||
|
@ -21874,6 +21875,25 @@ When true, don't read @var{resolv-file}.
|
|||
@item @code{servers} (default: @code{'()})
|
||||
Specify IP address of upstream servers directly.
|
||||
|
||||
@item @code{addresses} (default: @code{'()})
|
||||
For each entry, specify an IP address to return for any host in the
|
||||
given domains. Queries in the domains are never forwarded and always
|
||||
replied to with the specified IP address.
|
||||
|
||||
This is useful for redirecting hosts locally, for example:
|
||||
|
||||
@lisp
|
||||
(service dnsmasq-service-type
|
||||
(dnsmasq-configuration
|
||||
(addresses
|
||||
'(; Redirect to a local web-server.
|
||||
"/example.org/127.0.0.1"
|
||||
; Redirect subdomain to a specific IP.
|
||||
"/subdomain.example.org/192.168.1.42"))))
|
||||
@end lisp
|
||||
|
||||
Note that rules in @file{/etc/hosts} take precedence over this.
|
||||
|
||||
@item @code{cache-size} (default: @code{150})
|
||||
Set the size of dnsmasq's cache. Setting the cache size to zero
|
||||
disables caching.
|
||||
|
@ -25491,13 +25511,13 @@ Extra command line options for @code{guix-data-service-process-jobs}.
|
|||
@end deftp
|
||||
|
||||
@node Linux Services
|
||||
@subsubheading Linux Services
|
||||
@subsection Linux Services
|
||||
|
||||
@cindex oom
|
||||
@cindex out of memory killer
|
||||
@cindex earlyoom
|
||||
@cindex early out of memory daemon
|
||||
@subsection Early OOM Service
|
||||
@subsubheading Early OOM Service
|
||||
|
||||
@uref{https://github.com/rfjakob/earlyoom,Early OOM}, also known as
|
||||
Earlyoom, is a minimalist out of memory (OOM) daemon that runs in user
|
||||
|
@ -25557,7 +25577,7 @@ notifications.
|
|||
|
||||
@cindex modprobe
|
||||
@cindex kernel module loader
|
||||
@subsubsection Kernel Module Loader Service
|
||||
@subsubheading Kernel Module Loader Service
|
||||
|
||||
The kernel module loader service allows one to load loadable kernel
|
||||
modules at boot. This is especially useful for modules that don't
|
||||
|
@ -25733,7 +25753,7 @@ If true, this must be the name of a file to log messages to.
|
|||
@end table
|
||||
@end deftp
|
||||
|
||||
@subsection Dictionary Services
|
||||
@subsubheading Dictionary Service
|
||||
@cindex dictionary
|
||||
The @code{(gnu services dict)} module provides the following service:
|
||||
|
||||
|
|
|
@ -336,6 +336,58 @@ (define (check-jfs-file-system device)
|
|||
(2 'reboot-required)
|
||||
(_ 'fatal-error)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; F2FS (Flash-Friendly File System)
|
||||
;;;
|
||||
|
||||
;;; https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs.git/tree/include/linux/f2fs_fs.h
|
||||
;;; (but using xxd proved to be simpler)
|
||||
|
||||
(define-syntax %f2fs-endianness
|
||||
;; Endianness of F2FS file systems
|
||||
(identifier-syntax (endianness little)))
|
||||
|
||||
;; F2FS actually stores two adjacent copies of the superblock.
|
||||
;; should we read both?
|
||||
(define (f2fs-superblock? sblock)
|
||||
"Return #t when SBLOCK is an F2FS superblock."
|
||||
(let ((magic (bytevector-u32-ref sblock 0 %f2fs-endianness)))
|
||||
(= magic #xF2F52010)))
|
||||
|
||||
(define (read-f2fs-superblock device)
|
||||
"Return the raw contents of DEVICE's F2FS superblock as a bytevector, or #f
|
||||
if DEVICE does not contain an F2FS file system."
|
||||
(read-superblock device
|
||||
;; offset of magic in first copy
|
||||
#x400
|
||||
;; difference between magic of second
|
||||
;; and first copies
|
||||
(- #x1400 #x400)
|
||||
f2fs-superblock?))
|
||||
|
||||
(define (f2fs-superblock-uuid sblock)
|
||||
"Return the UUID of F2FS superblock SBLOCK as a 16-byte bytevector."
|
||||
(sub-bytevector sblock
|
||||
(- (+ #x460 12)
|
||||
;; subtract superblock offset
|
||||
#x400)
|
||||
16))
|
||||
|
||||
(define (f2fs-superblock-volume-name sblock)
|
||||
"Return the volume name of SBLOCK as a string of at most 512 characters, or
|
||||
#f if SBLOCK has no volume name."
|
||||
(utf16->string (sub-bytevector sblock (- (+ #x470 12) #x400) 512) %f2fs-endianness))
|
||||
|
||||
(define (check-f2fs-file-system device)
|
||||
"Return the health of a F2FS file system on DEVICE."
|
||||
(match (status:exit-val
|
||||
(system* "fsck.f2fs" "-p" device))
|
||||
;; 0 and -1 are the only two possibilities
|
||||
;; (according to the manpage)
|
||||
(0 'pass)
|
||||
(_ 'fatal-error)))
|
||||
|
||||
|
||||
;;;
|
||||
;;; LUKS encrypted devices.
|
||||
|
@ -472,7 +524,9 @@ (define %partition-label-readers
|
|||
(partition-field-reader read-fat16-superblock
|
||||
fat16-superblock-volume-name)
|
||||
(partition-field-reader read-jfs-superblock
|
||||
jfs-superblock-volume-name)))
|
||||
jfs-superblock-volume-name)
|
||||
(partition-field-reader read-f2fs-superblock
|
||||
f2fs-superblock-volume-name)))
|
||||
|
||||
(define %partition-uuid-readers
|
||||
(list (partition-field-reader read-iso9660-superblock
|
||||
|
@ -486,7 +540,9 @@ (define %partition-uuid-readers
|
|||
(partition-field-reader read-fat16-superblock
|
||||
fat16-superblock-uuid)
|
||||
(partition-field-reader read-jfs-superblock
|
||||
jfs-superblock-uuid)))
|
||||
jfs-superblock-uuid)
|
||||
(partition-field-reader read-f2fs-superblock
|
||||
f2fs-superblock-uuid)))
|
||||
|
||||
(define read-partition-label
|
||||
(cut read-partition-field <> %partition-label-readers))
|
||||
|
@ -582,6 +638,7 @@ (define check-procedure
|
|||
((string-prefix? "btrfs" type) check-btrfs-file-system)
|
||||
((string-suffix? "fat" type) check-fat-file-system)
|
||||
((string-prefix? "jfs" type) check-jfs-file-system)
|
||||
((string-prefix? "f2fs" type) check-f2fs-file-system)
|
||||
((string-prefix? "nfs" type) (const 'pass))
|
||||
(else #f)))
|
||||
|
||||
|
|
|
@ -565,10 +565,13 @@ (define root-fs-options
|
|||
;; The "--root=SPEC" kernel command-line option always provides a
|
||||
;; string, but the string can represent a device, a UUID, or a
|
||||
;; label. So check for all three.
|
||||
(let ((root (cond ((string-prefix? "/" root) root)
|
||||
((uuid root) => identity)
|
||||
(else (file-system-label root)))))
|
||||
(mount-root-file-system (canonicalize-device-spec root)
|
||||
(let ((device-spec (cond ((string-prefix? "/" root) root)
|
||||
((uuid root) => identity)
|
||||
((string-contains root ":/") #f) ; nfs
|
||||
(else (file-system-label root)))))
|
||||
(mount-root-file-system (if device-spec
|
||||
(canonicalize-device-spec device-spec)
|
||||
root)
|
||||
root-fs-type
|
||||
#:volatile-root? volatile-root?
|
||||
#:flags root-fs-flags
|
||||
|
|
|
@ -33,6 +33,7 @@
|
|||
# Copyright © 2020 Michael Rohleder <mike@rohleder.de>
|
||||
# Copyright © 2020 Felix Gruber <felgru@posteo.net>
|
||||
# Copyright © 2020 Ryan Prior <rprior@protonmail.com>
|
||||
# Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
||||
#
|
||||
# This file is part of GNU Guix.
|
||||
#
|
||||
|
@ -278,6 +279,7 @@ GNU_SYSTEM_MODULES = \
|
|||
%D%/packages/ipfs.scm \
|
||||
%D%/packages/irc.scm \
|
||||
%D%/packages/iso-codes.scm \
|
||||
%D%/packages/jami.scm \
|
||||
%D%/packages/java.scm \
|
||||
%D%/packages/java-compression.scm \
|
||||
%D%/packages/java-graphics.scm \
|
||||
|
@ -889,6 +891,7 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/evolution-data-server-libical-compat.patch \
|
||||
%D%/packages/patches/exiv2-CVE-2017-14860.patch \
|
||||
%D%/packages/patches/exiv2-CVE-2017-14859-14862-14864.patch \
|
||||
%D%/packages/patches/extempore-unbundle-external-dependencies.patch \
|
||||
%D%/packages/patches/extundelete-e2fsprogs-1.44.patch \
|
||||
%D%/packages/patches/fastcap-mulGlobal.patch \
|
||||
%D%/packages/patches/fastcap-mulSetup.patch \
|
||||
|
@ -1206,7 +1209,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/lirc-localstatedir.patch \
|
||||
%D%/packages/patches/lirc-reproducible-build.patch \
|
||||
%D%/packages/patches/llvm-3.5-fix-clang-build-with-gcc5.patch \
|
||||
%D%/packages/patches/llvm-for-extempore.patch \
|
||||
%D%/packages/patches/lm-sensors-hwmon-attrs.patch \
|
||||
%D%/packages/patches/lrcalc-includes.patch \
|
||||
%D%/packages/patches/lrzip-CVE-2017-8842.patch \
|
||||
|
@ -1552,7 +1554,6 @@ dist_patch_DATA = \
|
|||
%D%/packages/patches/vinagre-newer-freerdp.patch \
|
||||
%D%/packages/patches/vinagre-newer-rdp-parameters.patch \
|
||||
%D%/packages/patches/virglrenderer-CVE-2017-6386.patch \
|
||||
%D%/packages/patches/vlc-fix-test_libvlc_slaves.patch \
|
||||
%D%/packages/patches/vorbis-tools-CVE-2014-9638+CVE-2014-9639.patch \
|
||||
%D%/packages/patches/vorbis-tools-CVE-2014-9640.patch \
|
||||
%D%/packages/patches/vorbis-tools-CVE-2015-6749.patch \
|
||||
|
|
|
@ -30,6 +30,7 @@
|
|||
;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2020 Guillaume Le Vaillant <glv@posteo.net>
|
||||
;;; Copyright © 2020 Jonathan Frederickson <jonathan@terracrypt.net>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -1855,6 +1856,31 @@ (define-public libbs2b
|
|||
essential distortions.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public ladspa-bs2b
|
||||
(package
|
||||
(name "ladspa-bs2b")
|
||||
(version "0.9.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"mirror://sourceforge/bs2b/plugins/LADSPA%20plugin/"
|
||||
version "/" name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1b4aipbj1ba5k99gbc7gmgy14sywyrjd8rpyqj5l905j0mjv8jg2"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(inputs `(("ladspa" ,ladspa)
|
||||
("libbs2b" ,libbs2b)))
|
||||
(home-page "https://sourceforge.net/projects/bs2b/")
|
||||
(synopsis "Bauer stereophonic-to-binaural DSP - LADSPA plugin")
|
||||
(description "The Bauer stereophonic-to-binaural DSP (bs2b) library and
|
||||
plugins is designed to improve headphone listening of stereo audio records.
|
||||
Recommended for headphone prolonged listening to disable superstereo fatigue
|
||||
without essential distortions. This package contains a LADSPA plugin for use
|
||||
with applications that support them (e.g. PulseAudio).")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define-public liblo
|
||||
(package
|
||||
(name "liblo")
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2019 Chris Marusich <cmmarusich@gmail.com>
|
||||
;;; Copyright © 2020 Lars-Dominik Braun <ldb@leibniz-psychology.org>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -2506,11 +2507,10 @@ (define-public umockdev
|
|||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'skip-broken-test
|
||||
(add-after 'unpack 'fix-test
|
||||
(lambda _
|
||||
(substitute* "tests/test-umockdev.c"
|
||||
(("/\\* sys/ in other dir")
|
||||
(string-append "return; // ")))
|
||||
(("/run") "/tmp"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("vala" ,vala)
|
||||
|
@ -2523,8 +2523,7 @@ (define-public umockdev
|
|||
(inputs
|
||||
`(("glib" ,glib)
|
||||
("eudev" ,eudev)
|
||||
("libgudev" ,libgudev)
|
||||
("gobject-introspection" ,gobject-introspection)))
|
||||
("libgudev" ,libgudev)))
|
||||
(home-page "https://github.com/martinpitt/umockdev/")
|
||||
(synopsis "Mock hardware devices for creating unit tests")
|
||||
(description "umockdev mocks hardware devices for creating integration
|
||||
|
|
|
@ -1942,7 +1942,7 @@ (define-public upx
|
|||
(define-public quazip
|
||||
(package
|
||||
(name "quazip")
|
||||
(version "0.8.1")
|
||||
(version "0.9")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -1951,7 +1951,7 @@ (define-public quazip
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1g473gnsbkvxpsv8lbsmhspn7jnq86b05zzgqh11r581v8ndvz5s"))))
|
||||
"0psvf3d9akyyx3bckc9325nmbp97xiagf8la4vhca5xn2f430fbn"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;no test
|
||||
|
|
|
@ -27,6 +27,7 @@ (define-module (gnu packages debian)
|
|||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages gnupg)
|
||||
#:use-module (gnu packages wget)
|
||||
#:use-module (gnu packages perl))
|
||||
|
||||
(define-public debian-archive-keyring
|
||||
|
@ -190,3 +191,40 @@ (define-public debootstrap
|
|||
It does this by downloading .deb files from a mirror site, and carefully
|
||||
unpacking them into a directory which can eventually be chrooted into.")
|
||||
(license license:gpl2)))
|
||||
|
||||
|
||||
(define-public apt-mirror
|
||||
(let ((commit "e664486a5d8947c2579e16dd793d762ea3de4202")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "apt-mirror")
|
||||
(version (git-version "0.5.4" revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/apt-mirror/apt-mirror/")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0qj6b7gldwcqyfs2kp6amya3ja7s4vrljs08y4zadryfzxf35nqq"))))
|
||||
(build-system gnu-build-system)
|
||||
(outputs '("out"))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
;; sysconfdir is not PREFIXed in the makefile but DESTDIR is
|
||||
;; honored correctly; we therefore use DESTDIR for our
|
||||
;; needs. A more correct fix would involve patching.
|
||||
#:make-flags (list (string-append "DESTDIR=" (assoc-ref %outputs "out"))
|
||||
"PREFIX=/")
|
||||
#:phases (modify-phases %standard-phases (delete 'configure))))
|
||||
(inputs
|
||||
`(("wget" ,wget)
|
||||
("perl" ,perl)))
|
||||
(home-page "http://apt-mirror.github.io/")
|
||||
(synopsis "Script for mirroring a Debian repository")
|
||||
(description
|
||||
"apt-mirror is a small tool that provides the ability to
|
||||
selectively mirror Debian and Ubuntu GNU/Linux distributions or any
|
||||
other apt sources typically provided by open source developers.")
|
||||
(license license:gpl2))))
|
||||
|
|
|
@ -103,16 +103,34 @@ (define-public udevil
|
|||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(list "--disable-systemd"
|
||||
(string-append "--sysconfdir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/etc"))
|
||||
(list
|
||||
"--disable-systemd"
|
||||
(string-append "--sysconfdir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/etc")
|
||||
;; udevil expects these programs to be run with uid set as root.
|
||||
;; user has to manually add these programs to setuid-programs.
|
||||
;; mount and umount are default setuid-programs in guix system.
|
||||
"--with-mount-prog=/run/setuid-programs/mount"
|
||||
"--with-umount-prog=/run/setuid-programs/umount"
|
||||
"--with-losetup-prog=/run/setuid-programs/losetup"
|
||||
"--with-setfacl-prog=/run/setuid-programs/setfacl")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'remove-root-reference
|
||||
(lambda _
|
||||
(substitute* "src/Makefile.in"
|
||||
(("-o root -g root") ""))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-udevil-reference
|
||||
;; udevil expects itself to be run with uid set as root.
|
||||
;; devmon also expects udevil to be run with uid set as root.
|
||||
;; user has to manually add udevil to setuid-programs.
|
||||
(lambda _
|
||||
(substitute* "src/udevil.c"
|
||||
(("/usr/bin/udevil") "/run/setuid-programs/udevil"))
|
||||
(substitute* "src/devmon"
|
||||
(("`which udevil 2>/dev/null`") "/run/setuid-programs/udevil"))
|
||||
#t)))))
|
||||
(native-inputs
|
||||
`(("intltool" ,intltool)
|
||||
|
@ -919,9 +937,8 @@ (define-public xfe
|
|||
(origin
|
||||
(method url-fetch)
|
||||
(uri
|
||||
(string-append "https://sourceforge.net/projects/xfe/files/xfe/"
|
||||
version
|
||||
"/xfe-" version ".tar.gz"))
|
||||
(string-append "mirror://sourceforge/xfe/xfe/" version "/"
|
||||
"xfe-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1fl51k5jm2vrfc2g66agbikzirmp0yb0lqhmsssixfb4mky3hpzs"))))
|
||||
(build-system gnu-build-system)
|
||||
|
@ -939,17 +956,29 @@ (define-public xfe
|
|||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-xferc-path
|
||||
(add-after 'unpack 'patch-xfe-paths
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(xferc (string-append out "/share/xfe/xferc")))
|
||||
(let*
|
||||
((out (assoc-ref outputs "out"))
|
||||
(share (string-append out "/share"))
|
||||
(xferc (string-append out "/share/xfe/xferc"))
|
||||
(xfe-theme (string-append out "/share/xfe/icons/xfe-theme")))
|
||||
;; Correct path for xfe registry.
|
||||
(substitute* "src/foxhacks.cpp"
|
||||
(("/etc:/usr/share:/usr/local/share") share))
|
||||
;; Correct path for xfe configuration.
|
||||
(substitute* "src/XFileExplorer.cpp"
|
||||
(("/usr/share/xfe/xferc") xferc))
|
||||
#t))))
|
||||
#:make-flags
|
||||
(let ((out (assoc-ref %outputs "out")))
|
||||
(list (string-append "BASH_COMPLETION_DIR=" out
|
||||
"/share/bash-completion/completions")))))
|
||||
(("/usr/share/xfe/xferc") xferc)
|
||||
(("/usr/local/share/xfe/xferc") xferc)
|
||||
(("/opt/local/share/xfe/xferc") xferc))
|
||||
;; Correct path for xfe icons.
|
||||
(substitute* "src/xfedefs.h"
|
||||
(((string-append
|
||||
"~/.config/xfe/icons/xfe-theme:"
|
||||
"/usr/local/share/xfe/icons/xfe-theme:"
|
||||
"/usr/share/xfe/icons/xfe-theme"))
|
||||
xfe-theme))
|
||||
#t))))))
|
||||
(synopsis "File Manager for X-Based Graphical Systems")
|
||||
(description"XFE (X File Explorer) is a file manager for X. It is based on
|
||||
the popular but discontinued, X Win Commander. It aims to be the file manager
|
||||
|
|
|
@ -15,6 +15,7 @@
|
|||
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
|
||||
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2020 Leo Famulari <leo@famulari.name>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -878,22 +879,16 @@ (define-public hnsd
|
|||
(define-public libmicrodns
|
||||
(package
|
||||
(name "libmicrodns")
|
||||
(version "0.0.10")
|
||||
(version "0.1.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/videolabs/libmicrodns")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/videolabs/libmicrodns/"
|
||||
"releases/download/" version "/microdns-"
|
||||
version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xvl9k49ng35wbsqmnjnyqvkyjf8dcq2ywsq3jp3wh0rgmxhq2fh"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)))
|
||||
"0p4va18zxgmzcdwhlbg2mmjwswlbgqy4ay5vaxrw7cxmhsflnv36"))))
|
||||
(build-system meson-build-system)
|
||||
(home-page "https://github.com/videolabs/libmicrodns")
|
||||
(synopsis "Minimal mDNS resolver library")
|
||||
(description "@code{libmicrodns} provides a minimal implementation of a
|
||||
|
|
|
@ -606,14 +606,14 @@ (define-public omnitux
|
|||
(define-public fet
|
||||
(package
|
||||
(name "fet")
|
||||
(version "5.44.0")
|
||||
(version "5.44.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://www.lalescu.ro/liviu/fet/download/"
|
||||
"fet-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "13q3b0g1zz885g15gir8fbalvix8sy42v1p429h0751490wq5c3h"))))
|
||||
(base32 "1bji4910v6adhngdh5ajz5bxam9z3yqnh8d1h1xajy6npm6qq3nx"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
|
@ -632,14 +632,14 @@ (define-public fet
|
|||
`(("qtbase" ,qtbase)))
|
||||
(home-page "https://www.lalescu.ro/liviu/fet/")
|
||||
(synopsis "Timetabling software")
|
||||
(description "FET is a program for automatically scheduling the
|
||||
timetable of a school, high-school or university. It uses a fast and
|
||||
efficient timetabling algorithm.
|
||||
(description
|
||||
"FET is a program for automatically scheduling the timetable of a school,
|
||||
high-school or university. It uses a fast and efficient timetabling
|
||||
algorithm.
|
||||
|
||||
Usually, FET is able to solve a complicated timetable in maximum 5-20
|
||||
minutes. For simpler timetables, it may take a shorter time, under
|
||||
5 minutes (in some cases, a matter of seconds). For extremely
|
||||
difficult timetables, it may take a longer time, a matter of hours.")
|
||||
Usually, FET is able to solve a complicated timetable in maximum 5-20 minutes.
|
||||
For extremely difficult timetables, it may take a longer time, a matter of
|
||||
hours.")
|
||||
(license license:agpl3+)))
|
||||
|
||||
(define-public klavaro
|
||||
|
|
|
@ -1323,33 +1323,32 @@ (define-public emacs-eww-lnum
|
|||
(define-public emacs-emms
|
||||
(package
|
||||
(name "emacs-emms")
|
||||
(version "5.3")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/emms/emms-"
|
||||
version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"00hnv7jjgb2simgrf7gf2y1cyg2syk7kj1hkbac146hlgxk8ngj1"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "Makefile"
|
||||
(("/usr/bin/install-info")
|
||||
;; No need to use 'install-info' since it would create a
|
||||
;; useless 'dir' file.
|
||||
"true")
|
||||
(("^INFODIR=.*")
|
||||
;; Install Info files to $out/share/info, not $out/info.
|
||||
"INFODIR := $(PREFIX)/share/info\n")
|
||||
(("/site-lisp/emms")
|
||||
;; Install directly in share/emacs/site-lisp, not in a
|
||||
;; sub-directory.
|
||||
"/site-lisp")
|
||||
(("^all: (.*)\n" _ rest)
|
||||
;; Build 'emms-print-metadata'.
|
||||
(string-append "all: " rest " emms-print-metadata\n")))
|
||||
#t))))
|
||||
(version "5.4")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://gnu/emms/emms-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "1nd7sb6pva7qb1ki6w0zhd6zvqzd7742kaqi0f3v4as5jh09l6nr"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
(substitute* "Makefile"
|
||||
(("/usr/bin/install-info")
|
||||
;; No need to use 'install-info' since it would create a
|
||||
;; useless 'dir' file.
|
||||
"true")
|
||||
(("^INFODIR=.*")
|
||||
;; Install Info files to $out/share/info, not $out/info.
|
||||
"INFODIR := $(PREFIX)/share/info\n")
|
||||
(("/site-lisp/emms")
|
||||
;; Install directly in share/emacs/site-lisp, not in a
|
||||
;; sub-directory.
|
||||
"/site-lisp")
|
||||
(("^all: (.*)\n" _ rest)
|
||||
;; Build 'emms-print-metadata'.
|
||||
(string-append "all: " rest " emms-print-metadata\n")))
|
||||
#t))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
|
@ -2465,7 +2464,7 @@ (define-public emacs-d-mode
|
|||
|
||||
(define-public emacs-extempore-mode
|
||||
;; Use the latest commit at time of packaging. There are no releases or tags.
|
||||
(let ((commit "848ad0084f27b92d1cf98dabffbad29f959a642d")
|
||||
(let ((commit "09518ae6650d7be33a4633a4c0f31b7130d04c6e")
|
||||
(revision "1"))
|
||||
(package
|
||||
(name "emacs-extempore-mode")
|
||||
|
@ -2478,7 +2477,7 @@ (define-public emacs-extempore-mode
|
|||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "00wr025php7nl33x541s9rjm99hj0jbdcmnw9ljx5hqpm04aqm7c"))))
|
||||
(base32 "0hfza9lzdsz94gxhmzyp9fwviscv19rmnjgd0q613faayn11sjsp"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/extemporelang/extempore-emacs-mode")
|
||||
(synopsis "Emacs major mode for Extempore source files")
|
||||
|
@ -7525,24 +7524,47 @@ (define-public emacs-gitlab-ci-mode
|
|||
via @code{gitlab-ci-lint}.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-web-mode
|
||||
(define-public emacs-gitlab-snip-helm
|
||||
(package
|
||||
(name "emacs-web-mode")
|
||||
(version "16")
|
||||
(name "emacs-gitlab-snip-helm")
|
||||
(version "0.0.2")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fxbois/web-mode.git")
|
||||
(commit (string-append "v" version))))
|
||||
(url "https://gitlab.com/sasanidas/gitlab-snip-helm.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"17dw6a8d0p304f2sa4f9zwd8r48w2wbkc3fvbmxwlg4w12h7cwf0"))))
|
||||
"1c5js19zyb1z61hapvbfcl5jhrjqij46cxldgqij6al0scw44dga"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-dash" ,emacs-dash)
|
||||
("emacs-helm" ,emacs-helm)))
|
||||
(home-page "https://gitlab.com/sasanidas/gitlab-snip-helm/")
|
||||
(synopsis "GitLab snippet API interaction for Emacs")
|
||||
(description "This package provides GitLab snippet API interaction for
|
||||
Emacs.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-web-mode
|
||||
(package
|
||||
(name "emacs-web-mode")
|
||||
(version "17")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/fxbois/web-mode.git")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0jr5a1nzp8nbdng0k2fcaymiiv9ngrbknbrqaswgqn3akvx793jk"))))
|
||||
(build-system emacs-build-system)
|
||||
(synopsis "Major mode for editing web templates")
|
||||
(description "Web-mode is an Emacs major mode for editing web templates
|
||||
(description "Web mode is an Emacs major mode for editing web templates
|
||||
aka HTML files embedding parts (CSS/JavaScript) and blocks (pre rendered by
|
||||
client/server side engines). Web-mode is compatible with many template
|
||||
client/server side engines). Web mode is compatible with many template
|
||||
engines: PHP, JSP, ASP, Django, Twig, Jinja, Mustache, ERB, FreeMarker,
|
||||
Velocity, Cheetah, Smarty, CTemplate, Mustache, Blade, ErlyDTL, Go Template,
|
||||
Dust.js, React/JSX, Angularjs, ejs, etc.")
|
||||
|
@ -13262,7 +13284,7 @@ (define-public emacs-org-auto-expand
|
|||
(define-public emacs-parsebib
|
||||
(package
|
||||
(name "emacs-parsebib")
|
||||
(version "2.3.1")
|
||||
(version "2.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -13271,45 +13293,43 @@ (define-public emacs-parsebib
|
|||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "1bnqnxkb9dnl0fjrrjx0xn9jsqki2h8ygw3d5dm4bl79smah3qkh"))))
|
||||
(base32 "0mpgyy9qfb5x4fvlmb274hgayjbwf0bgk65dxyx31zikjwpcd56p"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://github.com/joostkremers/parsebib")
|
||||
(synopsis "Library for parsing bib files")
|
||||
(synopsis "Library for parsing @file{.bib} files")
|
||||
(description
|
||||
"This package provides an Emacs library for parsing bib files.")
|
||||
"This package provides an Emacs library for parsing @file{.bib} files.")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public emacs-ebib
|
||||
(let ((commit "99bd909f47f71e024ce324981109b73a50e82fba"))
|
||||
(package
|
||||
(name "emacs-ebib")
|
||||
(version "2.21")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/joostkremers/ebib.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"131vgl4d1j9s4055x88409w19q52x2m0x08b961hylp7yb5ljzgh"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-parsebib" ,emacs-parsebib)))
|
||||
(home-page "https://joostkremers.github.io/ebib/")
|
||||
(synopsis "BibTeX database manager for Emacs")
|
||||
(description
|
||||
"Ebib is a BibTeX database manager that runs in GNU Emacs.
|
||||
With Ebib you can create, sort and manage your .bib database files,
|
||||
all within Emacs. It supports searching, multi-line field values and
|
||||
@@String and @@Preamble definitions. Ebib integrates with (La)TeX
|
||||
mode, Org mode and other Emacs editing modes.")
|
||||
;; The Ebib source files are released under a BSD license with
|
||||
;; the exception of org-ebib.el, which is released under the GNU
|
||||
;; GPL.
|
||||
(license (list license:bsd-3
|
||||
license:gpl3+)))))
|
||||
(package
|
||||
(name "emacs-ebib")
|
||||
(version "2.22.1")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/joostkremers/ebib.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0spiz5r2y4pdpyc4d3f9w228giq0j9rm8f5h5akzn5rwiq9pfkwz"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-parsebib" ,emacs-parsebib)))
|
||||
(home-page "https://joostkremers.github.io/ebib/")
|
||||
(synopsis "BibTeX database manager for Emacs")
|
||||
(description
|
||||
"Ebib is a BibTeX database manager that runs in GNU Emacs.
|
||||
With Ebib you can create, sort and manage your @file{.bib} database files, all
|
||||
within Emacs. It supports searching, multi-line field values and
|
||||
@samp{@@String} and @samp{@@Preamble} definitions. Ebib integrates
|
||||
with (La)TeX mode, Org mode and other Emacs editing modes.")
|
||||
;; The Ebib source files are released under a BSD license with
|
||||
;; the exception of org-ebib.el, which is released under the GNU
|
||||
;; GPL.
|
||||
(license (list license:bsd-3
|
||||
license:gpl3+))))
|
||||
|
||||
(define-public emacs-biblio
|
||||
(package
|
||||
|
@ -19529,9 +19549,9 @@ (define-public emacs-all-the-icons-dired
|
|||
(license license:gpl3+))))
|
||||
|
||||
(define-public emacs-exwm-edit
|
||||
(let ((commit "961c0f3ea45766b888c73d7353da13d329538034")
|
||||
(let ((commit "bc25ba094b383be3c650ca0b7e1534efe2bb154f")
|
||||
(version "0.0.1")
|
||||
(revision "1"))
|
||||
(revision "2"))
|
||||
(package
|
||||
(name "emacs-exwm-edit")
|
||||
(version (git-version version revision commit))
|
||||
|
@ -19544,7 +19564,7 @@ (define-public emacs-exwm-edit
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"087pk5ckx753qrn6xpka9khhlp7iqlz76w7861x90av2f5cgy6fw"))))
|
||||
"1z1ya9xgknka3dy3b3x8zzfkxdx5jqsi8q5aqkvxjxa6n7mmqdwv"))))
|
||||
(build-system emacs-build-system)
|
||||
(propagated-inputs
|
||||
`(("emacs-exwm" ,emacs-exwm)))
|
||||
|
@ -21122,14 +21142,14 @@ (define-public emacs-doom-themes
|
|||
(define-public emacs-modus-operandi-theme
|
||||
(package
|
||||
(name "emacs-modus-operandi-theme")
|
||||
(version "0.7.0")
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/"
|
||||
"modus-operandi-theme-" version ".el"))
|
||||
(sha256
|
||||
(base32 "17zvcqplbl3rk39k61v43ganzv06j49rlyickanwll5m1a3iibw2"))))
|
||||
(base32 "09lw556jphrxrmwxkwzfgd4r7ylz99m8awxka4sfj5sa8fbjb3g8"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://gitlab.com/protesilaos/modus-themes")
|
||||
(synopsis "Accessible light theme (WCAG AAA)")
|
||||
|
@ -21143,14 +21163,14 @@ (define-public emacs-modus-operandi-theme
|
|||
(define-public emacs-modus-vivendi-theme
|
||||
(package
|
||||
(name "emacs-modus-vivendi-theme")
|
||||
(version "0.7.0")
|
||||
(version "0.8.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://elpa.gnu.org/packages/"
|
||||
"modus-vivendi-theme-" version ".el"))
|
||||
(sha256
|
||||
(base32 "1w4vrg39dghghkvll3h4kmzykc3zpp6pbychb39gcc13z2b06v8g"))))
|
||||
(base32 "0hwkzbx7a9scdr589sb7hw90lsm8yxcn3y5xr3bpyxf8rkr2zl4c"))))
|
||||
(build-system emacs-build-system)
|
||||
(home-page "https://gitlab.com/protesilaos/modus-themes")
|
||||
(synopsis "Accessible dark theme (WCAG AAA)")
|
||||
|
|
|
@ -1204,14 +1204,14 @@ (define-public retroarch
|
|||
(define-public scummvm
|
||||
(package
|
||||
(name "scummvm")
|
||||
(version "2.1.1")
|
||||
(version "2.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://www.scummvm.org/frs/scummvm/" version
|
||||
"/scummvm-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "1a6waf1ybp91nwva8g650cljlfb1di4l0jv13vg6yfgkas9pclsp"))))
|
||||
(base32 "1c4fz1nfg0nqnqx9iipayhzcsiqdmfxm2i95nw9dbhshhsdnrhf4"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ;require "git"
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
;;; Copyright © 2020 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2020 Christopher Lemmer Webber <cwebber@dustycloud.org>
|
||||
;;; Copyright © 2020 Tom Zander <tomz@freedommail.ch>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -197,7 +198,7 @@ (define-public homebank
|
|||
(define-public ledger
|
||||
(package
|
||||
(name "ledger")
|
||||
(version "3.1.3")
|
||||
(version "3.2.0")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
|
@ -206,16 +207,32 @@ (define-public ledger
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0bfnrqrd6wqgsngfpqi30xh6yy86pwl25iwzrqy44q31r0zl4mm3"))))
|
||||
(base32 "1l5c9jf2wnly6ncm9civ8i7v47xld15g1y7wpl0hqwgbfyffwjci"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
`(#:modules (,@%cmake-build-system-modules
|
||||
((guix build python-build-system) #:select (python-version)))
|
||||
#:imported-modules (,@%cmake-build-system-modules
|
||||
(guix build python-build-system))
|
||||
#:configure-flags
|
||||
`("-DBUILD_DOCS:BOOL=ON"
|
||||
"-DBUILD_WEB_DOCS:BOOL=ON"
|
||||
"-DUSE_PYTHON:BOOL=ON"
|
||||
"-DCMAKE_INSTALL_LIBDIR:PATH=lib")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(modify-phases (@ (guix build cmake-build-system) %standard-phases)
|
||||
(add-after 'unpack 'fix-python-installation-directory
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
;; By default the package attempts to install its Python bindings
|
||||
;; to the Python store directory, which obviously does not work.
|
||||
;; Passing -DPython_SITEARCH in #:configure-flags has no effect.
|
||||
(let ((python-version (python-version (assoc-ref inputs "python")))
|
||||
(out (assoc-ref outputs "out")))
|
||||
(substitute* "src/CMakeLists.txt"
|
||||
(("DESTINATION \\$\\{Python_SITEARCH\\}")
|
||||
(string-append "DESTINATION " out "/lib/python"
|
||||
python-version "/site-packages")))
|
||||
#t)))
|
||||
(add-before 'configure 'install-examples
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((examples (string-append (assoc-ref outputs "out")
|
||||
|
|
|
@ -4856,7 +4856,7 @@ (define-public kiki
|
|||
(define-public teeworlds
|
||||
(package
|
||||
(name "teeworlds")
|
||||
(version "0.7.4")
|
||||
(version "0.7.5")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -4865,7 +4865,7 @@ (define-public teeworlds
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1lxdb1k2cdj2421vyz1z0ximzfnpkh2y4y84zpn2gqsa1nzwbryb"))
|
||||
"169dl83q08zl4h813az8hjs4rs3dms9yjn6bnsld4fjcj0imvvc6"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(ice-9 regex)
|
||||
|
@ -6176,7 +6176,7 @@ (define-public crispy-doom
|
|||
(package
|
||||
(inherit chocolate-doom)
|
||||
(name "crispy-doom")
|
||||
(version "5.7.2")
|
||||
(version "5.8.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -6184,7 +6184,7 @@ (define-public crispy-doom
|
|||
(commit (string-append "crispy-doom-" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "002aqbgsksrgzqridwdlkrjincaxh0dkvwlrbb8d2f3kwk7lj4fq"))))
|
||||
(base32 "1b6gn0dysv631jynh769whww9xcss1gms78sz3nrn855q1dsvcb4"))))
|
||||
(native-inputs
|
||||
(append
|
||||
(package-native-inputs chocolate-doom)
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
||||
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -742,30 +743,34 @@ (define-public glfw
|
|||
(license license:zlib)))
|
||||
|
||||
(define-public nanovg-for-extempore
|
||||
(package
|
||||
(name "nanovg-for-extempore")
|
||||
(version "0.7.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/extemporelang/nanovg/"
|
||||
"archive/" version ".tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"0ivs1sagq19xiw8jxd9f8w2b39svi0n9hrbmdvckwvqg95r8701g"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ; no tests included
|
||||
(inputs
|
||||
`(("mesa" ,mesa)))
|
||||
;; Extempore refuses to build on architectures other than x86_64
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(home-page "https://github.com/extemporelang/nanovg")
|
||||
(synopsis "2D vector drawing library on top of OpenGL")
|
||||
(description "NanoVG is small antialiased vector graphics rendering
|
||||
(let ((version "0.7.1")
|
||||
(revision "0")
|
||||
(commit "3c60175fcc2e5fe305b04355cdce35d499c80310"))
|
||||
(package
|
||||
(name "nanovg-for-extempore")
|
||||
(version (git-version version revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extemporelang/nanovg.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"0ddn3d3mxqn8hj9967v3pss7lz1wn08pcdnqzc118g7yjkq7hxzy"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ; no tests included
|
||||
(inputs
|
||||
`(("mesa" ,mesa)))
|
||||
;; Extempore refuses to build on architectures other than x86_64
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(home-page "https://github.com/extemporelang/nanovg")
|
||||
(synopsis "2D vector drawing library on top of OpenGL")
|
||||
(description "NanoVG is small antialiased vector graphics rendering
|
||||
library for OpenGL. It has lean API modeled after HTML5 canvas API. It is
|
||||
aimed to be a practical and fun toolset for building scalable user interfaces
|
||||
and visualizations.")
|
||||
(license license:zlib)))
|
||||
(license license:zlib))))
|
||||
|
||||
(define-public gl2ps
|
||||
(package
|
||||
|
|
|
@ -3776,7 +3776,7 @@ (define-public libsecret
|
|||
(define-public five-or-more
|
||||
(package
|
||||
(name "five-or-more")
|
||||
(version "3.32.1")
|
||||
(version "3.32.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -3784,7 +3784,7 @@ (define-public five-or-more
|
|||
(version-major+minor version) "/"
|
||||
"five-or-more-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32 "0xw05dd2dwi9vsph9h158b4n89s5k07xrh6bjz1icm0pdmjwhpgk"))))
|
||||
(base32 "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"))))
|
||||
(build-system meson-build-system)
|
||||
(arguments
|
||||
'(#:glib-or-gtk? #t
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
|
||||
;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org>
|
||||
;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
|
||||
;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
|
||||
;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
|
@ -1861,7 +1861,13 @@ (define-public guile-ncurses
|
|||
("guile" ,guile-2.2)))
|
||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
'(#:configure-flags (list "--with-ncursesw" ; Unicode support
|
||||
`(#:modules ((guix build gnu-build-system)
|
||||
((guix build guile-build-system)
|
||||
#:select (target-guile-effective-version))
|
||||
(guix build utils))
|
||||
#:imported-modules ((guix build guile-build-system)
|
||||
,@%gnu-build-system-modules)
|
||||
#:configure-flags (list "--with-ncursesw" ; Unicode support
|
||||
"--with-gnu-filesystem-hierarchy")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
@ -1876,8 +1882,8 @@ (define-public guile-ncurses
|
|||
(files (find-files dir ".scm")))
|
||||
(substitute* files
|
||||
(("\"libguile-ncurses\"")
|
||||
(format #f "\"~a/lib/guile/2.2/libguile-ncurses\""
|
||||
out)))
|
||||
(format #f "\"~a/lib/guile/~a/libguile-ncurses\""
|
||||
out (target-guile-effective-version))))
|
||||
#t))))))
|
||||
(home-page "https://www.gnu.org/software/guile-ncurses/")
|
||||
(synopsis "Guile bindings to ncurses")
|
||||
|
@ -1886,6 +1892,14 @@ (define-public guile-ncurses
|
|||
library.")
|
||||
(license license:lgpl3+)))
|
||||
|
||||
(define-public guile3.0-ncurses
|
||||
(package
|
||||
(inherit guile-ncurses)
|
||||
(name "guile3.0-ncurses")
|
||||
(version "3.0")
|
||||
(inputs `(("ncurses" ,ncurses)
|
||||
("guile" ,guile-3.0)))))
|
||||
|
||||
(define-public guile-ncurses/gpm
|
||||
(package
|
||||
(inherit guile-ncurses)
|
||||
|
@ -1893,6 +1907,13 @@ (define-public guile-ncurses/gpm
|
|||
(inputs `(("ncurses" ,ncurses/gpm)
|
||||
("guile" ,guile-2.2)))))
|
||||
|
||||
(define-public guile3.0-ncurses/gpm
|
||||
(package
|
||||
(inherit guile3.0-ncurses)
|
||||
(name "guile3.0-ncurses-with-gpm")
|
||||
(inputs `(("ncurses" ,ncurses/gpm)
|
||||
("guile" ,guile-3.0)))))
|
||||
|
||||
(define-public guile-lib
|
||||
(package
|
||||
(name "guile-lib")
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -18,15 +19,24 @@
|
|||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages hardware)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages gcc)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages libusb)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages ncurses)
|
||||
#:use-module (gnu packages openldap)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages polkit)
|
||||
#:use-module (gnu packages protobuf)
|
||||
#:use-module (gnu packages xdisorg)
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
|
@ -344,3 +354,111 @@ (define-public rkdeveloptool
|
|||
"Rkdeveloptool can read from and write to RockChip devices over USB, such
|
||||
as the Pinebook Pro.")
|
||||
(license license:gpl2+))))
|
||||
|
||||
(define-public libqb
|
||||
(package
|
||||
(name "libqb")
|
||||
;; NOTE: We are using a Release Candidate version (for 2.0) here because
|
||||
;; of the linker issues with the previous release.
|
||||
(version "1.9.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/ClusterLabs/libqb/releases/download/v"
|
||||
version "/libqb-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"008vvw504kh40br5v2xkqavnp9vpmjvf768faqzv1d00fd53ingn"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("xmllint" ,libxml2)))
|
||||
(home-page "https://clusterlabs.github.io/libqb/")
|
||||
(synopsis "Library providing high performance logging, tracing, ipc, and poll")
|
||||
(description "Libqb is a library with the primary purpose of providing
|
||||
high-performance, reusable features for client-server architecture, such as
|
||||
logging, tracing, inter-process communication (IPC), and polling. Libqb is
|
||||
not intended to be an all-encompassing library, but instead provide focused
|
||||
APIs that are highly tuned for maximum performance for client-server
|
||||
applications.")
|
||||
(license license:lgpl2.1)))
|
||||
|
||||
(define-public usbguard
|
||||
(package
|
||||
(name "usbguard")
|
||||
(version "0.7.6")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"https://github.com/USBGuard/usbguard/releases/download/usbguard-"
|
||||
version "/usbguard-" version ".tar.gz"))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0gzhs8s4aka86mkcjib36z54si939ki4bmk46p6v8kln1fixad3j"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'configure 'patch-makefile
|
||||
(lambda _
|
||||
;; Do not create log directory.
|
||||
(substitute* "Makefile" ((".*/log/usbguard.*") ""))
|
||||
;; Disable LDAP tests: they use 'sudo'.
|
||||
(substitute* "src/Tests/Makefile.am"
|
||||
(("WITH_LDAP") "FALSE"))
|
||||
#t))
|
||||
(add-after 'install 'delete-static-library
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; It can't be direclty disabled since it's needed for the tests.
|
||||
(delete-file (string-append (assoc-ref outputs "out")
|
||||
"/lib/libusbguard.a"))
|
||||
#t))
|
||||
(add-after 'install 'install-zsh-completion
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(site-functions
|
||||
(string-append out "/share/zsh/site-functions")))
|
||||
(mkdir-p site-functions)
|
||||
(copy-file "scripts/usbguard-zsh-completion"
|
||||
(string-append site-functions "/_usbguard"))
|
||||
#t))))
|
||||
#:make-flags
|
||||
(list (string-append "BASH_COMPLETION_DIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/etc/bash_completion.d"))
|
||||
#:configure-flags
|
||||
(list
|
||||
"--localstatedir=/var"
|
||||
"--with-bundled-pegtl"
|
||||
"--enable-systemd=no"
|
||||
"--with-ldap"
|
||||
"--with-dbus"
|
||||
"--with-polkit")))
|
||||
(inputs
|
||||
`(("audit" ,audit)
|
||||
("catch" ,catch-framework)
|
||||
("dbus-glib" ,dbus-glib)
|
||||
("ldap" ,openldap)
|
||||
("libcap-ng" ,libcap-ng)
|
||||
("libseccomp" ,libseccomp)
|
||||
("libsodium" ,libsodium)
|
||||
("polkit" ,polkit)
|
||||
("protobuf" ,protobuf)
|
||||
("libqb" ,libqb)))
|
||||
(native-inputs
|
||||
`(("asciidoc" ,asciidoc)
|
||||
("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("bash-completion" ,bash-completion)
|
||||
("gdbus-codegen" ,glib "bin")
|
||||
("umockdev" ,umockdev)
|
||||
("xmllint" ,libxml2)
|
||||
("xsltproc" ,libxslt)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(home-page "https://usbguard.github.io")
|
||||
(synopsis "Helps to protect your computer against rogue USB devices (a.k.a. BadUSB)")
|
||||
(description "USBGuard is a software framework for implementing USB device
|
||||
authorization policies (what kind of USB devices are authorized) as well as
|
||||
method of use policies (how a USB device may interact with the system).
|
||||
Simply put, it is a USB device whitelisting tool.")
|
||||
(license license:gpl2)))
|
||||
|
|
|
@ -341,14 +341,14 @@ (define-public ghcid
|
|||
(define-public git-annex
|
||||
(package
|
||||
(name "git-annex")
|
||||
(version "8.20200330")
|
||||
(version "8.20200501")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://hackage.haskell.org/package/"
|
||||
"git-annex/git-annex-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0xy0ld7kr4cfdl4g4yzvrzl5r60dcj33cxm28a4qz6nqm2yhd4sv"))))
|
||||
(base32 "19rggaymvqy7r61n2rl2nigwdi2hzq5l1afcd5l0k1vbacwgq4jl"))))
|
||||
(build-system haskell-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
|
361
gnu/packages/jami.scm
Normal file
361
gnu/packages/jami.scm
Normal file
|
@ -0,0 +1,361 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
||||
;;; under the terms of the GNU General Public License as published by
|
||||
;;; the Free Software Foundation; either version 3 of the License, or (at
|
||||
;;; your option) any later version.
|
||||
;;;
|
||||
;;; GNU Guix is distributed in the hope that it will be useful, but
|
||||
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
;;; GNU General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU General Public License
|
||||
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (gnu packages jami)
|
||||
#:use-module ((guix licenses) #:prefix license:)
|
||||
#:use-module (gnu packages aidc)
|
||||
#:use-module (gnu packages audio)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages base)
|
||||
#:use-module (gnu packages boost)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages crypto)
|
||||
#:use-module (gnu packages documentation)
|
||||
#:use-module (gnu packages gettext)
|
||||
#:use-module (gnu packages glib)
|
||||
#:use-module (gnu packages gnome)
|
||||
#:use-module (gnu packages gtk)
|
||||
#:use-module (gnu packages hurd)
|
||||
#:use-module (gnu packages libcanberra)
|
||||
#:use-module (gnu packages linux)
|
||||
#:use-module (gnu packages multiprecision)
|
||||
#:use-module (gnu packages networking)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages perl)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages pulseaudio)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages qt)
|
||||
#:use-module (gnu packages serialization)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages telephony)
|
||||
#:use-module (gnu packages tls)
|
||||
#:use-module (gnu packages upnp)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages webkit)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (guix build-system cmake)
|
||||
#:use-module (guix build-system gnu)
|
||||
#:use-module (guix download)
|
||||
#:use-module (guix git-download)
|
||||
#:use-module (guix packages)
|
||||
#:use-module (guix utils))
|
||||
|
||||
(define %jami-version "20200401.1.6f090de")
|
||||
|
||||
(define* (jami-source #:key without-daemon)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dl.jami.net/release/tarballs/jami_"
|
||||
%jami-version
|
||||
".tar.gz"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
(if without-daemon
|
||||
'(begin
|
||||
(delete-file-recursively "daemon/contrib"))
|
||||
#f))
|
||||
(sha256
|
||||
(base32
|
||||
"0lryx9n1jn0jsw7s10pbwivqv0d5m3jdzhdhdyg5n02v72mjvkmh"))))
|
||||
|
||||
;; Savoir-Faire Linux modifies many libraries to add features
|
||||
;; to Jami. This procedure makes applying patches to a given
|
||||
;; package easy.
|
||||
(define jami-apply-dependency-patches
|
||||
'(lambda* (#:key inputs dep-name patches)
|
||||
(let ((patches-directory "sfl-patches"))
|
||||
(mkdir-p patches-directory)
|
||||
(invoke "tar" "-xvf" (assoc-ref inputs "sfl-patches")
|
||||
"-C" patches-directory
|
||||
"--strip-components=5"
|
||||
(string-append "ring-project/daemon/contrib/src/"
|
||||
dep-name))
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(invoke "patch" "--force" "-p1" "-i"
|
||||
(string-append patches-directory "/"
|
||||
file ".patch")))
|
||||
patches))))
|
||||
|
||||
(define-public pjproject-jami
|
||||
(package
|
||||
(inherit pjproject)
|
||||
(name "pjproject-jami")
|
||||
(native-inputs
|
||||
`(("sfl-patches" ,(jami-source))
|
||||
,@(package-native-inputs pjproject)))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
|
||||
#:configure-flags
|
||||
(list "--disable-oss"
|
||||
"--disable-sound"
|
||||
"--disable-video"
|
||||
;; The following flag is Linux specific.
|
||||
,@(if (hurd-triplet? (or (%current-system)
|
||||
(%current-target-system)))
|
||||
'()
|
||||
'("--enable-epoll"))
|
||||
"--enable-ext-sound"
|
||||
"--disable-speex-aec"
|
||||
"--disable-g711-codec"
|
||||
"--disable-l16-codec"
|
||||
"--disable-gsm-codec"
|
||||
"--disable-g722-codec"
|
||||
"--disable-g7221-codec"
|
||||
"--disable-speex-codec"
|
||||
"--disable-ilbc-codec"
|
||||
"--disable-opencore-amr"
|
||||
"--disable-silk"
|
||||
"--disable-sdl"
|
||||
"--disable-ffmpeg"
|
||||
"--disable-v4l2"
|
||||
"--disable-openh264"
|
||||
"--disable-resample"
|
||||
"--disable-libwebrtc"
|
||||
"--with-gnutls"
|
||||
"--with-external-srtp"
|
||||
;; We need -fPIC or else we get the following error when linking
|
||||
;; against pjproject-jami:
|
||||
;; relocation R_X86_64_32S against `.rodata' can not be used when
|
||||
;; making a shared object;
|
||||
"CFLAGS=-fPIC"
|
||||
"CXXFLAGS=-fPIC")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(add-after 'unpack 'apply-patches
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((jami-apply-dependency-patches ,jami-apply-dependency-patches))
|
||||
;; Comes from
|
||||
;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
|
||||
;; WARNING: These amount for huge changes in pjproject.
|
||||
(jami-apply-dependency-patches
|
||||
#:inputs inputs
|
||||
#:dep-name "pjproject"
|
||||
#:patches
|
||||
'("0001-rfc6544"
|
||||
"0002-rfc2466"
|
||||
"0003-add-tcp-keep-alive"
|
||||
"0004-multiple_listeners"
|
||||
"0005-fix_ebusy_turn"
|
||||
"0006-ignore_ipv6_on_transport_check"
|
||||
"0007-pj_ice_sess"
|
||||
"0008-fix_ioqueue_ipv6_sendto"
|
||||
"0009-add-config-site"))
|
||||
#t)))
|
||||
;; TODO: We could use substitute-keyword-arguments instead of
|
||||
;; repeating the phases from pjproject, but somehow it does
|
||||
;; not work.
|
||||
(add-before 'build 'build-dep
|
||||
(lambda _ (invoke "make" "dep")))
|
||||
(add-before 'patch-source-shebangs 'autoconf
|
||||
(lambda _
|
||||
(invoke "autoconf" "-v" "-f" "-i" "-o"
|
||||
"aconfigure" "aconfigure.ac")))
|
||||
(add-before 'autoconf 'disable-some-tests
|
||||
;; Three of the six test programs fail due to missing network
|
||||
;; access.
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
|
||||
"selftest: pjlib-test pjlib-util-test pjmedia-test"))
|
||||
#t)))))))
|
||||
|
||||
(define-public libring
|
||||
(package
|
||||
(name "libring")
|
||||
(version %jami-version)
|
||||
(source (jami-source #:without-daemon #t))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("boost" ,boost)
|
||||
("dbus-c++" ,dbus-c++)
|
||||
("eudev" ,eudev)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("flac" ,flac)
|
||||
("gmp" ,gmp)
|
||||
("gsm" ,gsm)
|
||||
("jack" ,jack-1)
|
||||
("jsoncpp" ,jsoncpp)
|
||||
("libnatpmp" ,libnatpmp)
|
||||
("libogg" ,libogg)
|
||||
("libva" ,libva)
|
||||
("opendht" ,opendht)
|
||||
("opus" ,opus)
|
||||
("pcre" ,pcre)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("libsamplerate" ,libsamplerate)
|
||||
("libsndfile" ,libsndfile)
|
||||
("speex" ,speex)
|
||||
("speexdsp" ,speexdsp)
|
||||
("libupnp" ,libupnp)
|
||||
("libvorbis" ,libvorbis)
|
||||
("libx264" ,libx264)
|
||||
("libvdpau" ,libvdpau)
|
||||
("yaml-cpp" ,yaml-cpp)
|
||||
("zlib" ,zlib)
|
||||
("openssl" ,openssl)
|
||||
("libsecp256k1" ,libsecp256k1)
|
||||
("python" ,python)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("restinio" ,restinio)
|
||||
("libx11" ,libx11)
|
||||
("asio" ,asio)
|
||||
;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
|
||||
;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
|
||||
("pjproject" ,pjproject-jami)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("which" ,which)
|
||||
("cppunit" ,cppunit)
|
||||
("perl" ,perl))) ; Needed for documentation.
|
||||
(arguments
|
||||
`(#:tests? #f ; The tests fail to compile due to missing headers.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "daemon")
|
||||
#t))
|
||||
(add-before 'build 'add-lib-dir
|
||||
(lambda _
|
||||
(mkdir-p "src/lib")
|
||||
#t)))))
|
||||
(synopsis "Distributed multimedia communications platform")
|
||||
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
|
||||
video and chat communication platform that requires no centralized server and
|
||||
leaves the power of privacy in the hands of the user. It supports the SIP and
|
||||
IAX protocols, as well as decentralized calling using P2P-DHT.
|
||||
|
||||
This package provides a library and daemon implementing the Jami core
|
||||
functionality.")
|
||||
(home-page "https://jami.net/")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public libringclient
|
||||
(package
|
||||
(inherit libring)
|
||||
(name "libringclient")
|
||||
(build-system cmake-build-system)
|
||||
(propagated-inputs
|
||||
`(("libring" ,libring) ; For 'dring'.
|
||||
("qtbase" ,qtbase) ; Qt is included in several installed headers.
|
||||
("qttools" ,qttools)))
|
||||
(arguments
|
||||
`(#:tests? #f ; There is no testsuite.
|
||||
#:configure-flags
|
||||
(list (string-append "-DRING_BUILD_DIR="
|
||||
(assoc-ref %build-inputs "libring") "/include"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "lrc")
|
||||
#t))
|
||||
(add-before 'configure 'fix-dbus-interfaces-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("\\$\\{CMAKE_INSTALL_PREFIX\\}(/share/dbus-1/interfaces)" _ dbus-interfaces-path-suffix)
|
||||
(string-append (assoc-ref inputs "libring")
|
||||
dbus-interfaces-path-suffix))))))))
|
||||
(synopsis "Distributed multimedia communications platform")
|
||||
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
|
||||
video and chat communication platform that requires no centralized server and
|
||||
leaves the power of privacy in the hands of the user. It supports the SIP and
|
||||
IAX protocols, as well as decentralized calling using P2P-DHT.
|
||||
|
||||
This package provides a library common to all Jami clients.")
|
||||
(home-page "https://jami.net")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public jami
|
||||
(package
|
||||
(inherit libring)
|
||||
(name "jami")
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("libringclient" ,libringclient)
|
||||
("gtk+" ,gtk+)
|
||||
("qrencode" ,qrencode)
|
||||
("libnotify" ,libnotify)
|
||||
("clutter" ,clutter)
|
||||
("clutter-gtk" ,clutter-gtk)
|
||||
("libcanberra" ,libcanberra)
|
||||
("webkitgtk" ,webkitgtk)
|
||||
;; TODO: We must wrap ring-client-gnome to force using the
|
||||
;; `sqlite-with-column-metadata' package instead of `sqlite' or else it
|
||||
;; fails with:
|
||||
;;
|
||||
;; /gnu/store/...-qtbase-5.11.2/lib/qt5/plugins/sqldrivers/libqsqlite.so:
|
||||
;; undefined symbol: sqlite3_column_table_name16
|
||||
;;
|
||||
;; qtbase is built against sqlite-with-column-metadata but somehow
|
||||
;; jami-client-gnome ends up with both `sqlite' and
|
||||
;; `sqlite-with-column-metadata' as inputs and it seems that
|
||||
;; libqsqlite.so gets confused.
|
||||
("sqlite" ,sqlite-with-column-metadata)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("gettext" ,gettext-minimal)
|
||||
("glib:bin" ,glib "bin")
|
||||
("doxygen" ,doxygen)))
|
||||
(propagated-inputs
|
||||
`(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus.
|
||||
("adwaita-icon-theme" ,adwaita-icon-theme)
|
||||
("evolution-data-server" ,evolution-data-server)))
|
||||
(arguments
|
||||
`(#:tests? #f ; There is no testsuite.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "client-gnome")
|
||||
#t))
|
||||
(add-after 'install 'wrap
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(let* ((out (assoc-ref outputs "out"))
|
||||
(path (string-append (assoc-ref inputs "sqlite") "/lib")))
|
||||
(wrap-program (string-append out "/bin/jami-gnome")
|
||||
`("LD_LIBRARY_PATH" ":" prefix (,path))))
|
||||
#t)))))
|
||||
(synopsis "Distributed, privacy-respecting communication program")
|
||||
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
|
||||
video and chat communication platform that requires no centralized server and
|
||||
leaves the power of privacy in the hands of the user. It supports the SIP and
|
||||
IAX protocols, as well as decentralized calling using P2P-DHT.
|
||||
|
||||
This package provides the Jami client for the GNOME desktop.")
|
||||
(home-page "https://jami.net")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public jami-client-gnome
|
||||
(deprecated-package "jami-client-gnome" jami))
|
|
@ -4666,6 +4666,37 @@ (define-public f2fs-tools
|
|||
(inputs
|
||||
`(("libuuid" ,util-linux "lib")))))
|
||||
|
||||
(define-public f2fs-tools/static
|
||||
(static-package
|
||||
(package
|
||||
(inherit f2fs-tools)
|
||||
(name "f2fs-tools-static")
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
(let ((libuuid-static (assoc-ref %build-inputs "libuuid:static"))
|
||||
(libuuid (assoc-ref %build-inputs "libuuid")))
|
||||
(list
|
||||
(string-append "libuuid_CFLAGS=-I" libuuid "/include")
|
||||
(string-append "libuuid_LIBS=-L" libuuid-static "/lib -luuid")
|
||||
(string-append "libblkid_CFLAGS=-I" libuuid "/include")
|
||||
(string-append "libblkid_LIBS=-L" libuuid-static "/lib -lblkid")))
|
||||
#:disallowed-references (,util-linux)
|
||||
#:phases
|
||||
(modify-phases %standard-phases ; TODO: f2fs phases.
|
||||
(add-after 'unpack 'make-static
|
||||
(lambda _
|
||||
(define (append-to-file name body)
|
||||
(let ((file (open-file name "a")))
|
||||
(display body file)
|
||||
(close-port file)))
|
||||
(append-to-file "mkfs/Makefile.am" "\nmkfs_f2fs_LDFLAGS = -all-static\n")
|
||||
(append-to-file "fsck/Makefile.am" "\nfsck_f2fs_LDFLAGS = -all-static\n")
|
||||
(append-to-file "tools/Makefile.am" "\nf2fscrypt_LDFLAGS = -all-static -luuid\n")
|
||||
#t)))))
|
||||
(inputs
|
||||
`(("libuuid:static" ,util-linux "static")
|
||||
("libuuid" ,util-linux "lib")))))) ; for include files
|
||||
|
||||
(define-public freefall
|
||||
(package
|
||||
(name "freefall")
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
;;; Copyright © 2019 Arm Ltd <David.Truby@arm.com>
|
||||
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
|
||||
;;; Copyright © 2019 Brett Gilio <brettg@gnu.org>
|
||||
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -677,12 +678,16 @@ (define-public clang-3.5
|
|||
#:patches '("clang-3.5-libc-search-path.patch")))
|
||||
|
||||
(define-public llvm-for-extempore
|
||||
(package (inherit llvm-3.7)
|
||||
(package (inherit llvm-3.8)
|
||||
(name "llvm-for-extempore")
|
||||
(source
|
||||
(origin
|
||||
(inherit (package-source llvm-3.7))
|
||||
(patches (list (search-patch "llvm-for-extempore.patch")))))
|
||||
(method url-fetch)
|
||||
(uri (string-append "http://extempore.moso.com.au/extras/"
|
||||
"llvm-3.8.0.src-patched-for-extempore.tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1svdl6fxn8l01ni8mpm0bd5h856ahv3h9sdzgmymr6fayckjvqzs"))))
|
||||
;; Extempore refuses to build on architectures other than x86_64
|
||||
(supported-systems '("x86_64-linux"))))
|
||||
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
|
||||
(define-module (gnu packages lxde)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages admin)
|
||||
#:use-module (gnu packages autotools)
|
||||
#:use-module (gnu packages bash)
|
||||
#:use-module (gnu packages disk)
|
||||
|
@ -279,7 +280,6 @@ (define-public spacefm
|
|||
`(("bash" ,bash)
|
||||
("cairo" ,cairo)
|
||||
("curlftpfs" ,curlftpfs)
|
||||
("dbus" ,dbus)
|
||||
("eudev" ,eudev)
|
||||
("fakeroot" ,fakeroot)
|
||||
("ffmpegthumbnailer" ,ffmpegthumbnailer)
|
||||
|
@ -288,6 +288,7 @@ (define-public spacefm
|
|||
("gtk+" ,gtk+)
|
||||
("ifuse" ,ifuse)
|
||||
("jmtpfs" ,jmtpfs)
|
||||
("ktsuss" ,ktsuss)
|
||||
("libx11" ,libx11)
|
||||
("lsof" ,lsof)
|
||||
("pango" ,pango)
|
||||
|
@ -297,12 +298,31 @@ (define-public spacefm
|
|||
("util-linux" ,util-linux)
|
||||
("wget" ,wget)))
|
||||
(arguments
|
||||
`(#:configure-flags (list (string-append "--with-bash-path="
|
||||
(assoc-ref %build-inputs "bash")
|
||||
"/bin/bash")
|
||||
(string-append "--sysconfdir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/etc"))))
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'patch-source-files
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
;; Patch config file to load programs correctly.
|
||||
(substitute* "etc/spacefm.conf"
|
||||
(("#terminal_su=/bin/su")
|
||||
"terminal_su=/run/setuid-programs/sudo")
|
||||
(("#graphical_su=/usr/bin/gksu")
|
||||
(string-append "graphical_su="
|
||||
(string-append (assoc-ref inputs "ktsuss")
|
||||
"/bin/ktsuss"))))
|
||||
;; SpaceFM expects udevil to have uid set to root.
|
||||
;; User has to manually add udevil to setuid-programs.
|
||||
(substitute* "src/settings.c"
|
||||
(("/usr/bin/udevil")
|
||||
"/run/setuid-programs/udevil"))
|
||||
#t)))
|
||||
#:configure-flags (list
|
||||
(string-append "--with-bash-path="
|
||||
(assoc-ref %build-inputs "bash")
|
||||
"/bin/bash")
|
||||
(string-append "--sysconfdir="
|
||||
(assoc-ref %outputs "out")
|
||||
"/etc"))))
|
||||
(home-page "https://ignorantguru.github.io/spacefm/")
|
||||
(synopsis "Multi-panel tabbed file manager")
|
||||
(description "SpaceFM is a graphical, multi-panel, tabbed file manager
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2017 Kyle Meyer <kyle@kyleam.com>
|
||||
;;; Copyright © 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2017, 2018 Rene Saavedra <pacoon@protonmail.com>
|
||||
;;; Copyright © 2017, 2018, 2020 Rene Saavedra <pacoon@protonmail.com>
|
||||
;;; Copyright © 2018, 2019, 2020 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
|
||||
;;; Copyright © 2018 Gábor Boskovits <boskovits@gmail.com>
|
||||
|
@ -2752,14 +2752,14 @@ (define-public alpine
|
|||
(define-public balsa
|
||||
(package
|
||||
(name "balsa")
|
||||
(version "2.5.7")
|
||||
(version "2.6.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://pawsa.fedorapeople.org/balsa/"
|
||||
name "-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "0yfqhfpwm1qnwmbpr6dfn2f5w8a8xxq51pn8ypgg0fw973l1c1nx"))))
|
||||
(base32 "0ycidvgy9npd6avxk88sf2ca609m7zb0hzrk1yajrgwb1rfqx68a"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
|
@ -2777,7 +2777,7 @@ (define-public balsa
|
|||
`(("cyrus-sasl" ,cyrus-sasl)
|
||||
("enchant" ,enchant)
|
||||
("gdk-pixbuf" ,gdk-pixbuf)
|
||||
("gmime" ,gmime-2.6)
|
||||
("gmime" ,gmime)
|
||||
("gnutls" ,gnutls)
|
||||
("gpgme" ,gpgme)
|
||||
("gtk+" ,gtk+)
|
||||
|
@ -2785,7 +2785,9 @@ (define-public balsa
|
|||
("gtkspell3" ,gtkspell3)
|
||||
("libcanberra" ,libcanberra)
|
||||
("libesmtp" ,libesmtp)
|
||||
("libical" ,libical)
|
||||
("libnotify" ,libnotify)
|
||||
("libsecret" ,libsecret)
|
||||
("openldap" ,openldap)
|
||||
("sqlite" ,sqlite)
|
||||
("webkitgtk" ,webkitgtk)))
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
;;; Copyright © 2019, 2020 Alexandros Theodotou <alex@zrythm.org>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
;;; Copyright © 2020 Lars-Dominik Braun <lars@6xq.net>
|
||||
;;; Copyright © 2020 Giacomo Leidi <goodoldpaul@autistici.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -625,63 +626,73 @@ (define-public easytag
|
|||
(define-public extempore
|
||||
(package
|
||||
(name "extempore")
|
||||
(version "0.7.0")
|
||||
(version "0.8.6")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/digego/extempore.git")
|
||||
(commit version)))
|
||||
(commit (string-append "v" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"12fsp7zkfxb9kykwq46l88kcbbici9arczrrsl4qn87m6vm5349l"))
|
||||
(file-name (string-append name "-" version "-checkout"))))
|
||||
"182jy23qv115dipny7kglwbn21z55dp253w1ykm0kh8n6vkgs7gp"))
|
||||
(file-name (git-file-name name version))
|
||||
(patches (search-patches
|
||||
"extempore-unbundle-external-dependencies.patch"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; Remove bundled sources.
|
||||
(map delete-file-recursively
|
||||
'("src/portaudio"
|
||||
"src/pcre"))
|
||||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments
|
||||
`(;; The default target also includes ahead-of-time compilation of the
|
||||
;; standard libraries. However, during the "install" phase this would
|
||||
;; happen *again* for unknown reasons. Hence we only build the
|
||||
;; extempore executable during the build phase.
|
||||
#:make-flags '("extempore")
|
||||
#:configure-flags '("-DJACK=ON"
|
||||
;; We want to distribute.
|
||||
"-DIN_TREE=OFF"
|
||||
;; Don't download any dependencies.
|
||||
"-DBUILD_DEPS=OFF")
|
||||
`(#:configure-flags (list "-DJACK=ON"
|
||||
"-DPACKAGE=ON"
|
||||
"-DEXTERNAL_SHLIBS_AUDIO=OFF"
|
||||
"-DEXTERNAL_SHLIBS_GRAPHICS=OFF"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
(string-append "-DEXT_SHARE_DIR="
|
||||
(assoc-ref %outputs "out")
|
||||
"/share"))
|
||||
#:modules ((ice-9 match)
|
||||
(guix build cmake-build-system)
|
||||
(guix build utils))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'build 'build-aot-libs
|
||||
(lambda _
|
||||
(for-each (lambda (target)
|
||||
(invoke "make" target))
|
||||
'("aot_base"
|
||||
"aot_math"
|
||||
"aot_instruments"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-install-locations
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("EXT_SHARE_DIR=\"\\.\"\\)")
|
||||
"EXT_SHARE_DIR=\"${EXT_SHARE_DIR}/extempore\")")
|
||||
(("DESTINATION \"\\.\"\\)") "DESTINATION bin)")
|
||||
(("DESTINATION \"\\.\"\n") "DESTINATION share/extempore\n"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-directories
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Rewrite default path to runtime directory
|
||||
(substitute* "src/Extempore.cpp"
|
||||
(("runtimedir \\+= \"runtime\"")
|
||||
(string-append "runtimedir = \""
|
||||
(assoc-ref outputs "out")
|
||||
"/lib/extempore/runtime\"")))
|
||||
(substitute* "extras/extempore.el"
|
||||
(("\\(runtime-directory \\(concat default-directory \"runtime\"\\)\\)")
|
||||
(string-append "(runtime-directory \""
|
||||
(assoc-ref outputs "out")
|
||||
"/lib/extempore/runtime"
|
||||
"/share/extempore/runtime"
|
||||
"\")")))
|
||||
#t))
|
||||
(add-after 'unpack 'link-with-additional-libs
|
||||
(lambda _
|
||||
;; The executable must be linked with libffi and zlib.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("add_dependencies\\(aot_extended extended_deps\\)") "")
|
||||
(("target_link_libraries\\(extempore PRIVATE dl" line)
|
||||
(string-append line " ffi z")))
|
||||
#t))
|
||||
;; FIXME: AOT compilation of the nanovg bindings fail with the error:
|
||||
;; "Compiler Error could not bind _nvgLinearGradient"
|
||||
(add-after 'unpack 'disable-nanovg
|
||||
(lambda _
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("aotcompile_lib\\(libs/external/nanovg.xtm.*") ""))
|
||||
#t))
|
||||
;; FIXME: All examples that are used as tests segfault for some
|
||||
;; unknown reason.
|
||||
(add-after 'unpack 'disable-broken-tests
|
||||
|
@ -710,20 +721,16 @@ (define-public extempore
|
|||
("gl/glcompat-directbind" "libGL.so" "mesa")))
|
||||
#t))
|
||||
(add-after 'unpack 'use-own-llvm
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "EXT_LLVM_DIR" (assoc-ref inputs "llvm"))
|
||||
;; Our LLVM builds shared libraries, so Extempore should use
|
||||
;; those.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("CMAKE_STATIC_LIBRARY") "CMAKE_SHARED_LIBRARY"))
|
||||
#t))
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(setenv "EXT_LLVM_DIR" (assoc-ref inputs "llvm"))
|
||||
;; Our LLVM builds shared libraries, so Extempore should use
|
||||
;; those.
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("CMAKE_STATIC_LIBRARY") "CMAKE_SHARED_LIBRARY"))
|
||||
#t))
|
||||
(add-after 'unpack 'fix-aot-compilation
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
;; EXT_SHARE_DIR does not exist before installation, so the
|
||||
;; working directory should be the source directory instead.
|
||||
(("WORKING_DIRECTORY \\$\\{EXT_SHARE_DIR\\}")
|
||||
"WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}")
|
||||
;; Extempore needs to be told where the runtime is to be found.
|
||||
;; While we're at it we disable automatic tuning for a specific
|
||||
;; CPU to make binary substitution possible.
|
||||
|
@ -1979,24 +1986,27 @@ (define-public portmidi
|
|||
(license license:expat)))
|
||||
|
||||
(define-public portmidi-for-extempore
|
||||
(package (inherit portmidi)
|
||||
(name "portmidi-for-extempore")
|
||||
(version "217")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extemporelang/portmidi.git")
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1inriyrjf7xx2b7r54x0vmf9ngyqgr7g5060c22bwkbsgg53apzv"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ; no tests
|
||||
(native-inputs '())
|
||||
;; Extempore refuses to build on architectures other than x86_64
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(home-page "https://github.com/extemporelang/portmidi/")))
|
||||
(let ((version "217")
|
||||
(revision "0")
|
||||
(commit "8602f548f71daf5ef638b2f7d224753400cb2158"))
|
||||
(package (inherit portmidi)
|
||||
(name "portmidi-for-extempore")
|
||||
(version (git-version version revision commit))
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/extemporelang/portmidi.git")
|
||||
(commit commit)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1qidzl1s3kzhczzm96rcd2ppn27a97k2axgfh1zhvyf0s52d7m4w"))))
|
||||
(build-system cmake-build-system)
|
||||
(arguments `(#:tests? #f)) ; no tests
|
||||
(native-inputs '())
|
||||
;; Extempore refuses to build on architectures other than x86_64
|
||||
(supported-systems '("x86_64-linux"))
|
||||
(home-page "https://github.com/extemporelang/portmidi/"))))
|
||||
|
||||
(define-public python-pyportmidi
|
||||
(package
|
||||
|
@ -2035,7 +2045,7 @@ (define-public python-pyportmidi
|
|||
(define-public frescobaldi
|
||||
(package
|
||||
(name "frescobaldi")
|
||||
(version "3.1.1")
|
||||
(version "3.1.2")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -2043,7 +2053,7 @@ (define-public frescobaldi
|
|||
"https://github.com/wbsoft/frescobaldi/releases/download/v"
|
||||
version "/frescobaldi-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32 "0kfwvgygx2ds01w8g7vzykfrajglmr2brchk9d67ahzijpgvfkj5"))))
|
||||
(base32 "084vxzvxnxl5rrhllincnh6krsyi03c8p0452ppzmn9c52wgyb2w"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f)) ;no tests included
|
||||
|
@ -2056,7 +2066,7 @@ (define-public frescobaldi
|
|||
("python-pyportmidi" ,python-pyportmidi)
|
||||
("python-pyqt" ,python-pyqt)
|
||||
("python-sip" ,python-sip)))
|
||||
(home-page "http://www.frescobaldi.org/")
|
||||
(home-page "https://www.frescobaldi.org/")
|
||||
(synopsis "LilyPond sheet music text editor")
|
||||
(description
|
||||
"Frescobaldi is a LilyPond sheet music text editor with syntax
|
||||
|
|
|
@ -33,7 +33,7 @@
|
|||
;;; Copyright © 2019 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2019 Tonton <tonton@riseup.net>
|
||||
;;; Copyright © 2019, 2020 Alex Griffin <a@ajgrf.com>
|
||||
;;; Copyright © 2019 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
||||
;;; Copyright © 2019, 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
||||
;;; Copyright © 2019 Daniel Schaefer <git@danielschaefer.me>
|
||||
;;; Copyright © 2019 Diego N. Barbato <dnbarbato@posteo.de>
|
||||
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
||||
|
@ -426,6 +426,41 @@ (define-public cppzmq
|
|||
files contain direct mappings of the abstractions provided by the ØMQ C API.")
|
||||
(license license:expat)))
|
||||
|
||||
(define-public libnatpmp
|
||||
(package
|
||||
(name "libnatpmp")
|
||||
(version "20150609")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://miniupnp.free.fr/files/"
|
||||
name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1c1n8n7mp0amsd6vkz32n8zj3vnsckv308bb7na0dg0r8969rap1"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(delete 'configure)
|
||||
(delete 'check)) ; no tests
|
||||
#:make-flags
|
||||
(let* ((target ,(%current-target-system))
|
||||
(gcc (if target
|
||||
(string-append target "-gcc")
|
||||
"gcc")))
|
||||
(list
|
||||
(string-append "CC=" gcc)
|
||||
(string-append "INSTALLPREFIX=" (assoc-ref %outputs "out"))
|
||||
(string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")))))
|
||||
(home-page "http://miniupnp.free.fr/libnatpmp.html")
|
||||
(synopsis "C library implementing NAT-PMP")
|
||||
(description
|
||||
"@code{libnatpmp} is a portable and asynchronous implementation of
|
||||
the Network Address Translation - Port Mapping Protocol (NAT-PMP)
|
||||
written in the C programming language.")
|
||||
(license license:bsd-3)))
|
||||
|
||||
(define-public librdkafka
|
||||
(package
|
||||
(name "librdkafka")
|
||||
|
@ -2613,7 +2648,7 @@ (define-public restbed
|
|||
(define-public restinio
|
||||
(package
|
||||
(name "restinio")
|
||||
(version "0.6.0.1")
|
||||
(version "0.6.1.1")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2622,7 +2657,7 @@ (define-public restinio
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1c25kpx652nng8m1sqf5an2c3c4g3k6zj85mkkaxzk88iwfzq1s8"))))
|
||||
"141a96hx8zhcdv121g6cs91n46kb47y040v25pnvz5f54964z7f5"))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs ; TODO: Need to force-keep references on some inputs, e.g. boost.
|
||||
`(("zlib" ,zlib)
|
||||
|
@ -2655,7 +2690,7 @@ (define-public restinio
|
|||
(define-public opendht
|
||||
(package
|
||||
(name "opendht")
|
||||
(version "2.0.0beta2")
|
||||
(version "2.0.0")
|
||||
(source (origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
|
@ -2664,7 +2699,7 @@ (define-public opendht
|
|||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"02ix0rvvyhq22gd5djcq84qz08ji7ln93faf23b27zjzni2klzv5"))))
|
||||
"1q1fwk8wwk9r6bp0indpr60ql668lsk16ykslacyhrh7kg97kvhr"))))
|
||||
;; Since 2.0, the gnu-build-system does not seem to work anymore, upstream bug?
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
|
|
|
@ -0,0 +1,140 @@
|
|||
Remove build machinery for bundled dependencies.
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 89e6125e..c5e90750 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -36,7 +36,7 @@ endif()
|
||||
if(PACKAGE)
|
||||
# this needs to be set before project() is called
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.12)
|
||||
- set(ASSETS ON) # necessary for packaging
|
||||
+ set(ASSETS OFF) # necessary for packaging
|
||||
message(STATUS "Building Extempore for binary distribution (assets directory will be downloaded)")
|
||||
endif()
|
||||
|
||||
@@ -134,71 +134,6 @@ else()
|
||||
message(FATAL_ERROR "Sorry, Extempore isn't supported on this platform - macOS, Linux & Windows only.")
|
||||
endif()
|
||||
|
||||
-########
|
||||
-# PCRE #
|
||||
-########
|
||||
-
|
||||
-# current in-tree PCRE version: 8.38
|
||||
-
|
||||
-add_library(pcre STATIC
|
||||
- # headers
|
||||
- src/pcre/config.h
|
||||
- src/pcre/pcre.h
|
||||
- src/pcre/ucp.h
|
||||
- # source files
|
||||
- src/pcre/pcre_chartables.c
|
||||
- src/pcre/pcre_compile.c
|
||||
- src/pcre/pcre_exec.c
|
||||
- src/pcre/pcre_globals.c
|
||||
- src/pcre/pcre_internal.h
|
||||
- src/pcre/pcre_newline.c
|
||||
- src/pcre/pcre_tables.c
|
||||
- )
|
||||
-
|
||||
-target_compile_definitions(pcre
|
||||
- PRIVATE -DHAVE_CONFIG_H
|
||||
- )
|
||||
-
|
||||
-if(PACKAGE)
|
||||
- target_compile_options(pcre
|
||||
- PRIVATE -mtune=generic)
|
||||
-endif()
|
||||
-
|
||||
-#############
|
||||
-# portaudio #
|
||||
-#############
|
||||
-
|
||||
-add_library(portaudio STATIC
|
||||
- src/portaudio/src/common/pa_allocation.c
|
||||
- src/portaudio/src/common/pa_allocation.h
|
||||
- src/portaudio/src/common/pa_converters.c
|
||||
- src/portaudio/src/common/pa_converters.h
|
||||
- src/portaudio/src/common/pa_cpuload.c
|
||||
- src/portaudio/src/common/pa_cpuload.h
|
||||
- src/portaudio/src/common/pa_debugprint.c
|
||||
- src/portaudio/src/common/pa_debugprint.h
|
||||
- src/portaudio/src/common/pa_dither.c
|
||||
- src/portaudio/src/common/pa_dither.h
|
||||
- src/portaudio/src/common/pa_endianness.h
|
||||
- src/portaudio/src/common/pa_front.c
|
||||
- src/portaudio/src/common/pa_hostapi.h
|
||||
- src/portaudio/src/common/pa_memorybarrier.h
|
||||
- src/portaudio/src/common/pa_process.c
|
||||
- src/portaudio/src/common/pa_process.h
|
||||
- src/portaudio/src/common/pa_ringbuffer.c
|
||||
- src/portaudio/src/common/pa_ringbuffer.h
|
||||
- src/portaudio/src/common/pa_stream.c
|
||||
- src/portaudio/src/common/pa_stream.h
|
||||
- src/portaudio/src/common/pa_trace.c
|
||||
- src/portaudio/src/common/pa_trace.h
|
||||
- src/portaudio/src/common/pa_types.h
|
||||
- src/portaudio/src/common/pa_util.h
|
||||
- )
|
||||
-
|
||||
-target_include_directories(portaudio
|
||||
- PRIVATE src/portaudio/include
|
||||
- PRIVATE src/portaudio/src/common)
|
||||
-
|
||||
# platform-specific
|
||||
|
||||
if(APPLE)
|
||||
@@ -224,25 +159,8 @@ if(APPLE)
|
||||
|
||||
elseif(UNIX AND NOT APPLE)
|
||||
# use ALSA on Linux
|
||||
- target_sources(portaudio
|
||||
- PRIVATE src/portaudio/src/hostapi/alsa/pa_linux_alsa.c
|
||||
- PRIVATE src/portaudio/src/os/unix/pa_unix_hostapis.c
|
||||
- PRIVATE src/portaudio/src/os/unix/pa_unix_util.c
|
||||
- )
|
||||
- target_include_directories(portaudio
|
||||
- PRIVATE src/portaudio/src/os/unix)
|
||||
- target_compile_definitions(portaudio
|
||||
- PRIVATE -DPA_USE_ALSA)
|
||||
- target_link_libraries(portaudio
|
||||
- PRIVATE asound)
|
||||
|
||||
if(JACK)
|
||||
- target_sources(portaudio
|
||||
- PRIVATE src/portaudio/src/hostapi/jack/pa_jack.c)
|
||||
- target_compile_definitions(portaudio
|
||||
- PRIVATE -DPA_USE_JACK)
|
||||
- target_link_libraries(portaudio
|
||||
- PRIVATE jack)
|
||||
endif()
|
||||
|
||||
elseif(WIN32)
|
||||
@@ -292,8 +210,6 @@ if(ASIO)
|
||||
endif()
|
||||
|
||||
if(PACKAGE)
|
||||
- target_compile_options(portaudio
|
||||
- PRIVATE -mtune=generic)
|
||||
endif()
|
||||
|
||||
##############
|
||||
@@ -411,8 +327,6 @@ endif()
|
||||
|
||||
# dependencies
|
||||
|
||||
-add_dependencies(extempore pcre portaudio)
|
||||
-
|
||||
if(BUILD_LLVM)
|
||||
if(WIN32)
|
||||
add_dependencies(extempore LLVM-install)
|
||||
@@ -553,7 +467,7 @@ else()
|
||||
install(TARGETS extempore
|
||||
RUNTIME
|
||||
DESTINATION ".")
|
||||
- install(DIRECTORY assets runtime libs examples tests
|
||||
+ install(DIRECTORY runtime libs examples
|
||||
DESTINATION "."
|
||||
PATTERN ".DS_Store" EXCLUDE)
|
||||
endif()
|
|
@ -1,118 +0,0 @@
|
|||
This patch to LLVM is required by the developers of the Extempore language.
|
||||
The following explanation was posted to the extemporelang@googlegroups.com
|
||||
mailing list:
|
||||
|
||||
"There is an assumption in the parser that all definitions occur within the
|
||||
same compilation unit - i.e. the parser has local state about what has been
|
||||
parsed in this unit of work. Extempore obviously does lots of little units
|
||||
rather than one big unit and this causes problems for named types that were
|
||||
defined in another unit - which they always are. The patch simply checks the
|
||||
current module to see if the type has been previously defined, and intervenes
|
||||
appropriately if it has."
|
||||
|
||||
Message-ID: <CAOjrPOqoreXuZo4ZpDBvHE7M_tgAR_V8Txq5JFjh1HnGRn2EsA@mail.gmail.com>
|
||||
|
||||
--- llvm-3.7.1.src/include/llvm/MC/MCSectionCOFF.h 2015-04-11 12:11:45.000000000 +1000
|
||||
+++ llvm-3.7.1.src/include/llvm/MC/MCSectionCOFF.h 2015-09-14 09:22:56.000000000 +1000
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/MC/MCSection.h"
|
||||
-#include "llvm/Support/COFF.h"
|
||||
|
||||
namespace llvm {
|
||||
class MCSymbol;
|
||||
|
||||
--- llvm-3.7.1.src/lib/AsmParser/LLParser.cpp 2015-07-11 20:30:36.000000000 +1000
|
||||
+++ llvm-3.7.1.src/lib/AsmParser/LLParser.cpp 2015-09-14 09:20:57.000000000 +1000
|
||||
@@ -1754,8 +1754,14 @@
|
||||
// If the type hasn't been defined yet, create a forward definition and
|
||||
// remember where that forward def'n was seen (in case it never is defined).
|
||||
if (!Entry.first) {
|
||||
- Entry.first = StructType::create(Context, Lex.getStrVal());
|
||||
- Entry.second = Lex.getLoc();
|
||||
+ // this here for extempore
|
||||
+ if (M->getTypeByName(Lex.getStrVal())) {
|
||||
+ Entry.first = M->getTypeByName(Lex.getStrVal());
|
||||
+ Entry.second = SMLoc();
|
||||
+ } else {
|
||||
+ Entry.first = StructType::create(Context, Lex.getStrVal());
|
||||
+ Entry.second = Lex.getLoc();
|
||||
+ }
|
||||
}
|
||||
Result = Entry.first;
|
||||
Lex.Lex();
|
||||
|
||||
--- llvm-3.7.1.src/lib/CodeGen/TargetLoweringObjectFileImpl.cpp 2015-07-01 05:10:31.000000000 +1000
|
||||
+++ llvm-3.7.1.src/lib/CodeGen/TargetLoweringObjectFileImpl.cpp 2015-09-14 09:23:40.000000000 +1000
|
||||
@@ -32,6 +32,7 @@
|
||||
#include "llvm/MC/MCStreamer.h"
|
||||
#include "llvm/MC/MCSymbolELF.h"
|
||||
#include "llvm/MC/MCValue.h"
|
||||
+#include "llvm/Support/COFF.h"
|
||||
#include "llvm/Support/Dwarf.h"
|
||||
#include "llvm/Support/ELF.h"
|
||||
#include "llvm/Support/ErrorHandling.h"
|
||||
|
||||
--- llvm-3.7.1.src/lib/ExecutionEngine/MCJIT/MCJIT.cpp 2015-07-31 02:31:16.000000000 +1000
|
||||
+++ llvm-3.7.1.src/lib/ExecutionEngine/MCJIT/MCJIT.cpp 2015-09-14 09:21:28.000000000 +1000
|
||||
@@ -524,6 +524,17 @@
|
||||
rv.IntVal = APInt(32, PF(ArgValues[0].IntVal.getZExtValue()));
|
||||
return rv;
|
||||
}
|
||||
+ if (FTy->getNumParams() == 1 &&
|
||||
+ RetTy->isVoidTy() &&
|
||||
+ FTy->getParamType(0)->isPointerTy()) {
|
||||
+ GenericValue rv;
|
||||
+ //void (*PF)(char *) = (void(*)(char *))(intptr_t)FPtr;
|
||||
+ //printf("are symbols available: %d\n",isSymbolSearchingDisabled());
|
||||
+ void (*PF)(char *) = (void(*)(char *))FPtr;
|
||||
+ char* mzone = (char*) GVTOP(ArgValues[0]);
|
||||
+ PF(mzone);
|
||||
+ return rv;
|
||||
+ }
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
--- llvm-3.7.1.src/lib/MC/MCContext.cpp 2015-06-23 21:31:32.000000000 +1000
|
||||
+++ llvm-3.7.1.src/lib/MC/MCContext.cpp 2015-09-14 09:24:01.000000000 +1000
|
||||
@@ -23,6 +23,7 @@
|
||||
#include "llvm/MC/MCSymbolCOFF.h"
|
||||
#include "llvm/MC/MCSymbolELF.h"
|
||||
#include "llvm/MC/MCSymbolMachO.h"
|
||||
+#include "llvm/Support/COFF.h"
|
||||
#include "llvm/Support/ELF.h"
|
||||
#include "llvm/Support/ErrorHandling.h"
|
||||
#include "llvm/Support/FileSystem.h"
|
||||
|
||||
--- llvm-3.7.1.src/lib/MC/MCObjectFileInfo.cpp 2015-06-25 10:28:42.000000000 +1000
|
||||
+++ llvm-3.7.1.src/lib/MC/MCObjectFileInfo.cpp 2015-09-14 09:24:17.000000000 +1000
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "llvm/MC/MCSectionCOFF.h"
|
||||
#include "llvm/MC/MCSectionELF.h"
|
||||
#include "llvm/MC/MCSectionMachO.h"
|
||||
+#include "llvm/Support/COFF.h"
|
||||
using namespace llvm;
|
||||
|
||||
static bool useCompactUnwind(const Triple &T) {
|
||||
|
||||
--- llvm-3.7.1.src/lib/MC/MCSectionCOFF.cpp 2015-06-09 10:31:39.000000000 +1000
|
||||
+++ llvm-3.7.1.src/lib/MC/MCSectionCOFF.cpp 2015-09-14 09:24:25.000000000 +1000
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "llvm/MC/MCAsmInfo.h"
|
||||
#include "llvm/MC/MCContext.h"
|
||||
#include "llvm/MC/MCSymbol.h"
|
||||
+#include "llvm/Support/COFF.h"
|
||||
#include "llvm/Support/raw_ostream.h"
|
||||
using namespace llvm;
|
||||
|
||||
--- llvm-3.7.1.src/lib/Target/X86/X86TargetObjectFile.cpp 2015-06-27 04:55:48.000000000 +1000
|
||||
+++ llvm-3.7.1.src/lib/Target/X86/X86TargetObjectFile.cpp 2015-09-14 09:25:03.000000000 +1000
|
||||
@@ -16,6 +16,7 @@
|
||||
#include "llvm/MC/MCSectionCOFF.h"
|
||||
#include "llvm/MC/MCSectionELF.h"
|
||||
#include "llvm/MC/MCValue.h"
|
||||
+#include "llvm/Support/COFF.h"
|
||||
#include "llvm/Support/Dwarf.h"
|
||||
#include "llvm/Target/TargetLowering.h"
|
|
@ -1,35 +0,0 @@
|
|||
From 4186c94104ee528abd6860611b49515f3e6ec644 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Guillem <thomas@gllm.fr>
|
||||
Date: Fri, 18 Oct 2019 10:34:07 +0200
|
||||
Subject: [PATCH] input/item: sort before attaching slaves
|
||||
|
||||
The order of readdir() is completely filesystem dependent.
|
||||
|
||||
Slaves should be attached using the same order across multiple OSses/access
|
||||
modules.
|
||||
|
||||
This fixes the test_libvlc_slaves on some system when the entry order from
|
||||
readdir() is different.
|
||||
|
||||
This patch need to be backported to VLC 3.0.
|
||||
---
|
||||
src/input/item.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/input/item.c b/src/input/item.c
|
||||
index e8db39ca28..fbd74cc95f 100644
|
||||
--- a/src/input/item.c
|
||||
+++ b/src/input/item.c
|
||||
@@ -1809,8 +1809,8 @@ void vlc_readdir_helper_finish(struct vlc_readdir_helper *p_rdh, bool b_success)
|
||||
{
|
||||
if (b_success)
|
||||
{
|
||||
- rdh_attach_slaves(p_rdh, p_rdh->p_node);
|
||||
rdh_sort(p_rdh->p_node);
|
||||
+ rdh_attach_slaves(p_rdh, p_rdh->p_node);
|
||||
}
|
||||
free(p_rdh->psz_ignored_exts);
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
|
@ -267,14 +267,14 @@ (define-public redland
|
|||
(define-public serd
|
||||
(package
|
||||
(name "serd")
|
||||
(version "0.30.2")
|
||||
(version "0.30.4")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://download.drobilla.net/serd-"
|
||||
version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"00kjjgs5a8r72khgpya14scvl3n58wqwl5927y14z03j25q04ccx"))))
|
||||
"168rn3m32c59qbar120f83ibcnnd987ij9p053kybgl7cmm6358c"))))
|
||||
(build-system waf-build-system)
|
||||
(arguments
|
||||
`(#:tests? #f ; no check target
|
||||
|
|
|
@ -651,13 +651,17 @@ (define-public twinkle
|
|||
(define-public pjproject
|
||||
(package
|
||||
(name "pjproject")
|
||||
(version "2.9")
|
||||
(version "2.10")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pjsip/pjproject.git")
|
||||
(commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
|
||||
(commit version)))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
'(begin
|
||||
|
@ -686,11 +690,7 @@ (define-public pjproject
|
|||
(lambda (dirs)
|
||||
(substitute* "third_party/build/os-linux.mak"
|
||||
(((string-append "DIRS += " dirs)) "")))
|
||||
third-party-dirs))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32
|
||||
"1ayj6n7zd5wvd1nzj2k9s57fb4ckc2fv92k5sjvhd87yg69k3393"))))
|
||||
third-party-dirs))))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("portaudio" ,portaudio)))
|
||||
|
@ -734,278 +734,6 @@ (define-public pjproject
|
|||
Initiation Protocol (SIP) and a multimedia framework.")
|
||||
(license license:gpl2+)))
|
||||
|
||||
(define %jami-version "20191101.3.67671e7")
|
||||
|
||||
(define* (jami-source #:key without-daemon)
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://dl.jami.net/ring-release/tarballs/ring_"
|
||||
%jami-version
|
||||
".tar.gz"))
|
||||
(modules '((guix build utils)))
|
||||
(snippet
|
||||
(if without-daemon
|
||||
'(begin
|
||||
(delete-file-recursively "daemon/contrib"))
|
||||
#f))
|
||||
(sha256
|
||||
(base32
|
||||
"0kw172w2ccyz438kf5xqw14nhfm4xk6a2libnzib9j2wvhlpf4q0"))))
|
||||
|
||||
(define-public pjproject-jami
|
||||
(package
|
||||
(inherit pjproject)
|
||||
(name "pjproject-jami")
|
||||
(native-inputs
|
||||
`(("savoir-faire-linux-patches" ,(jami-source))
|
||||
,@(package-native-inputs pjproject)))
|
||||
(arguments
|
||||
`(#:tests? #f
|
||||
;; See ring-project/daemon/contrib/src/pjproject/rules.mak.
|
||||
#:configure-flags
|
||||
(list "--disable-oss"
|
||||
"--disable-sound"
|
||||
"--disable-video"
|
||||
"--enable-ext-sound"
|
||||
"--disable-speex-aec"
|
||||
"--disable-g711-codec"
|
||||
"--disable-l16-codec"
|
||||
"--disable-gsm-codec"
|
||||
"--disable-g722-codec"
|
||||
"--disable-g7221-codec"
|
||||
"--disable-speex-codec"
|
||||
"--disable-ilbc-codec"
|
||||
"--disable-opencore-amr"
|
||||
"--disable-silk"
|
||||
"--disable-sdl"
|
||||
"--disable-ffmpeg"
|
||||
"--disable-v4l2"
|
||||
"--disable-openh264"
|
||||
"--disable-resample"
|
||||
"--disable-libwebrtc"
|
||||
"--with-gnutls"
|
||||
"--with-external-srtp"
|
||||
;; We need -fPIC or else we get the following error when linking
|
||||
;; against pjproject-jami:
|
||||
;; relocation R_X86_64_32S against `.rodata' can not be used when
|
||||
;; making a shared object;
|
||||
"CFLAGS=-fPIC"
|
||||
"CXXFLAGS=-fPIC")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'make-git-checkout-writable
|
||||
(lambda _
|
||||
(for-each make-file-writable (find-files "."))
|
||||
#t))
|
||||
(add-after 'unpack 'apply-patches
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((savoir-faire-linux-patches-directory "Savoir-faire Linux patches")
|
||||
;; Comes from
|
||||
;; "ring-project/daemon/contrib/src/pjproject/rules.mak".
|
||||
;; WARNING: These amount for huge changes in pjproject.
|
||||
(savoir-faire-linux-patches
|
||||
'("fix_turn_alloc_failure"
|
||||
"rfc2466"
|
||||
"ipv6"
|
||||
"multiple_listeners"
|
||||
"pj_ice_sess"
|
||||
"fix_turn_fallback"
|
||||
"fix_ioqueue_ipv6_sendto"
|
||||
"add_dtls_transport"
|
||||
"rfc6544"
|
||||
"ice_config"
|
||||
"sip_config"
|
||||
"fix_first_packet_turn_tcp"
|
||||
"fix_ebusy_turn"
|
||||
"ignore_ipv6_on_transport_check"
|
||||
"fix_turn_connection_failure"
|
||||
;; "uwp_vs" ; for windows
|
||||
"disable_local_resolution")))
|
||||
(mkdir-p savoir-faire-linux-patches-directory)
|
||||
(invoke "tar" "-xvf" (assoc-ref inputs "savoir-faire-linux-patches")
|
||||
"-C" savoir-faire-linux-patches-directory
|
||||
"--strip-components=5"
|
||||
"ring-project/daemon/contrib/src/pjproject")
|
||||
(for-each
|
||||
(lambda (file)
|
||||
(invoke "patch" "--force" "-p1" "-i"
|
||||
(string-append savoir-faire-linux-patches-directory "/"
|
||||
file ".patch")))
|
||||
savoir-faire-linux-patches))
|
||||
#t))
|
||||
;; TODO: We could use substitute-keyword-arguments instead of
|
||||
;; repeating the phases from pjproject, but somehow it does
|
||||
;; not work.
|
||||
(add-before 'build 'build-dep
|
||||
(lambda _ (invoke "make" "dep")))
|
||||
(add-before 'patch-source-shebangs 'autoconf
|
||||
(lambda _
|
||||
(invoke "autoconf" "-v" "-f" "-i" "-o"
|
||||
"aconfigure" "aconfigure.ac")))
|
||||
(add-before 'autoconf 'disable-some-tests
|
||||
;; Three of the six test programs fail due to missing network
|
||||
;; access.
|
||||
(lambda _
|
||||
(substitute* "Makefile"
|
||||
(("selftest: pjlib-test pjlib-util-test pjnath-test pjmedia-test pjsip-test pjsua-test")
|
||||
"selftest: pjlib-test pjlib-util-test pjmedia-test"))
|
||||
#t)))))))
|
||||
|
||||
(define-public libring
|
||||
(package
|
||||
(name "libring")
|
||||
(version %jami-version)
|
||||
(source (jami-source #:without-daemon #t))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
;; Missing (optional?) dep: libnatpmp.
|
||||
`(("alsa-lib" ,alsa-lib)
|
||||
("boost" ,boost)
|
||||
("dbus-c++" ,dbus-c++)
|
||||
("eudev" ,eudev)
|
||||
("ffmpeg" ,ffmpeg)
|
||||
("flac" ,flac)
|
||||
("gmp" ,gmp)
|
||||
("gsm" ,gsm)
|
||||
("jack" ,jack-1)
|
||||
("jsoncpp" ,jsoncpp)
|
||||
("libogg" ,libogg)
|
||||
("libva" ,libva)
|
||||
("opendht" ,opendht)
|
||||
("opus" ,opus)
|
||||
("pcre" ,pcre)
|
||||
("pulseaudio" ,pulseaudio)
|
||||
("libsamplerate" ,libsamplerate)
|
||||
("libsndfile" ,libsndfile)
|
||||
("speex" ,speex)
|
||||
("speexdsp" ,speexdsp)
|
||||
("libupnp" ,libupnp)
|
||||
("libvorbis" ,libvorbis)
|
||||
("libx264" ,libx264)
|
||||
("libvdpau" ,libvdpau)
|
||||
("yaml-cpp" ,yaml-cpp)
|
||||
("zlib" ,zlib)
|
||||
("openssl" ,openssl)
|
||||
("libsecp256k1" ,libsecp256k1)
|
||||
("python" ,python)
|
||||
("python-wrapper" ,python-wrapper)
|
||||
("restinio" ,restinio)
|
||||
("libx11" ,libx11)
|
||||
("asio" ,asio)
|
||||
;; TODO: Upstream seems to rely on a custom pjproject (a.k.a. pjsip) version.
|
||||
;; See https://git.jami.net/savoirfairelinux/ring-daemon/issues/24.
|
||||
("pjproject" ,pjproject-jami)))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)
|
||||
("which" ,which)
|
||||
("cppunit" ,cppunit)
|
||||
("perl" ,perl))) ; Needed for documentation.
|
||||
(arguments
|
||||
`(#:tests? #f ; The tests fail to compile due to missing headers.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "daemon")
|
||||
#t))
|
||||
(add-before 'build 'add-lib-dir
|
||||
(lambda _
|
||||
(mkdir-p "src/lib")
|
||||
#t)))))
|
||||
(synopsis "Distributed multimedia communications platform")
|
||||
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
|
||||
video and chat communication platform that requires no centralized server and
|
||||
leaves the power of privacy in the hands of the user. It supports the SIP and
|
||||
IAX protocols, as well as decentralized calling using P2P-DHT.
|
||||
|
||||
This package provides a library and daemon implementing the Jami core
|
||||
functionality.")
|
||||
(home-page "https://jami.net/")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public libringclient
|
||||
(package
|
||||
(inherit libring)
|
||||
(name "libringclient")
|
||||
(build-system cmake-build-system)
|
||||
(propagated-inputs
|
||||
`(("libring" ,libring) ; For 'dring'.
|
||||
("qtbase" ,qtbase) ; Qt is included in several installed headers.
|
||||
("qttools" ,qttools)))
|
||||
(arguments
|
||||
`(#:tests? #f ; There is no testsuite.
|
||||
#:configure-flags
|
||||
(list (string-append "-DRING_BUILD_DIR="
|
||||
(assoc-ref %build-inputs "libring") "/include"))
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "lrc")
|
||||
#t))
|
||||
(add-before 'configure 'fix-dbus-interfaces-path
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(substitute* "CMakeLists.txt"
|
||||
(("\\$\\{CMAKE_INSTALL_PREFIX\\}(/share/dbus-1/interfaces)" _ dbus-interfaces-path-suffix)
|
||||
(string-append (assoc-ref inputs "libring")
|
||||
dbus-interfaces-path-suffix))))))))
|
||||
(synopsis "Distributed multimedia communications platform")
|
||||
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
|
||||
video and chat communication platform that requires no centralized server and
|
||||
leaves the power of privacy in the hands of the user. It supports the SIP and
|
||||
IAX protocols, as well as decentralized calling using P2P-DHT.
|
||||
|
||||
This package provides a library common to all Jami clients.")
|
||||
(home-page "https://jami.net")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public jami
|
||||
(package
|
||||
(inherit libring)
|
||||
(name "jami")
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
`(("libringclient" ,libringclient)
|
||||
("gtk+" ,gtk+)
|
||||
("qrencode" ,qrencode)
|
||||
("libnotify" ,libnotify)
|
||||
("clutter" ,clutter)
|
||||
("clutter-gtk" ,clutter-gtk)
|
||||
("libcanberra" ,libcanberra)
|
||||
("webkitgtk" ,webkitgtk)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)
|
||||
("gettext" ,gettext-minimal)
|
||||
("glib:bin" ,glib "bin")
|
||||
("doxygen" ,doxygen)))
|
||||
(propagated-inputs
|
||||
`(("libring" ,libring) ; Contains `dring', the daemon, which is automatically by d-bus.
|
||||
("adwaita-icon-theme" ,adwaita-icon-theme)
|
||||
("evolution-data-server" ,evolution-data-server)))
|
||||
(arguments
|
||||
`(#:tests? #f ; There is no testsuite.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'change-directory
|
||||
(lambda _
|
||||
(chdir "client-gnome")
|
||||
#t)))))
|
||||
(synopsis "Distributed, privacy-respecting communication program")
|
||||
(description "Jami (formerly GNU Ring) is a secure and distributed voice,
|
||||
video and chat communication platform that requires no centralized server and
|
||||
leaves the power of privacy in the hands of the user. It supports the SIP and
|
||||
IAX protocols, as well as decentralized calling using P2P-DHT.
|
||||
|
||||
This package provides the Jami client for the GNOME desktop.")
|
||||
(home-page "https://jami.net")
|
||||
(license license:gpl3+)))
|
||||
|
||||
(define-public jami-client-gnome
|
||||
(deprecated-package "jami-client-gnome" jami))
|
||||
|
||||
(define-public libtgvoip
|
||||
(package
|
||||
(name "libtgvoip")
|
||||
|
|
|
@ -757,14 +757,14 @@ (define-public texmacs
|
|||
(define-public scintilla
|
||||
(package
|
||||
(name "scintilla")
|
||||
(version "4.3.2")
|
||||
(version "4.3.3")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (let ((v (apply string-append (string-split version #\.))))
|
||||
(string-append "https://www.scintilla.org/scintilla" v ".tgz")))
|
||||
(sha256
|
||||
(base32 "0d8ssl0d8r6bslbzd507l9c5g8mwn1zriak3fnf85936pdmkhq9h"))))
|
||||
(base32 "0zh8c19r1zd4kr9jg2ws0n2n5ic2siz5zbns6cvylyfbpf69ghy2"))))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
`(#:make-flags (list "GTK3=1" "CC=gcc" "-Cgtk")
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
;;; Copyright © 2016, 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Theodoros Foradis <theodoros@foradis.org>
|
||||
;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
|
||||
;;; Copyright © 2020 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -28,6 +29,7 @@ (define-module (gnu packages upnp)
|
|||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages mp3)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages xiph)
|
||||
#:use-module (gnu packages sqlite)
|
||||
#:use-module (gnu packages python)
|
||||
|
@ -92,15 +94,21 @@ (define-public miniupnpc
|
|||
(define-public libupnp
|
||||
(package
|
||||
(name "libupnp")
|
||||
(version "1.6.25")
|
||||
(version "1.8.6")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "mirror://sourceforge/pupnp/pupnp/libUPnP%20"
|
||||
version "/" name "-" version ".tar.bz2"))
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/pupnp/pupnp.git")
|
||||
(commit (string-append "release-" version))))
|
||||
(sha256
|
||||
(base32
|
||||
"0hzsd7rvfa87b4hxg9yj4xhdfxx9sp09r9sqdl3mqhvmcyw018y5"))))
|
||||
"1jlb6qh47513h2simy0zxia5q61w1c31mnwmjqpr2nf832lmnpk4"))))
|
||||
(native-inputs
|
||||
`(("autoconf" ,autoconf)
|
||||
("automake" ,automake)
|
||||
("libtool" ,libtool)
|
||||
("pkg-config" ,pkg-config)))
|
||||
(build-system gnu-build-system)
|
||||
(arguments
|
||||
;; The tests require a network device capable of multicasting which is
|
||||
|
|
|
@ -1191,7 +1191,7 @@ (define-public ffmpegthumbnailer
|
|||
(define-public vlc
|
||||
(package
|
||||
(name "vlc")
|
||||
(version "3.0.8")
|
||||
(version "3.0.10")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
|
@ -1200,13 +1200,7 @@ (define-public vlc
|
|||
"/vlc-" version ".tar.xz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1xmxjpyzdhabchwncz6lvx3kzvl7fz9c42bkv3nbj68albs9w570"))
|
||||
(patches
|
||||
(search-patches
|
||||
;; TODO: The test "libvlc_slaves" fails. Applied upstream as
|
||||
;; <https://git.videolan.org/?p=vlc.git;a=commit;h=4186c94104ee528abd6860611b49515f3e6ec644>.
|
||||
;; Try removing it in 3.0.9.
|
||||
"vlc-fix-test_libvlc_slaves.patch"))))
|
||||
"0cackl1084hcmg4myf3kvjvd6sjxmzn0c0qkmanz6brvgzyanrm9"))))
|
||||
(build-system gnu-build-system)
|
||||
(native-inputs
|
||||
`(("flex" ,flex)
|
||||
|
@ -1311,20 +1305,6 @@ (define-public vlc
|
|||
;; which fails in our sandboxed build system
|
||||
(substitute* "test/run_vlc.sh"
|
||||
(("./vlc --ignore-config") "echo"))
|
||||
|
||||
;; modules/text_renderer/freetype/text_layout.c uses a
|
||||
;; now-deprecated interface 'fribidi_get_par_embedding_levels'
|
||||
;; from fribidi.h, so for now we enable the use of deprecated
|
||||
;; fribidi interfaces from this file.
|
||||
;; FIXME: Try removing this for vlc >= 3.0.3.
|
||||
(substitute* "modules/text_renderer/freetype/text_layout.c"
|
||||
(("# define FRIBIDI_NO_DEPRECATED 1") ""))
|
||||
|
||||
;; Fix build with libssh2 > 1.8.0:
|
||||
;; <https://trac.videolan.org/vlc/ticket/22060>
|
||||
;; <https://git.videolan.org/?p=vlc.git;a=commit;h=11449b5cd8b415768e010d9b7c1d6ba3cea21f82>
|
||||
(substitute* "modules/access/sftp.c"
|
||||
(("010801") "010900"))
|
||||
#t)))
|
||||
(add-after 'strip 'regenerate-plugin-cache
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
|
|
|
@ -338,7 +338,7 @@ (define-public lynx
|
|||
(define-public qutebrowser
|
||||
(package
|
||||
(name "qutebrowser")
|
||||
(version "1.10.0")
|
||||
(version "1.11.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -347,7 +347,7 @@ (define-public qutebrowser
|
|||
"qutebrowser-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1prvd3cysmcjfybn0dmr3ih0bl6lm5ml9i7wd09fn8hb7047mkby"))))
|
||||
"0b0qlki9bp9mm41lrh6rc6qqvm4nsz8da63sby3a1f2xm9b9vvg2"))))
|
||||
(build-system python-build-system)
|
||||
(native-inputs
|
||||
`(("python-attrs" ,python-attrs))) ; for tests
|
||||
|
|
|
@ -1316,17 +1316,13 @@ (define syslog-service-type
|
|||
(documentation "Run the syslog daemon (syslogd).")
|
||||
(provision '(syslogd))
|
||||
(requirement '(user-processes))
|
||||
(start #~(let ((spawn (make-forkexec-constructor
|
||||
(list #$(syslog-configuration-syslogd config)
|
||||
"--rcfile"
|
||||
#$(syslog-configuration-config-file config))
|
||||
#:pid-file "/var/run/syslog.pid")))
|
||||
(lambda ()
|
||||
;; Set the umask such that file permissions are #o640.
|
||||
(let ((mask (umask #o137))
|
||||
(pid (spawn)))
|
||||
(umask mask)
|
||||
pid))))
|
||||
(start #~(make-forkexec-constructor
|
||||
(list #$(syslog-configuration-syslogd config)
|
||||
"--rcfile"
|
||||
#$(syslog-configuration-config-file config))
|
||||
;; Set the umask such that file permissions are #o640.
|
||||
#:file-creation-mask #o137
|
||||
#:pid-file "/var/run/syslog.pid"))
|
||||
(stop #~(make-kill-destructor))))))
|
||||
|
||||
;; Snippet adapted from the GNU inetutils manual.
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
;;; GNU Guix --- Functional package management for GNU
|
||||
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;; Copyright © 2020 Pierre Langlois <pierre.langlois@gmx.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -748,6 +749,8 @@ (define-record-type* <dnsmasq-configuration>
|
|||
(default #f)) ;boolean
|
||||
(servers dnsmasq-configuration-servers
|
||||
(default '())) ;list of string
|
||||
(addresses dnsmasq-configuration-addresses
|
||||
(default '())) ;list of string
|
||||
(cache-size dnsmasq-configuration-cache-size
|
||||
(default 150)) ;integer
|
||||
(negative-cache? dnsmasq-configuration-negative-cache?
|
||||
|
@ -759,7 +762,7 @@ (define dnsmasq-shepherd-service
|
|||
no-hosts?
|
||||
port local-service? listen-addresses
|
||||
resolv-file no-resolv? servers
|
||||
cache-size negative-cache?)
|
||||
addresses cache-size negative-cache?)
|
||||
(shepherd-service
|
||||
(provision '(dnsmasq))
|
||||
(requirement '(networking))
|
||||
|
@ -783,6 +786,8 @@ (define dnsmasq-shepherd-service
|
|||
'())
|
||||
#$@(map (cut format #f "--server=~a" <>)
|
||||
servers)
|
||||
#$@(map (cut format #f "--address=~a" <>)
|
||||
addresses)
|
||||
#$(format #f "--cache-size=~a" cache-size)
|
||||
#$@(if negative-cache?
|
||||
'()
|
||||
|
|
|
@ -7,6 +7,7 @@
|
|||
;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com>
|
||||
;;; Copyright © 2020 Danny Milosavljevic <dannym@scratchpost.org>
|
||||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -148,7 +149,8 @@ (define-module (gnu system)
|
|||
%base-packages-linux
|
||||
%base-packages-networking
|
||||
%base-packages-utils
|
||||
%base-firmware))
|
||||
%base-firmware
|
||||
%default-kernel-arguments))
|
||||
|
||||
;;; Commentary:
|
||||
;;;
|
||||
|
@ -179,7 +181,7 @@ (define-record-type* <operating-system> operating-system
|
|||
(kernel-loadable-modules operating-system-kernel-loadable-modules
|
||||
(default '())) ; list of packages
|
||||
(kernel-arguments operating-system-user-kernel-arguments
|
||||
(default '("quiet"))) ; list of gexps/strings
|
||||
(default %default-kernel-arguments)) ; list of gexps/strings
|
||||
(bootloader operating-system-bootloader) ; <bootloader-configuration>
|
||||
(label operating-system-label ; string
|
||||
(thunked)
|
||||
|
@ -488,6 +490,17 @@ (define (package-for-kernel target-kernel module-package)
|
|||
((#:linux kernel #f)
|
||||
target-kernel)))))
|
||||
|
||||
(define %default-modprobe-blacklist
|
||||
;; List of kernel modules to blacklist by default.
|
||||
'("usbmouse" ;races with bcm5974, see <https://bugs.gnu.org/35574>
|
||||
"usbkbd")) ;races with usbhid, see <https://issues.guix.gnu.org/35574#18>
|
||||
|
||||
(define %default-kernel-arguments
|
||||
;; Default arguments passed to the kernel.
|
||||
(list (string-append "modprobe.blacklist="
|
||||
(string-join %default-modprobe-blacklist ","))
|
||||
"quiet"))
|
||||
|
||||
(define* (operating-system-directory-base-entries os)
|
||||
"Return the basic entries of the 'system' directory of OS for use as the
|
||||
value of the SYSTEM-SERVICE-TYPE service."
|
||||
|
|
|
@ -470,12 +470,6 @@ (define installation-os
|
|||
(label (string-append "GNU Guix installation "
|
||||
(package-version guix)))
|
||||
|
||||
;; XXX: The AMD Radeon driver is reportedly broken, which makes kmscon
|
||||
;; non-functional:
|
||||
;; <https://lists.gnu.org/archive/html/guix-devel/2019-03/msg00441.html>.
|
||||
;; Thus, blacklist it.
|
||||
(kernel-arguments '("quiet" "modprobe.blacklist=radeon"))
|
||||
|
||||
(file-systems
|
||||
;; Note: the disk image build code overrides this root file system with
|
||||
;; the appropriate one.
|
||||
|
|
|
@ -275,6 +275,7 @@ (define file-system-type-modules
|
|||
("btrfs" => '("btrfs"))
|
||||
("iso9660" => '("isofs"))
|
||||
("jfs" => '("jfs"))
|
||||
("f2fs" => '("f2fs" "crc32_generic"))
|
||||
(else '())))
|
||||
|
||||
(define (file-system-modules file-systems)
|
||||
|
|
|
@ -1489,6 +1489,7 @@ (define man-directory
|
|||
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29654#23>.
|
||||
#:env-vars `(("MALLOC_PERTURB_" . "1"))
|
||||
|
||||
#:substitutable? #f
|
||||
#:local-build? #t
|
||||
#:properties
|
||||
`((type . profile-hook)
|
||||
|
|
Loading…
Reference in a new issue