summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2020-11-11 00:02:32 +0100
committerMarius Bakke <marius@gnu.org>2020-11-11 00:02:32 +0100
commita9a0d348743af1a25fd27b2b073f0fe2b46978b6 (patch)
treea398c8229d516c99e3e1f4a527939b583ba1f5bb /gnu
parent3dee2299aefaf954ce38073a8dc385ab21b559c2 (diff)
parent569cd538667dd8a0d0eacab2b326777c197260b8 (diff)
downloadguix-patches-a9a0d348743af1a25fd27b2b073f0fe2b46978b6.tar
guix-patches-a9a0d348743af1a25fd27b2b073f0fe2b46978b6.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'gnu')
-rw-r--r--gnu/build/chromium-extension.scm192
-rw-r--r--gnu/installer/parted.scm30
-rw-r--r--gnu/local.mk3
-rw-r--r--gnu/packages/ada.scm119
-rw-r--r--gnu/packages/algebra.scm11
-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/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.scm4
-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/databases.scm65
-rw-r--r--gnu/packages/dbm.scm8
-rw-r--r--gnu/packages/disk.scm4
-rw-r--r--gnu/packages/docbook.scm12
-rw-r--r--gnu/packages/education.scm4
-rw-r--r--gnu/packages/emacs-xyz.scm85
-rw-r--r--gnu/packages/embedded.scm20
-rw-r--r--gnu/packages/enchant.scm4
-rw-r--r--gnu/packages/engineering.scm8
-rw-r--r--gnu/packages/finance.scm4
-rw-r--r--gnu/packages/fontutils.scm5
-rw-r--r--gnu/packages/games.scm8
-rw-r--r--gnu/packages/gnome.scm70
-rw-r--r--gnu/packages/gnucash.scm21
-rw-r--r--gnu/packages/gnupg.scm1
-rw-r--r--gnu/packages/gnuzilla.scm21
-rw-r--r--gnu/packages/guile-xyz.scm15
-rw-r--r--gnu/packages/haskell-apps.scm4
-rw-r--r--gnu/packages/linux.scm11
-rw-r--r--gnu/packages/lisp-xyz.scm348
-rw-r--r--gnu/packages/mail.scm5
-rw-r--r--gnu/packages/music.scm23
-rw-r--r--gnu/packages/ocaml.scm112
-rw-r--r--gnu/packages/patches/sdcc-disable-non-free-code.patch3643
-rw-r--r--gnu/packages/piet.scm121
-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.scm16
-rw-r--r--gnu/packages/radio.scm10
-rw-r--r--gnu/packages/ruby.scm12
-rw-r--r--gnu/packages/scheme.scm6
-rw-r--r--gnu/packages/sdcc.scm10
-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/version-control.scm17
-rw-r--r--gnu/packages/video.scm38
-rw-r--r--gnu/packages/vpn.scm8
-rw-r--r--gnu/packages/web.scm29
-rw-r--r--gnu/packages/xdisorg.scm4
-rw-r--r--gnu/packages/xfce.scm8
-rw-r--r--gnu/packages/xml.scm4
-rw-r--r--gnu/services/guix.scm11
-rw-r--r--gnu/services/web.scm6
-rw-r--r--gnu/system/image.scm1
64 files changed, 5200 insertions, 286 deletions
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/installer/parted.scm b/gnu/installer/parted.scm
index f2352c5779..f592d315f5 100644
--- a/gnu/installer/parted.scm
+++ b/gnu/installer/parted.scm
@@ -758,11 +758,33 @@ cause them to cross."
dev-constraint))
(no-constraint (constraint-any device))
;; Try to create a partition with an optimal alignment
- ;; constraint. If it fails, fallback to creating a partition with
- ;; no specific constraint.
+ ;; constraint. If it fails, fallback to creating a partition
+ ;; with no specific constraint.
+ (partition-constraint-ok?
+ (disk-add-partition disk partition final-constraint))
+ (partition-no-contraint-ok?
+ (or partition-constraint-ok?
+ (disk-add-partition disk partition no-constraint)))
(partition-ok?
- (or (disk-add-partition disk partition final-constraint)
- (disk-add-partition disk partition no-constraint))))
+ (or partition-constraint-ok? partition-no-contraint-ok?)))
+ (syslog "Creating partition:
+~/type: ~a
+~/filesystem-type: ~a
+~/start: ~a
+~/end: ~a
+~/start-range: [~a, ~a]
+~/end-range: [~a, ~a]
+~/constraint: ~a
+~/no-constraint: ~a
+"
+ partition-type
+ (filesystem-type-name filesystem-type)
+ start-sector*
+ end-sector
+ (geometry-start start-range) (geometry-end start-range)
+ (geometry-start end-range) (geometry-end end-range)
+ partition-constraint-ok?
+ partition-no-contraint-ok?)
;; Set the partition name if supported.
(when (and partition-ok? has-name? name)
(partition-set-name partition name))
diff --git a/gnu/local.mk b/gnu/local.mk
index ac6eeba935..8705a72d53 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 \
@@ -1424,6 +1426,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 \
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/algebra.scm b/gnu/packages/algebra.scm
index 2dca86cbec..56d1d32ec7 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -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 6479398cb5..9f00392ebc 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/backup.scm b/gnu/packages/backup.scm
index f550f5724f..e5bc26519b 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 e189dd7b00..ec4c44ef54 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 935937e84d..0ca0653a54 100644
--- a/gnu/packages/check.scm
+++ b/gnu/packages/check.scm
@@ -2693,7 +2693,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/"
@@ -2701,7 +2701,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 818624f92e..4a8080785b 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -1672,7 +1672,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/databases.scm b/gnu/packages/databases.scm
index 130726bb13..a6c81792bb 100644
--- a/gnu/packages/databases.scm
+++ b/gnu/packages/databases.scm
@@ -237,7 +237,7 @@ standard Go idioms.")
(define-public ephemeralpg
(package
(name "ephemeralpg")
- (version "3.0")
+ (version "3.1")
(source
(origin
(method url-fetch)
@@ -245,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
@@ -1136,16 +1136,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)
@@ -1370,6 +1370,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"))
@@ -2420,17 +2421,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/")
@@ -3869,7 +3872,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
@@ -3878,23 +3881,21 @@ 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")))
(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 34cfe0a56e..1e31ad884e 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -581,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)
- (string-append "CC=" ,(cc-for-target)))))
+ (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 dfed78e434..d27d397775 100644
--- a/gnu/packages/emacs-xyz.scm
+++ b/gnu/packages/emacs-xyz.scm
@@ -1615,14 +1615,14 @@ incrementally confined in Isearch manner.")
(define emacs-emms-print-metadata
(package
(name "emacs-emms-print-metadata")
- (version "6.1")
+ (version "6.2")
(source
(origin
(method url-fetch)
(uri (string-append "https://elpa.gnu.org/packages/"
"emms-" version ".tar"))
(sha256
- (base32 "1r1n8i59c6dsyqbphja7fnb1gg8rgbdqd4gdnda6ldq6jfippwlr"))))
+ (base32 "0d95sjrh9vpl41vz26y8clgji987z15lj4ky2kr9yrl0zpa8yv35"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags '("emms-print-metadata")
@@ -8782,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
@@ -18589,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)
@@ -20517,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
@@ -20545,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)
@@ -20582,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
@@ -21645,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))
@@ -21655,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)
@@ -24342,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)
@@ -24351,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")
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/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/finance.scm b/gnu/packages/finance.scm
index ffbf3b218d..f05781d998 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)
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/games.scm b/gnu/packages/games.scm
index eb29f2a8e5..b94c5e32f3 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
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index 8c3b739083..a532b1b122 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -6007,7 +6007,7 @@ discovery protocols.")
(define-public totem
(package
(name "totem")
- (version "3.34.1")
+ (version "3.38.0")
(source
(origin
(method url-fetch)
@@ -6016,14 +6016,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)))
@@ -9981,14 +9981,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)
@@ -10003,7 +10003,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+)))
@@ -11479,6 +11479,62 @@ symbol tables, document templates, project management, spell-checking, menus
and toolbars.")
(license license:gpl3+)))
+(define-public setzer
+ (package
+ (name "setzer")
+ (version "0.3.5")
+ (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 "1qdffi6hws1a104bqzpaxbbjimjcwwmhgb3baiwh0w0b8nhbmhjl"))))
+ (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 0b16796b13..4335f3ece6 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -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/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/linux.scm b/gnu/packages/linux.scm
index 7bc9a46d1f..7193d1b5f9 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1009,6 +1009,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 ba0bad252c..063c88210c 100644
--- a/gnu/packages/lisp-xyz.scm
+++ b/gnu/packages/lisp-xyz.scm
@@ -1601,7 +1601,7 @@ writing code that contains string literals that contain code themselves.")
(define-public sbcl-slime-swank
(package
(name "sbcl-slime-swank")
- (version "2.24")
+ (version "2.26")
(source
(origin
(file-name (git-file-name "slime-swank" version))
@@ -1611,7 +1611,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/sbcl)
(arguments
'(#:asd-systems '("swank")))
@@ -5563,8 +5563,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)
@@ -5579,7 +5579,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)))
@@ -7045,8 +7045,8 @@ by Chris Riesbeck.")
(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))
@@ -7059,7 +7059,7 @@ by Chris Riesbeck.")
(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
@@ -10426,6 +10426,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")
@@ -11032,3 +11096,271 @@ 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-files '("cl-custom-hash-table.asd")
+ #:asd-systems '("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)))
+ (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" ,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..488e714976 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)
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/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/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/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/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 228dd594b1..016efb51d3 100644
--- a/gnu/packages/python-crypto.scm
+++ b/gnu/packages/python-crypto.scm
@@ -1189,13 +1189,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 384caddd6b..f24b2ca143 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 7170b867a7..312c26042f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -3457,8 +3457,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+))))
@@ -10900,14 +10903,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
@@ -21448,13 +21450,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)
diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm
index f54a8aae6f..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.13.3")
+ (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 "0awj5wzq0p677my0065rpqkmfl3jc0bjdrnip8715z8031cd923n"))))
+ (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 2bef683b4a..fafa7436a0 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/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/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/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 c17e105fd5..60a3928e32 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.
;;;
@@ -2344,7 +2345,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 +2354,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
@@ -2987,11 +2988,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/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.scm b/gnu/packages/web.scm
index b07f9e4d44..fb23115e1a 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -5634,14 +5634,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
@@ -5774,13 +5774,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")
@@ -5848,18 +5848,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/xdisorg.scm b/gnu/packages/xdisorg.scm
index be8d0234f9..4325150ced 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 240b73fe2e..904ad19a08 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
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/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/web.scm b/gnu/services/web.scm
index 7e17dac6e2..53858436fa 100644
--- a/gnu/services/web.scm
+++ b/gnu/services/web.scm
@@ -668,6 +668,12 @@ of index files."
'#$lua-package-cpath)
";"))
"")
+ (if server-names-hash-bucket-size
+ (string-append
+ " server_names_hash_bucket_size "
+ (number->string server-names-hash-bucket-size)
+ ";\n")
+ "")
(if server-names-hash-bucket-max-size
(string-append
" server_names_hash_bucket_max_size "
diff --git a/gnu/system/image.scm b/gnu/system/image.scm
index 4075a26552..81152f0fc4 100644
--- a/gnu/system/image.scm
+++ b/gnu/system/image.scm
@@ -414,6 +414,7 @@ image ~a {
out-image))
(convert-disk-image out-image '#$format #$output)))))
(computed-file name builder
+ #:local-build? #f ;too I/O-intensive
#:options `(#:substitutable? ,substitutable?))))