summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/guix.texi106
-rw-r--r--gnu/build/chromium-extension.scm192
-rw-r--r--gnu/build/file-systems.scm59
-rw-r--r--gnu/build/linux-boot.scm59
-rw-r--r--gnu/installer/newt/parameters.scm4
-rw-r--r--gnu/installer/newt/partition.scm2
-rw-r--r--gnu/local.mk5
-rw-r--r--gnu/packages/ada.scm119
-rw-r--r--gnu/packages/admin.scm31
-rw-r--r--gnu/packages/algebra.scm15
-rw-r--r--gnu/packages/aspell.scm17
-rw-r--r--gnu/packages/assembly.scm4
-rw-r--r--gnu/packages/audio.scm16
-rw-r--r--gnu/packages/authentication.scm16
-rw-r--r--gnu/packages/backup.scm4
-rw-r--r--gnu/packages/bioinformatics.scm32
-rw-r--r--gnu/packages/bootloaders.scm13
-rw-r--r--gnu/packages/browser-extensions.scm123
-rw-r--r--gnu/packages/c.scm4
-rw-r--r--gnu/packages/cdrom.scm6
-rw-r--r--gnu/packages/check.scm8
-rw-r--r--gnu/packages/chromium.scm4
-rw-r--r--gnu/packages/cmake.scm2
-rw-r--r--gnu/packages/compression.scm2
-rw-r--r--gnu/packages/crates-io.scm44
-rw-r--r--gnu/packages/crypto.scm9
-rw-r--r--gnu/packages/databases.scm245
-rw-r--r--gnu/packages/dbm.scm8
-rw-r--r--gnu/packages/disk.scm19
-rw-r--r--gnu/packages/docbook.scm12
-rw-r--r--gnu/packages/education.scm4
-rw-r--r--gnu/packages/emacs-xyz.scm192
-rw-r--r--gnu/packages/emacs.scm1
-rw-r--r--gnu/packages/embedded.scm20
-rw-r--r--gnu/packages/emulators.scm6
-rw-r--r--gnu/packages/enchant.scm4
-rw-r--r--gnu/packages/engineering.scm8
-rw-r--r--gnu/packages/enlightenment.scm4
-rw-r--r--gnu/packages/file-systems.scm9
-rw-r--r--gnu/packages/finance.scm15
-rw-r--r--gnu/packages/fonts.scm30
-rw-r--r--gnu/packages/fontutils.scm5
-rw-r--r--gnu/packages/freedesktop.scm23
-rw-r--r--gnu/packages/games.scm16
-rw-r--r--gnu/packages/gnome-xyz.scm6
-rw-r--r--gnu/packages/gnome.scm86
-rw-r--r--gnu/packages/gnucash.scm21
-rw-r--r--gnu/packages/gnupg.scm1
-rw-r--r--gnu/packages/gnuzilla.scm33
-rw-r--r--gnu/packages/golang.scm102
-rw-r--r--gnu/packages/guile-xyz.scm15
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/kde.scm4
-rw-r--r--gnu/packages/libreoffice.scm5
-rw-r--r--gnu/packages/linux.scm39
-rw-r--r--gnu/packages/lisp-xyz.scm361
-rw-r--r--gnu/packages/mail.scm14
-rw-r--r--gnu/packages/mate.scm1
-rw-r--r--gnu/packages/maths.scm15
-rw-r--r--gnu/packages/messaging.scm4
-rw-r--r--gnu/packages/mpd.scm4
-rw-r--r--gnu/packages/music.scm23
-rw-r--r--gnu/packages/networking.scm97
-rw-r--r--gnu/packages/ocaml.scm112
-rw-r--r--gnu/packages/package-management.scm14
-rw-r--r--gnu/packages/patches/icecat-makeicecat.patch4
-rw-r--r--gnu/packages/patches/oath-toolkit-glibc-compat.patch90
-rw-r--r--gnu/packages/patches/sdcc-disable-non-free-code.patch3643
-rw-r--r--gnu/packages/patches/yggdrasil-extra-config.patch86
-rw-r--r--gnu/packages/pdf.scm2
-rw-r--r--gnu/packages/perl.scm44
-rw-r--r--gnu/packages/piet.scm121
-rw-r--r--gnu/packages/pretty-print.scm4
-rw-r--r--gnu/packages/python-check.scm34
-rw-r--r--gnu/packages/python-crypto.scm4
-rw-r--r--gnu/packages/python-web.scm2
-rw-r--r--gnu/packages/python-xyz.scm26
-rw-r--r--gnu/packages/radio.scm10
-rw-r--r--gnu/packages/ruby.scm12
-rw-r--r--gnu/packages/samba.scm4
-rw-r--r--gnu/packages/scheme.scm6
-rw-r--r--gnu/packages/sdcc.scm10
-rw-r--r--gnu/packages/security-token.scm27
-rw-r--r--gnu/packages/shells.scm4
-rw-r--r--gnu/packages/storage.scm4
-rw-r--r--gnu/packages/tls.scm50
-rw-r--r--gnu/packages/tmux.scm6
-rw-r--r--gnu/packages/version-control.scm17
-rw-r--r--gnu/packages/video.scm43
-rw-r--r--gnu/packages/vim.scm4
-rw-r--r--gnu/packages/vpn.scm8
-rw-r--r--gnu/packages/web-browsers.scm30
-rw-r--r--gnu/packages/web.scm33
-rw-r--r--gnu/packages/wm.scm4
-rw-r--r--gnu/packages/xdisorg.scm4
-rw-r--r--gnu/packages/xfce.scm20
-rw-r--r--gnu/packages/xml.scm4
-rw-r--r--gnu/packages/zile.scm6
-rw-r--r--gnu/services/base.scm28
-rw-r--r--gnu/services/guix.scm11
-rw-r--r--gnu/services/networking.scm117
-rw-r--r--gnu/system/examples/yggdrasil.tmpl60
-rw-r--r--gnu/system/uuid.scm8
-rw-r--r--guix/build-system/ocaml.scm27
104 files changed, 6495 insertions, 600 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index b7f1bc1f00..eb0f47a6af 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -82,6 +82,7 @@ Copyright @copyright{} 2020 Pierre Langlois@*
Copyright @copyright{} 2020 pinoaffe@*
Copyright @copyright{} 2020 André Batista@*
Copyright @copyright{} 2020 Alexandru-Sergiu Marton@*
+Copyright @copyright{} 2020 raingloom@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -14527,6 +14528,9 @@ the name of the log-in program.
When set to @code{#t} in conjunction with @var{auto-login}, the user
will have to press a key before the log-in shell is launched.
+@item @code{clear-on-logout?} (default: @code{#t})
+When set to @code{#t}, the screen will be cleared after logout.
+
@item @code{mingetty} (default: @var{mingetty})
The Mingetty package to use.
@@ -16848,6 +16852,101 @@ Use this to add additional options and manage shared secrets out-of-band.
@end table
@end deftp
+@defvr {Scheme Variable} yggdrasil-service-type
+The service type for connecting to the @uref{https://yggdrasil-network.github.io/,
+Yggdrasil network}, an early-stage implementation of a fully end-to-end
+encrypted IPv6 network.
+
+@quotation
+Yggdrasil provides name-independent routing with cryptographically generated
+addresses. Static addressing means you can keep the same address as long as
+you want, even if you move to a new location, or generate a new address (by
+generating new keys) whenever you want.
+@uref{https://yggdrasil-network.github.io/2018/07/28/addressing.html}
+@end quotation
+
+Pass it a value of @code{yggdrasil-configuration} to connect it to public
+peers and/or local peers.
+
+Here is an example using public peers and a static address. The static
+signing and encryption keys are defined in @file{/etc/yggdrasil-private.conf}
+(the default value for @code{config-file}).
+
+@lisp
+;; part of the operating-system declaration
+(service yggdrasil-service-type
+ (yggdrasil-configuration
+ (autoconf? #f) ;; use only the public peers
+ (json-config
+ ;; choose one from
+ ;; https://github.com/yggdrasil-network/public-peers
+ '((peers . #("tcp://1.2.3.4:1337"))))
+ ;; /etc/yggdrasil-private.conf is the default value for config-file
+ ))
+@end lisp
+@example
+# sample content for /etc/yggdrasil-private.conf
+@{
+ # Your public encryption key. Your peers may ask you for this to put
+ # into their AllowedEncryptionPublicKeys configuration.
+ EncryptionPublicKey: 378dc5...
+
+ # Your private encryption key. DO NOT share this with anyone!
+ EncryptionPrivateKey: 0777...
+
+ # Your public signing key. You should not ordinarily need to share
+ # this with anyone.
+ SigningPublicKey: e1664...
+
+ # Your private signing key. DO NOT share this with anyone!
+ SigningPrivateKey: 0589d...
+@}
+@end example
+@end defvr
+
+@deftp {Data Type} yggdrasil-configuration
+Data type representing the configuration of Yggdrasil.
+
+@table @asis
+@item @code{package} (default: @code{yggdrasil})
+Package object of Yggdrasil.
+
+@item @code{json-config} (default: @code{'()})
+Contents of @file{/etc/yggdrasil.conf}. Will be merged with
+@file{/etc/yggdrasil-private.conf}. Note that these settings are stored in
+the Guix store, which is readable to all users. @strong{Do not store your
+private keys in it}. See the output of @code{yggdrasil -genconf} for a
+quick overview of valid keys and their default values.
+
+@item @code{autoconf?} (default: @code{#f})
+Whether to use automatic mode. Enabling it makes Yggdrasil use adynamic IP
+and peer with IPv6 neighbors.
+
+@item @code{log-level} (default: @code{'info})
+How much detail to include in logs. Use @code{'debug} for more detail.
+
+@item @code{log-to} (default: @code{'stdout})
+Where to send logs. By default, the service logs standard output to
+@file{/var/log/yggdrasil.log}. The alternative is @code{'syslog}, which
+sends output to the running syslog service.
+
+@item @code{config-file} (default: @code{"/etc/yggdrasil-private.conf"})
+What HJSON file to load sensitive data from. This is where private keys
+should be stored, which are necessary to specify if you don't want a
+randomized address after each restart. Use @code{#f} to disable. Options
+defined in this file take precedence over @code{json-config}. Use the output
+of @code{yggdrasil -genconf} as a starting point. To configure a static
+address, delete everything except these options:
+
+@itemize
+@item @code{EncryptionPublicKey}
+@item @code{EncryptionPrivateKey}
+@item @code{SigningPublicKey}
+@item @code{SigningPrivateKey}
+@end itemize
+@end table
+@end deftp
+
@node Unattended Upgrades
@subsection Unattended Upgrades
@@ -22072,9 +22171,10 @@ Defaults to @samp{""}.
@end deftypevr
@deftypevr {@code{zabbix-front-end-configuration} parameter} string db-secret-file
-Secret file which will be appended to @file{zabbix.conf.php} file. This
-file contains credentials for use by Zabbix front-end. You are expected
-to create it manually.
+Secret file containing the credentials for the Zabbix front-end. The value
+must be a local file name, not a G-expression. You are expected to create
+this file manually. Its contents will be copied into @file{zabbix.conf.php}
+as the value of @code{$DB['PASSWORD']}.
Defaults to @samp{""}.
diff --git a/gnu/build/chromium-extension.scm b/gnu/build/chromium-extension.scm
new file mode 100644
index 0000000000..d65df09f37
--- /dev/null
+++ b/gnu/build/chromium-extension.scm
@@ -0,0 +1,192 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;;
+;;; 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 build chromium-extension)
+ #:use-module (gcrypt base16)
+ #:use-module ((gcrypt hash) #:prefix hash:)
+ #:use-module (ice-9 iconv)
+ #:use-module (guix gexp)
+ #:use-module (guix packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages chromium)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages tls)
+ #:use-module (gnu packages xorg)
+ #:use-module (guix build-system trivial)
+ #:export (make-chromium-extension))
+
+;;; Commentary:
+;;;
+;;; Tools to deal with Chromium extensions.
+;;;
+;;; Code:
+
+(define (make-signing-key seed)
+ "Return a derivation for a deterministic PKCS #8 private key using SEED."
+
+ (define sha256sum
+ (bytevector->base16-string (hash:sha256 (string->bytevector seed "UTF-8"))))
+
+ ;; certtool.c wants a 56 byte seed for a 2048 bit key.
+ (define size 2048)
+ (define normalized-seed (string-take sha256sum 56))
+
+ (computed-file (string-append seed "-signing-key.pem")
+ #~(system* #$(file-append gnutls "/bin/certtool")
+ "--generate-privkey"
+ "--key-type=rsa"
+ "--pkcs8"
+ ;; Use the provable FIPS-PUB186-4 algorithm for
+ ;; deterministic results.
+ "--provable"
+ "--password="
+ "--no-text"
+ (string-append "--bits=" #$(number->string size))
+ (string-append "--seed=" #$normalized-seed)
+ "--outfile" #$output)
+ #:local-build? #t))
+
+(define* (make-crx signing-key package #:optional (package-output "out"))
+ "Create a signed \".crx\" file from the unpacked Chromium extension residing
+in PACKAGE-OUTPUT of PACKAGE. The extension will be signed with SIGNING-KEY."
+ (define name (package-name package))
+ (define version (package-version package))
+
+ (with-imported-modules '((guix build utils))
+ (computed-file
+ (string-append name "-" version ".crx")
+ #~(begin
+ ;; This is not great. We pull Xorg and Chromium just to Zip and
+ ;; sign an extension. This should be implemented with something
+ ;; lighter. (TODO: where is the CRXv3 documentation..?)
+ (use-modules (guix build utils))
+ (let ((chromium #$(file-append ungoogled-chromium "/bin/chromium"))
+ (xvfb #$(file-append xorg-server "/bin/Xvfb"))
+ (packdir "/tmp/extension"))
+ (mkdir-p (dirname packdir))
+ (copy-recursively (ungexp package package-output) packdir)
+ (system (string-append xvfb " :1 &"))
+ (setenv "DISPLAY" ":1")
+ (sleep 2) ;give Xorg some time to initialize...
+ ;; Chromium stores the current time in the .crx Zip archive.
+ ;; Use a fixed timestamp for deterministic behavior.
+ ;; FIXME (core-updates): faketime is missing an absolute reference
+ ;; to 'date', hence the need to set PATH.
+ (setenv "PATH" #$(file-append coreutils "/bin"))
+ (invoke #$(file-append libfaketime "/bin/faketime")
+ "2000-01-01 00:00:00"
+ chromium
+ "--user-data-dir=/tmp/signing-profile"
+ (string-append "--pack-extension=" packdir)
+ (string-append "--pack-extension-key=" #$signing-key))
+ (copy-file (string-append packdir ".crx") #$output)))
+ #:local-build? #t)))
+
+(define* (crx->chromium-json crx version)
+ "Return a derivation that creates a Chromium JSON settings file for the
+extension given as CRX. VERSION is used to signify the CRX version, and
+must match the version listed in the extension manifest.json."
+ ;; See chrome/browser/extensions/external_provider_impl.cc and
+ ;; extensions/common/extension.h for documentation on the JSON format.
+ (computed-file "extension.json"
+ #~(call-with-output-file #$output
+ (lambda (port)
+ (format port "{
+ \"external_crx\": \"~a\",
+ \"external_version\": \"~a\"
+}
+"
+ #$crx #$version)))
+ #:local-build? #t))
+
+
+(define (signing-key->public-der key)
+ "Return a derivation for a file containing the public key of KEY in DER
+format."
+ (computed-file "der"
+ #~(system* #$(file-append gnutls "/bin/certtool")
+ "--load-privkey" #$key
+ "--pubkey-info"
+ "--outfile" #$output
+ "--outder")
+ #:local-build? #t))
+
+(define (chromium-json->profile-object json signing-key)
+ "Return a derivation that installs JSON to the directory searched by
+Chromium, using a file name (aka extension ID) derived from SIGNING-KEY."
+ (define der (signing-key->public-der signing-key))
+
+ (with-extensions (list guile-gcrypt)
+ (with-imported-modules '((guix build utils))
+ (computed-file
+ "chromium-extension"
+ #~(begin
+ (use-modules (guix build utils)
+ (gcrypt base16)
+ (gcrypt hash))
+ (define (base16-string->chromium-base16 str)
+ ;; Translate STR, a hexadecimal string, to a Chromium-style
+ ;; representation using the letters a-p (where a=0, p=15).
+ (define s1 "0123456789abcdef")
+ (define s2 "abcdefghijklmnop")
+ (let loop ((chars (string->list str))
+ (converted '()))
+ (if (null? chars)
+ (list->string (reverse converted))
+ (loop (cdr chars)
+ (cons (string-ref s2 (string-index s1 (car chars)))
+ converted)))))
+
+ (let* ((checksum (bytevector->base16-string (file-sha256 #$der)))
+ (file-name (base16-string->chromium-base16
+ (string-take checksum 32)))
+ (extension-directory (string-append #$output
+ "/share/chromium/extensions")))
+ (mkdir-p extension-directory)
+ (symlink #$json (string-append extension-directory "/"
+ file-name ".json"))))
+ #:local-build? #t))))
+
+(define* (make-chromium-extension p #:optional (output "out"))
+ "Create a Chromium extension from package P and return a package that,
+when installed, will make the extension contained in P available as a
+Chromium browser extension. OUTPUT specifies which output of P to use."
+ (let* ((pname (package-name p))
+ (version (package-version p))
+ (signing-key (make-signing-key pname)))
+ (package
+ (inherit p)
+ (name (string-append pname "-chromium"))
+ (source #f)
+ (build-system trivial-build-system)
+ (native-inputs '())
+ (inputs
+ `(("extension" ,(chromium-json->profile-object
+ (crx->chromium-json (make-crx signing-key p output)
+ version)
+ signing-key))))
+ (propagated-inputs '())
+ (outputs '("out"))
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (copy-recursively (assoc-ref %build-inputs "extension")
+ (assoc-ref %outputs "out"))))))))
diff --git a/gnu/build/file-systems.scm b/gnu/build/file-systems.scm
index 8ec8eac896..b762e82ad2 100644
--- a/gnu/build/file-systems.scm
+++ b/gnu/build/file-systems.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
-;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 David C. Trudgian <dave@trudgian.net>
;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
@@ -218,6 +218,58 @@ if DEVICE does not contain an linux-swap file system."
"Return the label of Linux-swap superblock SBLOCK as a string."
(null-terminated-latin1->string
(sub-bytevector sblock (+ 1024 4 4 4 16) 16)))
+
+
+;;;
+;;; Bcachefs file systems.
+;;;
+
+;; <https://evilpiepirate.org/git/bcachefs-tools.git/tree/libbcachefs/bcachefs_format.h>
+
+(define-syntax %bcachefs-endianness
+ ;; Endianness of bcachefs file systems.
+ (identifier-syntax (endianness little)))
+
+(define (bcachefs-superblock? sblock)
+ "Return #t when SBLOCK is an bcachefs superblock."
+ (bytevector=? (sub-bytevector sblock 24 16)
+ #vu8(#xc6 #x85 #x73 #xf6 #x4e #x1a #x45 #xca
+ #x82 #x65 #xf5 #x7f #x48 #xba #x6d #x81)))
+
+(define (read-bcachefs-superblock device)
+ "Return the raw contents of DEVICE's bcachefs superblock as a bytevector, or #f
+if DEVICE does not contain a bcachefs file system."
+ ;; We completely ignore the back-up superblock & any checksum errors.
+ ;; Superblock field names, with offset & length respectively, in bytes:
+ ;; 0 16 bch_csum
+ ;; 16 8 version
+ ;; 24 16 magic
+ ;; 40 16 uuid ← ‘internal UUID’, you probably don't want this
+ ;; 56 16 user_uuid ← ‘external UUID’, the one by which to mount
+ ;; 72 32 label
+ ;; … there are more & the superblock is extensible, but we don't care yet.
+ (read-superblock device 4096 104 bcachefs-superblock?))
+
+(define (bcachefs-superblock-external-uuid sblock)
+ "Return the external UUID of bcachefs superblock SBLOCK as a 16-byte
+bytevector."
+ (sub-bytevector sblock 56 16))
+
+(define (bcachefs-superblock-volume-name sblock)
+ "Return the volume name of SBLOCK as a string of at most 32 characters, or
+#f if SBLOCK has no volume name."
+ (null-terminated-latin1->string (sub-bytevector sblock 72 32)))
+
+(define (check-bcachefs-file-system device)
+ "Return the health of a bcachefs file system on DEVICE."
+ (match (status:exit-val
+ (apply system* "bcachefs" "fsck" "-p" "-v"
+ ;; Make each multi-device member a separate argument.
+ (string-split device #\:)))
+ (0 'pass)
+ (1 'errors-corrected)
+ (2 'reboot-required)
+ (_ 'fatal-error)))
;;;
@@ -638,6 +690,8 @@ partition field reader that returned a value."
ext2-superblock-volume-name)
(partition-field-reader read-linux-swap-superblock
linux-swap-superblock-volume-name)
+ (partition-field-reader read-bcachefs-superblock
+ bcachefs-superblock-volume-name)
(partition-field-reader read-btrfs-superblock
btrfs-superblock-volume-name)
(partition-field-reader read-fat32-superblock
@@ -656,6 +710,8 @@ partition field reader that returned a value."
ext2-superblock-uuid)
(partition-field-reader read-linux-swap-superblock
linux-swap-superblock-uuid)
+ (partition-field-reader read-bcachefs-superblock
+ bcachefs-superblock-external-uuid)
(partition-field-reader read-btrfs-superblock
btrfs-superblock-uuid)
(partition-field-reader read-fat32-superblock
@@ -763,6 +819,7 @@ containing ':/')."
(define check-procedure
(cond
((string-prefix? "ext" type) check-ext2-file-system)
+ ((string-prefix? "bcachefs" type) check-bcachefs-file-system)
((string-prefix? "btrfs" type) check-btrfs-file-system)
((string-suffix? "fat" type) check-fat-file-system)
((string-prefix? "jfs" type) check-jfs-file-system)
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 32e3536039..bfaac9ec1f 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
+;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
;;;
@@ -110,6 +111,58 @@ OPTION doesn't appear in ARGUMENTS."
(substring arg (+ 1 (string-index arg #\=)))))
arguments)))
+(define (resume-if-hibernated device)
+ "Resume from hibernation if possible. This is safe ONLY if no on-disk file
+systems have been mounted; calling it later risks severe file system corruption!
+See <Documentation/swsusp.txt> in the kernel source directory. This is the
+caller's responsibility, as is catching exceptions if resumption was supposed to
+happen but didn't.
+
+Resume only from DEVICE if it's a string. If it's #f, use the kernel's default
+hibernation device (CONFIG_PM_STD_PARTITION). Never return if resumption
+succeeds. Return nothing otherwise. The kernel logs any details to dmesg."
+
+ (define (string->major:minor string)
+ "Return a string with MAJOR:MINOR numbers of the device specified by STRING"
+
+ ;; The "resume=" kernel command-line option always provides a string, which
+ ;; can represent a device, a UUID, or a label. Check for all three.
+ (let* ((spec (cond ((string-prefix? "/" string) string)
+ ((uuid string) => identity)
+ (else (file-system-label string))))
+ ;; XXX The kernel's swsusp_resume_can_resume() waits if ‘resumewait’
+ ;; is found on the command line; our canonicalize-device-spec gives
+ ;; up after 20 seconds. We could emulate the former by looping…
+ (device (canonicalize-device-spec spec))
+ (rdev (stat:rdev (stat device)))
+ ;; For backwards compatibility, device numbering is a baroque affair.
+ ;; This is the full 64-bit scheme used by glibc's <sys/sysmacros.h>.
+ (major (logior (ash (logand #x00000000000fff00 rdev) -8)
+ (ash (logand #xfffff00000000000 rdev) -32)))
+ (minor (logior (logand #x00000000000000ff rdev)
+ (ash (logand #x00000ffffff00000 rdev) -12))))
+ (format #f "~a:~a" major minor)))
+
+ ;; Write the resume DEVICE to this magic file, using the MAJOR:MINOR device
+ ;; numbers if possible. The kernel will immediately try to resume from it.
+ (let ((resume "/sys/power/resume"))
+ (when (file-exists? resume) ; this kernel supports hibernation
+ ;; Honour the kernel's default device (only) if none other was given.
+ (let ((major:minor (if device
+ (or (false-if-exception (string->major:minor
+ device))
+ ;; We can't parse it. Maybe the kernel can.
+ device)
+ (let ((default (call-with-input-file resume
+ read-line)))
+ ;; Don't waste time echoing 0:0 to /sys.
+ (if (string=? "0:0" default)
+ #f
+ default)))))
+ (when major:minor
+ (call-with-output-file resume ; may throw an ‘Invalid argument’
+ (cut display major:minor <>))))))) ; may never return
+
(define* (make-disk-device-nodes base major #:optional (minor 0))
"Make the block device nodes around BASE (something like \"/root/dev/sda\")
with the given MAJOR number, starting with MINOR."
@@ -507,6 +560,12 @@ upon error."
(load-linux-modules-from-directory linux-modules
linux-module-directory)
+ (unless (member "noresume" args)
+ ;; Try to resume immediately after loading (storage) modules
+ ;; but before any on-disk file systems have been mounted.
+ (false-if-exception ; failure is not fatal
+ (resume-if-hibernated (find-long-option "resume" args))))
+
(when keymap-file
(let ((status (system* "loadkeys" keymap-file)))
(unless (zero? status)
diff --git a/gnu/installer/newt/parameters.scm b/gnu/installer/newt/parameters.scm
index 95112b5780..8fb1aa3abb 100644
--- a/gnu/installer/newt/parameters.scm
+++ b/gnu/installer/newt/parameters.scm
@@ -20,6 +20,7 @@
#:use-module (gnu installer proxy)
#:use-module (gnu installer steps)
#:use-module (gnu installer newt page)
+ #:use-module (guix build syscalls)
#:use-module (guix i18n)
#:use-module (ice-9 match)
#:use-module (newt)
@@ -40,7 +41,8 @@ empty string, proxy usage will be disabled.")
(let* ((items
(list
(cons (G_ "Change keyboard layout") keyboard-layout-selection)
- (cons (G_ "Configure HTTP proxy") run-proxy-page)))
+ (cons (G_ "Configure HTTP proxy") run-proxy-page)
+ (cons (G_ "Reboot") reboot)))
(result
(run-listbox-selection-page
#:info-text (G_ "Please choose one of the following parameters or \
diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm
index 8561eb1ecf..81cf68d782 100644
--- a/gnu/installer/newt/partition.scm
+++ b/gnu/installer/newt/partition.scm
@@ -64,7 +64,7 @@ are being formatted."
;; of device names of the user partitions that will be formatted.
(run-confirmation-page (format #f (G_ "We are about to write the configured \
partition table to the disk and format the partitions listed below. Their \
-data will be lost. Do you wish to continue?~%~{ - ~a~%~}")
+data will be lost. Do you wish to continue?~%~%~{ - ~a~%~}")
(map user-partition-file-name
(filter user-partition-need-formatting?
partitions)))
diff --git a/gnu/local.mk b/gnu/local.mk
index d5a13cbdbd..b5f9c56324 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -111,6 +111,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/boost.scm \
%D%/packages/bootloaders.scm \
%D%/packages/bootstrap.scm \
+ %D%/packages/browser-extensions.scm \
%D%/packages/build-tools.scm \
%D%/packages/busybox.scm \
%D%/packages/c.scm \
@@ -657,6 +658,7 @@ GNU_SYSTEM_MODULES = \
%D%/build/accounts.scm \
%D%/build/activation.scm \
%D%/build/bootloader.scm \
+ %D%/build/chromium-extension.scm \
%D%/build/cross-toolchain.scm \
%D%/build/image.scm \
%D%/build/file-systems.scm \
@@ -1386,7 +1388,6 @@ dist_patch_DATA = \
%D%/packages/patches/nvi-dbpagesize-binpower.patch \
%D%/packages/patches/nvi-db4.patch \
%D%/packages/patches/nyacc-binary-literals.patch \
- %D%/packages/patches/oath-toolkit-glibc-compat.patch \
%D%/packages/patches/ocaml-bitstring-fix-configure.patch \
%D%/packages/patches/ocaml-CVE-2015-8869.patch \
%D%/packages/patches/ocaml-Add-a-.file-directive.patch \
@@ -1427,6 +1428,7 @@ dist_patch_DATA = \
%D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \
%D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \
%D%/packages/patches/samba-fix-fcntl-hint-detection.patch \
+ %D%/packages/patches/sdcc-disable-non-free-code.patch \
%D%/packages/patches/sdl-pango-api_additions.patch \
%D%/packages/patches/sdl-pango-blit_overflow.patch \
%D%/packages/patches/sdl-pango-fillrect_crash.patch \
@@ -1726,6 +1728,7 @@ dist_patch_DATA = \
%D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \
%D%/packages/patches/xsane-support-ipv6.patch \
%D%/packages/patches/xsane-tighten-default-umask.patch \
+ %D%/packages/patches/yggdrasil-extra-config.patch \
%D%/packages/patches/zziplib-CVE-2018-16548.patch
MISC_DISTRO_FILES = \
diff --git a/gnu/packages/ada.scm b/gnu/packages/ada.scm
index e58b0d7754..d24aa2b168 100644
--- a/gnu/packages/ada.scm
+++ b/gnu/packages/ada.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
+;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,10 +25,126 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (gnu packages)
+ #:use-module (gnu packages base)
#:use-module (gnu packages check)
#:use-module (gnu packages compression)
#:use-module (gnu packages python)
- #:use-module (gnu packages python-xyz))
+ #:use-module (gnu packages python-xyz)
+ #:use-module (ice-9 match))
+
+(define-public ada/ed
+ (package
+ (name "ada-ed")
+ (version "1.11.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ ;; The HOME-PAGE sources, mirrored by one of the original authors.
+ (url "https://github.com/daveshields/AdaEd")
+ (commit "57daecfb7ccadfd9aaf13b4d54f51065affbe599")))
+ (sha256
+ (base32 "1k97a8nqsvbsadizrmhhypcx758sxqkai8wq3ckk853qxvzaasd8"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (supported-systems (list "i686-linux" "x86_64-linux"
+ "armhf-linux" "aarch64-linux"))
+ (outputs (list "out" "debug"))
+ (arguments
+ `(#:system
+ ,@(match (%current-system)
+ ;; This package predates 64-bit PCs: a ‘64-bit’ adaexec segfaults.
+ ;; Force a 32-bit build targeting a similar architecture.
+ ((or "armhf-linux" "aarch64-linux")
+ `("armhf-linux"))
+ (_
+ `("i686-linux")))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out")))
+ (list (string-append
+ "CFLAGS=-g" ; compile with :debug symbols
+ " -DOP_SYS='\"GNU\"'" ; sic; quoting gets mangled somewhere
+ " -DSYSTEM_V" ; closest to modern GNU
+ " -DWORDSIZE32"
+ " -DALIGN4") ; suffices on both x86 and ARM
+ "LFLAGS=" ; don't link against -lg
+ (string-append "BINDIR=" out "/bin")
+ (string-append "LIBDIR=" out "/lib")
+ (string-append "MANDIR=" out "/share/man")))
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-sources
+ (lambda _
+ ;; Rename the custom (and incompatible) getline() implementation.
+ (substitute* "adalex.c"
+ (("getline") "adaed_getline"))
+ ;; Work around ‘error: initializer element is not constant’ by not
+ ;; initialising MSGFILE.
+ (substitute* "vars.ch"
+ (("INIT\\(stdout\\)") ""))
+ #t))
+ (delete 'configure) ; no configure script
+ (add-before 'build 'find-build-scripts
+ (lambda _
+ (setenv "PATH" (string-append ".:" (getenv "PATH")))
+ #t))
+ (add-after 'build 'build-predef
+ (lambda* (#:key make-flags #:allow-other-keys)
+ ;; These aren't otherwise compiled until the ‘install’ phase.
+ (apply invoke "make" "predef" make-flags)
+ #t))
+ (delete 'check) ; no test suite; run our own below
+ (add-before 'install 'create-output-directories
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (mkdir-p (string-append out "/share/man/manl"))
+ #t)))
+ (add-after 'install 'check
+ ;; Run most of the included demos as our own ‘test suite’.
+ (lambda* (#:key outputs tests? #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (when tests?
+ (setenv "ADAED" (string-append out "/lib"))
+ (setenv "PATH" (string-append out "/bin:" (getenv "PATH")))
+ (with-directory-excursion "demos" ; won't run outside of it
+ (for-each
+ delete-file
+ '("runc" ; ‘invalid data. Please make it a positive no.’
+ "rund" ; deadlocks by design
+ "rune" ; ‘dining2.ada: No such file or directory’
+ "rung")) ; ‘mathlib cannot be used as a library’ (!)
+ (for-each (lambda (script)
+ (format #t "\n=== Invoking ~a ===\n" script)
+ (invoke script))
+ (find-files "." "^run")))))))
+ (add-after 'install 'clean-up-output
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion out
+ ;; These needn't be executable.
+ (for-each (cut chmod <> #o644)
+ (append (find-files "lib" "\\....$")
+ (find-files "share" ".")))
+ #t)))))))
+ (native-inputs
+ `(("sed" ,sed)))
+ (home-page (string-append "https://web.archive.org/web/20140902150609/"
+ "http://www2.informatik.uni-stuttgart.de/iste/ps/"
+ "ada-software/html/dos_ada.html"))
+ (synopsis "Ada 83 interpreter")
+ (description "Ada/Ed is a translator-interpreter for Ada 83. It's intended
+primarily as a teaching tool and lacks the capacity, performance, and robustness
+of other contemporary or modern-day Ada compilers.
+
+Ada/Ed was the first Ada compiler to pass the @acronym{ACVC, Ada Compiler
+Validation Suite} version 1.7 but fails many newer tests and is not a validated
+Ada system. Being an interpreter, it does not implement most representation
+clauses, and thus does not support systems programming close to the machine
+level.")
+ (license license:gpl2+)))
(define-public python2-langkit
(let ((commit "fe0bc8bf60dbd2937759810df76ac420d99fc15f")
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 24833a04d5..6aa8d8721d 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1842,7 +1842,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
(define-public acpica
(package
(name "acpica")
- (version "20200717")
+ (version "20200925")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1850,7 +1850,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).")
version ".tar.gz"))
(sha256
(base32
- "0jyy71szjr40c8v40qqw6yh3gfk8d6sl3nay69zrn5d88i3r0jca"))))
+ "18n6129fkgj85piid7v4zxxksv3h0amqp4p977vcl9xg3bq0zd2w"))))
(build-system gnu-build-system)
(native-inputs `(("flex" ,flex)
("bison" ,bison)))
@@ -3393,7 +3393,7 @@ make it a perfect utility on modern distros.")
(define-public thermald
(package
(name "thermald")
- (version "2.2")
+ (version "2.3")
(source
(origin
(method git-fetch)
@@ -3402,30 +3402,47 @@ make it a perfect utility on modern distros.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1nrhv3bypyc48h9smj5cpq63rawm6vqyg3cwkhpz69rgjnf1283m"))))
+ (base32 "0cisaca2c2z1x9xvxc4lr6nl6yqx5bww6brh73m0p1n643jgq1dl"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
(let ((out (assoc-ref %outputs "out")))
(list (string-append "--with-dbus-sys-dir="
out "/etc/dbus-1/system.d")
- "--localstatedir=/var"))))
+ "--localstatedir=/var"))
+ #:make-flags
+ (list "V=1") ; log build commands
+ #:phases
+ (modify-phases %standard-phases
+ (add-before 'bootstrap 'no-early-./configure
+ (lambda _
+ (setenv "NO_CONFIGURE" "yet")
+ ;; XXX thd_trip_point.h redefines "__STDC_LIMIT_MACROS" after
+ ;; <xz>/include/lzma.h. ./configure forcibly appends -Werror
+ ;; to CXXFLAGS, overriding any -Wno-error we'd add.
+ (substitute* "configure.ac"
+ (("-Werror") ""))
+ #t)))))
(native-inputs
`(("autoconf" ,autoconf)
("autoconf-archive" ,autoconf-archive)
("automake" ,automake)
("glib" ,glib "bin") ; for glib-genmarshal, etc.
+ ("gtk-doc" ,gtk-doc)
("pkg-config" ,pkg-config)))
(inputs
`(("dbus-glib" ,dbus-glib)
- ("libxml2" ,libxml2)))
+ ("libevdev" ,libevdev)
+ ("libxml2" ,libxml2)
+ ("upower" ,upower)
+ ("xz" ,xz)))
(home-page "https://01.org/linux-thermal-daemon/")
(synopsis "CPU scaling for thermal management")
(description "The Linux Thermal Daemon helps monitor and control temperature
on systems running the Linux kernel.")
;; arm and aarch64 don't have cpuid.h.
(supported-systems '("i686-linux" "x86_64-linux"))
- (license license:gpl2+)))
+ (license license:gpl2)))
(define-public masscan
(package
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index 2dca86cbec..ed35a6832f 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -355,7 +355,7 @@ precision.")
(define-public giac
(package
(name "giac")
- (version "1.6.0-25")
+ (version "1.6.0-31")
(source
(origin
(method url-fetch)
@@ -367,7 +367,7 @@ precision.")
"~parisse/debian/dists/stable/main/source/"
"giac_" version ".tar.gz"))
(sha256
- (base32 "11kik2csdg9wy0npiih21kaag0nc89i9ldgk7ak7gvf9ycddm6mh"))))
+ (base32 "1dr1y88sx2gzldn0zl6p8b1ngjjcmh89iv4kzyhi2cf74j3yw85m"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((ice-9 ftw)
@@ -1008,8 +1008,11 @@ Optional thin wrappers allow usage of the library from other languages.")
(version "3.3.7")
(source (origin
(method url-fetch)
- (uri (string-append "https://bitbucket.org/eigen/eigen/get/"
- version ".tar.bz2"))
+ (uri (list
+ (string-append "https://bitbucket.org/eigen/eigen/get/"
+ version ".tar.bz2")
+ (string-append "mirror://debian/pool/main/e/eigen3/eigen3_"
+ version ".orig.tar.bz2")))
(sha256
(base32
"1km3fyfzyqfdvmnl79drps3fjwnz3zbh0c7l34mfbqyvvs8cy4wz"))
@@ -1089,7 +1092,7 @@ features, and more.")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/QuantStack/xtensor")
+ (url "https://github.com/xtensor-stack/xtensor")
(commit version)))
(sha256
(base32
@@ -1103,7 +1106,7 @@ features, and more.")
`(#:configure-flags
'("-DBUILD_TESTS=ON")
#:test-target "xtest"))
- (home-page "https://quantstack.net/xtensor")
+ (home-page "https://xtensor.readthedocs.io/en/latest/")
(synopsis "C++ tensors with broadcasting and lazy computing")
(description "xtensor is a C++ library meant for numerical analysis with
multi-dimensional array expressions.
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index 7d3c2ef1c3..7a6d20116f 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
-;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -11,6 +11,7 @@
;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl>
;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
+;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -170,6 +171,13 @@ dictionaries, including personal ones.")
(hash (content-hash sha256))))
(home-page "https://www.softcatala.org/pub/softcatala/aspell/"))))
+(define-public aspell-dict-cs
+ (aspell-dictionary "cs" "Czech"
+ #:version "20040614-1"
+ #:sha256
+ (base32
+ "0rihj4hsw96pd9casvmpvw3r8040pfa28p1h73x4vyn20zwr3h01")))
+
(define-public aspell-dict-de
(aspell-dictionary "de" "German"
#:version "20161207-7-0"
@@ -275,6 +283,7 @@ dictionaries, including personal ones.")
(define-public aspell-dict-mi
(aspell-dictionary "mi" "Maori"
#:version "0.50-0"
+ #:prefix "aspell-"
#:sha256
(base32
"12bxplpd348yx8d2q8qvahi9dlp7qf28qmanzhziwc7np8rixvmy")))
@@ -290,6 +299,7 @@ dictionaries, including personal ones.")
(define-public aspell-dict-nn
(aspell-dictionary "nn" "Norwegian Nynorsk"
#:version "0.50.1-1"
+ #:prefix "aspell-"
#:sha256
(base32
"0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc")))
@@ -297,6 +307,7 @@ dictionaries, including personal ones.")
(define-public aspell-dict-pl
(aspell-dictionary "pl" "Polish"
#:version "0.51-0"
+ #:prefix "aspell-"
#:sha256
(base32
"1a3ccji6k5gys7l3ilr2lh5pzxgzb7ipc5vb737svl6nqgdy8757")))
@@ -363,8 +374,8 @@ dictionaries, including personal ones.")
(source (origin
(method url-fetch)
(uri (string-append
- "http://downloads.sourceforge.net/wordlist/scowl-"
- version ".tar.gz"))
+ "mirror://sourceforge/wordlist/SCOWL/"
+ version "/scowl-" version ".tar.gz"))
(sha256
(base32
"11lkrnhwrf5mvrrq45k4mads3n9aswgac8dc25ba61c75alxb5rs"))))
diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm
index 12954c9c1f..7cd45cca9d 100644
--- a/gnu/packages/assembly.scm
+++ b/gnu/packages/assembly.scm
@@ -265,7 +265,7 @@ runtime")
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/rednex/rgbds")
+ (url "https://github.com/gbdev/rgbds")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
@@ -292,7 +292,7 @@ runtime")
("util-linux" ,util-linux)))
(inputs
`(("libpng" ,libpng)))
- (home-page "https://github.com/rednex/rgbds")
+ (home-page "https://github.com/gbdev/rgbds")
(synopsis "Rednex Game Boy Development System")
(description
"RGBDS (Rednex Game Boy Development System) is an assembler/linker
diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm
index 6733c8d212..466d17f29d 100644
--- a/gnu/packages/audio.scm
+++ b/gnu/packages/audio.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Alex Kost <alezost@gmail.com>
;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com>
;;; Copyright © 2016 Nikita <nikita@n0.is>
;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org>
@@ -3522,8 +3522,11 @@ interface.")
(source
(origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/qsynth/qsynth/" version
- "/qsynth-" version ".tar.gz"))
+ (uri (list
+ (string-append "mirror://sourceforge/qsynth/qsynth/" version
+ "/qsynth-" version ".tar.gz")
+ (string-append "mirror://sourceforge/qsynth/qsynth (attic)"
+ "/qsynth-" version ".tar.gz")))
(sha256
(base32 "18im4w8agj60nkppwbkxqnhpp13z5li3w30kklv4lgs20rvgbvl6"))))
(build-system gnu-build-system)
@@ -3802,8 +3805,11 @@ machine-readable ASCII format.")
(version "3.0.10")
(source (origin
(method url-fetch)
- (uri (string-append "http://etree.org/shnutils/shntool/dist/src/"
- "shntool-" version ".tar.gz"))
+ (uri (list
+ (string-append "http://etree.org/shnutils/shntool/dist/src/"
+ "shntool-" version ".tar.gz")
+ (string-append "mirror://debian/pool/main/s/shntool/shntool_"
+ version ".orig.tar.gz")))
(sha256
(base32
"00i1rbjaaws3drkhiczaign3lnbhr161b7rbnjr8z83w8yn2wc3l"))))
diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm
index b3ff912c8f..52ab445775 100644
--- a/gnu/packages/authentication.scm
+++ b/gnu/packages/authentication.scm
@@ -33,26 +33,14 @@
(define-public oath-toolkit
(package
(name "oath-toolkit")
- (version "2.6.2")
+ (version "2.6.3")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.savannah.nongnu.org/releases/"
name "/" name "-" version ".tar.gz"))
- (patches
- (append (search-patches "oath-toolkit-glibc-compat.patch")
- (list (origin
- ;; This huge commit updates gnulib for GCC 7 compatibility.
- (method url-fetch)
- (uri (string-append
- "https://gitlab.com/oath-toolkit/oath-toolkit/commit/"
- "2fffce2a471f74a585939c84cce16ef3015e5d3d.diff"))
- (file-name "oath-toolkit-update-gnulib.patch")
- (sha256
- (base32
- "088c9s4ay1b54bjqc4mwfs5l3f6357zj5vpw771zlq5g4addd4s0"))))))
(sha256
- (base32 "182ah8vfbg0yhv6mh1b6ap944d0na6x7lpfkwkmzb6jl9gx4cd5h"))))
+ (base32 "1cjial8njck2sd7452jcxspbi5h5fnp3n8v3wbmlw8fzqmgzvxx1"))))
(build-system gnu-build-system)
(arguments
;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures.
diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm
index 2f8a0da0cf..15b1eb17c7 100644
--- a/gnu/packages/backup.scm
+++ b/gnu/packages/backup.scm
@@ -1072,7 +1072,7 @@ interactive mode.")
(define-public burp
(package
(name "burp")
- (version "2.3.36")
+ (version "2.3.38")
(source
(origin
(method git-fetch)
@@ -1080,7 +1080,7 @@ interactive mode.")
(url "https://github.com/grke/burp")
(commit version)))
(sha256
- (base32 "18gj1sv1naql0xais01yniyzs8dxc8xk5sk8y9hsc0cd93mxgk17"))
+ (base32 "0m0s6rrgxn3l6bad45vyhks6iz6bwvd0f3rzdsc7l28gar79wsj6"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm
index 4c49b00252..06972dee51 100644
--- a/gnu/packages/bioinformatics.scm
+++ b/gnu/packages/bioinformatics.scm
@@ -4470,26 +4470,40 @@ experiments.")
;; The PyPi tarball does not contain tests.
(method git-fetch)
(uri (git-reference
- (url "https://github.com/taoliu/MACS")
+ (url "https://github.com/macs3-project/MACS")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(base32
- "1c5gxr0mk6hkd4vclf0k00wvyvzw2vrmk52c85338p7aqjwg6n15"))))
+ "1c5gxr0mk6hkd4vclf0k00wvyvzw2vrmk52c85338p7aqjwg6n15"))
+ (modules '((guix build utils)))
+ ;; Remove files generated by Cython
+ (snippet
+ '(begin
+ (for-each (lambda (file)
+ (let ((generated-file
+ (string-append (string-drop-right file 3) "c")))
+ (when (file-exists? generated-file)
+ (delete-file generated-file))))
+ (find-files "." "\\.pyx$"))
+ (delete-file "MACS2/IO/CallPeakUnitPrecompiled.c")
+ #t))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (delete 'check)
- (add-after 'install 'check
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (add-installed-pythonpath inputs outputs)
- (invoke "pytest" "-v"))))))
+ (replace 'check
+ (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+ (when tests?
+ (add-installed-pythonpath inputs outputs)
+ (invoke "pytest" "-v"))
+ #t)))))
(inputs
`(("python-numpy" ,python-numpy)))
(native-inputs
- `(("python-pytest" ,python-pytest)))
- (home-page "https://github.com/taoliu/MACS/")
+ `(("python-cython" ,python-cython)
+ ("python-pytest" ,python-pytest)))
+ (home-page "https://github.com/macs3-project/MACS")
(synopsis "Model based analysis for ChIP-Seq data")
(description
"MACS is an implementation of a ChIP-Seq analysis algorithm for
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index 7034085d67..e3e49288ad 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org>
;;; Copyright © 2016, 2017 David Craven <david@craven.ch>
-;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 nee <nee@cock.li>
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
@@ -115,11 +115,12 @@
;; determine the root file system when it's a RAID
;; device. Failing to do that, 'grub-probe' silently
;; fails if 'mdadm' is not in $PATH.
- (substitute* "grub-core/osdep/linux/getroot.c"
- (("argv\\[0\\] = \"mdadm\"")
- (string-append "argv[0] = \""
- (assoc-ref inputs "mdadm")
- "/sbin/mdadm\"")))
+ (when (assoc-ref inputs "mdadm")
+ (substitute* "grub-core/osdep/linux/getroot.c"
+ (("argv\\[0\\] = \"mdadm\"")
+ (string-append "argv[0] = \""
+ (assoc-ref inputs "mdadm")
+ "/sbin/mdadm\""))))
;; Make the font visible.
(copy-file (assoc-ref (or native-inputs inputs)
diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm
new file mode 100644
index 0000000000..826767092a
--- /dev/null
+++ b/gnu/packages/browser-extensions.scm
@@ -0,0 +1,123 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2020 Marius Bakke <marius@gnu.org>
+;;;
+;;; 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 browser-extensions)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system copy)
+ #:use-module (guix build-system gnu)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu build chromium-extension)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages python))
+
+(define play-to-kodi
+ (package
+ (name "play-to-kodi")
+ (version "1.9.1")
+ (home-page "https://github.com/khloke/play-to-xbmc-chrome")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "01rmcpbkn9vhcd8mrah2jmd2801k2r5fz7aqvp22hbwmh2z5f1ch"))))
+ (build-system copy-build-system)
+ (synopsis "Send website contents to Kodi")
+ (description
+ "Play to Kodi is a browser add-on that can send video, audio, and other
+supported content to the Kodi media center.")
+ (license license:expat)))
+
+(define-public play-to-kodi/chromium
+ (make-chromium-extension play-to-kodi))
+
+(define uassets
+ (let ((commit "0cef83c9fc68fdad8f3ee9dc07f6356ebc12791c"))
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/uBlockOrigin/uAssets.git")
+ (commit commit)))
+ (file-name (git-file-name "uAssets" (string-take commit 9)))
+ (sha256
+ (base32
+ "13mjql3rr5f3zilx05i8r7slnp7xyj6zn43dcfl3gdgi8ik483dd")))))
+
+(define ublock-origin
+ (package
+ (name "ublock-origin")
+ (version "1.30.6")
+ (home-page "https://github.com/gorhill/uBlock")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "10arx4r4s8125g9zlh3bcjpcb4qh2wzfmvqc2x8nly5fbxvxvns3"))))
+ (build-system gnu-build-system)
+ (outputs '("xpi" "firefox" "chromium"))
+ (arguments
+ '(#:tests? #f ;no tests
+ #:allowed-references ()
+ #:phases
+ (modify-phases (map (lambda (phase)
+ (assq phase %standard-phases))
+ '(set-paths unpack patch-source-shebangs))
+ (add-after 'unpack 'link-uassets
+ (lambda* (#:key native-inputs inputs #:allow-other-keys)
+ (symlink (string-append (assoc-ref (or native-inputs inputs)
+ "uassets"))
+ "../uAssets")
+ #t))
+ (add-after 'unpack 'make-files-writable
+ (lambda _
+ ;; The build system copies some files and later tries
+ ;; modifying them.
+ (for-each make-file-writable (find-files "."))
+ #t))
+ (add-after 'patch-source-shebangs 'build-xpi
+ (lambda _
+ (invoke "./tools/make-firefox.sh" "all")))
+ (add-after 'build-xpi 'build-chromium
+ (lambda _
+ (invoke "./tools/make-chromium.sh")))
+ (add-after 'build-chromium 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((firefox (assoc-ref outputs "firefox"))
+ (xpi (assoc-ref outputs "xpi"))
+ (chromium (assoc-ref outputs "chromium")))
+ (install-file "dist/build/uBlock0.firefox.xpi"
+ (string-append xpi "/lib/mozilla/extensions"))
+ (copy-recursively "dist/build/uBlock0.firefox" firefox)
+ (copy-recursively "dist/build/uBlock0.chromium" chromium)
+ #t))))))
+ (native-inputs
+ `(("python" ,python-wrapper)
+ ("uassets" ,uassets)
+ ("zip" ,zip)))
+ (synopsis "Block unwanted content from web sites")
+ (description
+ "uBlock Origin is a @dfn{wide spectrum blocker} for IceCat and
+ungoogled-chromium.")
+ (license license:gpl3+)))
+
+(define-public ublock-origin/chromium
+ (make-chromium-extension ublock-origin "chromium"))
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index 493d99387c..4069bd8124 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -370,7 +370,7 @@ any other grammar rules.")
(define-public sparse
(package
(name "sparse")
- (version "0.6.2")
+ (version "0.6.3")
(source (origin
(method url-fetch)
(uri
@@ -378,7 +378,7 @@ any other grammar rules.")
"sparse-" version ".tar.xz"))
(sha256
(base32
- "1z11chawwcmf5xxx5v52cj7wrr3warz6q5wlcjvxpif1jbga172i"))))
+ "16d8c4dhipjzjf8z4z7pix1pdpqydz0v4r7i345f5s09hjnxpxnl"))))
(build-system gnu-build-system)
(inputs `(("perl" ,perl)))
(arguments
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index 766f62fc9f..a8da7ba48b 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -953,7 +953,7 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.")
(source (origin
(method url-fetch)
(uri (string-append
- "https://downloads.sourceforge.net/cdemu/libmirage-"
+ "mirror://sourceforge/cdemu/libmirage/libmirage-"
version ".tar.bz2"))
(sha256
(base32
@@ -982,7 +982,7 @@ the data stored in various image formats.")
(source (origin
(method url-fetch)
(uri (string-append
- "https://downloads.sourceforge.net/cdemu/cdemu-daemon/"
+ "mirror://sourceforge/cdemu/cdemu-daemon/"
"cdemu-daemon-" version ".tar.bz2"))
(sha256
(base32
@@ -1011,7 +1011,7 @@ drive and disc (including CD-ROMs and DVD-ROMs).")
(source (origin
(method url-fetch)
(uri (string-append
- "https://downloads.sourceforge.net/cdemu/cdemu-client-"
+ "mirror://sourceforge/cdemu/cdemu-client/cdemu-client-"
version ".tar.bz2"))
(sha256
(base32
diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm
index 3c437c0efa..8255154636 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -497,7 +497,7 @@ and it supports a very flexible form of test discovery.")
(define-public doctest
(package
(name "doctest")
- (version "2.4.0")
+ (version "2.4.1")
(home-page "https://github.com/onqtam/doctest")
(source (origin
(method git-fetch)
@@ -505,7 +505,7 @@ and it supports a very flexible form of test discovery.")
(file-name (git-file-name name version))
(sha256
(base32
- "1yi95saqv8qb3ix6w8d7ffvs7qbwvqmq6wblckhxhicxxdxk85cd"))))
+ "17g7n6rjs90i0b231x5s934qnr8m80ga2yg1z344bnsdiqcjd63w"))))
(build-system cmake-build-system)
(synopsis "C++ test framework")
(description
@@ -2681,7 +2681,7 @@ provides a simple way to achieve this.")
(define-public umockdev
(package
(name "umockdev")
- (version "0.14.3")
+ (version "0.14.4")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/martinpitt/umockdev/"
@@ -2689,7 +2689,7 @@ provides a simple way to achieve this.")
"umockdev-" version ".tar.xz"))
(sha256
(base32
- "15smnxwplk48nas2c8ji6a5fqcsh770f1yl5nc2j5iprjspbm4mg"))))
+ "0xmi24ckpps32k7hc139psgbsnsf4g106sv4l9m445m46amkxggd"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm
index 902f2a723c..582919341a 100644
--- a/gnu/packages/chromium.scm
+++ b/gnu/packages/chromium.scm
@@ -301,7 +301,7 @@
"/svntogit-packages/" revision "/trunk/" name))
(sha256 (base32 hash))))
-(define %chromium-version "86.0.4240.183")
+(define %chromium-version "86.0.4240.193")
(define %ungoogled-revision "b68e17f32e9eff56615a07b44e457835bb9460c6")
(define %debian-revision "debian/84.0.4147.105-1")
(define %arch-revision "2cbe439471932d30ff2c8ded6b3dfd51b312bbc9")
@@ -455,7 +455,7 @@
%chromium-version ".tar.xz"))
(sha256
(base32
- "1g39i82js7fm4fqb8i66d6xs0kzqjxzi4vzvvwz5y9rkbikcc4ma"))
+ "0d55xkw3fygqpa3a5bvz7vqmzb0d9w1kis72h54cnwsqgw4xag90"))
(modules '((guix build utils)))
(snippet (force ungoogled-chromium-snippet))))
(build-system gnu-build-system)
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index cf3bc406bc..bfbedfd984 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -101,7 +101,7 @@
(version "3.16.5")
(source (origin
(method url-fetch)
- (uri (string-append "https://www.cmake.org/files/v"
+ (uri (string-append "https://cmake.org/files/v"
(version-major+minor version)
"/cmake-" version ".tar.gz"))
(sha256
diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 083b82bf36..c5e72a5084 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1667,7 +1667,7 @@ archive can be reverted.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://savannah.nongnu.org/download/atool/atool-"
+ (uri (string-append "mirror://savannah/atool/atool-"
version ".tar.gz"))
(sha256
(base32
diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 3b4e02278a..f485142383 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -653,6 +653,30 @@ be used with the stdlib.")
(description "This package provides the glue for the Android JNI.")
(license license:expat)))
+(define-public rust-ansi-parser-0.6
+ (package
+ (name "rust-ansi-parser")
+ (version "0.6.5")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "ansi-parser" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "152idb8a6gwdxzj6m099h3xgx8vw0sjc6skgw94nm2k3y5swc6kn"))))
+ (build-system cargo-build-system)
+ (arguments
+ `(#:cargo-inputs
+ (("rust-heapless" ,rust-heapless-0.5)
+ ("rust-nom" ,rust-nom-4.2))))
+ (home-page "https://gitlab.com/DavidBittner/ansi-parser")
+ (synopsis "Library using nom for parsing ANSI escape codes")
+ (description
+ "This package provides a library using nom for parsing ANSI
+escape codes.")
+ (license license:mpl2.0)))
+
(define-public rust-antidote-1.0
(package
(name "rust-antidote")
@@ -31057,6 +31081,26 @@ If that fails, no determination is made, and calls return None.")
(base32
"1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi"))))))
+(define-public rust-version-compare-0.0
+ (package
+ (name "rust-version-compare")
+ (version "0.0.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (crate-uri "version-compare" version))
+ (file-name
+ (string-append name "-" version ".tar.gz"))
+ (sha256
+ (base32 "06v688jg6gd00zvm3cp7qh2h3mz8cs2ngr09bnwxhyddxrcwh60w"))))
+ (build-system cargo-build-system)
+ (home-page "https://github.com/timvisee/version-compare")
+ (synopsis "Rust library to easily compare version numbers")
+ (description
+ "This package provides a Rust library to easily compare version
+numbers, and test them against various comparison operators.")
+ (license license:expat)))
+
(define-public rust-version-sync-0.8
(package
(name "rust-version-sync")
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 1a9cb5c80f..b8ca0134b3 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -571,12 +571,19 @@ attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.")
(base32
"1d76ys6cp7fi4ng1w3mz2l0p9dbr7ljbk33dcywyimzjz8bahdng"))))
(build-system gnu-build-system)
+ (outputs (list "out" "static"))
(arguments
`(#:make-flags (list (string-append "PREFIX=" %output)
"CC=gcc")
#:phases
(modify-phases %standard-phases
- (delete 'configure))))
+ (delete 'configure) ; no configure script
+ (add-after 'install 'install:static
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib")))
+ (install-file "libscrypt.a" lib)
+ #t))))))
(home-page "https://lolware.net/libscrypt.html")
(synopsis "Password hashing library")
(description "@code{libscrypt} implements @code{scrypt} key derivation
diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm
index 0d8342b04a..8cb2a8738c 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -87,13 +87,16 @@
#:use-module (gnu packages guile)
#:use-module (gnu packages time)
#:use-module (gnu packages golang)
+ #:use-module (gnu packages icu4c)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages language)
+ #:use-module (gnu packages libedit)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages man)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages parallel)
@@ -234,7 +237,7 @@ standard Go idioms.")
(define-public ephemeralpg
(package
(name "ephemeralpg")
- (version "3.0")
+ (version "3.1")
(source
(origin
(method url-fetch)
@@ -242,10 +245,10 @@ standard Go idioms.")
"https://eradman.com/ephemeralpg/code/ephemeralpg-"
version ".tar.gz"))
(sha256
- (base32 "1j0g7g114ma7y7sadbng5p1ss1zsm9zpicm77qspym6565733vvh"))))
+ (base32 "1ap22ki8yz6agd0qybcjgs4b9izw1rwwcgpxn3jah2ccfyax34s6"))))
(build-system gnu-build-system)
(arguments
- '(#:make-flags (list "CC=gcc"
+ `(#:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
@@ -308,6 +311,183 @@ ElasticSearch server")
(home-page "https://github.com/patientslikeme/es_dump_restore")
(license license:expat)))
+(define-public firebird
+ (package
+ (name "firebird")
+ (version "3.0.7")
+ (source
+ (let ((revision "33374-0"))
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/FirebirdSQL/"
+ "firebird/releases/download/R"
+ (string-replace-substring version "." "_") "/"
+ "Firebird-" version "." revision ".tar.bz2"))
+ (sha256
+ (base32 "0xpy1bncz36c6n28y7kllm1dkrdkn4vb4gw2n43f2351mznmrf5c"))
+ (modules '((guix build utils)))
+ (snippet
+ `(begin
+ (for-each
+ delete-file-recursively
+ (list "extern/btyacc/test" ; TODO: package and remove entirely
+ "extern/editline"
+ "extern/icu"
+ "extern/libtommath"
+ "extern/zlib"
+ "src/include/firebird/impl/boost"
+
+ ;; Missing licence.
+ "builds/install/arch-specific/solaris"
+ "extern/SfIO"
+ "src/msgs/templates.sql"
+
+ ;; Generated files missing sources.
+ "doc/Firebird-3-QuickStart.pdf"
+ (string-append "doc/Firebird-" ,version
+ "-ReleaseNotes.pdf")
+ "doc/README.SecureRemotePassword.html"))
+ #t)))))
+ (build-system gnu-build-system)
+ (outputs (list "debug" "out"))
+ (arguments
+ `(#:configure-flags
+ (let ((out (assoc-ref %outputs "out")))
+ (list (string-append "--with-fbsbin=" out "/sbin")
+ (string-append "--with-fbdoc=" out "/share/doc/"
+ ,name "-" ,version)
+ (string-append "--with-fbconf=" out "/lib/firebird")
+ (string-append "--with-fbintl=" out "/lib/firebird/intl")
+ (string-append "--with-fbmisc=" out "/lib/firebird/misc")
+ (string-append "--with-fbmsg=" out "/lib/firebird")
+ (string-append "--with-fbplugins=" out "/lib/firebird/plugins")
+ (string-append "--with-fbudf=" out "/lib/firebird/UDF")
+ "--with-fbglock=/run/firebird"
+ "--with-fblog=/var/log/firebird"
+ "--with-fbhelp=/var/lib/firebird/system"
+ "--with-fbsecure-db=/var/lib/firebird/secure"
+ "--without-fbsample"
+ "--without-fbsample-db"
+ "--with-system-editline"))
+ #:make-flags
+ (list (string-append "CC=" ,(cc-for-target))
+ ;; The plugins/ can't find libfbclient otherwise.
+ (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out") "/lib"))
+ #:tests? #f ; no test suite
+ #:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'use-system-boost
+ (lambda _
+ (substitute* "src/include/firebird/Message.h"
+ (("\"\\./impl/boost/preprocessor/seq/for_each_i\\.hpp\"")
+ "<boost/preprocessor/seq/for_each_i.hpp>")
+ (("FB_BOOST_") "BOOST_"))
+ #t))
+ (add-after 'unpack 'patch-installation
+ (lambda _
+ (substitute*
+ "builds/install/arch-specific/linux/makeInstallImage.sh.in"
+ (("/bin/sh") (which "bash"))
+ ;; Remove shell script helpers from $PATH.
+ (("(addLibs|cp) .*\\.sh .*@FB_SBINDIR@") ":")
+ ;; Put files where Guix users expect them.
+ (("(License\\.txt.*)@FB_CONFDIR" match)
+ (string-append match "@FB_DOCDIR@"))
+ (("@FB_CONFDIR@(.*License\\.txt.*)" match)
+ (string-append "@FB_DOCDIR@" match))
+ (("(cp .*/doc/.*)@FB_CONFDIR@(.*)" _ head tail)
+ (string-append head "@FB_DOCDIR@" tail "\n")))
+ (substitute*
+ (list "builds/install/posix-common/changeServerMode.sh.in"
+ "builds/install/posix-common/install.sh.in")
+ ;; Skip phases that (could) cause problems in Guix.
+ (("check(InstallUser|IfServerRunning|Libraries)|addFirebirdUser")
+ ":")
+ ;; Skip phases that are merely pointless on Guix.
+ (("buildUninstallFile|installInitdScript|startFirebird") ":")
+ ;; Omit randomly generated password with bonus timestamp.
+ (("setDBAPassword") ":"))
+
+ ;; These promote proprietary workflows not relevant on Guix.
+ (for-each delete-file-recursively
+ (find-files "doc" "README\\.(build\\.msvc|NT|Win)"))
+ #t))
+ (add-after 'configure 'delete-init-scripts
+ (lambda _
+ (delete-file-recursively "gen/install/misc")
+ #t))
+ (add-before 'build 'set-build-environment-variables
+ (lambda _
+ ;; ‘isql’ needs to run & find libfbclient.so during the build.
+ ;; This doubles as a rudimentary test in lieu of a test suite.
+ (setenv "LD_LIBRARY_PATH"
+ (string-append (assoc-ref %build-inputs "icu4c") "/lib"))
+ #t))
+ (add-before 'install 'keep-embedded-debug-symbols
+ (lambda _
+ ;; Let the gnu-build-system separate & deal with them later.
+ ;; XXX Upstream would use ‘--strip-unneeded’, shaving a whole
+ ;; megabyte off Guix's 7.7M libEngine12.so, for example.
+ (substitute* "gen/Makefile.install"
+ (("readelf") "false"))
+ #t))
+ (add-after 'install 'prune-undesirable-files
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (with-directory-excursion out
+ ;; Remove example binaries.
+ (for-each delete-file-recursively
+ (find-files "." "example"))
+ ;; Delete (now-)empty directories.
+ (for-each rmdir
+ (list "include/firebird/impl"
+ "lib/firebird/plugins/udr"))
+ #t)))))))
+ (inputs
+ `(("boost" ,boost)
+ ("editline" ,editline)
+ ("icu4c" ,icu4c-67)
+ ("libtommath" ,libtommath)
+ ("ncurses" ,ncurses)
+ ("zlib" ,zlib)))
+ (home-page "https://www.firebirdsql.org")
+ (synopsis "Relational database with many ANSI SQL standard features")
+ (description
+ "Firebird is an SQL @acronym{RDBMS, relational database management system}
+with rich support for ANSI SQL (e.g., @code{INSERT...RETURNING}) including
+@acronym{UDFs, user-defined functions} and PSQL stored procedures, cursors, and
+triggers. Transactions provide full ACID-compliant referential integrity.
+
+The database requires very little manual maintenance once set up, making it
+ideal for small business or embedded use.
+
+When installed as a traditional local or remote (network) database server,
+Firebird can grow to terabyte scale with proper tuning---although PostgreSQL
+may be a better choice for such very large environments.
+
+Firebird can also be embedded into stand-alone applications that don't want or
+need a full client & server. Used in this manner, it offers richer SQL support
+than SQLite as well as the option to seamlessly migrate to a client/server
+database later.")
+ (properties
+ `((lint-hidden-cve . ("CVE-2017-6369"))))
+ (license
+ ;; See doc/license/README.license.usage.txt for rationale & details.
+ (list license:bsd-3 ; src/common/sha2/
+ license:bsd-4 ; src/common/enc.cpp
+ license:gpl2+ ; builds/posix/make.defaults
+ (license:non-copyleft "file:///builds/install/misc/IPLicense.txt"
+ "InterBase Public License v1.0")
+ (license:non-copyleft "file:///builds/install/misc/IDPLicense.txt"
+ "Initial Developer's Public License v1.0")
+ license:lgpl2.1 ; exception for OSI-compatible licences
+ license:mpl1.1 ; examples/interfaces/0{6,8}*.cpp
+ license:public-domain)))) ; including files without explicit licence
+
(define-public leveldb
(package
(name "leveldb")
@@ -972,16 +1152,16 @@ as a drop-in replacement of MySQL.")
(define-public mariadb-connector-c
(package
(name "mariadb-connector-c")
- (version "3.1.10")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "https://downloads.mariadb.org/f/connector-c-"
- version "/mariadb-connector-c-"
- version "-src.tar.gz"))
- (sha256
- (base32
- "13v5z4w1cl890lnr2fbwbziw638lqw2aga45vdq1z0cyrc9mcgmg"))))
+ (version "3.1.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://downloads.mariadb.org/f/connector-c-" version
+ "/mariadb-connector-c-" version "-src.tar.gz"
+ "/from/https%3A//mirrors.ukfast.co.uk/sites/mariadb/?serve"))
+ (sha256
+ (base32 "03svzahdf7czjlm695c11r4bfd04qdqgx8r1vkpr1zlkjhwnqvry"))))
(inputs
`(("openssl" ,openssl)))
(build-system cmake-build-system)
@@ -1206,6 +1386,7 @@ including field and record folding.")))
`(#:make-flags (list "CC=gcc" "V=1"
;; Ceph requires that RTTI is enabled.
"USE_RTTI=1"
+ "date=1970-01-01" ; build reproducibly
(string-append "INSTALL_PATH="
(assoc-ref %outputs "out"))
@@ -2256,17 +2437,19 @@ on another machine, accessed via TCP/IP.")
(define-public python-peewee
(package
(name "python-peewee")
- (version "3.9.6")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "peewee" version))
- (sha256
- (base32
- "1j4sh946k0736m7pd54z0y6i2hjhgg3kdllx1pwq8xkzzcgrx1xw"))))
+ (version "3.13.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "peewee" version))
+ (sha256
+ (base32
+ "0sc376v6rxga4b7ic9kxw2pmf28rmcx016320pa2nlb5d1rsjs8j"))))
(build-system python-build-system)
(arguments
`(#:tests? #f)) ; Fails to import test data
+ (inputs
+ `(("sqlite" ,sqlite)))
(native-inputs
`(("python-cython" ,python-cython)))
(home-page "https://github.com/coleifer/peewee/")
@@ -3706,7 +3889,7 @@ The drivers officially supported by @code{libdbi} are:
(define-public soci
(package
(name "soci")
- (version "4.0.0")
+ (version "4.0.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3715,24 +3898,22 @@ The drivers officially supported by @code{libdbi} are:
(file-name (git-file-name name version))
(sha256
(base32
- "06faswdxd2frqr9xnx6bxc7zwarlzsbdi3bqpz7kwdxsjvq41rnb"))))
+ "14x2gjblkgpflv75wl144cyjp1sis5rbxnr9r2gj3yw16v2av0bp"))))
(build-system cmake-build-system)
(inputs
- `(("postgresql" ,postgresql)
+ `(("firebird" ,firebird)
+ ("postgresql" ,postgresql)
("sqlite" ,sqlite)
("odbc" ,unixodbc)
("boost" ,boost)
("mariadb:dev" ,mariadb "dev")
("mariadb:lib" ,mariadb "lib")))
(arguments
- `(#:tests? #f ; Tests may require running database management systems.
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'fix-lib-path
- (lambda _
- (substitute* "CMakeLists.txt"
- (("set\\(SOCI_LIBDIR \"lib64\"\\)") ""))
- #t)))))
+ `(#:configure-flags
+ ;; C++11 (-DSOCI_CXX11) is OFF by default. hyperledger-iroha needs it.
+ (list "-DCMAKE_CXX_STANDARD=17"
+ "-DSOCI_LIBDIR=lib")
+ #:tests? #f)) ; may require running database management systems
(synopsis "C++ Database Access Library")
(description
"SOCI is an abstraction layer for several database backends, including
diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm
index ea812c9715..82647c0c28 100644
--- a/gnu/packages/dbm.scm
+++ b/gnu/packages/dbm.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr>
-;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2018 Mark H Weaver <mhw@netris.org>
;;;
@@ -41,7 +41,7 @@
"See LICENSE in the distribution."))
(source (origin
(method url-fetch)
- (uri (string-append "http://download.oracle.com/berkeley-db/db-"
+ (uri (string-append "https://download.oracle.com/berkeley-db/db-"
version ".tar.gz"))
(sha256
(base32
@@ -104,7 +104,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(version "5.3.28")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.oracle.com/berkeley-db/db-"
+ (uri (string-append "https://download.oracle.com/berkeley-db/db-"
version ".tar.gz"))
(sha256
(base32
@@ -116,7 +116,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.")
(version "6.2.32")
(source (origin
(method url-fetch)
- (uri (string-append "http://download.oracle.com/berkeley-db/db-"
+ (uri (string-append "https://download.oracle.com/berkeley-db/db-"
version ".tar.gz"))
(sha256
(base32
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 235df8ce9e..1e31ad884e 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -86,7 +86,8 @@
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
- #:use-module (guix packages))
+ #:use-module (guix packages)
+ #:use-module (guix utils))
(define-public udevil
(package
@@ -482,7 +483,7 @@ systems. Output format is completely customizable.")
(define-public f3
(package
(name "f3")
- (version "7.2")
+ (version "8.0")
(source
(origin
(method git-fetch)
@@ -491,11 +492,11 @@ systems. Output format is completely customizable.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1iwdg0r4wkgc8rynmw1qcqz62l0ldgc8lrazq33msxnk5a818jgy"))))
+ (base32 "17l5vspfcgfbkqg7bakp3gql29yb05gzawm8n3im30ilzdr53678"))))
(build-system gnu-build-system)
(arguments
- '(#:tests? #f ; no check target
- #:make-flags (list "CC=gcc"
+ `(#:tests? #f ; no check target
+ #:make-flags (list (string-append "CC=" ,(cc-for-target))
(string-append "PREFIX=" %output))
#:phases
(modify-phases %standard-phases
@@ -558,7 +559,7 @@ a card with a smaller capacity than stated.")
(define-public duperemove
(package
(name "duperemove")
- (version "0.11.1")
+ (version "0.11.2")
(source
(origin
(method git-fetch)
@@ -566,7 +567,7 @@ a card with a smaller capacity than stated.")
(url "https://github.com/markfasheh/duperemove")
(commit (string-append "v" version))))
(sha256
- (base32 "1scz76pvpljvrpfn176125xwaqwyy4pirlm11sc9spb2hyzknw2z"))
+ (base32 "1a87mka2sfzhbch2jip6wlvvs0glxq9lqwmyrp359d1rmwwmqiw9"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(native-inputs
@@ -580,7 +581,9 @@ a card with a smaller capacity than stated.")
(modify-phases %standard-phases
(delete 'configure)) ; no configure script
#:make-flags (list (string-append "PREFIX=" %output)
- "CC=gcc")))
+ (string-append "CC=" ,(cc-for-target))
+ ;; Set to <next release>dev by default.
+ (string-append "VER=" ,version))))
(home-page "https://github.com/markfasheh/duperemove")
(synopsis "Tools for de-duplicating file system data")
(description "Duperemove is a simple tool for finding duplicated extents
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm
index ee09b9d0b4..236c7e2819 100644
--- a/gnu/packages/docbook.scm
+++ b/gnu/packages/docbook.scm
@@ -41,7 +41,7 @@
(version "5.0.1")
(source (origin
(method url-fetch)
- (uri (string-append "https://www.docbook.org/xml/" version
+ (uri (string-append "https://docbook.org/xml/" version
"/docbook-" version ".zip"))
(sha256
(base32
@@ -83,7 +83,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(version "4.5")
(source (origin
(method url-fetch)
- (uri (string-append "https://www.docbook.org/xml/" version
+ (uri (string-append "https://docbook.org/xml/" version
"/docbook-xml-" version ".zip"))
(sha256
(base32
@@ -113,7 +113,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(version "4.4")
(source (origin
(method url-fetch)
- (uri (string-append "https://www.docbook.org/xml/" version
+ (uri (string-append "https://docbook.org/xml/" version
"/docbook-xml-" version ".zip"))
(sha256
(base32
@@ -124,7 +124,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(version "4.3")
(source (origin
(method url-fetch)
- (uri (string-append "https://www.docbook.org/xml/" version
+ (uri (string-append "https://docbook.org/xml/" version
"/docbook-xml-" version ".zip"))
(sha256
(base32
@@ -135,7 +135,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(version "4.2")
(source (origin
(method url-fetch)
- (uri (string-append "https://www.docbook.org/xml/" version
+ (uri (string-append "https://docbook.org/xml/" version
"/docbook-xml-" version ".zip"))
(sha256
(base32
@@ -146,7 +146,7 @@ by no means limited to these applications.) This package provides XML DTDs.")
(version "4.1.2")
(source (origin
(method url-fetch)
- (uri (string-append "https://www.docbook.org/xml/" version
+ (uri (string-append "https://docbook.org/xml/" version
"/docbkx412.zip"))
(sha256
(base32
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index 1ed54e83ac..34da660c34 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -275,7 +275,7 @@ easy.")
(define-public snap
(package
(name "snap")
- (version "6.2.4")
+ (version "6.3.1")
(source
(origin
(method git-fetch)
@@ -284,7 +284,7 @@ easy.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "05ahhwhswnlyg5wiywdj0df4bymcz1l5l4324gjcvpm2lgwxxnl5"))))
+ (base32 "1109xrvq1vszs74jhzdzhc1isij1hx6brb0w45m0i6sl0xxdrdhb"))))
(build-system trivial-build-system)
(arguments
`(#:modules ((guix build utils))
diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm
index 6caf50858a..328a3f3f6f 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -84,6 +84,7 @@
;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com>
;;; Copyright © 2020 Adam Kandur <rndd@tuta.io>
;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com>
+;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -963,6 +964,33 @@ using the Buffers User Interface library. You can view, copy, and edit secrets
from within Emacs.")
(license license:gpl3+)))
+(define-public emacs-solidity
+ ;; This commit fixes a spacing issue and adds new keywords.
+ (let ((commit "d166a86b83907e0cfd64c191e9dfce4b44a9843e")
+ (revision "0"))
+ (package
+ (name "emacs-solidity")
+ (version (git-version "0.1.10" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ethereum/emacs-solidity")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "19hgvsrqch2vp49ag6m76bi5qxd20v95z0ib838rib9as15b17wq"))))
+ (build-system emacs-build-system)
+ (propagated-inputs
+ `(("emacs-company" ,emacs-company)
+ ("emacs-flycheck" ,emacs-flycheck)))
+ (home-page "https://github.com/ethereum/emacs-solidity")
+ (synopsis "Major mode for writing Solidity code")
+ (description
+ "This is a simple language mode for the Solidity language. It is
+a constant work in progress as the language itself also progresses.")
+ (license license:gpl3+))))
+
(define-public emacs-unpackaged-el
(let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad")
(revision "3"))
@@ -1587,14 +1615,14 @@ incrementally confined in Isearch manner.")
(define emacs-emms-print-metadata
(package
(name "emacs-emms-print-metadata")
- (version "6.0")
+ (version "6.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar"))
(sha256
- (base32 "1zxiic91zhgdkxyfgyh1vkv4lzg90vq362y9k739n28ci6z4xzwm"))))
+ (base32 "0d95sjrh9vpl41vz26y8clgji987z15lj4ky2kr9yrl0zpa8yv35"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("emms-print-metadata")
@@ -8754,25 +8782,24 @@ that uses the standard completion function completing-read.")
(define-public emacs-yaml-mode
(package
(name "emacs-yaml-mode")
- (version "0.0.14")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/yoshiki/yaml-mode")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r"))))
+ (version "0.0.15")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/yoshiki/yaml-mode")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gsa153yp8lmwrvcc3nzpw5lj037y7q2nm23k5k404r5as4k355l"))))
(build-system emacs-build-system)
(home-page "https://github.com/yoshiki/yaml-mode")
(synopsis "Major mode for editing YAML files")
(description
- "Yaml-mode is an Emacs major mode for editing files in the YAML data
-serialization format. It was initially developed by Yoshiki Kurihara and many
-features were added by Marshall Vandegrift. As YAML and Python share the fact
-that indentation determines structure, this mode provides indentation and
-indentation command behavior very similar to that of python-mode.")
+ "Yaml mode is an Emacs major mode for editing files in the YAML data
+serialization format. As YAML and Python share the fact that indentation
+determines structure, this mode provides indentation and indentation command
+behavior very similar to that of Python mode.")
(license license:gpl3+)))
(define-public emacs-gitlab-ci-mode
@@ -11104,7 +11131,7 @@ abbreviation of the mode line displays (lighters) of minor modes.")
(define-public emacs-use-package
(package
(name "emacs-use-package")
- (version "2.4")
+ (version "2.4.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -11113,7 +11140,7 @@ abbreviation of the mode line displays (lighters) of minor modes.")
(file-name (git-file-name name version))
(sha256
(base32
- "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y"))))
+ "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9"))))
(build-system emacs-build-system)
(native-inputs
`(("texinfo" ,texinfo)))
@@ -11147,14 +11174,14 @@ performance-oriented and tidy.")
(define-public emacs-leaf
(package
(name "emacs-leaf")
- (version "4.2.5")
+ (version "4.3.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"leaf-" version ".tar"))
(sha256
- (base32 "0y78mp4c2gcwp7dc87wlx3r4hfmap14vvx8gkjc9nkf99qavpnkw"))))
+ (base32 "190sfnnii9jnj8amjkdabd8w9k2xyalhg4h488a5gzjxdzz2s6zi"))))
(build-system emacs-build-system)
(home-page "https://github.com/conao3/leaf.el")
(synopsis "Simplify your init.el configuration, extended use-package")
@@ -11343,6 +11370,30 @@ constructs.")
configuration of Chinese fonts.")
(license license:gpl2+)))
+(define-public emacs-csharp-mode
+ (package
+ (name "emacs-csharp-mode")
+ (version "0.10.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/josteink/csharp-mode")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0vwkbla2gkfa9dzxfvrvr7hd2z16769iwbycl7k6l701dnwli1fw"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/josteink/csharp-mode")
+ (synopsis "Major mode for C# code")
+ (description
+ "This is a C# editing mode for Emacs, based on CC mode. It handles
+syntax coloring, indentation, insertion of matched pairs of curly braces and
+documentation generation. In addition, it provides menu-based navigation
+using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.")
+ ;; XXX: Project switched to GPL3+ after 0.10.0 release.
+ (license license:gpl2+)))
+
(define-public emacs-php-mode
(package
(name "emacs-php-mode")
@@ -18537,6 +18588,16 @@ files. It focuses on highlighting the document to improve readability.")
(lambda _
(substitute* "Makefile"
(("\\$\\{CASK\\} exec ") ""))
+ #t))
+ ;; Two tests are failing with Emacs 27, as reported here:
+ ;; <https://github.com/racer-rust/emacs-racer/issues/136>. Disable
+ ;; them.
+ (add-before 'check 'fix-failing-tests
+ (lambda _
+ (substitute* "test/racer-test.el"
+ (("`Write`") "Write")
+ (("^\\\\\\[`str\\]:.*") "")
+ ((" \\[`str`\\]") " str"))
#t)))))
(native-inputs
`(("emacs-ert-runner" ,emacs-ert-runner)
@@ -20465,20 +20526,20 @@ processes for Emacs")
"0m083g3pg0n4ymi1w0jx34awr7cqbm4r561adij9kklblxsz7sc2"))))
(build-system emacs-build-system)
(propagated-inputs
- `(("emacs-dash" ,emacs-dash)
- ("emacs-s" ,emacs-s)
- ("emacs-f" ,emacs-f)
- ("emacs-ace-window" ,emacs-ace-window)
- ("emacs-pfuture" ,emacs-pfuture)
- ("emacs-hydra" ,emacs-hydra)
- ("emacs-ht" ,emacs-ht)))
+ `(("emacs-ace-window" ,emacs-ace-window)
+ ("emacs-dash" ,emacs-dash)
+ ("emacs-f" ,emacs-f)
+ ("emacs-ht" ,emacs-ht)
+ ("emacs-hydra" ,emacs-hydra)
+ ("emacs-pfuture" ,emacs-pfuture)
+ ("emacs-s" ,emacs-s)))
(native-inputs
`(("emacs-buttercup" ,emacs-buttercup)
("emacs-el-mock" ,emacs-el-mock)))
(inputs
`(("python" ,python)))
(arguments
- `(#:tests? #t ;TODO: Investigate ‘treemacs--parse-collapsed-dirs’ test failure.
+ `(#:tests? #t
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'fix-makefile
@@ -20493,12 +20554,14 @@ processes for Emacs")
(lambda _
(chdir "src/elisp")))
(replace 'check
+ ;; FIXME: Work around ‘treemacs--parse-collapsed-dirs’ and
+ ;; `treemacs-collect-child-nodes' test failures.
(lambda _
(with-directory-excursion "../.." ;treemacs root
(chmod "test/test-treemacs.el" #o644)
(emacs-substitute-sexps "test/test-treemacs.el"
- ("(describe \"treemacs--parse-collapsed-dirs\""
- ""))
+ ("(describe \"treemacs--parse-collapsed-dirs\"" "")
+ ("\"Finds only direct childre\"" ""))
(invoke "make" "test"))))
(add-before 'install 'patch-paths
(lambda* (#:key inputs outputs #:allow-other-keys)
@@ -20530,7 +20593,12 @@ processes for Emacs")
#t)))))))
(home-page "https://github.com/Alexander-Miller/treemacs")
(synopsis "Emacs tree style file explorer")
- (description "Powerful and flexible file tree project explorer.")
+ (description
+ "Treemacs is a file and project explorer similar to NeoTree or Vim's
+NerdTree, but largely inspired by the Project Explorer in Eclipse. It shows
+the file system outlines of your projects in a simple tree layout allowing
+quick navigation and exploration, while also possessing basic file management
+utilities.")
(license license:gpl3+)))
(define-public emacs-treemacs-extra
@@ -21593,8 +21661,8 @@ and searching through @code{Ctags} files.")
(license license:expat))))
(define-public emacs-org-download
- (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61")
- (revision "2"))
+ (let ((commit "42ac361ef5502017e6fc1bceb00333eba90402f4")
+ (revision "3"))
(package
(name "emacs-org-download")
(version (git-version "0.1.0" revision commit))
@@ -21603,10 +21671,9 @@ and searching through @code{Ctags} files.")
(uri (git-reference
(url "https://github.com/abo-abo/org-download")
(commit commit)))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl"))
- (file-name (git-file-name name version))))
+ (base32 "0cg4y7hy7xbq4vrbdicfzgvyaf3cjbx2zkqd4yl0y2garz71j99l"))))
(build-system emacs-build-system)
(propagated-inputs
`(("emacs-org" ,emacs-org)
@@ -22025,7 +22092,7 @@ and article extracts for Wikipedia.")
(define-public emacs-webfeeder
(package
(name "emacs-webfeeder")
- (version "1.0.0")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
@@ -22035,7 +22102,7 @@ and article extracts for Wikipedia.")
".tar"))
(sha256
(base32
- "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64"))))
+ "09wz6v58xc86hdnz6g54ckaxkm6844yyk2ffbxh4s5sdvgqrzdd8"))))
(build-system emacs-build-system)
(home-page "https://gitlab.com/Ambrevar/emacs-webfeeder")
(synopsis "Build RSS and Atom webfeeds from HTML files")
@@ -24290,7 +24357,7 @@ launching other commands/applications from within Emacs, similar to the
(define-public emacs-no-littering
(package
(name "emacs-no-littering")
- (version "1.0.3")
+ (version "1.2.0")
(source
(origin
(method git-fetch)
@@ -24299,7 +24366,7 @@ launching other commands/applications from within Emacs, similar to the
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "17is06l0w6glppabv2kaclrnqi3dqb6p6alpslpg7lrjd8vd45ir"))))
+ (base32 "1hma9var0nmrmjlh16s49hbfc1s4jvfd2prqxf14lxfd51404niw"))))
(build-system emacs-build-system)
(home-page "https://github.com/emacscollective/no-littering")
(synopsis "Help keep ~/.emacs.d/ clean")
@@ -25281,3 +25348,46 @@ the TypeScript implementation.")
(description "This package provides an Emacs client for the Rocket.chat
service.")
(license license:expat))))
+
+(define-public emacs-monokai-theme
+ (package
+ (name "emacs-monokai-theme")
+ (version "3.5.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/oneKelvinSmith/monokai-emacs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0dy8c3349j7fmp8052hbgvk0b7ldlv5jqpg0paq1i0hlypivd30i"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/oneKelvinSmith/monokai-emacs")
+ (synopsis "High contrast color theme for Emacs")
+ (description
+ "Monokai theme is a port of the popular TextMate Monokai theme for
+Emacs.")
+ (license license:gpl3+)))
+
+(define-public emacs-nord-theme
+ (package
+ (name "emacs-nord-theme")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/arcticicestudio/nord-emacs")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "096f8cik4jz89bvkifwp3gm9iraqrd75ljy2q9js724v7yj88711"))))
+ (build-system emacs-build-system)
+ (home-page "https://www.nordtheme.com/")
+ (synopsis "Low contrast arctic color theme for Emacs")
+ (description
+ "Nord is an arctic, north-bluish color scheme created for a clean and
+uncluttered design pattern to achieve optimal focus and readability for code
+syntax highlighting and UI components.")
+ (license license:expat)))
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 4963379d74..4f5a67093c 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -59,7 +59,6 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages image)
- #:use-module (gnu packages imagemagick)
#:use-module (gnu packages linux) ; alsa-lib
#:use-module (gnu packages mail) ; for mailutils
#:use-module (gnu packages multiprecision)
diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm
index cc26b17ea6..3a64c75109 100644
--- a/gnu/packages/embedded.scm
+++ b/gnu/packages/embedded.scm
@@ -3,7 +3,7 @@
;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org>
;;; Copyright © 2016 David Craven <david@craven.ch>
;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
@@ -36,6 +36,7 @@
#:use-module (guix build-system trivial)
#:use-module ((guix build utils) #:select (alist-replace))
#:use-module (gnu packages)
+ #:use-module (gnu packages admin)
#:use-module (gnu packages autotools)
#:use-module ((gnu packages base) #:prefix base:)
#:use-module (gnu packages bison)
@@ -487,7 +488,7 @@ SEGGER J-Link and compatible devices.")
(define-public jimtcl
(package
(name "jimtcl")
- (version "0.79")
+ (version "0.80")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -496,17 +497,26 @@ SEGGER J-Link and compatible devices.")
(file-name (git-file-name name version))
(sha256
(base32
- "1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h"))))
+ "06rn60cx9sapc175vxvan87b8j5rkhh5gvvz7343xznzwlr0wcgk"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- ;; Doesn't use autoconf.
(replace 'configure
+ ;; This package doesn't use autoconf.
(lambda* (#:key outputs #:allow-other-keys)
(let ((out (assoc-ref outputs "out")))
(invoke "./configure"
- (string-append "--prefix=" out))))))))
+ (string-append "--prefix=" out)))))
+ (add-before 'check 'delete-failing-tests
+ (lambda _
+ ;; XXX All but 1 TTY tests fail (Inappropriate ioctl for device).
+ (delete-file "tests/tty.test")
+ #t))
+ )))
+ (native-inputs
+ ;; For tests.
+ `(("inetutils" ,inetutils))) ; for hostname
(home-page "http://jim.tcl.tk/index.html")
(synopsis "Small footprint Tcl implementation")
(description "Jim is a small footprint implementation of the Tcl programming
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index 5b1d3788ad..86880be0d6 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -61,7 +61,6 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
- #:use-module (gnu packages imagemagick)
#:use-module (gnu packages libedit)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
@@ -477,14 +476,14 @@ V2.")
(define-public mednafen
(package
(name "mednafen")
- (version "1.24.3")
+ (version "1.26.1")
(source
(origin
(method url-fetch)
(uri (string-append "https://mednafen.github.io/releases/files/"
"mednafen-" version ".tar.xz"))
(sha256
- (base32 "03zplcfvmnnv7grhacmr1zy789pb2wda36wylmzmar23g0zqbsix"))))
+ (base32 "1x7xhxjhwsdbak8l0iyb497f043xkhibk73w96xck4j2bk10fac4"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags
@@ -567,7 +566,6 @@ The following systems are supported:
(native-inputs `(("pkg-config" ,pkg-config)
("qttools" ,qttools)))
(inputs `(("ffmpeg" ,ffmpeg)
- ("imagemagick" ,imagemagick)
("libedit" ,libedit)
("libelf" ,libelf)
("libepoxy" ,libepoxy)
diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm
index 75b330f83b..950cb16505 100644
--- a/gnu/packages/enchant.scm
+++ b/gnu/packages/enchant.scm
@@ -79,7 +79,7 @@ dictionaries.")
(define-public enchant
(package
(name "enchant")
- (version "2.2.8")
+ (version "2.2.13")
(source (origin
(method url-fetch)
(uri (string-append "https://github.com/AbiWord/enchant/releases"
@@ -87,7 +87,7 @@ dictionaries.")
version ".tar.gz"))
(sha256
(base32
- "0m9m564qqwbssvvf7y3dlz1yxzqsjiqy1yd2zsmb3l0d7y2y5df7"))))
+ "084aqsrkzz2c1ls47p759d9bsi26d0m6wq9901k37483g46zkfga"))))
(build-system gnu-build-system)
(arguments
'(#:configure-flags '("--disable-static"
diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 2e1ffa1355..acf048d2e5 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -1537,8 +1537,12 @@ high-performance parallel differential evolution (DE) optimization algorithm.")
(version "28")
(source (origin
(method url-fetch)
- (uri (string-append "mirror://sourceforge/ngspice/ng-spice-rework/"
- version "/ngspice-" version ".tar.gz"))
+ (uri (list
+ (string-append "mirror://sourceforge/ngspice/ng-spice-rework/"
+ version "/ngspice-" version ".tar.gz")
+ (string-append "mirror://sourceforge/ngspice/ng-spice-rework/"
+ "old-releases/" version
+ "/ngspice-" version ".tar.gz")))
(sha256
(base32
"0rnz2rdgyav16w7wfn3sfrk2lwvvgz1fh0l9107zkcldijklz04l"))
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 02fd45017a..f306a31e46 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -566,14 +566,14 @@ directories.
(define-public evisum
(package
(name "evisum")
- (version "0.5.6")
+ (version "0.5.7")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.enlightenment.org/rel/apps/"
"evisum/evisum-" version ".tar.xz"))
(sha256
- (base32 "1l8pym7738kncvic5ga03sj9d5igigvmcxa9lbg47z2yvdjwzv97"))))
+ (base32 "0pm63n3rls8vkjv3awq0f3zlqk33ddql3g0rl2bc46n48g2mcmbd"))))
(build-system meson-build-system)
(arguments
'(#:tests? #f)) ; no tests
diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index c29f429c60..974ddc30ee 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -254,8 +254,8 @@ from a mounted file system.")
(license license:gpl2+)))
(define-public bcachefs-tools
- (let ((commit "ab2f1ec24f5307b0cf1e3c4ad19bf350d9f54d9f")
- (revision "0"))
+ (let ((commit "742dbbdbb90efb786f05a8576917fcd0e9cbd57e")
+ (revision "1"))
(package
(name "bcachefs-tools")
(version (git-version "0.1" revision commit))
@@ -267,7 +267,7 @@ from a mounted file system.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "10pafvaxg1lvwnqjv3a4rsi96bghbpcsgh3vhqilndi334k3b0hd"))))
+ (base32 "0kn8y3kqylz6scv47mzfmwrlh21kbb14z5vs65vks8w50i26sxnc"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
@@ -287,7 +287,8 @@ from a mounted file system.")
("python-pytest" ,python-pytest)
("valgrind" ,valgrind)))
(inputs
- `(("keyutils" ,keyutils)
+ `(("eudev" ,eudev)
+ ("keyutils" ,keyutils)
("libaio" ,libaio)
("libscrypt" ,libscrypt)
("libsodium" ,libsodium)
diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm
index ffbf3b218d..5b3ee2c65c 100644
--- a/gnu/packages/finance.scm
+++ b/gnu/packages/finance.scm
@@ -617,7 +617,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
;; the system's dynamically linked library.
(package
(name "monero")
- (version "0.17.1.1")
+ (version "0.17.1.3")
(source
(origin
(method git-fetch)
@@ -637,7 +637,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch
"external/unbound"))
#t))
(sha256
- (base32 "18x27dm24k04vx0yz57zi02rk0wrmbn4wr8alqf48dq6z9wr0fhp"))))
+ (base32 "1ddkdfd8i5q509qziwcx1f6nm8axs4a1ppzv2y5lgsqpq375if6j"))))
(build-system cmake-build-system)
(native-inputs
`(("doxygen" ,doxygen)
@@ -727,7 +727,7 @@ the Monero command line client and daemon.")
(define-public monero-gui
(package
(name "monero-gui")
- (version "0.17.1.1")
+ (version "0.17.1.4")
(source
(origin
(method git-fetch)
@@ -736,7 +736,7 @@ the Monero command line client and daemon.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0aqhp4rmqsgwjb875kgh6qwz0wyyiag1fksyic9cnhgg5j5y95nx"))))
+ (base32 "1ixjfdlvwr2an2s9jaql240bk7jpq5hhm5c4hww0bicyy3fp12ng"))))
(build-system qt-build-system)
(native-inputs
`(,@(package-native-inputs monero)
@@ -748,8 +748,6 @@ the Monero command line client and daemon.")
("qtbase" ,qtbase)
("qtdeclarative" ,qtdeclarative)
("qtgraphicaleffects" ,qtgraphicaleffects)
- ("qtlocation" ,qtlocation)
- ("qtmultimedia" ,qtmultimedia)
("qtquickcontrols" ,qtquickcontrols)
("qtquickcontrols2",qtquickcontrols2)
("qtsvg" ,qtsvg)
@@ -761,7 +759,7 @@ the Monero command line client and daemon.")
"-DENABLE_PASS_STRENGTH_METER=ON"
(string-append "-DReadline_ROOT_DIR="
(assoc-ref %build-inputs "readline"))
- "-DCMAKE_BUILD_TYPE=Release")
+ "-DCMAKE_PREFIX_PATH=\"\"")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'extract-monero-sources
@@ -774,9 +772,6 @@ the Monero command line client and daemon.")
#t))
(add-after 'extract-monero-sources 'fix-build
(lambda _
- (substitute* "monero/src/version.cpp.in"
- (("@VERSION_IS_RELEASE@")
- "false"))
(substitute* "src/version.js.in"
(("@VERSION_TAG_GUI@")
,version))
diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm
index 360a3ece76..396e89a1fd 100644
--- a/gnu/packages/fonts.scm
+++ b/gnu/packages/fonts.scm
@@ -1787,6 +1787,36 @@ Mono’s typeface forms are simple and free from unnecessary details. Rendered
in small sizes, the text looks crisper.")
(license license:asl2.0)))
+(define-public font-juliamono
+ (package
+ (name "font-juliamono")
+ (version "0.025")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cormullion/juliamono")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1w8mpl9zc1y4j1f26ikbz5g9dqsszhikp4r9p1d3ch3b5ayb5c3m"))))
+ (build-system font-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'delete-website-folder
+ ;; This folder contains other unrelated fonts.
+ (lambda _
+ (delete-file-recursively "website")
+ #t)))))
+ (home-page "https://github.com/cormullion/juliamono")
+ (synopsis "Monospaced font for programming")
+ (description
+ "JuliaMono is a monospaced font for scientific and technical computing,
+designed to work for programming in the Julia Programming Language and other
+text environments.")
+ (license license:silofl1.1)))
+
(define-public font-vazir
(package
(name "font-vazir")
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 68665edddd..89d5013a8b 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -160,7 +160,7 @@ scripts.")
(inputs
`(("zlib" ,zlib)))
(arguments
- `(#:make-flags '("CC=gcc")
+ `(#:make-flags '(,(string-append "CC=" (cc-for-target)))
#:tests? #f ;no tests
#:phases
(modify-phases %standard-phases
@@ -170,7 +170,8 @@ scripts.")
(let* ((out (assoc-ref outputs "out"))
(bin (string-append out "/bin")))
(install-file "sfnt2woff" bin)
- (install-file "woff2sfnt" bin)))))))
+ (install-file "woff2sfnt" bin))
+ #t)))))
(synopsis "Convert between OpenType and WOFF fonts")
(description
"This package provides two tools:
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 6caff14cf2..94ec2cd44a 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -1393,17 +1393,22 @@ different sorts of messages in different formats.")
(define-public telepathy-idle
(package
(name "telepathy-idle")
- (version "0.2.0")
- (source (origin
- (method url-fetch)
- (uri (string-append "https://telepathy.freedesktop.org/releases/"
- name "/" name "-" version ".tar.bz2"))
- (sha256
- (base32
- "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh"))))
+ (version "0.2.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/TelepathyIM/telepathy-idle")
+ (commit (string-append "telepathy-idle-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1pfw4g2cicw3ykxhsy743r0fc1yqbdrqxh2c5ha6am19dajcr95l"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("xsltproc" ,libxslt)
("python" ,python-2)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index eb29f2a8e5..439e369fe4 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -1868,8 +1868,8 @@ role, and your gender.")
(source
(origin
(method url-fetch)
- (uri (string-append "http://downloads.sourceforge.net/pipewalker/"
- "pipewalker-" version ".tar.gz"))
+ (uri (string-append "mirror://sourceforge/pipewalker/pipewalker/"
+ version "/pipewalker-" version ".tar.gz"))
(sha256
(base32 "1x46wgk0s55562pd96cxagxkn6wpgglq779f9b64ff1k3xzp3myn"))))
(build-system gnu-build-system)
@@ -5253,7 +5253,7 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.")
(define-public laby
(package
(name "laby")
- (version "0.6.4")
+ (version "0.7.0")
(source
(origin (method git-fetch)
(uri (git-reference
@@ -5262,7 +5262,7 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.")
(file-name (git-file-name name version))
(sha256
(base32
- "12fq9hhrxpzgfinmj9ra9ckss9yficwdlrmgjvvsq7agvh3sgyl1"))
+ "1y6nfxcjhqg9bb81hs0wijg7kcwk5kff81rgd8bsv5ps7ia9nj6b"))
(patches (search-patches "laby-make-install.patch"))))
(build-system gnu-build-system)
(inputs
@@ -6590,7 +6590,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(define-public tome4
(package
(name "tome4")
- (version "1.7.0")
+ (version "1.7.2")
(synopsis "Single-player, RPG roguelike game set in the world of Eyal")
(source
(origin
@@ -6598,7 +6598,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as
(uri (string-append "https://te4.org/dl/t-engine/t-engine4-src-"
version ".tar.bz2"))
(sha256
- (base32 "1fs0320n3ndd5kd6j9y22jsd1hbn356d4dr11kl3iy5ssix7832s"))
+ (base32 "1xa0pdn9pggwf7hnqb87ya2qxqhjahkdjwf8cr2y01gixgrkj9lv"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -6620,7 +6620,9 @@ Crowther & Woods, its original authors, in 1995. It has been known as
("vorbis" ,libvorbis)
("luajit" ,luajit)))
(arguments
- `(#:make-flags '("CC=gcc" "config=release")
+ `(#:make-flags
+ (list (string-append "CC=" ,(cc-for-target))
+ "config=release")
;; XXX: Building in parallel occasionally causes this build failure:
;; ../src/luajit2/src/host/buildvm.c:73:10: fatal error: buildvm_arch.h:
;; No such file or directory
diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm
index 7f3ae41d17..77b4aada6f 100644
--- a/gnu/packages/gnome-xyz.scm
+++ b/gnu/packages/gnome-xyz.scm
@@ -593,7 +593,7 @@ and a few extra features.")
;; Note to maintainer: VLS must be built with a Vala toolchain the same
;; version or newer. Therefore when you update this package you may need
;; to update Vala too.
- (version "0.48")
+ (version "0.48.1")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -601,7 +601,7 @@ and a few extra features.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0chgfpci247skrvsiq1l8cas8sj2z6z42dlarka3df3qwxmh0if0"))))
+ (base32 "12k095052jkvbiyz8gzkj6w7r7p16d5m18fyikl48yvh5nln8fw0"))))
(build-system meson-build-system)
(arguments '(#:glib-or-gtk? #t))
(inputs
@@ -609,7 +609,7 @@ and a few extra features.")
("json-glib" ,json-glib)
("jsonrpc-glib" ,jsonrpc-glib)
("libgee" ,libgee)
- ("vala" ,vala-0.48)))
+ ("vala" ,vala-0.50)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(home-page "https://github.com/benwaffle/vala-language-server")
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 43b681d85d..d697de74ab 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -2840,16 +2840,16 @@ database is translated at Transifex.")
(define-public system-config-printer
(package
(name "system-config-printer")
- (version "1.5.12")
+ (version "1.5.13")
(source
(origin
(method url-fetch)
(uri (string-append
"https://github.com/OpenPrinting/system-config-printer/releases/"
- "download/" version
+ "download/v" version
"/system-config-printer-" version ".tar.xz"))
(sha256
- (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb"))))
+ (base32 "18dqvi1s971lggkw6pv1sqxixlpg5a8rppzc1pxbanxa91jg18zf"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:imported-modules ((guix build python-build-system)
@@ -4279,10 +4279,10 @@ requirements and without using a different ABI compared to applications and
libraries written in C.")
(license license:lgpl2.1+)))
-(define-public vala-0.48
+(define-public vala-0.50
(package
(inherit vala)
- (version "0.48.9")
+ (version "0.50.1")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/vala/"
@@ -4290,7 +4290,7 @@ libraries written in C.")
"vala-" version ".tar.xz"))
(sha256
(base32
- "1agyrvslv2yh9ikiw7k5nw6j6il1l2zrzfan0pzdpb9xpg9idslw"))))))
+ "0v4g2gvn7x7cl33h8sj1y2xyyskw5ayaj4jm2jrd3my3r439z3cm"))))))
(define-public vte
(package
@@ -6001,7 +6001,7 @@ discovery protocols.")
(define-public totem
(package
(name "totem")
- (version "3.34.1")
+ (version "3.38.0")
(source
(origin
(method url-fetch)
@@ -6010,14 +6010,14 @@ discovery protocols.")
"totem-" version ".tar.xz"))
(sha256
(base32
- "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b"))))
+ "0bs33ijvxbr2prb9yj4dxglsszslsn9k258n311sld84masz4ad8"))))
(build-system meson-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
("desktop-file-utils" ,desktop-file-utils)
+ ("gettext" ,gettext-minimal)
("gobject-introspection" ,gobject-introspection)
("glib:bin" ,glib "bin") ;for 'glib-mkenums'
- ("intltool" ,intltool)
("itstool" ,itstool)
("xmllint" ,libxml2)
("xorg-server" ,xorg-server-for-tests)))
@@ -6835,7 +6835,7 @@ metadata in photo and video files of various formats.")
(define-public shotwell
(package
(name "shotwell")
- (version "0.30.9")
+ (version "0.30.11")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnome/sources/shotwell/"
@@ -6843,7 +6843,7 @@ metadata in photo and video files of various formats.")
"shotwell-" version ".tar.xz"))
(sha256
(base32
- "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id"))))
+ "12d26y40kjlv5x8f5g04wff33vh7mdjb8c41ydqbrwdip0jwy2n2"))))
(build-system meson-build-system)
(arguments
'(#:glib-or-gtk? #t
@@ -9967,14 +9967,14 @@ only know by its Unicode name or code point.")
(define-public bluefish
(package
(name "bluefish")
- (version "2.2.11")
+ (version "2.2.12")
(source
(origin
(method url-fetch)
- (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/"
+ (uri (string-append "https://www.bennewitz.com/bluefish/stable/source/"
"bluefish-" version ".tar.gz"))
(sha256
- (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x"))))
+ (base32 "09hgxq139kbkjda5y073lqhq1z1x7cx0j80jh77afrqa3y9c53wl"))))
(build-system gnu-build-system)
(native-inputs
`(("desktop-file-utils" ,desktop-file-utils)
@@ -9989,7 +9989,7 @@ only know by its Unicode name or code point.")
(home-page "http://bluefish.openoffice.nl")
(synopsis "Web development studio")
(description
- "Bluefish is an editor targeted towards programmers and web developers,
+ "Bluefish is an editor aimed at programmers and web developers,
with many options to write web sites, scripts and other code.
Bluefish supports many programming and markup languages.")
(license license:gpl3+)))
@@ -11465,6 +11465,62 @@ symbol tables, document templates, project management, spell-checking, menus
and toolbars.")
(license license:gpl3+)))
+(define-public setzer
+ (package
+ (name "setzer")
+ (version "0.3.6")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/cvfosammmm/Setzer")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "118gip6bv4mcsq4nrai7kl0vmqqbyzpsd4ky9vhxb1x2cvg048s8"))))
+ (build-system meson-build-system)
+ (arguments
+ `(#:glib-or-gtk? #t
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((prog (string-append (assoc-ref outputs "out")
+ "/bin/setzer"))
+ (pylib (string-append (assoc-ref outputs "out")
+ "/lib/python"
+ ,(version-major+minor
+ (package-version python))
+ "/site-packages")))
+ (wrap-program prog
+ `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib))
+ `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH"))))
+ #t))))))
+ (native-inputs
+ `(("desktop-file-utils" ,desktop-file-utils)
+ ("gettext" ,gettext-minimal)
+ ("glib:bin" ,glib "bin")
+ ("gobject-introspection" ,gobject-introspection)
+ ("gtk+:bin" ,gtk+ "bin")))
+ (inputs
+ `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
+ ("gspell" ,gspell)
+ ("gtk+" ,gtk+)
+ ("gtksourceview" ,gtksourceview)
+ ("pango" ,pango)
+ ("poppler" ,poppler)
+ ("python-pycairo" ,python-pycairo)
+ ("python-pygobject" ,python-pygobject)
+ ("python-pyxdg" ,python-pyxdg)
+ ("webkitgtk" ,webkitgtk)
+ ("xdg-utils" ,xdg-utils)))
+ (home-page "https://www.cvfosammmm.org/setzer/")
+ (synopsis "LaTeX editor written in Python with GTK+")
+ (description
+ "Setzer is a simple yet full-featured LaTeX editor written in Python with
+GTK+. It integrates well with the GNOME desktop environment.")
+ (license license:gpl3+)))
+
(define-public libratbag
(package
(name "libratbag")
diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm
index 8f58ce332a..dcee4dc166 100644
--- a/gnu/packages/gnucash.scm
+++ b/gnu/packages/gnucash.scm
@@ -6,6 +6,7 @@
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -24,6 +25,7 @@
(define-module (gnu packages gnucash)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix utils)
#:use-module (guix packages)
#:use-module (guix download)
#:use-module (guix build-system gnu)
@@ -48,6 +50,7 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages webkit)
@@ -82,6 +85,7 @@
("libxslt" ,libxslt)
("webkitgtk" ,webkitgtk)
("aqbanking" ,aqbanking)
+ ("python" ,python)
("perl-date-manip" ,perl-date-manip)
("perl-finance-quote" ,perl-finance-quote)
("tzdata" ,tzdata-for-tests)))
@@ -95,9 +99,10 @@
(propagated-inputs
;; dconf is required at runtime according to README.dependencies.
`(("dconf" ,dconf)))
- (outputs '("out" "doc" "debug"))
+ (outputs '("out" "doc" "debug" "python"))
(arguments
`(#:test-target "check"
+ #:configure-flags '("-DWITH_PYTHON=ON")
#:make-flags '("GUILE_AUTO_COMPILE=0")
#:modules ((guix build cmake-build-system)
((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:)
@@ -149,6 +154,20 @@
(symlink (string-append docs "/share/gnome")
(string-append doc-output "/share/gnome"))
#t)))
+ (add-after 'install 'split-python-bindings
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (python-output (assoc-ref outputs "python"))
+ (python-bindings (string-append
+ "lib/python"
+ ,(version-major+minor
+ (package-version python)))))
+ (mkdir-p (string-append python-output "/" python-bindings))
+ (copy-recursively
+ (string-append out "/" python-bindings)
+ (string-append python-output "/" python-bindings))
+ (delete-file-recursively
+ (string-append out "/" python-bindings)))))
(add-after 'install-docs 'wrap-programs
(lambda* (#:key inputs outputs #:allow-other-keys)
(for-each (lambda (prog)
diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index c0f827b7e3..acf6508795 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -106,6 +106,7 @@
(match (string-take target
(string-index target #\-))
("armhf" "arm-unknown-linux-gnueabi")
+ ("mips64el" "mips-unknown-linux-gnu")
(x
(string-append x "-unknown-linux-gnu")))))
(symlink
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index db67d7ad0a..39b4d9f7c1 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -550,8 +550,8 @@ from forcing GEXP-PROMISE."
#:system system
#:guile-for-build guile)))
-(define %icecat-version "78.4.0-guix0-preview1")
-(define %icecat-build-id "20201019000000") ;must be of the form YYYYMMDDhhmmss
+(define %icecat-version "78.4.1-guix0-preview1")
+(define %icecat-build-id "20201110000000") ;must be of the form YYYYMMDDhhmmss
;; 'icecat-source' is a "computed" origin that generates an IceCat tarball
;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat'
@@ -573,11 +573,11 @@ from forcing GEXP-PROMISE."
"firefox-" upstream-firefox-version ".source.tar.xz"))
(sha256
(base32
- "1z3hj45bnd12z3g6ajv9qrgclca7fymi1sxj9l9nh9q6y6xz0g4f"))))
+ "0q57b0s6xhps4dzp2cih4ajdj6hdas0j6jx0sidzj72vjzfywy0r"))))
- (upstream-icecat-base-version "78.4.0") ; maybe older than base-version
+ (upstream-icecat-base-version "78.4.1") ; maybe older than base-version
;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version))
- (gnuzilla-commit "05adddbf87a5ee11de7cd90794c331a178bcfd5c")
+ (gnuzilla-commit "df2c2e22a0c6ea5b4dcaed52884223bfa6ffacde")
(gnuzilla-source
(origin
(method git-fetch)
@@ -589,7 +589,7 @@ from forcing GEXP-PROMISE."
(string-take gnuzilla-commit 8)))
(sha256
(base32
- "128h0gnn1adinjkfmskxdjkvyh60li8czlar2xdjn2b6myiq5yny"))))
+ "1y1p2g9xvqsg0im58lhdkrp8z0zlxw6i3qqplqdpbidmjwibmqjz"))))
;; 'search-patch' returns either a valid file name or #f, so wrap it
;; in 'assume-valid-file-name' to avoid 'local-file' warnings.
@@ -1476,6 +1476,27 @@ standards of the IceCat project.")
Thunderbird. It supports email, news feeds, chat, calendar and contacts.")
(license license:mpl2.0)))
+(define-public icedove/wayland
+ (package/inherit icedove
+ (name "icedove-wayland")
+ (arguments
+ (substitute-keyword-arguments (package-arguments icedove)
+ ((#:phases phases)
+ `(modify-phases ,phases
+ (replace 'wrap-program
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (lib (string-append out "/lib"))
+ (gtk (assoc-ref inputs "gtk+"))
+ (gtk-share (string-append gtk "/share"))
+ (pulseaudio (assoc-ref inputs "pulseaudio"))
+ (pulseaudio-lib (string-append pulseaudio "/lib")))
+ (wrap-program (car (find-files lib "^icedove$"))
+ `("MOZ_ENABLE_WAYLAND" = ("1"))
+ `("XDG_DATA_DIRS" prefix (,gtk-share))
+ `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib)))
+ #t)))))))))
+
(define-public firefox-decrypt
(package
(name "firefox-decrypt")
diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index 6ba735c4a2..82573bd099 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -5933,3 +5933,105 @@ tests.")
(description
"This package provides SCSS compiler support for Go applications.")
(license license:expat)))
+
+(define-public go-github-com-hashicorp-go-syslog
+ (package
+ (name "go-github-com-hashicorp-go-syslog")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hashicorp/go-syslog")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/hashicorp/go-syslog"))
+ (home-page "https://github.com/hashicorp/go-syslog")
+ (synopsis "Golang syslog wrapper, cross-compile friendly")
+ (description "This package is a very simple wrapper around log/syslog")
+ (license license:expat)))
+
+(define-public go-github-com-hjson-hjson-go
+ (package
+ (name "go-github-com-hjson-hjson-go")
+ (version "3.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hjson/hjson-go")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dfdiahimg6z9idg8jiqxwnlwjnmasbjccx8gnag49cz4yfqskaz"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/hjson/hjson-go"))
+ (home-page "https://hjson.org/")
+ (synopsis "Human JSON implementation for Go")
+ (description "Hjson is a syntax extension to JSON. It is intended to be
+used like a user interface for humans, to read and edit before passing the
+JSON data to the machine.")
+ (license license:expat)))
+
+(define-public go-golang-zx2c4-com-wireguard
+ (package
+ (name "go-golang-zx2c4-com-wireguard")
+ (version "0.0.20200320")
+ (source
+ (origin
+ (method git-fetch)
+ ;; NOTE: module URL is a redirect
+ ;; target: git.zx2c4.com/wireguard-go
+ ;; source: golang.zx2c4.com/wireguard
+ (uri (git-reference
+ (url "https://git.zx2c4.com/wireguard-go/")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0fy4qsss3i3pkq1rpgjds4aipbwlh1dr9hbbf7jn2a1c63kfks0r"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "golang.zx2c4.com/wireguard"))
+ (propagated-inputs
+ `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+ ("go-golang-org-x-net" ,go-golang-org-x-net)
+ ("go-golang-org-x-sys" ,go-golang-org-x-sys)
+ ("go-golang-org-x-text" ,go-golang-org-x-text)))
+ (home-page "https://git.zx2c4.com/wireguard")
+ (synopsis "Implementation of WireGuard in Go")
+ (description "This package is a Go Implementation of WireGuard.")
+ (license license:expat)))
+
+(define-public go-github-com-kardianos-minwinsvc
+ (package
+ (name "go-github-com-kardianos-minwinsvc")
+ (version "1.0.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/kardianos/minwinsvc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0z941cxymkjcsj3p5l3g4wm2da3smz7iyqk2wbs5y8lmxd4kfzd8"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/kardianos/minwinsvc"))
+ (home-page "https://github.com/kardianos/minwinsvc/")
+ ;; some packages (Yggdrasil) need it to compile
+ ;; it's a tiny package and it's easier to bundle it than to patch it out
+ (synopsis "Minimal windows only service stub for Go")
+ (description "Go programs designed to run from most *nix style operating
+systems can import this package to enable running programs as services without
+modifying them.")
+ (license license:zlib)))
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 02281d60d1..01949e2aaa 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -1803,8 +1803,8 @@ capabilities.")
(license license:gpl3+)))
(define-public g-golf
- (let ((commit "84e894eb7945c3bcdf7f8d5135c1be3efa524c92")
- (revision "822"))
+ (let ((commit "ef830107b9765bd6a2da848d0cbe45e11374c0b5")
+ (revision "839"))
(package
(name "g-golf")
(version (git-version "0.1.0" revision commit))
@@ -1816,7 +1816,7 @@ capabilities.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1pkcij65zy2lkip5yrfzj85nq17pp9mrf0d4sk6hpjqr4kd0bxd5"))))
+ (base32 "0r472hvmf447kqvkahp1wy4irb5gy8y793hm8r9rc511smdx66cw"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -3084,7 +3084,7 @@ in C using Gtk+-3 and WebKitGtk.")
(license license:gpl3+)))
(define-public emacsy-minimal
- (let ((commit "v0.4.1-31-g415d96f"))
+ (let ((commit "v0.4.1-37-g5f91ee6"))
(package
(inherit emacsy)
(name "emacsy-minimal")
@@ -3097,7 +3097,7 @@ in C using Gtk+-3 and WebKitGtk.")
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1cs1i1hxwrv0a512j54yrvfh743nci1chx6qjgp4jyzq98ncvxgg"))))
+ (base32 "03ym14g9qhjqmryr5z065kynqm8yhmvnbs2djl6vp3i9cmqln8cl"))))
(build-system gnu-build-system)
(inputs
`(("guile" ,guile-2.2)
@@ -3150,7 +3150,7 @@ perform geometrical transforms on JPEG images.")
(define-public nomad
(package
(name "nomad")
- (version "0.2.0-alpha-100-g6a565d3")
+ (version "0.2.0-alpha-199-g3e7a475")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -3159,7 +3159,7 @@ perform geometrical transforms on JPEG images.")
(file-name (git-file-name name version))
(sha256
(base32
- "0anmprm63a88kii251rl296v1g4iq62r6n4nssx5jbc0hzkknanz"))))
+ "0p0ha6prp7pyadp61clbhc6b55023vxzfwy14j2qygb2mkq7fhic"))))
(build-system gnu-build-system)
(native-inputs
`(("autoconf" ,autoconf)
@@ -3190,6 +3190,7 @@ perform geometrical transforms on JPEG images.")
("gtk+:bin" ,gtk+ "bin")
("webkitgtk" ,webkitgtk)
("gtksourceview" ,gtksourceview)
+ ("gsettings-desktop-schemas" ,gsettings-desktop-schemas)
("vte" ,vte)
;; Gstreamer
("gstreamer" ,gstreamer)
diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index da1bd2128c..1339536954 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -339,14 +339,14 @@ to @code{cabal repl}).")
(define-public git-annex
(package
(name "git-annex")
- (version "8.20201007")
+ (version "8.20201103")
(source
(origin
(method url-fetch)
(uri (string-append "https://hackage.haskell.org/package/"
"git-annex/git-annex-" version ".tar.gz"))
(sha256
- (base32 "0v11yc4kkxnzvwqry277dpjwlavinrjiagfw0ayhrfwd703j1y8a"))))
+ (base32 "1z9ikpsz3by48yfw87qav5dy7j4k9ky4a7nqnasl15kdm3lav9pl"))))
(build-system haskell-build-system)
(arguments
`(#:configure-flags
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 3e341c0752..d80e59cdeb 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -137,7 +137,7 @@ This package contains GUI widgets for baloo.")
(list license:lgpl2.1+ license:fdl1.2+))))
(define-public kdenlive
- (let ((version "20.08.2"))
+ (let ((version "20.08.3"))
(package
(name "kdenlive")
(version version)
@@ -149,7 +149,7 @@ This package contains GUI widgets for baloo.")
(commit (string-append "v" version))))
(file-name (string-append name "-" version "-checkout"))
(sha256
- (base32 "1zcckv4wj12pvxjg85c8l67vi3amz79yv8mf7m4fbxnam3yxhy90"))))
+ (base32 "0x0qfwf6wfnybjyjvmllpf87sm27d1n2akslhp2k8ins838qy55i"))))
(build-system cmake-build-system)
(native-inputs
`(("extra-cmake-modules" ,extra-cmake-modules)
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index fdc62e8825..76836d718b 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -1109,6 +1109,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
("clucene" ,clucene)
("cups" ,cups)
("dbus-glib" ,dbus-glib)
+ ("firebird" ,firebird)
("fontconfig" ,fontconfig)
("fontforge" ,fontforge)
("gconf" ,gconf)
@@ -1285,7 +1286,9 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.")
"--without-java"
;; FIXME: Enable once the corresponding inputs are packaged.
"--disable-coinmp"
- "--disable-firebird-sdbc" ; embedded firebird
+ ;; This could (Debian does this) be a separate output containing only
+ ;; program/libfirebird_sdbclo.so, if there's a way to point to it.
+ "--enable-firebird-sdbc"
;; XXX: PDFium support requires fetching an external tarball and
;; patching the build scripts to work with GCC5. Try enabling this
;; when our default compiler is >=GCC 6.
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index c87c5ffb09..8abeb976af 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -351,15 +351,15 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The current "stable" kernel. That is, the most recently released major
;; version.
-(define-public linux-libre-5.9-version "5.9.3")
+(define-public linux-libre-5.9-version "5.9.8")
(define deblob-scripts-5.9
(linux-libre-deblob-scripts
linux-libre-5.9-version
(base32 "1l0iw2lp6alk0a8nvdafklyks83iiyw4b2r5xif84z47qfbydsis")
- (base32 "0is78bvpx6mrhibpspz4iqnsa1xplh11q1cnalkkm4hpsiy0fi4g")))
+ (base32 "0wp0mx5d2qhv7brc595qj34phiaxz9z5gf26w5369nh9mll5cbw6")))
(define-public linux-libre-5.9-pristine-source
(let ((version linux-libre-5.9-version)
- (hash (base32 "0wwa6557i9l4vyswz26ixz8c2ykxnzqrsc9pwkr76nyjx7gjibni")))
+ (hash (base32 "19l67gzk97higd2cbggipcb0wi21pv0ag0mc4qh6cqk564xp6mkn")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.9)))
@@ -367,20 +367,20 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
;; The "longterm" kernels — the older releases with long-term upstream support.
;; Here are the support timelines:
;; <https://www.kernel.org/category/releases.html>
-(define-public linux-libre-5.4-version "5.4.74")
+(define-public linux-libre-5.4-version "5.4.77")
(define deblob-scripts-5.4
(linux-libre-deblob-scripts
linux-libre-5.4-version
(base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25")
- (base32 "1h6gbc9cfhb7dqx669iq26a23whka6km5av0ysk61aaz2z57vkrk")))
+ (base32 "167zcfkw62pm6nv1xdvvhxw0ca724sywcywnv3z00189f8f8p3vg")))
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "1drs2pngr5w3rmpydljirmibp30qb4hdrhqsi92knshlw6nz817c")))
+ (hash (base32 "1xyvml0mps7bsa11bgpa4l0w8x6pasdz9yab2z4ds394f1lkxq53")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-5.4)))
-(define-public linux-libre-4.19-version "4.19.154")
+(define-public linux-libre-4.19-version "4.19.157")
(define deblob-scripts-4.19
(linux-libre-deblob-scripts
linux-libre-4.19-version
@@ -388,12 +388,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf")))
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "0ik6anz6ly0dl0lp8m5mighlvzkifnk2kljwajxa56vbhj691339")))
+ (hash (base32 "0mgpgv2ny49bb7kgaygy2ay6ckjgw7mg091viivi66jw4mjs7p3n")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.19)))
-(define-public linux-libre-4.14-version "4.14.203")
+(define-public linux-libre-4.14-version "4.14.206")
(define deblob-scripts-4.14
(linux-libre-deblob-scripts
linux-libre-4.14-version
@@ -401,12 +401,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky")))
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "0c9r1s83mrn9lzgrr4wzvk4d72q70sbgf7lql6z9ivkf12v3p5mc")))
+ (hash (base32 "1b46f0s15xnlam43cmw8w41rrvcwrhm6km0278lq6f86lpx3w8qw")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.14)))
-(define-public linux-libre-4.9-version "4.9.241")
+(define-public linux-libre-4.9-version "4.9.243")
(define deblob-scripts-4.9
(linux-libre-deblob-scripts
linux-libre-4.9-version
@@ -414,12 +414,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2")))
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "0b5k9cwz7vpaybw4nd03pn2z4d8qbhmhd9mx4j2yd0fqj57x1in4")))
+ (hash (base32 "111rlzx6z4kf8zwxncib96d9wy6qmkbs0cq3dhnybipwlyf1iank")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.9)))
-(define-public linux-libre-4.4-version "4.4.241")
+(define-public linux-libre-4.4-version "4.4.243")
(define deblob-scripts-4.4
(linux-libre-deblob-scripts
linux-libre-4.4-version
@@ -427,7 +427,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf")))
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "054jd6jgymxbkjfmk8wbckihl355gjimjg2xi5yr4v2343qi9zij")))
+ (hash (base32 "1daqbmj9ka9wdkkym625hqwqaxq5n11y7c4yc9ln3xkjpnv4dplm")))
(make-linux-libre-source version
(%upstream-linux-source version hash)
deblob-scripts-4.4)))
@@ -1008,6 +1008,17 @@ It has been modified to remove all non-free binary blobs.")
'("riscv64-linux")
#:extra-version "riscv64-generic"))
+(define-public linux-libre-mips64el-fuloong2e
+ (make-linux-libre* linux-libre-version
+ linux-libre-source
+ '("mips64el-linux")
+ #:defconfig "fuloong2e_defconfig"
+ #:extra-version "mips64el-fuloong2e"
+ #:extra-options
+ (append
+ `(("CONFIG_OVERLAY_FS" . m))
+ %default-extra-linux-options)))
+
(define-public linux-libre-with-bpf
(let ((base-linux-libre
(make-linux-libre*
diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm
index fb85416e38..dfc5a2ad00 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016, 2017 Nikita <nikita@n0.is>
;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca>
;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net>
;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com>
@@ -1819,7 +1819,7 @@ writing code that contains string literals that contain code themselves.")
(define-public cl-slime-swank
(package
(name "cl-slime-swank")
- (version "2.24")
+ (version "2.26")
(source
(origin
(file-name (string-append name "-" version ".tar.gz"))
@@ -1829,7 +1829,7 @@ writing code that contains string literals that contain code themselves.")
(commit (string-append "v" version))))
(sha256
(base32
- "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh"))))
+ "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c"))))
(build-system asdf-build-system/source)
(home-page "https://github.com/slime/slime")
(synopsis "Common Lisp Swank server")
@@ -2540,6 +2540,12 @@ non-consing thread safe queues and fibonacci priority queues.")
(arguments
'(#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'fix-arm-support
+ (lambda _
+ ;; This is apparently deprecated since libffi-3.3.
+ (substitute* "libffi/libffi-types.lisp"
+ (("\\\(\\\(:unix64.*") ")\n"))
+ #t))
(add-after 'unpack 'fix-paths
(lambda* (#:key inputs #:allow-other-keys)
(substitute* "libffi/libffi.lisp"
@@ -2599,7 +2605,8 @@ package.")
(install-file "grovel/common.h"
(string-append
(assoc-ref outputs "out")
- "/include/grovel"))))))))))
+ "/include/grovel"))
+ #t))))))))
(define-public sbcl-cffi
(package
@@ -6634,8 +6641,8 @@ number of other open source projects.
(sbcl-package->ecl-package sbcl-s-sysdeps))
(define-public sbcl-cl-prevalence
- (let ((commit "1e5f030d94237b33d20947a2f6c194abedb10727")
- (revision "3"))
+ (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840")
+ (revision "4"))
(package
(name "sbcl-cl-prevalence")
(build-system asdf-build-system/sbcl)
@@ -6650,7 +6657,7 @@ number of other open source projects.
(file-name (git-file-name name version))
(sha256
(base32
- "13yb8lv2aap5wvqa6hw7ms31xnax58f4m2nxifkssrzkb2w2qf29"))))
+ "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r"))))
(inputs
`(("s-sysdeps" ,sbcl-s-sysdeps)
("s-xml" ,sbcl-s-xml)))
@@ -8221,8 +8228,8 @@ and camel-case rules.")
(sbcl-package->ecl-package sbcl-lisp-unit2))
(define-public sbcl-cl-csv
- (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362")
- (revision "1"))
+ (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651")
+ (revision "2"))
(package
(name "sbcl-cl-csv")
(version (git-version "1.0.6" revision commit))
@@ -8235,7 +8242,7 @@ and camel-case rules.")
(file-name (git-file-name name version))
(sha256
(base32
- "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6"))))
+ "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x"))))
(build-system asdf-build-system/sbcl)
(arguments
;; See: https://github.com/AccelerationNet/cl-csv/pull/34
@@ -13552,6 +13559,70 @@ and decoder for Common Lisp.")
(define-public ecl-qbase64
(sbcl-package->ecl-package sbcl-qbase64))
+(define-public sbcl-lw-compat
+ ;; No release since 2013.
+ (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d"))
+ (package
+ (name "sbcl-lw-compat")
+ (version (git-version "1.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pcostanza/lw-compat/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav"))))
+ (build-system asdf-build-system/sbcl)
+ (home-page "https://github.com/pcostanza/lw-compat/")
+ (synopsis "LispWorks utilities ported to other Common Lisp implementations")
+ (description "This package contains a few utility functions from the
+LispWorks library that are used in software such as ContextL.")
+ (license license:expat))))
+
+(define-public cl-lw-compat
+ (sbcl-package->cl-source-package sbcl-lw-compat))
+
+(define-public ecl-lw-compat
+ (sbcl-package->ecl-package sbcl-lw-compat))
+
+(define-public sbcl-contextl
+ ;; No release since 2013.
+ (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9"))
+ (package
+ (name "sbcl-contextl")
+ (version (git-version "1.0.0" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pcostanza/contextl/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("closer-mop" ,sbcl-closer-mop)
+ ("lw-compat" ,sbcl-lw-compat)))
+ (home-page "https://github.com/pcostanza/contextl")
+ (synopsis "Context-oriented programming for Common Lisp")
+ (description "ContextL is a CLOS extension for Context-Oriented
+Programming (COP).
+
+Find overview of ContextL's features in an overview paper:
+@url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general
+overview article about COP which also contains some ContextL examples:
+@url{http://www.jot.fm/issues/issue_2008_03/article4/}.")
+ (license license:expat))))
+
+(define-public cl-contextl
+ (sbcl-package->cl-source-package sbcl-contextl))
+
+(define-public ecl-contextl
+ (sbcl-package->ecl-package sbcl-contextl))
+
(define-public sbcl-hu.dwim.common-lisp
(package
(name "sbcl-hu.dwim.common-lisp")
@@ -14201,3 +14272,273 @@ object-oriented framework for prototyping genetic algorithms in Common Lisp.")
(define-public ecl-geco
(sbcl-package->ecl-package sbcl-geco))
+
+(define-public sbcl-html-entities
+ (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb"))
+ (package
+ (name "sbcl-html-entities")
+ (version (git-version "0.02" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/BnMcGn/html-entities/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("ppcre" ,sbcl-cl-ppcre)))
+ (native-inputs
+ `(("fiveam" ,sbcl-fiveam)))
+ (home-page "https://github.com/BnMcGn/html-entities/")
+ (synopsis "Encode and decode entities in HTML with Common Lisp")
+ (description "Html-entities is a Common Lisp library that lets you
+encode and decode entities in HTML.")
+ (license license:expat))))
+
+(define-public cl-html-entities
+ (sbcl-package->cl-source-package sbcl-html-entities))
+
+(define-public ecl-html-entities
+ (sbcl-package->ecl-package sbcl-html-entities))
+
+(define-public sbcl-quicksearch
+ (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599"))
+ (package
+ (name "sbcl-quicksearch")
+ (version (git-version "0.01.04" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tkych/quicksearch/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("bordeaux-threads" ,sbcl-bordeaux-threads)
+ ("iterate" ,sbcl-iterate)
+ ("alexandria" ,sbcl-alexandria)
+ ("anaphora" ,sbcl-anaphora)
+ ("ppcre" ,sbcl-cl-ppcre)
+ ("drakma" ,sbcl-drakma)
+ ("html-entities" ,sbcl-html-entities)
+ ("yason" ,sbcl-yason)
+ ("flexi-streams" ,sbcl-flexi-streams)
+ ("do-urlencode" ,sbcl-do-urlencode)))
+ (home-page "https://github.com/tkych/quicksearch/")
+ (synopsis "Search Engine Interface for Common Lisp packages")
+ (description "Quicksearch is a search-engine-interface for Common Lisp.
+The goal of Quicksearch is to find the Common Lisp library quickly. For
+example, if you will find the library about json, just type @code{(qs:?
+'json)} at REPL.
+
+The function @code{quicksearch} searches for Common Lisp projects in
+Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The
+function @code{?} is abbreviation wrapper for @code{quicksearch}.")
+ (license license:expat))))
+
+(define-public cl-quicksearch
+ (sbcl-package->cl-source-package sbcl-quicksearch))
+
+(define-public ecl-quicksearch
+ (sbcl-package->ecl-package sbcl-quicksearch))
+
+(define-public sbcl-agutil
+ (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68"))
+ (package
+ (name "sbcl-agutil")
+ (version (git-version "0.0.1" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alex-gutev/agutil/")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("trivia" ,sbcl-trivia)))
+ (home-page "https://github.com/alex-gutev/agutil/")
+ (synopsis "Collection of Common Lisp utilities")
+ (description "A collection of Common Lisp utility functions and macros
+mostly not found in other utility packages.")
+ (license license:expat))))
+
+(define-public cl-agutil
+ (sbcl-package->cl-source-package sbcl-agutil))
+
+(define-public ecl-agutil
+ (sbcl-package->ecl-package sbcl-agutil))
+
+(define-public sbcl-custom-hash-table
+ (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa"))
+ (package
+ (name "sbcl-custom-hash-table")
+ (version (git-version "0.3" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/metawilm/cl-custom-hash-table")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5"))))
+ (build-system asdf-build-system/sbcl)
+ (arguments
+ '(#:asd-file "cl-custom-hash-table.asd"
+ #:asd-system-name "cl-custom-hash-table"))
+ (home-page "https://github.com/metawilm/cl-custom-hash-table")
+ (synopsis "Custom hash tables for Common Lisp")
+ (description "This library allows creation of hash tables with arbitrary
+@code{test}/@code{hash} functions, in addition to the @code{test} functions
+allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and
+@code{EQUALP}), even in implementations that don't support this functionality
+directly.")
+ (license license:expat))))
+
+(define-public cl-custom-hash-table
+ (sbcl-package->cl-source-package sbcl-custom-hash-table))
+
+(define-public ecl-custom-hash-table
+ (sbcl-package->ecl-package sbcl-custom-hash-table))
+
+(define-public sbcl-collectors
+ (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee"))
+ (package
+ (name "sbcl-collectors")
+ (version (git-version "0.1" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/AccelerationNet/collectors")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("alexandria" ,sbcl-alexandria)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("symbol-munger" ,sbcl-symbol-munger)))
+ (native-inputs
+ `(("lisp-unit2" ,sbcl-lisp-unit2)))
+ (home-page "https://github.com/AccelerationNet/collectors/")
+ (synopsis "Common lisp library providing collector macros")
+ (description "A small collection of common lisp macros to make
+collecting values easier.")
+ (license license:bsd-3))))
+
+(define-public cl-collectors
+ (sbcl-package->cl-source-package sbcl-collectors))
+
+(define-public ecl-collectors
+ (sbcl-package->ecl-package sbcl-collectors))
+
+(define-public cl-environments
+ ;; TODO: asdf-build-system/sbcl fails here, why? See if it works with the
+ ;; build system revamp once staging is merged after 2020-11-09.
+ (let ((commit "bbcd958a9ff23ce3e6ea5f8ee2edad9634819a3a")) ; No version in 2 years.
+ (package
+ (name "cl-environments")
+ (version (git-version "0.2.3" "1" commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alex-gutev/cl-environments")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1pfxl3vcdrb4mjy4q4c3c7q95kzv6rfjif3hzd5q91i9z621d64r"))))
+ (build-system asdf-build-system/source)
+ (propagated-inputs
+ `(("alexandria" ,cl-alexandria)
+ ("anaphora" ,cl-anaphora)
+ ("collectors" ,cl-collectors)
+ ("optima" ,cl-optima)))
+ (native-inputs
+ `(("prove" ,sbcl-prove)
+ ("prove-asdf" ,sbcl-prove-asdf)))
+ (home-page "https://github.com/alex-gutev/cl-environments")
+ (synopsis "Implements the Common Lisp standard environment access API")
+ (description "This library provides a uniform API, as specified in Common
+Lisp the Language 2, for accessing information about variable and function
+bindings from implementation-defined lexical environment objects. All major
+Common Lisp implementations are supported, even those which don't support the
+CLTL2 environment access API.")
+ (license license:expat))))
+
+(define-public sbcl-static-dispatch
+ (package
+ (name "sbcl-static-dispatch")
+ (version "0.3")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/alex-gutev/static-dispatch")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1wp5yz8liqqic3yifqf33qhccd755pd7ycvsq1j4i7k3f1wm18i0"))))
+ (build-system asdf-build-system/sbcl)
+ (inputs
+ `(("agutil" ,sbcl-agutil)
+ ("alexandria" ,sbcl-alexandria)
+ ("anaphora" ,sbcl-anaphora)
+ ("arrows" ,sbcl-arrows)
+ ("closer-mop" ,sbcl-closer-mop)
+ ("iterate" ,sbcl-iterate)
+ ("trivia" ,sbcl-trivia)))
+ (propagated-inputs
+ `(("cl-environments" ,cl-environments)))
+ (native-inputs
+ `(("prove-asdf" ,sbcl-prove-asdf)
+ ("prove" ,sbcl-prove)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; Use `arrows' instead of cl-arrows which is abandoned and unlicensed.
+ ;; https://github.com/nightfly19/cl-arrows/issues/5
+ (add-after 'unpack 'use-arrows-instead-of-cl-arrows
+ (lambda _
+ (for-each
+ (lambda (file)
+ (substitute* file
+ ((":cl-arrows") ":arrows")))
+ '("static-dispatch.asd"
+ "src/package.lisp"
+ "test/methods.lisp"
+ "test/test.lisp")))))))
+ (home-page "https://github.com/alex-gutev/static-dispatch")
+ (synopsis "Static generic function dispatch for Common Lisp")
+ (description "Static dispatch is a Common Lisp library, inspired by
+@code{inlined-generic-function}, which allows standard Common Lisp generic
+function dispatch to be performed statically (at compile time) rather than
+dynamically (runtime). This is similar to what is known as \"overloading\" in
+languages such as C++ and Java.
+
+The purpose of static dispatch is to provide an optimization in cases where
+the usual dynamic dispatch is too slow, and the dynamic features of generic
+functions, such as adding/removing methods at runtime are not required. An
+example of such a case is a generic equality comparison function. Currently
+generic functions are considered far too slow to implement generic arithmetic
+and comparison operations when used heavily in numeric code.")
+ (license license:expat)))
+
+(define-public cl-static-dispatch
+ (sbcl-package->cl-source-package sbcl-static-dispatch))
+
+(define-public ecl-static-dispatch
+ (sbcl-package->ecl-package sbcl-static-dispatch))
diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm
index 44a156fd99..ff036d36a3 100644
--- a/gnu/packages/mail.scm
+++ b/gnu/packages/mail.scm
@@ -37,6 +37,7 @@
;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org>
;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
+;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1050,14 +1051,14 @@ invoking @command{notifymuch} from the post-new hook.")
(define-public notmuch
(package
(name "notmuch")
- (version "0.31")
+ (version "0.31.1")
(source (origin
(method url-fetch)
(uri (string-append "https://notmuchmail.org/releases/notmuch-"
version ".tar.xz"))
(sha256
(base32
- "1543l57viqzqikjgfzp2abpwz3p0k2iq0b1b3wmn31lwaghs07sp"))))
+ "0pmvwynd4f4kr38agd5m1ml20lq854knc9da7yiqfi776j8fg2rj"))))
(build-system gnu-build-system)
(arguments
`(#:modules ((guix build gnu-build-system)
@@ -2880,14 +2881,13 @@ messages with @acronym{DKIM, DomainKeys Identified Mail} (RFC 4871).")
(define-public mailman
(package
(name "mailman")
- (version "3.3.1")
+ (version "3.3.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "mailman" version))
(sha256
- (base32
- "0idfiv48jjgc0jq4731094ddhraqq8bxnwmjk6sg5ask0jss9kxq"))))
+ (base32 "0a5ckbf8hc3y28b7p5psp0d4bxk601jlr5pd3hhh545xd8d9f0dg"))))
(build-system python-build-system)
(propagated-inputs
`(("gunicorn" ,gunicorn)
@@ -3887,7 +3887,7 @@ DKIM and ARC sign messages and output the corresponding signature headers.")
(define-public python-aiosmtpd
(package
(name "python-aiosmtpd")
- (version "1.2.1")
+ (version "1.2.2")
(source
(origin
(method git-fetch)
@@ -3895,7 +3895,7 @@ DKIM and ARC sign messages and output the corresponding signature headers.")
(url "https://github.com/aio-libs/aiosmtpd")
(commit version)))
(sha256
- (base32 "14c30dm6jzxiblnsah53fdv68vqhxwvb9x0aq9bc4vcdas747vr7"))
+ (base32 "0083d6nf75xv8nq1il6jabz36v6c452svy4p402csxwwih5pw6sk"))
(file-name (git-file-name name version))))
(build-system python-build-system)
(arguments
diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm
index 77e55731a3..a9635d90fe 100644
--- a/gnu/packages/mate.scm
+++ b/gnu/packages/mate.scm
@@ -903,7 +903,6 @@ icons on the MATE desktop. It works on local and remote file systems.")
("dbus-glib" ,dbus-glib)
("gajim" ,gajim) ;runtime only?
("gtk+" ,gtk+)
- ("imagemagick" ,imagemagick)
("graphicsmagick" ,graphicsmagick)
("mate-desktop" ,mate-desktop)
("pidgin" ,pidgin) ;runtime only?
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ba46937f9a..295e2dd35e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2470,7 +2470,18 @@ scientific applications modeled by partial differential equations.")
(uri (pypi-uri "petsc4py" version))
(sha256
(base32
- "1rm1qj5wlkhxl39by9n78lh3gbmii31wsnb8j1rr5hvfr5xgbx2q"))))
+ "1rm1qj5wlkhxl39by9n78lh3gbmii31wsnb8j1rr5hvfr5xgbx2q"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Ensure source file is regenerated in the build phase.
+ (delete-file "src/petsc4py.PETSc.c")
+ ;; Remove legacy GC code. See
+ ;; https://bitbucket.org/petsc/petsc4py/issues/125.
+ (substitute* "src/PETSc/cyclicgc.pxi"
+ ((".*gc_refs.*") "" )
+ ((".*PyGC_Head.*") ""))
+ #t))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -2482,6 +2493,8 @@ scientific applications modeled by partial differential equations.")
#t))
(add-before 'check 'mpi-setup
,%openmpi-setup))))
+ (native-inputs
+ `(("python-cython" ,python-cython)))
(inputs
`(("petsc" ,petsc-openmpi)
("python-numpy" ,python-numpy)))
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 7fe58094c0..b462504894 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -2373,7 +2373,7 @@ support for high performance Telegram Bot creation.")
(define-public chatty
(package
(name "chatty")
- (version "0.1.16")
+ (version "0.1.17")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2382,7 +2382,7 @@ support for high performance Telegram Bot creation.")
(file-name (git-file-name name version))
(sha256
(base32
- "085hb3ii1cy0jb3f0mim25v5r5w3gpfsdpjid5dmrpw4gi88aa2x"))))
+ "0ba1rw8a3vif9k3570hxjfm25vqys3vk3f6g8z5irklwq4bi6lmn"))))
(build-system meson-build-system)
(arguments
'(#:phases
diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm
index b4e1182e52..4944c960a6 100644
--- a/gnu/packages/mpd.scm
+++ b/gnu/packages/mpd.scm
@@ -104,7 +104,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
(define-public mpd
(package
(name "mpd")
- (version "0.22.2")
+ (version "0.22.3")
(source (origin
(method url-fetch)
(uri
@@ -113,7 +113,7 @@ interfacing MPD in the C, C++ & Objective C languages.")
"/mpd-" version ".tar.xz"))
(sha256
(base32
- "0dldj7r58a3zxbvhs188p8mb4wcffnp66kpnglm4vwcp0wpmn6rn"))))
+ "1kvcarqijyw07bdqszjsn62plmncaid5az0q542p6rsygc1i501k"))))
(build-system meson-build-system)
(arguments
`(#:configure-flags '("-Ddocumentation=enabled")))
diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm
index 0d72c24d92..0728144b60 100644
--- a/gnu/packages/music.scm
+++ b/gnu/packages/music.scm
@@ -1804,17 +1804,30 @@ special variant of additive synthesis.")
(base32
"1882pfcmf3rqg3vd4qflzkppcv158d748i603spqjbxqi8z7x7w0"))))
(build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-file-names
+ (lambda _
+ (substitute* "src/GUI/editor_pane.c"
+ (("/usr/bin/unzip") (which "unzip")))
+ (substitute* "src/GUI/GUI.cc"
+ (("/usr/bin/which") (which "which")))
+ #t)))))
(inputs
`(("alsa-lib" ,alsa-lib)
+ ("gtk+" ,gtk+-2)
+ ("gtkmm" ,gtkmm-2)
("jack" ,jack-1)
- ("lv2" ,lv2)
("lash" ,lash)
("libsndfile" ,libsndfile)
- ("gtk+" ,gtk+-2)
- ("gtkmm" ,gtkmm-2)))
+ ("lv2" ,lv2)
+ ;; External commands invoked at run time.
+ ("unzip" ,unzip)
+ ("which" ,which)))
(native-inputs
- `(("pkg-config" ,pkg-config)
- ("intltool" ,intltool)))
+ `(("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)))
(home-page "https://amsynth.github.io")
(synopsis "Analog modeling synthesizer")
(description
diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm
index fefb9a5bf8..4f7eee6ddb 100644
--- a/gnu/packages/networking.scm
+++ b/gnu/packages/networking.scm
@@ -97,6 +97,7 @@
#:use-module (gnu packages glib)
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
+ #:use-module (gnu packages golang)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
@@ -135,7 +136,6 @@
#:use-module (gnu packages textutils)
#:use-module (gnu packages tls)
#:use-module (gnu packages valgrind)
- #:use-module (gnu packages version-control)
#:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
@@ -871,6 +871,7 @@ transparently check connection attempts against an access control list.")
(base32
"18km71p77jm1w7wly2a5mxvphjb0f2l6s08cg382x55f6zdqb4lx"))))
(build-system gnu-build-system)
+ (arguments '(#:configure-flags '("--disable-static")))
(home-page "https://zeromq.org")
(synopsis "Library for message-based applications")
(description
@@ -3821,3 +3822,97 @@ stamps.")
client and server. It allows you to use remote block devices over a TCP/IP
network.")
(license license:gpl2)))
+
+(define-public yggdrasil
+ (package
+ (name "yggdrasil")
+ (version "0.3.15")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/yggdrasil-network/yggdrasil-go")
+ (commit (string-append "v" version))
+ (recursive? #t)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0gk7gy8yq5nrnblv4imxzzm2hac4ri0hlw19ajfbc1zll5kj32gf"))
+ (patches (search-patches "yggdrasil-extra-config.patch"))))
+ (build-system go-build-system)
+ (arguments
+ '(#:import-path "github.com/yggdrasil-network/yggdrasil-go"
+ ;; TODO: figure out how tests are run
+ #:tests? #f
+ #:install-source? #f
+ #:phases (modify-phases %standard-phases
+ (replace 'build
+ (lambda _
+ (for-each
+ (lambda (c)
+ (invoke
+ "go" "build" "-v" "-ldflags=-s -w"
+ (string-append
+ "github.com/yggdrasil-network/yggdrasil-go/cmd/" c)))
+ (list "yggdrasil" "yggdrasilctl"))
+ #t))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/"))
+ (doc (string-append out "/share/doc/yggdrasil/")))
+ (mkdir-p bin)
+ (for-each
+ (lambda (f)
+ (install-file f bin))
+ (list "yggdrasil" "yggdrasilctl"))
+ (mkdir-p doc)
+ (copy-recursively
+ (string-append
+ "src/github.com/yggdrasil-network/yggdrasil-go/"
+ "doc/yggdrasil-network.github.io")
+ doc))
+ #t)))))
+ ;; https://github.com/kardianos/minwinsvc is windows only
+ (propagated-inputs
+ `(("go-github-com-arceliar-phony" ,go-github-com-arceliar-phony)
+ ("go-github-com-cheggaaa-pb" ,go-github-com-cheggaaa-pb)
+ ("go-github-com-gologme-log" ,go-github-com-gologme-log)
+ ("go-github-com-hashicorp-go-syslog" ,go-github-com-hashicorp-go-syslog)
+ ("go-github-com-hjson-hjson-go" ,go-github-com-hjson-hjson-go)
+ ("go-github-com-kardianos-minwinsvc" ,go-github-com-kardianos-minwinsvc)
+ ("go-github-com-mitchellh-mapstructure"
+ ,go-github-com-mitchellh-mapstructure)
+ ("go-golang-org-x-crypto" ,go-golang-org-x-crypto)
+ ("go-golang-org-x-net" ,go-golang-org-x-net)
+ ("go-golang-org-x-text" ,go-golang-org-x-text)
+ ("go-golang-zx2c4-com-wireguard" ,go-golang-zx2c4-com-wireguard)
+ ("go-netlink" ,go-netlink)
+ ("go-netns" ,go-netns)))
+ (home-page "https://yggdrasil-network.github.io/blog.html")
+ (synopsis
+ "Experiment in scalable routing as an encrypted IPv6 overlay network")
+ (description
+ "Yggdrasil is an early-stage implementation of a fully end-to-end encrypted
+IPv6 network. It is lightweight, self-arranging, supported on multiple
+platforms and allows pretty much any IPv6-capable application to communicate
+securely with other Yggdrasil nodes. Yggdrasil does not require you to have
+IPv6 Internet connectivity - it also works over IPv4.")
+ (license
+ ;; As a special exception to the GNU Lesser General Public License
+ ;; version 3 ("LGPL3"), the copyright holders of this Library give you
+ ;; permission to convey to a third party a Combined Work that links
+ ;; statically or dynamically to this Library without providing any Minimal
+ ;; Corresponding Source or Minimal Application Code as set out in 4d or
+ ;; providing the installation information set out in section 4e, provided
+ ;; that you comply with the other provisions of LGPL3 and provided that you
+ ;; meet, for the Application the terms and conditions of the license(s)
+ ;; which apply to the Application. Except as stated in this special
+ ;; exception, the provisions of LGPL3 will continue to comply in full to
+ ;; this Library. If you modify this Library, you may apply this exception
+ ;; to your version of this Library, but you are not obliged to do so. If
+ ;; you do not wish to do so, delete this exception statement from your
+ ;; version. This exception does not (and cannot) modify any license terms
+ ;; which apply to the Application, with which you must still comply
+ license:lgpl3)))
diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm
index 30add4f6b4..2121263ab5 100644
--- a/gnu/packages/ocaml.scm
+++ b/gnu/packages/ocaml.scm
@@ -133,10 +133,10 @@
"/lib/ocaml/site-lib"))
#:phases (modify-phases %standard-phases (delete 'configure))))
-(define-public ocaml-4.09
+(define-public ocaml-4.11
(package
(name "ocaml")
- (version "4.09.0")
+ (version "4.11.1")
(source (origin
(method url-fetch)
(uri (string-append
@@ -145,7 +145,7 @@
"/ocaml-" version ".tar.xz"))
(sha256
(base32
- "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj"))))
+ "0k4521c0p10c5ams6vjv5qkkjhmpkb0bfn04llcz46ah0f3r2jpa"))))
(build-system gnu-build-system)
(native-search-paths
(list (search-path-specification
@@ -203,6 +203,20 @@ functional, imperative and object-oriented styles of programming.")
;; distributed under lgpl2.0.
(license (list license:qpl license:lgpl2.0))))
+(define-public ocaml-4.09
+ (package
+ (inherit ocaml-4.11)
+ (version "4.09.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "http://caml.inria.fr/pub/distrib/ocaml-"
+ (version-major+minor version)
+ "/ocaml-" version ".tar.xz"))
+ (sha256
+ (base32
+ "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj"))))))
+
(define-public ocaml-4.07
(package
(inherit ocaml-4.09)
@@ -230,7 +244,7 @@ functional, imperative and object-oriented styles of programming.")
"--prefix" out
"--mandir" mandir))))))))))
-(define-public ocaml ocaml-4.09)
+(define-public ocaml ocaml-4.11)
(define-public ocamlbuild
(package
@@ -999,6 +1013,14 @@ compilers that can directly deal with packages.")
`(("m4" ,m4)
("ocaml" ,ocaml-4.07)))))
+(define-public ocaml4.09-findlib
+ (package
+ (inherit ocaml-findlib)
+ (name "ocaml4.09-findlib")
+ (native-inputs
+ `(("m4" ,m4)
+ ("ocaml" ,ocaml-4.09)))))
+
;; note that some tests may hang for no obvious reason.
(define-public ocaml-ounit
(package
@@ -1293,6 +1315,9 @@ release of Jane Street packages. It reads metadata from @file{dune} files
following a very simple s-expression syntax.")
(license license:expat)))
+(define ocaml4.09-dune-bootstrap
+ (package-with-ocaml4.09 dune-bootstrap))
+
(define-public dune-configurator
(package
(inherit dune-bootstrap)
@@ -1305,6 +1330,7 @@ following a very simple s-expression syntax.")
#:tests? #f))
(propagated-inputs
`(("ocaml-csexp" ,ocaml-csexp)))
+ (properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator))))
(synopsis "Dune helper library for gathering system configuration")
(description "Dune-configurator is a small library that helps writing
OCaml scripts that test features available on the system, in order to generate
@@ -1317,12 +1343,32 @@ config.h files for instance. Among other things, dune-configurator allows one t
@item generate config.h file
@end itemize")))
+(define-public ocaml4.09-dune-configurator
+ (package
+ (inherit dune-configurator)
+ (name "ocaml4.09-dune-configurator")
+ (arguments
+ `(#:package "dune-configurator"
+ #:tests? #f
+ #:dune ,ocaml4.09-dune-bootstrap
+ #:ocaml ,ocaml-4.09
+ #:findlib ,ocaml4.09-findlib))
+ (propagated-inputs
+ `(("ocaml-csexp" ,ocaml4.09-csexp)))))
+
(define-public dune
(package
(inherit dune-bootstrap)
(propagated-inputs
`(("dune-configurator" ,dune-configurator)))
- (properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))))))
+ (properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune))
+ (ocaml4.09-variant . ,(delay ocaml4.09-dune))))))
+
+(define-public ocaml4.09-dune
+ (package
+ (inherit ocaml4.09-dune-bootstrap)
+ (propagated-inputs
+ `(("dune-configurator" ,dune-configurator)))))
(define-public ocaml4.07-dune
(package
@@ -1363,6 +1409,7 @@ config.h files for instance. Among other things, dune-configurator allows one t
#t)))))
(propagated-inputs
`(("ocaml-result" ,ocaml-result)))
+ (properties `((ocaml4.09-variant . ,(delay ocaml4.09-csexp))))
(home-page "https://github.com/ocaml-dune/csexp")
(synopsis "Parsing and printing of S-expressions in Canonical form")
(description "This library provides minimal support for Canonical
@@ -1379,6 +1426,18 @@ To avoid a dependency on a particular S-expression library, the only
module of this library is parameterised by the type of S-expressions.")
(license license:expat)))
+(define-public ocaml4.09-csexp
+ (package
+ (inherit ocaml-csexp)
+ (name "ocaml4.09-csexp")
+ (arguments
+ `(#:ocaml ,ocaml-4.09
+ #:findlib ,ocaml4.09-findlib
+ ,@(substitute-keyword-arguments (package-arguments ocaml-csexp)
+ ((#:dune _) ocaml4.09-dune-bootstrap))))
+ (propagated-inputs
+ `(("ocaml-result" ,ocaml4.09-result)))))
+
(define-public ocaml-migrate-parsetree
(package
(name "ocaml-migrate-parsetree")
@@ -1423,7 +1482,8 @@ functions to the next and/or previous version.")
"07lnj4yzwvwyh5fhpp1dxrys4ddih15jhgqjn59pmgxinbnddi66"))))
(build-system dune-build-system)
(arguments
- `(#:test-target "."))
+ `(#:test-target "."
+ #:package "ppx_tools_versioned"))
(propagated-inputs
`(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree)))
(properties `((upstream-name . "ppx_tools_versioned")))
@@ -1487,12 +1547,23 @@ powerful.")
(arguments
`(#:test-target "."
#:dune ,dune-bootstrap))
+ (properties `((ocaml4.09-variant . ,(delay ocaml4.09-result))))
(home-page "https://github.com/janestreet/result")
(synopsis "Compatibility Result module")
(description "Uses the new result type defined in OCaml >= 4.03 while
staying compatible with older version of OCaml should use the Result module
defined in this library.")
(license license:bsd-3)))
+
+(define-public ocaml4.09-result
+ (package
+ (inherit ocaml-result)
+ (name "ocaml4.09-result")
+ (arguments
+ `(#:test-target "."
+ #:dune ,ocaml4.09-dune-bootstrap
+ #:ocaml ,ocaml-4.09
+ #:findlib ,ocaml4.09-findlib))))
(define-public ocaml-topkg
(package
@@ -2381,21 +2452,28 @@ radix-64 representation. It is specified in RFC 4648.")
(base32 "1f0fghvlbfryf5h3j4as7vcqrgfjb4c8abl5y0y5h069vs4kp5ii"))))
(build-system ocaml-build-system)
(arguments
- `(#:phases
+ `(#:tests? #f; no tests
+ #:phases
(modify-phases %standard-phases
- (add-after 'unpack 'disable-safe-string
- ;; Work around ‘Error: This expression has type string but an
- ;; expression was expected of type bytes’ since OCaml 4.06.
+ (delete 'configure)
+ (replace 'build
+ ;; This package uses pre-generated setup.ml by oasis, but is
+ ;; a dependency of oasis. the pre-generated setup.ml is broken
+ ;; with recent versions of OCaml, so we perform a bootstrap instead.
(lambda _
- (setenv "OCAMLPARAM" "safe-string=0,_")
+ (substitute* "src/OCamlifyConfig.ml.ab"
+ (("$pkg_version") ,version))
+ (rename-file "src/OCamlifyConfig.ml.ab" "src/OCamlifyConfig.ml")
+ (with-directory-excursion "src"
+ (invoke "ocamlc" "OCamlifyConfig.ml" "ocamlify.ml" "-o"
+ "ocamlify"))
#t))
- (delete 'check) ; tests are run during the build
- (replace 'configure
+ (replace 'install
(lambda* (#:key outputs #:allow-other-keys)
- (invoke "ocaml" "setup.ml" "-configure" "--prefix"
- (assoc-ref outputs "out")))))))
- (native-inputs
- `(("ocamlbuild" ,ocamlbuild)))
+ (let ((bin (string-append (assoc-ref outputs "out") "/bin")))
+ (mkdir-p bin)
+ (install-file "src/ocamlify" bin)
+ #t))))))
(home-page "https://forge.ocamlcore.org/projects/ocamlify")
(synopsis "Include files in OCaml code")
(description "OCamlify creates OCaml source code by including
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index 93bc4d7ee6..4a7a15c378 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -566,14 +566,14 @@ out) and returning a package that uses that as its 'source'."
(define-public nix
(package
(name "nix")
- (version "2.3.7")
+ (version "2.3.8")
(source (origin
(method url-fetch)
- (uri (string-append "http://nixos.org/releases/nix/nix-"
+ (uri (string-append "https://nixos.org/releases/nix/nix-"
version "/nix-" version ".tar.xz"))
(sha256
(base32
- "15p50jkss6szinisb7axhxybgfi29sm9grz7mxwair8ljj2553yx"))))
+ "0amd5nnqslvkfpz042l4ydihw2qsy68nmjbwaagcrggaq4irh4f7"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--sysconfdir=/etc" "--enable-gc")
@@ -1009,8 +1009,8 @@ environments.")
(license (list license:gpl3+ license:agpl3+ license:silofl1.1))))
(define-public guix-build-coordinator
- (let ((commit "d38698d85174b4594e6dc2f9be50083a50786026")
- (revision "4"))
+ (let ((commit "98f50831612b9d1253ae8ca2bceb547fed373f41")
+ (revision "5"))
(package
(name "guix-build-coordinator")
(version (git-version "0" revision commit))
@@ -1021,7 +1021,7 @@ environments.")
(commit commit)))
(sha256
(base32
- "1jb36p8bbhiav6nb1qpi90j03qjbvr8akn53am3xbz32ps0hf34j"))
+ "08xwb5phh14cxgwv4fxcd2hhpjgqxfknm9zkx9qp26zb56w2xzkz"))
(file-name (string-append name "-" version "-checkout"))))
(build-system gnu-build-system)
(arguments
@@ -1075,6 +1075,7 @@ environments.")
("guix" ,guix)
("guile-prometheus" ,guile-prometheus)
("guile-fibers" ,guile-fibers)
+ ("guile-lib" ,guile-lib)
("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))))
(inputs
`(("guile" ,@(assoc-ref (package-native-inputs guix) "guile"))
@@ -1085,6 +1086,7 @@ environments.")
("guile-prometheus" ,guile-prometheus)
("guile-gcrypt" ,guile-gcrypt)
("guile-json" ,guile-json-4)
+ ("guile-lib" ,guile-lib)
("guile-lzlib" ,guile-lzlib)
("guile-zlib" ,guile-zlib)
("guile-sqlite3" ,guile-sqlite3)
diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch
index e0cdde61ec..f82df9f68e 100644
--- a/gnu/packages/patches/icecat-makeicecat.patch
+++ b/gnu/packages/patches/icecat-makeicecat.patch
@@ -25,7 +25,7 @@ index 8be2362..48716f2 100755
-wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
-gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
-gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
--echo -n 8e3cf0bbf1062768134db2eb10ab774731ca5ec6694b65def82234bb0a9170fc firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+-echo -n 1978eedd975b1cf95bd4a04b2381560d1ad9a4223032717f23fac26e3458a760 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
-
-echo Extracting Firefox tarball
-tar -xf firefox-${FFVERSION}esr.source.tar.xz
@@ -37,7 +37,7 @@ index 8be2362..48716f2 100755
+# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc
+# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353
+# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc
-+# echo -n 8e3cf0bbf1062768134db2eb10ab774731ca5ec6694b65def82234bb0a9170fc firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
++# echo -n 1978eedd975b1cf95bd4a04b2381560d1ad9a4223032717f23fac26e3458a760 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c -
+#
+# echo Extracting Firefox tarball
+# tar -xf firefox-${FFVERSION}esr.source.tar.xz
diff --git a/gnu/packages/patches/oath-toolkit-glibc-compat.patch b/gnu/packages/patches/oath-toolkit-glibc-compat.patch
deleted file mode 100644
index 22814599e5..0000000000
--- a/gnu/packages/patches/oath-toolkit-glibc-compat.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-Adjust the bundled Gnulib to cope with removal of libio interface in Glibc 2.28.
-
-Based on this upstream gnulib patch:
-https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a71827c0bc5e0ec67af23edef4f15cee8e
-
---- a/liboath/gl/fflush.c
-+++ b/liboath/gl/fflush.c
-@@ -33,7 +33,7 @@
- #undef fflush
-
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */
- static void
-@@ -72,7 +72,7 @@
-
- #endif
-
--#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */)
-
- # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT
- /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */
-@@ -148,7 +148,7 @@
- if (stream == NULL || ! freading (stream))
- return fflush (stream);
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-
- clear_ungetc_buffer_preserving_position (stream);
-
---- a/liboath/gl/fpurge.c
-+++ b/liboath/gl/fpurge.c
-@@ -62,7 +62,7 @@
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_IO_read_end = fp->_IO_read_ptr;
- fp->_IO_write_ptr = fp->_IO_write_base;
- /* Avoid memory leak when there is an active ungetc buffer. */
---- a/libaoth/gl/freading.c
-+++ b/liboath/gl/freading.c
-@@ -31,7 +31,7 @@
- /* Most systems provide FILE as a struct and the necessary bitmask in
- <stdio.h>, because they need it for implementing getc() and putc() as
- fast macros. */
--# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- return ((fp->_flags & _IO_NO_WRITES) != 0
- || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0
- && fp->_IO_read_base != NULL));
---- a/liboath/gl/fseeko.c
-+++ b/liboath/gl/fseeko.c
-@@ -47,7 +47,7 @@
- #endif
-
- /* These tests are based on fpurge.c. */
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- if (fp->_IO_read_end == fp->_IO_read_ptr
- && fp->_IO_write_ptr == fp->_IO_write_base
- && fp->_IO_save_base == NULL)
-@@ -123,7 +123,7 @@
- return -1;
- }
-
--#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
-+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */
- fp->_flags &= ~_IO_EOF_SEEN;
- fp->_offset = pos;
- #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__
---- a/liboath/gl/stdio-impl.h
-+++ b/liboath/gl/stdio-impl.h
-@@ -18,6 +18,11 @@
- the same implementation of stdio extension API, except that some fields
- have different naming conventions, or their access requires some casts. */
-
-+/* Glibc 2.28 made _IO_IN_BACKUP private, so define it here for now. */
-+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN
-+# define _IO_IN_BACKUP 0x100
-+#endif
-+
- /* BSD stdio derived implementations. */
-
- #if defined __NetBSD__ /* NetBSD */
diff --git a/gnu/packages/patches/sdcc-disable-non-free-code.patch b/gnu/packages/patches/sdcc-disable-non-free-code.patch
new file mode 100644
index 0000000000..545f0cbd69
--- /dev/null
+++ b/gnu/packages/patches/sdcc-disable-non-free-code.patch
@@ -0,0 +1,3643 @@
+This patch disables the use of non-free code distributed with SDCC by
+removing
+
+ - The "--disable-non-free" option to "configure" and the build logic
+ it controls;
+
+ - All references to the "device/non-free" source directory and the
+ corresponding "non-free" installation directory; and
+
+ - The "--use-non-free" and "--no-warn-non-free" compiler options and
+ references to them in build scripts and compiler output.
+
+It also updates SDCC's documentation to reflect these changes and to
+remove instructions that encourage the use of SDCC with non-free
+software.
+
+diff --git a/Makefile.common.in b/Makefile.common.in
+index 4c75cfa..9fa306d 100644
+--- a/Makefile.common.in
++++ b/Makefile.common.in
+@@ -65,7 +65,6 @@ OPT_DISABLE_PACKIHX = @OPT_DISABLE_PACKIHX@
+ OPT_DISABLE_SDBINUTILS = @OPT_DISABLE_SDBINUTILS@
+ OPT_DISABLE_SDCPP = @OPT_DISABLE_SDCPP@
+ OPT_DISABLE_UCSIM = @OPT_DISABLE_UCSIM@
+-OPT_DISABLE_NON_FREE = @OPT_DISABLE_NON_FREE@
+
+ SLIB = $(top_builddir)/support/util
+
+diff --git a/Makefile.in b/Makefile.in
+index aac442e..dd73e40 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -82,9 +82,6 @@ endif
+ ifeq ($(OPT_DISABLE_DEVICE_LIB), 0)
+ TARGETS += sdcc-device-lib
+ PKGS += device/lib
+-ifeq ($(OPT_DISABLE_NON_FREE), 0)
+-PKGS += device/non-free/lib
+-endif
+ endif
+
+ ifeq ($(OPT_DISABLE_PACKIHX), 0)
+@@ -105,9 +102,6 @@ endif
+ TARGETS += sdcc-libs sdcc-cc sdcc-device-inc sdcc-as sdcc-ld sdcc-scripts
+
+ PKGS += $(SDCC_LIBS) src device/include
+-ifeq ($(OPT_DISABLE_NON_FREE), 0)
+-PKGS += device/non-free/include
+-endif
+ PKGS += $(SDCC_AS) sdas/linksrc $(SDCC_LIBRARIAN) $(SDCC_SCRIPTS)
+
+ PORTS = $(shell cat ports.build)
+@@ -156,21 +150,12 @@ sdcc-sdbinutils:
+
+ sdcc-device-inc:
+ $(MAKE) -C device/include
+-ifeq ($(OPT_DISABLE_NON_FREE), 0)
+- $(MAKE) -C device/non-free/include
+-endif
+
+ sdcc-device-lib: sdcc-cc sdcc-as sdcc-ld $(SDCC_BINUTILS)
+ $(MAKE) -C device/lib
+-ifeq ($(OPT_DISABLE_NON_FREE), 0)
+- $(MAKE) -C device/non-free/lib
+-endif
+
+ sdcc-device-tini:
+ $(MAKE) -C device/include
+-ifeq ($(OPT_DISABLE_NON_FREE), 0)
+- $(MAKE) -C device/non-free/include
+-endif
+ $(MAKE) -C device/lib model-ds390 model-ds400
+
+ # doc depends on latex and latex2html
+diff --git a/configure b/configure
+index 42b1c7d..00ecb51 100755
+--- a/configure
++++ b/configure
+@@ -632,7 +632,6 @@ LATEX
+ LATEX2HTML
+ LYX
+ OPT_ENABLE_DOC
+-OPT_DISABLE_NON_FREE
+ OPT_DISABLE_SDBINUTILS
+ OPT_DISABLE_SDCDB
+ OPT_DISABLE_SDCPP
+@@ -654,10 +653,7 @@ OPT_DISABLE_R2K
+ OPT_DISABLE_Z180
+ OPT_DISABLE_Z80
+ OPT_DISABLE_MCS51
+-non_free_lib_dir_suffix
+ lib_dir_suffix
+-non_free_include_dir_suffix
+-non_free_inclib_dir_suffix
+ include_dir_suffix
+ inclib_dir_suffix
+ LIB_TYPE
+@@ -771,7 +767,6 @@ enable_packihx
+ enable_sdcpp
+ enable_sdcdb
+ enable_sdbinutils
+-enable_non_free
+ enable_doc
+ enable_libgc
+ '
+@@ -792,10 +787,7 @@ sdccconf_h_dir_separator
+ LIB_TYPE
+ inclib_dir_suffix
+ include_dir_suffix
+-non_free_inclib_dir_suffix
+-non_free_include_dir_suffix
+ lib_dir_suffix
+-non_free_lib_dir_suffix
+ docdir'
+ ac_subdirs_all='support/cpp
+ support/packihx
+@@ -803,9 +795,7 @@ sim/ucsim
+ debugger/mcs51
+ support/sdbinutils
+ device/lib/pic14
+-device/non-free/lib/pic14
+-device/lib/pic16
+-device/non-free/lib/pic16'
++device/lib/pic16'
+
+ # Initialize some variables set by options.
+ ac_init_help=
+@@ -1452,7 +1442,6 @@ Optional Features:
+ --disable-sdcpp Disables building sdcpp
+ --disable-sdcdb Disables building sdcdb
+ --disable-sdbinutils Disables configuring and building of sdbinutils
+- --disable-non-free Disables non-free runtime library parts
+ --enable-doc Enables building the documentation
+ --enable-libgc Use the Bohem memory allocator. Lower runtime
+ footprint.
+@@ -1481,16 +1470,8 @@ Some influential environment variables:
+ appended to datadir to define SDCC's include/lib directory
+ include_dir_suffix
+ appended to datadir to define SDCC's include directory
+- non_free_inclib_dir_suffix
+- appended to datadir to define SDCC's non-free include/lib
+- directory
+- non_free_include_dir_suffix
+- appended to datadir to define SDCC's non-free include directory
+ lib_dir_suffix
+ appended to datadir to define SDCC's library root directory
+- non_free_lib_dir_suffix
+- appended to datadir to define SDCC's non-free library root
+- directory
+ docdir documentation installation directory
+
+ Use these variables to override the choices made by `configure' or to help
+@@ -7236,19 +7217,6 @@ if test "${include_dir_suffix}" = ""; then
+ include_dir_suffix="${inclib_dir_suffix}/include"
+ fi
+
+-
+-if test "${non_free_inclib_dir_suffix}" = ""; then
+- non_free_inclib_dir_suffix="sdcc/non-free"
+-fi
+-
+-# non_free_include_dir_suffix:
+-# *nix default: "sdcc/non-free/include"
+-
+-
+-if test "${non_free_include_dir_suffix}" = ""; then
+- non_free_include_dir_suffix="${non_free_inclib_dir_suffix}/include"
+-fi
+-
+ # lib_dir_suffix:
+ # *nix default: "sdcc/lib"
+
+@@ -7256,13 +7224,6 @@ if test "${lib_dir_suffix}" = ""; then
+ lib_dir_suffix="${inclib_dir_suffix}/lib"
+ fi
+
+-# non_free_lib_dir_suffix:
+-# *nix default: "sdcc/non-free/lib"
+-
+-if test "${non_free_lib_dir_suffix}" = ""; then
+- non_free_lib_dir_suffix="${non_free_inclib_dir_suffix}/lib"
+-fi
+-
+ # docdir:
+ # *nix default: "${datadir}/sdcc/doc"
+
+@@ -7429,24 +7390,6 @@ cat >>confdefs.h <<_ACEOF
+ #define INCLUDE_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_inc_dir_suffix}"
+ _ACEOF
+
+-norm_non_free_inc_dir_suffix=${non_free_include_dir_suffix}
+-case ":$norm_non_free_inc_dir_suffix:" in
+- ::) norm_non_free_inc_dir_suffix='.' ;;
+- :*[\\/]:) norm_non_free_inc_dir_suffix=`echo "$norm_non_free_inc_dir_suffix" | sed 's,[\\/]*$,,'` ;;
+- :*:) ;;
+-esac
+-case $sdccconf_h_dir_separator in
+-
+- *\\*) norm_non_free_inc_dir_suffix=`echo "$norm_non_free_inc_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g
+- s,^[\\/],\\\\\\\\,'` ;;
+-
+- *) norm_non_free_inc_dir_suffix=`echo "$norm_non_free_inc_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;;
+-esac
+-
+-cat >>confdefs.h <<_ACEOF
+-#define NON_FREE_INCLUDE_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_non_free_inc_dir_suffix}"
+-_ACEOF
+-
+
+ norm_lib_dir_suffix=${lib_dir_suffix}
+ case ":$norm_lib_dir_suffix:" in
+@@ -7466,24 +7409,6 @@ cat >>confdefs.h <<_ACEOF
+ #define LIB_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_lib_dir_suffix}"
+ _ACEOF
+
+-norm_non_free_lib_dir_suffix=${non_free_lib_dir_suffix}
+-case ":$norm_non_free_lib_dir_suffix:" in
+- ::) norm_non_free_lib_dir_suffix='.' ;;
+- :*[\\/]:) norm_non_free_lib_dir_suffix=`echo "$norm_non_free_lib_dir_suffix" | sed 's,[\\/]*$,,'` ;;
+- :*:) ;;
+-esac
+-case $sdccconf_h_dir_separator in
+-
+- *\\*) norm_non_free_lib_dir_suffix=`echo "$norm_non_free_lib_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g
+- s,^[\\/],\\\\\\\\,'` ;;
+-
+- *) norm_non_free_lib_dir_suffix=`echo "$norm_non_free_lib_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;;
+-esac
+-
+-cat >>confdefs.h <<_ACEOF
+-#define NON_FREE_LIB_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_non_free_lib_dir_suffix}"
+-_ACEOF
+-
+
+ # relative paths
+ for _lcl_i in expanded_bindir:expanded_datadir:bin2data_dir; do
+@@ -8411,28 +8336,6 @@ _ACEOF
+
+
+
+- # Check whether --enable-non-free was given.
+-if test "${enable_non_free+set}" = set; then :
+- enableval=$enable_non_free;
+-fi
+-
+-
+- arg1=`echo non-free | sed s/-/_/`
+-
+- if test "`eval echo \\$enable_$arg1`" = "no"; then
+- OPT_DISABLE_NON_FREE=1
+- else
+- OPT_DISABLE_NON_FREE=0
+- fi
+-
+-
+-cat >>confdefs.h <<_ACEOF
+-#define OPT_DISABLE_NON_FREE $OPT_DISABLE_NON_FREE
+-_ACEOF
+-
+-
+-
+-
+
+ # Check whether --enable-doc was given.
+ if test "${enable_doc+set}" = set; then :
+@@ -8827,20 +8730,12 @@ if test $OPT_DISABLE_PIC14 = 0; then
+
+ test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/lib/pic14"
+
+-fi
+-if test $OPT_DISABLE_PIC14 = 0 && test $OPT_DISABLE_NON_FREE = 0; then
+- test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/non-free/lib/pic14"
+-
+ fi
+ if test $OPT_DISABLE_PIC16 = 0; then
+ ac_config_files="$ac_config_files src/pic16/Makefile"
+
+ test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/lib/pic16"
+
+-fi
+-if test $OPT_DISABLE_PIC16 = 0 && test $OPT_DISABLE_NON_FREE = 0; then
+- test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/non-free/lib/pic16"
+-
+ fi
+
+ if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_GBZ80 = 0 || test $OPT_DISABLE_TLCS90 = 0; then
+@@ -8885,15 +8780,9 @@ fi
+
+ test $OPT_DISABLE_DEVICE_LIB = 0 && ac_config_files="$ac_config_files device/lib/Makefile"
+
+-test $OPT_DISABLE_DEVICE_LIB = 0 && test $OPT_DISABLE_NON_FREE = 0 && ac_config_files="$ac_config_files device/non-free/lib/Makefile"
+-
+
+ ac_config_files="$ac_config_files main.mk:main_in.mk src/Makefile device/include/Makefile sdas/linksrc/Makefile support/librarian/Makefile support/makebin/Makefile support/regression/Makefile support/valdiag/Makefile support/scripts/Makefile support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in Makefile Makefile.common:Makefile.common.in"
+
+-if test $OPT_DISABLE_NON_FREE = 0; then
+- ac_config_files="$ac_config_files device/non-free/include/Makefile"
+-
+-fi
+ cat >confcache <<\_ACEOF
+ # This file is a shell script that caches the results of configure
+ # tests run on this system so they can be shared between configure
+@@ -9621,7 +9510,6 @@ do
+ "sdas/asstm8/Makefile") CONFIG_FILES="$CONFIG_FILES sdas/asstm8/Makefile" ;;
+ "device/lib/stm8/Makefile") CONFIG_FILES="$CONFIG_FILES device/lib/stm8/Makefile" ;;
+ "device/lib/Makefile") CONFIG_FILES="$CONFIG_FILES device/lib/Makefile" ;;
+- "device/non-free/lib/Makefile") CONFIG_FILES="$CONFIG_FILES device/non-free/lib/Makefile" ;;
+ "main.mk") CONFIG_FILES="$CONFIG_FILES main.mk:main_in.mk" ;;
+ "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+ "device/include/Makefile") CONFIG_FILES="$CONFIG_FILES device/include/Makefile" ;;
+@@ -9634,7 +9522,6 @@ do
+ "support/regression/ports/host/spec.mk") CONFIG_FILES="$CONFIG_FILES support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in" ;;
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "Makefile.common") CONFIG_FILES="$CONFIG_FILES Makefile.common:Makefile.common.in" ;;
+- "device/non-free/include/Makefile") CONFIG_FILES="$CONFIG_FILES device/non-free/include/Makefile" ;;
+
+ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+ esac
+@@ -10443,54 +10330,6 @@ esac
+ incPath3=`echo "$incPath3" | sed 's,\\\\\\\\,\\\\,g'`
+
+
+-nonFreeIncPath1=`echo "/${prefix2data_dir}/${norm_non_free_inc_dir_suffix}" | sed 's,/\./,/,g'`
+-case ":$nonFreeIncPath1:" in
+- ::) nonFreeIncPath1='.' ;;
+- :*[\\/]:) nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,[\\/]*$,,'` ;;
+- :*:) ;;
+-esac
+-case $dirch in
+-
+- *\\*) nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g
+- s,^[\\/],\\\\\\\\,'` ;;
+-
+- *) nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;;
+-esac
+-nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,\\\\\\\\,\\\\,g'`
+-
+-
+-nonFreeIncPath2=`echo "/${bin2data_dir}/${norm_non_free_inc_dir_suffix}" | sed 's,/\./,/,g'`
+-case ":$nonFreeIncPath2:" in
+- ::) nonFreeIncPath2='.' ;;
+- :*[\\/]:) nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,[\\/]*$,,'` ;;
+- :*:) ;;
+-esac
+-case $dirch in
+-
+- *\\*) nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g
+- s,^[\\/],\\\\\\\\,'` ;;
+-
+- *) nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;;
+-esac
+-nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,\\\\\\\\,\\\\,g'`
+-
+-
+-nonFreeIncPath3=`echo "${expanded_datadir}/${norm_non_free_inc_dir_suffix}" | sed 's,/\./,/,g'`
+-case ":$nonFreeIncPath3:" in
+- ::) nonFreeIncPath3='.' ;;
+- :*[\\/]:) nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,[\\/]*$,,'` ;;
+- :*:) ;;
+-esac
+-case $dirch in
+-
+- *\\*) nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g
+- s,^[\\/],\\\\\\\\,'` ;;
+-
+- *) nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;;
+-esac
+-nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,\\\\\\\\,\\\\,g'`
+-
+-
+
+ libPath1=`echo "/${prefix2data_dir}/${norm_lib_dir_suffix}" | sed 's,/\./,/,g'`
+ case ":$libPath1:" in
+@@ -10540,54 +10379,6 @@ esac
+ libPath3=`echo "$libPath3" | sed 's,\\\\\\\\,\\\\,g'`
+
+
+-nonFreeLibPath1=`echo "/${prefix2data_dir}/${norm_non_free_lib_dir_suffix}" | sed 's,/\./,/,g'`
+-case ":$nonFreeLibPath1:" in
+- ::) nonFreeLibPath1='.' ;;
+- :*[\\/]:) nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,[\\/]*$,,'` ;;
+- :*:) ;;
+-esac
+-case $dirch in
+-
+- *\\*) nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g
+- s,^[\\/],\\\\\\\\,'` ;;
+-
+- *) nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;;
+-esac
+-nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,\\\\\\\\,\\\\,g'`
+-
+-
+-nonFreeLibPath2=`echo "/${bin2data_dir}/${norm_non_free_lib_dir_suffix}" | sed 's,/\./,/,g'`
+-case ":$nonFreeLibPath2:" in
+- ::) nonFreeLibPath2='.' ;;
+- :*[\\/]:) nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,[\\/]*$,,'` ;;
+- :*:) ;;
+-esac
+-case $dirch in
+-
+- *\\*) nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g
+- s,^[\\/],\\\\\\\\,'` ;;
+-
+- *) nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;;
+-esac
+-nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,\\\\\\\\,\\\\,g'`
+-
+-
+-nonFreeLibPath3=`echo "${expanded_datadir}/${norm_non_free_lib_dir_suffix}" | sed 's,/\./,/,g'`
+-case ":$nonFreeLibPath3:" in
+- ::) nonFreeLibPath3='.' ;;
+- :*[\\/]:) nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,[\\/]*$,,'` ;;
+- :*:) ;;
+-esac
+-case $dirch in
+-
+- *\\*) nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g
+- s,^[\\/],\\\\\\\\,'` ;;
+-
+- *) nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;;
+-esac
+-nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,\\\\\\\\,\\\\,g'`
+-
+-
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result:
+ sdcc ${VERSION} is now configured for
+
+@@ -10618,7 +10409,6 @@ sdcc ${VERSION} is now configured for
+ tlcs90 ${enable_tlcs90_port}
+ stm8 ${enable_stm8_port}
+
+- Disable non-free lib: ${OPT_DISABLE_NON_FREE}
+ Disable packihx: ${OPT_DISABLE_PACKIHX}
+ Disable ucsim: ${OPT_DISABLE_UCSIM}
+ Disable device lib: ${OPT_DISABLE_DEVICE_LIB}
+@@ -10633,9 +10423,6 @@ sdcc ${VERSION} is now configured for
+ include/library files: ${datadir}/${inclib_dir_suffix}
+ include files: ${datadir}/${include_dir_suffix}
+ library files: ${datadir}/${lib_dir_suffix}
+- non-free files: ${datadir}/${non_free_inclib_dir_suffix}
+- non-free include files: ${datadir}/${non_free_include_dir_suffix}
+- non-free library files: ${datadir}/${non_free_lib_dir_suffix}
+ documentation: ${docdir}
+
+ prefix: ${prefix}
+@@ -10647,15 +10434,9 @@ sdcc ${VERSION} is now configured for
+ include files: ${incPath1}
+ path(argv[0])${incPath2}
+ ${incPath3}
+- ${nonFreeIncPath1}
+- path(argv[0])${nonFreeIncPath2}
+- ${nonFreeIncPath3}
+ library files: \$SDCC_HOME${libPath1}${dirch}<model>
+ path(argv[0])${libPath2}${dirch}<model>
+ ${libPath3}${dirch}<model>
+- \$SDCC_HOME${nonFreeLibPath1}${dirch}<model>
+- path(argv[0])${nonFreeLibPath2}${dirch}<model>
+- ${nonFreeLibPath3}${dirch}<model>
+ " >&5
+ $as_echo "
+ sdcc ${VERSION} is now configured for
+@@ -10687,7 +10468,6 @@ sdcc ${VERSION} is now configured for
+ tlcs90 ${enable_tlcs90_port}
+ stm8 ${enable_stm8_port}
+
+- Disable non-free lib: ${OPT_DISABLE_NON_FREE}
+ Disable packihx: ${OPT_DISABLE_PACKIHX}
+ Disable ucsim: ${OPT_DISABLE_UCSIM}
+ Disable device lib: ${OPT_DISABLE_DEVICE_LIB}
+@@ -10702,9 +10482,6 @@ sdcc ${VERSION} is now configured for
+ include/library files: ${datadir}/${inclib_dir_suffix}
+ include files: ${datadir}/${include_dir_suffix}
+ library files: ${datadir}/${lib_dir_suffix}
+- non-free files: ${datadir}/${non_free_inclib_dir_suffix}
+- non-free include files: ${datadir}/${non_free_include_dir_suffix}
+- non-free library files: ${datadir}/${non_free_lib_dir_suffix}
+ documentation: ${docdir}
+
+ prefix: ${prefix}
+@@ -10716,14 +10493,8 @@ sdcc ${VERSION} is now configured for
+ include files: ${incPath1}
+ path(argv[0])${incPath2}
+ ${incPath3}
+- ${nonFreeIncPath1}
+- path(argv[0])${nonFreeIncPath2}
+- ${nonFreeIncPath3}
+ library files: \$SDCC_HOME${libPath1}${dirch}<model>
+ path(argv[0])${libPath2}${dirch}<model>
+ ${libPath3}${dirch}<model>
+- \$SDCC_HOME${nonFreeLibPath1}${dirch}<model>
+- path(argv[0])${nonFreeLibPath2}${dirch}<model>
+- ${nonFreeLibPath3}${dirch}<model>
+ " >&6; }
+ # End of configure/configure.in
+diff --git a/configure.ac b/configure.ac
+index 3a16e42..bfba129 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -588,19 +588,6 @@ if test "${include_dir_suffix}" = ""; then
+ include_dir_suffix="${inclib_dir_suffix}/include"
+ fi
+
+-AC_ARG_VAR([non_free_inclib_dir_suffix], [appended to datadir to define SDCC's non-free include/lib directory])
+-if test "${non_free_inclib_dir_suffix}" = ""; then
+- non_free_inclib_dir_suffix="sdcc/non-free"
+-fi
+-
+-# non_free_include_dir_suffix:
+-# *nix default: "sdcc/non-free/include"
+-
+-AC_ARG_VAR([non_free_include_dir_suffix], [appended to datadir to define SDCC's non-free include directory])
+-if test "${non_free_include_dir_suffix}" = ""; then
+- non_free_include_dir_suffix="${non_free_inclib_dir_suffix}/include"
+-fi
+-
+ # lib_dir_suffix:
+ # *nix default: "sdcc/lib"
+ AC_ARG_VAR([lib_dir_suffix], [appended to datadir to define SDCC's library root directory])
+@@ -608,13 +595,6 @@ if test "${lib_dir_suffix}" = ""; then
+ lib_dir_suffix="${inclib_dir_suffix}/lib"
+ fi
+
+-# non_free_lib_dir_suffix:
+-# *nix default: "sdcc/non-free/lib"
+-AC_ARG_VAR([non_free_lib_dir_suffix], [appended to datadir to define SDCC's non-free library root directory])
+-if test "${non_free_lib_dir_suffix}" = ""; then
+- non_free_lib_dir_suffix="${non_free_inclib_dir_suffix}/lib"
+-fi
+-
+ # docdir:
+ # *nix default: "${datadir}/sdcc/doc"
+ AC_ARG_VAR([docdir], [documentation installation directory])
+@@ -655,19 +635,11 @@ norm_inc_dir_suffix=${include_dir_suffix}
+ adl_NORMALIZE_PATH([norm_inc_dir_suffix], [$sdccconf_h_dir_separator])
+ AC_DEFINE_UNQUOTED(INCLUDE_DIR_SUFFIX,
+ DIR_SEPARATOR_STRING "${norm_inc_dir_suffix}", [XXX])
+-norm_non_free_inc_dir_suffix=${non_free_include_dir_suffix}
+-adl_NORMALIZE_PATH([norm_non_free_inc_dir_suffix], [$sdccconf_h_dir_separator])
+-AC_DEFINE_UNQUOTED(NON_FREE_INCLUDE_DIR_SUFFIX,
+- DIR_SEPARATOR_STRING "${norm_non_free_inc_dir_suffix}", [XXX])
+
+ norm_lib_dir_suffix=${lib_dir_suffix}
+ adl_NORMALIZE_PATH([norm_lib_dir_suffix], [$sdccconf_h_dir_separator])
+ AC_DEFINE_UNQUOTED(LIB_DIR_SUFFIX,
+ DIR_SEPARATOR_STRING "${norm_lib_dir_suffix}", [XXX])
+-norm_non_free_lib_dir_suffix=${non_free_lib_dir_suffix}
+-adl_NORMALIZE_PATH([norm_non_free_lib_dir_suffix], [$sdccconf_h_dir_separator])
+-AC_DEFINE_UNQUOTED(NON_FREE_LIB_DIR_SUFFIX,
+- DIR_SEPARATOR_STRING "${norm_non_free_lib_dir_suffix}", [XXX])
+
+ # relative paths
+ adl_COMPUTE_RELATIVE_PATHS([expanded_bindir:expanded_datadir:bin2data_dir])
+@@ -836,7 +808,6 @@ AC_DO_DISABLER(packihx, PACKIHX, [Disables building packihx])
+ AC_DO_DISABLER(sdcpp, SDCPP, [Disables building sdcpp])
+ AC_DO_DISABLER(sdcdb, SDCDB, [Disables building sdcdb])
+ AC_DO_DISABLER(sdbinutils, SDBINUTILS, [Disables configuring and building of sdbinutils])
+-AC_DO_DISABLER(non-free, NON_FREE, [Disables non-free runtime library parts])
+
+ AC_DO_ENABLER(doc, DOC, [Enables building the documentation])
+ AC_CHECK_PROG([LYX], [lyx], [lyx], [:])
+@@ -907,16 +878,10 @@ if test $OPT_DISABLE_PIC14 = 0; then
+ AC_CONFIG_FILES(src/pic14/Makefile)
+ test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/lib/pic14)
+ fi
+-if test $OPT_DISABLE_PIC14 = 0 && test $OPT_DISABLE_NON_FREE = 0; then
+- test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/non-free/lib/pic14)
+-fi
+ if test $OPT_DISABLE_PIC16 = 0; then
+ AC_CONFIG_FILES(src/pic16/Makefile)
+ test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/lib/pic16)
+ fi
+-if test $OPT_DISABLE_PIC16 = 0 && test $OPT_DISABLE_NON_FREE = 0; then
+- test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/non-free/lib/pic16)
+-fi
+
+ if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_GBZ80 = 0 || test $OPT_DISABLE_TLCS90 = 0; then
+ AC_CONFIG_FILES([src/z80/Makefile])
+@@ -951,7 +916,6 @@ if test $OPT_DISABLE_STM8 = 0; then
+ fi
+
+ test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_FILES([device/lib/Makefile])
+-test $OPT_DISABLE_DEVICE_LIB = 0 && test $OPT_DISABLE_NON_FREE = 0 && AC_CONFIG_FILES([device/non-free/lib/Makefile])
+
+ AC_CONFIG_FILES([main.mk:main_in.mk
+ src/Makefile
+@@ -966,9 +930,6 @@ support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in
+ Makefile
+ Makefile.common:Makefile.common.in
+ ])
+-if test $OPT_DISABLE_NON_FREE = 0; then
+- AC_CONFIG_FILES([device/non-free/include/Makefile])
+-fi
+ AC_OUTPUT
+
+ # I found no better place
+@@ -986,16 +947,10 @@ adl_NORMALIZE_PATH_MSG(/${prefix2bin_dir}, [binPath], [
+ adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_inc_dir_suffix}, [incPath1], [$dirch])
+ adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_inc_dir_suffix}, [incPath2], [$dirch])
+ adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_inc_dir_suffix}, [incPath3], [$dirch])
+-adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_non_free_inc_dir_suffix}, [nonFreeIncPath1], [$dirch])
+-adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_non_free_inc_dir_suffix}, [nonFreeIncPath2], [$dirch])
+-adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_non_free_inc_dir_suffix}, [nonFreeIncPath3], [$dirch])
+
+ adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_lib_dir_suffix}, [libPath1], [$dirch])
+ adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_lib_dir_suffix}, [libPath2], [$dirch])
+ adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_lib_dir_suffix}, [libPath3], [$dirch])
+-adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_non_free_lib_dir_suffix}, [nonFreeLibPath1], [$dirch])
+-adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_non_free_lib_dir_suffix}, [nonFreeLibPath2], [$dirch])
+-adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_non_free_lib_dir_suffix}, [nonFreeLibPath3], [$dirch])
+
+ AC_MSG_RESULT([
+ sdcc ${VERSION} is now configured for
+@@ -1027,7 +982,6 @@ sdcc ${VERSION} is now configured for
+ tlcs90 ${enable_tlcs90_port}
+ stm8 ${enable_stm8_port}
+
+- Disable non-free lib: ${OPT_DISABLE_NON_FREE}
+ Disable packihx: ${OPT_DISABLE_PACKIHX}
+ Disable ucsim: ${OPT_DISABLE_UCSIM}
+ Disable device lib: ${OPT_DISABLE_DEVICE_LIB}
+@@ -1042,9 +996,6 @@ sdcc ${VERSION} is now configured for
+ include/library files: ${datadir}/${inclib_dir_suffix}
+ include files: ${datadir}/${include_dir_suffix}
+ library files: ${datadir}/${lib_dir_suffix}
+- non-free files: ${datadir}/${non_free_inclib_dir_suffix}
+- non-free include files: ${datadir}/${non_free_include_dir_suffix}
+- non-free library files: ${datadir}/${non_free_lib_dir_suffix}
+ documentation: ${docdir}
+
+ prefix: ${prefix}
+@@ -1056,14 +1007,8 @@ sdcc ${VERSION} is now configured for
+ include files: ${incPath1}
+ path(argv[[0]])${incPath2}
+ ${incPath3}
+- ${nonFreeIncPath1}
+- path(argv[[0]])${nonFreeIncPath2}
+- ${nonFreeIncPath3}
+ library files: \$SDCC_HOME${libPath1}${dirch}<model>
+ path(argv[[0]])${libPath2}${dirch}<model>
+ ${libPath3}${dirch}<model>
+- \$SDCC_HOME${nonFreeLibPath1}${dirch}<model>
+- path(argv[[0]])${nonFreeLibPath2}${dirch}<model>
+- ${nonFreeLibPath3}${dirch}<model>
+ ])
+ # End of configure/configure.in
+diff --git a/device/lib/pic14/Makefile.common b/device/lib/pic14/Makefile.common
+index e456838..8179255 100644
+--- a/device/lib/pic14/Makefile.common
++++ b/device/lib/pic14/Makefile.common
+@@ -3,11 +3,10 @@ EARCH ?= @EARCH@
+
+ AM_CPPFLAGS =
+ AM_CPPFLAGS += -I.
+-AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic14 -I$(top_srcdir)/../../non-free/include/pic14
++AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic14
+
+ AM_CFLAGS =
+ AM_CFLAGS += -mpic14 -p$(ARCH)
+-AM_CFLAGS += --no-warn-non-free
+ AM_CFLAGS += --std-c99
+ #AM_CFLAGS += --asm="$(CCAS)"
+ ##AM_CFLAGS += -Wa,-q
+@@ -29,7 +28,7 @@ AM_CFLAGS += --i-code-in-asm
+
+ AM_CCASFLAGS =
+ AM_CCASFLAGS += -p$(ARCH)
+-AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic14 -I$(top_srcdir)/../../non-free/include/pic14
++AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic14
+ AM_CCASFLAGS += -I$(srcdir)
+
+ clean-local:
+diff --git a/device/lib/pic14/Makefile.in b/device/lib/pic14/Makefile.in
+index f1c9940..de47dbe 100644
+--- a/device/lib/pic14/Makefile.in
++++ b/device/lib/pic14/Makefile.in
+@@ -297,15 +297,13 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ SUBDIRS = libm libsdcc/regular $(am__append_1) $(am__append_2)
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \
+- -I$(top_srcdir)/../../non-free/include/pic14
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14
+ #AM_CFLAGS += --asm="$(CCAS)"
+
+ #AM_CFLAGS += --debug-ralloc
+ #AM_CFLAGS += --debug-xtra
+ #AM_CFLAGS += --pcode-verbose
+-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \
+- --i-code-in-asm
++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm
+
+ #AM_CFLAGS += --no-pcode-opt
+
+@@ -316,8 +314,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \
+- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir)
++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir)
+ DISTCLEANFILES = a.cod a.hex ./.checkdevices/*
+ all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+diff --git a/device/lib/pic14/libm/Makefile.in b/device/lib/pic14/libm/Makefile.in
+index fd9fd2e..4a7d250 100644
+--- a/device/lib/pic14/libm/Makefile.in
++++ b/device/lib/pic14/libm/Makefile.in
+@@ -299,15 +299,13 @@ libm_a_SOURCES = acosf.c asincosf.c asinf.c atan2f.c atanf.c ceilf.c \
+ libm_a_CFLAGS = -p$(ARCH) $(AM_CFLAGS)
+ libme_a_SOURCES = $(libm_a_SOURCES)
+ libme_a_CFLAGS = -p$(EARCH) $(AM_CFLAGS) $(am__append_2)
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \
+- -I$(top_srcdir)/../../non-free/include/pic14
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14
+ #AM_CFLAGS += --asm="$(CCAS)"
+
+ #AM_CFLAGS += --debug-ralloc
+ #AM_CFLAGS += --debug-xtra
+ #AM_CFLAGS += --pcode-verbose
+-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \
+- --i-code-in-asm
++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm
+
+ #AM_CFLAGS += --no-pcode-opt
+
+@@ -318,8 +316,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \
+- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir)
++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in b/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in
+index e946da7..bced941 100644
+--- a/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in
++++ b/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in
+@@ -311,15 +311,13 @@ libsdcce_a_SOURCES = ../_divschar.c ../_divsint.c ../_divslong.c \
+ _gptrput3.S _gptrput4.S macros.inc
+ libsdcce_a_CFLAGS = -p$(EARCH) $(AM_CFLAGS)
+ CLEANFILES = ../*.asm ../*.lst
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \
+- -I$(top_srcdir)/../../non-free/include/pic14
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14
+ #AM_CFLAGS += --asm="$(CCAS)"
+
+ #AM_CFLAGS += --debug-ralloc
+ #AM_CFLAGS += --debug-xtra
+ #AM_CFLAGS += --pcode-verbose
+-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \
+- --i-code-in-asm
++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm
+
+ #AM_CFLAGS += --no-pcode-opt
+
+@@ -330,8 +328,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \
+- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir)
++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/device/lib/pic14/libsdcc/enhanced/Makefile.in b/device/lib/pic14/libsdcc/enhanced/Makefile.in
+index 7fe1e25..854f87f 100644
+--- a/device/lib/pic14/libsdcc/enhanced/Makefile.in
++++ b/device/lib/pic14/libsdcc/enhanced/Makefile.in
+@@ -311,15 +311,13 @@ libsdcce_a_SOURCES = ../_divschar.c ../_divsint.c ../_divslong.c \
+ _gptrput3.S _gptrput4.S macros.inc
+ libsdcce_a_CFLAGS = -p$(EARCH) $(AM_CFLAGS)
+ CLEANFILES = ../*.asm ../*.lst
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \
+- -I$(top_srcdir)/../../non-free/include/pic14
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14
+ #AM_CFLAGS += --asm="$(CCAS)"
+
+ #AM_CFLAGS += --debug-ralloc
+ #AM_CFLAGS += --debug-xtra
+ #AM_CFLAGS += --pcode-verbose
+-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \
+- --i-code-in-asm
++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm
+
+ #AM_CFLAGS += --no-pcode-opt
+
+@@ -330,8 +328,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \
+- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir)
++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/device/lib/pic14/libsdcc/regular/Makefile.in b/device/lib/pic14/libsdcc/regular/Makefile.in
+index 29a5924..8c60a49 100644
+--- a/device/lib/pic14/libsdcc/regular/Makefile.in
++++ b/device/lib/pic14/libsdcc/regular/Makefile.in
+@@ -304,15 +304,13 @@ libsdcc_a_SOURCES = ../_divschar.c ../_divsint.c ../_divslong.c \
+ _gptrput3.S _gptrput4.S macros.inc shadowregs.c
+ libsdcc_a_CFLAGS = -p$(ARCH) $(AM_CFLAGS)
+ CLEANFILES = ../*.asm ../*.lst
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \
+- -I$(top_srcdir)/../../non-free/include/pic14
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14
+ #AM_CFLAGS += --asm="$(CCAS)"
+
+ #AM_CFLAGS += --debug-ralloc
+ #AM_CFLAGS += --debug-xtra
+ #AM_CFLAGS += --pcode-verbose
+-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \
+- --i-code-in-asm
++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm
+
+ #AM_CFLAGS += --no-pcode-opt
+
+@@ -323,8 +321,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \
+- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir)
++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/device/lib/pic16/Makefile.common b/device/lib/pic16/Makefile.common
+index 73200d7..e298bf5 100644
+--- a/device/lib/pic16/Makefile.common
++++ b/device/lib/pic16/Makefile.common
+@@ -1,11 +1,10 @@
+ AM_CPPFLAGS =
+ AM_CPPFLAGS += -I.
+-AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic16 -I$(top_srcdir)/../../non-free/include/pic16
++AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic16
+
+ AM_CFLAGS =
+ AM_CFLAGS += --std-c99
+ AM_CFLAGS += --asm="$(CCAS)"
+-AM_CFLAGS += --no-warn-non-free
+ ##AM_CFLAGS += -Wa,-q
+
+ AM_CFLAGS += --fomit-frame-pointer
+@@ -31,7 +30,7 @@ AM_CFLAGS += --i-code-in-asm
+ AM_CFLAGS += @USE_FLOATS@
+
+ AM_CCASFLAGS =
+-AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic16 -I$(top_srcdir)/../../non-free/include/pic16
++AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic16
+ AM_CCASFLAGS += -I$(srcdir)
+
+ clean-local:
+diff --git a/device/lib/pic16/Makefile.in b/device/lib/pic16/Makefile.in
+index b17f151..31ecfa4 100644
+--- a/device/lib/pic16/Makefile.in
++++ b/device/lib/pic16/Makefile.in
+@@ -87,10 +87,7 @@ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ subdir = .
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = \
+- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \
+- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \
+- $(top_srcdir)/configure.ac
++am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
+@@ -295,8 +292,7 @@ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ SUBDIRS = debug libc libio libm libsdcc startup
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16
+ #AM_CFLAGS += --no-optimize-goto
+
+ #AM_CFLAGS += --debug-ralloc
+@@ -310,11 +306,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \
++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \
+ --fomit-frame-pointer --obanksel=9 --denable-peeps \
+ --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@
+-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir)
++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir)
+ DISTCLEANFILES = a.cod a.hex ./.checkdevices/* pics.supported
+ all: config.h
+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
+diff --git a/device/lib/pic16/configure b/device/lib/pic16/configure
+index d8760a0..eaea231 100755
+--- a/device/lib/pic16/configure
++++ b/device/lib/pic16/configure
+@@ -3657,7 +3657,6 @@ fi
+
+
+
+-LIBDEV="${srcdir}/../../non-free/lib/pic16/libdev"
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking devices supported by gputils" >&5
+ $as_echo_n "checking devices supported by gputils... " >&6; }
+ GOOD_PICS="";
+diff --git a/device/lib/pic16/configure.ac b/device/lib/pic16/configure.ac
+index 3966c11..cdbffc7 100644
+--- a/device/lib/pic16/configure.ac
++++ b/device/lib/pic16/configure.ac
+@@ -68,10 +68,6 @@ AC_SUBST(OBJEXT, [o])
+ _AM_DEPENDENCIES(CC)
+ _AM_DEPENDENCIES(CCAS)
+
+-LIBDEV="${srcdir}/../../non-free/lib/pic16/libdev"
+-m4_include([../../non-free/lib/pic16/supported-devices.ac])
+-m4_include([../../non-free/lib/pic16/processors.ac])
+-
+ # Checks for libraries.
+
+ # Checks for header files.
+diff --git a/device/lib/pic16/debug/Makefile.in b/device/lib/pic16/debug/Makefile.in
+index bc77b98..724a443 100644
+--- a/device/lib/pic16/debug/Makefile.in
++++ b/device/lib/pic16/debug/Makefile.in
+@@ -88,10 +88,7 @@ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ subdir = debug
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = \
+- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \
+- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \
+- $(top_srcdir)/configure.ac
++am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+@@ -290,8 +287,7 @@ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
+ lib_LIBRARIES = libdebug.a
+ libdebug_a_SOURCES = gstack/gstack.c
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16
+ #AM_CFLAGS += --no-optimize-goto
+
+ #AM_CFLAGS += --debug-ralloc
+@@ -305,11 +301,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \
++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \
+ --fomit-frame-pointer --obanksel=9 --denable-peeps \
+ --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@
+-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir)
++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/device/lib/pic16/libc/Makefile.in b/device/lib/pic16/libc/Makefile.in
+index 6d2699f..5546319 100644
+--- a/device/lib/pic16/libc/Makefile.in
++++ b/device/lib/pic16/libc/Makefile.in
+@@ -88,10 +88,7 @@ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ subdir = libc
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = \
+- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \
+- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \
+- $(top_srcdir)/configure.ac
++am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+@@ -344,8 +341,7 @@ libc18f_a_SOURCES = ctype/iscntrl.c ctype/isdigit.c ctype/isgraph.c \
+ string/strpbrk.c string/strrchr.c string/strspn.c \
+ string/strstr.c string/strtok.c string/strupr.c \
+ utils/cnvfrac.S utils/cnvint.S utils/cvtdec.S
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16
+ #AM_CFLAGS += --no-optimize-goto
+
+ #AM_CFLAGS += --debug-ralloc
+@@ -359,11 +355,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \
++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \
+ --fomit-frame-pointer --obanksel=9 --denable-peeps \
+ --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@
+-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir)
++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/device/lib/pic16/libio/Makefile.in b/device/lib/pic16/libio/Makefile.in
+index 0d7c731..64b56c8 100644
+--- a/device/lib/pic16/libio/Makefile.in
++++ b/device/lib/pic16/libio/Makefile.in
+@@ -481,10 +481,7 @@ POST_UNINSTALL = :
+ @ENABLE_18LF8723_TRUE@am__append_393 = libio18lf8723.a
+ subdir = libio
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = \
+- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \
+- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \
+- $(top_srcdir)/configure.ac
++am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+@@ -9826,8 +9823,7 @@ libio18lf8722_a_SOURCES = dummy.c i2c/i2cack.c i2c/i2cclose.c \
+ libio18lf8722_a_CFLAGS = -p18lf8722 $(AM_CFLAGS)
+ libio18lf8723_a_SOURCES = dummy.c
+ libio18lf8723_a_CFLAGS = -p18lf8723 $(AM_CFLAGS)
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16
+ #AM_CFLAGS += --no-optimize-goto
+
+ #AM_CFLAGS += --debug-ralloc
+@@ -9841,11 +9837,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \
++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \
+ --fomit-frame-pointer --obanksel=9 --denable-peeps \
+ --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@
+-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir)
++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/device/lib/pic16/libio/mkmk.sh b/device/lib/pic16/libio/mkmk.sh
+index 211604e..e8896bf 100755
+--- a/device/lib/pic16/libio/mkmk.sh
++++ b/device/lib/pic16/libio/mkmk.sh
+@@ -17,40 +17,6 @@ lib_LIBRARIES =
+
+ HEREDOC
+
+-for f in "../../../non-free/lib/pic16/libdev/pic1"*.c; do
+- p="${f##*/pic}";
+- p="${p%.c}";
+- P=$(echo "$p" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ);
+- echo "Generating for device >>${p}<<" >&2;
+- cat <<HERE
+-if ENABLE_$P
+-lib_LIBRARIES += libio${p}.a
+-endif ENABLE_$P
+-libio${p}_a_SOURCES = dummy.c
+-HERE
+- sed -e 's/\s*\(#.*\)\{0,1\}$//' adc.ignore | grep -x "$p" > /dev/null 2>&1 && { echo "No adc." >&2 ; } || cat <<HERE
+-libio${p}_a_SOURCES += adc/adcbusy.c adc/adcclose.c adc/adcconv.c
+-libio${p}_a_SOURCES += adc/adcopen.c adc/adcread.c adc/adcsetch.c
+-HERE
+- sed -e 's/\s*\(#.*\)\{0,1\}$//' i2c.ignore | grep -x "$p" > /dev/null 2>&1 && { echo "No i2c." >&2 ; } || cat <<HERE
+-libio${p}_a_SOURCES += i2c/i2cack.c i2c/i2cclose.c i2c/i2cdrdy.c
+-libio${p}_a_SOURCES += i2c/i2cidle.c i2c/i2cnack.c i2c/i2copen.c
+-libio${p}_a_SOURCES += i2c/i2creadc.c i2c/i2creads.c i2c/i2crestart.c
+-libio${p}_a_SOURCES += i2c/i2cstart.c i2c/i2cstop.c i2c/i2cwritec.c
+-libio${p}_a_SOURCES += i2c/i2cwrites.c
+-HERE
+- sed -e 's/\s*\(#.*\)\{0,1\}$//' usart.ignore | grep -x "$p" > /dev/null 2>&1 && { echo "No usart." >&2 ; } || cat <<HERE
+-libio${p}_a_SOURCES += usart/ubaud.c usart/ubusy.c usart/uclose.c
+-libio${p}_a_SOURCES += usart/udrdy.c usart/ugetc.c usart/ugets.c
+-libio${p}_a_SOURCES += usart/uopen.c usart/uputc.c usart/uputs.c
+-libio${p}_a_SOURCES += usart/usartd.c
+-HERE
+- cat <<HERE
+-libio${p}_a_CFLAGS = -p${p} \$(AM_CFLAGS)
+-
+-HERE
+-done
+-
+ cat <<HEREDOC
+ include \$(top_srcdir)/Makefile.common
+
+diff --git a/device/lib/pic16/libm/Makefile.in b/device/lib/pic16/libm/Makefile.in
+index 7f90e89..94cd985 100644
+--- a/device/lib/pic16/libm/Makefile.in
++++ b/device/lib/pic16/libm/Makefile.in
+@@ -88,10 +88,7 @@ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ subdir = libm
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = \
+- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \
+- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \
+- $(top_srcdir)/configure.ac
++am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+@@ -299,8 +296,7 @@ libm18f_a_SOURCES = acosf.c asincosf.c asinf.c atan2f.c atanf.c \
+ frexpf.c isinf.c isnan.c ldexpf.c log10f.c logf.c modff.c \
+ powf.c sincosf.c sincoshf.c sinf.c sinhf.c sqrtf.c tancotf.c \
+ tanf.c tanhf.c
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16
+ #AM_CFLAGS += --no-optimize-goto
+
+ #AM_CFLAGS += --debug-ralloc
+@@ -314,11 +310,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \
++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \
+ --fomit-frame-pointer --obanksel=9 --denable-peeps \
+ --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@
+-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir)
++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/device/lib/pic16/libsdcc/Makefile.in b/device/lib/pic16/libsdcc/Makefile.in
+index e58bad0..b318b70 100644
+--- a/device/lib/pic16/libsdcc/Makefile.in
++++ b/device/lib/pic16/libsdcc/Makefile.in
+@@ -88,10 +88,7 @@ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ subdir = libsdcc
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = \
+- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \
+- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \
+- $(top_srcdir)/configure.ac
++am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+@@ -364,8 +361,7 @@ libsdcc_a_SOURCES = char/divschar.c char/divuchar.c char/modschar.c \
+ int/modsint.c int/moduint.c int/mulint.c long/divslong.c \
+ long/divulong.c long/modslong.c long/modulong.c long/mullong.c \
+ lregs/lrrest.c lregs/lrst.c stack/stack.S
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16
+ #AM_CFLAGS += --no-optimize-goto
+
+ #AM_CFLAGS += --debug-ralloc
+@@ -379,11 +375,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \
++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \
+ --fomit-frame-pointer --obanksel=9 --denable-peeps \
+ --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@
+-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir)
++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/device/lib/pic16/startup/Makefile.in b/device/lib/pic16/startup/Makefile.in
+index 3c44c6f..274acde 100644
+--- a/device/lib/pic16/startup/Makefile.in
++++ b/device/lib/pic16/startup/Makefile.in
+@@ -89,10 +89,7 @@ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ subdir = startup
+ ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+-am__aclocal_m4_deps = \
+- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \
+- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \
+- $(top_srcdir)/configure.ac
++am__aclocal_m4_deps = $(top_srcdir)/configure.ac
+ am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+ DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
+@@ -306,8 +303,7 @@ libcrt0iz_a_SOURCES = crt0iz.c
+ # Force installation of .o files into $libdir
+ crtdir = $(libdir)
+ crt_DATA = crt0.o crt0i.o crt0iz.o
+-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16
++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16
+ #AM_CFLAGS += --no-optimize-goto
+
+ #AM_CFLAGS += --debug-ralloc
+@@ -321,11 +317,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \
+ #AM_CFLAGS += --noinduction
+ #AM_CFLAGS += --nojtbound
+ #AM_CFLAGS += --noloopreverse
+-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \
++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \
+ --fomit-frame-pointer --obanksel=9 --denable-peeps \
+ --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@
+-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \
+- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir)
++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir)
+ all: all-am
+
+ .SUFFIXES:
+diff --git a/doc/INSTALL.txt b/doc/INSTALL.txt
+index 7d83ef7..5bd71d3 100644
+--- a/doc/INSTALL.txt
++++ b/doc/INSTALL.txt
+@@ -18,9 +18,7 @@ To install:
+
+ This will install sdcc binaries into: /usr/local/bin/
+ header files into: /usr/local/share/sdcc/include/
+-non-free header files into: /usr/local/share/sdcc/non-free/include/
+ library files into: /usr/local/share/sdcc/lib/
+-non-free library files into: /usr/local/share/sdcc/non-free/lib/
+ and documentation into: /usr/local/share/sdcc/doc/
+
+ You can test the install by entering:
+@@ -44,9 +42,7 @@ To install:
+
+ By default this will install sdcc binaries into: C:\Program Files\SDCC\bin\
+ header files into: C:\Program Files\SDCC\include\
+-non-free header files into: C:\Program Files\SDCC\non-free\include\
+ library files into: C:\Program Files\SDCC\lib\
+-non-free library files into: C:\Program Files\SDCC\non-free\lib\
+ and documentation into: C:\Program Files\SDCC\doc\
+
+ You can test the install by opening a DOS box and entering:
+@@ -75,9 +71,7 @@ To install:
+
+ This will install sdcc binaries into: /Developer/sdcc/bin/
+ header files into: /Developer/sdcc/share/sdcc/include/
+-non-free header files into: /Developer/sdcc/share/sdcc/non-free/include/
+ library files into: /Developer/sdcc/share/sdcc/lib/
+-non-free library files into: /Developer/sdcc/share/sdcc/non-free/lib/
+ and documentation into: /Developer/sdcc/share/sdcc/doc/
+
+ You can test the install by entering:
+diff --git a/doc/README.txt b/doc/README.txt
+index 86ed809..69e16e2 100644
+--- a/doc/README.txt
++++ b/doc/README.txt
+@@ -35,10 +35,9 @@ Exception are pic device libraries and header files which are derived
+ from Microchip header (.inc) and linker script (.lkr) files. Microchip
+ requires that "The header files should state that they are only to be
+ used with authentic Microchip devices" which makes them incompatible
+-with the GPL. Pic device libraries and header files are located at
+-non-free/lib and non-free/include directories respectively. Sdcc should
+-be run with the --use-non-free command line option in order to include
+-non-free header files and libraries.
++with the GPL. These non-free libraries and header files (and the build
++and run-time options that enable their use) are omitted in the SDCC
++package distributed with GNU Guix.
+
+ See:
+
+diff --git a/doc/sdccman.lyx b/doc/sdccman.lyx
+index 41e8db0..9a971fa 100644
+--- a/doc/sdccman.lyx
++++ b/doc/sdccman.lyx
+@@ -1083,54 +1083,9 @@ Exception are pic device libraries and header files which are derived from
+ Microchip requires that "The header files should state that they are only
+ to be used with authentic Microchip devices" which makes them incompatible
+ with the GPL.
+- Pic device libraries and header files are located at non-free/lib and non-free/
+-include directories respectively.
+- SDCC should be run with the
+-\series bold
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--
+-\series default
+-use-non-free
+-\series bold
+-
+-\begin_inset Index idx
+-status collapsed
+-
+-\begin_layout Plain Layout
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\end_layout
+-
+-\end_inset
+-
+-
+-\series default
+- command line option in order to include non-free header files and libraries.
+-
++ These non-free libraries and header files (and the build and run-time options
++ that enable their use) are omitted in the SDCC package distributed with
++ GNU Guix.
+ \end_layout
+
+ \begin_layout Itemize
+@@ -2890,18 +2845,6 @@ include_dir_suffix environment variable, see table below
+ \end_inset
+
+
+-\begin_inset space ~
+-\end_inset
+-
+-non_free_include_dir_suffix environment variable, see table below
+-\end_layout
+-
+-\begin_layout Labeling
+-\labelwidthstring 00.00.0000
+-\begin_inset space ~
+-\end_inset
+-
+-
+ \begin_inset space ~
+ \end_inset
+
+@@ -2914,22 +2857,6 @@ lib_dir_suffix environment variable, see table below
+ \end_inset
+
+
+-\begin_inset space ~
+-\end_inset
+-
+-
+-\begin_inset space ~
+-\end_inset
+-
+-non_free_lib_dir_suffix environment variable, see table below
+-\end_layout
+-
+-\begin_layout Labeling
+-\labelwidthstring 00.00.0000
+-\begin_inset space ~
+-\end_inset
+-
+-
+ \begin_inset space ~
+ \end_inset
+
+@@ -3410,7 +3337,7 @@ These defaults are:
+ \begin_layout Standard
+ \align center
+ \begin_inset Tabular
+-<lyxtabular version="3" rows="11" columns="3">
++<lyxtabular version="3" rows="9" columns="3">
+ <features tabularvalignment="middle">
+ <column alignment="block" valignment="top" width="0in">
+ <column alignment="block" valignment="top" width="0in">
+@@ -3694,68 +3621,6 @@ sdcc/include
+ include
+ \end_layout
+
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-
+-\emph on
+-NON_FREE_INCLUDE_DIR_SUFFIX
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-sdcc/non-free/include
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-non-free/include
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-
+-\emph on
+-LIB_DIR_SUFFIX
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-sdcc/lib
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-lib
+-\end_layout
+-
+ \end_inset
+ </cell>
+ </row>
+@@ -3766,7 +3631,7 @@ lib
+ \begin_layout Plain Layout
+
+ \emph on
+-NON_FREE_LIB_DIR_SUFFIX
++LIB_DIR_SUFFIX
+ \end_layout
+
+ \end_inset
+@@ -3775,7 +3640,7 @@ NON_FREE_LIB_DIR_SUFFIX
+ \begin_inset Text
+
+ \begin_layout Plain Layout
+-sdcc/non-free/lib
++sdcc/lib
+ \end_layout
+
+ \end_inset
+@@ -3784,7 +3649,7 @@ sdcc/non-free/lib
+ \begin_inset Text
+
+ \begin_layout Plain Layout
+-non-free/lib
++lib
+ \end_layout
+
+ \end_inset
+@@ -4183,20 +4048,6 @@ include
+ \end_inset
+
+
+-\backslash
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-non_free_include_dir_suffix=
+-\begin_inset Quotes srd
+-\end_inset
+-
+-non-free/include
+-\begin_inset Quotes srd
+-\end_inset
+-
+-
+ \backslash
+
+ \begin_inset Newline newline
+@@ -4211,20 +4062,6 @@ lib
+ \end_inset
+
+
+-\backslash
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-non_free_lib_dir_suffix=
+-\begin_inset Quotes srd
+-\end_inset
+-
+-non-free/lib
+-\begin_inset Quotes srd
+-\end_inset
+-
+-
+ \backslash
+
+ \begin_inset Newline newline
+@@ -4405,20 +4242,6 @@ include
+ \end_inset
+
+
+-\backslash
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-non_free_include_dir_suffix=
+-\begin_inset Quotes srd
+-\end_inset
+-
+-non-free/include
+-\begin_inset Quotes srd
+-\end_inset
+-
+-
+ \backslash
+
+ \begin_inset Newline newline
+@@ -4433,20 +4256,6 @@ lib
+ \end_inset
+
+
+-\backslash
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-non_free_lib_dir_suffix=
+-\begin_inset Quotes srd
+-\end_inset
+-
+-non-free/lib
+-\begin_inset Quotes srd
+-\end_inset
+-
+-
+ \backslash
+
+ \begin_inset Newline newline
+@@ -4543,7 +4352,7 @@ Install paths
+ \begin_layout Standard
+ \align center
+ \begin_inset Tabular
+-<lyxtabular version="3" rows="7" columns="4">
++<lyxtabular version="3" rows="5" columns="4">
+ <features tabularvalignment="middle">
+ <column alignment="left" valignment="top">
+ <column alignment="left" valignment="top" width="4.5cm">
+@@ -4699,64 +4508,6 @@ include
+ <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+ \begin_inset Text
+
+-\begin_layout Plain Layout
+-Non-free include files
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-
+-\emph on
+-$DATADIR/non-free/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$INCLUDE_DIR_SUFFIX
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-/usr/local/share/
+-\begin_inset Newline newline
+-\end_inset
+-
+-sdcc/non-free/include
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-
+-\backslash
+-sdcc
+-\backslash
+-non-free
+-\backslash
+-include
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+ \begin_layout Plain Layout
+ Library file**
+ \end_layout
+@@ -4806,64 +4557,6 @@ sdcc
+ lib
+ \end_layout
+
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-Library file**
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-
+-\emph on
+-$DATADIR/non-free/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$LIB_DIR_SUFFIX
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-/usr/local/share/
+-\begin_inset Newline newline
+-\end_inset
+-
+-sdcc/non-free/lib
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-
+-\backslash
+-sdcc
+-\backslash
+-non-free
+-\backslash
+-lib
+-\end_layout
+-
+ \end_inset
+ </cell>
+ </row>
+@@ -5186,7 +4879,7 @@ $PATH
+ \begin_layout Standard
+ \align center
+ \begin_inset Tabular
+-<lyxtabular version="3" rows="9" columns="4">
++<lyxtabular version="3" rows="6" columns="4">
+ <features tabularvalignment="middle">
+ <column alignment="block" valignment="top" width="0.5cm">
+ <column alignment="block" valignment="top" width="4.8cm">
+@@ -5464,203 +5157,13 @@ include
+ </cell>
+ </row>
+ <row>
+-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+ \begin_inset Text
+
+ \begin_layout Plain Layout
+ 5
+ \end_layout
+
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-
+-\emph on
+-$DATADIR/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$INCLUDE_DIR_SUFFIX
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-/usr/local/share/
+-\begin_inset Newline newline
+-\end_inset
+-
+-sdcc/include
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-(not on Win32)
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-6
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-$SDCC_HOME/
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$PREFIX2DATA_DIR/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-non-free/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$INCLUDE_DIR_SUFFIX
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-$SDCC_HOME/share/
+-\begin_inset Newline newline
+-\end_inset
+-
+-sdcc/non-free/include
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-$SDCC_HOME
+-\backslash
+-non-free
+-\backslash
+-include
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-7
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-path(argv[0])/
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$BIN2DATADIR/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-non-free/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$INCLUDE_DIR_SUFFIX
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-path(argv[0])/../
+-\begin_inset Newline newline
+-\end_inset
+-
+-sdcc/non-free/include
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-path(argv[0])
+-\backslash
+-..
+-\backslash
+-non-free
+-\backslash
+-include
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-8
+-\end_layout
+-
+ \end_inset
+ </cell>
+ <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+@@ -5676,21 +5179,13 @@ $DATADIR/
+ \end_inset
+
+
+-\emph on
+-non-free/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+ \emph on
+ $INCLUDE_DIR_SUFFIX
+ \end_layout
+
+ \end_inset
+ </cell>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+ \begin_inset Text
+
+ \begin_layout Plain Layout
+@@ -5698,7 +5193,7 @@ $INCLUDE_DIR_SUFFIX
+ \begin_inset Newline newline
+ \end_inset
+
+-sdcc/non-free/include
++sdcc/include
+ \end_layout
+
+ \end_inset
+@@ -5796,7 +5291,7 @@ model
+ \begin_layout Standard
+ \align center
+ \begin_inset Tabular
+-<lyxtabular version="3" rows="10" columns="4">
++<lyxtabular version="3" rows="6" columns="4">
+ <features tabularvalignment="middle">
+ <column alignment="block" valignment="top" width="0.5cm">
+ <column alignment="block" valignment="top" width="4.5cm">
+@@ -6076,7 +5571,7 @@ lib
+ </cell>
+ </row>
+ <row>
+-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+ \begin_inset Text
+
+ \begin_layout Plain Layout
+@@ -6085,7 +5580,7 @@ lib
+
+ \end_inset
+ </cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
++<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+ \begin_inset Text
+
+ \begin_layout Plain Layout
+@@ -6116,7 +5611,7 @@ $LIB_DIR_SUFFIX/
+
+ \end_inset
+ </cell>
+-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none">
++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+ \begin_inset Text
+
+ \begin_layout Plain Layout
+@@ -6131,7 +5626,7 @@ lib/
+
+ \end_inset
+ </cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
++<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+ \begin_inset Text
+
+ \begin_layout Plain Layout
+@@ -6154,308 +5649,6 @@ lib
+ <model>
+ \end_layout
+
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-6
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-
+-\emph on
+-$DATADIR/non-free/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$LIB_DIR_SUFFIX/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-<model>
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-/usr/local/share/sdcc/
+-\begin_inset Newline newline
+-\end_inset
+-
+-lib/
+-\emph on
+-<model>
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-(not on Win32)
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-7
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-$SDCC_HOME/
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$PREFIX2DATA_DIR/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-non-free/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$LIB_DIR_SUFFIX/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-<model>
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-$SDCC_HOME/share/sdcc/
+-\begin_inset Newline newline
+-\end_inset
+-
+-non-free/lib/
+-\emph on
+-<model>
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-$SDCC_HOME
+-\backslash
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-lib
+-\backslash
+-non-free
+-\emph on
+-
+-\backslash
+-<model>
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-8
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-path(argv[0])/
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$BIN2DATADIR/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-non-free/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$LIB_DIR_SUFFIX/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-<model>
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-path(argv[0])/../sdcc/
+-\begin_inset Newline newline
+-\end_inset
+-
+-non-free/lib/
+-\emph on
+-<model>
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-path(argv[0])
+-\backslash
+-..
+-\backslash
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-lib
+-\backslash
+-non-free
+-\emph on
+-
+-\backslash
+-<model>
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-9
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-
+-\emph on
+-$DATADIR/non-free/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-$LIB_DIR_SUFFIX/
+-\emph default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-<model>
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-/usr/local/share/sdcc/
+-\begin_inset Newline newline
+-\end_inset
+-
+-non-free/lib/
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\emph on
+-<model>
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-(not on Win32)
+-\end_layout
+-
+ \end_inset
+ </cell>
+ </row>
+@@ -8723,14 +7916,6 @@ In <installdir>/share/sdcc/include
+ the include files
+ \end_layout
+
+-\begin_layout Standard
+-In <installdir>/share/sdcc/non-free/include
+-\end_layout
+-
+-\begin_layout Itemize
+-the non-free include files
+-\end_layout
+-
+ \begin_layout Standard
+ In <installdir>/share/sdcc/lib
+ \end_layout
+@@ -8739,14 +7924,6 @@ In <installdir>/share/sdcc/lib
+ the src and target subdirectories with the precompiled relocatables.
+ \end_layout
+
+-\begin_layout Standard
+-In <installdir>/share/sdcc/non-free/lib
+-\end_layout
+-
+-\begin_layout Itemize
+-the src and target subdirectories with the non-free precompiled relocatables.
+-\end_layout
+-
+ \begin_layout Standard
+ In <installdir>/share/sdcc/doc
+ \end_layout
+@@ -15589,66 +14766,6 @@ splint
+ myprogram.c
+ \end_layout
+
+-\begin_layout Labeling
+-\labelwidthstring 00.00.0000
+-
+-\series bold
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\series default
+-
+-\begin_inset Index idx
+-status collapsed
+-
+-\begin_layout Plain Layout
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\end_layout
+-
+-\end_inset
+-
+-
+-\begin_inset CommandInset label
+-LatexCommand label
+-name "lyx:--use-non-free"
+-
+-\end_inset
+-
+- Search / include non-free licensed libraries and header files, located
+- under the non-free directory - see section
+-\begin_inset CommandInset ref
+-LatexCommand ref
+-reference "subsec:Search-Paths"
+-
+-\end_inset
+-
+-
+-\end_layout
+-
+ \begin_layout Subsection
+ Linker Options
+ \begin_inset Index idx
+@@ -44653,66 +43770,9 @@ http://sourceforge.net/projects/gputils
+ Pic device specific header and c source files are automatically generated
+ from MPLAB include files, which are published by Microchip with a special
+ requirement that they are only to be used with authentic Microchip devices.
+- This reqirement prevents to publish generated header and c source files
+- under the GPL compatible license, so they are located in non-free directory
+- (see section
+-\begin_inset CommandInset ref
+-LatexCommand ref
+-reference "subsec:Search-Paths"
+-
+-\end_inset
+-
+-).
+- In order to include them in include and library search paths, the
+-\series bold
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\begin_inset Index idx
+-status collapsed
+-
+-\begin_layout Plain Layout
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\end_layout
+-
+-\end_inset
+-
+-
+-\series default
+- command line option should be defined.
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-NOTE: the compiled code, which use non-free pic device specific libraries,
+- is not GPL compatible!
++ As this restriction is incompatible with the goal of software freedom,
++ header files and libraries generated from these files are not included
++ in the SDCC package distributed with Guix.
+ \begin_inset Newline newline
+ \end_inset
+
+@@ -44766,7 +43826,7 @@ Makefile
+ \begin_inset space ~
+ \end_inset
+
+-sdcc -V --use-non-free -mpic14 -p16f877 -c $<
++sdcc -V -mpic14 -p16f877 -c $<
+ \begin_inset Newline newline
+ \end_inset
+
+@@ -44860,7 +43920,7 @@ Makefile
+ \begin_inset space ~
+ \end_inset
+
+-sdcc -S -V --use-non-free -mpic14 -p16f877 $<
++sdcc -S -V -mpic14 -p16f877 $<
+ \begin_inset Newline newline
+ \end_inset
+
+@@ -45142,47 +44202,6 @@ status collapsed
+ \begin_layout Plain Layout
+
+
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\begin_inset Index idx
+-status collapsed
+-
+-\begin_layout Plain Layout
+-PIC14!Options!-
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\end_layout
+-
+-\end_inset
+-
+- make non-free device headers and libraries available in the compiler's
+- search paths (implicit -I and -L options)
+-\end_layout
+-
+-\begin_layout Description
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+ \backslash
+ /
+ \end_layout
+@@ -46055,47 +45074,6 @@ status collapsed
+ -all-callee-saves
+ \end_layout
+
+-\begin_layout Description
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\begin_inset Index idx
+-status collapsed
+-
+-\begin_layout Plain Layout
+-PIC16!Options!-
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\end_layout
+-
+-\end_inset
+-
+- Make non-free device headers and libraries available in the compiler's
+- search paths (implicit -I and -L options).
+-\end_layout
+-
+ \begin_layout Subsection
+ Port Specific Options
+ \begin_inset Index idx
+@@ -47372,188 +46350,6 @@ Linker
+ \end_inset
+
+
+-\end_layout
+-
+-\begin_layout Standard
+-If the
+-\series bold
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\begin_inset Index idx
+-status collapsed
+-
+-\begin_layout Plain Layout
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\end_layout
+-
+-\end_inset
+-
+-
+-\series default
+- command line option is specified, non-free directories are searched:
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\begin_inset Separator latexpar
+-\end_inset
+-
+-
+-\end_layout
+-
+-\begin_layout Standard
+-\align center
+-\begin_inset Tabular
+-<lyxtabular version="3" rows="3" columns="4">
+-<features tabularvalignment="middle">
+-<column alignment="center" valignment="top">
+-<column alignment="center" valignment="top">
+-<column alignment="center" valignment="top">
+-<column alignment="center" valignment="top">
+-<row>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-Directory
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-Description
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-Target
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-Command prefix
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-PREFIX/sdcc/non-free/include/pic16
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-PIC16 specific non-free headers
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-Compiler
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+--I
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-<row>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-PREFIX/sdcc/non-free/lib/pic16
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-PIC16 specific non-free libraries
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+-Linker
+-\end_layout
+-
+-\end_inset
+-</cell>
+-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
+-\begin_inset Text
+-
+-\begin_layout Plain Layout
+--L
+-\end_layout
+-
+-\end_inset
+-</cell>
+-</row>
+-</lyxtabular>
+-
+-\end_inset
+-
+-
+ \end_layout
+
+ \begin_layout Subsection
+@@ -48249,66 +47045,9 @@ name "subsec:PIC16_Header-Files-and-Libraries"
+ Pic device specific header and c source files are automatically generated
+ from MPLAB include files, which are published by Microchip with a special
+ requirement that they are only to be used with authentic Microchip devices.
+- This requirement prevents to publish generated header and c source files
+- under the GPL compatible license, so they are located in the non-free directory
+- (see section
+-\begin_inset CommandInset ref
+-LatexCommand ref
+-reference "subsec:Search-Paths"
+-
+-\end_inset
+-
+-).
+- In order to include them in include and library search paths, the
+-\series bold
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\begin_inset Index idx
+-status collapsed
+-
+-\begin_layout Plain Layout
+--
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-/
+-\end_layout
+-
+-\end_inset
+-
+--use-non-free
+-\end_layout
+-
+-\end_inset
+-
+-
+-\series default
+- command line option should be defined.
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-NOTE: the compiled code, which use non-free pic device specific libraries,
+- is not GPL compatible!
++ As this restriction is incompatible with the goal of software freedom,
++ header files and libraries generated from these files are not included
++ in the SDCC package distributed with Guix.
+ \end_layout
+
+ \begin_layout Subsection
+@@ -48554,195 +47293,6 @@ vfprintf.c
+ should also work, but is untested.
+ \end_layout
+
+-\begin_layout Subsection
+-Adding New Devices to the Port
+-\end_layout
+-
+-\begin_layout Standard
+-Adding support for a new 16
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-,
+-\end_layout
+-
+-\end_inset
+-
+-bit PIC MCU requires the following steps:
+-\end_layout
+-
+-\begin_layout Enumerate
+-Create picDEVICE.c and picDEVICE.h from pDEVICE.inc using
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\family typewriter
+-perl /path/to/sdcc/support/scripts/inc2h-pic16.pl
+-\backslash
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-/path/to/gputils/header/pDEVICE.inc
+-\end_layout
+-
+-\begin_layout Enumerate
+-
+-\family typewriter
+-mv picDEVICE.h /path/to/sdcc/device/non-free/include/pic16
+-\end_layout
+-
+-\begin_layout Enumerate
+-
+-\family typewriter
+-mv picDEVICE.c /path/to/sdcc/device/non-free/lib/pic16/libdev
+-\end_layout
+-
+-\begin_layout Enumerate
+-Either
+-\begin_inset Separator latexpar
+-\end_inset
+-
+-
+-\end_layout
+-
+-\begin_deeper
+-\begin_layout Enumerate
+-add the new device to
+-\family typewriter
+-/path/to/sdcc/device/lib/pic16/libio/*.ignore
+-\family default
+- to suppress building any of the I/O libraries for the new device
+-\begin_inset Foot
+-status collapsed
+-
+-\begin_layout Plain Layout
+-In fact, the
+-\family typewriter
+-.ignore
+-\family default
+- files are only used when auto-generating
+-\family typewriter
+-Makefile.am
+-\family default
+- using the
+-\family typewriter
+-.../libio/mkmk.sh
+-\family default
+- script.
+-\end_layout
+-
+-\end_inset
+-
+-, or
+-\end_layout
+-
+-\begin_layout Enumerate
+-add the device (family) to
+-\family typewriter
+-/path/to/sdcc/support/scripts/pic18fam-h-gen.pl
+-\family default
+- to assign I/O styles, run the
+-\family typewriter
+-pic18fam-h-gen.pl
+-\family default
+- script to generate
+-\family typewriter
+-pic18fam.h.gen
+-\family default
+-, replace your existing
+-\family typewriter
+-pic18fam.h
+-\family default
+- with the generated file, and (if required) implement new I/O styles in
+-
+-\family typewriter
+-/path/to/sdcc/device/include/pic16/{adc,i2c,usart}.h
+-\family default
+- and
+-\family typewriter
+-/path/to/sdcc/device/lib/pic16/libio/*/*.
+-\end_layout
+-
+-\end_deeper
+-\begin_layout Enumerate
+-Edit
+-\family typewriter
+-/path/to/sdcc/device/include/pic16/pic18fregs.h
+-\family default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-The file format is self-explanatory, just add
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\family typewriter
+-#elif defined(picDEVICE)
+-\begin_inset Newline newline
+-\end_inset
+-
+-#
+-\begin_inset ERT
+-status collapsed
+-
+-\begin_layout Plain Layout
+-
+-
+-\backslash
+-
+-\backslash
+-
+-\end_layout
+-
+-\end_inset
+-
+-include <picDEVICE.h>
+-\family default
+-
+-\begin_inset Newline newline
+-\end_inset
+-
+-at the right place (keep the file sorted, please).
+-\end_layout
+-
+-\begin_layout Enumerate
+-Edit
+-\family typewriter
+-/path/to/sdcc/device/include/pic16devices.txt
+-\begin_inset Newline newline
+-\end_inset
+-
+-
+-\family default
+-Copy and modify an existing entry or create a new one and insert it at the
+- correct place (keep the file sorted, please).
+-\end_layout
+-
+-\begin_layout Enumerate
+-
+-\family typewriter
+-( cd /path/to/sdcc/device/non-free/lib/pic16 && sh update.sh )
+-\end_layout
+-
+-\begin_layout Enumerate
+-Recompile the pic16 libraries as described in
+-\begin_inset CommandInset ref
+-LatexCommand ref
+-reference "subsec:pic16Libraries"
+-
+-\end_inset
+-
+- or just configure and build sdcc again from scratch (recommended).
+-\end_layout
+-
+ \begin_layout Subsection
+ Memory Models
+ \end_layout
+@@ -73525,6 +72075,12 @@ This document was initially written by Sandeep Dutta and updated by SDCC
+ developers.
+ \end_layout
+
++\begin_layout Standard
++It has been modified from the original to reflect the removal of non-free
++ components and related functionality in the SDCC package distributed with
++ GNU Guix.
++\end_layout
++
+ \begin_layout Standard
+ All product names mentioned herein may be trademarks
+ \begin_inset Index idx
+diff --git a/sdcc.spec b/sdcc.spec
+index 9f1eeff..3686228 100644
+--- a/sdcc.spec
++++ b/sdcc.spec
+@@ -83,15 +83,15 @@ rm -rf $RPM_BUILD_ROOT
+ %files common
+ %defattr(-,root,root)
+ /usr/share/sdcc/include
+-/usr/share/sdcc/non-free/include
+ /usr/share/sdcc/lib
+-/usr/share/sdcc/non-free/lib
+
+ %files doc
+ %defattr(-,root,root)
+ %doc %{_defaultdocdir}
+
+ %changelog
++* Sat Oct 31 2020 - simon AT simonsouth.net
++- removed non-free include and lib directories
+ * Wed Feb 07 2018 - pkk AT spth.de
+ - version updated to 3.7.0
+ * Sun May 29 2016 - sourceforge.brock AT dse.nl
+diff --git a/sdcc_vc.h.in b/sdcc_vc.h.in
+index 06d8cca..736c325 100644
+--- a/sdcc_vc.h.in
++++ b/sdcc_vc.h.in
+@@ -23,8 +23,6 @@
+
+ #define INCLUDE_DIR_SUFFIX "\\include"
+ #define LIB_DIR_SUFFIX "\\lib"
+-#define NON_FREE_INCLUDE_DIR_SUFFIX "\\non-free\\include"
+-#define NON_FREE_LIB_DIR_SUFFIX "\\non-free\\lib"
+
+ #define BIN2DATA_DIR "\\.."
+ #define PREFIX2BIN_DIR "\\bin"
+diff --git a/sdccconf_in.h b/sdccconf_in.h
+index 29619bd..dadf310 100644
+--- a/sdccconf_in.h
++++ b/sdccconf_in.h
+@@ -106,12 +106,6 @@
+ /* XXX */
+ #undef LIB_DIR_SUFFIX
+
+-/* XXX */
+-#undef NON_FREE_INCLUDE_DIR_SUFFIX
+-
+-/* XXX */
+-#undef NON_FREE_LIB_DIR_SUFFIX
+-
+ /* Define to 1 to disable the AVR port */
+ #undef OPT_DISABLE_AVR
+
+@@ -133,9 +127,6 @@
+ /* XXX */
+ #undef OPT_DISABLE_MCS51
+
+-/* XXX */
+-#undef OPT_DISABLE_NON_FREE
+-
+ /* XXX */
+ #undef OPT_DISABLE_PACKIHX
+
+diff --git a/src/SDCCglobl.h b/src/SDCCglobl.h
+index 2ce040b..d72d3b8 100644
+--- a/src/SDCCglobl.h
++++ b/src/SDCCglobl.h
+@@ -315,7 +315,6 @@ struct options
+ int no_pack_iram; /* MCS51/DS390 - Deprecated: Tells the linker not to pack variables in internal ram */
+ int acall_ajmp; /* MCS51 - Use acall/ajmp instead of lcall/ljmp */
+ int no_ret_without_call; /* MCS51 - Do not use ret independent of acall/lcall */
+- int use_non_free; /* Search / include non-free licensed libraries and header files */
+ /* starting address of the segments */
+ int xstack_loc; /* initial location of external stack */
+ int stack_loc; /* initial value of internal stack pointer */
+diff --git a/src/SDCCmain.c b/src/SDCCmain.c
+index a523164..a279d3d 100644
+--- a/src/SDCCmain.c
++++ b/src/SDCCmain.c
+@@ -144,7 +144,6 @@ char buffer[PATH_MAX * 2];
+ #define OPTION_DATA_SEG "--dataseg"
+ #define OPTION_DOLLARS_IN_IDENT "--fdollars-in-identifiers"
+ #define OPTION_SIGNED_CHAR "--fsigned-char"
+-#define OPTION_USE_NON_FREE "--use-non-free"
+ #define OPTION_PEEP_RETURN "--peep-return"
+ #define OPTION_NO_PEEP_RETURN "--no-peep-return"
+ #define OPTION_NO_OPTSDCC_IN_ASM "--no-optsdcc-in-asm"
+@@ -192,7 +191,6 @@ static const OPTION optionsTable[] = {
+ {0, OPTION_STD_SDCC11, NULL, "Use ISO C11 standard with SDCC extensions (default)"},
+ {0, OPTION_DOLLARS_IN_IDENT, &options.dollars_in_ident, "Permit '$' as an identifier character"},
+ {0, OPTION_SIGNED_CHAR, &options.signed_char, "Make \"char\" signed by default"},
+- {0, OPTION_USE_NON_FREE, &options.use_non_free, "Search / include non-free licensed libraries and header files"},
+
+ {0, NULL, NULL, "Code generation options"},
+ {'m', NULL, NULL, "Set the port to use e.g. -mz80."},
+@@ -2045,10 +2043,6 @@ preProcess (char **envp)
+ else
+ addSet (&preArgvSet, Safe_strdup ("-D__SDCC_CHAR_UNSIGNED"));
+
+- /* set the macro for non-free */
+- if (options.use_non_free)
+- addSet (&preArgvSet, Safe_strdup ("-D__SDCC_USE_NON_FREE"));
+-
+ /* set the macro for large model */
+ switch (options.model)
+ {
+@@ -2262,12 +2256,6 @@ setIncludePath (void)
+ * 6. - $SDCC_HOME/PREFIX2DATA_DIR/INCLUDE_DIR_SUFFIX
+ * 7. - path(argv[0])/BIN2DATA_DIR/INCLUDE_DIR_SUFFIX
+ * 8. - DATADIR/INCLUDE_DIR_SUFFIX (only on *nix)
+- * 9. - $SDCC_HOME/PREFIX2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX/target
+- * 10. - path(argv[0])/BIN2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX/target
+- * 11. - DATADIR/NON_FREE_INCLUDE_DIR_SUFFIX/target (only on *nix)
+- * 12. - $SDCC_HOME/PREFIX2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX
+- * 13. - path(argv[0])/BIN2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX
+- * 14. - DATADIR/NON_FREE_INCLUDE_DIR_SUFFIX (only on *nix)
+ */
+
+ if (!options.nostdinc)
+@@ -2280,17 +2268,6 @@ setIncludePath (void)
+ includeDirsSet = processStrSet (includeDirsSet, NULL, port->target, NULL);
+ mergeSets (&includeDirsSet, tempSet);
+
+- if (options.use_non_free)
+- {
+- set *tempSet1;
+-
+- tempSet = processStrSet (dataDirsSet, NULL, NON_FREE_INCLUDE_DIR_SUFFIX, NULL);
+- tempSet1 = processStrSet (tempSet, NULL, DIR_SEPARATOR_STRING, NULL);
+- tempSet1 = processStrSet (tempSet1, NULL, port->target, NULL);
+- mergeSets (&tempSet1, tempSet);
+- mergeSets (&includeDirsSet, tempSet1);
+- }
+-
+ if ((p = getenv (SDCC_INCLUDE_NAME)) != NULL)
+ {
+ struct dbuf_s dbuf;
+@@ -2315,9 +2292,6 @@ setLibPath (void)
+ * 3. - $SDCC_HOME/PREFIX2DATA_DIR/LIB_DIR_SUFFIX/<model>
+ * 4. - path(argv[0])/BIN2DATA_DIR/LIB_DIR_SUFFIX/<model>
+ * 5. - DATADIR/LIB_DIR_SUFFIX/<model> (only on *nix)
+- * 6. - $SDCC_HOME/PREFIX2DATA_DIR/NON_FREE_LIB_DIR_SUFFIX/<model>
+- * 7. - path(argv[0])/BIN2DATA_DIR/NON_FREE_LIB_DIR_SUFFIX/<model>
+- * 8. - DATADIR/NON_FREE_LIB_DIR_SUFFIX/<model> (only on *nix)
+ */
+
+ if (!options.nostdlib)
+@@ -2334,13 +2308,6 @@ setLibPath (void)
+ dbuf_makePath (&dbuf, LIB_DIR_SUFFIX, port->general.get_model ? port->general.get_model () : targetname);
+ libDirsSet = processStrSet (dataDirsSet, NULL, dbuf_c_str (&dbuf), NULL);
+
+- if (options.use_non_free)
+- {
+- dbuf_set_length (&dbuf, 0);
+- dbuf_makePath (&dbuf, NON_FREE_LIB_DIR_SUFFIX, port->general.get_model ? port->general.get_model () : targetname);
+- mergeSets (&libDirsSet, processStrSet (dataDirsSet, NULL, dbuf_c_str (&dbuf), NULL));
+- }
+-
+ if ((p = getenv (SDCC_LIB_NAME)) != NULL)
+ {
+ addSetHead (&libDirsSet, Safe_strdup (p));
+diff --git a/src/pic14/main.c b/src/pic14/main.c
+index 3d868cc..e8ecaaf 100644
+--- a/src/pic14/main.c
++++ b/src/pic14/main.c
+@@ -42,7 +42,6 @@ static OPTION _pic14_poptions[] =
+ { 0, "--no-pcode-opt", &pic14_options.disable_df, "disable (slightly faulty) optimization on pCode" },
+ { 0, OPTION_STACK_SIZE, &options.stack_size, "sets the size if the argument passing stack (default: 16, minimum: 4)", CLAT_INTEGER },
+ { 0, "--no-extended-instructions", &pic14_options.no_ext_instr, "forbid use of the extended instruction set (e.g., ADDFSR)" },
+- { 0, "--no-warn-non-free", &pic14_options.no_warn_non_free, "suppress warning on absent --use-non-free option" },
+ { 0, NULL, NULL, NULL }
+ };
+
+@@ -153,16 +152,6 @@ _pic14_finaliseOptions (void)
+ addSet (&preArgvSet, dbuf_detach_c_str (&dbuf));
+ }
+
+- if (!pic14_options.no_warn_non_free && !options.use_non_free)
+- {
+- fprintf(stderr,
+- "WARNING: Command line option --use-non-free not present.\n"
+- " When compiling for PIC14/PIC16, please provide --use-non-free\n"
+- " to get access to device headers and libraries.\n"
+- " If you do not use these, you may provide --no-warn-non-free\n"
+- " to suppress this warning (not recommended).\n");
+- } // if
+-
+ }
+
+ static void
+diff --git a/src/pic14/main.h b/src/pic14/main.h
+index 4275b65..0dc8c86 100644
+--- a/src/pic14/main.h
++++ b/src/pic14/main.h
+@@ -5,7 +5,6 @@ typedef struct {
+ unsigned int isLibrarySource:1;
+ int disable_df;
+ int no_ext_instr;
+- int no_warn_non_free;
+ } pic14_options_t;
+
+ extern pic14_options_t pic14_options;
+diff --git a/src/pic16/device.h b/src/pic16/device.h
+index cdfbba0..5877f09 100644
+--- a/src/pic16/device.h
++++ b/src/pic16/device.h
+@@ -99,7 +99,6 @@ typedef struct {
+ int gstack;
+ unsigned int debgen;
+ int xinst;
+- int no_warn_non_free;
+ } pic16_options_t;
+
+ extern pic16_options_t pic16_options;
+diff --git a/src/pic16/main.c b/src/pic16/main.c
+index 6f194c1..7f7b2f0 100644
+--- a/src/pic16/main.c
++++ b/src/pic16/main.c
+@@ -655,7 +655,6 @@ OPTION pic16_optionsTable[]= {
+ { 0, "--pcode-verbose", &pic16_pcode_verbose, "dump pcode related info"},
+ { 0, "--calltree", &pic16_options.dumpcalltree, "dump call tree in .calltree file"},
+ { 0, "--gstack", &pic16_options.gstack, "trace stack pointer push/pop to overflow"},
+- { 0, "--no-warn-non-free", &pic16_options.no_warn_non_free, "suppress warning on absent --use-non-free option" },
+ { 0, NULL, NULL, NULL}
+ };
+
+@@ -940,16 +939,6 @@ _pic16_finaliseOptions (void)
+ addSet (&asmOptionsSet, Safe_strdup ("-D__STACK_MODEL_SMALL"));
+ }
+
+- if (!pic16_options.no_warn_non_free && !options.use_non_free)
+- {
+- fprintf(stderr,
+- "WARNING: Command line option --use-non-free not present.\n"
+- " When compiling for PIC14/PIC16, please provide --use-non-free\n"
+- " to get access to device headers and libraries.\n"
+- " If you do not use these, you may provide --no-warn-non-free\n"
+- " to suppress this warning (not recommended).\n");
+- } // if
+-
+ dbuf_destroy (&dbuf);
+ }
+
+@@ -979,7 +968,6 @@ _pic16_setDefaultOptions (void)
+ pic16_options.ip_stack = 1; /* set to 1 to enable ipop/ipush for stack */
+ pic16_options.gstack = 0;
+ pic16_options.debgen = 0;
+- pic16_options.no_warn_non_free = 0;
+ }
+
+ static const char *
+diff --git a/src/regression/Makefile b/src/regression/Makefile
+index 26a7ff3..4547295 100644
+--- a/src/regression/Makefile
++++ b/src/regression/Makefile
+@@ -65,10 +65,10 @@ TARGETPIC = 18f452
+ CFLAGS = -mpic16 -p$(TARGETPIC)
+ DIR = pic16
+ endif
+-CFLAGS += -Wl,-q --no-warn-non-free
++CFLAGS += -Wl,-q
+ CFLAGS += -Wl,--map
+-CFLAGS += -I $(SDCC_SRC)/device/include/$(DIR) -I $(SDCC_SRC)/device/non-free/include/$(DIR)
+-CFLAGS += -L $(SDCC_BIN)/device/lib/build/$(DIR) -L $(SDCC_BIN)/device/non-free/lib/build/$(DIR)
++CFLAGS += -I $(SDCC_SRC)/device/include/$(DIR)
++CFLAGS += -L $(SDCC_BIN)/device/lib/build/$(DIR)
+ #CFLAGS += --no-pcode-opt
+ #CFLAGS += -V
+
+diff --git a/support/regression/ports/pic14/spec.mk b/support/regression/ports/pic14/spec.mk
+index a3dcc05..bef1c45 100644
+--- a/support/regression/ports/pic14/spec.mk
++++ b/support/regression/ports/pic14/spec.mk
+@@ -12,13 +12,9 @@ endif
+
+ ifndef SDCC_BIN_PATH
+ ifndef CROSSCOMPILING
+- SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic14 -I$(top_srcdir)/device/non-free/include/pic14 -I$(top_srcdir)
+- LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic14 -L$(top_builddir)/device/non-free/lib/build/pic14
+- else
+- SDCCFLAGS += --use-non-free
++ SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic14 -I$(top_srcdir)
++ LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic14
+ endif
+-else
+- SDCCFLAGS += --use-non-free
+ endif
+
+ ifdef CROSSCOMPILING
+@@ -26,7 +22,6 @@ ifdef CROSSCOMPILING
+ endif
+
+ SDCCFLAGS += -mpic14 -pp16f877 --less-pedantic -Wl,-q
+-SDCCFLAGS += --no-warn-non-free
+ LINKFLAGS += libsdcc.lib libm.lib
+
+ OBJEXT = .o
+diff --git a/support/regression/ports/pic16/spec.mk b/support/regression/ports/pic16/spec.mk
+index 1f94cde..f1ac726 100644
+--- a/support/regression/ports/pic16/spec.mk
++++ b/support/regression/ports/pic16/spec.mk
+@@ -12,13 +12,9 @@ endif
+
+ ifndef SDCC_BIN_PATH
+ ifndef CROSSCOMPILING
+- SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic16 -I$(top_srcdir)/device/non-free/include/pic16 -I$(top_srcdir)
+- LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic16 -L$(top_builddir)/device/non-free/lib/build/pic16
+- else
+- SDCCFLAGS += --use-non-free
++ SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic16 -I$(top_srcdir)
++ LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic16
+ endif
+-else
+- SDCCFLAGS += --use-non-free
+ endif
+
+ ifdef CROSSCOMPILING
+@@ -27,7 +23,6 @@ endif
+
+ SDCCFLAGS += -mpic16 -pp18f452 --less-pedantic -Wl,-q
+ SDCCFLAGS += --no-peep
+-SDCCFLAGS += --no-warn-non-free
+ LINKFLAGS += libsdcc.lib libc18f.lib libm18f.lib
+
+ OBJEXT = .o
+diff --git a/support/scripts/cinc2h.pl b/support/scripts/cinc2h.pl
+index 8558135..30d72b7 100755
+--- a/support/scripts/cinc2h.pl
++++ b/support/scripts/cinc2h.pl
+@@ -39,58 +39,10 @@
+
+ -------------------------------------------------
+
+- Steps to add a new target device to SDCC/PIC16:
+- (Following Raphael Neider <rneider AT web.de>)
+-
+- 1. Create the picDEVICE.c and picDEVICE.h from pDEVICE.inc using
+- ./cinc2h.pl -p 18f4520 -cb -cp -gp "path/to/gputils_source" -o "path/to/output"
+-
+- 2. mv picDEVICE.h $SDCC/device/non-free/include/pic16
+- 3. mv picDEVICE.c $SDCC/device/non-free/lib/pic16/libdev
+- 4. either
+-
+- (a) adjust $SDCC/device/lib/pic16/libio/*.ignore
+- if the device does not support ADC, I2C, or USART
+- --- OR ---
+- (b) adjust
+- * SDCC/scripts/pic18fam-h-gen.pl
+- * SDCC/device/include/pic16/adc.h (if required)
+- * SDCC/device/include/pic16/usart.h (if required)
+- * SDCC/device/lib/pic16/libio/*/* (if required)
+- to add the new device to the appropriate I/O style
+- and implement new styles (if required).
+-
+- Having modified pic18fam-h-gen.pl, you need to run the
+- script to generate pic18fam.h.gen, which in turn must
+- then replace your .../include/pic16/pic18fam.h to take
+- effect; see pic18fam-h-gen.pl for usage information.
+- 6. edit $SDCC/device/include/pic16/pic18fregs.h
+- 7. edit $SDCC/device/include/pic16/pic16devices.txt
+- 8. run cd $SDCC/device/non-free/lib/pic16 && sh update.sh
+- to regenerate .../libdev/Makefile.am and processors.ac
+-
+- The file format of steps 6 and 7 is self explanatory, in most
+- if not all cases you can copy and paste another device's records
+- and adjust them to the newly added device.
+-
+- -------------------------------------------------
+-
+- Steps to add a new target device to SDCC/PIC14:
+-
+- 1. Create the picDEVICE.c and picDEVICE.h from pDEVICE.inc using
+- ./cinc2h.pl -p 16f1503 -cb -cp -gp "path/to/gputils_source" -o "path/to/output"
+-
+- 2. mv picDEVICE.h $SDCC/device/non-free/include/pic14
+- 3. mv picDEVICE.c $SDCC/device/non-free/lib/pic14/libdev
+- 4. add DEVICE to $SDCC/device/non-free/lib/pic14/libdev/devices.txt
+- (The names of the enhanced devices the "# enhanced cores" line
+- after follow.)
+-
+- 5. edit $SDCC/device/include/pic14/pic14devices.txt
+-
+- The file format of step 5 is self explanatory, in most if not all
+- cases you can copy and paste another device's records and adjust
+- them to the newly added device.
++ For its inclusion in the SDCC package distributed with GNU Guix
++ (https://guix.gnu.org/) this file has been modified from the
++ original to remove instructions on its use with non-free software
++ and to update the output of the print_license subroutine below.
+
+ $Id: cinc2h.pl 9450 2016-01-09 16:47:43Z molnarkaroly $
+ =cut
+@@ -1345,10 +1297,9 @@ sub print_license($)
+ * Microchip header (.inc) and linker script (.lkr) files Microchip
+ * requires that "The header files should state that they are only to be
+ * used with authentic Microchip devices" which makes them incompatible
+- * with the GPL. Pic device libraries and header files are located at
+- * non-free/lib and non-free/include directories respectively.
+- * Sdcc should be run with the --use-non-free command line option in
+- * order to include non-free header files and libraries.
++ * with the GPL. These non-free libraries and header files (and the
++ * build and run-time options that enable their use) are omitted in the
++ * SDCC package distributed with GNU Guix.
+ *
+ * See http://sdcc.sourceforge.net/ for the latest information on sdcc.
+ */
+diff --git a/support/scripts/pic14-header-parser.pl b/support/scripts/pic14-header-parser.pl
+index 4413c25..57c6076 100755
+--- a/support/scripts/pic14-header-parser.pl
++++ b/support/scripts/pic14-header-parser.pl
+@@ -63,9 +63,7 @@ use constant P_SHOW_ONLY_NAME => 3;
+
+ my @default_paths =
+ (
+- '/usr/share/sdcc/non-free/include',
+ '/usr/share/sdcc/include',
+- '/usr/local/share/sdcc/non-free/include',
+ '/usr/local/share/sdcc/include'
+ );
+
+diff --git a/support/scripts/pic16-header-parser.pl b/support/scripts/pic16-header-parser.pl
+index 6db417a..4b35225 100755
+--- a/support/scripts/pic16-header-parser.pl
++++ b/support/scripts/pic16-header-parser.pl
+@@ -62,9 +62,7 @@ use constant P_SHOW_ONLY_NAME => 3;
+
+ my @default_paths =
+ (
+- '/usr/share/sdcc/non-free/include',
+ '/usr/share/sdcc/include',
+- '/usr/local/share/sdcc/non-free/include',
+ '/usr/local/share/sdcc/include'
+ );
+
+diff --git a/support/scripts/sdcc.nsi b/support/scripts/sdcc.nsi
+index 5086181..9527244 100644
+--- a/support/scripts/sdcc.nsi
++++ b/support/scripts/sdcc.nsi
+@@ -477,11 +477,6 @@ ${Section} "SDCC include files" SEC05
+
+ SetOutPath "$INSTDIR\include"
+ File "${DEV_ROOT}\include\*.h"
+-
+- SetOutPath "$INSTDIR\non-free\include\pic14"
+- File "${DEV_ROOT}\non-free\include\pic14\*.h"
+- SetOutPath "$INSTDIR\non-free\include\pic16"
+- File "${DEV_ROOT}\non-free\include\pic16\*.h"
+ ${SectionEnd}
+
+ ${Section} "SDCC DS390 library" SEC06
+@@ -579,18 +574,12 @@ ${Section} "SDCC PIC16 library" SEC21
+ SetOutPath "$INSTDIR\lib\pic16"
+ File "${DEV_ROOT}\lib\pic16\*.o"
+ File "${DEV_ROOT}\lib\pic16\*.lib"
+-
+- SetOutPath "$INSTDIR\non-free\lib\pic16"
+- File "${DEV_ROOT}\non-free\lib\pic16\*.lib"
+ ${SectionEnd}
+
+ ${Section} "SDCC PIC14 library" SEC22
+ SectionIn 1 2
+ SetOutPath "$INSTDIR\lib\pic14"
+ File "${DEV_ROOT}\lib\pic14\*.lib"
+-
+- SetOutPath "$INSTDIR\non-free\lib\pic14"
+- File "${DEV_ROOT}\non-free\lib\pic14\*.lib"
+ ${SectionEnd}
+
+ ${Section} "SDCC STM8 library" SEC23
+@@ -691,10 +680,6 @@ ${Section} "SDCC library sources" SEC25
+ File "${DEV_ROOT}\lib\src\pic14\libsdcc\enhanced\*.inc"
+ # File "${DEV_ROOT}\lib\src\pic14\libsdcc\Makefile"
+
+- SetOutPath "$INSTDIR\non-free\lib\src\pic14\libdev"
+- File "${DEV_ROOT}\non-free\lib\src\pic14\libdev\*.c"
+-# File "${DEV_ROOT}\non-free\lib\src\pic14\libdev\Makefile"
+-
+ SetOutPath "$INSTDIR\lib\src\pic14\libm"
+ File "${DEV_ROOT}\lib\src\pic14\libm\*.c"
+
+@@ -746,10 +731,6 @@ ${Section} "SDCC library sources" SEC25
+ File "${DEV_ROOT}\lib\src\pic16\libc\utils\*.S"
+ # File "${DEV_ROOT}\lib\src\pic16\libc\utils\Makefile"
+
+- SetOutPath "$INSTDIR\non-free\lib\src\pic16\libdev"
+- File "${DEV_ROOT}\non-free\lib\src\pic16\libdev\*.c"
+-# File "${DEV_ROOT}\non-free\lib\src\pic16\libdev\Makefile"
+-
+ SetOutPath "$INSTDIR\lib\src\pic16\libio"
+ File "${DEV_ROOT}\lib\src\pic16\libio\*.ignore"
+ # File "${DEV_ROOT}\lib\src\pic16\libio\Makefile"
+@@ -1003,13 +984,9 @@ ${Section} Uninstall SECUNINSTALL
+
+ Delete "$INSTDIR\lib\pic14\*.lib"
+
+- Delete "$INSTDIR\non-free\lib\pic14\*.lib"
+-
+ Delete "$INSTDIR\lib\pic16\*.o"
+ Delete "$INSTDIR\lib\pic16\*.lib"
+
+- Delete "$INSTDIR\non-free\lib\pic16\*.lib"
+-
+ Delete "$INSTDIR\lib\hc08\*.lib"
+
+ Delete "$INSTDIR\lib\s08\*.lib"
+@@ -1059,9 +1036,7 @@ ${Section} Uninstall SECUNINSTALL
+ Delete "$INSTDIR\include\pic14\*.h"
+ Delete "$INSTDIR\include\pic14\*.txt"
+ Delete "$INSTDIR\include\pic14\*.inc"
+- Delete "$INSTDIR\non-free\include\pic14\*.h"
+ Delete "$INSTDIR\include\pic16\*.h"
+- Delete "$INSTDIR\non-free\include\pic16\*.h"
+ Delete "$INSTDIR\include\pic16\*.txt"
+ Delete "$INSTDIR\include\mcs51\*.h"
+ Delete "$INSTDIR\include\hc08\*.h"
+@@ -1119,9 +1094,7 @@ ${Section} Uninstall SECUNINSTALL
+ Delete "$INSTDIR\uninstall.exe"
+
+ RMDir /r "$INSTDIR\lib\src\pic14"
+- RMDir /r "$INSTDIR\non-free\lib\src\pic14"
+ RMDir /r "$INSTDIR\lib\src\pic16"
+- RMDir /r "$INSTDIR\non-free\lib\src\pic16"
+ RMDir "$INSTDIR\lib\src\small"
+ RMDir "$INSTDIR\lib\src\medium"
+ RMDir "$INSTDIR\lib\src\large"
+@@ -1138,12 +1111,9 @@ ${Section} Uninstall SECUNINSTALL
+ RMDir "$INSTDIR\lib\src\s08"
+ RMDir "$INSTDIR\lib\src\stm8"
+ RMDir "$INSTDIR\lib\src"
+- RMDir "$INSTDIR\non-free\lib\src"
+
+ RMDir "$INSTDIR\lib\pic14"
+- RMDir "$INSTDIR\non-free\lib\pic14"
+ RMDir "$INSTDIR\lib\pic16"
+- RMDir "$INSTDIR\non-free\lib\pic16"
+ RMDir "$INSTDIR\lib\z80"
+ RMDir "$INSTDIR\lib\z180"
+ RMDir "$INSTDIR\lib\r2k"
+@@ -1160,16 +1130,13 @@ ${Section} Uninstall SECUNINSTALL
+ RMDir "$INSTDIR\lib\s08"
+ RMDir "$INSTDIR\lib\stm8"
+ RMDir "$INSTDIR\lib"
+- RMDir "$INSTDIR\non-free\lib"
+
+ RMDir "$INSTDIR\include\asm\z80"
+ RMDir "$INSTDIR\include\asm\z180"
+ RMDir "$INSTDIR\include\asm\r2k"
+ RMDir "$INSTDIR\include\asm\r3ka"
+ RMDir "$INSTDIR\include\asm\pic16"
+- RMDir "$INSTDIR\non-free\include\asm\pic16"
+ RMDir "$INSTDIR\include\asm\pic14"
+- RMDir "$INSTDIR\non-free\include\asm\pic14"
+ RMDir "$INSTDIR\include\asm\mcs51"
+ RMDir "$INSTDIR\include\asm\gbz80"
+ RMDir "$INSTDIR\include\asm\ds390"
+@@ -1178,17 +1145,12 @@ ${Section} Uninstall SECUNINSTALL
+ RMDir "$INSTDIR\include\asm"
+ RMDir "$INSTDIR\include\z180"
+ RMDir "$INSTDIR\include\pic14"
+- RMDir "$INSTDIR\non-free\include\pic14"
+ RMDir "$INSTDIR\include\pic16"
+- RMDir "$INSTDIR\non-free\include\pic16"
+ RMDir "$INSTDIR\include\mcs51"
+ RMDir "$INSTDIR\include\hc08"
+ RMDir "$INSTDIR\include\ds400"
+ RMDir "$INSTDIR\include\ds390"
+ RMDir "$INSTDIR\include"
+- RMDir "$INSTDIR\non-free\include"
+-
+- RMDir "$INSTDIR\non-free"
+
+ !ifdef FULL_DOC
+ RMDir /r "$INSTDIR\doc"
+diff --git a/support/scripts/sdcc_cygwin_mingw32 b/support/scripts/sdcc_cygwin_mingw32
+index 5575663..2588d4f 100755
+--- a/support/scripts/sdcc_cygwin_mingw32
++++ b/support/scripts/sdcc_cygwin_mingw32
+@@ -6,9 +6,7 @@
+ --datarootdir="/sdcc" \
+ docdir="\${datarootdir}/doc" \
+ include_dir_suffix="include" \
+-non_free_include_dir_suffix="non-free/include" \
+ lib_dir_suffix="lib" \
+-non_free_lib_dir_suffix="non-free/lib" \
+ sdccconf_h_dir_separator="\\\\" \
+ CC="gcc -mno-cygwin" \
+ CXX="g++ -mno-cygwin"
+diff --git a/support/scripts/sdcc_mingw32 b/support/scripts/sdcc_mingw32
+index 96e3280..050761e 100755
+--- a/support/scripts/sdcc_mingw32
++++ b/support/scripts/sdcc_mingw32
+@@ -19,9 +19,7 @@ export SDCCCONFIGUREFLAGS=" \
+ --datarootdir=/sdcc \
+ docdir=\${datarootdir}/doc \
+ include_dir_suffix=include \
+-non_free_include_dir_suffix=non-free/include \
+ lib_dir_suffix=lib \
+-non_free_lib_dir_suffix=non-free/lib \
+ sdccconf_h_dir_separator=\\\\ \
+ --disable-device-lib \
+ --host=i586-mingw32msvc --build=unknown-unknown-linux-gnu"
diff --git a/gnu/packages/patches/yggdrasil-extra-config.patch b/gnu/packages/patches/yggdrasil-extra-config.patch
new file mode 100644
index 0000000000..c21ca29a84
--- /dev/null
+++ b/gnu/packages/patches/yggdrasil-extra-config.patch
@@ -0,0 +1,86 @@
+diff --git a/cmd/yggdrasil/main.go b/cmd/yggdrasil/main.go
+index 813e950..08d35cc 100644
+--- a/cmd/yggdrasil/main.go
++++ b/cmd/yggdrasil/main.go
+@@ -40,11 +40,12 @@ type node struct {
+ admin module.Module // admin.AdminSocket
+ }
+
+-func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config.NodeConfig {
++func readConfig(useconf *bool, useconffile *string, extraconffile *string, normaliseconf *bool) *config.NodeConfig {
+ // Use a configuration file. If -useconf, the configuration will be read
+ // from stdin. If -useconffile, the configuration will be read from the
+ // filesystem.
+ var conf []byte
++ var extraconf []byte
+ var err error
+ if *useconffile != "" {
+ // Read the file from the filesystem
+@@ -56,6 +57,21 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config
+ if err != nil {
+ panic(err)
+ }
++ if *extraconffile != "" {
++ extraconf, err = ioutil.ReadFile(*extraconffile);
++ }
++ if err != nil {
++ panic(err)
++ }
++ // Generate a new configuration - this gives us a set of sane defaults -
++ // then parse the configuration we loaded above on top of it. The effect
++ // of this is that any configuration item that is missing from the provided
++ // configuration will use a sane default.
++ cfg := config.GenerateConfig()
++ var confs [2][]byte
++ confs[0]=conf
++ confs[1]=extraconf
++ for _, conf := range confs { if len(conf)>0 {
+ // If there's a byte order mark - which Windows 10 is now incredibly fond of
+ // throwing everywhere when it's converting things into UTF-16 for the hell
+ // of it - remove it and decode back down into UTF-8. This is necessary
+@@ -69,11 +85,6 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config
+ panic(err)
+ }
+ }
+- // Generate a new configuration - this gives us a set of sane defaults -
+- // then parse the configuration we loaded above on top of it. The effect
+- // of this is that any configuration item that is missing from the provided
+- // configuration will use a sane default.
+- cfg := config.GenerateConfig()
+ var dat map[string]interface{}
+ if err := hjson.Unmarshal(conf, &dat); err != nil {
+ panic(err)
+@@ -112,6 +123,7 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config
+ if err = mapstructure.Decode(dat, &cfg); err != nil {
+ panic(err)
+ }
++ }}
+ return cfg
+ }
+
+@@ -164,6 +176,7 @@ func main() {
+ genconf := flag.Bool("genconf", false, "print a new config to stdout")
+ useconf := flag.Bool("useconf", false, "read HJSON/JSON config from stdin")
+ useconffile := flag.String("useconffile", "", "read HJSON/JSON config from specified file path")
++ extraconffile := flag.String("extraconffile", "", "extra (usually private) HJSON/JSON config from specified file path")
+ normaliseconf := flag.Bool("normaliseconf", false, "use in combination with either -useconf or -useconffile, outputs your configuration normalised")
+ confjson := flag.Bool("json", false, "print configuration from -genconf or -normaliseconf as JSON instead of HJSON")
+ autoconf := flag.Bool("autoconf", false, "automatic mode (dynamic IP, peer with IPv6 neighbors)")
+@@ -187,7 +200,7 @@ func main() {
+ cfg = config.GenerateConfig()
+ case *useconffile != "" || *useconf:
+ // Read the configuration from either stdin or from the filesystem
+- cfg = readConfig(useconf, useconffile, normaliseconf)
++ cfg = readConfig(useconf, useconffile, extraconffile, normaliseconf)
+ // If the -normaliseconf option was specified then remarshal the above
+ // configuration and print it back to stdout. This lets the user update
+ // their configuration file with newly mapped names (like above) or to
+@@ -332,7 +345,7 @@ func main() {
+ goto exit
+ case _ = <-r:
+ if *useconffile != "" {
+- cfg = readConfig(useconf, useconffile, normaliseconf)
++ cfg = readConfig(useconf, useconffile, extraconffile, normaliseconf)
+ logger.Infoln("Reloading configuration from", *useconffile)
+ n.core.UpdateConfig(cfg)
+ n.tuntap.UpdateConfig(cfg)
diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm
index 1442d3e43b..2a4be26f8c 100644
--- a/gnu/packages/pdf.scm
+++ b/gnu/packages/pdf.scm
@@ -68,7 +68,6 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
- #:use-module (gnu packages imagemagick)
#:use-module (gnu packages javascript)
#:use-module (gnu packages lesstif)
#:use-module (gnu packages libffi)
@@ -1045,7 +1044,6 @@ the PDF pages.")
("libudev" ,eudev)
("libwebp" ,libwebp)
("libdrm" ,libdrm)
- ("imagemagick" ,imagemagick)
("giflib" ,giflib)
("glib" ,glib)
("cairo-xcb" ,cairo-xcb)
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index ad84d63785..d49ca005ba 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -269,15 +269,14 @@ more.")
(define-public perl-algorithm-c3
(package
(name "perl-algorithm-c3")
- (version "0.10")
+ (version "0.11")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
"Algorithm-C3-" version ".tar.gz"))
(sha256
- (base32
- "01hlcaxndls86bl92rkd3fvf9pfa3inxqaimv88bxs95803kmkss"))))
+ (base32 "02ck52cf0yyk57354rd1rp5l0kbfwi1pvg2lh3jadvjxfrkq9x5a"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Algorithm-C3")
(synopsis "Module for merging hierarchies using the C3 algorithm")
@@ -1267,14 +1266,14 @@ different getters and setters.")
(define-public perl-class-c3
(package
(name "perl-class-c3")
- (version "0.34")
+ (version "0.35")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/"
"Class-C3-" version ".tar.gz"))
(sha256
- (base32 "1dcibc31v5jwmi6hsdzi7c5ag1sb4wp3kxkibc889qrdj7jm12sd"))))
+ (base32 "0gp3czp6y0jxx4448kz37f7gdxq4vw514bvc0l98rk4glvqkq1c4"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-algorithm-c3" ,perl-algorithm-c3)))
@@ -1693,15 +1692,14 @@ one.")
(define-public perl-clone-pp
(package
(name "perl-clone-pp")
- (version "1.07")
+ (version "1.08")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/Clone-PP-"
version ".tar.gz"))
(sha256
- (base32
- "15dkhqvih6rx9dnngfwwljcm9s8afb0nbyl2vdvhd8frnw4y31dz"))))
+ (base32 "0y7m25fksiavzg4xj4cm9zkz8rmnk4iqy7lm01m4nmyqlna3082p"))))
(build-system perl-build-system)
(home-page "https://metacpan.org/release/Clone-PP")
(synopsis "Recursively copy Perl datatypes")
@@ -5779,14 +5777,14 @@ one: logging, exceptions, and translations.")
(define-public perl-libintl-perl
(package
(name "perl-libintl-perl")
- (version "1.31")
+ (version "1.32")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/G/GU/GUIDO/"
"libintl-perl-" version ".tar.gz"))
(sha256
- (base32 "1afandrl44mq9c32r57xr489gkfswdgc97h8x86k98dz1byv3l6a"))))
+ (base32 "19gbbh9w3rl805mv6mg1q80fsrg610h098qhf7ycnkjnyac84440"))))
(build-system perl-build-system)
(arguments
`(#:phases
@@ -5899,15 +5897,14 @@ intersections, unions, unique elements, complements and many more.")
(define-public perl-list-moreutils
(package
(name "perl-list-moreutils")
- (version "0.428")
+ (version "0.430")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/"
"List-MoreUtils-" version ".tar.gz"))
(sha256
- (base32
- "1hkc8xkd27yzfkgaglzn77j4qjmilyva4gaz3pc64vpism2hjgki"))))
+ (base32 "09v5cipjf634a1176wy2wicibzz51lry0d0yim9rnbfl5j2ggcb3"))))
(build-system perl-build-system)
(arguments
`(#:phases
@@ -5934,15 +5931,14 @@ functionality on lists which is not going to go into List::Util.")
(define-public perl-list-moreutils-xs
(package
(name "perl-list-moreutils-xs")
- (version "0.428")
+ (version "0.430")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-XS-"
version ".tar.gz"))
(sha256
- (base32
- "0bfndmnkqaaf3gffprak143bzplxd69c368jxgr7rzlx88hyd7wx"))))
+ (base32 "0hmjkhmk1qlzbg8skq7g1zral07k1x0fk4w2fpcfr7hpgkaldkp8"))))
(build-system perl-build-system)
(native-inputs
`(("perl-config-autoconf" ,perl-config-autoconf)
@@ -7280,15 +7276,14 @@ building is done in @code{MooX::ConfigFromFile::Role}---using
(define-public perl-moox-file-configdir
(package
(name "perl-moox-file-configdir")
- (version "0.007")
+ (version "0.008")
(source
(origin
(method url-fetch)
(uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/"
"MooX-File-ConfigDir-" version ".tar.gz"))
(sha256
- (base32
- "074v150wrbddhy1n0qc8s80zrb71l3c4is968cnr06ac5l9kmshz"))))
+ (base32 "1b033injzk9d8clgip67ps5j5bpkrnag28q89ddwhrgqx12i3m7q"))))
(build-system perl-build-system)
(propagated-inputs
`(("perl-file-configdir" ,perl-file-configdir)
@@ -7304,17 +7299,16 @@ installing configuration files or for finding any piece of settings.")
(define-public perl-moox-handlesvia
(package
(name "perl-moox-handlesvia")
- (version "0.001008")
+ (version "0.001009")
(source
(origin
(method url-fetch)
(uri (string-append
- "mirror://cpan/authors/id/M/MA/MATTP/MooX-HandlesVia-"
+ "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-HandlesVia-"
version
".tar.gz"))
(sha256
- (base32
- "137yrjn2jmw4cj0fjdajnkjgqr5arnpq72kbm6w66xskncinz55h"))))
+ (base32 "04kcyflg49rclxa1nm035c05jpyvhdacjyy1wklbgv4li3im6qvi"))))
(build-system perl-build-system)
(native-inputs
`(("perl-moox-types-mooselike"
@@ -9837,7 +9831,7 @@ generally slower on larger files.")
(define-public perl-text-format
(package
(name "perl-text-format")
- (version "0.61")
+ (version "0.62")
(source (origin
(method url-fetch)
(uri (string-append
@@ -9845,7 +9839,7 @@ generally slower on larger files.")
version ".tar.gz"))
(sha256
(base32
- "0axfyiml3zwawwd127z8rl2lm53z6dlsflzmp80m3j0myn7kp2mv"))))
+ "0104z7jjv46kqh77rnx8kvmsbr5dy0s56xm01dckq4ly65br0hkx"))))
(build-system perl-build-system)
(native-inputs
`(("perl-module-build" ,perl-module-build)
diff --git a/gnu/packages/piet.scm b/gnu/packages/piet.scm
index 5282290456..a09c05d990 100644
--- a/gnu/packages/piet.scm
+++ b/gnu/packages/piet.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com>
+;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -19,11 +20,14 @@
(define-module (gnu packages piet)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix build-system gnu)
#:use-module (gnu packages gd)
#:use-module (gnu packages groff)
#:use-module (gnu packages image)
+ #:use-module (gnu packages netpbm)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages tcl))
(define-public npiet
@@ -55,16 +59,119 @@
(native-inputs `(("groff" ,groff)))
(synopsis "Piet interpreter")
(description
- "Npiet is an interpreter for the piet programming language. Instead of
-text, piet programs are pictures. Commands are determined based on changes in
+ "Npiet is an interpreter for the Piet programming language. Instead of
+text, Piet programs are pictures. Commands are determined based on changes in
color.
This package includes:
@enumerate
-@item npiet, a piet interpreter with debugging capabilities
-@item npiet-foogol, a program that builds a piet program from foogol, an
-algol-like language
-@item npietedit, an editor for the piet programming language
-@end enumerate")
+@item @command{npiet}, a Piet interpreter with debugging capabilities
+@item @command{npiet-foogol}, a program that builds a Piet program from Foogol,
+an Algol-like language
+@item @command{npietedit}, an editor for Piet programs.
+@end enumerate\n")
(home-page "https://www.bertnase.de/npiet/")
(license license:gpl2+)))
+
+(define-public piet-toolchain
+ (let ((commit "f002ff6a924a6bbace5eef94f3be06f425e7f590")
+ (revision "0"))
+ (package
+ (name "piet-toolchain")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/sl236/Piet")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0xwbhwizfbn080fmrgavaz3b939brycmlar3m5px9avl2b68c816"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove a bundled fork of Marc Majcher's Piet interpreter.
+ (delete-file-recursively "interpreter")
+ #t))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules ((guix build gnu-build-system)
+ (guix build utils)
+ (srfi srfi-26))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure) ; no configure script
+ (delete 'build) ; nothing to build
+ (delete 'check) ; run our own tests below
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin"))
+ (doc (string-append out "/share/doc/"
+ ,name "-" ,version)))
+ (for-each (lambda (script)
+ (install-file script bin)
+ (wrap-program (string-append bin "/" script)
+ `("PERL5LIB" ":" = (,(getenv "PERL5LIB")))))
+ (list "piet-assembler"
+ "piet-compiler"))
+
+ ;; Fix an odd mode.
+ (chmod "compiler-samples/test-binary-ops.script" #o644)
+ (for-each (lambda (file) ; INSTALL-FILE is not recursive
+ (copy-recursively file
+ (string-append doc "/" file)))
+ (list "assembler-samples"
+ "compiler-samples"
+ "README.md")) ; includes the licence grant
+ #t)))
+ (add-after 'install 'check
+ (lambda* (#:key outputs tests? #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin")))
+ (when tests?
+ (unsetenv "PERL5LIB") ; test the wrapping
+ ;; Compile all scripts assemble all Piets.
+ (for-each (lambda (file)
+ (system (string-append bin "/piet-compiler "
+ file ">"
+ file ".piet")))
+ (find-files "." "\\.script$"))
+ (for-each (lambda (file)
+ (system (string-append bin "/piet-assembler "
+ file "|pnmtopng>"
+ file ".png")))
+ (find-files "." "\\.piet$"))
+
+ ;; Don't run the interactive one.
+ (delete-file "assembler-samples/quest.piet.png")
+ (for-each (cut invoke "npiet" <>)
+ (find-files "." "\\.png$"))
+ #t)))))))
+ (native-inputs
+ ;; For our tests.
+ `(("netpbm" ,netpbm)
+ ("npiet" ,npiet)))
+ (inputs
+ `(("perl" ,perl)
+ ("perl-parse-recdescent" ,perl-parse-recdescent)))
+ (home-page "https://www.toothycat.net/wiki/wiki.pl?MoonShadow/Piet")
+ (synopsis "Piet compiler and assembler")
+ (description
+ "This package provides a compiler and assembler that target the Piet
+graphical programming language.
+
+@command{piet-assembler} converts Piet assembler instructions (e.g.,
+@code{push}, @code{add}, @code{switch}, @code{outn}) and directives into an
+executable @code{netpbm} image of the corresponding Piet program.
+
+@command{piet-compiler} compiles a C-like high-level language into assembly
+source understood by @command{piet-assembler}. It supports common arithmetic
+and boolean logic operators (though not bitwise manipulation), flow control
+(@code{if}, @code{for}, @code{while}), recursive functions, in-line assembler,
+and input/output intrinsics. The only supported data type is the integer.
+
+The language is documented only by the compiler's Perl source code and the
+included samples.")
+ (license license:cc-by-sa4.0))))
diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm
index b247cf21e1..05223ae2e6 100644
--- a/gnu/packages/pretty-print.scm
+++ b/gnu/packages/pretty-print.scm
@@ -40,7 +40,6 @@
#:use-module (gnu packages gperf)
#:use-module (gnu packages groff)
#:use-module (gnu packages gv)
- #:use-module (gnu packages imagemagick)
#:use-module (gnu packages lua)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
@@ -72,8 +71,7 @@
(build-system gnu-build-system)
(inputs
`(("psutils" ,psutils)
- ("gv" ,gv)
- ("imagemagick" ,imagemagick)))
+ ("gv" ,gv)))
(native-inputs
`(("gperf" ,gperf)
("groff" ,groff)
diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 24fe2906f9..dcd4bb90d8 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -436,6 +436,40 @@ in Pytest.")
of the project to ensure it renders properly.")
(license license:expat)))
+(define-public python-re-assert
+ (package
+ (name "python-re-assert")
+ (version "1.1.0")
+ (source
+ (origin
+ ;; There are no tests in the PyPI tarball.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asottile/re-assert")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1rssq4wpqmx1c17hjfx5l3sn3zmnlz9jffddiqrs4f6h7m6cadai"))))
+ (build-system python-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'check
+ (lambda _
+ (invoke "pytest" "-vv"))))))
+ (native-inputs
+ `(("python-covdefaults" ,python-covdefaults)
+ ("python-coverage" ,python-coverage)
+ ("python-pytest" ,python-pytest)))
+ (propagated-inputs
+ `(("python-regex" ,python-regex)))
+ (home-page "https://github.com/asottile/re-assert")
+ (synopsis "Show where your regex match assertion failed")
+ (description
+ "@code{re-assert} provides a helper class to make assertions of regexes
+simpler.")
+ (license license:expat)))
+
(define-public python-pytest-trio
(package
(name "python-pytest-trio")
diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm
index b294613a5b..1ac98caab0 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -1184,13 +1184,13 @@ been constructed to maintain extensive documentation on how to use
(define-public python-pyotp
(package
(name "python-pyotp")
- (version "2.4.0")
+ (version "2.4.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyotp" version))
(sha256
- (base32 "0a1dx07y785xyl70h0vj6vssg13qfx11w04d0gz8h48qffsymv01"))))
+ (base32 "0jsqfmx9i7j8z81r4zazv76xzy1fcq8v9s2r4kvx7ajfndq3z2h3"))))
(build-system python-build-system)
(home-page "https://github.com/pyauth/pyotp")
(synopsis "Python One Time Password Library")
diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm
index cf71a64e7c..e9dde499d5 100644
--- a/gnu/packages/python-web.scm
+++ b/gnu/packages/python-web.scm
@@ -453,6 +453,8 @@ other HTTP libraries.")
syntax highlighting, wget-like downloads, plugins, and more. It consists of
a single http command designed for painless debugging and interaction with
HTTP servers, RESTful APIs, and web services.")
+ ;; This was fixed in 1.0.3.
+ (properties `((lint-hidden-cve . ("CVE-2019-10751"))))
(license license:bsd-3)))
(define-public python-html2text
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index ee1f9acda0..e5b8db02e0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -138,7 +138,6 @@
#:use-module (gnu packages haskell-xyz)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
- #:use-module (gnu packages imagemagick)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
@@ -3457,8 +3456,11 @@ structure for Python.")
(synopsis "Python Documentation Utilities")
(description
"Docutils is a modular system for processing documentation into useful
-formats, such as HTML, XML, and LaTeX. For input Docutils supports
-reStructuredText.")
+formats, such as HTML, XML, and LaTeX. It uses @dfn{reStructuredText}, an
+easy to use markup language, for input.
+
+This package provides tools for converting @file{.rst} files to other formats
+via commands such as @command{rst2man}, as well as supporting Python code.")
;; Most of the source code is public domain, but some source files are
;; licensed under the PFSL, BSD 2-clause, and GPLv3+ licenses.
(license (list license:public-domain license:psfl license:bsd-2 license:gpl3+))))
@@ -4986,7 +4988,6 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc.
("python-cairocffi" ,python-cairocffi)))
(inputs
`(("libpng" ,libpng)
- ("imagemagick" ,imagemagick)
("freetype" ,freetype)
("cairo" ,cairo)
("glib" ,glib)
@@ -10889,14 +10890,13 @@ for the module to work under Python 3.3.")
(define-public python-colorama
(package
(name "python-colorama")
- (version "0.4.3")
+ (version "0.4.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "colorama" version))
(sha256
- (base32
- "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9"))))
+ (base32 "16w62sm95hmh55rqxn4zwdz0bkh3fqm1qnz9cwi3s510iasb4har"))))
(build-system python-build-system)
(synopsis "Colored terminal text rendering for Python")
(description "Colorama is a Python library for rendering colored terminal
@@ -21437,13 +21437,13 @@ information for your operating system.")
(define-public python-canonicaljson
(package
(name "python-canonicaljson")
- (version "1.1.4")
+ (version "1.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "canonicaljson" version))
(sha256
- (base32 "09cpacc8yvcc74i63pdmlfaahh77dnvbyw9zf29wml2zzwqfbg25"))))
+ (base32 "0c86g0vvzdcg3nrcsqnbzlfhpprc2i894p8i14hska56yl27d6w9"))))
(build-system python-build-system)
(propagated-inputs
`(("python-six" ,python-six)
@@ -21865,13 +21865,13 @@ dictionaries.")
(define-public pyzo
(package
(name "pyzo")
- (version "4.10.2")
+ (version "4.11.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyzo" version))
(sha256
- (base32 "1zplxcb78qy8qibifmnsx5i9gnlfmw9n6nr4yflsabpxw57mx4m1"))))
+ (base32 "0vzsk6rchavlvy7ciq1z9qh3qrj9q213v2nn491fgjq3g19glj53"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -21881,8 +21881,8 @@ dictionaries.")
;; Tests fail with "Permission denied: '/homeless-shelter'".
(setenv "HOME" "/tmp")
#t)))
- ;; Tests fail with "Uncaught Python exception: invalid literal for
- ;; int() with base 10: 'test'".
+ ;; Tests fail with "Uncaught Python exception: python: undefined
+ ;; symbol: objc_getClass".
#:tests? #f))
(propagated-inputs
`(("python-pyqt" ,python-pyqt)))
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index 95924743f8..bdd7e8a4a2 100644
--- a/gnu/packages/radio.scm
+++ b/gnu/packages/radio.scm
@@ -538,7 +538,7 @@ to the fix block above.
(define-public gqrx
(package
(name "gqrx")
- (version "2.12.1")
+ (version "2.13.5")
(source
(origin
(method git-fetch)
@@ -547,7 +547,7 @@ to the fix block above.
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "00alf3q6y313xpx6p7v43vqsphd2x4am4q362lw21bcy9wc4jidw"))))
+ (base32 "168wjad5g0ka555hwsciwbj7fqx1c89q59hq1yxj8aiyp5kfcahx"))))
(build-system qt-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
@@ -567,7 +567,7 @@ to the fix block above.
("qtsvg" ,qtsvg)
("volk" ,volk)))
(arguments
- `(#:tests? #f)) ; No tests
+ `(#:tests? #f)) ; no tests
(synopsis "Software defined radio receiver")
(description "Gqrx is a software defined radio (SDR) receiver implemented
using GNU Radio and the Qt GUI toolkit.")
@@ -613,14 +613,14 @@ hardware.")
(define-public flrig
(package
(name "flrig")
- (version "1.3.51")
+ (version "1.3.52")
(source
(origin
(method url-fetch)
(uri (string-append "http://www.w1hkj.com/files/flrig/flrig-"
version ".tar.gz"))
(sha256
- (base32 "0aq4x0ai9q08ypfhzfj2inc4z3q39zq1l6h9as1kil9yn4zbay61"))))
+ (base32 "18c154080vl25cy4l5amh96abm6kzm7mzld9h58pabc28yqq8zl8"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index 73bf85241c..b34a33a528 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -1582,7 +1582,7 @@ to save time in the following ways:
(define-public ruby-chunky-png
(package
(name "ruby-chunky-png")
- (version "1.3.12")
+ (version "1.3.14")
(source
(origin
(method git-fetch)
@@ -1591,8 +1591,7 @@ to save time in the following ways:
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32
- "0hn8ap7iib47qkqdp0awmxgma11z0lmk1ca3lp7c97ykhv7ij1zs"))))
+ (base32 "1m7y11ix38h5a2pj5v81qdmvqh980ql9hp62hk2dxwkwsa4nh22h"))))
(build-system ruby-build-system)
(arguments
`(#:test-target "spec"
@@ -1639,7 +1638,12 @@ pixel, depending on the hardware).
Performance: ChunkyPNG is reasonably fast for Ruby standards, by only using
integer math and a highly optimized saving routine.
@item Interoperability with RMagick.
-@end itemize")
+@end itemize
+
+ChunkyPNG is vulnerable to decompression bombs and can run out of memory when
+loading a specifically crafted PNG file. This is hard to fix in pure Ruby.
+Deal with untrusted images in a separate process, e.g., by using @code{fork}
+or a background processing library.")
(home-page "https://github.com/wvanbergen/chunky_png/wiki")
(license license:expat)))
diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index a6610bbf91..55981da463 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -178,14 +178,14 @@ external dependencies.")
(define-public samba
(package
(name "samba")
- (version "4.13.1")
+ (version "4.13.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://download.samba.org/pub/samba/stable/"
"samba-" version ".tar.gz"))
(sha256
- (base32 "0pr805jmdl8gkm6g7gd78jrkmfwgybkvn2c949h51gcsbqxj2n14"))
+ (base32 "1d7j79c8aggwiv90y2q1yz63d9p5n4paq0fsbdvqpn05d8wn8r17"))
(patches (search-patches "samba-fix-fcntl-hint-detection.patch"))
(modules '((guix build utils)))
(snippet
diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm
index 1327d8b539..38e4079a09 100644
--- a/gnu/packages/scheme.scm
+++ b/gnu/packages/scheme.scm
@@ -398,7 +398,7 @@ implementation techniques and as an expository tool.")
(define-public racket
(package
(name "racket")
- (version "7.8") ;; Note: Remember to also update racket-minimal!
+ (version "7.9") ; note: remember to also update racket-minimal!
(source (origin
(method url-fetch)
(uri (list (string-append "http://mirror.racket-lang.org/installers/"
@@ -408,7 +408,7 @@ implementation techniques and as an expository tool.")
version "/racket-" version "-src.tgz")))
(sha256
(base32
- "19z3dayybcra277s4gk2mppalwawd93f2b16xyrb6d7rbbfz7j9j"))
+ "18pz6gjzqy6a62xkcmjanhr7kgxpvpmc0blrk4igz8ldcybz44if"))
(patches (search-patches
"racket-store-checksum-override.patch"))))
(build-system gnu-build-system)
@@ -540,7 +540,7 @@ of libraries.")
version "/racket-minimal-" version "-src.tgz")))
(sha256
(base32
- "0bbglf9vfacpm2hn3lskhvc8cpg6z088fbnzpqsn17z8qdk8yvb3"))
+ "0xvnd7afx058sg7j51bmbikqgn4sl0246nkhr8zlqcrbr3nqi6p4"))
(patches (search-patches
"racket-store-checksum-override.patch"))))
(synopsis "Racket without bundled packages such as Dr. Racket")
diff --git a/gnu/packages/sdcc.scm b/gnu/packages/sdcc.scm
index 6d05470101..aad2cf9e62 100644
--- a/gnu/packages/sdcc.scm
+++ b/gnu/packages/sdcc.scm
@@ -18,6 +18,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages sdcc)
+ #:use-module (gnu packages)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages flex)
@@ -39,7 +40,14 @@
"/" version "/sdcc-src-" version ".tar.bz2"))
(sha256
(base32
- "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5"))))
+ "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5"))
+ (modules '((guix build utils)))
+ (snippet
+ '(begin
+ ;; Remove non-free source files
+ (delete-file-recursively "device/non-free")
+ #t))
+ (patches (search-patches "sdcc-disable-non-free-code.patch"))))
(build-system gnu-build-system)
(native-inputs
`(("bison" ,bison)
diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm
index cf6bf18373..45610c4801 100644
--- a/gnu/packages/security-token.scm
+++ b/gnu/packages/security-token.scm
@@ -8,6 +8,7 @@
;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018, 2019 Chris Marusich <cmmarusich@gmail.com>
;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2020 Raphaël Mélotte <raphael.melotte@mind.be>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -43,6 +44,7 @@
#:use-module (gnu packages dns)
#:use-module (gnu packages gettext)
#:use-module (gnu packages graphviz)
+ #:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
@@ -102,7 +104,7 @@ readers and is needed to communicate with such devices through the
(define-public eid-mw
(package
(name "eid-mw")
- (version "4.4.27")
+ (version "5.0.8")
(source
(origin
(method git-fetch)
@@ -111,13 +113,15 @@ readers and is needed to communicate with such devices through the
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "17lw8iwp7h5cs3db80sysr84ffi333cf2vrhncs9l6hy6glfl2v1"))))
+ (base32 "1ckini00iz9w96n9hpkx6w2ivpfkd4yyxyhnmsl9n0k8x4j6jg5a"))))
(build-system glib-or-gtk-build-system)
(native-inputs
`(("autoconf" ,autoconf)
+ ("autoconf-archive" ,autoconf-archive)
("automake" ,automake)
("gettext" ,gettext-minimal)
("libtool" ,libtool)
+ ("libassuan" ,libassuan)
("pkg-config" ,pkg-config)
("perl" ,perl)))
(inputs
@@ -132,14 +136,29 @@ readers and is needed to communicate with such devices through the
(arguments
`(#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'bootstrap
+ (replace 'bootstrap
(lambda _
;; configure.ac relies on ‘git --describe’ to get the version.
;; Patch it to just return the real version number directly.
(substitute* "scripts/build-aux/genver.sh"
(("/bin/sh") (which "sh"))
(("^(GITDESC=).*" _ match) (string-append match ,version "\n")))
- (invoke "sh" "./bootstrap.sh"))))))
+ (invoke "sh" "./bootstrap.sh")))
+ (add-after 'unpack 'make-reproducible
+ (lambda _
+ (substitute* "scripts/mac/create-vers.sh"
+ (("NOW=.*")
+ "NOW=1970-01-01\n"))
+ #t))
+ ;; Remove failing test that was removed upstream after version 5.0.8.
+ ;; See: https://github.com/Fedict/eid-mw/commit/3d1187b1b61118b9ae97607903d3d2fc0bad7518
+ (add-before 'check 'remove-failing-test
+ (lambda _
+ (substitute* "tests/unit/Makefile.am"
+ (("sign_state ordering cardcom_common")
+ "sign_state ordering #cardcom_common"))
+ #t))
+ )))
(synopsis "Belgian eID Middleware")
(description "The Belgian eID Middleware is required to authenticate with
online services using the Belgian electronic identity card.")
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index cd10dd3872..a5f934854b 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -814,14 +814,14 @@ Shell (pdksh).")
(define-public oil
(package
(name "oil")
- (version "0.8.3")
+ (version "0.8.4")
(source
(origin
(method url-fetch)
(uri (string-append "https://www.oilshell.org/download/oil-"
version ".tar.gz"))
(sha256
- (base32 "14j0qjh92b16xxaj0f0k71y8wkbz6nmgx0yin2q7xrzqk8hzqgj6"))))
+ (base32 "1gcpf5l6bdjw150ds3j2iws739khxylmz67fx7k1rjfpfij2004l"))))
(build-system gnu-build-system)
(arguments
`(#:strip-binaries? #f ; strip breaks the binary
diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm
index 9b41bb240b..e1549c1728 100644
--- a/gnu/packages/storage.scm
+++ b/gnu/packages/storage.scm
@@ -55,14 +55,14 @@
(define-public ceph
(package
(name "ceph")
- (version "14.2.11")
+ (version "14.2.13")
(source (origin
(method url-fetch)
(uri (string-append "https://download.ceph.com/tarballs/ceph-"
version ".tar.gz"))
(sha256
(base32
- "02mbinm8rk16cwm0x4winmd4488xznkzkyzycxkwlib26yd2xsnz"))
+ "0gaxjs909wf00nvh4z53cin89dw67v1q47b2jvi3iibynhkahkg1"))
(patches
(search-patches "ceph-disable-cpu-optimizations.patch"))
(modules '((guix build utils)))
diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index d6b43d8d8f..c4420978b8 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -334,25 +334,27 @@ required structures.")
#:disallowed-references ,(list (canonical-package perl))
#:phases
(modify-phases %standard-phases
- ,@(if (%current-target-system)
- '((add-before
- 'configure 'set-cross-compile
- (lambda* (#:key target outputs #:allow-other-keys)
- (setenv "CROSS_COMPILE" (string-append target "-"))
- (setenv "CONFIGURE_TARGET_ARCH"
- (cond
- ((string-prefix? "i586" target)
- "hurd-x86")
- ((string-prefix? "i686" target)
- "linux-x86")
- ((string-prefix? "x86_64" target)
- "linux-x86_64")
- ((string-prefix? "arm" target)
- "linux-armv4")
- ((string-prefix? "aarch64" target)
- "linux-aarch64")))
- #t)))
- '())
+ ,@(if (%current-target-system)
+ '((add-before
+ 'configure 'set-cross-compile
+ (lambda* (#:key target outputs #:allow-other-keys)
+ (setenv "CROSS_COMPILE" (string-append target "-"))
+ (setenv "CONFIGURE_TARGET_ARCH"
+ (cond
+ ((string-prefix? "i586" target)
+ "hurd-x86")
+ ((string-prefix? "i686" target)
+ "linux-x86")
+ ((string-prefix? "x86_64" target)
+ "linux-x86_64")
+ ((string-prefix? "mips64el" target)
+ "linux-mips64")
+ ((string-prefix? "arm" target)
+ "linux-armv4")
+ ((string-prefix? "aarch64" target)
+ "linux-aarch64")))
+ #t)))
+ '())
(replace 'configure
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -363,8 +365,8 @@ required structures.")
(string-append (assoc-ref %build-inputs "coreutils")
"/bin/env")))
(invoke ,@(if (%current-target-system)
- '("./Configure")
- '("./config"))
+ '("./Configure")
+ '("./config"))
"shared" ;build shared libraries
"--libdir=lib"
@@ -376,9 +378,9 @@ required structures.")
(string-append "--prefix=" out)
(string-append "-Wl,-rpath," lib)
- ,@(if (%current-target-system)
- '((getenv "CONFIGURE_TARGET_ARCH"))
- '())))))
+ ,@(if (%current-target-system)
+ '((getenv "CONFIGURE_TARGET_ARCH"))
+ '())))))
(add-after 'install 'move-static-libraries
(lambda* (#:key outputs #:allow-other-keys)
;; Move static libraries to the "static" output.
diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm
index de55c0b188..95a31f80fd 100644
--- a/gnu/packages/tmux.scm
+++ b/gnu/packages/tmux.scm
@@ -145,7 +145,7 @@ windows.")
(define-public python-libtmux
(package
(name "python-libtmux")
- (version "0.8.3")
+ (version "0.8.5")
(source
(origin
(method git-fetch)
@@ -155,7 +155,7 @@ windows.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "18dqqd3jmgq3jb1l3xpgywlh4x82mzjxch61gwnlhfaqx5mzvjph"))))
+ (base32 "1vrd99kl2gsk49mvbp6k7l1k7r96vf1fczsqclb62yd4hdpp7zaa"))))
(build-system python-build-system)
(propagated-inputs
`(("procps" ,procps))) ;tests need top
@@ -171,6 +171,8 @@ windows.")
(setenv "PYTHONPATH"
(string-append (getcwd) "/build/lib:"
(getenv "PYTHONPATH")))
+ ;; Fix <https://github.com/tmux-python/libtmux/issues/265>.
+ (setenv "LANG" "en_US.utf8")
;; Skip tests that I suspect fail because of a change
;; in behavior in tmux 3 from tmux 2
;; https://github.com/tmux-python/libtmux/issues/281
diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index 9060bdc06a..16c70bd1a7 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -93,6 +93,7 @@
#:use-module (gnu packages perl-check)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
+ #:use-module (gnu packages python-check)
#:use-module (gnu packages python-web)
#:use-module (gnu packages python-xyz)
#:use-module (gnu packages readline)
@@ -1441,7 +1442,7 @@ control to Git repositories.")
(define-public pre-commit
(package
(name "pre-commit")
- (version "2.7.1")
+ (version "2.8.1")
(source
(origin
;; No tests in the PyPI tarball.
@@ -1451,7 +1452,7 @@ control to Git repositories.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0n7qby5a4yz3s02nqcp5js6jg9wrd0x7msblxwb1883ds4b2b71a"))))
+ (base32 "0b3ks6viccq3n4p8i8zgfd40vp1k5nkhmmlz7p4nxcdizw8zxgn8"))))
(build-system python-build-system)
(arguments
`(#:phases
@@ -1492,6 +1493,12 @@ control to Git repositories.")
" and not test_additional_rust_lib_dependencies_installed"
" and not test_local_rust_additional_dependencies"
" and not test_rust_hook"
+ ;; Disable dotnet tests.
+ " and not test_dotnet_hook"
+ ;; Disable nodejs tests.
+ " and not test_unhealthy_if_system_node_goes_missing"
+ " and not test_installs_without_links_outside_env"
+ " and not test_healthy_system_node"
;; Disable python2 test.
" and not test_switch_language_versions_doesnt_clobber"
;; These tests try to open a network socket.
@@ -1534,8 +1541,10 @@ control to Git repositories.")
#t))))))
(native-inputs
`(("git" ,git-minimal)
- ("python-pytest" ,python-pytest)))
- (inputs
+ ("python-pytest" ,python-pytest)
+ ("python-re-assert" ,python-re-assert)))
+ ;; Propagate because pre-commit is also used as a module.
+ (propagated-inputs
`(("python-cfgv" ,python-cfgv)
("python-identify" ,python-identify)
("python-nodeenv" ,python-nodeenv)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index 472a5eb38c..76ea742a11 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -45,6 +45,7 @@
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;; Copyright © 2020 Brett Gilio <brettg@gnu.org>
;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro>
+;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1227,6 +1228,8 @@ ASS/SSA (Advanced Substation Alpha/SubStation Alpha) subtitle format.")
(base32
"1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj"))))
(build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags '("--disable-static")))
(native-inputs `(("pkg-config" ,pkg-config)))
(inputs
`(("freeglut" ,freeglut)
@@ -2344,7 +2347,7 @@ other site that youtube-dl supports.")
(define-public you-get
(package
(name "you-get")
- (version "0.4.1456")
+ (version "0.4.1475")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -2353,7 +2356,7 @@ other site that youtube-dl supports.")
(file-name (git-file-name name version))
(sha256
(base32
- "0n6h5qkhjwsxy8rf6n4i8hd8dah38hbvchh9272c53gydgp9lp29"))))
+ "1hsa99fgx1zhzkf3n0hlbinckvipd54vhs6y4jkq0rd9r6yc1h7f"))))
(build-system python-build-system)
(inputs
`(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos
@@ -2478,7 +2481,8 @@ Both command-line and GTK2 interface are available.")
"1zxfnw1xbghcj7b3zz5djndv6gwssxda19cz1lrlqrkg8577r7kd"))))
(build-system gnu-build-system)
(arguments
- `(#:configure-flags '("--disable-bdjava-jar")
+ `(#:configure-flags '("--disable-bdjava-jar"
+ "--disable-static")
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'refer-to-libxml2-in-.pc-file
@@ -2987,11 +2991,40 @@ tools, XML authoring components, and an extensible plug-in based API.")
(base32
"1bkqlrizx0j2rd6ybam2x17bjrpwzl4v4szmnzm3cmixis3w3npr"))))
(build-system gnu-build-system)
+ ;; Separate graphical tools in order to save almost 1 GiB on the closure
+ ;; for the common case.
+ (outputs '("out" "gui"))
(arguments
'(#:configure-flags
- (list (string-append "--with-udevdir="
+ (list "--disable-static"
+ (string-append "--with-udevdir="
(assoc-ref %outputs "out")
- "/lib/udev"))))
+ "/lib/udev"))
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'install 'split
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out"))
+ (gui (assoc-ref outputs "gui")))
+ (mkdir-p (string-append gui "/bin"))
+ (mkdir-p (string-append gui "/share/man/man1"))
+ (mkdir-p (string-append gui "/share/applications"))
+ (for-each
+ (lambda (prog)
+ (for-each
+ (lambda (file)
+ (rename-file (string-append out file)
+ (string-append gui file)))
+ (list
+ (string-append "/bin/" prog)
+ (string-append "/share/man/man1/" prog ".1")
+ (string-append "/share/applications/" prog ".desktop"))))
+ '("qv4l2" "qvidcap"))
+ (copy-recursively (string-append out "/share/icons")
+ (string-append gui "/share/icons"))
+ (delete-file-recursively (string-append out "/share/icons"))
+ (rmdir (string-append out "/share/applications"))
+ #t))))))
(native-inputs
`(("perl" ,perl)
("pkg-config" ,pkg-config)))
diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm
index c574b26f4e..8f9aca8f58 100644
--- a/gnu/packages/vim.scm
+++ b/gnu/packages/vim.scm
@@ -70,7 +70,7 @@
(define-public vim
(package
(name "vim")
- (version "8.2.1947")
+ (version "8.2.1971")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -79,7 +79,7 @@
(file-name (git-file-name name version))
(sha256
(base32
- "1cl83phzsy1mqsgbqyds10644jcfkwk2pn6vx6s6l7vw52hh5nkc"))))
+ "00svmci7hqgpj41rpa2lxcp8qgd3p7rpy4bzan1a512b07k35rb7"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index e43f467eca..4319b00e00 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -6,7 +6,7 @@
;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
-;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com>
+;;; Copyright © 2018, 2020 Pierre Langlois <pierre.langlois@gmx.com>
;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com>
;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name>
;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com>
@@ -131,10 +131,10 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.")
(home-page "https://www.unix-ag.uni-kl.de/~massar/vpnc/")))
(define-public vpnc-scripts
- (let ((commit "1000e0f6dd7d6bff163169a46359211c1fc3a6d2"))
+ (let ((commit "3885f8bbc4ae03fd6da0ada6de12f7223a59595c"))
(package
(name "vpnc-scripts")
- (version (string-append "20190116." (string-take commit 7)))
+ (version (string-append "20200925." (string-take commit 7)))
(source (origin
(method git-fetch)
(uri
@@ -144,7 +144,7 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.")
(file-name (git-file-name name version))
(sha256
(base32
- "1g41yarz2bl0f73kbjqnywr485ghanbp7nmspklfb0n07yp0z6ak"))))
+ "1pmi4n58q81pmn9arvfixhvv6vkkf3rpwac3hwnwyl882q5q0ccx"))))
(build-system gnu-build-system)
(inputs `(("guile" ,guile-3.0) ; for the wrapper scripts
("coreutils" ,coreutils)
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index eb49a8fdea..5cb5185a31 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -461,7 +461,7 @@ driven and does not detract you from your daily work.")
(name "nyxt")
;; Package the pre-release because latest stable 1.5.0 does not build
;; anymore.
- (version "2-pre-release-3")
+ (version "2-pre-release-4")
(source
(origin
(method git-fetch)
@@ -472,7 +472,7 @@ driven and does not detract you from your daily work.")
(commit version)))
(sha256
(base32
- "16crhc89hpvzkms5fypq9vdrf7glidqwh7yvy5cdmjdq4v7fkmy4"))
+ "00865plmvgl1nj009a4w9bcb5mf0zgqjx7w6slacyqgidjzad6qm"))
(file-name (git-file-name "nyxt" version))))
(build-system gnu-build-system)
(arguments
@@ -482,28 +482,20 @@ driven and does not detract you from your daily work.")
#:strip-binaries? #f ; Stripping breaks SBCL binaries.
#:phases
(modify-phases %standard-phases
- ;; Version is guessed from .git which Guix does not have.
- (add-after 'unpack 'patch-version
- (lambda* (#:key inputs #:allow-other-keys)
- (let ((version (format #f "~a" ,version))
- (file "source/global.lisp"))
- (chmod file #o666)
- (let ((port (open-file file "a")))
- (format port "(setf +version+ ~s)" version)
- (close-port port)))
- #t))
- (add-before 'build 'make-desktop-version-number
- (lambda _
- (with-output-to-file "version"
- (lambda _
- (format #t "~a" ,version)
- #t))))
-
(delete 'configure)
(add-before 'build 'fix-common-lisp-cache-folder
(lambda _
(setenv "HOME" "/tmp")
#t))
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "NYXT_VERSION" ,version)
+ #t))
+ (add-before 'check 'configure-tests
+ (lambda _
+ (setenv "NYXT_TESTS_NO_NETWORK" "1")
+ (setenv "NYXT_TESTS_ERROR_ON_FAIL" "1")
+ #t))
(add-after 'install 'wrap-program
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((bin (string-append (assoc-ref outputs "out") "/bin/nyxt"))
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index 93399b3459..071f98adc5 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -1424,7 +1424,7 @@ used to validate and fix HTML data.")
(define-public esbuild
(package
(name "esbuild")
- (version "0.8.0")
+ (version "0.8.4")
(source
(origin
(method git-fetch)
@@ -1434,7 +1434,7 @@ used to validate and fix HTML data.")
(file-name (git-file-name name version))
(sha256
(base32
- "17qzmadjixjivwbxbj20683j3n6igk7bx7v4k5bs2rqfvigdx2ps"))
+ "0aaqyfnl4dncrpw8n2sqkkavx7ki7i2r9pdi82pp9syql3b5495y"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -5630,14 +5630,14 @@ on the fly.")
(define-public hitch
(package
(name "hitch")
- (version "1.6.0")
+ (version "1.7.0")
(home-page "https://hitch-tls.org/")
(source (origin
(method url-fetch)
(uri (string-append home-page "source/hitch-" version ".tar.gz"))
(sha256
(base32
- "01n70yf8hx42jb801jv5q1xhrpqxyjnqhd98hjf81lvxpd5fnisf"))))
+ "1i75giwyr66ip8xsvk3gg5xdbxnmcabgxz8dqi06c58mw7qzhzn9"))))
(build-system gnu-build-system)
(arguments
`(#:phases (modify-phases %standard-phases
@@ -5770,13 +5770,13 @@ deployments.")
(package
(name "varnish")
(home-page "https://varnish-cache.org/")
- (version "6.4.0")
+ (version "6.5.1")
(source (origin
(method url-fetch)
(uri (string-append home-page "_downloads/varnish-" version ".tgz"))
(sha256
(base32
- "1hkn98vbxk7rc1sd08367qn6rcv8wkxgwbmm1x46y50vi0nvldpn"))))
+ "1dfdswri6lkfk6kml3szvffm91y49pajgqy1k5y26llqixl4r5hi"))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib")
@@ -5844,18 +5844,25 @@ configuration language.")
(package
(name "varnish-modules")
(home-page "https://github.com/varnish/varnish-modules")
- (version "0.16.0")
+ (version "0.17.0")
(source (origin
- (method url-fetch)
- (uri (string-append "https://github.com/varnish/varnish-modules"
- "/releases/download/varnish-modules-" version
- "/varnish-modules-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference (url home-page) (commit version)))
+ (file-name (git-file-name name version))
(sha256
(base32
- "1ph5bplsip4rycql1c2hgbvmrwbgcrgv2ldgfp7saxxbsv5cpcds"))))
+ "0zg8y2sgkygdani70zp9rbx278431fmssj26d47c5qsiw939i519"))))
(build-system gnu-build-system)
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("pkg-config" ,pkg-config)
+
+ ;; For bootstrapping.
+ ("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+
+ ;; For generating manuals.
+ ("rst2man" ,python-docutils)))
(inputs
`(("python" ,python)
("varnish" ,varnish)))
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 3bb7f7e8e8..361cecf26f 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -611,7 +611,7 @@ Features include:
"/bin/gawk")))
(substitute* "lock"
- (("$(which wmctrl)") wmctrl)
+ (("\\$\\(command -V wmctrl\\)") wmctrl)
(("convert") mconvert)
(("shot=\\(import") (string-append "shot=\(" mimport))
(("awk -F") (string-append awk " -F"))
@@ -630,7 +630,7 @@ Features include:
(string-append bin "/i3lock-fancy"))
(copy-recursively "icons" icons)
#t))))))
- (native-inputs
+ (inputs
`(("imagemagick" ,imagemagick)
("wmctrl" ,wmctrl)
("gawk" ,gawk)))
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index ccfab58777..ead74ebe1c 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -1089,7 +1089,7 @@ Escape key when Left Control is pressed and released on its own.")
(define-public libwacom
(package
(name "libwacom")
- (version "1.5")
+ (version "1.6")
(source (origin
(method url-fetch)
(uri (string-append
@@ -1097,7 +1097,7 @@ Escape key when Left Control is pressed and released on its own.")
"libwacom-" version "/libwacom-" version ".tar.bz2"))
(sha256
(base32
- "0yyl6vzpfd7dq8a8k9dn8r494542ci4r1i0pillg1p4f7jvryd3b"))))
+ "1a5ffxyhl6crspybcfsx5ribgrgkzwfl5w9y32slxbgjwczb473h"))))
(build-system glib-or-gtk-build-system)
(arguments
`(#:configure-flags '("--disable-static")))
diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm
index d8050fa90a..a21679a4d1 100644
--- a/gnu/packages/xfce.scm
+++ b/gnu/packages/xfce.scm
@@ -121,7 +121,7 @@ Xfce Desktop Environment.")
(define-public xfconf
(package
(name "xfconf")
- (version "4.14.3")
+ (version "4.14.4")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -129,7 +129,7 @@ Xfce Desktop Environment.")
"xfconf-" version ".tar.bz2"))
(sha256
(base32
- "00hcb96bw5ylfs9ppblchj8zv9026m3dlf7lnmgiq5f6xyh5542q"))))
+ "0wszp93z64112jq5wm4133s64in2ndvnzbgsbn8dh7p5xhp64dyc"))))
(build-system gnu-build-system)
(arguments
'(#:phases
@@ -755,7 +755,7 @@ on the screen.")
(define-public xfdesktop
(package
(name "xfdesktop")
- (version "4.14.2")
+ (version "4.14.3")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -763,7 +763,7 @@ on the screen.")
"xfdesktop-" version ".tar.bz2"))
(sha256
(base32
- "0x1yx9sd5aanrlr1qnbwd2nsmcg09g4132k0kyb7z47a3x3381d3"))
+ "14sp5a4n21prwmh2l5mjq5fjaq7r2pbjxddfx4wzaix8867x1mq6"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -898,7 +898,7 @@ system resources, while still being visually appealing and user friendly.")
(define-public xfce4-power-manager
(package
(name "xfce4-power-manager")
- (version "1.7.0")
+ (version "1.7.1")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/xfce/"
@@ -906,7 +906,7 @@ system resources, while still being visually appealing and user friendly.")
"xfce4-power-manager-" version ".tar.bz2"))
(sha256
(base32
- "0jqjwy341dxyijjm9k77a12iih6b5r3f4cmpr2lppa7mf37qqdj5"))))
+ "1ki088iyr266cfyq9bmmhhd27wrsrmbhsblyf4yqby03hlvqif3k"))))
(build-system gnu-build-system)
(native-inputs
`(("pkg-config" ,pkg-config)
@@ -1176,7 +1176,7 @@ A plugin for the Xfce panel is also available.")
(define-public xfce4-screensaver
(package
(name "xfce4-screensaver")
- (version "0.1.10")
+ (version "0.1.11")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/apps/"
@@ -1186,7 +1186,7 @@ A plugin for the Xfce panel is also available.")
version ".tar.bz2"))
(sha256
(base32
- "0mqxbyq9np6jzky8y35dlxxmk78q2w0jvwg9kh7a4ib7vmw1qvsq"))))
+ "0xxcvvcch8bqd35ksq8l88a46xnidp59iq4ssyygki0a2vd20h41"))))
(build-system gnu-build-system)
(arguments
`(#:phases
@@ -1986,7 +1986,7 @@ lan interface (signal state, signal quality, network name (SSID)).")
(define-public xfce4-weather-plugin
(package
(name "xfce4-weather-plugin")
- (version "0.10.1")
+ (version "0.10.2")
(source (origin
(method url-fetch)
(uri (string-append "https://archive.xfce.org/src/panel-plugins/"
@@ -1995,7 +1995,7 @@ lan interface (signal state, signal quality, network name (SSID)).")
"/xfce4-weather-plugin-" version ".tar.bz2"))
(sha256
(base32
- "12bs2rfmmy021087i10vxibdbbvd5vld0vk3h5hymhpz7rgszcmg"))))
+ "1ik2qvmwylsz5vyz4np2y0mmd37s89xkayxi97490c4mj85pj5wh"))))
(build-system gnu-build-system)
(native-inputs
`(("intltool" ,intltool)
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 97d42b2ae2..ef0ae25e13 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -1080,14 +1080,14 @@ XSL-T processor. It also performs any necessary post-processing.")
(define-public xmlsec
(package
(name "xmlsec")
- (version "1.2.30")
+ (version "1.2.31")
(source (origin
(method url-fetch)
(uri (string-append "https://www.aleksey.com/xmlsec/download/"
"xmlsec1-" version ".tar.gz"))
(sha256
(base32
- "1j5bf7ni45jghyrbf7a14wx2pvfara557zyry7g7h8840c5kd11d"))))
+ "09hbbaz2d9hw645q27apkjs1mdr6vd85x5z3c9hzgr1iri9bq44v"))))
(build-system gnu-build-system)
(propagated-inputs ; according to xmlsec1.pc
`(("libxml2" ,libxml2)
diff --git a/gnu/packages/zile.scm b/gnu/packages/zile.scm
index 2718232e27..6169815520 100644
--- a/gnu/packages/zile.scm
+++ b/gnu/packages/zile.scm
@@ -2,7 +2,7 @@
;;; Copyright © 2012, 2013, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
@@ -42,14 +42,14 @@
(define-public zile
(package
(name "zile")
- (version "2.4.14")
+ (version "2.4.15")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/zile/zile-"
version ".tar.gz"))
(sha256
(base32
- "0x3byaddms8l3g7igx6njycqsq98wgapysdb5c7lhcnajlkp8y3s"))))
+ "0ph3wd0cz3ysdyka6ds2w5l5b89mb5l79kwkfyk7phvq9yih1hrr"))))
(build-system gnu-build-system)
(arguments
`(#:phases
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 499e50bfd7..416bc02a96 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
-;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org>
+;;; Copyright © 2015, 2016, 2020 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com>
;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2016 David Craven <david@craven.ch>
@@ -1024,20 +1024,22 @@ the tty to run, among other things."
(define-record-type* <mingetty-configuration>
mingetty-configuration make-mingetty-configuration
mingetty-configuration?
- (mingetty mingetty-configuration-mingetty ;<package>
- (default mingetty))
- (tty mingetty-configuration-tty) ;string
- (auto-login mingetty-auto-login ;string | #f
- (default #f))
- (login-program mingetty-login-program ;gexp
- (default #f))
- (login-pause? mingetty-login-pause? ;Boolean
- (default #f)))
+ (mingetty mingetty-configuration-mingetty ;<package>
+ (default mingetty))
+ (tty mingetty-configuration-tty) ;string
+ (auto-login mingetty-auto-login ;string | #f
+ (default #f))
+ (login-program mingetty-login-program ;gexp
+ (default #f))
+ (login-pause? mingetty-login-pause? ;Boolean
+ (default #f))
+ (clear-on-logout? mingetty-clear-on-logout? ;Boolean
+ (default #t)))
(define mingetty-shepherd-service
(match-lambda
(($ <mingetty-configuration> mingetty tty auto-login login-program
- login-pause?)
+ login-pause? clear-on-logout?)
(list
(shepherd-service
(documentation "Run mingetty on an tty.")
@@ -1050,7 +1052,6 @@ the tty to run, among other things."
(start #~(make-forkexec-constructor
(list #$(file-append mingetty "/sbin/mingetty")
- "--noclear"
;; Avoiding 'vhangup' allows us to avoid 'setfont'
;; errors down the path where various ioctls get
@@ -1058,6 +1059,9 @@ the tty to run, among other things."
;; in Linux.
"--nohangup" #$tty
+ #$@(if clear-on-logout?
+ #~()
+ #~("--noclear"))
#$@(if auto-login
#~("--autologin" #$auto-login)
#~())
diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm
index b909c651cc..88d23f746a 100644
--- a/gnu/services/guix.scm
+++ b/gnu/services/guix.scm
@@ -354,16 +354,17 @@
#$@(if non-derivation-substitute-urls
#~(#$(string-append
"--non-derivation-substitute-urls="
- (string-join derivation-substitute-urls " ")))
+ (string-join non-derivation-substitute-urls " ")))
#~())
#$@(map (lambda (system)
(string-append "--system=" system))
(or systems '())))
#:user #$user
- #:pid-file "/var/run/guix-build-coordinator-agent/pid"
#:environment-variables
`(,(string-append
"GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale")
+ ;; XDG_CACHE_HOME is used by Guix when caching narinfo files
+ "XDG_CACHE_HOME=/var/cache/guix-build-coordinator-agent"
"LC_ALL=en_US.utf8")
#:log-file "/var/log/guix-build-coordinator/agent.log"))
(stop #~(make-kill-destructor))))))
@@ -376,9 +377,9 @@
(mkdir-p "/var/log/guix-build-coordinator")
- ;; Allow writing the PID file
- (mkdir-p "/var/run/guix-build-coordinator-agent")
- (chown "/var/run/guix-build-coordinator-agent"
+ ;; Create a cache directory for storing narinfo files if downloaded
+ (mkdir-p "/var/cache/guix-build-coordinator-agent")
+ (chown "/var/cache/guix-build-coordinator-agent"
(passwd:uid %user)
(passwd:gid %user))))
diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm
index 64f54e787f..9ec0f6a9ca 100644
--- a/gnu/services/networking.scm
+++ b/gnu/services/networking.scm
@@ -61,7 +61,9 @@
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-9)
#:use-module (srfi srfi-26)
+ #:use-module (srfi srfi-43)
#:use-module (ice-9 match)
+ #:use-module (json)
#:re-export (static-networking-service
static-networking-service-type)
#:export (%facebook-host-aliases
@@ -180,7 +182,17 @@
pagekite-configuration-kitesecret
pagekite-configuration-frontend
pagekite-configuration-kites
- pagekite-configuration-extra-file))
+ pagekite-configuration-extra-file
+
+ yggdrasil-service-type
+ yggdrasil-configuration
+ yggdrasil-configuration?
+ yggdrasil-configuration-autoconf?
+ yggdrasil-configuration-config-file
+ yggdrasil-configuration-log-level
+ yggdrasil-configuration-log-to
+ yggdrasil-configuration-json-config
+ yggdrasil-configuration-package))
;;; Commentary:
;;;
@@ -1750,4 +1762,107 @@ table inet filter {
"Run @url{https://pagekite.net/,PageKite}, a tunneling solution to make
local servers publicly accessible on the web, even behind NATs and firewalls.")))
+
+;;;
+;;; Yggdrasil
+;;;
+
+(define-record-type* <yggdrasil-configuration>
+ yggdrasil-configuration
+ make-yggdrasil-configuration
+ yggdrasil-configuration?
+ (package yggdrasil-configuration-package
+ (default yggdrasil))
+ (json-config yggdrasil-configuration-json-config
+ (default '()))
+ (config-file yggdrasil-config-file
+ (default "/etc/yggdrasil-private.conf"))
+ (autoconf? yggdrasil-configuration-autoconf?
+ (default #f))
+ (log-level yggdrasil-configuration-log-level
+ (default 'info))
+ (log-to yggdrasil-configuration-log-to
+ (default 'stdout)))
+
+(define (yggdrasil-configuration-file config)
+ (define (scm->yggdrasil-json x)
+ (define key-value?
+ dotted-list?)
+ (define (param->camel str)
+ (string-concatenate
+ (map
+ string-capitalize
+ (string-split str (cut eqv? <> #\-)))))
+ (cond
+ ((key-value? x)
+ (let ((k (car x))
+ (v (cdr x)))
+ (cons
+ (if (symbol? k)
+ (param->camel (symbol->string k))
+ k)
+ v)))
+ ((list? x) (map scm->yggdrasil-json x))
+ ((vector? x) (vector-map scm->yggdrasil-json x))
+ (else x)))
+ (computed-file
+ "yggdrasil.conf"
+ #~(call-with-output-file #$output
+ (lambda (port)
+ ;; it's HJSON, so comments are a-okay
+ (display "# Generated by yggdrasil-service\n" port)
+ (display #$(scm->json-string
+ (scm->yggdrasil-json
+ (yggdrasil-configuration-json-config config)))
+ port)))))
+
+(define (yggdrasil-shepherd-service config)
+ "Return a <shepherd-service> for yggdrasil with CONFIG."
+ (define yggdrasil-command
+ #~(append
+ (list (string-append
+ #$(yggdrasil-configuration-package config)
+ "/bin/yggdrasil")
+ "-useconffile"
+ #$(yggdrasil-configuration-file config))
+ (if #$(yggdrasil-configuration-autoconf? config)
+ '("-autoconf")
+ '())
+ (let ((extraconf #$(yggdrasil-config-file config)))
+ (if extraconf
+ (list "-extraconffile" extraconf)
+ '()))
+ (list "-loglevel"
+ #$(symbol->string
+ (yggdrasil-configuration-log-level config))
+ "-logto"
+ #$(symbol->string
+ (yggdrasil-configuration-log-to config)))))
+ (list (shepherd-service
+ (documentation "Connect to the Yggdrasil mesh network")
+ (provision '(yggdrasil))
+ (requirement '(networking))
+ (start #~(make-forkexec-constructor
+ #$yggdrasil-command
+ #:log-file "/var/log/yggdrasil.log"
+ #:group "yggdrasil"))
+ (stop #~(make-kill-destructor)))))
+
+(define %yggdrasil-accounts
+ (list (user-group (name "yggdrasil") (system? #t))))
+
+(define yggdrasil-service-type
+ (service-type
+ (name 'yggdrasil)
+ (description
+ "Connect to the Yggdrasil mesh network.
+See yggdrasil -genconf for config options.")
+ (extensions
+ (list (service-extension shepherd-root-service-type
+ yggdrasil-shepherd-service)
+ (service-extension account-service-type
+ (const %yggdrasil-accounts))
+ (service-extension profile-service-type
+ (compose list yggdrasil-configuration-package))))))
+
;;; networking.scm ends here
diff --git a/gnu/system/examples/yggdrasil.tmpl b/gnu/system/examples/yggdrasil.tmpl
new file mode 100644
index 0000000000..be80bf4de9
--- /dev/null
+++ b/gnu/system/examples/yggdrasil.tmpl
@@ -0,0 +1,60 @@
+;; This is an operating system configuration template
+;; for a "bare bones" setup, with no X11 display server.
+
+(use-modules (gnu))
+(use-service-modules networking ssh)
+(use-package-modules admin curl networking screen)
+
+(operating-system
+ (host-name "ruby-guard-5545")
+ (timezone "Europe/Budapest")
+ (locale "en_US.utf8")
+
+ ;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the
+ ;; target hard disk, and "my-root" is the label of the target
+ ;; root file system.
+ (bootloader (bootloader-configuration
+ (bootloader grub-bootloader)
+ (target "/dev/sdX")))
+ (file-systems (cons (file-system
+ (device (file-system-label "my-root"))
+ (mount-point "/")
+ (type "ext4"))
+ %base-file-systems))
+ (users (cons (user-account
+ (name "alice")
+ (comment "Bob's sister")
+ (group "users")
+ ;; adding her to the yggdrasil group means she can use
+ ;; yggdrasilctl to modify the configuration
+ (supplementary-groups '("wheel" "yggdrasil")))
+ %base-user-accounts))
+
+ ;; Globally-installed packages.
+ (packages (cons* screen curl %base-packages))
+
+ ;; Add services to the baseline: a DHCP client and
+ ;; an SSH server.
+ ;; If you add an /etc/yggdrasil-private.conf, you can log in to ssh
+ ;; using your Yggdrasil IPv6 address from another machine running Yggdrasil.
+ ;; Alternatively, the client can sit behind a router that has Yggdrasil.
+ ;; That file is specifically _not_ handled by Guix, because we don't want its
+ ;; contents to sit in the world-readable /gnu/store.
+ (services
+ (append
+ (list
+ (service dhcp-client-service-type)
+ (service yggdrasil-service-type
+ (yggdrasil-configuration
+ (log-to 'stdout)
+ (log-level 'debug)
+ (autoconf? #f)
+ (json-config
+ ;; choose a few from
+ ;; https://github.com/yggdrasil-network/public-peers
+ '((peers . #("tcp://1.2.3.4:1337"))))
+ (config-file #f)))
+ (service openssh-service-type
+ (openssh-configuration
+ (port-number 2222))))
+ %base-services)))
diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm
index c8352f4933..f4c4be6e2b 100644
--- a/gnu/system/uuid.scm
+++ b/gnu/system/uuid.scm
@@ -1,7 +1,7 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org>
-;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -42,6 +42,7 @@
string->ext2-uuid
string->ext3-uuid
string->ext4-uuid
+ string->bcachefs-uuid
string->btrfs-uuid
string->fat-uuid
string->jfs-uuid
@@ -236,6 +237,7 @@ ISO9660 UUID representation."
(define string->ext2-uuid string->dce-uuid)
(define string->ext3-uuid string->dce-uuid)
(define string->ext4-uuid string->dce-uuid)
+(define string->bcachefs-uuid string->dce-uuid)
(define string->btrfs-uuid string->dce-uuid)
(define string->jfs-uuid string->dce-uuid)
@@ -251,14 +253,14 @@ ISO9660 UUID representation."
(define %uuid-parsers
(vhashq
- ('dce 'ext2 'ext3 'ext4 'btrfs 'jfs 'luks => string->dce-uuid)
+ ('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'jfs 'luks => string->dce-uuid)
('fat32 'fat16 'fat => string->fat-uuid)
('ntfs => string->ntfs-uuid)
('iso9660 => string->iso9660-uuid)))
(define %uuid-printers
(vhashq
- ('dce 'ext2 'ext3 'ext4 'btrfs 'jfs 'luks => dce-uuid->string)
+ ('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'jfs 'luks => dce-uuid->string)
('iso9660 => iso9660-uuid->string)
('fat32 'fat16 'fat => fat-uuid->string)
('ntfs => ntfs-uuid->string)))
diff --git a/guix/build-system/ocaml.scm b/guix/build-system/ocaml.scm
index c5996bf0cf..5513216c25 100644
--- a/guix/build-system/ocaml.scm
+++ b/guix/build-system/ocaml.scm
@@ -29,6 +29,8 @@
#:export (%ocaml-build-system-modules
package-with-ocaml4.07
strip-ocaml4.07-variant
+ package-with-ocaml4.09
+ strip-ocaml4.09-variant
default-findlib
default-ocaml
lower
@@ -96,6 +98,18 @@
(let ((module (resolve-interface '(gnu packages ocaml))))
(module-ref module 'ocaml4.07-dune)))
+(define (default-ocaml4.09)
+ (let ((ocaml (resolve-interface '(gnu packages ocaml))))
+ (module-ref ocaml 'ocaml-4.09)))
+
+(define (default-ocaml4.09-findlib)
+ (let ((module (resolve-interface '(gnu packages ocaml))))
+ (module-ref module 'ocaml4.09-findlib)))
+
+(define (default-ocaml4.09-dune)
+ (let ((module (resolve-interface '(gnu packages ocaml))))
+ (module-ref module 'ocaml4.09-dune)))
+
(define* (package-with-explicit-ocaml ocaml findlib dune old-prefix new-prefix
#:key variant-property)
"Return a procedure of one argument, P. The procedure creates a package
@@ -171,6 +185,19 @@ pre-defined variants."
(inherit p)
(properties (alist-delete 'ocaml4.07-variant (package-properties p)))))
+(define package-with-ocaml4.09
+ (package-with-explicit-ocaml (delay (default-ocaml4.09))
+ (delay (default-ocaml4.09-findlib))
+ (delay (default-ocaml4.09-dune))
+ "ocaml-" "ocaml4.09-"
+ #:variant-property 'ocaml4.09-variant))
+
+(define (strip-ocaml4.09-variant p)
+ "Remove the 'ocaml4.09-variant' property from P."
+ (package
+ (inherit p)
+ (properties (alist-delete 'ocaml4.09-variant (package-properties p)))))
+
(define* (lower name
#:key source inputs native-inputs outputs system target
(ocaml (default-ocaml))