diff options
Diffstat (limited to 'gnu')
102 files changed, 6365 insertions, 597 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/build/file-systems.scm b/gnu/build/file-systems.scm index 8ec8eac896..b762e82ad2 100644 --- a/gnu/build/file-systems.scm +++ b/gnu/build/file-systems.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 David C. Trudgian <dave@trudgian.net> ;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; @@ -218,6 +218,58 @@ if DEVICE does not contain an linux-swap file system." "Return the label of Linux-swap superblock SBLOCK as a string." (null-terminated-latin1->string (sub-bytevector sblock (+ 1024 4 4 4 16) 16))) + + +;;; +;;; Bcachefs file systems. +;;; + +;; <https://evilpiepirate.org/git/bcachefs-tools.git/tree/libbcachefs/bcachefs_format.h> + +(define-syntax %bcachefs-endianness + ;; Endianness of bcachefs file systems. + (identifier-syntax (endianness little))) + +(define (bcachefs-superblock? sblock) + "Return #t when SBLOCK is an bcachefs superblock." + (bytevector=? (sub-bytevector sblock 24 16) + #vu8(#xc6 #x85 #x73 #xf6 #x4e #x1a #x45 #xca + #x82 #x65 #xf5 #x7f #x48 #xba #x6d #x81))) + +(define (read-bcachefs-superblock device) + "Return the raw contents of DEVICE's bcachefs superblock as a bytevector, or #f +if DEVICE does not contain a bcachefs file system." + ;; We completely ignore the back-up superblock & any checksum errors. + ;; Superblock field names, with offset & length respectively, in bytes: + ;; 0 16 bch_csum + ;; 16 8 version + ;; 24 16 magic + ;; 40 16 uuid ← ‘internal UUID’, you probably don't want this + ;; 56 16 user_uuid ← ‘external UUID’, the one by which to mount + ;; 72 32 label + ;; … there are more & the superblock is extensible, but we don't care yet. + (read-superblock device 4096 104 bcachefs-superblock?)) + +(define (bcachefs-superblock-external-uuid sblock) + "Return the external UUID of bcachefs superblock SBLOCK as a 16-byte +bytevector." + (sub-bytevector sblock 56 16)) + +(define (bcachefs-superblock-volume-name sblock) + "Return the volume name of SBLOCK as a string of at most 32 characters, or +#f if SBLOCK has no volume name." + (null-terminated-latin1->string (sub-bytevector sblock 72 32))) + +(define (check-bcachefs-file-system device) + "Return the health of a bcachefs file system on DEVICE." + (match (status:exit-val + (apply system* "bcachefs" "fsck" "-p" "-v" + ;; Make each multi-device member a separate argument. + (string-split device #\:))) + (0 'pass) + (1 'errors-corrected) + (2 'reboot-required) + (_ 'fatal-error))) ;;; @@ -638,6 +690,8 @@ partition field reader that returned a value." ext2-superblock-volume-name) (partition-field-reader read-linux-swap-superblock linux-swap-superblock-volume-name) + (partition-field-reader read-bcachefs-superblock + bcachefs-superblock-volume-name) (partition-field-reader read-btrfs-superblock btrfs-superblock-volume-name) (partition-field-reader read-fat32-superblock @@ -656,6 +710,8 @@ partition field reader that returned a value." ext2-superblock-uuid) (partition-field-reader read-linux-swap-superblock linux-swap-superblock-uuid) + (partition-field-reader read-bcachefs-superblock + bcachefs-superblock-external-uuid) (partition-field-reader read-btrfs-superblock btrfs-superblock-uuid) (partition-field-reader read-fat32-superblock @@ -763,6 +819,7 @@ containing ':/')." (define check-procedure (cond ((string-prefix? "ext" type) check-ext2-file-system) + ((string-prefix? "bcachefs" type) check-bcachefs-file-system) ((string-prefix? "btrfs" type) check-btrfs-file-system) ((string-suffix? "fat" type) check-fat-file-system) ((string-prefix? "jfs" type) check-jfs-file-system) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 32e3536039..bfaac9ec1f 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2016, 2017, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> ;;; @@ -110,6 +111,58 @@ OPTION doesn't appear in ARGUMENTS." (substring arg (+ 1 (string-index arg #\=))))) arguments))) +(define (resume-if-hibernated device) + "Resume from hibernation if possible. This is safe ONLY if no on-disk file +systems have been mounted; calling it later risks severe file system corruption! +See <Documentation/swsusp.txt> in the kernel source directory. This is the +caller's responsibility, as is catching exceptions if resumption was supposed to +happen but didn't. + +Resume only from DEVICE if it's a string. If it's #f, use the kernel's default +hibernation device (CONFIG_PM_STD_PARTITION). Never return if resumption +succeeds. Return nothing otherwise. The kernel logs any details to dmesg." + + (define (string->major:minor string) + "Return a string with MAJOR:MINOR numbers of the device specified by STRING" + + ;; The "resume=" kernel command-line option always provides a string, which + ;; can represent a device, a UUID, or a label. Check for all three. + (let* ((spec (cond ((string-prefix? "/" string) string) + ((uuid string) => identity) + (else (file-system-label string)))) + ;; XXX The kernel's swsusp_resume_can_resume() waits if ‘resumewait’ + ;; is found on the command line; our canonicalize-device-spec gives + ;; up after 20 seconds. We could emulate the former by looping… + (device (canonicalize-device-spec spec)) + (rdev (stat:rdev (stat device))) + ;; For backwards compatibility, device numbering is a baroque affair. + ;; This is the full 64-bit scheme used by glibc's <sys/sysmacros.h>. + (major (logior (ash (logand #x00000000000fff00 rdev) -8) + (ash (logand #xfffff00000000000 rdev) -32))) + (minor (logior (logand #x00000000000000ff rdev) + (ash (logand #x00000ffffff00000 rdev) -12)))) + (format #f "~a:~a" major minor))) + + ;; Write the resume DEVICE to this magic file, using the MAJOR:MINOR device + ;; numbers if possible. The kernel will immediately try to resume from it. + (let ((resume "/sys/power/resume")) + (when (file-exists? resume) ; this kernel supports hibernation + ;; Honour the kernel's default device (only) if none other was given. + (let ((major:minor (if device + (or (false-if-exception (string->major:minor + device)) + ;; We can't parse it. Maybe the kernel can. + device) + (let ((default (call-with-input-file resume + read-line))) + ;; Don't waste time echoing 0:0 to /sys. + (if (string=? "0:0" default) + #f + default))))) + (when major:minor + (call-with-output-file resume ; may throw an ‘Invalid argument’ + (cut display major:minor <>))))))) ; may never return + (define* (make-disk-device-nodes base major #:optional (minor 0)) "Make the block device nodes around BASE (something like \"/root/dev/sda\") with the given MAJOR number, starting with MINOR." @@ -507,6 +560,12 @@ upon error." (load-linux-modules-from-directory linux-modules linux-module-directory) + (unless (member "noresume" args) + ;; Try to resume immediately after loading (storage) modules + ;; but before any on-disk file systems have been mounted. + (false-if-exception ; failure is not fatal + (resume-if-hibernated (find-long-option "resume" args)))) + (when keymap-file (let ((status (system* "loadkeys" keymap-file))) (unless (zero? status) diff --git a/gnu/installer/newt/parameters.scm b/gnu/installer/newt/parameters.scm index 95112b5780..8fb1aa3abb 100644 --- a/gnu/installer/newt/parameters.scm +++ b/gnu/installer/newt/parameters.scm @@ -20,6 +20,7 @@ #:use-module (gnu installer proxy) #:use-module (gnu installer steps) #:use-module (gnu installer newt page) + #:use-module (guix build syscalls) #:use-module (guix i18n) #:use-module (ice-9 match) #:use-module (newt) @@ -40,7 +41,8 @@ empty string, proxy usage will be disabled.") (let* ((items (list (cons (G_ "Change keyboard layout") keyboard-layout-selection) - (cons (G_ "Configure HTTP proxy") run-proxy-page))) + (cons (G_ "Configure HTTP proxy") run-proxy-page) + (cons (G_ "Reboot") reboot))) (result (run-listbox-selection-page #:info-text (G_ "Please choose one of the following parameters or \ diff --git a/gnu/installer/newt/partition.scm b/gnu/installer/newt/partition.scm index 8561eb1ecf..81cf68d782 100644 --- a/gnu/installer/newt/partition.scm +++ b/gnu/installer/newt/partition.scm @@ -64,7 +64,7 @@ are being formatted." ;; of device names of the user partitions that will be formatted. (run-confirmation-page (format #f (G_ "We are about to write the configured \ partition table to the disk and format the partitions listed below. Their \ -data will be lost. Do you wish to continue?~%~{ - ~a~%~}") +data will be lost. Do you wish to continue?~%~%~{ - ~a~%~}") (map user-partition-file-name (filter user-partition-need-formatting? partitions))) diff --git a/gnu/local.mk b/gnu/local.mk index d5a13cbdbd..b5f9c56324 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -111,6 +111,7 @@ GNU_SYSTEM_MODULES = \ %D%/packages/boost.scm \ %D%/packages/bootloaders.scm \ %D%/packages/bootstrap.scm \ + %D%/packages/browser-extensions.scm \ %D%/packages/build-tools.scm \ %D%/packages/busybox.scm \ %D%/packages/c.scm \ @@ -657,6 +658,7 @@ GNU_SYSTEM_MODULES = \ %D%/build/accounts.scm \ %D%/build/activation.scm \ %D%/build/bootloader.scm \ + %D%/build/chromium-extension.scm \ %D%/build/cross-toolchain.scm \ %D%/build/image.scm \ %D%/build/file-systems.scm \ @@ -1386,7 +1388,6 @@ dist_patch_DATA = \ %D%/packages/patches/nvi-dbpagesize-binpower.patch \ %D%/packages/patches/nvi-db4.patch \ %D%/packages/patches/nyacc-binary-literals.patch \ - %D%/packages/patches/oath-toolkit-glibc-compat.patch \ %D%/packages/patches/ocaml-bitstring-fix-configure.patch \ %D%/packages/patches/ocaml-CVE-2015-8869.patch \ %D%/packages/patches/ocaml-Add-a-.file-directive.patch \ @@ -1427,6 +1428,7 @@ dist_patch_DATA = \ %D%/packages/patches/plasma-framework-fix-KF5PlasmaMacros.cmake.patch \ %D%/packages/patches/ppsspp-disable-upgrade-and-gold.patch \ %D%/packages/patches/samba-fix-fcntl-hint-detection.patch \ + %D%/packages/patches/sdcc-disable-non-free-code.patch \ %D%/packages/patches/sdl-pango-api_additions.patch \ %D%/packages/patches/sdl-pango-blit_overflow.patch \ %D%/packages/patches/sdl-pango-fillrect_crash.patch \ @@ -1726,6 +1728,7 @@ dist_patch_DATA = \ %D%/packages/patches/xsane-fix-snprintf-buffer-length.patch \ %D%/packages/patches/xsane-support-ipv6.patch \ %D%/packages/patches/xsane-tighten-default-umask.patch \ + %D%/packages/patches/yggdrasil-extra-config.patch \ %D%/packages/patches/zziplib-CVE-2018-16548.patch MISC_DISTRO_FILES = \ diff --git a/gnu/packages/ada.scm b/gnu/packages/ada.scm index e58b0d7754..d24aa2b168 100644 --- a/gnu/packages/ada.scm +++ b/gnu/packages/ada.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,10 +25,126 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module (gnu packages) + #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages python) - #:use-module (gnu packages python-xyz)) + #:use-module (gnu packages python-xyz) + #:use-module (ice-9 match)) + +(define-public ada/ed + (package + (name "ada-ed") + (version "1.11.2") + (source + (origin + (method git-fetch) + (uri (git-reference + ;; The HOME-PAGE sources, mirrored by one of the original authors. + (url "https://github.com/daveshields/AdaEd") + (commit "57daecfb7ccadfd9aaf13b4d54f51065affbe599"))) + (sha256 + (base32 "1k97a8nqsvbsadizrmhhypcx758sxqkai8wq3ckk853qxvzaasd8")) + (file-name (git-file-name name version)))) + (build-system gnu-build-system) + (supported-systems (list "i686-linux" "x86_64-linux" + "armhf-linux" "aarch64-linux")) + (outputs (list "out" "debug")) + (arguments + `(#:system + ,@(match (%current-system) + ;; This package predates 64-bit PCs: a ‘64-bit’ adaexec segfaults. + ;; Force a 32-bit build targeting a similar architecture. + ((or "armhf-linux" "aarch64-linux") + `("armhf-linux")) + (_ + `("i686-linux"))) + #:make-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append + "CFLAGS=-g" ; compile with :debug symbols + " -DOP_SYS='\"GNU\"'" ; sic; quoting gets mangled somewhere + " -DSYSTEM_V" ; closest to modern GNU + " -DWORDSIZE32" + " -DALIGN4") ; suffices on both x86 and ARM + "LFLAGS=" ; don't link against -lg + (string-append "BINDIR=" out "/bin") + (string-append "LIBDIR=" out "/lib") + (string-append "MANDIR=" out "/share/man"))) + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-sources + (lambda _ + ;; Rename the custom (and incompatible) getline() implementation. + (substitute* "adalex.c" + (("getline") "adaed_getline")) + ;; Work around ‘error: initializer element is not constant’ by not + ;; initialising MSGFILE. + (substitute* "vars.ch" + (("INIT\\(stdout\\)") "")) + #t)) + (delete 'configure) ; no configure script + (add-before 'build 'find-build-scripts + (lambda _ + (setenv "PATH" (string-append ".:" (getenv "PATH"))) + #t)) + (add-after 'build 'build-predef + (lambda* (#:key make-flags #:allow-other-keys) + ;; These aren't otherwise compiled until the ‘install’ phase. + (apply invoke "make" "predef" make-flags) + #t)) + (delete 'check) ; no test suite; run our own below + (add-before 'install 'create-output-directories + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/share/man/manl")) + #t))) + (add-after 'install 'check + ;; Run most of the included demos as our own ‘test suite’. + (lambda* (#:key outputs tests? #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (when tests? + (setenv "ADAED" (string-append out "/lib")) + (setenv "PATH" (string-append out "/bin:" (getenv "PATH"))) + (with-directory-excursion "demos" ; won't run outside of it + (for-each + delete-file + '("runc" ; ‘invalid data. Please make it a positive no.’ + "rund" ; deadlocks by design + "rune" ; ‘dining2.ada: No such file or directory’ + "rung")) ; ‘mathlib cannot be used as a library’ (!) + (for-each (lambda (script) + (format #t "\n=== Invoking ~a ===\n" script) + (invoke script)) + (find-files "." "^run"))))))) + (add-after 'install 'clean-up-output + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion out + ;; These needn't be executable. + (for-each (cut chmod <> #o644) + (append (find-files "lib" "\\....$") + (find-files "share" "."))) + #t))))))) + (native-inputs + `(("sed" ,sed))) + (home-page (string-append "https://web.archive.org/web/20140902150609/" + "http://www2.informatik.uni-stuttgart.de/iste/ps/" + "ada-software/html/dos_ada.html")) + (synopsis "Ada 83 interpreter") + (description "Ada/Ed is a translator-interpreter for Ada 83. It's intended +primarily as a teaching tool and lacks the capacity, performance, and robustness +of other contemporary or modern-day Ada compilers. + +Ada/Ed was the first Ada compiler to pass the @acronym{ACVC, Ada Compiler +Validation Suite} version 1.7 but fails many newer tests and is not a validated +Ada system. Being an interpreter, it does not implement most representation +clauses, and thus does not support systems programming close to the machine +level.") + (license license:gpl2+))) (define-public python2-langkit (let ((commit "fe0bc8bf60dbd2937759810df76ac420d99fc15f") diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 24833a04d5..6aa8d8721d 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -1842,7 +1842,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") (define-public acpica (package (name "acpica") - (version "20200717") + (version "20200925") (source (origin (method url-fetch) (uri (string-append @@ -1850,7 +1850,7 @@ module slots, and the list of I/O ports (e.g. serial, parallel, USB).") version ".tar.gz")) (sha256 (base32 - "0jyy71szjr40c8v40qqw6yh3gfk8d6sl3nay69zrn5d88i3r0jca")))) + "18n6129fkgj85piid7v4zxxksv3h0amqp4p977vcl9xg3bq0zd2w")))) (build-system gnu-build-system) (native-inputs `(("flex" ,flex) ("bison" ,bison))) @@ -3393,7 +3393,7 @@ make it a perfect utility on modern distros.") (define-public thermald (package (name "thermald") - (version "2.2") + (version "2.3") (source (origin (method git-fetch) @@ -3402,30 +3402,47 @@ make it a perfect utility on modern distros.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1nrhv3bypyc48h9smj5cpq63rawm6vqyg3cwkhpz69rgjnf1283m")))) + (base32 "0cisaca2c2z1x9xvxc4lr6nl6yqx5bww6brh73m0p1n643jgq1dl")))) (build-system gnu-build-system) (arguments `(#:configure-flags (let ((out (assoc-ref %outputs "out"))) (list (string-append "--with-dbus-sys-dir=" out "/etc/dbus-1/system.d") - "--localstatedir=/var")))) + "--localstatedir=/var")) + #:make-flags + (list "V=1") ; log build commands + #:phases + (modify-phases %standard-phases + (add-before 'bootstrap 'no-early-./configure + (lambda _ + (setenv "NO_CONFIGURE" "yet") + ;; XXX thd_trip_point.h redefines "__STDC_LIMIT_MACROS" after + ;; <xz>/include/lzma.h. ./configure forcibly appends -Werror + ;; to CXXFLAGS, overriding any -Wno-error we'd add. + (substitute* "configure.ac" + (("-Werror") "")) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("autoconf-archive" ,autoconf-archive) ("automake" ,automake) ("glib" ,glib "bin") ; for glib-genmarshal, etc. + ("gtk-doc" ,gtk-doc) ("pkg-config" ,pkg-config))) (inputs `(("dbus-glib" ,dbus-glib) - ("libxml2" ,libxml2))) + ("libevdev" ,libevdev) + ("libxml2" ,libxml2) + ("upower" ,upower) + ("xz" ,xz))) (home-page "https://01.org/linux-thermal-daemon/") (synopsis "CPU scaling for thermal management") (description "The Linux Thermal Daemon helps monitor and control temperature on systems running the Linux kernel.") ;; arm and aarch64 don't have cpuid.h. (supported-systems '("i686-linux" "x86_64-linux")) - (license license:gpl2+))) + (license license:gpl2))) (define-public masscan (package diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 2dca86cbec..ed35a6832f 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -355,7 +355,7 @@ precision.") (define-public giac (package (name "giac") - (version "1.6.0-25") + (version "1.6.0-31") (source (origin (method url-fetch) @@ -367,7 +367,7 @@ precision.") "~parisse/debian/dists/stable/main/source/" "giac_" version ".tar.gz")) (sha256 - (base32 "11kik2csdg9wy0npiih21kaag0nc89i9ldgk7ak7gvf9ycddm6mh")))) + (base32 "1dr1y88sx2gzldn0zl6p8b1ngjjcmh89iv4kzyhi2cf74j3yw85m")))) (build-system gnu-build-system) (arguments `(#:modules ((ice-9 ftw) @@ -1008,8 +1008,11 @@ Optional thin wrappers allow usage of the library from other languages.") (version "3.3.7") (source (origin (method url-fetch) - (uri (string-append "https://bitbucket.org/eigen/eigen/get/" - version ".tar.bz2")) + (uri (list + (string-append "https://bitbucket.org/eigen/eigen/get/" + version ".tar.bz2") + (string-append "mirror://debian/pool/main/e/eigen3/eigen3_" + version ".orig.tar.bz2"))) (sha256 (base32 "1km3fyfzyqfdvmnl79drps3fjwnz3zbh0c7l34mfbqyvvs8cy4wz")) @@ -1089,7 +1092,7 @@ features, and more.") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/QuantStack/xtensor") + (url "https://github.com/xtensor-stack/xtensor") (commit version))) (sha256 (base32 @@ -1103,7 +1106,7 @@ features, and more.") `(#:configure-flags '("-DBUILD_TESTS=ON") #:test-target "xtest")) - (home-page "https://quantstack.net/xtensor") + (home-page "https://xtensor.readthedocs.io/en/latest/") (synopsis "C++ tensors with broadcasting and lazy computing") (description "xtensor is a C++ library meant for numerical analysis with multi-dimensional array expressions. diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm index 7d3c2ef1c3..7a6d20116f 100644 --- a/gnu/packages/aspell.scm +++ b/gnu/packages/aspell.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014, 2015, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> ;;; Copyright © 2016 John Darrington <jmd@gnu.org> -;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu> ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> @@ -11,6 +11,7 @@ ;;; Copyright © 2020 Marcin Karpezo <sirmacik@wioo.waw.pl> ;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de> ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net> +;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -170,6 +171,13 @@ dictionaries, including personal ones.") (hash (content-hash sha256)))) (home-page "https://www.softcatala.org/pub/softcatala/aspell/")))) +(define-public aspell-dict-cs + (aspell-dictionary "cs" "Czech" + #:version "20040614-1" + #:sha256 + (base32 + "0rihj4hsw96pd9casvmpvw3r8040pfa28p1h73x4vyn20zwr3h01"))) + (define-public aspell-dict-de (aspell-dictionary "de" "German" #:version "20161207-7-0" @@ -275,6 +283,7 @@ dictionaries, including personal ones.") (define-public aspell-dict-mi (aspell-dictionary "mi" "Maori" #:version "0.50-0" + #:prefix "aspell-" #:sha256 (base32 "12bxplpd348yx8d2q8qvahi9dlp7qf28qmanzhziwc7np8rixvmy"))) @@ -290,6 +299,7 @@ dictionaries, including personal ones.") (define-public aspell-dict-nn (aspell-dictionary "nn" "Norwegian Nynorsk" #:version "0.50.1-1" + #:prefix "aspell-" #:sha256 (base32 "0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc"))) @@ -297,6 +307,7 @@ dictionaries, including personal ones.") (define-public aspell-dict-pl (aspell-dictionary "pl" "Polish" #:version "0.51-0" + #:prefix "aspell-" #:sha256 (base32 "1a3ccji6k5gys7l3ilr2lh5pzxgzb7ipc5vb737svl6nqgdy8757"))) @@ -363,8 +374,8 @@ dictionaries, including personal ones.") (source (origin (method url-fetch) (uri (string-append - "http://downloads.sourceforge.net/wordlist/scowl-" - version ".tar.gz")) + "mirror://sourceforge/wordlist/SCOWL/" + version "/scowl-" version ".tar.gz")) (sha256 (base32 "11lkrnhwrf5mvrrq45k4mads3n9aswgac8dc25ba61c75alxb5rs")))) diff --git a/gnu/packages/assembly.scm b/gnu/packages/assembly.scm index 12954c9c1f..7cd45cca9d 100644 --- a/gnu/packages/assembly.scm +++ b/gnu/packages/assembly.scm @@ -265,7 +265,7 @@ runtime") (source (origin (method git-fetch) (uri (git-reference - (url "https://github.com/rednex/rgbds") + (url "https://github.com/gbdev/rgbds") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 @@ -292,7 +292,7 @@ runtime") ("util-linux" ,util-linux))) (inputs `(("libpng" ,libpng))) - (home-page "https://github.com/rednex/rgbds") + (home-page "https://github.com/gbdev/rgbds") (synopsis "Rednex Game Boy Development System") (description "RGBDS (Rednex Game Boy Development System) is an assembler/linker diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 6733c8d212..466d17f29d 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -4,7 +4,7 @@ ;;; Copyright © 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2015 Alex Kost <alezost@gmail.com> ;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org> -;;; Copyright © 2016, 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017 Alex Griffin <a@ajgrf.com> ;;; Copyright © 2016 Nikita <nikita@n0.is> ;;; Copyright © 2016 Lukas Gradl <lgradl@openmailbox.org> @@ -3522,8 +3522,11 @@ interface.") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/qsynth/qsynth/" version - "/qsynth-" version ".tar.gz")) + (uri (list + (string-append "mirror://sourceforge/qsynth/qsynth/" version + "/qsynth-" version ".tar.gz") + (string-append "mirror://sourceforge/qsynth/qsynth (attic)" + "/qsynth-" version ".tar.gz"))) (sha256 (base32 "18im4w8agj60nkppwbkxqnhpp13z5li3w30kklv4lgs20rvgbvl6")))) (build-system gnu-build-system) @@ -3802,8 +3805,11 @@ machine-readable ASCII format.") (version "3.0.10") (source (origin (method url-fetch) - (uri (string-append "http://etree.org/shnutils/shntool/dist/src/" - "shntool-" version ".tar.gz")) + (uri (list + (string-append "http://etree.org/shnutils/shntool/dist/src/" + "shntool-" version ".tar.gz") + (string-append "mirror://debian/pool/main/s/shntool/shntool_" + version ".orig.tar.gz"))) (sha256 (base32 "00i1rbjaaws3drkhiczaign3lnbhr161b7rbnjr8z83w8yn2wc3l")))) diff --git a/gnu/packages/authentication.scm b/gnu/packages/authentication.scm index b3ff912c8f..52ab445775 100644 --- a/gnu/packages/authentication.scm +++ b/gnu/packages/authentication.scm @@ -33,26 +33,14 @@ (define-public oath-toolkit (package (name "oath-toolkit") - (version "2.6.2") + (version "2.6.3") (source (origin (method url-fetch) (uri (string-append "https://download.savannah.nongnu.org/releases/" name "/" name "-" version ".tar.gz")) - (patches - (append (search-patches "oath-toolkit-glibc-compat.patch") - (list (origin - ;; This huge commit updates gnulib for GCC 7 compatibility. - (method url-fetch) - (uri (string-append - "https://gitlab.com/oath-toolkit/oath-toolkit/commit/" - "2fffce2a471f74a585939c84cce16ef3015e5d3d.diff")) - (file-name "oath-toolkit-update-gnulib.patch") - (sha256 - (base32 - "088c9s4ay1b54bjqc4mwfs5l3f6357zj5vpw771zlq5g4addd4s0")))))) (sha256 - (base32 "182ah8vfbg0yhv6mh1b6ap944d0na6x7lpfkwkmzb6jl9gx4cd5h")))) + (base32 "1cjial8njck2sd7452jcxspbi5h5fnp3n8v3wbmlw8fzqmgzvxx1")))) (build-system gnu-build-system) (arguments ;; TODO ‘--enable-pskc’ causes xmlsec-related test suite failures. diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 2f8a0da0cf..15b1eb17c7 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -1072,7 +1072,7 @@ interactive mode.") (define-public burp (package (name "burp") - (version "2.3.36") + (version "2.3.38") (source (origin (method git-fetch) @@ -1080,7 +1080,7 @@ interactive mode.") (url "https://github.com/grke/burp") (commit version))) (sha256 - (base32 "18gj1sv1naql0xais01yniyzs8dxc8xk5sk8y9hsc0cd93mxgk17")) + (base32 "0m0s6rrgxn3l6bad45vyhks6iz6bwvd0f3rzdsc7l28gar79wsj6")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (arguments diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 4c49b00252..06972dee51 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4470,26 +4470,40 @@ experiments.") ;; The PyPi tarball does not contain tests. (method git-fetch) (uri (git-reference - (url "https://github.com/taoliu/MACS") + (url "https://github.com/macs3-project/MACS") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 - "1c5gxr0mk6hkd4vclf0k00wvyvzw2vrmk52c85338p7aqjwg6n15")))) + "1c5gxr0mk6hkd4vclf0k00wvyvzw2vrmk52c85338p7aqjwg6n15")) + (modules '((guix build utils))) + ;; Remove files generated by Cython + (snippet + '(begin + (for-each (lambda (file) + (let ((generated-file + (string-append (string-drop-right file 3) "c"))) + (when (file-exists? generated-file) + (delete-file generated-file)))) + (find-files "." "\\.pyx$")) + (delete-file "MACS2/IO/CallPeakUnitPrecompiled.c") + #t)))) (build-system python-build-system) (arguments `(#:phases (modify-phases %standard-phases - (delete 'check) - (add-after 'install 'check - (lambda* (#:key inputs outputs #:allow-other-keys) - (add-installed-pythonpath inputs outputs) - (invoke "pytest" "-v")))))) + (replace 'check + (lambda* (#:key tests? inputs outputs #:allow-other-keys) + (when tests? + (add-installed-pythonpath inputs outputs) + (invoke "pytest" "-v")) + #t))))) (inputs `(("python-numpy" ,python-numpy))) (native-inputs - `(("python-pytest" ,python-pytest))) - (home-page "https://github.com/taoliu/MACS/") + `(("python-cython" ,python-cython) + ("python-pytest" ,python-pytest))) + (home-page "https://github.com/macs3-project/MACS") (synopsis "Model based analysis for ChIP-Seq data") (description "MACS is an implementation of a ChIP-Seq analysis algorithm for diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 7034085d67..e3e49288ad 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2016, 2017 Danny Milosavljevic <dannym@scratchpost.org> ;;; Copyright © 2016, 2017 David Craven <david@craven.ch> -;;; Copyright © 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 nee <nee@cock.li> ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com> @@ -115,11 +115,12 @@ ;; determine the root file system when it's a RAID ;; device. Failing to do that, 'grub-probe' silently ;; fails if 'mdadm' is not in $PATH. - (substitute* "grub-core/osdep/linux/getroot.c" - (("argv\\[0\\] = \"mdadm\"") - (string-append "argv[0] = \"" - (assoc-ref inputs "mdadm") - "/sbin/mdadm\""))) + (when (assoc-ref inputs "mdadm") + (substitute* "grub-core/osdep/linux/getroot.c" + (("argv\\[0\\] = \"mdadm\"") + (string-append "argv[0] = \"" + (assoc-ref inputs "mdadm") + "/sbin/mdadm\"")))) ;; Make the font visible. (copy-file (assoc-ref (or native-inputs inputs) diff --git a/gnu/packages/browser-extensions.scm b/gnu/packages/browser-extensions.scm new file mode 100644 index 0000000000..826767092a --- /dev/null +++ b/gnu/packages/browser-extensions.scm @@ -0,0 +1,123 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2020 Marius Bakke <marius@gnu.org> +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. + +(define-module (gnu packages browser-extensions) + #:use-module (guix packages) + #:use-module (guix git-download) + #:use-module (guix build-system copy) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu build chromium-extension) + #:use-module (gnu packages compression) + #:use-module (gnu packages python)) + +(define play-to-kodi + (package + (name "play-to-kodi") + (version "1.9.1") + (home-page "https://github.com/khloke/play-to-xbmc-chrome") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "01rmcpbkn9vhcd8mrah2jmd2801k2r5fz7aqvp22hbwmh2z5f1ch")))) + (build-system copy-build-system) + (synopsis "Send website contents to Kodi") + (description + "Play to Kodi is a browser add-on that can send video, audio, and other +supported content to the Kodi media center.") + (license license:expat))) + +(define-public play-to-kodi/chromium + (make-chromium-extension play-to-kodi)) + +(define uassets + (let ((commit "0cef83c9fc68fdad8f3ee9dc07f6356ebc12791c")) + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/uBlockOrigin/uAssets.git") + (commit commit))) + (file-name (git-file-name "uAssets" (string-take commit 9))) + (sha256 + (base32 + "13mjql3rr5f3zilx05i8r7slnp7xyj6zn43dcfl3gdgi8ik483dd"))))) + +(define ublock-origin + (package + (name "ublock-origin") + (version "1.30.6") + (home-page "https://github.com/gorhill/uBlock") + (source (origin + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "10arx4r4s8125g9zlh3bcjpcb4qh2wzfmvqc2x8nly5fbxvxvns3")))) + (build-system gnu-build-system) + (outputs '("xpi" "firefox" "chromium")) + (arguments + '(#:tests? #f ;no tests + #:allowed-references () + #:phases + (modify-phases (map (lambda (phase) + (assq phase %standard-phases)) + '(set-paths unpack patch-source-shebangs)) + (add-after 'unpack 'link-uassets + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (symlink (string-append (assoc-ref (or native-inputs inputs) + "uassets")) + "../uAssets") + #t)) + (add-after 'unpack 'make-files-writable + (lambda _ + ;; The build system copies some files and later tries + ;; modifying them. + (for-each make-file-writable (find-files ".")) + #t)) + (add-after 'patch-source-shebangs 'build-xpi + (lambda _ + (invoke "./tools/make-firefox.sh" "all"))) + (add-after 'build-xpi 'build-chromium + (lambda _ + (invoke "./tools/make-chromium.sh"))) + (add-after 'build-chromium 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((firefox (assoc-ref outputs "firefox")) + (xpi (assoc-ref outputs "xpi")) + (chromium (assoc-ref outputs "chromium"))) + (install-file "dist/build/uBlock0.firefox.xpi" + (string-append xpi "/lib/mozilla/extensions")) + (copy-recursively "dist/build/uBlock0.firefox" firefox) + (copy-recursively "dist/build/uBlock0.chromium" chromium) + #t)))))) + (native-inputs + `(("python" ,python-wrapper) + ("uassets" ,uassets) + ("zip" ,zip))) + (synopsis "Block unwanted content from web sites") + (description + "uBlock Origin is a @dfn{wide spectrum blocker} for IceCat and +ungoogled-chromium.") + (license license:gpl3+))) + +(define-public ublock-origin/chromium + (make-chromium-extension ublock-origin "chromium")) diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm index 493d99387c..4069bd8124 100644 --- a/gnu/packages/c.scm +++ b/gnu/packages/c.scm @@ -370,7 +370,7 @@ any other grammar rules.") (define-public sparse (package (name "sparse") - (version "0.6.2") + (version "0.6.3") (source (origin (method url-fetch) (uri @@ -378,7 +378,7 @@ any other grammar rules.") "sparse-" version ".tar.xz")) (sha256 (base32 - "1z11chawwcmf5xxx5v52cj7wrr3warz6q5wlcjvxpif1jbga172i")))) + "16d8c4dhipjzjf8z4z7pix1pdpqydz0v4r7i345f5s09hjnxpxnl")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (arguments diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 766f62fc9f..a8da7ba48b 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -953,7 +953,7 @@ CD data, and more. It's mostly compatible with @code{cdrtools}.") (source (origin (method url-fetch) (uri (string-append - "https://downloads.sourceforge.net/cdemu/libmirage-" + "mirror://sourceforge/cdemu/libmirage/libmirage-" version ".tar.bz2")) (sha256 (base32 @@ -982,7 +982,7 @@ the data stored in various image formats.") (source (origin (method url-fetch) (uri (string-append - "https://downloads.sourceforge.net/cdemu/cdemu-daemon/" + "mirror://sourceforge/cdemu/cdemu-daemon/" "cdemu-daemon-" version ".tar.bz2")) (sha256 (base32 @@ -1011,7 +1011,7 @@ drive and disc (including CD-ROMs and DVD-ROMs).") (source (origin (method url-fetch) (uri (string-append - "https://downloads.sourceforge.net/cdemu/cdemu-client-" + "mirror://sourceforge/cdemu/cdemu-client/cdemu-client-" version ".tar.bz2")) (sha256 (base32 diff --git a/gnu/packages/check.scm b/gnu/packages/check.scm index 3c437c0efa..8255154636 100644 --- a/gnu/packages/check.scm +++ b/gnu/packages/check.scm @@ -497,7 +497,7 @@ and it supports a very flexible form of test discovery.") (define-public doctest (package (name "doctest") - (version "2.4.0") + (version "2.4.1") (home-page "https://github.com/onqtam/doctest") (source (origin (method git-fetch) @@ -505,7 +505,7 @@ and it supports a very flexible form of test discovery.") (file-name (git-file-name name version)) (sha256 (base32 - "1yi95saqv8qb3ix6w8d7ffvs7qbwvqmq6wblckhxhicxxdxk85cd")))) + "17g7n6rjs90i0b231x5s934qnr8m80ga2yg1z344bnsdiqcjd63w")))) (build-system cmake-build-system) (synopsis "C++ test framework") (description @@ -2681,7 +2681,7 @@ provides a simple way to achieve this.") (define-public umockdev (package (name "umockdev") - (version "0.14.3") + (version "0.14.4") (source (origin (method url-fetch) (uri (string-append "https://github.com/martinpitt/umockdev/" @@ -2689,7 +2689,7 @@ provides a simple way to achieve this.") "umockdev-" version ".tar.xz")) (sha256 (base32 - "15smnxwplk48nas2c8ji6a5fqcsh770f1yl5nc2j5iprjspbm4mg")))) + "0xmi24ckpps32k7hc139psgbsnsf4g106sv4l9m445m46amkxggd")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/packages/chromium.scm b/gnu/packages/chromium.scm index 902f2a723c..582919341a 100644 --- a/gnu/packages/chromium.scm +++ b/gnu/packages/chromium.scm @@ -301,7 +301,7 @@ "/svntogit-packages/" revision "/trunk/" name)) (sha256 (base32 hash)))) -(define %chromium-version "86.0.4240.183") +(define %chromium-version "86.0.4240.193") (define %ungoogled-revision "b68e17f32e9eff56615a07b44e457835bb9460c6") (define %debian-revision "debian/84.0.4147.105-1") (define %arch-revision "2cbe439471932d30ff2c8ded6b3dfd51b312bbc9") @@ -455,7 +455,7 @@ %chromium-version ".tar.xz")) (sha256 (base32 - "1g39i82js7fm4fqb8i66d6xs0kzqjxzi4vzvvwz5y9rkbikcc4ma")) + "0d55xkw3fygqpa3a5bvz7vqmzb0d9w1kis72h54cnwsqgw4xag90")) (modules '((guix build utils))) (snippet (force ungoogled-chromium-snippet)))) (build-system gnu-build-system) diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm index cf3bc406bc..bfbedfd984 100644 --- a/gnu/packages/cmake.scm +++ b/gnu/packages/cmake.scm @@ -101,7 +101,7 @@ (version "3.16.5") (source (origin (method url-fetch) - (uri (string-append "https://www.cmake.org/files/v" + (uri (string-append "https://cmake.org/files/v" (version-major+minor version) "/cmake-" version ".tar.gz")) (sha256 diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 083b82bf36..c5e72a5084 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -1667,7 +1667,7 @@ archive can be reverted.") (source (origin (method url-fetch) - (uri (string-append "http://savannah.nongnu.org/download/atool/atool-" + (uri (string-append "mirror://savannah/atool/atool-" version ".tar.gz")) (sha256 (base32 diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm index 3b4e02278a..f485142383 100644 --- a/gnu/packages/crates-io.scm +++ b/gnu/packages/crates-io.scm @@ -653,6 +653,30 @@ be used with the stdlib.") (description "This package provides the glue for the Android JNI.") (license license:expat))) +(define-public rust-ansi-parser-0.6 + (package + (name "rust-ansi-parser") + (version "0.6.5") + (source + (origin + (method url-fetch) + (uri (crate-uri "ansi-parser" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "152idb8a6gwdxzj6m099h3xgx8vw0sjc6skgw94nm2k3y5swc6kn")))) + (build-system cargo-build-system) + (arguments + `(#:cargo-inputs + (("rust-heapless" ,rust-heapless-0.5) + ("rust-nom" ,rust-nom-4.2)))) + (home-page "https://gitlab.com/DavidBittner/ansi-parser") + (synopsis "Library using nom for parsing ANSI escape codes") + (description + "This package provides a library using nom for parsing ANSI +escape codes.") + (license license:mpl2.0))) + (define-public rust-antidote-1.0 (package (name "rust-antidote") @@ -31057,6 +31081,26 @@ If that fails, no determination is made, and calls return None.") (base32 "1pf91pvj8n6akh7w6j5ypka6aqz08b3qpzgs0ak2kjf4frkiljwi")))))) +(define-public rust-version-compare-0.0 + (package + (name "rust-version-compare") + (version "0.0.11") + (source + (origin + (method url-fetch) + (uri (crate-uri "version-compare" version)) + (file-name + (string-append name "-" version ".tar.gz")) + (sha256 + (base32 "06v688jg6gd00zvm3cp7qh2h3mz8cs2ngr09bnwxhyddxrcwh60w")))) + (build-system cargo-build-system) + (home-page "https://github.com/timvisee/version-compare") + (synopsis "Rust library to easily compare version numbers") + (description + "This package provides a Rust library to easily compare version +numbers, and test them against various comparison operators.") + (license license:expat))) + (define-public rust-version-sync-0.8 (package (name "rust-version-sync") diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 1a9cb5c80f..b8ca0134b3 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -571,12 +571,19 @@ attacks than alternative functions such as @code{PBKDF2} or @code{bcrypt}.") (base32 "1d76ys6cp7fi4ng1w3mz2l0p9dbr7ljbk33dcywyimzjz8bahdng")))) (build-system gnu-build-system) + (outputs (list "out" "static")) (arguments `(#:make-flags (list (string-append "PREFIX=" %output) "CC=gcc") #:phases (modify-phases %standard-phases - (delete 'configure)))) + (delete 'configure) ; no configure script + (add-after 'install 'install:static + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib"))) + (install-file "libscrypt.a" lib) + #t)))))) (home-page "https://lolware.net/libscrypt.html") (synopsis "Password hashing library") (description "@code{libscrypt} implements @code{scrypt} key derivation diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 0d8342b04a..8cb2a8738c 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -87,13 +87,16 @@ #:use-module (gnu packages guile) #:use-module (gnu packages time) #:use-module (gnu packages golang) + #:use-module (gnu packages icu4c) #:use-module (gnu packages jemalloc) #:use-module (gnu packages language) + #:use-module (gnu packages libedit) #:use-module (gnu packages libevent) #:use-module (gnu packages linux) #:use-module (gnu packages logging) #:use-module (gnu packages man) #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) #:use-module (gnu packages onc-rpc) #:use-module (gnu packages parallel) @@ -234,7 +237,7 @@ standard Go idioms.") (define-public ephemeralpg (package (name "ephemeralpg") - (version "3.0") + (version "3.1") (source (origin (method url-fetch) @@ -242,10 +245,10 @@ standard Go idioms.") "https://eradman.com/ephemeralpg/code/ephemeralpg-" version ".tar.gz")) (sha256 - (base32 "1j0g7g114ma7y7sadbng5p1ss1zsm9zpicm77qspym6565733vvh")))) + (base32 "1ap22ki8yz6agd0qybcjgs4b9izw1rwwcgpxn3jah2ccfyax34s6")))) (build-system gnu-build-system) (arguments - '(#:make-flags (list "CC=gcc" + `(#:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases @@ -308,6 +311,183 @@ ElasticSearch server") (home-page "https://github.com/patientslikeme/es_dump_restore") (license license:expat))) +(define-public firebird + (package + (name "firebird") + (version "3.0.7") + (source + (let ((revision "33374-0")) + (origin + (method url-fetch) + (uri (string-append "https://github.com/FirebirdSQL/" + "firebird/releases/download/R" + (string-replace-substring version "." "_") "/" + "Firebird-" version "." revision ".tar.bz2")) + (sha256 + (base32 "0xpy1bncz36c6n28y7kllm1dkrdkn4vb4gw2n43f2351mznmrf5c")) + (modules '((guix build utils))) + (snippet + `(begin + (for-each + delete-file-recursively + (list "extern/btyacc/test" ; TODO: package and remove entirely + "extern/editline" + "extern/icu" + "extern/libtommath" + "extern/zlib" + "src/include/firebird/impl/boost" + + ;; Missing licence. + "builds/install/arch-specific/solaris" + "extern/SfIO" + "src/msgs/templates.sql" + + ;; Generated files missing sources. + "doc/Firebird-3-QuickStart.pdf" + (string-append "doc/Firebird-" ,version + "-ReleaseNotes.pdf") + "doc/README.SecureRemotePassword.html")) + #t))))) + (build-system gnu-build-system) + (outputs (list "debug" "out")) + (arguments + `(#:configure-flags + (let ((out (assoc-ref %outputs "out"))) + (list (string-append "--with-fbsbin=" out "/sbin") + (string-append "--with-fbdoc=" out "/share/doc/" + ,name "-" ,version) + (string-append "--with-fbconf=" out "/lib/firebird") + (string-append "--with-fbintl=" out "/lib/firebird/intl") + (string-append "--with-fbmisc=" out "/lib/firebird/misc") + (string-append "--with-fbmsg=" out "/lib/firebird") + (string-append "--with-fbplugins=" out "/lib/firebird/plugins") + (string-append "--with-fbudf=" out "/lib/firebird/UDF") + "--with-fbglock=/run/firebird" + "--with-fblog=/var/log/firebird" + "--with-fbhelp=/var/lib/firebird/system" + "--with-fbsecure-db=/var/lib/firebird/secure" + "--without-fbsample" + "--without-fbsample-db" + "--with-system-editline")) + #:make-flags + (list (string-append "CC=" ,(cc-for-target)) + ;; The plugins/ can't find libfbclient otherwise. + (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib")) + #:tests? #f ; no test suite + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (add-after 'unpack 'use-system-boost + (lambda _ + (substitute* "src/include/firebird/Message.h" + (("\"\\./impl/boost/preprocessor/seq/for_each_i\\.hpp\"") + "<boost/preprocessor/seq/for_each_i.hpp>") + (("FB_BOOST_") "BOOST_")) + #t)) + (add-after 'unpack 'patch-installation + (lambda _ + (substitute* + "builds/install/arch-specific/linux/makeInstallImage.sh.in" + (("/bin/sh") (which "bash")) + ;; Remove shell script helpers from $PATH. + (("(addLibs|cp) .*\\.sh .*@FB_SBINDIR@") ":") + ;; Put files where Guix users expect them. + (("(License\\.txt.*)@FB_CONFDIR" match) + (string-append match "@FB_DOCDIR@")) + (("@FB_CONFDIR@(.*License\\.txt.*)" match) + (string-append "@FB_DOCDIR@" match)) + (("(cp .*/doc/.*)@FB_CONFDIR@(.*)" _ head tail) + (string-append head "@FB_DOCDIR@" tail "\n"))) + (substitute* + (list "builds/install/posix-common/changeServerMode.sh.in" + "builds/install/posix-common/install.sh.in") + ;; Skip phases that (could) cause problems in Guix. + (("check(InstallUser|IfServerRunning|Libraries)|addFirebirdUser") + ":") + ;; Skip phases that are merely pointless on Guix. + (("buildUninstallFile|installInitdScript|startFirebird") ":") + ;; Omit randomly generated password with bonus timestamp. + (("setDBAPassword") ":")) + + ;; These promote proprietary workflows not relevant on Guix. + (for-each delete-file-recursively + (find-files "doc" "README\\.(build\\.msvc|NT|Win)")) + #t)) + (add-after 'configure 'delete-init-scripts + (lambda _ + (delete-file-recursively "gen/install/misc") + #t)) + (add-before 'build 'set-build-environment-variables + (lambda _ + ;; ‘isql’ needs to run & find libfbclient.so during the build. + ;; This doubles as a rudimentary test in lieu of a test suite. + (setenv "LD_LIBRARY_PATH" + (string-append (assoc-ref %build-inputs "icu4c") "/lib")) + #t)) + (add-before 'install 'keep-embedded-debug-symbols + (lambda _ + ;; Let the gnu-build-system separate & deal with them later. + ;; XXX Upstream would use ‘--strip-unneeded’, shaving a whole + ;; megabyte off Guix's 7.7M libEngine12.so, for example. + (substitute* "gen/Makefile.install" + (("readelf") "false")) + #t)) + (add-after 'install 'prune-undesirable-files + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion out + ;; Remove example binaries. + (for-each delete-file-recursively + (find-files "." "example")) + ;; Delete (now-)empty directories. + (for-each rmdir + (list "include/firebird/impl" + "lib/firebird/plugins/udr")) + #t))))))) + (inputs + `(("boost" ,boost) + ("editline" ,editline) + ("icu4c" ,icu4c-67) + ("libtommath" ,libtommath) + ("ncurses" ,ncurses) + ("zlib" ,zlib))) + (home-page "https://www.firebirdsql.org") + (synopsis "Relational database with many ANSI SQL standard features") + (description + "Firebird is an SQL @acronym{RDBMS, relational database management system} +with rich support for ANSI SQL (e.g., @code{INSERT...RETURNING}) including +@acronym{UDFs, user-defined functions} and PSQL stored procedures, cursors, and +triggers. Transactions provide full ACID-compliant referential integrity. + +The database requires very little manual maintenance once set up, making it +ideal for small business or embedded use. + +When installed as a traditional local or remote (network) database server, +Firebird can grow to terabyte scale with proper tuning---although PostgreSQL +may be a better choice for such very large environments. + +Firebird can also be embedded into stand-alone applications that don't want or +need a full client & server. Used in this manner, it offers richer SQL support +than SQLite as well as the option to seamlessly migrate to a client/server +database later.") + (properties + `((lint-hidden-cve . ("CVE-2017-6369")))) + (license + ;; See doc/license/README.license.usage.txt for rationale & details. + (list license:bsd-3 ; src/common/sha2/ + license:bsd-4 ; src/common/enc.cpp + license:gpl2+ ; builds/posix/make.defaults + (license:non-copyleft "file:///builds/install/misc/IPLicense.txt" + "InterBase Public License v1.0") + (license:non-copyleft "file:///builds/install/misc/IDPLicense.txt" + "Initial Developer's Public License v1.0") + license:lgpl2.1 ; exception for OSI-compatible licences + license:mpl1.1 ; examples/interfaces/0{6,8}*.cpp + license:public-domain)))) ; including files without explicit licence + (define-public leveldb (package (name "leveldb") @@ -972,16 +1152,16 @@ as a drop-in replacement of MySQL.") (define-public mariadb-connector-c (package (name "mariadb-connector-c") - (version "3.1.10") - (source (origin - (method url-fetch) - (uri (string-append - "https://downloads.mariadb.org/f/connector-c-" - version "/mariadb-connector-c-" - version "-src.tar.gz")) - (sha256 - (base32 - "13v5z4w1cl890lnr2fbwbziw638lqw2aga45vdq1z0cyrc9mcgmg")))) + (version "3.1.11") + (source + (origin + (method url-fetch) + (uri (string-append + "https://downloads.mariadb.org/f/connector-c-" version + "/mariadb-connector-c-" version "-src.tar.gz" + "/from/https%3A//mirrors.ukfast.co.uk/sites/mariadb/?serve")) + (sha256 + (base32 "03svzahdf7czjlm695c11r4bfd04qdqgx8r1vkpr1zlkjhwnqvry")))) (inputs `(("openssl" ,openssl))) (build-system cmake-build-system) @@ -1206,6 +1386,7 @@ including field and record folding."))) `(#:make-flags (list "CC=gcc" "V=1" ;; Ceph requires that RTTI is enabled. "USE_RTTI=1" + "date=1970-01-01" ; build reproducibly (string-append "INSTALL_PATH=" (assoc-ref %outputs "out")) @@ -2256,17 +2437,19 @@ on another machine, accessed via TCP/IP.") (define-public python-peewee (package (name "python-peewee") - (version "3.9.6") - (source - (origin - (method url-fetch) - (uri (pypi-uri "peewee" version)) - (sha256 - (base32 - "1j4sh946k0736m7pd54z0y6i2hjhgg3kdllx1pwq8xkzzcgrx1xw")))) + (version "3.13.3") + (source + (origin + (method url-fetch) + (uri (pypi-uri "peewee" version)) + (sha256 + (base32 + "0sc376v6rxga4b7ic9kxw2pmf28rmcx016320pa2nlb5d1rsjs8j")))) (build-system python-build-system) (arguments `(#:tests? #f)) ; Fails to import test data + (inputs + `(("sqlite" ,sqlite))) (native-inputs `(("python-cython" ,python-cython))) (home-page "https://github.com/coleifer/peewee/") @@ -3706,7 +3889,7 @@ The drivers officially supported by @code{libdbi} are: (define-public soci (package (name "soci") - (version "4.0.0") + (version "4.0.1") (source (origin (method git-fetch) (uri (git-reference @@ -3715,24 +3898,22 @@ The drivers officially supported by @code{libdbi} are: (file-name (git-file-name name version)) (sha256 (base32 - "06faswdxd2frqr9xnx6bxc7zwarlzsbdi3bqpz7kwdxsjvq41rnb")))) + "14x2gjblkgpflv75wl144cyjp1sis5rbxnr9r2gj3yw16v2av0bp")))) (build-system cmake-build-system) (inputs - `(("postgresql" ,postgresql) + `(("firebird" ,firebird) + ("postgresql" ,postgresql) ("sqlite" ,sqlite) ("odbc" ,unixodbc) ("boost" ,boost) ("mariadb:dev" ,mariadb "dev") ("mariadb:lib" ,mariadb "lib"))) (arguments - `(#:tests? #f ; Tests may require running database management systems. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'fix-lib-path - (lambda _ - (substitute* "CMakeLists.txt" - (("set\\(SOCI_LIBDIR \"lib64\"\\)") "")) - #t))))) + `(#:configure-flags + ;; C++11 (-DSOCI_CXX11) is OFF by default. hyperledger-iroha needs it. + (list "-DCMAKE_CXX_STANDARD=17" + "-DSOCI_LIBDIR=lib") + #:tests? #f)) ; may require running database management systems (synopsis "C++ Database Access Library") (description "SOCI is an abstraction layer for several database backends, including diff --git a/gnu/packages/dbm.scm b/gnu/packages/dbm.scm index ea812c9715..82647c0c28 100644 --- a/gnu/packages/dbm.scm +++ b/gnu/packages/dbm.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014, 2016 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013, 2015 Andreas Enge <andreas@enge.fr> -;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2018 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2018 Mark H Weaver <mhw@netris.org> ;;; @@ -41,7 +41,7 @@ "See LICENSE in the distribution.")) (source (origin (method url-fetch) - (uri (string-append "http://download.oracle.com/berkeley-db/db-" + (uri (string-append "https://download.oracle.com/berkeley-db/db-" version ".tar.gz")) (sha256 (base32 @@ -104,7 +104,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") (version "5.3.28") (source (origin (method url-fetch) - (uri (string-append "http://download.oracle.com/berkeley-db/db-" + (uri (string-append "https://download.oracle.com/berkeley-db/db-" version ".tar.gz")) (sha256 (base32 @@ -116,7 +116,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") (version "6.2.32") (source (origin (method url-fetch) - (uri (string-append "http://download.oracle.com/berkeley-db/db-" + (uri (string-append "https://download.oracle.com/berkeley-db/db-" version ".tar.gz")) (sha256 (base32 diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index 235df8ce9e..1e31ad884e 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -86,7 +86,8 @@ #:use-module (guix download) #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix packages)) + #:use-module (guix packages) + #:use-module (guix utils)) (define-public udevil (package @@ -482,7 +483,7 @@ systems. Output format is completely customizable.") (define-public f3 (package (name "f3") - (version "7.2") + (version "8.0") (source (origin (method git-fetch) @@ -491,11 +492,11 @@ systems. Output format is completely customizable.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "1iwdg0r4wkgc8rynmw1qcqz62l0ldgc8lrazq33msxnk5a818jgy")))) + (base32 "17l5vspfcgfbkqg7bakp3gql29yb05gzawm8n3im30ilzdr53678")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; no check target - #:make-flags (list "CC=gcc" + `(#:tests? #f ; no check target + #:make-flags (list (string-append "CC=" ,(cc-for-target)) (string-append "PREFIX=" %output)) #:phases (modify-phases %standard-phases @@ -558,7 +559,7 @@ a card with a smaller capacity than stated.") (define-public duperemove (package (name "duperemove") - (version "0.11.1") + (version "0.11.2") (source (origin (method git-fetch) @@ -566,7 +567,7 @@ a card with a smaller capacity than stated.") (url "https://github.com/markfasheh/duperemove") (commit (string-append "v" version)))) (sha256 - (base32 "1scz76pvpljvrpfn176125xwaqwyy4pirlm11sc9spb2hyzknw2z")) + (base32 "1a87mka2sfzhbch2jip6wlvvs0glxq9lqwmyrp359d1rmwwmqiw9")) (file-name (git-file-name name version)))) (build-system gnu-build-system) (native-inputs @@ -580,7 +581,9 @@ a card with a smaller capacity than stated.") (modify-phases %standard-phases (delete 'configure)) ; no configure script #:make-flags (list (string-append "PREFIX=" %output) - "CC=gcc"))) + (string-append "CC=" ,(cc-for-target)) + ;; Set to <next release>dev by default. + (string-append "VER=" ,version)))) (home-page "https://github.com/markfasheh/duperemove") (synopsis "Tools for de-duplicating file system data") (description "Duperemove is a simple tool for finding duplicated extents diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index ee09b9d0b4..236c7e2819 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -41,7 +41,7 @@ (version "5.0.1") (source (origin (method url-fetch) - (uri (string-append "https://www.docbook.org/xml/" version + (uri (string-append "https://docbook.org/xml/" version "/docbook-" version ".zip")) (sha256 (base32 @@ -83,7 +83,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (version "4.5") (source (origin (method url-fetch) - (uri (string-append "https://www.docbook.org/xml/" version + (uri (string-append "https://docbook.org/xml/" version "/docbook-xml-" version ".zip")) (sha256 (base32 @@ -113,7 +113,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (version "4.4") (source (origin (method url-fetch) - (uri (string-append "https://www.docbook.org/xml/" version + (uri (string-append "https://docbook.org/xml/" version "/docbook-xml-" version ".zip")) (sha256 (base32 @@ -124,7 +124,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (version "4.3") (source (origin (method url-fetch) - (uri (string-append "https://www.docbook.org/xml/" version + (uri (string-append "https://docbook.org/xml/" version "/docbook-xml-" version ".zip")) (sha256 (base32 @@ -135,7 +135,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (version "4.2") (source (origin (method url-fetch) - (uri (string-append "https://www.docbook.org/xml/" version + (uri (string-append "https://docbook.org/xml/" version "/docbook-xml-" version ".zip")) (sha256 (base32 @@ -146,7 +146,7 @@ by no means limited to these applications.) This package provides XML DTDs.") (version "4.1.2") (source (origin (method url-fetch) - (uri (string-append "https://www.docbook.org/xml/" version + (uri (string-append "https://docbook.org/xml/" version "/docbkx412.zip")) (sha256 (base32 diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm index 1ed54e83ac..34da660c34 100644 --- a/gnu/packages/education.scm +++ b/gnu/packages/education.scm @@ -275,7 +275,7 @@ easy.") (define-public snap (package (name "snap") - (version "6.2.4") + (version "6.3.1") (source (origin (method git-fetch) @@ -284,7 +284,7 @@ easy.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "05ahhwhswnlyg5wiywdj0df4bymcz1l5l4324gjcvpm2lgwxxnl5")))) + (base32 "1109xrvq1vszs74jhzdzhc1isij1hx6brb0w45m0i6sl0xxdrdhb")))) (build-system trivial-build-system) (arguments `(#:modules ((guix build utils)) diff --git a/gnu/packages/emacs-xyz.scm b/gnu/packages/emacs-xyz.scm index 6caf50858a..328a3f3f6f 100644 --- a/gnu/packages/emacs-xyz.scm +++ b/gnu/packages/emacs-xyz.scm @@ -84,6 +84,7 @@ ;;; Copyright © 2020 Zhu Zihao <all_but_last@163.com> ;;; Copyright © 2020 Adam Kandur <rndd@tuta.io> ;;; Copyright © 2020 Tim Howes <timhowes@lavabit.com> +;;; Copyright © 2020 Noah Landis <noahlandis@posteo.net> ;;; ;;; This file is part of GNU Guix. ;;; @@ -963,6 +964,33 @@ using the Buffers User Interface library. You can view, copy, and edit secrets from within Emacs.") (license license:gpl3+))) +(define-public emacs-solidity + ;; This commit fixes a spacing issue and adds new keywords. + (let ((commit "d166a86b83907e0cfd64c191e9dfce4b44a9843e") + (revision "0")) + (package + (name "emacs-solidity") + (version (git-version "0.1.10" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/ethereum/emacs-solidity") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "19hgvsrqch2vp49ag6m76bi5qxd20v95z0ib838rib9as15b17wq")))) + (build-system emacs-build-system) + (propagated-inputs + `(("emacs-company" ,emacs-company) + ("emacs-flycheck" ,emacs-flycheck))) + (home-page "https://github.com/ethereum/emacs-solidity") + (synopsis "Major mode for writing Solidity code") + (description + "This is a simple language mode for the Solidity language. It is +a constant work in progress as the language itself also progresses.") + (license license:gpl3+)))) + (define-public emacs-unpackaged-el (let ((commit "746801a677ada6cd6fa076e423aa0953779f3fad") (revision "3")) @@ -1587,14 +1615,14 @@ incrementally confined in Isearch manner.") (define emacs-emms-print-metadata (package (name "emacs-emms-print-metadata") - (version "6.0") + (version "6.2") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "emms-" version ".tar")) (sha256 - (base32 "1zxiic91zhgdkxyfgyh1vkv4lzg90vq362y9k739n28ci6z4xzwm")))) + (base32 "0d95sjrh9vpl41vz26y8clgji987z15lj4ky2kr9yrl0zpa8yv35")))) (build-system gnu-build-system) (arguments `(#:make-flags '("emms-print-metadata") @@ -8754,25 +8782,24 @@ that uses the standard completion function completing-read.") (define-public emacs-yaml-mode (package (name "emacs-yaml-mode") - (version "0.0.14") - (source (origin - (method git-fetch) - (uri (git-reference - (url "https://github.com/yoshiki/yaml-mode") - (commit version))) - (file-name (git-file-name name version)) - (sha256 - (base32 - "18g064ardqi1f3xz7j6rs1x9fvv9sn0iq9vgid8c6qvxq7gwj00r")))) + (version "0.0.15") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/yoshiki/yaml-mode") + (commit version))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gsa153yp8lmwrvcc3nzpw5lj037y7q2nm23k5k404r5as4k355l")))) (build-system emacs-build-system) (home-page "https://github.com/yoshiki/yaml-mode") (synopsis "Major mode for editing YAML files") (description - "Yaml-mode is an Emacs major mode for editing files in the YAML data -serialization format. It was initially developed by Yoshiki Kurihara and many -features were added by Marshall Vandegrift. As YAML and Python share the fact -that indentation determines structure, this mode provides indentation and -indentation command behavior very similar to that of python-mode.") + "Yaml mode is an Emacs major mode for editing files in the YAML data +serialization format. As YAML and Python share the fact that indentation +determines structure, this mode provides indentation and indentation command +behavior very similar to that of Python mode.") (license license:gpl3+))) (define-public emacs-gitlab-ci-mode @@ -11104,7 +11131,7 @@ abbreviation of the mode line displays (lighters) of minor modes.") (define-public emacs-use-package (package (name "emacs-use-package") - (version "2.4") + (version "2.4.1") (source (origin (method git-fetch) (uri (git-reference @@ -11113,7 +11140,7 @@ abbreviation of the mode line displays (lighters) of minor modes.") (file-name (git-file-name name version)) (sha256 (base32 - "1b7mjjh0d6fmkkd9vyj64vca27xqhga0nvyrrcqxpqjn62zq046y")))) + "088kl3bml0rs5bkfymgzr15ram9qvy66h1kaisrbkynh0yxvf8g9")))) (build-system emacs-build-system) (native-inputs `(("texinfo" ,texinfo))) @@ -11147,14 +11174,14 @@ performance-oriented and tidy.") (define-public emacs-leaf (package (name "emacs-leaf") - (version "4.2.5") + (version "4.3.2") (source (origin (method url-fetch) (uri (string-append "https://elpa.gnu.org/packages/" "leaf-" version ".tar")) (sha256 - (base32 "0y78mp4c2gcwp7dc87wlx3r4hfmap14vvx8gkjc9nkf99qavpnkw")))) + (base32 "190sfnnii9jnj8amjkdabd8w9k2xyalhg4h488a5gzjxdzz2s6zi")))) (build-system emacs-build-system) (home-page "https://github.com/conao3/leaf.el") (synopsis "Simplify your init.el configuration, extended use-package") @@ -11343,6 +11370,30 @@ constructs.") configuration of Chinese fonts.") (license license:gpl2+))) +(define-public emacs-csharp-mode + (package + (name "emacs-csharp-mode") + (version "0.10.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/josteink/csharp-mode") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0vwkbla2gkfa9dzxfvrvr7hd2z16769iwbycl7k6l701dnwli1fw")))) + (build-system emacs-build-system) + (home-page "https://github.com/josteink/csharp-mode") + (synopsis "Major mode for C# code") + (description + "This is a C# editing mode for Emacs, based on CC mode. It handles +syntax coloring, indentation, insertion of matched pairs of curly braces and +documentation generation. In addition, it provides menu-based navigation +using Imenu, and Compilation mode support for MSBuild, devenv and xbuild.") + ;; XXX: Project switched to GPL3+ after 0.10.0 release. + (license license:gpl2+))) + (define-public emacs-php-mode (package (name "emacs-php-mode") @@ -18537,6 +18588,16 @@ files. It focuses on highlighting the document to improve readability.") (lambda _ (substitute* "Makefile" (("\\$\\{CASK\\} exec ") "")) + #t)) + ;; Two tests are failing with Emacs 27, as reported here: + ;; <https://github.com/racer-rust/emacs-racer/issues/136>. Disable + ;; them. + (add-before 'check 'fix-failing-tests + (lambda _ + (substitute* "test/racer-test.el" + (("`Write`") "Write") + (("^\\\\\\[`str\\]:.*") "") + ((" \\[`str`\\]") " str")) #t))))) (native-inputs `(("emacs-ert-runner" ,emacs-ert-runner) @@ -20465,20 +20526,20 @@ processes for Emacs") "0m083g3pg0n4ymi1w0jx34awr7cqbm4r561adij9kklblxsz7sc2")))) (build-system emacs-build-system) (propagated-inputs - `(("emacs-dash" ,emacs-dash) - ("emacs-s" ,emacs-s) - ("emacs-f" ,emacs-f) - ("emacs-ace-window" ,emacs-ace-window) - ("emacs-pfuture" ,emacs-pfuture) - ("emacs-hydra" ,emacs-hydra) - ("emacs-ht" ,emacs-ht))) + `(("emacs-ace-window" ,emacs-ace-window) + ("emacs-dash" ,emacs-dash) + ("emacs-f" ,emacs-f) + ("emacs-ht" ,emacs-ht) + ("emacs-hydra" ,emacs-hydra) + ("emacs-pfuture" ,emacs-pfuture) + ("emacs-s" ,emacs-s))) (native-inputs `(("emacs-buttercup" ,emacs-buttercup) ("emacs-el-mock" ,emacs-el-mock))) (inputs `(("python" ,python))) (arguments - `(#:tests? #t ;TODO: Investigate ‘treemacs--parse-collapsed-dirs’ test failure. + `(#:tests? #t #:phases (modify-phases %standard-phases (add-after 'unpack 'fix-makefile @@ -20493,12 +20554,14 @@ processes for Emacs") (lambda _ (chdir "src/elisp"))) (replace 'check + ;; FIXME: Work around ‘treemacs--parse-collapsed-dirs’ and + ;; `treemacs-collect-child-nodes' test failures. (lambda _ (with-directory-excursion "../.." ;treemacs root (chmod "test/test-treemacs.el" #o644) (emacs-substitute-sexps "test/test-treemacs.el" - ("(describe \"treemacs--parse-collapsed-dirs\"" - "")) + ("(describe \"treemacs--parse-collapsed-dirs\"" "") + ("\"Finds only direct childre\"" "")) (invoke "make" "test")))) (add-before 'install 'patch-paths (lambda* (#:key inputs outputs #:allow-other-keys) @@ -20530,7 +20593,12 @@ processes for Emacs") #t))))))) (home-page "https://github.com/Alexander-Miller/treemacs") (synopsis "Emacs tree style file explorer") - (description "Powerful and flexible file tree project explorer.") + (description + "Treemacs is a file and project explorer similar to NeoTree or Vim's +NerdTree, but largely inspired by the Project Explorer in Eclipse. It shows +the file system outlines of your projects in a simple tree layout allowing +quick navigation and exploration, while also possessing basic file management +utilities.") (license license:gpl3+))) (define-public emacs-treemacs-extra @@ -21593,8 +21661,8 @@ and searching through @code{Ctags} files.") (license license:expat)))) (define-public emacs-org-download - (let ((commit "10c9d7c8eed928c88a896310c882e3af4d8d0f61") - (revision "2")) + (let ((commit "42ac361ef5502017e6fc1bceb00333eba90402f4") + (revision "3")) (package (name "emacs-org-download") (version (git-version "0.1.0" revision commit)) @@ -21603,10 +21671,9 @@ and searching through @code{Ctags} files.") (uri (git-reference (url "https://github.com/abo-abo/org-download") (commit commit))) + (file-name (git-file-name name version)) (sha256 - (base32 - "0i8wlx1i7y1vn5lqwjifvymvszg28a07vwqcm4jslf1v2ajs1lsl")) - (file-name (git-file-name name version)))) + (base32 "0cg4y7hy7xbq4vrbdicfzgvyaf3cjbx2zkqd4yl0y2garz71j99l")))) (build-system emacs-build-system) (propagated-inputs `(("emacs-org" ,emacs-org) @@ -22025,7 +22092,7 @@ and article extracts for Wikipedia.") (define-public emacs-webfeeder (package (name "emacs-webfeeder") - (version "1.0.0") + (version "1.1.0") (source (origin (method url-fetch) @@ -22035,7 +22102,7 @@ and article extracts for Wikipedia.") ".tar")) (sha256 (base32 - "06y5vxw9m6pmbrzb8v2i3w9dnhgqxz06vyx1knmgi9cczlrj4a64")))) + "09wz6v58xc86hdnz6g54ckaxkm6844yyk2ffbxh4s5sdvgqrzdd8")))) (build-system emacs-build-system) (home-page "https://gitlab.com/Ambrevar/emacs-webfeeder") (synopsis "Build RSS and Atom webfeeds from HTML files") @@ -24290,7 +24357,7 @@ launching other commands/applications from within Emacs, similar to the (define-public emacs-no-littering (package (name "emacs-no-littering") - (version "1.0.3") + (version "1.2.0") (source (origin (method git-fetch) @@ -24299,7 +24366,7 @@ launching other commands/applications from within Emacs, similar to the (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "17is06l0w6glppabv2kaclrnqi3dqb6p6alpslpg7lrjd8vd45ir")))) + (base32 "1hma9var0nmrmjlh16s49hbfc1s4jvfd2prqxf14lxfd51404niw")))) (build-system emacs-build-system) (home-page "https://github.com/emacscollective/no-littering") (synopsis "Help keep ~/.emacs.d/ clean") @@ -25281,3 +25348,46 @@ the TypeScript implementation.") (description "This package provides an Emacs client for the Rocket.chat service.") (license license:expat)))) + +(define-public emacs-monokai-theme + (package + (name "emacs-monokai-theme") + (version "3.5.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/oneKelvinSmith/monokai-emacs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0dy8c3349j7fmp8052hbgvk0b7ldlv5jqpg0paq1i0hlypivd30i")))) + (build-system emacs-build-system) + (home-page "https://github.com/oneKelvinSmith/monokai-emacs") + (synopsis "High contrast color theme for Emacs") + (description + "Monokai theme is a port of the popular TextMate Monokai theme for +Emacs.") + (license license:gpl3+))) + +(define-public emacs-nord-theme + (package + (name "emacs-nord-theme") + (version "0.5.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/arcticicestudio/nord-emacs") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "096f8cik4jz89bvkifwp3gm9iraqrd75ljy2q9js724v7yj88711")))) + (build-system emacs-build-system) + (home-page "https://www.nordtheme.com/") + (synopsis "Low contrast arctic color theme for Emacs") + (description + "Nord is an arctic, north-bluish color scheme created for a clean and +uncluttered design pattern to achieve optimal focus and readability for code +syntax highlighting and UI components.") + (license license:expat))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 4963379d74..4f5a67093c 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -59,7 +59,6 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages image) - #:use-module (gnu packages imagemagick) #:use-module (gnu packages linux) ; alsa-lib #:use-module (gnu packages mail) ; for mailutils #:use-module (gnu packages multiprecision) diff --git a/gnu/packages/embedded.scm b/gnu/packages/embedded.scm index cc26b17ea6..3a64c75109 100644 --- a/gnu/packages/embedded.scm +++ b/gnu/packages/embedded.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2016, 2017 Theodoros Foradis <theodoros@foradis.org> ;;; Copyright © 2016 David Craven <david@craven.ch> ;;; Copyright © 2017, 2020 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018, 2019 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de> @@ -36,6 +36,7 @@ #:use-module (guix build-system trivial) #:use-module ((guix build utils) #:select (alist-replace)) #:use-module (gnu packages) + #:use-module (gnu packages admin) #:use-module (gnu packages autotools) #:use-module ((gnu packages base) #:prefix base:) #:use-module (gnu packages bison) @@ -487,7 +488,7 @@ SEGGER J-Link and compatible devices.") (define-public jimtcl (package (name "jimtcl") - (version "0.79") + (version "0.80") (source (origin (method git-fetch) (uri (git-reference @@ -496,17 +497,26 @@ SEGGER J-Link and compatible devices.") (file-name (git-file-name name version)) (sha256 (base32 - "1k88hz0v3bi19xdvlp0i9nsx38imzwpjh632w7326zwbv2wldf0h")))) + "06rn60cx9sapc175vxvan87b8j5rkhh5gvvz7343xznzwlr0wcgk")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases - ;; Doesn't use autoconf. (replace 'configure + ;; This package doesn't use autoconf. (lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) (invoke "./configure" - (string-append "--prefix=" out)))))))) + (string-append "--prefix=" out))))) + (add-before 'check 'delete-failing-tests + (lambda _ + ;; XXX All but 1 TTY tests fail (Inappropriate ioctl for device). + (delete-file "tests/tty.test") + #t)) + ))) + (native-inputs + ;; For tests. + `(("inetutils" ,inetutils))) ; for hostname (home-page "http://jim.tcl.tk/index.html") (synopsis "Small footprint Tcl implementation") (description "Jim is a small footprint implementation of the Tcl programming diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index 5b1d3788ad..86880be0d6 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -61,7 +61,6 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages image) - #:use-module (gnu packages imagemagick) #:use-module (gnu packages libedit) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) @@ -477,14 +476,14 @@ V2.") (define-public mednafen (package (name "mednafen") - (version "1.24.3") + (version "1.26.1") (source (origin (method url-fetch) (uri (string-append "https://mednafen.github.io/releases/files/" "mednafen-" version ".tar.xz")) (sha256 - (base32 "03zplcfvmnnv7grhacmr1zy789pb2wda36wylmzmar23g0zqbsix")))) + (base32 "1x7xhxjhwsdbak8l0iyb497f043xkhibk73w96xck4j2bk10fac4")))) (build-system gnu-build-system) (arguments `(#:configure-flags @@ -567,7 +566,6 @@ The following systems are supported: (native-inputs `(("pkg-config" ,pkg-config) ("qttools" ,qttools))) (inputs `(("ffmpeg" ,ffmpeg) - ("imagemagick" ,imagemagick) ("libedit" ,libedit) ("libelf" ,libelf) ("libepoxy" ,libepoxy) diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm index 75b330f83b..950cb16505 100644 --- a/gnu/packages/enchant.scm +++ b/gnu/packages/enchant.scm @@ -79,7 +79,7 @@ dictionaries.") (define-public enchant (package (name "enchant") - (version "2.2.8") + (version "2.2.13") (source (origin (method url-fetch) (uri (string-append "https://github.com/AbiWord/enchant/releases" @@ -87,7 +87,7 @@ dictionaries.") version ".tar.gz")) (sha256 (base32 - "0m9m564qqwbssvvf7y3dlz1yxzqsjiqy1yd2zsmb3l0d7y2y5df7")))) + "084aqsrkzz2c1ls47p759d9bsi26d0m6wq9901k37483g46zkfga")))) (build-system gnu-build-system) (arguments '(#:configure-flags '("--disable-static" diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 2e1ffa1355..acf048d2e5 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -1537,8 +1537,12 @@ high-performance parallel differential evolution (DE) optimization algorithm.") (version "28") (source (origin (method url-fetch) - (uri (string-append "mirror://sourceforge/ngspice/ng-spice-rework/" - version "/ngspice-" version ".tar.gz")) + (uri (list + (string-append "mirror://sourceforge/ngspice/ng-spice-rework/" + version "/ngspice-" version ".tar.gz") + (string-append "mirror://sourceforge/ngspice/ng-spice-rework/" + "old-releases/" version + "/ngspice-" version ".tar.gz"))) (sha256 (base32 "0rnz2rdgyav16w7wfn3sfrk2lwvvgz1fh0l9107zkcldijklz04l")) diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm index 02fd45017a..f306a31e46 100644 --- a/gnu/packages/enlightenment.scm +++ b/gnu/packages/enlightenment.scm @@ -566,14 +566,14 @@ directories. (define-public evisum (package (name "evisum") - (version "0.5.6") + (version "0.5.7") (source (origin (method url-fetch) (uri (string-append "https://download.enlightenment.org/rel/apps/" "evisum/evisum-" version ".tar.xz")) (sha256 - (base32 "1l8pym7738kncvic5ga03sj9d5igigvmcxa9lbg47z2yvdjwzv97")))) + (base32 "0pm63n3rls8vkjv3awq0f3zlqk33ddql3g0rl2bc46n48g2mcmbd")))) (build-system meson-build-system) (arguments '(#:tests? #f)) ; no tests diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm index c29f429c60..974ddc30ee 100644 --- a/gnu/packages/file-systems.scm +++ b/gnu/packages/file-systems.scm @@ -254,8 +254,8 @@ from a mounted file system.") (license license:gpl2+))) (define-public bcachefs-tools - (let ((commit "ab2f1ec24f5307b0cf1e3c4ad19bf350d9f54d9f") - (revision "0")) + (let ((commit "742dbbdbb90efb786f05a8576917fcd0e9cbd57e") + (revision "1")) (package (name "bcachefs-tools") (version (git-version "0.1" revision commit)) @@ -267,7 +267,7 @@ from a mounted file system.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "10pafvaxg1lvwnqjv3a4rsi96bghbpcsgh3vhqilndi334k3b0hd")))) + (base32 "0kn8y3kqylz6scv47mzfmwrlh21kbb14z5vs65vks8w50i26sxnc")))) (build-system gnu-build-system) (arguments `(#:make-flags @@ -287,7 +287,8 @@ from a mounted file system.") ("python-pytest" ,python-pytest) ("valgrind" ,valgrind))) (inputs - `(("keyutils" ,keyutils) + `(("eudev" ,eudev) + ("keyutils" ,keyutils) ("libaio" ,libaio) ("libscrypt" ,libscrypt) ("libsodium" ,libsodium) diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index ffbf3b218d..5b3ee2c65c 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -617,7 +617,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch ;; the system's dynamically linked library. (package (name "monero") - (version "0.17.1.1") + (version "0.17.1.3") (source (origin (method git-fetch) @@ -637,7 +637,7 @@ other machines/servers. Electroncash does not download the Bitcoin Cash blockch "external/unbound")) #t)) (sha256 - (base32 "18x27dm24k04vx0yz57zi02rk0wrmbn4wr8alqf48dq6z9wr0fhp")))) + (base32 "1ddkdfd8i5q509qziwcx1f6nm8axs4a1ppzv2y5lgsqpq375if6j")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -727,7 +727,7 @@ the Monero command line client and daemon.") (define-public monero-gui (package (name "monero-gui") - (version "0.17.1.1") + (version "0.17.1.4") (source (origin (method git-fetch) @@ -736,7 +736,7 @@ the Monero command line client and daemon.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0aqhp4rmqsgwjb875kgh6qwz0wyyiag1fksyic9cnhgg5j5y95nx")))) + (base32 "1ixjfdlvwr2an2s9jaql240bk7jpq5hhm5c4hww0bicyy3fp12ng")))) (build-system qt-build-system) (native-inputs `(,@(package-native-inputs monero) @@ -748,8 +748,6 @@ the Monero command line client and daemon.") ("qtbase" ,qtbase) ("qtdeclarative" ,qtdeclarative) ("qtgraphicaleffects" ,qtgraphicaleffects) - ("qtlocation" ,qtlocation) - ("qtmultimedia" ,qtmultimedia) ("qtquickcontrols" ,qtquickcontrols) ("qtquickcontrols2",qtquickcontrols2) ("qtsvg" ,qtsvg) @@ -761,7 +759,7 @@ the Monero command line client and daemon.") "-DENABLE_PASS_STRENGTH_METER=ON" (string-append "-DReadline_ROOT_DIR=" (assoc-ref %build-inputs "readline")) - "-DCMAKE_BUILD_TYPE=Release") + "-DCMAKE_PREFIX_PATH=\"\"") #:phases (modify-phases %standard-phases (add-after 'unpack 'extract-monero-sources @@ -774,9 +772,6 @@ the Monero command line client and daemon.") #t)) (add-after 'extract-monero-sources 'fix-build (lambda _ - (substitute* "monero/src/version.cpp.in" - (("@VERSION_IS_RELEASE@") - "false")) (substitute* "src/version.js.in" (("@VERSION_TAG_GUI@") ,version)) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 360a3ece76..396e89a1fd 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -1787,6 +1787,36 @@ Mono’s typeface forms are simple and free from unnecessary details. Rendered in small sizes, the text looks crisper.") (license license:asl2.0))) +(define-public font-juliamono + (package + (name "font-juliamono") + (version "0.025") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cormullion/juliamono") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1w8mpl9zc1y4j1f26ikbz5g9dqsszhikp4r9p1d3ch3b5ayb5c3m")))) + (build-system font-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'delete-website-folder + ;; This folder contains other unrelated fonts. + (lambda _ + (delete-file-recursively "website") + #t))))) + (home-page "https://github.com/cormullion/juliamono") + (synopsis "Monospaced font for programming") + (description + "JuliaMono is a monospaced font for scientific and technical computing, +designed to work for programming in the Julia Programming Language and other +text environments.") + (license license:silofl1.1))) + (define-public font-vazir (package (name "font-vazir") diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 68665edddd..89d5013a8b 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -160,7 +160,7 @@ scripts.") (inputs `(("zlib" ,zlib))) (arguments - `(#:make-flags '("CC=gcc") + `(#:make-flags '(,(string-append "CC=" (cc-for-target))) #:tests? #f ;no tests #:phases (modify-phases %standard-phases @@ -170,7 +170,8 @@ scripts.") (let* ((out (assoc-ref outputs "out")) (bin (string-append out "/bin"))) (install-file "sfnt2woff" bin) - (install-file "woff2sfnt" bin))))))) + (install-file "woff2sfnt" bin)) + #t))))) (synopsis "Convert between OpenType and WOFF fonts") (description "This package provides two tools: diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm index 6caff14cf2..94ec2cd44a 100644 --- a/gnu/packages/freedesktop.scm +++ b/gnu/packages/freedesktop.scm @@ -1393,17 +1393,22 @@ different sorts of messages in different formats.") (define-public telepathy-idle (package (name "telepathy-idle") - (version "0.2.0") - (source (origin - (method url-fetch) - (uri (string-append "https://telepathy.freedesktop.org/releases/" - name "/" name "-" version ".tar.bz2")) - (sha256 - (base32 - "1argdzbif1vdmwp5vqbgkadq9ancjmgdm2ncp0qfckni715ss4rh")))) + (version "0.2.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/TelepathyIM/telepathy-idle") + (commit (string-append "telepathy-idle-" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1pfw4g2cicw3ykxhsy743r0fc1yqbdrqxh2c5ha6am19dajcr95l")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("pkg-config" ,pkg-config))) (inputs `(("xsltproc" ,libxslt) ("python" ,python-2) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index eb29f2a8e5..439e369fe4 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -1868,8 +1868,8 @@ role, and your gender.") (source (origin (method url-fetch) - (uri (string-append "http://downloads.sourceforge.net/pipewalker/" - "pipewalker-" version ".tar.gz")) + (uri (string-append "mirror://sourceforge/pipewalker/pipewalker/" + version "/pipewalker-" version ".tar.gz")) (sha256 (base32 "1x46wgk0s55562pd96cxagxkn6wpgglq779f9b64ff1k3xzp3myn")))) (build-system gnu-build-system) @@ -5253,7 +5253,7 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.") (define-public laby (package (name "laby") - (version "0.6.4") + (version "0.7.0") (source (origin (method git-fetch) (uri (git-reference @@ -5262,7 +5262,7 @@ Linux / Mac OS X servers, and an auto mapper with a VT100 map display.") (file-name (git-file-name name version)) (sha256 (base32 - "12fq9hhrxpzgfinmj9ra9ckss9yficwdlrmgjvvsq7agvh3sgyl1")) + "1y6nfxcjhqg9bb81hs0wijg7kcwk5kff81rgd8bsv5ps7ia9nj6b")) (patches (search-patches "laby-make-install.patch")))) (build-system gnu-build-system) (inputs @@ -6590,7 +6590,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as (define-public tome4 (package (name "tome4") - (version "1.7.0") + (version "1.7.2") (synopsis "Single-player, RPG roguelike game set in the world of Eyal") (source (origin @@ -6598,7 +6598,7 @@ Crowther & Woods, its original authors, in 1995. It has been known as (uri (string-append "https://te4.org/dl/t-engine/t-engine4-src-" version ".tar.bz2")) (sha256 - (base32 "1fs0320n3ndd5kd6j9y22jsd1hbn356d4dr11kl3iy5ssix7832s")) + (base32 "1xa0pdn9pggwf7hnqb87ya2qxqhjahkdjwf8cr2y01gixgrkj9lv")) (modules '((guix build utils))) (snippet '(begin @@ -6620,7 +6620,9 @@ Crowther & Woods, its original authors, in 1995. It has been known as ("vorbis" ,libvorbis) ("luajit" ,luajit))) (arguments - `(#:make-flags '("CC=gcc" "config=release") + `(#:make-flags + (list (string-append "CC=" ,(cc-for-target)) + "config=release") ;; XXX: Building in parallel occasionally causes this build failure: ;; ../src/luajit2/src/host/buildvm.c:73:10: fatal error: buildvm_arch.h: ;; No such file or directory diff --git a/gnu/packages/gnome-xyz.scm b/gnu/packages/gnome-xyz.scm index 7f3ae41d17..77b4aada6f 100644 --- a/gnu/packages/gnome-xyz.scm +++ b/gnu/packages/gnome-xyz.scm @@ -593,7 +593,7 @@ and a few extra features.") ;; Note to maintainer: VLS must be built with a Vala toolchain the same ;; version or newer. Therefore when you update this package you may need ;; to update Vala too. - (version "0.48") + (version "0.48.1") (source (origin (method git-fetch) (uri (git-reference @@ -601,7 +601,7 @@ and a few extra features.") (commit version))) (file-name (git-file-name name version)) (sha256 - (base32 "0chgfpci247skrvsiq1l8cas8sj2z6z42dlarka3df3qwxmh0if0")))) + (base32 "12k095052jkvbiyz8gzkj6w7r7p16d5m18fyikl48yvh5nln8fw0")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t)) (inputs @@ -609,7 +609,7 @@ and a few extra features.") ("json-glib" ,json-glib) ("jsonrpc-glib" ,jsonrpc-glib) ("libgee" ,libgee) - ("vala" ,vala-0.48))) + ("vala" ,vala-0.50))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "https://github.com/benwaffle/vala-language-server") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 43b681d85d..d697de74ab 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2840,16 +2840,16 @@ database is translated at Transifex.") (define-public system-config-printer (package (name "system-config-printer") - (version "1.5.12") + (version "1.5.13") (source (origin (method url-fetch) (uri (string-append "https://github.com/OpenPrinting/system-config-printer/releases/" - "download/" version + "download/v" version "/system-config-printer-" version ".tar.xz")) (sha256 - (base32 "050yrx1vfh9f001qsn06y1jcidxq0ymxr64kxykasr0zzryp25kb")))) + (base32 "18dqvi1s971lggkw6pv1sqxixlpg5a8rppzc1pxbanxa91jg18zf")))) (build-system glib-or-gtk-build-system) (arguments `(#:imported-modules ((guix build python-build-system) @@ -4279,10 +4279,10 @@ requirements and without using a different ABI compared to applications and libraries written in C.") (license license:lgpl2.1+))) -(define-public vala-0.48 +(define-public vala-0.50 (package (inherit vala) - (version "0.48.9") + (version "0.50.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/vala/" @@ -4290,7 +4290,7 @@ libraries written in C.") "vala-" version ".tar.xz")) (sha256 (base32 - "1agyrvslv2yh9ikiw7k5nw6j6il1l2zrzfan0pzdpb9xpg9idslw")))))) + "0v4g2gvn7x7cl33h8sj1y2xyyskw5ayaj4jm2jrd3my3r439z3cm")))))) (define-public vte (package @@ -6001,7 +6001,7 @@ discovery protocols.") (define-public totem (package (name "totem") - (version "3.34.1") + (version "3.38.0") (source (origin (method url-fetch) @@ -6010,14 +6010,14 @@ discovery protocols.") "totem-" version ".tar.xz")) (sha256 (base32 - "028sc6xbyi7rs884862d8f3di6zhcm0lhvlpc3r69ifzjsq9my3b")))) + "0bs33ijvxbr2prb9yj4dxglsszslsn9k258n311sld84masz4ad8")))) (build-system meson-build-system) (native-inputs `(("pkg-config" ,pkg-config) ("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) ("gobject-introspection" ,gobject-introspection) ("glib:bin" ,glib "bin") ;for 'glib-mkenums' - ("intltool" ,intltool) ("itstool" ,itstool) ("xmllint" ,libxml2) ("xorg-server" ,xorg-server-for-tests))) @@ -6835,7 +6835,7 @@ metadata in photo and video files of various formats.") (define-public shotwell (package (name "shotwell") - (version "0.30.9") + (version "0.30.11") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/shotwell/" @@ -6843,7 +6843,7 @@ metadata in photo and video files of various formats.") "shotwell-" version ".tar.xz")) (sha256 (base32 - "1y556yyzfya0310v5wqjkf17hy5lhf028iminvvgi2pdfva344id")))) + "12d26y40kjlv5x8f5g04wff33vh7mdjb8c41ydqbrwdip0jwy2n2")))) (build-system meson-build-system) (arguments '(#:glib-or-gtk? #t @@ -9967,14 +9967,14 @@ only know by its Unicode name or code point.") (define-public bluefish (package (name "bluefish") - (version "2.2.11") + (version "2.2.12") (source (origin (method url-fetch) - (uri (string-append "http://www.bennewitz.com/bluefish/stable/source/" + (uri (string-append "https://www.bennewitz.com/bluefish/stable/source/" "bluefish-" version ".tar.gz")) (sha256 - (base32 "0a7kf78q4cj2ap4igjks9kbmmr74brsrl4y2f9wbxpl0b0v2ck2x")))) + (base32 "09hgxq139kbkjda5y073lqhq1z1x7cx0j80jh77afrqa3y9c53wl")))) (build-system gnu-build-system) (native-inputs `(("desktop-file-utils" ,desktop-file-utils) @@ -9989,7 +9989,7 @@ only know by its Unicode name or code point.") (home-page "http://bluefish.openoffice.nl") (synopsis "Web development studio") (description - "Bluefish is an editor targeted towards programmers and web developers, + "Bluefish is an editor aimed at programmers and web developers, with many options to write web sites, scripts and other code. Bluefish supports many programming and markup languages.") (license license:gpl3+))) @@ -11465,6 +11465,62 @@ symbol tables, document templates, project management, spell-checking, menus and toolbars.") (license license:gpl3+))) +(define-public setzer + (package + (name "setzer") + (version "0.3.6") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/cvfosammmm/Setzer") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "118gip6bv4mcsq4nrai7kl0vmqqbyzpsd4ky9vhxb1x2cvg048s8")))) + (build-system meson-build-system) + (arguments + `(#:glib-or-gtk? #t + #:phases + (modify-phases %standard-phases + (add-after 'glib-or-gtk-wrap 'python-and-gi-wrap + (lambda* (#:key outputs #:allow-other-keys) + (let ((prog (string-append (assoc-ref outputs "out") + "/bin/setzer")) + (pylib (string-append (assoc-ref outputs "out") + "/lib/python" + ,(version-major+minor + (package-version python)) + "/site-packages"))) + (wrap-program prog + `("PYTHONPATH" = (,(getenv "PYTHONPATH") ,pylib)) + `("GI_TYPELIB_PATH" = (,(getenv "GI_TYPELIB_PATH")))) + #t)))))) + (native-inputs + `(("desktop-file-utils" ,desktop-file-utils) + ("gettext" ,gettext-minimal) + ("glib:bin" ,glib "bin") + ("gobject-introspection" ,gobject-introspection) + ("gtk+:bin" ,gtk+ "bin"))) + (inputs + `(("gsettings-desktop-schemas" ,gsettings-desktop-schemas) + ("gspell" ,gspell) + ("gtk+" ,gtk+) + ("gtksourceview" ,gtksourceview) + ("pango" ,pango) + ("poppler" ,poppler) + ("python-pycairo" ,python-pycairo) + ("python-pygobject" ,python-pygobject) + ("python-pyxdg" ,python-pyxdg) + ("webkitgtk" ,webkitgtk) + ("xdg-utils" ,xdg-utils))) + (home-page "https://www.cvfosammmm.org/setzer/") + (synopsis "LaTeX editor written in Python with GTK+") + (description + "Setzer is a simple yet full-featured LaTeX editor written in Python with +GTK+. It integrates well with the GNOME desktop environment.") + (license license:gpl3+))) + (define-public libratbag (package (name "libratbag") diff --git a/gnu/packages/gnucash.scm b/gnu/packages/gnucash.scm index 8f58ce332a..dcee4dc166 100644 --- a/gnu/packages/gnucash.scm +++ b/gnu/packages/gnucash.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2019 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2019 Guillaume Le Vaillant <glv@posteo.net> +;;; Copyright © 2020 Prafulla Giri <pratheblackdiamond@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ (define-module (gnu packages gnucash) #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -48,6 +50,7 @@ #:use-module (gnu packages multiprecision) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python) #:use-module (gnu packages tls) #:use-module (gnu packages web) #:use-module (gnu packages webkit) @@ -82,6 +85,7 @@ ("libxslt" ,libxslt) ("webkitgtk" ,webkitgtk) ("aqbanking" ,aqbanking) + ("python" ,python) ("perl-date-manip" ,perl-date-manip) ("perl-finance-quote" ,perl-finance-quote) ("tzdata" ,tzdata-for-tests))) @@ -95,9 +99,10 @@ (propagated-inputs ;; dconf is required at runtime according to README.dependencies. `(("dconf" ,dconf))) - (outputs '("out" "doc" "debug")) + (outputs '("out" "doc" "debug" "python")) (arguments `(#:test-target "check" + #:configure-flags '("-DWITH_PYTHON=ON") #:make-flags '("GUILE_AUTO_COMPILE=0") #:modules ((guix build cmake-build-system) ((guix build glib-or-gtk-build-system) #:prefix glib-or-gtk:) @@ -149,6 +154,20 @@ (symlink (string-append docs "/share/gnome") (string-append doc-output "/share/gnome")) #t))) + (add-after 'install 'split-python-bindings + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (python-output (assoc-ref outputs "python")) + (python-bindings (string-append + "lib/python" + ,(version-major+minor + (package-version python))))) + (mkdir-p (string-append python-output "/" python-bindings)) + (copy-recursively + (string-append out "/" python-bindings) + (string-append python-output "/" python-bindings)) + (delete-file-recursively + (string-append out "/" python-bindings))))) (add-after 'install-docs 'wrap-programs (lambda* (#:key inputs outputs #:allow-other-keys) (for-each (lambda (prog) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index c0f827b7e3..acf6508795 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -106,6 +106,7 @@ (match (string-take target (string-index target #\-)) ("armhf" "arm-unknown-linux-gnueabi") + ("mips64el" "mips-unknown-linux-gnu") (x (string-append x "-unknown-linux-gnu"))))) (symlink diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index db67d7ad0a..39b4d9f7c1 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -550,8 +550,8 @@ from forcing GEXP-PROMISE." #:system system #:guile-for-build guile))) -(define %icecat-version "78.4.0-guix0-preview1") -(define %icecat-build-id "20201019000000") ;must be of the form YYYYMMDDhhmmss +(define %icecat-version "78.4.1-guix0-preview1") +(define %icecat-build-id "20201110000000") ;must be of the form YYYYMMDDhhmmss ;; 'icecat-source' is a "computed" origin that generates an IceCat tarball ;; from the corresponding upstream Firefox ESR tarball, using the 'makeicecat' @@ -573,11 +573,11 @@ from forcing GEXP-PROMISE." "firefox-" upstream-firefox-version ".source.tar.xz")) (sha256 (base32 - "1z3hj45bnd12z3g6ajv9qrgclca7fymi1sxj9l9nh9q6y6xz0g4f")))) + "0q57b0s6xhps4dzp2cih4ajdj6hdas0j6jx0sidzj72vjzfywy0r")))) - (upstream-icecat-base-version "78.4.0") ; maybe older than base-version + (upstream-icecat-base-version "78.4.1") ; maybe older than base-version ;;(gnuzilla-commit (string-append "v" upstream-icecat-base-version)) - (gnuzilla-commit "05adddbf87a5ee11de7cd90794c331a178bcfd5c") + (gnuzilla-commit "df2c2e22a0c6ea5b4dcaed52884223bfa6ffacde") (gnuzilla-source (origin (method git-fetch) @@ -589,7 +589,7 @@ from forcing GEXP-PROMISE." (string-take gnuzilla-commit 8))) (sha256 (base32 - "128h0gnn1adinjkfmskxdjkvyh60li8czlar2xdjn2b6myiq5yny")))) + "1y1p2g9xvqsg0im58lhdkrp8z0zlxw6i3qqplqdpbidmjwibmqjz")))) ;; 'search-patch' returns either a valid file name or #f, so wrap it ;; in 'assume-valid-file-name' to avoid 'local-file' warnings. @@ -1476,6 +1476,27 @@ standards of the IceCat project.") Thunderbird. It supports email, news feeds, chat, calendar and contacts.") (license license:mpl2.0))) +(define-public icedove/wayland + (package/inherit icedove + (name "icedove-wayland") + (arguments + (substitute-keyword-arguments (package-arguments icedove) + ((#:phases phases) + `(modify-phases ,phases + (replace 'wrap-program + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (gtk (assoc-ref inputs "gtk+")) + (gtk-share (string-append gtk "/share")) + (pulseaudio (assoc-ref inputs "pulseaudio")) + (pulseaudio-lib (string-append pulseaudio "/lib"))) + (wrap-program (car (find-files lib "^icedove$")) + `("MOZ_ENABLE_WAYLAND" = ("1")) + `("XDG_DATA_DIRS" prefix (,gtk-share)) + `("LD_LIBRARY_PATH" prefix (,pulseaudio-lib))) + #t))))))))) + (define-public firefox-decrypt (package (name "firefox-decrypt") diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm index 6ba735c4a2..82573bd099 100644 --- a/gnu/packages/golang.scm +++ b/gnu/packages/golang.scm @@ -5933,3 +5933,105 @@ tests.") (description "This package provides SCSS compiler support for Go applications.") (license license:expat))) + +(define-public go-github-com-hashicorp-go-syslog + (package + (name "go-github-com-hashicorp-go-syslog") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hashicorp/go-syslog") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "09vccqggz212cg0jir6vv708d6mx0f9w5bxrcdah3h6chgmal6v1")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/hashicorp/go-syslog")) + (home-page "https://github.com/hashicorp/go-syslog") + (synopsis "Golang syslog wrapper, cross-compile friendly") + (description "This package is a very simple wrapper around log/syslog") + (license license:expat))) + +(define-public go-github-com-hjson-hjson-go + (package + (name "go-github-com-hjson-hjson-go") + (version "3.1.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/hjson/hjson-go") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1dfdiahimg6z9idg8jiqxwnlwjnmasbjccx8gnag49cz4yfqskaz")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/hjson/hjson-go")) + (home-page "https://hjson.org/") + (synopsis "Human JSON implementation for Go") + (description "Hjson is a syntax extension to JSON. It is intended to be +used like a user interface for humans, to read and edit before passing the +JSON data to the machine.") + (license license:expat))) + +(define-public go-golang-zx2c4-com-wireguard + (package + (name "go-golang-zx2c4-com-wireguard") + (version "0.0.20200320") + (source + (origin + (method git-fetch) + ;; NOTE: module URL is a redirect + ;; target: git.zx2c4.com/wireguard-go + ;; source: golang.zx2c4.com/wireguard + (uri (git-reference + (url "https://git.zx2c4.com/wireguard-go/") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0fy4qsss3i3pkq1rpgjds4aipbwlh1dr9hbbf7jn2a1c63kfks0r")))) + (build-system go-build-system) + (arguments + '(#:import-path "golang.zx2c4.com/wireguard")) + (propagated-inputs + `(("go-golang-org-x-crypto" ,go-golang-org-x-crypto) + ("go-golang-org-x-net" ,go-golang-org-x-net) + ("go-golang-org-x-sys" ,go-golang-org-x-sys) + ("go-golang-org-x-text" ,go-golang-org-x-text))) + (home-page "https://git.zx2c4.com/wireguard") + (synopsis "Implementation of WireGuard in Go") + (description "This package is a Go Implementation of WireGuard.") + (license license:expat))) + +(define-public go-github-com-kardianos-minwinsvc + (package + (name "go-github-com-kardianos-minwinsvc") + (version "1.0.0") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/kardianos/minwinsvc") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0z941cxymkjcsj3p5l3g4wm2da3smz7iyqk2wbs5y8lmxd4kfzd8")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/kardianos/minwinsvc")) + (home-page "https://github.com/kardianos/minwinsvc/") + ;; some packages (Yggdrasil) need it to compile + ;; it's a tiny package and it's easier to bundle it than to patch it out + (synopsis "Minimal windows only service stub for Go") + (description "Go programs designed to run from most *nix style operating +systems can import this package to enable running programs as services without +modifying them.") + (license license:zlib))) diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm index 02281d60d1..01949e2aaa 100644 --- a/gnu/packages/guile-xyz.scm +++ b/gnu/packages/guile-xyz.scm @@ -1803,8 +1803,8 @@ capabilities.") (license license:gpl3+))) (define-public g-golf - (let ((commit "84e894eb7945c3bcdf7f8d5135c1be3efa524c92") - (revision "822")) + (let ((commit "ef830107b9765bd6a2da848d0cbe45e11374c0b5") + (revision "839")) (package (name "g-golf") (version (git-version "0.1.0" revision commit)) @@ -1816,7 +1816,7 @@ capabilities.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1pkcij65zy2lkip5yrfzj85nq17pp9mrf0d4sk6hpjqr4kd0bxd5")))) + (base32 "0r472hvmf447kqvkahp1wy4irb5gy8y793hm8r9rc511smdx66cw")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -3084,7 +3084,7 @@ in C using Gtk+-3 and WebKitGtk.") (license license:gpl3+))) (define-public emacsy-minimal - (let ((commit "v0.4.1-31-g415d96f")) + (let ((commit "v0.4.1-37-g5f91ee6")) (package (inherit emacsy) (name "emacsy-minimal") @@ -3097,7 +3097,7 @@ in C using Gtk+-3 and WebKitGtk.") (commit commit))) (file-name (git-file-name name version)) (sha256 - (base32 "1cs1i1hxwrv0a512j54yrvfh743nci1chx6qjgp4jyzq98ncvxgg")))) + (base32 "03ym14g9qhjqmryr5z065kynqm8yhmvnbs2djl6vp3i9cmqln8cl")))) (build-system gnu-build-system) (inputs `(("guile" ,guile-2.2) @@ -3150,7 +3150,7 @@ perform geometrical transforms on JPEG images.") (define-public nomad (package (name "nomad") - (version "0.2.0-alpha-100-g6a565d3") + (version "0.2.0-alpha-199-g3e7a475") (source (origin (method git-fetch) (uri (git-reference @@ -3159,7 +3159,7 @@ perform geometrical transforms on JPEG images.") (file-name (git-file-name name version)) (sha256 (base32 - "0anmprm63a88kii251rl296v1g4iq62r6n4nssx5jbc0hzkknanz")))) + "0p0ha6prp7pyadp61clbhc6b55023vxzfwy14j2qygb2mkq7fhic")))) (build-system gnu-build-system) (native-inputs `(("autoconf" ,autoconf) @@ -3190,6 +3190,7 @@ perform geometrical transforms on JPEG images.") ("gtk+:bin" ,gtk+ "bin") ("webkitgtk" ,webkitgtk) ("gtksourceview" ,gtksourceview) + ("gsettings-desktop-schemas" ,gsettings-desktop-schemas) ("vte" ,vte) ;; Gstreamer ("gstreamer" ,gstreamer) diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm index da1bd2128c..1339536954 100644 --- a/gnu/packages/haskell-apps.scm +++ b/gnu/packages/haskell-apps.scm @@ -339,14 +339,14 @@ to @code{cabal repl}).") (define-public git-annex (package (name "git-annex") - (version "8.20201007") + (version "8.20201103") (source (origin (method url-fetch) (uri (string-append "https://hackage.haskell.org/package/" "git-annex/git-annex-" version ".tar.gz")) (sha256 - (base32 "0v11yc4kkxnzvwqry277dpjwlavinrjiagfw0ayhrfwd703j1y8a")))) + (base32 "1z9ikpsz3by48yfw87qav5dy7j4k9ky4a7nqnasl15kdm3lav9pl")))) (build-system haskell-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm index 3e341c0752..d80e59cdeb 100644 --- a/gnu/packages/kde.scm +++ b/gnu/packages/kde.scm @@ -137,7 +137,7 @@ This package contains GUI widgets for baloo.") (list license:lgpl2.1+ license:fdl1.2+)))) (define-public kdenlive - (let ((version "20.08.2")) + (let ((version "20.08.3")) (package (name "kdenlive") (version version) @@ -149,7 +149,7 @@ This package contains GUI widgets for baloo.") (commit (string-append "v" version)))) (file-name (string-append name "-" version "-checkout")) (sha256 - (base32 "1zcckv4wj12pvxjg85c8l67vi3amz79yv8mf7m4fbxnam3yxhy90")))) + (base32 "0x0qfwf6wfnybjyjvmllpf87sm27d1n2akslhp2k8ins838qy55i")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index fdc62e8825..76836d718b 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -1109,6 +1109,7 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") ("clucene" ,clucene) ("cups" ,cups) ("dbus-glib" ,dbus-glib) + ("firebird" ,firebird) ("fontconfig" ,fontconfig) ("fontforge" ,fontforge) ("gconf" ,gconf) @@ -1285,7 +1286,9 @@ converting QuarkXPress file format. It supports versions 3.1 to 4.1.") "--without-java" ;; FIXME: Enable once the corresponding inputs are packaged. "--disable-coinmp" - "--disable-firebird-sdbc" ; embedded firebird + ;; This could (Debian does this) be a separate output containing only + ;; program/libfirebird_sdbclo.so, if there's a way to point to it. + "--enable-firebird-sdbc" ;; XXX: PDFium support requires fetching an external tarball and ;; patching the build scripts to work with GCC5. Try enabling this ;; when our default compiler is >=GCC 6. diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index c87c5ffb09..8abeb976af 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -351,15 +351,15 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The current "stable" kernel. That is, the most recently released major ;; version. -(define-public linux-libre-5.9-version "5.9.3") +(define-public linux-libre-5.9-version "5.9.8") (define deblob-scripts-5.9 (linux-libre-deblob-scripts linux-libre-5.9-version (base32 "1l0iw2lp6alk0a8nvdafklyks83iiyw4b2r5xif84z47qfbydsis") - (base32 "0is78bvpx6mrhibpspz4iqnsa1xplh11q1cnalkkm4hpsiy0fi4g"))) + (base32 "0wp0mx5d2qhv7brc595qj34phiaxz9z5gf26w5369nh9mll5cbw6"))) (define-public linux-libre-5.9-pristine-source (let ((version linux-libre-5.9-version) - (hash (base32 "0wwa6557i9l4vyswz26ixz8c2ykxnzqrsc9pwkr76nyjx7gjibni"))) + (hash (base32 "19l67gzk97higd2cbggipcb0wi21pv0ag0mc4qh6cqk564xp6mkn"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.9))) @@ -367,20 +367,20 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." ;; The "longterm" kernels — the older releases with long-term upstream support. ;; Here are the support timelines: ;; <https://www.kernel.org/category/releases.html> -(define-public linux-libre-5.4-version "5.4.74") +(define-public linux-libre-5.4-version "5.4.77") (define deblob-scripts-5.4 (linux-libre-deblob-scripts linux-libre-5.4-version (base32 "0ckxn7k5zgcqk30dq943bnamr6a6zjbw2aqjl3x30f4kvh5f6k25") - (base32 "1h6gbc9cfhb7dqx669iq26a23whka6km5av0ysk61aaz2z57vkrk"))) + (base32 "167zcfkw62pm6nv1xdvvhxw0ca724sywcywnv3z00189f8f8p3vg"))) (define-public linux-libre-5.4-pristine-source (let ((version linux-libre-5.4-version) - (hash (base32 "1drs2pngr5w3rmpydljirmibp30qb4hdrhqsi92knshlw6nz817c"))) + (hash (base32 "1xyvml0mps7bsa11bgpa4l0w8x6pasdz9yab2z4ds394f1lkxq53"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-5.4))) -(define-public linux-libre-4.19-version "4.19.154") +(define-public linux-libre-4.19-version "4.19.157") (define deblob-scripts-4.19 (linux-libre-deblob-scripts linux-libre-4.19-version @@ -388,12 +388,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1jiaw0as1ippkrjdpd52657w5mz9qczg3y2hlra7m9k0xawwiqlf"))) (define-public linux-libre-4.19-pristine-source (let ((version linux-libre-4.19-version) - (hash (base32 "0ik6anz6ly0dl0lp8m5mighlvzkifnk2kljwajxa56vbhj691339"))) + (hash (base32 "0mgpgv2ny49bb7kgaygy2ay6ckjgw7mg091viivi66jw4mjs7p3n"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.19))) -(define-public linux-libre-4.14-version "4.14.203") +(define-public linux-libre-4.14-version "4.14.206") (define deblob-scripts-4.14 (linux-libre-deblob-scripts linux-libre-4.14-version @@ -401,12 +401,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "1qij18inijj6c3ma8hv98yjagnzxdxyn134da9fd23ky8q6hbvky"))) (define-public linux-libre-4.14-pristine-source (let ((version linux-libre-4.14-version) - (hash (base32 "0c9r1s83mrn9lzgrr4wzvk4d72q70sbgf7lql6z9ivkf12v3p5mc"))) + (hash (base32 "1b46f0s15xnlam43cmw8w41rrvcwrhm6km0278lq6f86lpx3w8qw"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.14))) -(define-public linux-libre-4.9-version "4.9.241") +(define-public linux-libre-4.9-version "4.9.243") (define deblob-scripts-4.9 (linux-libre-deblob-scripts linux-libre-4.9-version @@ -414,12 +414,12 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0fxajshb75siq39lj5h8xvhdj8lcmddkslwlyj65rhlwk6g2r4b2"))) (define-public linux-libre-4.9-pristine-source (let ((version linux-libre-4.9-version) - (hash (base32 "0b5k9cwz7vpaybw4nd03pn2z4d8qbhmhd9mx4j2yd0fqj57x1in4"))) + (hash (base32 "111rlzx6z4kf8zwxncib96d9wy6qmkbs0cq3dhnybipwlyf1iank"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.9))) -(define-public linux-libre-4.4-version "4.4.241") +(define-public linux-libre-4.4-version "4.4.243") (define deblob-scripts-4.4 (linux-libre-deblob-scripts linux-libre-4.4-version @@ -427,7 +427,7 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS." (base32 "0hhin1jpfkd6nwrb6xqxjzl3hdxy4pn8a15hy2d3d83yw6pflbsf"))) (define-public linux-libre-4.4-pristine-source (let ((version linux-libre-4.4-version) - (hash (base32 "054jd6jgymxbkjfmk8wbckihl355gjimjg2xi5yr4v2343qi9zij"))) + (hash (base32 "1daqbmj9ka9wdkkym625hqwqaxq5n11y7c4yc9ln3xkjpnv4dplm"))) (make-linux-libre-source version (%upstream-linux-source version hash) deblob-scripts-4.4))) @@ -1008,6 +1008,17 @@ It has been modified to remove all non-free binary blobs.") '("riscv64-linux") #:extra-version "riscv64-generic")) +(define-public linux-libre-mips64el-fuloong2e + (make-linux-libre* linux-libre-version + linux-libre-source + '("mips64el-linux") + #:defconfig "fuloong2e_defconfig" + #:extra-version "mips64el-fuloong2e" + #:extra-options + (append + `(("CONFIG_OVERLAY_FS" . m)) + %default-extra-linux-options))) + (define-public linux-libre-with-bpf (let ((base-linux-libre (make-linux-libre* diff --git a/gnu/packages/lisp-xyz.scm b/gnu/packages/lisp-xyz.scm index fb85416e38..dfc5a2ad00 100644 --- a/gnu/packages/lisp-xyz.scm +++ b/gnu/packages/lisp-xyz.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2017 Nikita <nikita@n0.is> ;;; Copyright © 2016, 2017 Andy Patterson <ajpatter@uwaterloo.ca> ;;; Copyright © 2017, 2019, 2020 Ricardo Wurmus <rekado@elephly.net> -;;; Copyright © 2017, 2018, 2019 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2017, 2018, 2019, 2020 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2018 Benjamin Slade <slade@jnanam.net> ;;; Copyright © 2018 Alex Vong <alexvong1995@gmail.com> @@ -1819,7 +1819,7 @@ writing code that contains string literals that contain code themselves.") (define-public cl-slime-swank (package (name "cl-slime-swank") - (version "2.24") + (version "2.26") (source (origin (file-name (string-append name "-" version ".tar.gz")) @@ -1829,7 +1829,7 @@ writing code that contains string literals that contain code themselves.") (commit (string-append "v" version)))) (sha256 (base32 - "0js24x42m7b5iymb4rxz501dff19vav5pywnzv50b673rbkaaqvh")))) + "0mxb1wnw19v0s72w2wkz5afdlzvpy5nn7pr4vav403qybac0sw5c")))) (build-system asdf-build-system/source) (home-page "https://github.com/slime/slime") (synopsis "Common Lisp Swank server") @@ -2540,6 +2540,12 @@ non-consing thread safe queues and fibonacci priority queues.") (arguments '(#:phases (modify-phases %standard-phases + (add-after 'unpack 'fix-arm-support + (lambda _ + ;; This is apparently deprecated since libffi-3.3. + (substitute* "libffi/libffi-types.lisp" + (("\\\(\\\(:unix64.*") ")\n")) + #t)) (add-after 'unpack 'fix-paths (lambda* (#:key inputs #:allow-other-keys) (substitute* "libffi/libffi.lisp" @@ -2599,7 +2605,8 @@ package.") (install-file "grovel/common.h" (string-append (assoc-ref outputs "out") - "/include/grovel")))))))))) + "/include/grovel")) + #t)))))))) (define-public sbcl-cffi (package @@ -6634,8 +6641,8 @@ number of other open source projects. (sbcl-package->ecl-package sbcl-s-sysdeps)) (define-public sbcl-cl-prevalence - (let ((commit "1e5f030d94237b33d20947a2f6c194abedb10727") - (revision "3")) + (let ((commit "5a76be036092ed6c18cb695a9e03bce87e21b840") + (revision "4")) (package (name "sbcl-cl-prevalence") (build-system asdf-build-system/sbcl) @@ -6650,7 +6657,7 @@ number of other open source projects. (file-name (git-file-name name version)) (sha256 (base32 - "13yb8lv2aap5wvqa6hw7ms31xnax58f4m2nxifkssrzkb2w2qf29")))) + "050h6hwv8f16b5v6fzba8zmih92hgaaq27i2x9wv1iib41gbia3r")))) (inputs `(("s-sysdeps" ,sbcl-s-sysdeps) ("s-xml" ,sbcl-s-xml))) @@ -8221,8 +8228,8 @@ and camel-case rules.") (sbcl-package->ecl-package sbcl-lisp-unit2)) (define-public sbcl-cl-csv - (let ((commit "3eba29c8364b033fbe0d189c2500559278b6a362") - (revision "1")) + (let ((commit "68ecb5d816545677513d7f6308d9e5e8d2265651") + (revision "2")) (package (name "sbcl-cl-csv") (version (git-version "1.0.6" revision commit)) @@ -8235,7 +8242,7 @@ and camel-case rules.") (file-name (git-file-name name version)) (sha256 (base32 - "07h4ni89jzx93clx453hlnnb5g53hhlcmz5hghqv6ysam48lc8g6")))) + "0gcmlbwx5m3kwgk12qi80w08ak8fgdnvyia429fz6gnxmhg0k54x")))) (build-system asdf-build-system/sbcl) (arguments ;; See: https://github.com/AccelerationNet/cl-csv/pull/34 @@ -13552,6 +13559,70 @@ and decoder for Common Lisp.") (define-public ecl-qbase64 (sbcl-package->ecl-package sbcl-qbase64)) +(define-public sbcl-lw-compat + ;; No release since 2013. + (let ((commit "aabfe28c6c1a4949f9d7b3cb30319367c9fd1c0d")) + (package + (name "sbcl-lw-compat") + (version (git-version "1.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pcostanza/lw-compat/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "131rq5k2mlv9bfhmafiv6nfsivl4cxx13d9wr06v5jrqnckh4aav")))) + (build-system asdf-build-system/sbcl) + (home-page "https://github.com/pcostanza/lw-compat/") + (synopsis "LispWorks utilities ported to other Common Lisp implementations") + (description "This package contains a few utility functions from the +LispWorks library that are used in software such as ContextL.") + (license license:expat)))) + +(define-public cl-lw-compat + (sbcl-package->cl-source-package sbcl-lw-compat)) + +(define-public ecl-lw-compat + (sbcl-package->ecl-package sbcl-lw-compat)) + +(define-public sbcl-contextl + ;; No release since 2013. + (let ((commit "5d18a71a85824f6c25a9f35a21052f967b8b6bb9")) + (package + (name "sbcl-contextl") + (version (git-version "1.0.0" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pcostanza/contextl/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0gk1izx6l6g48nypmnm9r6mzjx0jixqjj2kc6klf8a88rr5xd226")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("closer-mop" ,sbcl-closer-mop) + ("lw-compat" ,sbcl-lw-compat))) + (home-page "https://github.com/pcostanza/contextl") + (synopsis "Context-oriented programming for Common Lisp") + (description "ContextL is a CLOS extension for Context-Oriented +Programming (COP). + +Find overview of ContextL's features in an overview paper: +@url{http://www.p-cos.net/documents/contextl-soa.pdf}. See also this general +overview article about COP which also contains some ContextL examples: +@url{http://www.jot.fm/issues/issue_2008_03/article4/}.") + (license license:expat)))) + +(define-public cl-contextl + (sbcl-package->cl-source-package sbcl-contextl)) + +(define-public ecl-contextl + (sbcl-package->ecl-package sbcl-contextl)) + (define-public sbcl-hu.dwim.common-lisp (package (name "sbcl-hu.dwim.common-lisp") @@ -14201,3 +14272,273 @@ object-oriented framework for prototyping genetic algorithms in Common Lisp.") (define-public ecl-geco (sbcl-package->ecl-package sbcl-geco)) + +(define-public sbcl-html-entities + (let ((commit "4af018048e891f41d77e7d680ed3aeb639e1eedb")) + (package + (name "sbcl-html-entities") + (version (git-version "0.02" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/BnMcGn/html-entities/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1b2yl6lf6vis17y4n5s505p7ica96bdafcl6vydy1hg50fy33nfr")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("ppcre" ,sbcl-cl-ppcre))) + (native-inputs + `(("fiveam" ,sbcl-fiveam))) + (home-page "https://github.com/BnMcGn/html-entities/") + (synopsis "Encode and decode entities in HTML with Common Lisp") + (description "Html-entities is a Common Lisp library that lets you +encode and decode entities in HTML.") + (license license:expat)))) + +(define-public cl-html-entities + (sbcl-package->cl-source-package sbcl-html-entities)) + +(define-public ecl-html-entities + (sbcl-package->ecl-package sbcl-html-entities)) + +(define-public sbcl-quicksearch + (let ((commit "fb02ecf7c876ec580ab18c7d2c8c7814c06af599")) + (package + (name "sbcl-quicksearch") + (version (git-version "0.01.04" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/tkych/quicksearch/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "16k19zjkhh7r64vjq371k5jwjs7cdfjz83flh561n4h4v1z89fps")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("bordeaux-threads" ,sbcl-bordeaux-threads) + ("iterate" ,sbcl-iterate) + ("alexandria" ,sbcl-alexandria) + ("anaphora" ,sbcl-anaphora) + ("ppcre" ,sbcl-cl-ppcre) + ("drakma" ,sbcl-drakma) + ("html-entities" ,sbcl-html-entities) + ("yason" ,sbcl-yason) + ("flexi-streams" ,sbcl-flexi-streams) + ("do-urlencode" ,sbcl-do-urlencode))) + (home-page "https://github.com/tkych/quicksearch/") + (synopsis "Search Engine Interface for Common Lisp packages") + (description "Quicksearch is a search-engine-interface for Common Lisp. +The goal of Quicksearch is to find the Common Lisp library quickly. For +example, if you will find the library about json, just type @code{(qs:? +'json)} at REPL. + +The function @code{quicksearch} searches for Common Lisp projects in +Quicklisp, Cliki, GitHub and BitBucket, then outputs results in REPL. The +function @code{?} is abbreviation wrapper for @code{quicksearch}.") + (license license:expat)))) + +(define-public cl-quicksearch + (sbcl-package->cl-source-package sbcl-quicksearch)) + +(define-public ecl-quicksearch + (sbcl-package->ecl-package sbcl-quicksearch)) + +(define-public sbcl-agutil + (let ((commit "df188d754d472da9faa1601a48f1f37bb7b34d68")) + (package + (name "sbcl-agutil") + (version (git-version "0.0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alex-gutev/agutil/") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1xpnyzksk2xld64b6lw6rw0gn5zxlb77jwna59sd4yl7kxhxlfpf")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("trivia" ,sbcl-trivia))) + (home-page "https://github.com/alex-gutev/agutil/") + (synopsis "Collection of Common Lisp utilities") + (description "A collection of Common Lisp utility functions and macros +mostly not found in other utility packages.") + (license license:expat)))) + +(define-public cl-agutil + (sbcl-package->cl-source-package sbcl-agutil)) + +(define-public ecl-agutil + (sbcl-package->ecl-package sbcl-agutil)) + +(define-public sbcl-custom-hash-table + (let ((commit "f26983133940f5edf826ebbc8077acc04816ddfa")) + (package + (name "sbcl-custom-hash-table") + (version (git-version "0.3" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/metawilm/cl-custom-hash-table") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1k4mvrpbqqds2fwjxp1bxmrfmr8ch4dkwhnkbw559knbqshvrlj5")))) + (build-system asdf-build-system/sbcl) + (arguments + '(#:asd-file "cl-custom-hash-table.asd" + #:asd-system-name "cl-custom-hash-table")) + (home-page "https://github.com/metawilm/cl-custom-hash-table") + (synopsis "Custom hash tables for Common Lisp") + (description "This library allows creation of hash tables with arbitrary +@code{test}/@code{hash} functions, in addition to the @code{test} functions +allowed by the standard (@code{EQ}, @code{EQL}, @code{EQUAL} and +@code{EQUALP}), even in implementations that don't support this functionality +directly.") + (license license:expat)))) + +(define-public cl-custom-hash-table + (sbcl-package->cl-source-package sbcl-custom-hash-table)) + +(define-public ecl-custom-hash-table + (sbcl-package->ecl-package sbcl-custom-hash-table)) + +(define-public sbcl-collectors + (let ((commit "13acef25d8422d1d82e067b1861e513587c166ee")) + (package + (name "sbcl-collectors") + (version (git-version "0.1" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/AccelerationNet/collectors") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1si68n1j6rpns8jw6ksqjpb937pdl30v7xza8rld7j5vh0jhy2yi")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("alexandria" ,sbcl-alexandria) + ("closer-mop" ,sbcl-closer-mop) + ("symbol-munger" ,sbcl-symbol-munger))) + (native-inputs + `(("lisp-unit2" ,sbcl-lisp-unit2))) + (home-page "https://github.com/AccelerationNet/collectors/") + (synopsis "Common lisp library providing collector macros") + (description "A small collection of common lisp macros to make +collecting values easier.") + (license license:bsd-3)))) + +(define-public cl-collectors + (sbcl-package->cl-source-package sbcl-collectors)) + +(define-public ecl-collectors + (sbcl-package->ecl-package sbcl-collectors)) + +(define-public cl-environments + ;; TODO: asdf-build-system/sbcl fails here, why? See if it works with the + ;; build system revamp once staging is merged after 2020-11-09. + (let ((commit "bbcd958a9ff23ce3e6ea5f8ee2edad9634819a3a")) ; No version in 2 years. + (package + (name "cl-environments") + (version (git-version "0.2.3" "1" commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alex-gutev/cl-environments") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1pfxl3vcdrb4mjy4q4c3c7q95kzv6rfjif3hzd5q91i9z621d64r")))) + (build-system asdf-build-system/source) + (propagated-inputs + `(("alexandria" ,cl-alexandria) + ("anaphora" ,cl-anaphora) + ("collectors" ,cl-collectors) + ("optima" ,cl-optima))) + (native-inputs + `(("prove" ,sbcl-prove) + ("prove-asdf" ,sbcl-prove-asdf))) + (home-page "https://github.com/alex-gutev/cl-environments") + (synopsis "Implements the Common Lisp standard environment access API") + (description "This library provides a uniform API, as specified in Common +Lisp the Language 2, for accessing information about variable and function +bindings from implementation-defined lexical environment objects. All major +Common Lisp implementations are supported, even those which don't support the +CLTL2 environment access API.") + (license license:expat)))) + +(define-public sbcl-static-dispatch + (package + (name "sbcl-static-dispatch") + (version "0.3") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/alex-gutev/static-dispatch") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1wp5yz8liqqic3yifqf33qhccd755pd7ycvsq1j4i7k3f1wm18i0")))) + (build-system asdf-build-system/sbcl) + (inputs + `(("agutil" ,sbcl-agutil) + ("alexandria" ,sbcl-alexandria) + ("anaphora" ,sbcl-anaphora) + ("arrows" ,sbcl-arrows) + ("closer-mop" ,sbcl-closer-mop) + ("iterate" ,sbcl-iterate) + ("trivia" ,sbcl-trivia))) + (propagated-inputs + `(("cl-environments" ,cl-environments))) + (native-inputs + `(("prove-asdf" ,sbcl-prove-asdf) + ("prove" ,sbcl-prove))) + (arguments + `(#:phases + (modify-phases %standard-phases + ;; Use `arrows' instead of cl-arrows which is abandoned and unlicensed. + ;; https://github.com/nightfly19/cl-arrows/issues/5 + (add-after 'unpack 'use-arrows-instead-of-cl-arrows + (lambda _ + (for-each + (lambda (file) + (substitute* file + ((":cl-arrows") ":arrows"))) + '("static-dispatch.asd" + "src/package.lisp" + "test/methods.lisp" + "test/test.lisp"))))))) + (home-page "https://github.com/alex-gutev/static-dispatch") + (synopsis "Static generic function dispatch for Common Lisp") + (description "Static dispatch is a Common Lisp library, inspired by +@code{inlined-generic-function}, which allows standard Common Lisp generic +function dispatch to be performed statically (at compile time) rather than +dynamically (runtime). This is similar to what is known as \"overloading\" in +languages such as C++ and Java. + +The purpose of static dispatch is to provide an optimization in cases where +the usual dynamic dispatch is too slow, and the dynamic features of generic +functions, such as adding/removing methods at runtime are not required. An +example of such a case is a generic equality comparison function. Currently +generic functions are considered far too slow to implement generic arithmetic +and comparison operations when used heavily in numeric code.") + (license license:expat))) + +(define-public cl-static-dispatch + (sbcl-package->cl-source-package sbcl-static-dispatch)) + +(define-public ecl-static-dispatch + (sbcl-package->ecl-package sbcl-static-dispatch)) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 44a156fd99..ff036d36a3 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -37,6 +37,7 @@ ;;; Copyright © 2020 Alexey Abramov <levenson@mmer.org> ;;; Copyright © 2020 Tim Gesthuizen <tim.gesthuizen@yahoo.de> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro> +;;; Copyright © 2020 Oleg Pykhalov <go.wigust@gmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1050,14 +1051,14 @@ invoking @command{notifymuch} from the post-new hook.") (define-public notmuch (package (name "notmuch") - (version "0.31") + (version "0.31.1") (source (origin (method url-fetch) (uri (string-append "https://notmuchmail.org/releases/notmuch-" version ".tar.xz")) (sha256 (base32 - "1543l57viqzqikjgfzp2abpwz3p0k2iq0b1b3wmn31lwaghs07sp")))) + "0pmvwynd4f4kr38agd5m1ml20lq854knc9da7yiqfi776j8fg2rj")))) (build-system gnu-build-system) (arguments `(#:modules ((guix build gnu-build-system) @@ -2880,14 +2881,13 @@ messages with @acronym{DKIM, DomainKeys Identified Mail} (RFC 4871).") (define-public mailman (package (name "mailman") - (version "3.3.1") + (version "3.3.2") (source (origin (method url-fetch) (uri (pypi-uri "mailman" version)) (sha256 - (base32 - "0idfiv48jjgc0jq4731094ddhraqq8bxnwmjk6sg5ask0jss9kxq")))) + (base32 "0a5ckbf8hc3y28b7p5psp0d4bxk601jlr5pd3hhh545xd8d9f0dg")))) (build-system python-build-system) (propagated-inputs `(("gunicorn" ,gunicorn) @@ -3887,7 +3887,7 @@ DKIM and ARC sign messages and output the corresponding signature headers.") (define-public python-aiosmtpd (package (name "python-aiosmtpd") - (version "1.2.1") + (version "1.2.2") (source (origin (method git-fetch) @@ -3895,7 +3895,7 @@ DKIM and ARC sign messages and output the corresponding signature headers.") (url "https://github.com/aio-libs/aiosmtpd") (commit version))) (sha256 - (base32 "14c30dm6jzxiblnsah53fdv68vqhxwvb9x0aq9bc4vcdas747vr7")) + (base32 "0083d6nf75xv8nq1il6jabz36v6c452svy4p402csxwwih5pw6sk")) (file-name (git-file-name name version)))) (build-system python-build-system) (arguments diff --git a/gnu/packages/mate.scm b/gnu/packages/mate.scm index 77e55731a3..a9635d90fe 100644 --- a/gnu/packages/mate.scm +++ b/gnu/packages/mate.scm @@ -903,7 +903,6 @@ icons on the MATE desktop. It works on local and remote file systems.") ("dbus-glib" ,dbus-glib) ("gajim" ,gajim) ;runtime only? ("gtk+" ,gtk+) - ("imagemagick" ,imagemagick) ("graphicsmagick" ,graphicsmagick) ("mate-desktop" ,mate-desktop) ("pidgin" ,pidgin) ;runtime only? diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index ba46937f9a..295e2dd35e 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -2470,7 +2470,18 @@ scientific applications modeled by partial differential equations.") (uri (pypi-uri "petsc4py" version)) (sha256 (base32 - "1rm1qj5wlkhxl39by9n78lh3gbmii31wsnb8j1rr5hvfr5xgbx2q")))) + "1rm1qj5wlkhxl39by9n78lh3gbmii31wsnb8j1rr5hvfr5xgbx2q")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Ensure source file is regenerated in the build phase. + (delete-file "src/petsc4py.PETSc.c") + ;; Remove legacy GC code. See + ;; https://bitbucket.org/petsc/petsc4py/issues/125. + (substitute* "src/PETSc/cyclicgc.pxi" + ((".*gc_refs.*") "" ) + ((".*PyGC_Head.*") "")) + #t)))) (build-system python-build-system) (arguments `(#:phases @@ -2482,6 +2493,8 @@ scientific applications modeled by partial differential equations.") #t)) (add-before 'check 'mpi-setup ,%openmpi-setup)))) + (native-inputs + `(("python-cython" ,python-cython))) (inputs `(("petsc" ,petsc-openmpi) ("python-numpy" ,python-numpy))) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 7fe58094c0..b462504894 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -2373,7 +2373,7 @@ support for high performance Telegram Bot creation.") (define-public chatty (package (name "chatty") - (version "0.1.16") + (version "0.1.17") (source (origin (method git-fetch) (uri (git-reference @@ -2382,7 +2382,7 @@ support for high performance Telegram Bot creation.") (file-name (git-file-name name version)) (sha256 (base32 - "085hb3ii1cy0jb3f0mim25v5r5w3gpfsdpjid5dmrpw4gi88aa2x")))) + "0ba1rw8a3vif9k3570hxjfm25vqys3vk3f6g8z5irklwq4bi6lmn")))) (build-system meson-build-system) (arguments '(#:phases diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index b4e1182e52..4944c960a6 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -104,7 +104,7 @@ interfacing MPD in the C, C++ & Objective C languages.") (define-public mpd (package (name "mpd") - (version "0.22.2") + (version "0.22.3") (source (origin (method url-fetch) (uri @@ -113,7 +113,7 @@ interfacing MPD in the C, C++ & Objective C languages.") "/mpd-" version ".tar.xz")) (sha256 (base32 - "0dldj7r58a3zxbvhs188p8mb4wcffnp66kpnglm4vwcp0wpmn6rn")))) + "1kvcarqijyw07bdqszjsn62plmncaid5az0q542p6rsygc1i501k")))) (build-system meson-build-system) (arguments `(#:configure-flags '("-Ddocumentation=enabled"))) diff --git a/gnu/packages/music.scm b/gnu/packages/music.scm index 0d72c24d92..0728144b60 100644 --- a/gnu/packages/music.scm +++ b/gnu/packages/music.scm @@ -1804,17 +1804,30 @@ special variant of additive synthesis.") (base32 "1882pfcmf3rqg3vd4qflzkppcv158d748i603spqjbxqi8z7x7w0")))) (build-system gnu-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-after 'unpack 'patch-file-names + (lambda _ + (substitute* "src/GUI/editor_pane.c" + (("/usr/bin/unzip") (which "unzip"))) + (substitute* "src/GUI/GUI.cc" + (("/usr/bin/which") (which "which"))) + #t))))) (inputs `(("alsa-lib" ,alsa-lib) + ("gtk+" ,gtk+-2) + ("gtkmm" ,gtkmm-2) ("jack" ,jack-1) - ("lv2" ,lv2) ("lash" ,lash) ("libsndfile" ,libsndfile) - ("gtk+" ,gtk+-2) - ("gtkmm" ,gtkmm-2))) + ("lv2" ,lv2) + ;; External commands invoked at run time. + ("unzip" ,unzip) + ("which" ,which))) (native-inputs - `(("pkg-config" ,pkg-config) - ("intltool" ,intltool))) + `(("intltool" ,intltool) + ("pkg-config" ,pkg-config))) (home-page "https://amsynth.github.io") (synopsis "Analog modeling synthesizer") (description diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index fefb9a5bf8..4f7eee6ddb 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -97,6 +97,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) + #:use-module (gnu packages golang) #:use-module (gnu packages graphviz) #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) @@ -135,7 +136,6 @@ #:use-module (gnu packages textutils) #:use-module (gnu packages tls) #:use-module (gnu packages valgrind) - #:use-module (gnu packages version-control) #:use-module (gnu packages web) #:use-module (gnu packages wxwidgets) #:use-module (gnu packages xml) @@ -871,6 +871,7 @@ transparently check connection attempts against an access control list.") (base32 "18km71p77jm1w7wly2a5mxvphjb0f2l6s08cg382x55f6zdqb4lx")))) (build-system gnu-build-system) + (arguments '(#:configure-flags '("--disable-static"))) (home-page "https://zeromq.org") (synopsis "Library for message-based applications") (description @@ -3821,3 +3822,97 @@ stamps.") client and server. It allows you to use remote block devices over a TCP/IP network.") (license license:gpl2))) + +(define-public yggdrasil + (package + (name "yggdrasil") + (version "0.3.15") + (source + (origin + (method git-fetch) + (uri + (git-reference + (url "https://github.com/yggdrasil-network/yggdrasil-go") + (commit (string-append "v" version)) + (recursive? #t))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0gk7gy8yq5nrnblv4imxzzm2hac4ri0hlw19ajfbc1zll5kj32gf")) + (patches (search-patches "yggdrasil-extra-config.patch")))) + (build-system go-build-system) + (arguments + '(#:import-path "github.com/yggdrasil-network/yggdrasil-go" + ;; TODO: figure out how tests are run + #:tests? #f + #:install-source? #f + #:phases (modify-phases %standard-phases + (replace 'build + (lambda _ + (for-each + (lambda (c) + (invoke + "go" "build" "-v" "-ldflags=-s -w" + (string-append + "github.com/yggdrasil-network/yggdrasil-go/cmd/" c))) + (list "yggdrasil" "yggdrasilctl")) + #t)) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin/")) + (doc (string-append out "/share/doc/yggdrasil/"))) + (mkdir-p bin) + (for-each + (lambda (f) + (install-file f bin)) + (list "yggdrasil" "yggdrasilctl")) + (mkdir-p doc) + (copy-recursively + (string-append + "src/github.com/yggdrasil-network/yggdrasil-go/" + "doc/yggdrasil-network.github.io") + doc)) + #t))))) + ;; https://github.com/kardianos/minwinsvc is windows only + (propagated-inputs + `(("go-github-com-arceliar-phony" ,go-github-com-arceliar-phony) + ("go-github-com-cheggaaa-pb" ,go-github-com-cheggaaa-pb) + ("go-github-com-gologme-log" ,go-github-com-gologme-log) + ("go-github-com-hashicorp-go-syslog" ,go-github-com-hashicorp-go-syslog) + ("go-github-com-hjson-hjson-go" ,go-github-com-hjson-hjson-go) + ("go-github-com-kardianos-minwinsvc" ,go-github-com-kardianos-minwinsvc) + ("go-github-com-mitchellh-mapstructure" + ,go-github-com-mitchellh-mapstructure) + ("go-golang-org-x-crypto" ,go-golang-org-x-crypto) + ("go-golang-org-x-net" ,go-golang-org-x-net) + ("go-golang-org-x-text" ,go-golang-org-x-text) + ("go-golang-zx2c4-com-wireguard" ,go-golang-zx2c4-com-wireguard) + ("go-netlink" ,go-netlink) + ("go-netns" ,go-netns))) + (home-page "https://yggdrasil-network.github.io/blog.html") + (synopsis + "Experiment in scalable routing as an encrypted IPv6 overlay network") + (description + "Yggdrasil is an early-stage implementation of a fully end-to-end encrypted +IPv6 network. It is lightweight, self-arranging, supported on multiple +platforms and allows pretty much any IPv6-capable application to communicate +securely with other Yggdrasil nodes. Yggdrasil does not require you to have +IPv6 Internet connectivity - it also works over IPv4.") + (license + ;; As a special exception to the GNU Lesser General Public License + ;; version 3 ("LGPL3"), the copyright holders of this Library give you + ;; permission to convey to a third party a Combined Work that links + ;; statically or dynamically to this Library without providing any Minimal + ;; Corresponding Source or Minimal Application Code as set out in 4d or + ;; providing the installation information set out in section 4e, provided + ;; that you comply with the other provisions of LGPL3 and provided that you + ;; meet, for the Application the terms and conditions of the license(s) + ;; which apply to the Application. Except as stated in this special + ;; exception, the provisions of LGPL3 will continue to comply in full to + ;; this Library. If you modify this Library, you may apply this exception + ;; to your version of this Library, but you are not obliged to do so. If + ;; you do not wish to do so, delete this exception statement from your + ;; version. This exception does not (and cannot) modify any license terms + ;; which apply to the Application, with which you must still comply + license:lgpl3))) diff --git a/gnu/packages/ocaml.scm b/gnu/packages/ocaml.scm index 30add4f6b4..2121263ab5 100644 --- a/gnu/packages/ocaml.scm +++ b/gnu/packages/ocaml.scm @@ -133,10 +133,10 @@ "/lib/ocaml/site-lib")) #:phases (modify-phases %standard-phases (delete 'configure)))) -(define-public ocaml-4.09 +(define-public ocaml-4.11 (package (name "ocaml") - (version "4.09.0") + (version "4.11.1") (source (origin (method url-fetch) (uri (string-append @@ -145,7 +145,7 @@ "/ocaml-" version ".tar.xz")) (sha256 (base32 - "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj")))) + "0k4521c0p10c5ams6vjv5qkkjhmpkb0bfn04llcz46ah0f3r2jpa")))) (build-system gnu-build-system) (native-search-paths (list (search-path-specification @@ -203,6 +203,20 @@ functional, imperative and object-oriented styles of programming.") ;; distributed under lgpl2.0. (license (list license:qpl license:lgpl2.0)))) +(define-public ocaml-4.09 + (package + (inherit ocaml-4.11) + (version "4.09.0") + (source (origin + (method url-fetch) + (uri (string-append + "http://caml.inria.fr/pub/distrib/ocaml-" + (version-major+minor version) + "/ocaml-" version ".tar.xz")) + (sha256 + (base32 + "1v3z5ar326f3hzvpfljg4xj8b9lmbrl53fn57yih1bkbx3gr3yzj")))))) + (define-public ocaml-4.07 (package (inherit ocaml-4.09) @@ -230,7 +244,7 @@ functional, imperative and object-oriented styles of programming.") "--prefix" out "--mandir" mandir)))))))))) -(define-public ocaml ocaml-4.09) +(define-public ocaml ocaml-4.11) (define-public ocamlbuild (package @@ -999,6 +1013,14 @@ compilers that can directly deal with packages.") `(("m4" ,m4) ("ocaml" ,ocaml-4.07))))) +(define-public ocaml4.09-findlib + (package + (inherit ocaml-findlib) + (name "ocaml4.09-findlib") + (native-inputs + `(("m4" ,m4) + ("ocaml" ,ocaml-4.09))))) + ;; note that some tests may hang for no obvious reason. (define-public ocaml-ounit (package @@ -1293,6 +1315,9 @@ release of Jane Street packages. It reads metadata from @file{dune} files following a very simple s-expression syntax.") (license license:expat))) +(define ocaml4.09-dune-bootstrap + (package-with-ocaml4.09 dune-bootstrap)) + (define-public dune-configurator (package (inherit dune-bootstrap) @@ -1305,6 +1330,7 @@ following a very simple s-expression syntax.") #:tests? #f)) (propagated-inputs `(("ocaml-csexp" ,ocaml-csexp))) + (properties `((ocaml4.09-variant . ,(delay ocaml4.09-dune-configurator)))) (synopsis "Dune helper library for gathering system configuration") (description "Dune-configurator is a small library that helps writing OCaml scripts that test features available on the system, in order to generate @@ -1317,12 +1343,32 @@ config.h files for instance. Among other things, dune-configurator allows one t @item generate config.h file @end itemize"))) +(define-public ocaml4.09-dune-configurator + (package + (inherit dune-configurator) + (name "ocaml4.09-dune-configurator") + (arguments + `(#:package "dune-configurator" + #:tests? #f + #:dune ,ocaml4.09-dune-bootstrap + #:ocaml ,ocaml-4.09 + #:findlib ,ocaml4.09-findlib)) + (propagated-inputs + `(("ocaml-csexp" ,ocaml4.09-csexp))))) + (define-public dune (package (inherit dune-bootstrap) (propagated-inputs `(("dune-configurator" ,dune-configurator))) - (properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune)))))) + (properties `((ocaml4.07-variant . ,(delay ocaml4.07-dune)) + (ocaml4.09-variant . ,(delay ocaml4.09-dune)))))) + +(define-public ocaml4.09-dune + (package + (inherit ocaml4.09-dune-bootstrap) + (propagated-inputs + `(("dune-configurator" ,dune-configurator))))) (define-public ocaml4.07-dune (package @@ -1363,6 +1409,7 @@ config.h files for instance. Among other things, dune-configurator allows one t #t))))) (propagated-inputs `(("ocaml-result" ,ocaml-result))) + (properties `((ocaml4.09-variant . ,(delay ocaml4.09-csexp)))) (home-page "https://github.com/ocaml-dune/csexp") (synopsis "Parsing and printing of S-expressions in Canonical form") (description "This library provides minimal support for Canonical @@ -1379,6 +1426,18 @@ To avoid a dependency on a particular S-expression library, the only module of this library is parameterised by the type of S-expressions.") (license license:expat))) +(define-public ocaml4.09-csexp + (package + (inherit ocaml-csexp) + (name "ocaml4.09-csexp") + (arguments + `(#:ocaml ,ocaml-4.09 + #:findlib ,ocaml4.09-findlib + ,@(substitute-keyword-arguments (package-arguments ocaml-csexp) + ((#:dune _) ocaml4.09-dune-bootstrap)))) + (propagated-inputs + `(("ocaml-result" ,ocaml4.09-result))))) + (define-public ocaml-migrate-parsetree (package (name "ocaml-migrate-parsetree") @@ -1423,7 +1482,8 @@ functions to the next and/or previous version.") "07lnj4yzwvwyh5fhpp1dxrys4ddih15jhgqjn59pmgxinbnddi66")))) (build-system dune-build-system) (arguments - `(#:test-target ".")) + `(#:test-target "." + #:package "ppx_tools_versioned")) (propagated-inputs `(("ocaml-migrate-parsetree" ,ocaml-migrate-parsetree))) (properties `((upstream-name . "ppx_tools_versioned"))) @@ -1487,12 +1547,23 @@ powerful.") (arguments `(#:test-target "." #:dune ,dune-bootstrap)) + (properties `((ocaml4.09-variant . ,(delay ocaml4.09-result)))) (home-page "https://github.com/janestreet/result") (synopsis "Compatibility Result module") (description "Uses the new result type defined in OCaml >= 4.03 while staying compatible with older version of OCaml should use the Result module defined in this library.") (license license:bsd-3))) + +(define-public ocaml4.09-result + (package + (inherit ocaml-result) + (name "ocaml4.09-result") + (arguments + `(#:test-target "." + #:dune ,ocaml4.09-dune-bootstrap + #:ocaml ,ocaml-4.09 + #:findlib ,ocaml4.09-findlib)))) (define-public ocaml-topkg (package @@ -2381,21 +2452,28 @@ radix-64 representation. It is specified in RFC 4648.") (base32 "1f0fghvlbfryf5h3j4as7vcqrgfjb4c8abl5y0y5h069vs4kp5ii")))) (build-system ocaml-build-system) (arguments - `(#:phases + `(#:tests? #f; no tests + #:phases (modify-phases %standard-phases - (add-after 'unpack 'disable-safe-string - ;; Work around ‘Error: This expression has type string but an - ;; expression was expected of type bytes’ since OCaml 4.06. + (delete 'configure) + (replace 'build + ;; This package uses pre-generated setup.ml by oasis, but is + ;; a dependency of oasis. the pre-generated setup.ml is broken + ;; with recent versions of OCaml, so we perform a bootstrap instead. (lambda _ - (setenv "OCAMLPARAM" "safe-string=0,_") + (substitute* "src/OCamlifyConfig.ml.ab" + (("$pkg_version") ,version)) + (rename-file "src/OCamlifyConfig.ml.ab" "src/OCamlifyConfig.ml") + (with-directory-excursion "src" + (invoke "ocamlc" "OCamlifyConfig.ml" "ocamlify.ml" "-o" + "ocamlify")) #t)) - (delete 'check) ; tests are run during the build - (replace 'configure + (replace 'install (lambda* (#:key outputs #:allow-other-keys) - (invoke "ocaml" "setup.ml" "-configure" "--prefix" - (assoc-ref outputs "out"))))))) - (native-inputs - `(("ocamlbuild" ,ocamlbuild))) + (let ((bin (string-append (assoc-ref outputs "out") "/bin"))) + (mkdir-p bin) + (install-file "src/ocamlify" bin) + #t)))))) (home-page "https://forge.ocamlcore.org/projects/ocamlify") (synopsis "Include files in OCaml code") (description "OCamlify creates OCaml source code by including diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 93bc4d7ee6..4a7a15c378 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -566,14 +566,14 @@ out) and returning a package that uses that as its 'source'." (define-public nix (package (name "nix") - (version "2.3.7") + (version "2.3.8") (source (origin (method url-fetch) - (uri (string-append "http://nixos.org/releases/nix/nix-" + (uri (string-append "https://nixos.org/releases/nix/nix-" version "/nix-" version ".tar.xz")) (sha256 (base32 - "15p50jkss6szinisb7axhxybgfi29sm9grz7mxwair8ljj2553yx")))) + "0amd5nnqslvkfpz042l4ydihw2qsy68nmjbwaagcrggaq4irh4f7")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--sysconfdir=/etc" "--enable-gc") @@ -1009,8 +1009,8 @@ environments.") (license (list license:gpl3+ license:agpl3+ license:silofl1.1)))) (define-public guix-build-coordinator - (let ((commit "d38698d85174b4594e6dc2f9be50083a50786026") - (revision "4")) + (let ((commit "98f50831612b9d1253ae8ca2bceb547fed373f41") + (revision "5")) (package (name "guix-build-coordinator") (version (git-version "0" revision commit)) @@ -1021,7 +1021,7 @@ environments.") (commit commit))) (sha256 (base32 - "1jb36p8bbhiav6nb1qpi90j03qjbvr8akn53am3xbz32ps0hf34j")) + "08xwb5phh14cxgwv4fxcd2hhpjgqxfknm9zkx9qp26zb56w2xzkz")) (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments @@ -1075,6 +1075,7 @@ environments.") ("guix" ,guix) ("guile-prometheus" ,guile-prometheus) ("guile-fibers" ,guile-fibers) + ("guile-lib" ,guile-lib) ("guile" ,@(assoc-ref (package-native-inputs guix) "guile")))) (inputs `(("guile" ,@(assoc-ref (package-native-inputs guix) "guile")) @@ -1085,6 +1086,7 @@ environments.") ("guile-prometheus" ,guile-prometheus) ("guile-gcrypt" ,guile-gcrypt) ("guile-json" ,guile-json-4) + ("guile-lib" ,guile-lib) ("guile-lzlib" ,guile-lzlib) ("guile-zlib" ,guile-zlib) ("guile-sqlite3" ,guile-sqlite3) diff --git a/gnu/packages/patches/icecat-makeicecat.patch b/gnu/packages/patches/icecat-makeicecat.patch index e0cdde61ec..f82df9f68e 100644 --- a/gnu/packages/patches/icecat-makeicecat.patch +++ b/gnu/packages/patches/icecat-makeicecat.patch @@ -25,7 +25,7 @@ index 8be2362..48716f2 100755 -wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc -gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 -gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc --echo -n 8e3cf0bbf1062768134db2eb10ab774731ca5ec6694b65def82234bb0a9170fc firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +-echo -n 1978eedd975b1cf95bd4a04b2381560d1ad9a4223032717f23fac26e3458a760 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - - -echo Extracting Firefox tarball -tar -xf firefox-${FFVERSION}esr.source.tar.xz @@ -37,7 +37,7 @@ index 8be2362..48716f2 100755 +# wget -N https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${FFVERSION}esr/source/firefox-${FFVERSION}esr.source.tar.xz.asc +# gpg --recv-keys --keyserver keyserver.ubuntu.com 14F26682D0916CDD81E37B6D61B7B526D98F0353 +# gpg --verify firefox-${FFVERSION}esr.source.tar.xz.asc -+# echo -n 8e3cf0bbf1062768134db2eb10ab774731ca5ec6694b65def82234bb0a9170fc firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - ++# echo -n 1978eedd975b1cf95bd4a04b2381560d1ad9a4223032717f23fac26e3458a760 firefox-${FFVERSION}esr.source.tar.xz |sha256sum -c - +# +# echo Extracting Firefox tarball +# tar -xf firefox-${FFVERSION}esr.source.tar.xz diff --git a/gnu/packages/patches/oath-toolkit-glibc-compat.patch b/gnu/packages/patches/oath-toolkit-glibc-compat.patch deleted file mode 100644 index 22814599e5..0000000000 --- a/gnu/packages/patches/oath-toolkit-glibc-compat.patch +++ /dev/null @@ -1,90 +0,0 @@ -Adjust the bundled Gnulib to cope with removal of libio interface in Glibc 2.28. - -Based on this upstream gnulib patch: -https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=4af4a4a71827c0bc5e0ec67af23edef4f15cee8e - ---- a/liboath/gl/fflush.c -+++ b/liboath/gl/fflush.c -@@ -33,7 +33,7 @@ - #undef fflush - - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - /* Clear the stream's ungetc buffer, preserving the value of ftello (fp). */ - static void -@@ -72,7 +72,7 @@ - - #endif - --#if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) -+#if ! (defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */) - - # if (defined __sferror || defined __DragonFly__ || defined __ANDROID__) && defined __SNPT - /* FreeBSD, NetBSD, OpenBSD, DragonFly, Mac OS X, Cygwin, Android */ -@@ -148,7 +148,7 @@ - if (stream == NULL || ! freading (stream)) - return fflush (stream); - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - - clear_ungetc_buffer_preserving_position (stream); - ---- a/liboath/gl/fpurge.c -+++ b/liboath/gl/fpurge.c -@@ -62,7 +62,7 @@ - /* Most systems provide FILE as a struct and the necessary bitmask in - <stdio.h>, because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_IO_read_end = fp->_IO_read_ptr; - fp->_IO_write_ptr = fp->_IO_write_base; - /* Avoid memory leak when there is an active ungetc buffer. */ ---- a/libaoth/gl/freading.c -+++ b/liboath/gl/freading.c -@@ -31,7 +31,7 @@ - /* Most systems provide FILE as a struct and the necessary bitmask in - <stdio.h>, because they need it for implementing getc() and putc() as - fast macros. */ --# if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - return ((fp->_flags & _IO_NO_WRITES) != 0 - || ((fp->_flags & (_IO_NO_READS | _IO_CURRENTLY_PUTTING)) == 0 - && fp->_IO_read_base != NULL)); ---- a/liboath/gl/fseeko.c -+++ b/liboath/gl/fseeko.c -@@ -47,7 +47,7 @@ - #endif - - /* These tests are based on fpurge.c. */ --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - if (fp->_IO_read_end == fp->_IO_read_ptr - && fp->_IO_write_ptr == fp->_IO_write_base - && fp->_IO_save_base == NULL) -@@ -123,7 +123,7 @@ - return -1; - } - --#if defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ -+#if defined _IO_EOF_SEEN || __GNU_LIBRARY__ == 1 /* GNU libc, BeOS, Haiku, Linux libc5 */ - fp->_flags &= ~_IO_EOF_SEEN; - fp->_offset = pos; - #elif defined __sferror || defined __DragonFly__ || defined __ANDROID__ ---- a/liboath/gl/stdio-impl.h -+++ b/liboath/gl/stdio-impl.h -@@ -18,6 +18,11 @@ - the same implementation of stdio extension API, except that some fields - have different naming conventions, or their access requires some casts. */ - -+/* Glibc 2.28 made _IO_IN_BACKUP private, so define it here for now. */ -+#if !defined _IO_IN_BACKUP && defined _IO_EOF_SEEN -+# define _IO_IN_BACKUP 0x100 -+#endif -+ - /* BSD stdio derived implementations. */ - - #if defined __NetBSD__ /* NetBSD */ diff --git a/gnu/packages/patches/sdcc-disable-non-free-code.patch b/gnu/packages/patches/sdcc-disable-non-free-code.patch new file mode 100644 index 0000000000..545f0cbd69 --- /dev/null +++ b/gnu/packages/patches/sdcc-disable-non-free-code.patch @@ -0,0 +1,3643 @@ +This patch disables the use of non-free code distributed with SDCC by +removing + + - The "--disable-non-free" option to "configure" and the build logic + it controls; + + - All references to the "device/non-free" source directory and the + corresponding "non-free" installation directory; and + + - The "--use-non-free" and "--no-warn-non-free" compiler options and + references to them in build scripts and compiler output. + +It also updates SDCC's documentation to reflect these changes and to +remove instructions that encourage the use of SDCC with non-free +software. + +diff --git a/Makefile.common.in b/Makefile.common.in +index 4c75cfa..9fa306d 100644 +--- a/Makefile.common.in ++++ b/Makefile.common.in +@@ -65,7 +65,6 @@ OPT_DISABLE_PACKIHX = @OPT_DISABLE_PACKIHX@ + OPT_DISABLE_SDBINUTILS = @OPT_DISABLE_SDBINUTILS@ + OPT_DISABLE_SDCPP = @OPT_DISABLE_SDCPP@ + OPT_DISABLE_UCSIM = @OPT_DISABLE_UCSIM@ +-OPT_DISABLE_NON_FREE = @OPT_DISABLE_NON_FREE@ + + SLIB = $(top_builddir)/support/util + +diff --git a/Makefile.in b/Makefile.in +index aac442e..dd73e40 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -82,9 +82,6 @@ endif + ifeq ($(OPT_DISABLE_DEVICE_LIB), 0) + TARGETS += sdcc-device-lib + PKGS += device/lib +-ifeq ($(OPT_DISABLE_NON_FREE), 0) +-PKGS += device/non-free/lib +-endif + endif + + ifeq ($(OPT_DISABLE_PACKIHX), 0) +@@ -105,9 +102,6 @@ endif + TARGETS += sdcc-libs sdcc-cc sdcc-device-inc sdcc-as sdcc-ld sdcc-scripts + + PKGS += $(SDCC_LIBS) src device/include +-ifeq ($(OPT_DISABLE_NON_FREE), 0) +-PKGS += device/non-free/include +-endif + PKGS += $(SDCC_AS) sdas/linksrc $(SDCC_LIBRARIAN) $(SDCC_SCRIPTS) + + PORTS = $(shell cat ports.build) +@@ -156,21 +150,12 @@ sdcc-sdbinutils: + + sdcc-device-inc: + $(MAKE) -C device/include +-ifeq ($(OPT_DISABLE_NON_FREE), 0) +- $(MAKE) -C device/non-free/include +-endif + + sdcc-device-lib: sdcc-cc sdcc-as sdcc-ld $(SDCC_BINUTILS) + $(MAKE) -C device/lib +-ifeq ($(OPT_DISABLE_NON_FREE), 0) +- $(MAKE) -C device/non-free/lib +-endif + + sdcc-device-tini: + $(MAKE) -C device/include +-ifeq ($(OPT_DISABLE_NON_FREE), 0) +- $(MAKE) -C device/non-free/include +-endif + $(MAKE) -C device/lib model-ds390 model-ds400 + + # doc depends on latex and latex2html +diff --git a/configure b/configure +index 42b1c7d..00ecb51 100755 +--- a/configure ++++ b/configure +@@ -632,7 +632,6 @@ LATEX + LATEX2HTML + LYX + OPT_ENABLE_DOC +-OPT_DISABLE_NON_FREE + OPT_DISABLE_SDBINUTILS + OPT_DISABLE_SDCDB + OPT_DISABLE_SDCPP +@@ -654,10 +653,7 @@ OPT_DISABLE_R2K + OPT_DISABLE_Z180 + OPT_DISABLE_Z80 + OPT_DISABLE_MCS51 +-non_free_lib_dir_suffix + lib_dir_suffix +-non_free_include_dir_suffix +-non_free_inclib_dir_suffix + include_dir_suffix + inclib_dir_suffix + LIB_TYPE +@@ -771,7 +767,6 @@ enable_packihx + enable_sdcpp + enable_sdcdb + enable_sdbinutils +-enable_non_free + enable_doc + enable_libgc + ' +@@ -792,10 +787,7 @@ sdccconf_h_dir_separator + LIB_TYPE + inclib_dir_suffix + include_dir_suffix +-non_free_inclib_dir_suffix +-non_free_include_dir_suffix + lib_dir_suffix +-non_free_lib_dir_suffix + docdir' + ac_subdirs_all='support/cpp + support/packihx +@@ -803,9 +795,7 @@ sim/ucsim + debugger/mcs51 + support/sdbinutils + device/lib/pic14 +-device/non-free/lib/pic14 +-device/lib/pic16 +-device/non-free/lib/pic16' ++device/lib/pic16' + + # Initialize some variables set by options. + ac_init_help= +@@ -1452,7 +1442,6 @@ Optional Features: + --disable-sdcpp Disables building sdcpp + --disable-sdcdb Disables building sdcdb + --disable-sdbinutils Disables configuring and building of sdbinutils +- --disable-non-free Disables non-free runtime library parts + --enable-doc Enables building the documentation + --enable-libgc Use the Bohem memory allocator. Lower runtime + footprint. +@@ -1481,16 +1470,8 @@ Some influential environment variables: + appended to datadir to define SDCC's include/lib directory + include_dir_suffix + appended to datadir to define SDCC's include directory +- non_free_inclib_dir_suffix +- appended to datadir to define SDCC's non-free include/lib +- directory +- non_free_include_dir_suffix +- appended to datadir to define SDCC's non-free include directory + lib_dir_suffix + appended to datadir to define SDCC's library root directory +- non_free_lib_dir_suffix +- appended to datadir to define SDCC's non-free library root +- directory + docdir documentation installation directory + + Use these variables to override the choices made by `configure' or to help +@@ -7236,19 +7217,6 @@ if test "${include_dir_suffix}" = ""; then + include_dir_suffix="${inclib_dir_suffix}/include" + fi + +- +-if test "${non_free_inclib_dir_suffix}" = ""; then +- non_free_inclib_dir_suffix="sdcc/non-free" +-fi +- +-# non_free_include_dir_suffix: +-# *nix default: "sdcc/non-free/include" +- +- +-if test "${non_free_include_dir_suffix}" = ""; then +- non_free_include_dir_suffix="${non_free_inclib_dir_suffix}/include" +-fi +- + # lib_dir_suffix: + # *nix default: "sdcc/lib" + +@@ -7256,13 +7224,6 @@ if test "${lib_dir_suffix}" = ""; then + lib_dir_suffix="${inclib_dir_suffix}/lib" + fi + +-# non_free_lib_dir_suffix: +-# *nix default: "sdcc/non-free/lib" +- +-if test "${non_free_lib_dir_suffix}" = ""; then +- non_free_lib_dir_suffix="${non_free_inclib_dir_suffix}/lib" +-fi +- + # docdir: + # *nix default: "${datadir}/sdcc/doc" + +@@ -7429,24 +7390,6 @@ cat >>confdefs.h <<_ACEOF + #define INCLUDE_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_inc_dir_suffix}" + _ACEOF + +-norm_non_free_inc_dir_suffix=${non_free_include_dir_suffix} +-case ":$norm_non_free_inc_dir_suffix:" in +- ::) norm_non_free_inc_dir_suffix='.' ;; +- :*[\\/]:) norm_non_free_inc_dir_suffix=`echo "$norm_non_free_inc_dir_suffix" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $sdccconf_h_dir_separator in +- +- *\\*) norm_non_free_inc_dir_suffix=`echo "$norm_non_free_inc_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) norm_non_free_inc_dir_suffix=`echo "$norm_non_free_inc_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +- +-cat >>confdefs.h <<_ACEOF +-#define NON_FREE_INCLUDE_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_non_free_inc_dir_suffix}" +-_ACEOF +- + + norm_lib_dir_suffix=${lib_dir_suffix} + case ":$norm_lib_dir_suffix:" in +@@ -7466,24 +7409,6 @@ cat >>confdefs.h <<_ACEOF + #define LIB_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_lib_dir_suffix}" + _ACEOF + +-norm_non_free_lib_dir_suffix=${non_free_lib_dir_suffix} +-case ":$norm_non_free_lib_dir_suffix:" in +- ::) norm_non_free_lib_dir_suffix='.' ;; +- :*[\\/]:) norm_non_free_lib_dir_suffix=`echo "$norm_non_free_lib_dir_suffix" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $sdccconf_h_dir_separator in +- +- *\\*) norm_non_free_lib_dir_suffix=`echo "$norm_non_free_lib_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) norm_non_free_lib_dir_suffix=`echo "$norm_non_free_lib_dir_suffix" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +- +-cat >>confdefs.h <<_ACEOF +-#define NON_FREE_LIB_DIR_SUFFIX DIR_SEPARATOR_STRING "${norm_non_free_lib_dir_suffix}" +-_ACEOF +- + + # relative paths + for _lcl_i in expanded_bindir:expanded_datadir:bin2data_dir; do +@@ -8411,28 +8336,6 @@ _ACEOF + + + +- # Check whether --enable-non-free was given. +-if test "${enable_non_free+set}" = set; then : +- enableval=$enable_non_free; +-fi +- +- +- arg1=`echo non-free | sed s/-/_/` +- +- if test "`eval echo \\$enable_$arg1`" = "no"; then +- OPT_DISABLE_NON_FREE=1 +- else +- OPT_DISABLE_NON_FREE=0 +- fi +- +- +-cat >>confdefs.h <<_ACEOF +-#define OPT_DISABLE_NON_FREE $OPT_DISABLE_NON_FREE +-_ACEOF +- +- +- +- + + # Check whether --enable-doc was given. + if test "${enable_doc+set}" = set; then : +@@ -8827,20 +8730,12 @@ if test $OPT_DISABLE_PIC14 = 0; then + + test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/lib/pic14" + +-fi +-if test $OPT_DISABLE_PIC14 = 0 && test $OPT_DISABLE_NON_FREE = 0; then +- test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/non-free/lib/pic14" +- + fi + if test $OPT_DISABLE_PIC16 = 0; then + ac_config_files="$ac_config_files src/pic16/Makefile" + + test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/lib/pic16" + +-fi +-if test $OPT_DISABLE_PIC16 = 0 && test $OPT_DISABLE_NON_FREE = 0; then +- test $OPT_DISABLE_DEVICE_LIB = 0 && subdirs="$subdirs device/non-free/lib/pic16" +- + fi + + if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_GBZ80 = 0 || test $OPT_DISABLE_TLCS90 = 0; then +@@ -8885,15 +8780,9 @@ fi + + test $OPT_DISABLE_DEVICE_LIB = 0 && ac_config_files="$ac_config_files device/lib/Makefile" + +-test $OPT_DISABLE_DEVICE_LIB = 0 && test $OPT_DISABLE_NON_FREE = 0 && ac_config_files="$ac_config_files device/non-free/lib/Makefile" +- + + ac_config_files="$ac_config_files main.mk:main_in.mk src/Makefile device/include/Makefile sdas/linksrc/Makefile support/librarian/Makefile support/makebin/Makefile support/regression/Makefile support/valdiag/Makefile support/scripts/Makefile support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in Makefile Makefile.common:Makefile.common.in" + +-if test $OPT_DISABLE_NON_FREE = 0; then +- ac_config_files="$ac_config_files device/non-free/include/Makefile" +- +-fi + cat >confcache <<\_ACEOF + # This file is a shell script that caches the results of configure + # tests run on this system so they can be shared between configure +@@ -9621,7 +9510,6 @@ do + "sdas/asstm8/Makefile") CONFIG_FILES="$CONFIG_FILES sdas/asstm8/Makefile" ;; + "device/lib/stm8/Makefile") CONFIG_FILES="$CONFIG_FILES device/lib/stm8/Makefile" ;; + "device/lib/Makefile") CONFIG_FILES="$CONFIG_FILES device/lib/Makefile" ;; +- "device/non-free/lib/Makefile") CONFIG_FILES="$CONFIG_FILES device/non-free/lib/Makefile" ;; + "main.mk") CONFIG_FILES="$CONFIG_FILES main.mk:main_in.mk" ;; + "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; + "device/include/Makefile") CONFIG_FILES="$CONFIG_FILES device/include/Makefile" ;; +@@ -9634,7 +9522,6 @@ do + "support/regression/ports/host/spec.mk") CONFIG_FILES="$CONFIG_FILES support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in" ;; + "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "Makefile.common") CONFIG_FILES="$CONFIG_FILES Makefile.common:Makefile.common.in" ;; +- "device/non-free/include/Makefile") CONFIG_FILES="$CONFIG_FILES device/non-free/include/Makefile" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +@@ -10443,54 +10330,6 @@ esac + incPath3=`echo "$incPath3" | sed 's,\\\\\\\\,\\\\,g'` + + +-nonFreeIncPath1=`echo "/${prefix2data_dir}/${norm_non_free_inc_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeIncPath1:" in +- ::) nonFreeIncPath1='.' ;; +- :*[\\/]:) nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeIncPath1=`echo "$nonFreeIncPath1" | sed 's,\\\\\\\\,\\\\,g'` +- +- +-nonFreeIncPath2=`echo "/${bin2data_dir}/${norm_non_free_inc_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeIncPath2:" in +- ::) nonFreeIncPath2='.' ;; +- :*[\\/]:) nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeIncPath2=`echo "$nonFreeIncPath2" | sed 's,\\\\\\\\,\\\\,g'` +- +- +-nonFreeIncPath3=`echo "${expanded_datadir}/${norm_non_free_inc_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeIncPath3:" in +- ::) nonFreeIncPath3='.' ;; +- :*[\\/]:) nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeIncPath3=`echo "$nonFreeIncPath3" | sed 's,\\\\\\\\,\\\\,g'` +- +- + + libPath1=`echo "/${prefix2data_dir}/${norm_lib_dir_suffix}" | sed 's,/\./,/,g'` + case ":$libPath1:" in +@@ -10540,54 +10379,6 @@ esac + libPath3=`echo "$libPath3" | sed 's,\\\\\\\\,\\\\,g'` + + +-nonFreeLibPath1=`echo "/${prefix2data_dir}/${norm_non_free_lib_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeLibPath1:" in +- ::) nonFreeLibPath1='.' ;; +- :*[\\/]:) nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeLibPath1=`echo "$nonFreeLibPath1" | sed 's,\\\\\\\\,\\\\,g'` +- +- +-nonFreeLibPath2=`echo "/${bin2data_dir}/${norm_non_free_lib_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeLibPath2:" in +- ::) nonFreeLibPath2='.' ;; +- :*[\\/]:) nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeLibPath2=`echo "$nonFreeLibPath2" | sed 's,\\\\\\\\,\\\\,g'` +- +- +-nonFreeLibPath3=`echo "${expanded_datadir}/${norm_non_free_lib_dir_suffix}" | sed 's,/\./,/,g'` +-case ":$nonFreeLibPath3:" in +- ::) nonFreeLibPath3='.' ;; +- :*[\\/]:) nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,[\\/]*$,,'` ;; +- :*:) ;; +-esac +-case $dirch in +- +- *\\*) nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,\(.\)[\\/][\\/]*,\1\\\\\\\\,g +- s,^[\\/],\\\\\\\\,'` ;; +- +- *) nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,\(.\)[\\/][\\/]*,\1/,g'` ;; +-esac +-nonFreeLibPath3=`echo "$nonFreeLibPath3" | sed 's,\\\\\\\\,\\\\,g'` +- +- + { $as_echo "$as_me:${as_lineno-$LINENO}: result: + sdcc ${VERSION} is now configured for + +@@ -10618,7 +10409,6 @@ sdcc ${VERSION} is now configured for + tlcs90 ${enable_tlcs90_port} + stm8 ${enable_stm8_port} + +- Disable non-free lib: ${OPT_DISABLE_NON_FREE} + Disable packihx: ${OPT_DISABLE_PACKIHX} + Disable ucsim: ${OPT_DISABLE_UCSIM} + Disable device lib: ${OPT_DISABLE_DEVICE_LIB} +@@ -10633,9 +10423,6 @@ sdcc ${VERSION} is now configured for + include/library files: ${datadir}/${inclib_dir_suffix} + include files: ${datadir}/${include_dir_suffix} + library files: ${datadir}/${lib_dir_suffix} +- non-free files: ${datadir}/${non_free_inclib_dir_suffix} +- non-free include files: ${datadir}/${non_free_include_dir_suffix} +- non-free library files: ${datadir}/${non_free_lib_dir_suffix} + documentation: ${docdir} + + prefix: ${prefix} +@@ -10647,15 +10434,9 @@ sdcc ${VERSION} is now configured for + include files: ${incPath1} + path(argv[0])${incPath2} + ${incPath3} +- ${nonFreeIncPath1} +- path(argv[0])${nonFreeIncPath2} +- ${nonFreeIncPath3} + library files: \$SDCC_HOME${libPath1}${dirch}<model> + path(argv[0])${libPath2}${dirch}<model> + ${libPath3}${dirch}<model> +- \$SDCC_HOME${nonFreeLibPath1}${dirch}<model> +- path(argv[0])${nonFreeLibPath2}${dirch}<model> +- ${nonFreeLibPath3}${dirch}<model> + " >&5 + $as_echo " + sdcc ${VERSION} is now configured for +@@ -10687,7 +10468,6 @@ sdcc ${VERSION} is now configured for + tlcs90 ${enable_tlcs90_port} + stm8 ${enable_stm8_port} + +- Disable non-free lib: ${OPT_DISABLE_NON_FREE} + Disable packihx: ${OPT_DISABLE_PACKIHX} + Disable ucsim: ${OPT_DISABLE_UCSIM} + Disable device lib: ${OPT_DISABLE_DEVICE_LIB} +@@ -10702,9 +10482,6 @@ sdcc ${VERSION} is now configured for + include/library files: ${datadir}/${inclib_dir_suffix} + include files: ${datadir}/${include_dir_suffix} + library files: ${datadir}/${lib_dir_suffix} +- non-free files: ${datadir}/${non_free_inclib_dir_suffix} +- non-free include files: ${datadir}/${non_free_include_dir_suffix} +- non-free library files: ${datadir}/${non_free_lib_dir_suffix} + documentation: ${docdir} + + prefix: ${prefix} +@@ -10716,14 +10493,8 @@ sdcc ${VERSION} is now configured for + include files: ${incPath1} + path(argv[0])${incPath2} + ${incPath3} +- ${nonFreeIncPath1} +- path(argv[0])${nonFreeIncPath2} +- ${nonFreeIncPath3} + library files: \$SDCC_HOME${libPath1}${dirch}<model> + path(argv[0])${libPath2}${dirch}<model> + ${libPath3}${dirch}<model> +- \$SDCC_HOME${nonFreeLibPath1}${dirch}<model> +- path(argv[0])${nonFreeLibPath2}${dirch}<model> +- ${nonFreeLibPath3}${dirch}<model> + " >&6; } + # End of configure/configure.in +diff --git a/configure.ac b/configure.ac +index 3a16e42..bfba129 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -588,19 +588,6 @@ if test "${include_dir_suffix}" = ""; then + include_dir_suffix="${inclib_dir_suffix}/include" + fi + +-AC_ARG_VAR([non_free_inclib_dir_suffix], [appended to datadir to define SDCC's non-free include/lib directory]) +-if test "${non_free_inclib_dir_suffix}" = ""; then +- non_free_inclib_dir_suffix="sdcc/non-free" +-fi +- +-# non_free_include_dir_suffix: +-# *nix default: "sdcc/non-free/include" +- +-AC_ARG_VAR([non_free_include_dir_suffix], [appended to datadir to define SDCC's non-free include directory]) +-if test "${non_free_include_dir_suffix}" = ""; then +- non_free_include_dir_suffix="${non_free_inclib_dir_suffix}/include" +-fi +- + # lib_dir_suffix: + # *nix default: "sdcc/lib" + AC_ARG_VAR([lib_dir_suffix], [appended to datadir to define SDCC's library root directory]) +@@ -608,13 +595,6 @@ if test "${lib_dir_suffix}" = ""; then + lib_dir_suffix="${inclib_dir_suffix}/lib" + fi + +-# non_free_lib_dir_suffix: +-# *nix default: "sdcc/non-free/lib" +-AC_ARG_VAR([non_free_lib_dir_suffix], [appended to datadir to define SDCC's non-free library root directory]) +-if test "${non_free_lib_dir_suffix}" = ""; then +- non_free_lib_dir_suffix="${non_free_inclib_dir_suffix}/lib" +-fi +- + # docdir: + # *nix default: "${datadir}/sdcc/doc" + AC_ARG_VAR([docdir], [documentation installation directory]) +@@ -655,19 +635,11 @@ norm_inc_dir_suffix=${include_dir_suffix} + adl_NORMALIZE_PATH([norm_inc_dir_suffix], [$sdccconf_h_dir_separator]) + AC_DEFINE_UNQUOTED(INCLUDE_DIR_SUFFIX, + DIR_SEPARATOR_STRING "${norm_inc_dir_suffix}", [XXX]) +-norm_non_free_inc_dir_suffix=${non_free_include_dir_suffix} +-adl_NORMALIZE_PATH([norm_non_free_inc_dir_suffix], [$sdccconf_h_dir_separator]) +-AC_DEFINE_UNQUOTED(NON_FREE_INCLUDE_DIR_SUFFIX, +- DIR_SEPARATOR_STRING "${norm_non_free_inc_dir_suffix}", [XXX]) + + norm_lib_dir_suffix=${lib_dir_suffix} + adl_NORMALIZE_PATH([norm_lib_dir_suffix], [$sdccconf_h_dir_separator]) + AC_DEFINE_UNQUOTED(LIB_DIR_SUFFIX, + DIR_SEPARATOR_STRING "${norm_lib_dir_suffix}", [XXX]) +-norm_non_free_lib_dir_suffix=${non_free_lib_dir_suffix} +-adl_NORMALIZE_PATH([norm_non_free_lib_dir_suffix], [$sdccconf_h_dir_separator]) +-AC_DEFINE_UNQUOTED(NON_FREE_LIB_DIR_SUFFIX, +- DIR_SEPARATOR_STRING "${norm_non_free_lib_dir_suffix}", [XXX]) + + # relative paths + adl_COMPUTE_RELATIVE_PATHS([expanded_bindir:expanded_datadir:bin2data_dir]) +@@ -836,7 +808,6 @@ AC_DO_DISABLER(packihx, PACKIHX, [Disables building packihx]) + AC_DO_DISABLER(sdcpp, SDCPP, [Disables building sdcpp]) + AC_DO_DISABLER(sdcdb, SDCDB, [Disables building sdcdb]) + AC_DO_DISABLER(sdbinutils, SDBINUTILS, [Disables configuring and building of sdbinutils]) +-AC_DO_DISABLER(non-free, NON_FREE, [Disables non-free runtime library parts]) + + AC_DO_ENABLER(doc, DOC, [Enables building the documentation]) + AC_CHECK_PROG([LYX], [lyx], [lyx], [:]) +@@ -907,16 +878,10 @@ if test $OPT_DISABLE_PIC14 = 0; then + AC_CONFIG_FILES(src/pic14/Makefile) + test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/lib/pic14) + fi +-if test $OPT_DISABLE_PIC14 = 0 && test $OPT_DISABLE_NON_FREE = 0; then +- test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/non-free/lib/pic14) +-fi + if test $OPT_DISABLE_PIC16 = 0; then + AC_CONFIG_FILES(src/pic16/Makefile) + test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/lib/pic16) + fi +-if test $OPT_DISABLE_PIC16 = 0 && test $OPT_DISABLE_NON_FREE = 0; then +- test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_SUBDIRS(device/non-free/lib/pic16) +-fi + + if test $OPT_DISABLE_Z80 = 0 || test $OPT_DISABLE_Z180 = 0 || test $OPT_DISABLE_R2K = 0 || test $OPT_DISABLE_R3KA = 0 || test $OPT_DISABLE_GBZ80 = 0 || test $OPT_DISABLE_TLCS90 = 0; then + AC_CONFIG_FILES([src/z80/Makefile]) +@@ -951,7 +916,6 @@ if test $OPT_DISABLE_STM8 = 0; then + fi + + test $OPT_DISABLE_DEVICE_LIB = 0 && AC_CONFIG_FILES([device/lib/Makefile]) +-test $OPT_DISABLE_DEVICE_LIB = 0 && test $OPT_DISABLE_NON_FREE = 0 && AC_CONFIG_FILES([device/non-free/lib/Makefile]) + + AC_CONFIG_FILES([main.mk:main_in.mk + src/Makefile +@@ -966,9 +930,6 @@ support/regression/ports/host/spec.mk:support/regression/ports/host/spec.mk.in + Makefile + Makefile.common:Makefile.common.in + ]) +-if test $OPT_DISABLE_NON_FREE = 0; then +- AC_CONFIG_FILES([device/non-free/include/Makefile]) +-fi + AC_OUTPUT + + # I found no better place +@@ -986,16 +947,10 @@ adl_NORMALIZE_PATH_MSG(/${prefix2bin_dir}, [binPath], [ + adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_inc_dir_suffix}, [incPath1], [$dirch]) + adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_inc_dir_suffix}, [incPath2], [$dirch]) + adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_inc_dir_suffix}, [incPath3], [$dirch]) +-adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_non_free_inc_dir_suffix}, [nonFreeIncPath1], [$dirch]) +-adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_non_free_inc_dir_suffix}, [nonFreeIncPath2], [$dirch]) +-adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_non_free_inc_dir_suffix}, [nonFreeIncPath3], [$dirch]) + + adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_lib_dir_suffix}, [libPath1], [$dirch]) + adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_lib_dir_suffix}, [libPath2], [$dirch]) + adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_lib_dir_suffix}, [libPath3], [$dirch]) +-adl_NORMALIZE_PATH_MSG(/${prefix2data_dir}/${norm_non_free_lib_dir_suffix}, [nonFreeLibPath1], [$dirch]) +-adl_NORMALIZE_PATH_MSG(/${bin2data_dir}/${norm_non_free_lib_dir_suffix}, [nonFreeLibPath2], [$dirch]) +-adl_NORMALIZE_PATH_MSG(${expanded_datadir}/${norm_non_free_lib_dir_suffix}, [nonFreeLibPath3], [$dirch]) + + AC_MSG_RESULT([ + sdcc ${VERSION} is now configured for +@@ -1027,7 +982,6 @@ sdcc ${VERSION} is now configured for + tlcs90 ${enable_tlcs90_port} + stm8 ${enable_stm8_port} + +- Disable non-free lib: ${OPT_DISABLE_NON_FREE} + Disable packihx: ${OPT_DISABLE_PACKIHX} + Disable ucsim: ${OPT_DISABLE_UCSIM} + Disable device lib: ${OPT_DISABLE_DEVICE_LIB} +@@ -1042,9 +996,6 @@ sdcc ${VERSION} is now configured for + include/library files: ${datadir}/${inclib_dir_suffix} + include files: ${datadir}/${include_dir_suffix} + library files: ${datadir}/${lib_dir_suffix} +- non-free files: ${datadir}/${non_free_inclib_dir_suffix} +- non-free include files: ${datadir}/${non_free_include_dir_suffix} +- non-free library files: ${datadir}/${non_free_lib_dir_suffix} + documentation: ${docdir} + + prefix: ${prefix} +@@ -1056,14 +1007,8 @@ sdcc ${VERSION} is now configured for + include files: ${incPath1} + path(argv[[0]])${incPath2} + ${incPath3} +- ${nonFreeIncPath1} +- path(argv[[0]])${nonFreeIncPath2} +- ${nonFreeIncPath3} + library files: \$SDCC_HOME${libPath1}${dirch}<model> + path(argv[[0]])${libPath2}${dirch}<model> + ${libPath3}${dirch}<model> +- \$SDCC_HOME${nonFreeLibPath1}${dirch}<model> +- path(argv[[0]])${nonFreeLibPath2}${dirch}<model> +- ${nonFreeLibPath3}${dirch}<model> + ]) + # End of configure/configure.in +diff --git a/device/lib/pic14/Makefile.common b/device/lib/pic14/Makefile.common +index e456838..8179255 100644 +--- a/device/lib/pic14/Makefile.common ++++ b/device/lib/pic14/Makefile.common +@@ -3,11 +3,10 @@ EARCH ?= @EARCH@ + + AM_CPPFLAGS = + AM_CPPFLAGS += -I. +-AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic14 -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic14 + + AM_CFLAGS = + AM_CFLAGS += -mpic14 -p$(ARCH) +-AM_CFLAGS += --no-warn-non-free + AM_CFLAGS += --std-c99 + #AM_CFLAGS += --asm="$(CCAS)" + ##AM_CFLAGS += -Wa,-q +@@ -29,7 +28,7 @@ AM_CFLAGS += --i-code-in-asm + + AM_CCASFLAGS = + AM_CCASFLAGS += -p$(ARCH) +-AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic14 -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic14 + AM_CCASFLAGS += -I$(srcdir) + + clean-local: +diff --git a/device/lib/pic14/Makefile.in b/device/lib/pic14/Makefile.in +index f1c9940..de47dbe 100644 +--- a/device/lib/pic14/Makefile.in ++++ b/device/lib/pic14/Makefile.in +@@ -297,15 +297,13 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + SUBDIRS = libm libsdcc/regular $(am__append_1) $(am__append_2) +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 + #AM_CFLAGS += --asm="$(CCAS)" + + #AM_CFLAGS += --debug-ralloc + #AM_CFLAGS += --debug-xtra + #AM_CFLAGS += --pcode-verbose +-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ +- --i-code-in-asm ++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm + + #AM_CFLAGS += --no-pcode-opt + +@@ -316,8 +314,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir) ++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir) + DISTCLEANFILES = a.cod a.hex ./.checkdevices/* + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive +diff --git a/device/lib/pic14/libm/Makefile.in b/device/lib/pic14/libm/Makefile.in +index fd9fd2e..4a7d250 100644 +--- a/device/lib/pic14/libm/Makefile.in ++++ b/device/lib/pic14/libm/Makefile.in +@@ -299,15 +299,13 @@ libm_a_SOURCES = acosf.c asincosf.c asinf.c atan2f.c atanf.c ceilf.c \ + libm_a_CFLAGS = -p$(ARCH) $(AM_CFLAGS) + libme_a_SOURCES = $(libm_a_SOURCES) + libme_a_CFLAGS = -p$(EARCH) $(AM_CFLAGS) $(am__append_2) +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 + #AM_CFLAGS += --asm="$(CCAS)" + + #AM_CFLAGS += --debug-ralloc + #AM_CFLAGS += --debug-xtra + #AM_CFLAGS += --pcode-verbose +-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ +- --i-code-in-asm ++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm + + #AM_CFLAGS += --no-pcode-opt + +@@ -318,8 +316,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir) ++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in b/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in +index e946da7..bced941 100644 +--- a/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in ++++ b/device/lib/pic14/libsdcc/enhanced-no-xinst/Makefile.in +@@ -311,15 +311,13 @@ libsdcce_a_SOURCES = ../_divschar.c ../_divsint.c ../_divslong.c \ + _gptrput3.S _gptrput4.S macros.inc + libsdcce_a_CFLAGS = -p$(EARCH) $(AM_CFLAGS) + CLEANFILES = ../*.asm ../*.lst +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 + #AM_CFLAGS += --asm="$(CCAS)" + + #AM_CFLAGS += --debug-ralloc + #AM_CFLAGS += --debug-xtra + #AM_CFLAGS += --pcode-verbose +-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ +- --i-code-in-asm ++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm + + #AM_CFLAGS += --no-pcode-opt + +@@ -330,8 +328,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir) ++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic14/libsdcc/enhanced/Makefile.in b/device/lib/pic14/libsdcc/enhanced/Makefile.in +index 7fe1e25..854f87f 100644 +--- a/device/lib/pic14/libsdcc/enhanced/Makefile.in ++++ b/device/lib/pic14/libsdcc/enhanced/Makefile.in +@@ -311,15 +311,13 @@ libsdcce_a_SOURCES = ../_divschar.c ../_divsint.c ../_divslong.c \ + _gptrput3.S _gptrput4.S macros.inc + libsdcce_a_CFLAGS = -p$(EARCH) $(AM_CFLAGS) + CLEANFILES = ../*.asm ../*.lst +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 + #AM_CFLAGS += --asm="$(CCAS)" + + #AM_CFLAGS += --debug-ralloc + #AM_CFLAGS += --debug-xtra + #AM_CFLAGS += --pcode-verbose +-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ +- --i-code-in-asm ++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm + + #AM_CFLAGS += --no-pcode-opt + +@@ -330,8 +328,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir) ++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic14/libsdcc/regular/Makefile.in b/device/lib/pic14/libsdcc/regular/Makefile.in +index 29a5924..8c60a49 100644 +--- a/device/lib/pic14/libsdcc/regular/Makefile.in ++++ b/device/lib/pic14/libsdcc/regular/Makefile.in +@@ -304,15 +304,13 @@ libsdcc_a_SOURCES = ../_divschar.c ../_divsint.c ../_divslong.c \ + _gptrput3.S _gptrput4.S macros.inc shadowregs.c + libsdcc_a_CFLAGS = -p$(ARCH) $(AM_CFLAGS) + CLEANFILES = ../*.asm ../*.lst +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic14 + #AM_CFLAGS += --asm="$(CCAS)" + + #AM_CFLAGS += --debug-ralloc + #AM_CFLAGS += --debug-xtra + #AM_CFLAGS += --pcode-verbose +-AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ +- --i-code-in-asm ++AM_CFLAGS = -mpic14 -p$(ARCH) --std-c99 --i-code-in-asm + + #AM_CFLAGS += --no-pcode-opt + +@@ -323,8 +321,7 @@ AM_CFLAGS = -mpic14 -p$(ARCH) --no-warn-non-free --std-c99 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 \ +- -I$(top_srcdir)/../../non-free/include/pic14 -I$(srcdir) ++AM_CCASFLAGS = -p$(ARCH) -I$(top_srcdir)/../../include/pic14 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/Makefile.common b/device/lib/pic16/Makefile.common +index 73200d7..e298bf5 100644 +--- a/device/lib/pic16/Makefile.common ++++ b/device/lib/pic16/Makefile.common +@@ -1,11 +1,10 @@ + AM_CPPFLAGS = + AM_CPPFLAGS += -I. +-AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic16 -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS += -I$(top_srcdir)/../../include/pic16 + + AM_CFLAGS = + AM_CFLAGS += --std-c99 + AM_CFLAGS += --asm="$(CCAS)" +-AM_CFLAGS += --no-warn-non-free + ##AM_CFLAGS += -Wa,-q + + AM_CFLAGS += --fomit-frame-pointer +@@ -31,7 +30,7 @@ AM_CFLAGS += --i-code-in-asm + AM_CFLAGS += @USE_FLOATS@ + + AM_CCASFLAGS = +-AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic16 -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CCASFLAGS += -I$(top_srcdir)/../../include/pic16 + AM_CCASFLAGS += -I$(srcdir) + + clean-local: +diff --git a/device/lib/pic16/Makefile.in b/device/lib/pic16/Makefile.in +index b17f151..31ecfa4 100644 +--- a/device/lib/pic16/Makefile.in ++++ b/device/lib/pic16/Makefile.in +@@ -87,10 +87,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = . + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ +@@ -295,8 +292,7 @@ top_build_prefix = @top_build_prefix@ + top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + SUBDIRS = debug libc libio libm libsdcc startup +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -310,11 +306,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + DISTCLEANFILES = a.cod a.hex ./.checkdevices/* pics.supported + all: config.h + $(MAKE) $(AM_MAKEFLAGS) all-recursive +diff --git a/device/lib/pic16/configure b/device/lib/pic16/configure +index d8760a0..eaea231 100755 +--- a/device/lib/pic16/configure ++++ b/device/lib/pic16/configure +@@ -3657,7 +3657,6 @@ fi + + + +-LIBDEV="${srcdir}/../../non-free/lib/pic16/libdev" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking devices supported by gputils" >&5 + $as_echo_n "checking devices supported by gputils... " >&6; } + GOOD_PICS=""; +diff --git a/device/lib/pic16/configure.ac b/device/lib/pic16/configure.ac +index 3966c11..cdbffc7 100644 +--- a/device/lib/pic16/configure.ac ++++ b/device/lib/pic16/configure.ac +@@ -68,10 +68,6 @@ AC_SUBST(OBJEXT, [o]) + _AM_DEPENDENCIES(CC) + _AM_DEPENDENCIES(CCAS) + +-LIBDEV="${srcdir}/../../non-free/lib/pic16/libdev" +-m4_include([../../non-free/lib/pic16/supported-devices.ac]) +-m4_include([../../non-free/lib/pic16/processors.ac]) +- + # Checks for libraries. + + # Checks for header files. +diff --git a/device/lib/pic16/debug/Makefile.in b/device/lib/pic16/debug/Makefile.in +index bc77b98..724a443 100644 +--- a/device/lib/pic16/debug/Makefile.in ++++ b/device/lib/pic16/debug/Makefile.in +@@ -88,10 +88,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = debug + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -290,8 +287,7 @@ top_builddir = @top_builddir@ + top_srcdir = @top_srcdir@ + lib_LIBRARIES = libdebug.a + libdebug_a_SOURCES = gstack/gstack.c +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -305,11 +301,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/libc/Makefile.in b/device/lib/pic16/libc/Makefile.in +index 6d2699f..5546319 100644 +--- a/device/lib/pic16/libc/Makefile.in ++++ b/device/lib/pic16/libc/Makefile.in +@@ -88,10 +88,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = libc + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -344,8 +341,7 @@ libc18f_a_SOURCES = ctype/iscntrl.c ctype/isdigit.c ctype/isgraph.c \ + string/strpbrk.c string/strrchr.c string/strspn.c \ + string/strstr.c string/strtok.c string/strupr.c \ + utils/cnvfrac.S utils/cnvint.S utils/cvtdec.S +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -359,11 +355,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/libio/Makefile.in b/device/lib/pic16/libio/Makefile.in +index 0d7c731..64b56c8 100644 +--- a/device/lib/pic16/libio/Makefile.in ++++ b/device/lib/pic16/libio/Makefile.in +@@ -481,10 +481,7 @@ POST_UNINSTALL = : + @ENABLE_18LF8723_TRUE@am__append_393 = libio18lf8723.a + subdir = libio + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -9826,8 +9823,7 @@ libio18lf8722_a_SOURCES = dummy.c i2c/i2cack.c i2c/i2cclose.c \ + libio18lf8722_a_CFLAGS = -p18lf8722 $(AM_CFLAGS) + libio18lf8723_a_SOURCES = dummy.c + libio18lf8723_a_CFLAGS = -p18lf8723 $(AM_CFLAGS) +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -9841,11 +9837,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/libio/mkmk.sh b/device/lib/pic16/libio/mkmk.sh +index 211604e..e8896bf 100755 +--- a/device/lib/pic16/libio/mkmk.sh ++++ b/device/lib/pic16/libio/mkmk.sh +@@ -17,40 +17,6 @@ lib_LIBRARIES = + + HEREDOC + +-for f in "../../../non-free/lib/pic16/libdev/pic1"*.c; do +- p="${f##*/pic}"; +- p="${p%.c}"; +- P=$(echo "$p" | tr abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ); +- echo "Generating for device >>${p}<<" >&2; +- cat <<HERE +-if ENABLE_$P +-lib_LIBRARIES += libio${p}.a +-endif ENABLE_$P +-libio${p}_a_SOURCES = dummy.c +-HERE +- sed -e 's/\s*\(#.*\)\{0,1\}$//' adc.ignore | grep -x "$p" > /dev/null 2>&1 && { echo "No adc." >&2 ; } || cat <<HERE +-libio${p}_a_SOURCES += adc/adcbusy.c adc/adcclose.c adc/adcconv.c +-libio${p}_a_SOURCES += adc/adcopen.c adc/adcread.c adc/adcsetch.c +-HERE +- sed -e 's/\s*\(#.*\)\{0,1\}$//' i2c.ignore | grep -x "$p" > /dev/null 2>&1 && { echo "No i2c." >&2 ; } || cat <<HERE +-libio${p}_a_SOURCES += i2c/i2cack.c i2c/i2cclose.c i2c/i2cdrdy.c +-libio${p}_a_SOURCES += i2c/i2cidle.c i2c/i2cnack.c i2c/i2copen.c +-libio${p}_a_SOURCES += i2c/i2creadc.c i2c/i2creads.c i2c/i2crestart.c +-libio${p}_a_SOURCES += i2c/i2cstart.c i2c/i2cstop.c i2c/i2cwritec.c +-libio${p}_a_SOURCES += i2c/i2cwrites.c +-HERE +- sed -e 's/\s*\(#.*\)\{0,1\}$//' usart.ignore | grep -x "$p" > /dev/null 2>&1 && { echo "No usart." >&2 ; } || cat <<HERE +-libio${p}_a_SOURCES += usart/ubaud.c usart/ubusy.c usart/uclose.c +-libio${p}_a_SOURCES += usart/udrdy.c usart/ugetc.c usart/ugets.c +-libio${p}_a_SOURCES += usart/uopen.c usart/uputc.c usart/uputs.c +-libio${p}_a_SOURCES += usart/usartd.c +-HERE +- cat <<HERE +-libio${p}_a_CFLAGS = -p${p} \$(AM_CFLAGS) +- +-HERE +-done +- + cat <<HEREDOC + include \$(top_srcdir)/Makefile.common + +diff --git a/device/lib/pic16/libm/Makefile.in b/device/lib/pic16/libm/Makefile.in +index 7f90e89..94cd985 100644 +--- a/device/lib/pic16/libm/Makefile.in ++++ b/device/lib/pic16/libm/Makefile.in +@@ -88,10 +88,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = libm + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -299,8 +296,7 @@ libm18f_a_SOURCES = acosf.c asincosf.c asinf.c atan2f.c atanf.c \ + frexpf.c isinf.c isnan.c ldexpf.c log10f.c logf.c modff.c \ + powf.c sincosf.c sincoshf.c sinf.c sinhf.c sqrtf.c tancotf.c \ + tanf.c tanhf.c +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -314,11 +310,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/libsdcc/Makefile.in b/device/lib/pic16/libsdcc/Makefile.in +index e58bad0..b318b70 100644 +--- a/device/lib/pic16/libsdcc/Makefile.in ++++ b/device/lib/pic16/libsdcc/Makefile.in +@@ -88,10 +88,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = libsdcc + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -364,8 +361,7 @@ libsdcc_a_SOURCES = char/divschar.c char/divuchar.c char/modschar.c \ + int/modsint.c int/moduint.c int/mulint.c long/divslong.c \ + long/divulong.c long/modslong.c long/modulong.c long/mullong.c \ + lregs/lrrest.c lregs/lrst.c stack/stack.S +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -379,11 +375,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/device/lib/pic16/startup/Makefile.in b/device/lib/pic16/startup/Makefile.in +index 3c44c6f..274acde 100644 +--- a/device/lib/pic16/startup/Makefile.in ++++ b/device/lib/pic16/startup/Makefile.in +@@ -89,10 +89,7 @@ PRE_UNINSTALL = : + POST_UNINSTALL = : + subdir = startup + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 +-am__aclocal_m4_deps = \ +- $(top_srcdir)/../../non-free/lib/pic16/supported-devices.ac \ +- $(top_srcdir)/../../non-free/lib/pic16/processors.ac \ +- $(top_srcdir)/configure.ac ++am__aclocal_m4_deps = $(top_srcdir)/configure.ac + am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ + $(ACLOCAL_M4) + DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) +@@ -306,8 +303,7 @@ libcrt0iz_a_SOURCES = crt0iz.c + # Force installation of .o files into $libdir + crtdir = $(libdir) + crt_DATA = crt0.o crt0i.o crt0iz.o +-AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 ++AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 + #AM_CFLAGS += --no-optimize-goto + + #AM_CFLAGS += --debug-ralloc +@@ -321,11 +317,10 @@ AM_CPPFLAGS = -I. -I$(top_srcdir)/../../include/pic16 \ + #AM_CFLAGS += --noinduction + #AM_CFLAGS += --nojtbound + #AM_CFLAGS += --noloopreverse +-AM_CFLAGS = --std-c99 --asm="$(CCAS)" --no-warn-non-free \ ++AM_CFLAGS = --std-c99 --asm="$(CCAS)" \ + --fomit-frame-pointer --obanksel=9 --denable-peeps \ + --optimize-cmp --optimize-df --i-code-in-asm @USE_FLOATS@ +-AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 \ +- -I$(top_srcdir)/../../non-free/include/pic16 -I$(srcdir) ++AM_CCASFLAGS = -I$(top_srcdir)/../../include/pic16 -I$(srcdir) + all: all-am + + .SUFFIXES: +diff --git a/doc/INSTALL.txt b/doc/INSTALL.txt +index 7d83ef7..5bd71d3 100644 +--- a/doc/INSTALL.txt ++++ b/doc/INSTALL.txt +@@ -18,9 +18,7 @@ To install: + + This will install sdcc binaries into: /usr/local/bin/ + header files into: /usr/local/share/sdcc/include/ +-non-free header files into: /usr/local/share/sdcc/non-free/include/ + library files into: /usr/local/share/sdcc/lib/ +-non-free library files into: /usr/local/share/sdcc/non-free/lib/ + and documentation into: /usr/local/share/sdcc/doc/ + + You can test the install by entering: +@@ -44,9 +42,7 @@ To install: + + By default this will install sdcc binaries into: C:\Program Files\SDCC\bin\ + header files into: C:\Program Files\SDCC\include\ +-non-free header files into: C:\Program Files\SDCC\non-free\include\ + library files into: C:\Program Files\SDCC\lib\ +-non-free library files into: C:\Program Files\SDCC\non-free\lib\ + and documentation into: C:\Program Files\SDCC\doc\ + + You can test the install by opening a DOS box and entering: +@@ -75,9 +71,7 @@ To install: + + This will install sdcc binaries into: /Developer/sdcc/bin/ + header files into: /Developer/sdcc/share/sdcc/include/ +-non-free header files into: /Developer/sdcc/share/sdcc/non-free/include/ + library files into: /Developer/sdcc/share/sdcc/lib/ +-non-free library files into: /Developer/sdcc/share/sdcc/non-free/lib/ + and documentation into: /Developer/sdcc/share/sdcc/doc/ + + You can test the install by entering: +diff --git a/doc/README.txt b/doc/README.txt +index 86ed809..69e16e2 100644 +--- a/doc/README.txt ++++ b/doc/README.txt +@@ -35,10 +35,9 @@ Exception are pic device libraries and header files which are derived + from Microchip header (.inc) and linker script (.lkr) files. Microchip + requires that "The header files should state that they are only to be + used with authentic Microchip devices" which makes them incompatible +-with the GPL. Pic device libraries and header files are located at +-non-free/lib and non-free/include directories respectively. Sdcc should +-be run with the --use-non-free command line option in order to include +-non-free header files and libraries. ++with the GPL. These non-free libraries and header files (and the build ++and run-time options that enable their use) are omitted in the SDCC ++package distributed with GNU Guix. + + See: + +diff --git a/doc/sdccman.lyx b/doc/sdccman.lyx +index 41e8db0..9a971fa 100644 +--- a/doc/sdccman.lyx ++++ b/doc/sdccman.lyx +@@ -1083,54 +1083,9 @@ Exception are pic device libraries and header files which are derived from + Microchip requires that "The header files should state that they are only + to be used with authentic Microchip devices" which makes them incompatible + with the GPL. +- Pic device libraries and header files are located at non-free/lib and non-free/ +-include directories respectively. +- SDCC should be run with the +-\series bold +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +-- +-\series default +-use-non-free +-\series bold +- +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- +-\series default +- command line option in order to include non-free header files and libraries. +- ++ These non-free libraries and header files (and the build and run-time options ++ that enable their use) are omitted in the SDCC package distributed with ++ GNU Guix. + \end_layout + + \begin_layout Itemize +@@ -2890,18 +2845,6 @@ include_dir_suffix environment variable, see table below + \end_inset + + +-\begin_inset space ~ +-\end_inset +- +-non_free_include_dir_suffix environment variable, see table below +-\end_layout +- +-\begin_layout Labeling +-\labelwidthstring 00.00.0000 +-\begin_inset space ~ +-\end_inset +- +- + \begin_inset space ~ + \end_inset + +@@ -2914,22 +2857,6 @@ lib_dir_suffix environment variable, see table below + \end_inset + + +-\begin_inset space ~ +-\end_inset +- +- +-\begin_inset space ~ +-\end_inset +- +-non_free_lib_dir_suffix environment variable, see table below +-\end_layout +- +-\begin_layout Labeling +-\labelwidthstring 00.00.0000 +-\begin_inset space ~ +-\end_inset +- +- + \begin_inset space ~ + \end_inset + +@@ -3410,7 +3337,7 @@ These defaults are: + \begin_layout Standard + \align center + \begin_inset Tabular +-<lyxtabular version="3" rows="11" columns="3"> ++<lyxtabular version="3" rows="9" columns="3"> + <features tabularvalignment="middle"> + <column alignment="block" valignment="top" width="0in"> + <column alignment="block" valignment="top" width="0in"> +@@ -3694,68 +3621,6 @@ sdcc/include + include + \end_layout + +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-NON_FREE_INCLUDE_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-sdcc/non-free/include +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-non-free/include +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-LIB_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-sdcc/lib +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-lib +-\end_layout +- + \end_inset + </cell> + </row> +@@ -3766,7 +3631,7 @@ lib + \begin_layout Plain Layout + + \emph on +-NON_FREE_LIB_DIR_SUFFIX ++LIB_DIR_SUFFIX + \end_layout + + \end_inset +@@ -3775,7 +3640,7 @@ NON_FREE_LIB_DIR_SUFFIX + \begin_inset Text + + \begin_layout Plain Layout +-sdcc/non-free/lib ++sdcc/lib + \end_layout + + \end_inset +@@ -3784,7 +3649,7 @@ sdcc/non-free/lib + \begin_inset Text + + \begin_layout Plain Layout +-non-free/lib ++lib + \end_layout + + \end_inset +@@ -4183,20 +4048,6 @@ include + \end_inset + + +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-non_free_include_dir_suffix= +-\begin_inset Quotes srd +-\end_inset +- +-non-free/include +-\begin_inset Quotes srd +-\end_inset +- +- + \backslash + + \begin_inset Newline newline +@@ -4211,20 +4062,6 @@ lib + \end_inset + + +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-non_free_lib_dir_suffix= +-\begin_inset Quotes srd +-\end_inset +- +-non-free/lib +-\begin_inset Quotes srd +-\end_inset +- +- + \backslash + + \begin_inset Newline newline +@@ -4405,20 +4242,6 @@ include + \end_inset + + +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-non_free_include_dir_suffix= +-\begin_inset Quotes srd +-\end_inset +- +-non-free/include +-\begin_inset Quotes srd +-\end_inset +- +- + \backslash + + \begin_inset Newline newline +@@ -4433,20 +4256,6 @@ lib + \end_inset + + +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-non_free_lib_dir_suffix= +-\begin_inset Quotes srd +-\end_inset +- +-non-free/lib +-\begin_inset Quotes srd +-\end_inset +- +- + \backslash + + \begin_inset Newline newline +@@ -4543,7 +4352,7 @@ Install paths + \begin_layout Standard + \align center + \begin_inset Tabular +-<lyxtabular version="3" rows="7" columns="4"> ++<lyxtabular version="3" rows="5" columns="4"> + <features tabularvalignment="middle"> + <column alignment="left" valignment="top"> + <column alignment="left" valignment="top" width="4.5cm"> +@@ -4699,64 +4508,6 @@ include + <cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> + \begin_inset Text + +-\begin_layout Plain Layout +-Non-free include files +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-$DATADIR/non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$INCLUDE_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-/usr/local/share/ +-\begin_inset Newline newline +-\end_inset +- +-sdcc/non-free/include +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\backslash +-sdcc +-\backslash +-non-free +-\backslash +-include +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- + \begin_layout Plain Layout + Library file** + \end_layout +@@ -4806,64 +4557,6 @@ sdcc + lib + \end_layout + +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Library file** +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-$DATADIR/non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$LIB_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-/usr/local/share/ +-\begin_inset Newline newline +-\end_inset +- +-sdcc/non-free/lib +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\backslash +-sdcc +-\backslash +-non-free +-\backslash +-lib +-\end_layout +- + \end_inset + </cell> + </row> +@@ -5186,7 +4879,7 @@ $PATH + \begin_layout Standard + \align center + \begin_inset Tabular +-<lyxtabular version="3" rows="9" columns="4"> ++<lyxtabular version="3" rows="6" columns="4"> + <features tabularvalignment="middle"> + <column alignment="block" valignment="top" width="0.5cm"> + <column alignment="block" valignment="top" width="4.8cm"> +@@ -5464,203 +5157,13 @@ include + </cell> + </row> + <row> +-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none"> ++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout + 5 + \end_layout + +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-$DATADIR/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$INCLUDE_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-/usr/local/share/ +-\begin_inset Newline newline +-\end_inset +- +-sdcc/include +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-(not on Win32) +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-6 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME/ +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$PREFIX2DATA_DIR/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$INCLUDE_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME/share/ +-\begin_inset Newline newline +-\end_inset +- +-sdcc/non-free/include +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME +-\backslash +-non-free +-\backslash +-include +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-7 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0])/ +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$BIN2DATADIR/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$INCLUDE_DIR_SUFFIX +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0])/../ +-\begin_inset Newline newline +-\end_inset +- +-sdcc/non-free/include +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0]) +-\backslash +-.. +-\backslash +-non-free +-\backslash +-include +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-8 +-\end_layout +- + \end_inset + </cell> + <cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +@@ -5676,21 +5179,13 @@ $DATADIR/ + \end_inset + + +-\emph on +-non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- + \emph on + $INCLUDE_DIR_SUFFIX + \end_layout + + \end_inset + </cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> ++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout +@@ -5698,7 +5193,7 @@ $INCLUDE_DIR_SUFFIX + \begin_inset Newline newline + \end_inset + +-sdcc/non-free/include ++sdcc/include + \end_layout + + \end_inset +@@ -5796,7 +5291,7 @@ model + \begin_layout Standard + \align center + \begin_inset Tabular +-<lyxtabular version="3" rows="10" columns="4"> ++<lyxtabular version="3" rows="6" columns="4"> + <features tabularvalignment="middle"> + <column alignment="block" valignment="top" width="0.5cm"> + <column alignment="block" valignment="top" width="4.5cm"> +@@ -6076,7 +5571,7 @@ lib + </cell> + </row> + <row> +-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none"> ++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout +@@ -6085,7 +5580,7 @@ lib + + \end_inset + </cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> ++<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout +@@ -6116,7 +5611,7 @@ $LIB_DIR_SUFFIX/ + + \end_inset + </cell> +-<cell alignment="left" valignment="top" topline="true" leftline="true" usebox="none"> ++<cell alignment="left" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout +@@ -6131,7 +5626,7 @@ lib/ + + \end_inset + </cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> ++<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> + \begin_inset Text + + \begin_layout Plain Layout +@@ -6154,308 +5649,6 @@ lib + <model> + \end_layout + +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-6 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-$DATADIR/non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$LIB_DIR_SUFFIX/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-/usr/local/share/sdcc/ +-\begin_inset Newline newline +-\end_inset +- +-lib/ +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-(not on Win32) +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-7 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME/ +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$PREFIX2DATA_DIR/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$LIB_DIR_SUFFIX/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME/share/sdcc/ +-\begin_inset Newline newline +-\end_inset +- +-non-free/lib/ +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-$SDCC_HOME +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-lib +-\backslash +-non-free +-\emph on +- +-\backslash +-<model> +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-8 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0])/ +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$BIN2DATADIR/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$LIB_DIR_SUFFIX/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0])/../sdcc/ +-\begin_inset Newline newline +-\end_inset +- +-non-free/lib/ +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-path(argv[0]) +-\backslash +-.. +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-lib +-\backslash +-non-free +-\emph on +- +-\backslash +-<model> +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-9 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +- +-\emph on +-$DATADIR/non-free/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-$LIB_DIR_SUFFIX/ +-\emph default +- +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-/usr/local/share/sdcc/ +-\begin_inset Newline newline +-\end_inset +- +-non-free/lib/ +-\begin_inset Newline newline +-\end_inset +- +- +-\emph on +-<model> +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-(not on Win32) +-\end_layout +- + \end_inset + </cell> + </row> +@@ -8723,14 +7916,6 @@ In <installdir>/share/sdcc/include + the include files + \end_layout + +-\begin_layout Standard +-In <installdir>/share/sdcc/non-free/include +-\end_layout +- +-\begin_layout Itemize +-the non-free include files +-\end_layout +- + \begin_layout Standard + In <installdir>/share/sdcc/lib + \end_layout +@@ -8739,14 +7924,6 @@ In <installdir>/share/sdcc/lib + the src and target subdirectories with the precompiled relocatables. + \end_layout + +-\begin_layout Standard +-In <installdir>/share/sdcc/non-free/lib +-\end_layout +- +-\begin_layout Itemize +-the src and target subdirectories with the non-free precompiled relocatables. +-\end_layout +- + \begin_layout Standard + In <installdir>/share/sdcc/doc + \end_layout +@@ -15589,66 +14766,6 @@ splint + myprogram.c + \end_layout + +-\begin_layout Labeling +-\labelwidthstring 00.00.0000 +- +-\series bold +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\series default +- +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- +-\begin_inset CommandInset label +-LatexCommand label +-name "lyx:--use-non-free" +- +-\end_inset +- +- Search / include non-free licensed libraries and header files, located +- under the non-free directory - see section +-\begin_inset CommandInset ref +-LatexCommand ref +-reference "subsec:Search-Paths" +- +-\end_inset +- +- +-\end_layout +- + \begin_layout Subsection + Linker Options + \begin_inset Index idx +@@ -44653,66 +43770,9 @@ http://sourceforge.net/projects/gputils + Pic device specific header and c source files are automatically generated + from MPLAB include files, which are published by Microchip with a special + requirement that they are only to be used with authentic Microchip devices. +- This reqirement prevents to publish generated header and c source files +- under the GPL compatible license, so they are located in non-free directory +- (see section +-\begin_inset CommandInset ref +-LatexCommand ref +-reference "subsec:Search-Paths" +- +-\end_inset +- +-). +- In order to include them in include and library search paths, the +-\series bold +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- +-\series default +- command line option should be defined. +-\begin_inset Newline newline +-\end_inset +- +- +-\begin_inset Newline newline +-\end_inset +- +-NOTE: the compiled code, which use non-free pic device specific libraries, +- is not GPL compatible! ++ As this restriction is incompatible with the goal of software freedom, ++ header files and libraries generated from these files are not included ++ in the SDCC package distributed with Guix. + \begin_inset Newline newline + \end_inset + +@@ -44766,7 +43826,7 @@ Makefile + \begin_inset space ~ + \end_inset + +-sdcc -V --use-non-free -mpic14 -p16f877 -c $< ++sdcc -V -mpic14 -p16f877 -c $< + \begin_inset Newline newline + \end_inset + +@@ -44860,7 +43920,7 @@ Makefile + \begin_inset space ~ + \end_inset + +-sdcc -S -V --use-non-free -mpic14 -p16f877 $< ++sdcc -S -V -mpic14 -p16f877 $< + \begin_inset Newline newline + \end_inset + +@@ -45142,47 +44202,6 @@ status collapsed + \begin_layout Plain Layout + + +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-PIC14!Options!- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- make non-free device headers and libraries available in the compiler's +- search paths (implicit -I and -L options) +-\end_layout +- +-\begin_layout Description +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- + \backslash + / + \end_layout +@@ -46055,47 +45074,6 @@ status collapsed + -all-callee-saves + \end_layout + +-\begin_layout Description +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-PIC16!Options!- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- Make non-free device headers and libraries available in the compiler's +- search paths (implicit -I and -L options). +-\end_layout +- + \begin_layout Subsection + Port Specific Options + \begin_inset Index idx +@@ -47372,188 +46350,6 @@ Linker + \end_inset + + +-\end_layout +- +-\begin_layout Standard +-If the +-\series bold +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- +-\series default +- command line option is specified, non-free directories are searched: +-\begin_inset Newline newline +-\end_inset +- +- +-\begin_inset Separator latexpar +-\end_inset +- +- +-\end_layout +- +-\begin_layout Standard +-\align center +-\begin_inset Tabular +-<lyxtabular version="3" rows="3" columns="4"> +-<features tabularvalignment="middle"> +-<column alignment="center" valignment="top"> +-<column alignment="center" valignment="top"> +-<column alignment="center" valignment="top"> +-<column alignment="center" valignment="top"> +-<row> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Directory +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Description +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Target +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Command prefix +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-PREFIX/sdcc/non-free/include/pic16 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-PIC16 specific non-free headers +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Compiler +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +--I +-\end_layout +- +-\end_inset +-</cell> +-</row> +-<row> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-PREFIX/sdcc/non-free/lib/pic16 +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-PIC16 specific non-free libraries +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +-Linker +-\end_layout +- +-\end_inset +-</cell> +-<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none"> +-\begin_inset Text +- +-\begin_layout Plain Layout +--L +-\end_layout +- +-\end_inset +-</cell> +-</row> +-</lyxtabular> +- +-\end_inset +- +- + \end_layout + + \begin_layout Subsection +@@ -48249,66 +47045,9 @@ name "subsec:PIC16_Header-Files-and-Libraries" + Pic device specific header and c source files are automatically generated + from MPLAB include files, which are published by Microchip with a special + requirement that they are only to be used with authentic Microchip devices. +- This requirement prevents to publish generated header and c source files +- under the GPL compatible license, so they are located in the non-free directory +- (see section +-\begin_inset CommandInset ref +-LatexCommand ref +-reference "subsec:Search-Paths" +- +-\end_inset +- +-). +- In order to include them in include and library search paths, the +-\series bold +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\begin_inset Index idx +-status collapsed +- +-\begin_layout Plain Layout +-- +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-/ +-\end_layout +- +-\end_inset +- +--use-non-free +-\end_layout +- +-\end_inset +- +- +-\series default +- command line option should be defined. +-\begin_inset Newline newline +-\end_inset +- +- +-\begin_inset Newline newline +-\end_inset +- +-NOTE: the compiled code, which use non-free pic device specific libraries, +- is not GPL compatible! ++ As this restriction is incompatible with the goal of software freedom, ++ header files and libraries generated from these files are not included ++ in the SDCC package distributed with Guix. + \end_layout + + \begin_layout Subsection +@@ -48554,195 +47293,6 @@ vfprintf.c + should also work, but is untested. + \end_layout + +-\begin_layout Subsection +-Adding New Devices to the Port +-\end_layout +- +-\begin_layout Standard +-Adding support for a new 16 +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +-, +-\end_layout +- +-\end_inset +- +-bit PIC MCU requires the following steps: +-\end_layout +- +-\begin_layout Enumerate +-Create picDEVICE.c and picDEVICE.h from pDEVICE.inc using +-\begin_inset Newline newline +-\end_inset +- +- +-\family typewriter +-perl /path/to/sdcc/support/scripts/inc2h-pic16.pl +-\backslash +- +-\begin_inset Newline newline +-\end_inset +- +-/path/to/gputils/header/pDEVICE.inc +-\end_layout +- +-\begin_layout Enumerate +- +-\family typewriter +-mv picDEVICE.h /path/to/sdcc/device/non-free/include/pic16 +-\end_layout +- +-\begin_layout Enumerate +- +-\family typewriter +-mv picDEVICE.c /path/to/sdcc/device/non-free/lib/pic16/libdev +-\end_layout +- +-\begin_layout Enumerate +-Either +-\begin_inset Separator latexpar +-\end_inset +- +- +-\end_layout +- +-\begin_deeper +-\begin_layout Enumerate +-add the new device to +-\family typewriter +-/path/to/sdcc/device/lib/pic16/libio/*.ignore +-\family default +- to suppress building any of the I/O libraries for the new device +-\begin_inset Foot +-status collapsed +- +-\begin_layout Plain Layout +-In fact, the +-\family typewriter +-.ignore +-\family default +- files are only used when auto-generating +-\family typewriter +-Makefile.am +-\family default +- using the +-\family typewriter +-.../libio/mkmk.sh +-\family default +- script. +-\end_layout +- +-\end_inset +- +-, or +-\end_layout +- +-\begin_layout Enumerate +-add the device (family) to +-\family typewriter +-/path/to/sdcc/support/scripts/pic18fam-h-gen.pl +-\family default +- to assign I/O styles, run the +-\family typewriter +-pic18fam-h-gen.pl +-\family default +- script to generate +-\family typewriter +-pic18fam.h.gen +-\family default +-, replace your existing +-\family typewriter +-pic18fam.h +-\family default +- with the generated file, and (if required) implement new I/O styles in +- +-\family typewriter +-/path/to/sdcc/device/include/pic16/{adc,i2c,usart}.h +-\family default +- and +-\family typewriter +-/path/to/sdcc/device/lib/pic16/libio/*/*. +-\end_layout +- +-\end_deeper +-\begin_layout Enumerate +-Edit +-\family typewriter +-/path/to/sdcc/device/include/pic16/pic18fregs.h +-\family default +- +-\begin_inset Newline newline +-\end_inset +- +-The file format is self-explanatory, just add +-\begin_inset Newline newline +-\end_inset +- +- +-\family typewriter +-#elif defined(picDEVICE) +-\begin_inset Newline newline +-\end_inset +- +-# +-\begin_inset ERT +-status collapsed +- +-\begin_layout Plain Layout +- +- +-\backslash +- +-\backslash +- +-\end_layout +- +-\end_inset +- +-include <picDEVICE.h> +-\family default +- +-\begin_inset Newline newline +-\end_inset +- +-at the right place (keep the file sorted, please). +-\end_layout +- +-\begin_layout Enumerate +-Edit +-\family typewriter +-/path/to/sdcc/device/include/pic16devices.txt +-\begin_inset Newline newline +-\end_inset +- +- +-\family default +-Copy and modify an existing entry or create a new one and insert it at the +- correct place (keep the file sorted, please). +-\end_layout +- +-\begin_layout Enumerate +- +-\family typewriter +-( cd /path/to/sdcc/device/non-free/lib/pic16 && sh update.sh ) +-\end_layout +- +-\begin_layout Enumerate +-Recompile the pic16 libraries as described in +-\begin_inset CommandInset ref +-LatexCommand ref +-reference "subsec:pic16Libraries" +- +-\end_inset +- +- or just configure and build sdcc again from scratch (recommended). +-\end_layout +- + \begin_layout Subsection + Memory Models + \end_layout +@@ -73525,6 +72075,12 @@ This document was initially written by Sandeep Dutta and updated by SDCC + developers. + \end_layout + ++\begin_layout Standard ++It has been modified from the original to reflect the removal of non-free ++ components and related functionality in the SDCC package distributed with ++ GNU Guix. ++\end_layout ++ + \begin_layout Standard + All product names mentioned herein may be trademarks + \begin_inset Index idx +diff --git a/sdcc.spec b/sdcc.spec +index 9f1eeff..3686228 100644 +--- a/sdcc.spec ++++ b/sdcc.spec +@@ -83,15 +83,15 @@ rm -rf $RPM_BUILD_ROOT + %files common + %defattr(-,root,root) + /usr/share/sdcc/include +-/usr/share/sdcc/non-free/include + /usr/share/sdcc/lib +-/usr/share/sdcc/non-free/lib + + %files doc + %defattr(-,root,root) + %doc %{_defaultdocdir} + + %changelog ++* Sat Oct 31 2020 - simon AT simonsouth.net ++- removed non-free include and lib directories + * Wed Feb 07 2018 - pkk AT spth.de + - version updated to 3.7.0 + * Sun May 29 2016 - sourceforge.brock AT dse.nl +diff --git a/sdcc_vc.h.in b/sdcc_vc.h.in +index 06d8cca..736c325 100644 +--- a/sdcc_vc.h.in ++++ b/sdcc_vc.h.in +@@ -23,8 +23,6 @@ + + #define INCLUDE_DIR_SUFFIX "\\include" + #define LIB_DIR_SUFFIX "\\lib" +-#define NON_FREE_INCLUDE_DIR_SUFFIX "\\non-free\\include" +-#define NON_FREE_LIB_DIR_SUFFIX "\\non-free\\lib" + + #define BIN2DATA_DIR "\\.." + #define PREFIX2BIN_DIR "\\bin" +diff --git a/sdccconf_in.h b/sdccconf_in.h +index 29619bd..dadf310 100644 +--- a/sdccconf_in.h ++++ b/sdccconf_in.h +@@ -106,12 +106,6 @@ + /* XXX */ + #undef LIB_DIR_SUFFIX + +-/* XXX */ +-#undef NON_FREE_INCLUDE_DIR_SUFFIX +- +-/* XXX */ +-#undef NON_FREE_LIB_DIR_SUFFIX +- + /* Define to 1 to disable the AVR port */ + #undef OPT_DISABLE_AVR + +@@ -133,9 +127,6 @@ + /* XXX */ + #undef OPT_DISABLE_MCS51 + +-/* XXX */ +-#undef OPT_DISABLE_NON_FREE +- + /* XXX */ + #undef OPT_DISABLE_PACKIHX + +diff --git a/src/SDCCglobl.h b/src/SDCCglobl.h +index 2ce040b..d72d3b8 100644 +--- a/src/SDCCglobl.h ++++ b/src/SDCCglobl.h +@@ -315,7 +315,6 @@ struct options + int no_pack_iram; /* MCS51/DS390 - Deprecated: Tells the linker not to pack variables in internal ram */ + int acall_ajmp; /* MCS51 - Use acall/ajmp instead of lcall/ljmp */ + int no_ret_without_call; /* MCS51 - Do not use ret independent of acall/lcall */ +- int use_non_free; /* Search / include non-free licensed libraries and header files */ + /* starting address of the segments */ + int xstack_loc; /* initial location of external stack */ + int stack_loc; /* initial value of internal stack pointer */ +diff --git a/src/SDCCmain.c b/src/SDCCmain.c +index a523164..a279d3d 100644 +--- a/src/SDCCmain.c ++++ b/src/SDCCmain.c +@@ -144,7 +144,6 @@ char buffer[PATH_MAX * 2]; + #define OPTION_DATA_SEG "--dataseg" + #define OPTION_DOLLARS_IN_IDENT "--fdollars-in-identifiers" + #define OPTION_SIGNED_CHAR "--fsigned-char" +-#define OPTION_USE_NON_FREE "--use-non-free" + #define OPTION_PEEP_RETURN "--peep-return" + #define OPTION_NO_PEEP_RETURN "--no-peep-return" + #define OPTION_NO_OPTSDCC_IN_ASM "--no-optsdcc-in-asm" +@@ -192,7 +191,6 @@ static const OPTION optionsTable[] = { + {0, OPTION_STD_SDCC11, NULL, "Use ISO C11 standard with SDCC extensions (default)"}, + {0, OPTION_DOLLARS_IN_IDENT, &options.dollars_in_ident, "Permit '$' as an identifier character"}, + {0, OPTION_SIGNED_CHAR, &options.signed_char, "Make \"char\" signed by default"}, +- {0, OPTION_USE_NON_FREE, &options.use_non_free, "Search / include non-free licensed libraries and header files"}, + + {0, NULL, NULL, "Code generation options"}, + {'m', NULL, NULL, "Set the port to use e.g. -mz80."}, +@@ -2045,10 +2043,6 @@ preProcess (char **envp) + else + addSet (&preArgvSet, Safe_strdup ("-D__SDCC_CHAR_UNSIGNED")); + +- /* set the macro for non-free */ +- if (options.use_non_free) +- addSet (&preArgvSet, Safe_strdup ("-D__SDCC_USE_NON_FREE")); +- + /* set the macro for large model */ + switch (options.model) + { +@@ -2262,12 +2256,6 @@ setIncludePath (void) + * 6. - $SDCC_HOME/PREFIX2DATA_DIR/INCLUDE_DIR_SUFFIX + * 7. - path(argv[0])/BIN2DATA_DIR/INCLUDE_DIR_SUFFIX + * 8. - DATADIR/INCLUDE_DIR_SUFFIX (only on *nix) +- * 9. - $SDCC_HOME/PREFIX2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX/target +- * 10. - path(argv[0])/BIN2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX/target +- * 11. - DATADIR/NON_FREE_INCLUDE_DIR_SUFFIX/target (only on *nix) +- * 12. - $SDCC_HOME/PREFIX2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX +- * 13. - path(argv[0])/BIN2DATA_DIR/NON_FREE_INCLUDE_DIR_SUFFIX +- * 14. - DATADIR/NON_FREE_INCLUDE_DIR_SUFFIX (only on *nix) + */ + + if (!options.nostdinc) +@@ -2280,17 +2268,6 @@ setIncludePath (void) + includeDirsSet = processStrSet (includeDirsSet, NULL, port->target, NULL); + mergeSets (&includeDirsSet, tempSet); + +- if (options.use_non_free) +- { +- set *tempSet1; +- +- tempSet = processStrSet (dataDirsSet, NULL, NON_FREE_INCLUDE_DIR_SUFFIX, NULL); +- tempSet1 = processStrSet (tempSet, NULL, DIR_SEPARATOR_STRING, NULL); +- tempSet1 = processStrSet (tempSet1, NULL, port->target, NULL); +- mergeSets (&tempSet1, tempSet); +- mergeSets (&includeDirsSet, tempSet1); +- } +- + if ((p = getenv (SDCC_INCLUDE_NAME)) != NULL) + { + struct dbuf_s dbuf; +@@ -2315,9 +2292,6 @@ setLibPath (void) + * 3. - $SDCC_HOME/PREFIX2DATA_DIR/LIB_DIR_SUFFIX/<model> + * 4. - path(argv[0])/BIN2DATA_DIR/LIB_DIR_SUFFIX/<model> + * 5. - DATADIR/LIB_DIR_SUFFIX/<model> (only on *nix) +- * 6. - $SDCC_HOME/PREFIX2DATA_DIR/NON_FREE_LIB_DIR_SUFFIX/<model> +- * 7. - path(argv[0])/BIN2DATA_DIR/NON_FREE_LIB_DIR_SUFFIX/<model> +- * 8. - DATADIR/NON_FREE_LIB_DIR_SUFFIX/<model> (only on *nix) + */ + + if (!options.nostdlib) +@@ -2334,13 +2308,6 @@ setLibPath (void) + dbuf_makePath (&dbuf, LIB_DIR_SUFFIX, port->general.get_model ? port->general.get_model () : targetname); + libDirsSet = processStrSet (dataDirsSet, NULL, dbuf_c_str (&dbuf), NULL); + +- if (options.use_non_free) +- { +- dbuf_set_length (&dbuf, 0); +- dbuf_makePath (&dbuf, NON_FREE_LIB_DIR_SUFFIX, port->general.get_model ? port->general.get_model () : targetname); +- mergeSets (&libDirsSet, processStrSet (dataDirsSet, NULL, dbuf_c_str (&dbuf), NULL)); +- } +- + if ((p = getenv (SDCC_LIB_NAME)) != NULL) + { + addSetHead (&libDirsSet, Safe_strdup (p)); +diff --git a/src/pic14/main.c b/src/pic14/main.c +index 3d868cc..e8ecaaf 100644 +--- a/src/pic14/main.c ++++ b/src/pic14/main.c +@@ -42,7 +42,6 @@ static OPTION _pic14_poptions[] = + { 0, "--no-pcode-opt", &pic14_options.disable_df, "disable (slightly faulty) optimization on pCode" }, + { 0, OPTION_STACK_SIZE, &options.stack_size, "sets the size if the argument passing stack (default: 16, minimum: 4)", CLAT_INTEGER }, + { 0, "--no-extended-instructions", &pic14_options.no_ext_instr, "forbid use of the extended instruction set (e.g., ADDFSR)" }, +- { 0, "--no-warn-non-free", &pic14_options.no_warn_non_free, "suppress warning on absent --use-non-free option" }, + { 0, NULL, NULL, NULL } + }; + +@@ -153,16 +152,6 @@ _pic14_finaliseOptions (void) + addSet (&preArgvSet, dbuf_detach_c_str (&dbuf)); + } + +- if (!pic14_options.no_warn_non_free && !options.use_non_free) +- { +- fprintf(stderr, +- "WARNING: Command line option --use-non-free not present.\n" +- " When compiling for PIC14/PIC16, please provide --use-non-free\n" +- " to get access to device headers and libraries.\n" +- " If you do not use these, you may provide --no-warn-non-free\n" +- " to suppress this warning (not recommended).\n"); +- } // if +- + } + + static void +diff --git a/src/pic14/main.h b/src/pic14/main.h +index 4275b65..0dc8c86 100644 +--- a/src/pic14/main.h ++++ b/src/pic14/main.h +@@ -5,7 +5,6 @@ typedef struct { + unsigned int isLibrarySource:1; + int disable_df; + int no_ext_instr; +- int no_warn_non_free; + } pic14_options_t; + + extern pic14_options_t pic14_options; +diff --git a/src/pic16/device.h b/src/pic16/device.h +index cdfbba0..5877f09 100644 +--- a/src/pic16/device.h ++++ b/src/pic16/device.h +@@ -99,7 +99,6 @@ typedef struct { + int gstack; + unsigned int debgen; + int xinst; +- int no_warn_non_free; + } pic16_options_t; + + extern pic16_options_t pic16_options; +diff --git a/src/pic16/main.c b/src/pic16/main.c +index 6f194c1..7f7b2f0 100644 +--- a/src/pic16/main.c ++++ b/src/pic16/main.c +@@ -655,7 +655,6 @@ OPTION pic16_optionsTable[]= { + { 0, "--pcode-verbose", &pic16_pcode_verbose, "dump pcode related info"}, + { 0, "--calltree", &pic16_options.dumpcalltree, "dump call tree in .calltree file"}, + { 0, "--gstack", &pic16_options.gstack, "trace stack pointer push/pop to overflow"}, +- { 0, "--no-warn-non-free", &pic16_options.no_warn_non_free, "suppress warning on absent --use-non-free option" }, + { 0, NULL, NULL, NULL} + }; + +@@ -940,16 +939,6 @@ _pic16_finaliseOptions (void) + addSet (&asmOptionsSet, Safe_strdup ("-D__STACK_MODEL_SMALL")); + } + +- if (!pic16_options.no_warn_non_free && !options.use_non_free) +- { +- fprintf(stderr, +- "WARNING: Command line option --use-non-free not present.\n" +- " When compiling for PIC14/PIC16, please provide --use-non-free\n" +- " to get access to device headers and libraries.\n" +- " If you do not use these, you may provide --no-warn-non-free\n" +- " to suppress this warning (not recommended).\n"); +- } // if +- + dbuf_destroy (&dbuf); + } + +@@ -979,7 +968,6 @@ _pic16_setDefaultOptions (void) + pic16_options.ip_stack = 1; /* set to 1 to enable ipop/ipush for stack */ + pic16_options.gstack = 0; + pic16_options.debgen = 0; +- pic16_options.no_warn_non_free = 0; + } + + static const char * +diff --git a/src/regression/Makefile b/src/regression/Makefile +index 26a7ff3..4547295 100644 +--- a/src/regression/Makefile ++++ b/src/regression/Makefile +@@ -65,10 +65,10 @@ TARGETPIC = 18f452 + CFLAGS = -mpic16 -p$(TARGETPIC) + DIR = pic16 + endif +-CFLAGS += -Wl,-q --no-warn-non-free ++CFLAGS += -Wl,-q + CFLAGS += -Wl,--map +-CFLAGS += -I $(SDCC_SRC)/device/include/$(DIR) -I $(SDCC_SRC)/device/non-free/include/$(DIR) +-CFLAGS += -L $(SDCC_BIN)/device/lib/build/$(DIR) -L $(SDCC_BIN)/device/non-free/lib/build/$(DIR) ++CFLAGS += -I $(SDCC_SRC)/device/include/$(DIR) ++CFLAGS += -L $(SDCC_BIN)/device/lib/build/$(DIR) + #CFLAGS += --no-pcode-opt + #CFLAGS += -V + +diff --git a/support/regression/ports/pic14/spec.mk b/support/regression/ports/pic14/spec.mk +index a3dcc05..bef1c45 100644 +--- a/support/regression/ports/pic14/spec.mk ++++ b/support/regression/ports/pic14/spec.mk +@@ -12,13 +12,9 @@ endif + + ifndef SDCC_BIN_PATH + ifndef CROSSCOMPILING +- SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic14 -I$(top_srcdir)/device/non-free/include/pic14 -I$(top_srcdir) +- LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic14 -L$(top_builddir)/device/non-free/lib/build/pic14 +- else +- SDCCFLAGS += --use-non-free ++ SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic14 -I$(top_srcdir) ++ LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic14 + endif +-else +- SDCCFLAGS += --use-non-free + endif + + ifdef CROSSCOMPILING +@@ -26,7 +22,6 @@ ifdef CROSSCOMPILING + endif + + SDCCFLAGS += -mpic14 -pp16f877 --less-pedantic -Wl,-q +-SDCCFLAGS += --no-warn-non-free + LINKFLAGS += libsdcc.lib libm.lib + + OBJEXT = .o +diff --git a/support/regression/ports/pic16/spec.mk b/support/regression/ports/pic16/spec.mk +index 1f94cde..f1ac726 100644 +--- a/support/regression/ports/pic16/spec.mk ++++ b/support/regression/ports/pic16/spec.mk +@@ -12,13 +12,9 @@ endif + + ifndef SDCC_BIN_PATH + ifndef CROSSCOMPILING +- SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic16 -I$(top_srcdir)/device/non-free/include/pic16 -I$(top_srcdir) +- LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic16 -L$(top_builddir)/device/non-free/lib/build/pic16 +- else +- SDCCFLAGS += --use-non-free ++ SDCCFLAGS += --nostdinc -I$(top_srcdir)/device/include/pic16 -I$(top_srcdir) ++ LINKFLAGS += --nostdlib -L$(top_builddir)/device/lib/build/pic16 + endif +-else +- SDCCFLAGS += --use-non-free + endif + + ifdef CROSSCOMPILING +@@ -27,7 +23,6 @@ endif + + SDCCFLAGS += -mpic16 -pp18f452 --less-pedantic -Wl,-q + SDCCFLAGS += --no-peep +-SDCCFLAGS += --no-warn-non-free + LINKFLAGS += libsdcc.lib libc18f.lib libm18f.lib + + OBJEXT = .o +diff --git a/support/scripts/cinc2h.pl b/support/scripts/cinc2h.pl +index 8558135..30d72b7 100755 +--- a/support/scripts/cinc2h.pl ++++ b/support/scripts/cinc2h.pl +@@ -39,58 +39,10 @@ + + ------------------------------------------------- + +- Steps to add a new target device to SDCC/PIC16: +- (Following Raphael Neider <rneider AT web.de>) +- +- 1. Create the picDEVICE.c and picDEVICE.h from pDEVICE.inc using +- ./cinc2h.pl -p 18f4520 -cb -cp -gp "path/to/gputils_source" -o "path/to/output" +- +- 2. mv picDEVICE.h $SDCC/device/non-free/include/pic16 +- 3. mv picDEVICE.c $SDCC/device/non-free/lib/pic16/libdev +- 4. either +- +- (a) adjust $SDCC/device/lib/pic16/libio/*.ignore +- if the device does not support ADC, I2C, or USART +- --- OR --- +- (b) adjust +- * SDCC/scripts/pic18fam-h-gen.pl +- * SDCC/device/include/pic16/adc.h (if required) +- * SDCC/device/include/pic16/usart.h (if required) +- * SDCC/device/lib/pic16/libio/*/* (if required) +- to add the new device to the appropriate I/O style +- and implement new styles (if required). +- +- Having modified pic18fam-h-gen.pl, you need to run the +- script to generate pic18fam.h.gen, which in turn must +- then replace your .../include/pic16/pic18fam.h to take +- effect; see pic18fam-h-gen.pl for usage information. +- 6. edit $SDCC/device/include/pic16/pic18fregs.h +- 7. edit $SDCC/device/include/pic16/pic16devices.txt +- 8. run cd $SDCC/device/non-free/lib/pic16 && sh update.sh +- to regenerate .../libdev/Makefile.am and processors.ac +- +- The file format of steps 6 and 7 is self explanatory, in most +- if not all cases you can copy and paste another device's records +- and adjust them to the newly added device. +- +- ------------------------------------------------- +- +- Steps to add a new target device to SDCC/PIC14: +- +- 1. Create the picDEVICE.c and picDEVICE.h from pDEVICE.inc using +- ./cinc2h.pl -p 16f1503 -cb -cp -gp "path/to/gputils_source" -o "path/to/output" +- +- 2. mv picDEVICE.h $SDCC/device/non-free/include/pic14 +- 3. mv picDEVICE.c $SDCC/device/non-free/lib/pic14/libdev +- 4. add DEVICE to $SDCC/device/non-free/lib/pic14/libdev/devices.txt +- (The names of the enhanced devices the "# enhanced cores" line +- after follow.) +- +- 5. edit $SDCC/device/include/pic14/pic14devices.txt +- +- The file format of step 5 is self explanatory, in most if not all +- cases you can copy and paste another device's records and adjust +- them to the newly added device. ++ For its inclusion in the SDCC package distributed with GNU Guix ++ (https://guix.gnu.org/) this file has been modified from the ++ original to remove instructions on its use with non-free software ++ and to update the output of the print_license subroutine below. + + $Id: cinc2h.pl 9450 2016-01-09 16:47:43Z molnarkaroly $ + =cut +@@ -1345,10 +1297,9 @@ sub print_license($) + * Microchip header (.inc) and linker script (.lkr) files Microchip + * requires that "The header files should state that they are only to be + * used with authentic Microchip devices" which makes them incompatible +- * with the GPL. Pic device libraries and header files are located at +- * non-free/lib and non-free/include directories respectively. +- * Sdcc should be run with the --use-non-free command line option in +- * order to include non-free header files and libraries. ++ * with the GPL. These non-free libraries and header files (and the ++ * build and run-time options that enable their use) are omitted in the ++ * SDCC package distributed with GNU Guix. + * + * See http://sdcc.sourceforge.net/ for the latest information on sdcc. + */ +diff --git a/support/scripts/pic14-header-parser.pl b/support/scripts/pic14-header-parser.pl +index 4413c25..57c6076 100755 +--- a/support/scripts/pic14-header-parser.pl ++++ b/support/scripts/pic14-header-parser.pl +@@ -63,9 +63,7 @@ use constant P_SHOW_ONLY_NAME => 3; + + my @default_paths = + ( +- '/usr/share/sdcc/non-free/include', + '/usr/share/sdcc/include', +- '/usr/local/share/sdcc/non-free/include', + '/usr/local/share/sdcc/include' + ); + +diff --git a/support/scripts/pic16-header-parser.pl b/support/scripts/pic16-header-parser.pl +index 6db417a..4b35225 100755 +--- a/support/scripts/pic16-header-parser.pl ++++ b/support/scripts/pic16-header-parser.pl +@@ -62,9 +62,7 @@ use constant P_SHOW_ONLY_NAME => 3; + + my @default_paths = + ( +- '/usr/share/sdcc/non-free/include', + '/usr/share/sdcc/include', +- '/usr/local/share/sdcc/non-free/include', + '/usr/local/share/sdcc/include' + ); + +diff --git a/support/scripts/sdcc.nsi b/support/scripts/sdcc.nsi +index 5086181..9527244 100644 +--- a/support/scripts/sdcc.nsi ++++ b/support/scripts/sdcc.nsi +@@ -477,11 +477,6 @@ ${Section} "SDCC include files" SEC05 + + SetOutPath "$INSTDIR\include" + File "${DEV_ROOT}\include\*.h" +- +- SetOutPath "$INSTDIR\non-free\include\pic14" +- File "${DEV_ROOT}\non-free\include\pic14\*.h" +- SetOutPath "$INSTDIR\non-free\include\pic16" +- File "${DEV_ROOT}\non-free\include\pic16\*.h" + ${SectionEnd} + + ${Section} "SDCC DS390 library" SEC06 +@@ -579,18 +574,12 @@ ${Section} "SDCC PIC16 library" SEC21 + SetOutPath "$INSTDIR\lib\pic16" + File "${DEV_ROOT}\lib\pic16\*.o" + File "${DEV_ROOT}\lib\pic16\*.lib" +- +- SetOutPath "$INSTDIR\non-free\lib\pic16" +- File "${DEV_ROOT}\non-free\lib\pic16\*.lib" + ${SectionEnd} + + ${Section} "SDCC PIC14 library" SEC22 + SectionIn 1 2 + SetOutPath "$INSTDIR\lib\pic14" + File "${DEV_ROOT}\lib\pic14\*.lib" +- +- SetOutPath "$INSTDIR\non-free\lib\pic14" +- File "${DEV_ROOT}\non-free\lib\pic14\*.lib" + ${SectionEnd} + + ${Section} "SDCC STM8 library" SEC23 +@@ -691,10 +680,6 @@ ${Section} "SDCC library sources" SEC25 + File "${DEV_ROOT}\lib\src\pic14\libsdcc\enhanced\*.inc" + # File "${DEV_ROOT}\lib\src\pic14\libsdcc\Makefile" + +- SetOutPath "$INSTDIR\non-free\lib\src\pic14\libdev" +- File "${DEV_ROOT}\non-free\lib\src\pic14\libdev\*.c" +-# File "${DEV_ROOT}\non-free\lib\src\pic14\libdev\Makefile" +- + SetOutPath "$INSTDIR\lib\src\pic14\libm" + File "${DEV_ROOT}\lib\src\pic14\libm\*.c" + +@@ -746,10 +731,6 @@ ${Section} "SDCC library sources" SEC25 + File "${DEV_ROOT}\lib\src\pic16\libc\utils\*.S" + # File "${DEV_ROOT}\lib\src\pic16\libc\utils\Makefile" + +- SetOutPath "$INSTDIR\non-free\lib\src\pic16\libdev" +- File "${DEV_ROOT}\non-free\lib\src\pic16\libdev\*.c" +-# File "${DEV_ROOT}\non-free\lib\src\pic16\libdev\Makefile" +- + SetOutPath "$INSTDIR\lib\src\pic16\libio" + File "${DEV_ROOT}\lib\src\pic16\libio\*.ignore" + # File "${DEV_ROOT}\lib\src\pic16\libio\Makefile" +@@ -1003,13 +984,9 @@ ${Section} Uninstall SECUNINSTALL + + Delete "$INSTDIR\lib\pic14\*.lib" + +- Delete "$INSTDIR\non-free\lib\pic14\*.lib" +- + Delete "$INSTDIR\lib\pic16\*.o" + Delete "$INSTDIR\lib\pic16\*.lib" + +- Delete "$INSTDIR\non-free\lib\pic16\*.lib" +- + Delete "$INSTDIR\lib\hc08\*.lib" + + Delete "$INSTDIR\lib\s08\*.lib" +@@ -1059,9 +1036,7 @@ ${Section} Uninstall SECUNINSTALL + Delete "$INSTDIR\include\pic14\*.h" + Delete "$INSTDIR\include\pic14\*.txt" + Delete "$INSTDIR\include\pic14\*.inc" +- Delete "$INSTDIR\non-free\include\pic14\*.h" + Delete "$INSTDIR\include\pic16\*.h" +- Delete "$INSTDIR\non-free\include\pic16\*.h" + Delete "$INSTDIR\include\pic16\*.txt" + Delete "$INSTDIR\include\mcs51\*.h" + Delete "$INSTDIR\include\hc08\*.h" +@@ -1119,9 +1094,7 @@ ${Section} Uninstall SECUNINSTALL + Delete "$INSTDIR\uninstall.exe" + + RMDir /r "$INSTDIR\lib\src\pic14" +- RMDir /r "$INSTDIR\non-free\lib\src\pic14" + RMDir /r "$INSTDIR\lib\src\pic16" +- RMDir /r "$INSTDIR\non-free\lib\src\pic16" + RMDir "$INSTDIR\lib\src\small" + RMDir "$INSTDIR\lib\src\medium" + RMDir "$INSTDIR\lib\src\large" +@@ -1138,12 +1111,9 @@ ${Section} Uninstall SECUNINSTALL + RMDir "$INSTDIR\lib\src\s08" + RMDir "$INSTDIR\lib\src\stm8" + RMDir "$INSTDIR\lib\src" +- RMDir "$INSTDIR\non-free\lib\src" + + RMDir "$INSTDIR\lib\pic14" +- RMDir "$INSTDIR\non-free\lib\pic14" + RMDir "$INSTDIR\lib\pic16" +- RMDir "$INSTDIR\non-free\lib\pic16" + RMDir "$INSTDIR\lib\z80" + RMDir "$INSTDIR\lib\z180" + RMDir "$INSTDIR\lib\r2k" +@@ -1160,16 +1130,13 @@ ${Section} Uninstall SECUNINSTALL + RMDir "$INSTDIR\lib\s08" + RMDir "$INSTDIR\lib\stm8" + RMDir "$INSTDIR\lib" +- RMDir "$INSTDIR\non-free\lib" + + RMDir "$INSTDIR\include\asm\z80" + RMDir "$INSTDIR\include\asm\z180" + RMDir "$INSTDIR\include\asm\r2k" + RMDir "$INSTDIR\include\asm\r3ka" + RMDir "$INSTDIR\include\asm\pic16" +- RMDir "$INSTDIR\non-free\include\asm\pic16" + RMDir "$INSTDIR\include\asm\pic14" +- RMDir "$INSTDIR\non-free\include\asm\pic14" + RMDir "$INSTDIR\include\asm\mcs51" + RMDir "$INSTDIR\include\asm\gbz80" + RMDir "$INSTDIR\include\asm\ds390" +@@ -1178,17 +1145,12 @@ ${Section} Uninstall SECUNINSTALL + RMDir "$INSTDIR\include\asm" + RMDir "$INSTDIR\include\z180" + RMDir "$INSTDIR\include\pic14" +- RMDir "$INSTDIR\non-free\include\pic14" + RMDir "$INSTDIR\include\pic16" +- RMDir "$INSTDIR\non-free\include\pic16" + RMDir "$INSTDIR\include\mcs51" + RMDir "$INSTDIR\include\hc08" + RMDir "$INSTDIR\include\ds400" + RMDir "$INSTDIR\include\ds390" + RMDir "$INSTDIR\include" +- RMDir "$INSTDIR\non-free\include" +- +- RMDir "$INSTDIR\non-free" + + !ifdef FULL_DOC + RMDir /r "$INSTDIR\doc" +diff --git a/support/scripts/sdcc_cygwin_mingw32 b/support/scripts/sdcc_cygwin_mingw32 +index 5575663..2588d4f 100755 +--- a/support/scripts/sdcc_cygwin_mingw32 ++++ b/support/scripts/sdcc_cygwin_mingw32 +@@ -6,9 +6,7 @@ + --datarootdir="/sdcc" \ + docdir="\${datarootdir}/doc" \ + include_dir_suffix="include" \ +-non_free_include_dir_suffix="non-free/include" \ + lib_dir_suffix="lib" \ +-non_free_lib_dir_suffix="non-free/lib" \ + sdccconf_h_dir_separator="\\\\" \ + CC="gcc -mno-cygwin" \ + CXX="g++ -mno-cygwin" +diff --git a/support/scripts/sdcc_mingw32 b/support/scripts/sdcc_mingw32 +index 96e3280..050761e 100755 +--- a/support/scripts/sdcc_mingw32 ++++ b/support/scripts/sdcc_mingw32 +@@ -19,9 +19,7 @@ export SDCCCONFIGUREFLAGS=" \ + --datarootdir=/sdcc \ + docdir=\${datarootdir}/doc \ + include_dir_suffix=include \ +-non_free_include_dir_suffix=non-free/include \ + lib_dir_suffix=lib \ +-non_free_lib_dir_suffix=non-free/lib \ + sdccconf_h_dir_separator=\\\\ \ + --disable-device-lib \ + --host=i586-mingw32msvc --build=unknown-unknown-linux-gnu" diff --git a/gnu/packages/patches/yggdrasil-extra-config.patch b/gnu/packages/patches/yggdrasil-extra-config.patch new file mode 100644 index 0000000000..c21ca29a84 --- /dev/null +++ b/gnu/packages/patches/yggdrasil-extra-config.patch @@ -0,0 +1,86 @@ +diff --git a/cmd/yggdrasil/main.go b/cmd/yggdrasil/main.go +index 813e950..08d35cc 100644 +--- a/cmd/yggdrasil/main.go ++++ b/cmd/yggdrasil/main.go +@@ -40,11 +40,12 @@ type node struct { + admin module.Module // admin.AdminSocket + } + +-func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config.NodeConfig { ++func readConfig(useconf *bool, useconffile *string, extraconffile *string, normaliseconf *bool) *config.NodeConfig { + // Use a configuration file. If -useconf, the configuration will be read + // from stdin. If -useconffile, the configuration will be read from the + // filesystem. + var conf []byte ++ var extraconf []byte + var err error + if *useconffile != "" { + // Read the file from the filesystem +@@ -56,6 +57,21 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config + if err != nil { + panic(err) + } ++ if *extraconffile != "" { ++ extraconf, err = ioutil.ReadFile(*extraconffile); ++ } ++ if err != nil { ++ panic(err) ++ } ++ // Generate a new configuration - this gives us a set of sane defaults - ++ // then parse the configuration we loaded above on top of it. The effect ++ // of this is that any configuration item that is missing from the provided ++ // configuration will use a sane default. ++ cfg := config.GenerateConfig() ++ var confs [2][]byte ++ confs[0]=conf ++ confs[1]=extraconf ++ for _, conf := range confs { if len(conf)>0 { + // If there's a byte order mark - which Windows 10 is now incredibly fond of + // throwing everywhere when it's converting things into UTF-16 for the hell + // of it - remove it and decode back down into UTF-8. This is necessary +@@ -69,11 +85,6 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config + panic(err) + } + } +- // Generate a new configuration - this gives us a set of sane defaults - +- // then parse the configuration we loaded above on top of it. The effect +- // of this is that any configuration item that is missing from the provided +- // configuration will use a sane default. +- cfg := config.GenerateConfig() + var dat map[string]interface{} + if err := hjson.Unmarshal(conf, &dat); err != nil { + panic(err) +@@ -112,6 +123,7 @@ func readConfig(useconf *bool, useconffile *string, normaliseconf *bool) *config + if err = mapstructure.Decode(dat, &cfg); err != nil { + panic(err) + } ++ }} + return cfg + } + +@@ -164,6 +176,7 @@ func main() { + genconf := flag.Bool("genconf", false, "print a new config to stdout") + useconf := flag.Bool("useconf", false, "read HJSON/JSON config from stdin") + useconffile := flag.String("useconffile", "", "read HJSON/JSON config from specified file path") ++ extraconffile := flag.String("extraconffile", "", "extra (usually private) HJSON/JSON config from specified file path") + normaliseconf := flag.Bool("normaliseconf", false, "use in combination with either -useconf or -useconffile, outputs your configuration normalised") + confjson := flag.Bool("json", false, "print configuration from -genconf or -normaliseconf as JSON instead of HJSON") + autoconf := flag.Bool("autoconf", false, "automatic mode (dynamic IP, peer with IPv6 neighbors)") +@@ -187,7 +200,7 @@ func main() { + cfg = config.GenerateConfig() + case *useconffile != "" || *useconf: + // Read the configuration from either stdin or from the filesystem +- cfg = readConfig(useconf, useconffile, normaliseconf) ++ cfg = readConfig(useconf, useconffile, extraconffile, normaliseconf) + // If the -normaliseconf option was specified then remarshal the above + // configuration and print it back to stdout. This lets the user update + // their configuration file with newly mapped names (like above) or to +@@ -332,7 +345,7 @@ func main() { + goto exit + case _ = <-r: + if *useconffile != "" { +- cfg = readConfig(useconf, useconffile, normaliseconf) ++ cfg = readConfig(useconf, useconffile, extraconffile, normaliseconf) + logger.Infoln("Reloading configuration from", *useconffile) + n.core.UpdateConfig(cfg) + n.tuntap.UpdateConfig(cfg) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 1442d3e43b..2a4be26f8c 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -68,7 +68,6 @@ #:use-module (gnu packages gstreamer) #:use-module (gnu packages gtk) #:use-module (gnu packages image) - #:use-module (gnu packages imagemagick) #:use-module (gnu packages javascript) #:use-module (gnu packages lesstif) #:use-module (gnu packages libffi) @@ -1045,7 +1044,6 @@ the PDF pages.") ("libudev" ,eudev) ("libwebp" ,libwebp) ("libdrm" ,libdrm) - ("imagemagick" ,imagemagick) ("giflib" ,giflib) ("glib" ,glib) ("cairo-xcb" ,cairo-xcb) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index ad84d63785..d49ca005ba 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -269,15 +269,14 @@ more.") (define-public perl-algorithm-c3 (package (name "perl-algorithm-c3") - (version "0.10") + (version "0.11") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Algorithm-C3-" version ".tar.gz")) (sha256 - (base32 - "01hlcaxndls86bl92rkd3fvf9pfa3inxqaimv88bxs95803kmkss")))) + (base32 "02ck52cf0yyk57354rd1rp5l0kbfwi1pvg2lh3jadvjxfrkq9x5a")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Algorithm-C3") (synopsis "Module for merging hierarchies using the C3 algorithm") @@ -1267,14 +1266,14 @@ different getters and setters.") (define-public perl-class-c3 (package (name "perl-class-c3") - (version "0.34") + (version "0.35") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/H/HA/HAARG/" "Class-C3-" version ".tar.gz")) (sha256 - (base32 "1dcibc31v5jwmi6hsdzi7c5ag1sb4wp3kxkibc889qrdj7jm12sd")))) + (base32 "0gp3czp6y0jxx4448kz37f7gdxq4vw514bvc0l98rk4glvqkq1c4")))) (build-system perl-build-system) (propagated-inputs `(("perl-algorithm-c3" ,perl-algorithm-c3))) @@ -1693,15 +1692,14 @@ one.") (define-public perl-clone-pp (package (name "perl-clone-pp") - (version "1.07") + (version "1.08") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/Clone-PP-" version ".tar.gz")) (sha256 - (base32 - "15dkhqvih6rx9dnngfwwljcm9s8afb0nbyl2vdvhd8frnw4y31dz")))) + (base32 "0y7m25fksiavzg4xj4cm9zkz8rmnk4iqy7lm01m4nmyqlna3082p")))) (build-system perl-build-system) (home-page "https://metacpan.org/release/Clone-PP") (synopsis "Recursively copy Perl datatypes") @@ -5779,14 +5777,14 @@ one: logging, exceptions, and translations.") (define-public perl-libintl-perl (package (name "perl-libintl-perl") - (version "1.31") + (version "1.32") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/G/GU/GUIDO/" "libintl-perl-" version ".tar.gz")) (sha256 - (base32 "1afandrl44mq9c32r57xr489gkfswdgc97h8x86k98dz1byv3l6a")))) + (base32 "19gbbh9w3rl805mv6mg1q80fsrg610h098qhf7ycnkjnyac84440")))) (build-system perl-build-system) (arguments `(#:phases @@ -5899,15 +5897,14 @@ intersections, unions, unique elements, complements and many more.") (define-public perl-list-moreutils (package (name "perl-list-moreutils") - (version "0.428") + (version "0.430") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" "List-MoreUtils-" version ".tar.gz")) (sha256 - (base32 - "1hkc8xkd27yzfkgaglzn77j4qjmilyva4gaz3pc64vpism2hjgki")))) + (base32 "09v5cipjf634a1176wy2wicibzz51lry0d0yim9rnbfl5j2ggcb3")))) (build-system perl-build-system) (arguments `(#:phases @@ -5934,15 +5931,14 @@ functionality on lists which is not going to go into List::Util.") (define-public perl-list-moreutils-xs (package (name "perl-list-moreutils-xs") - (version "0.428") + (version "0.430") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/List-MoreUtils-XS-" version ".tar.gz")) (sha256 - (base32 - "0bfndmnkqaaf3gffprak143bzplxd69c368jxgr7rzlx88hyd7wx")))) + (base32 "0hmjkhmk1qlzbg8skq7g1zral07k1x0fk4w2fpcfr7hpgkaldkp8")))) (build-system perl-build-system) (native-inputs `(("perl-config-autoconf" ,perl-config-autoconf) @@ -7280,15 +7276,14 @@ building is done in @code{MooX::ConfigFromFile::Role}---using (define-public perl-moox-file-configdir (package (name "perl-moox-file-configdir") - (version "0.007") + (version "0.008") (source (origin (method url-fetch) (uri (string-append "mirror://cpan/authors/id/R/RE/REHSACK/" "MooX-File-ConfigDir-" version ".tar.gz")) (sha256 - (base32 - "074v150wrbddhy1n0qc8s80zrb71l3c4is968cnr06ac5l9kmshz")))) + (base32 "1b033injzk9d8clgip67ps5j5bpkrnag28q89ddwhrgqx12i3m7q")))) (build-system perl-build-system) (propagated-inputs `(("perl-file-configdir" ,perl-file-configdir) @@ -7304,17 +7299,16 @@ installing configuration files or for finding any piece of settings.") (define-public perl-moox-handlesvia (package (name "perl-moox-handlesvia") - (version "0.001008") + (version "0.001009") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/M/MA/MATTP/MooX-HandlesVia-" + "mirror://cpan/authors/id/T/TO/TOBYINK/MooX-HandlesVia-" version ".tar.gz")) (sha256 - (base32 - "137yrjn2jmw4cj0fjdajnkjgqr5arnpq72kbm6w66xskncinz55h")))) + (base32 "04kcyflg49rclxa1nm035c05jpyvhdacjyy1wklbgv4li3im6qvi")))) (build-system perl-build-system) (native-inputs `(("perl-moox-types-mooselike" @@ -9837,7 +9831,7 @@ generally slower on larger files.") (define-public perl-text-format (package (name "perl-text-format") - (version "0.61") + (version "0.62") (source (origin (method url-fetch) (uri (string-append @@ -9845,7 +9839,7 @@ generally slower on larger files.") version ".tar.gz")) (sha256 (base32 - "0axfyiml3zwawwd127z8rl2lm53z6dlsflzmp80m3j0myn7kp2mv")))) + "0104z7jjv46kqh77rnx8kvmsbr5dy0s56xm01dckq4ly65br0hkx")))) (build-system perl-build-system) (native-inputs `(("perl-module-build" ,perl-module-build) diff --git a/gnu/packages/piet.scm b/gnu/packages/piet.scm index 5282290456..a09c05d990 100644 --- a/gnu/packages/piet.scm +++ b/gnu/packages/piet.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Jesse Gibbons <jgibbons2357+guix@gmail.com> +;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,11 +20,14 @@ (define-module (gnu packages piet) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (gnu packages gd) #:use-module (gnu packages groff) #:use-module (gnu packages image) + #:use-module (gnu packages netpbm) + #:use-module (gnu packages perl) #:use-module (gnu packages tcl)) (define-public npiet @@ -55,16 +59,119 @@ (native-inputs `(("groff" ,groff))) (synopsis "Piet interpreter") (description - "Npiet is an interpreter for the piet programming language. Instead of -text, piet programs are pictures. Commands are determined based on changes in + "Npiet is an interpreter for the Piet programming language. Instead of +text, Piet programs are pictures. Commands are determined based on changes in color. This package includes: @enumerate -@item npiet, a piet interpreter with debugging capabilities -@item npiet-foogol, a program that builds a piet program from foogol, an -algol-like language -@item npietedit, an editor for the piet programming language -@end enumerate") +@item @command{npiet}, a Piet interpreter with debugging capabilities +@item @command{npiet-foogol}, a program that builds a Piet program from Foogol, +an Algol-like language +@item @command{npietedit}, an editor for Piet programs. +@end enumerate\n") (home-page "https://www.bertnase.de/npiet/") (license license:gpl2+))) + +(define-public piet-toolchain + (let ((commit "f002ff6a924a6bbace5eef94f3be06f425e7f590") + (revision "0")) + (package + (name "piet-toolchain") + (version (git-version "0.0.0" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/sl236/Piet") + (commit commit))) + (file-name (git-file-name name version)) + (sha256 + (base32 "0xwbhwizfbn080fmrgavaz3b939brycmlar3m5px9avl2b68c816")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove a bundled fork of Marc Majcher's Piet interpreter. + (delete-file-recursively "interpreter") + #t)))) + (build-system gnu-build-system) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:phases + (modify-phases %standard-phases + (delete 'configure) ; no configure script + (delete 'build) ; nothing to build + (delete 'check) ; run our own tests below + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc/" + ,name "-" ,version))) + (for-each (lambda (script) + (install-file script bin) + (wrap-program (string-append bin "/" script) + `("PERL5LIB" ":" = (,(getenv "PERL5LIB"))))) + (list "piet-assembler" + "piet-compiler")) + + ;; Fix an odd mode. + (chmod "compiler-samples/test-binary-ops.script" #o644) + (for-each (lambda (file) ; INSTALL-FILE is not recursive + (copy-recursively file + (string-append doc "/" file))) + (list "assembler-samples" + "compiler-samples" + "README.md")) ; includes the licence grant + #t))) + (add-after 'install 'check + (lambda* (#:key outputs tests? #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (when tests? + (unsetenv "PERL5LIB") ; test the wrapping + ;; Compile all scripts assemble all Piets. + (for-each (lambda (file) + (system (string-append bin "/piet-compiler " + file ">" + file ".piet"))) + (find-files "." "\\.script$")) + (for-each (lambda (file) + (system (string-append bin "/piet-assembler " + file "|pnmtopng>" + file ".png"))) + (find-files "." "\\.piet$")) + + ;; Don't run the interactive one. + (delete-file "assembler-samples/quest.piet.png") + (for-each (cut invoke "npiet" <>) + (find-files "." "\\.png$")) + #t))))))) + (native-inputs + ;; For our tests. + `(("netpbm" ,netpbm) + ("npiet" ,npiet))) + (inputs + `(("perl" ,perl) + ("perl-parse-recdescent" ,perl-parse-recdescent))) + (home-page "https://www.toothycat.net/wiki/wiki.pl?MoonShadow/Piet") + (synopsis "Piet compiler and assembler") + (description + "This package provides a compiler and assembler that target the Piet +graphical programming language. + +@command{piet-assembler} converts Piet assembler instructions (e.g., +@code{push}, @code{add}, @code{switch}, @code{outn}) and directives into an +executable @code{netpbm} image of the corresponding Piet program. + +@command{piet-compiler} compiles a C-like high-level language into assembly +source understood by @command{piet-assembler}. It supports common arithmetic +and boolean logic operators (though not bitwise manipulation), flow control +(@code{if}, @code{for}, @code{while}), recursive functions, in-line assembler, +and input/output intrinsics. The only supported data type is the integer. + +The language is documented only by the compiler's Perl source code and the +included samples.") + (license license:cc-by-sa4.0)))) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index b247cf21e1..05223ae2e6 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -40,7 +40,6 @@ #:use-module (gnu packages gperf) #:use-module (gnu packages groff) #:use-module (gnu packages gv) - #:use-module (gnu packages imagemagick) #:use-module (gnu packages lua) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) @@ -72,8 +71,7 @@ (build-system gnu-build-system) (inputs `(("psutils" ,psutils) - ("gv" ,gv) - ("imagemagick" ,imagemagick))) + ("gv" ,gv))) (native-inputs `(("gperf" ,gperf) ("groff" ,groff) diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm index 24fe2906f9..dcd4bb90d8 100644 --- a/gnu/packages/python-check.scm +++ b/gnu/packages/python-check.scm @@ -436,6 +436,40 @@ in Pytest.") of the project to ensure it renders properly.") (license license:expat))) +(define-public python-re-assert + (package + (name "python-re-assert") + (version "1.1.0") + (source + (origin + ;; There are no tests in the PyPI tarball. + (method git-fetch) + (uri (git-reference + (url "https://github.com/asottile/re-assert") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 "1rssq4wpqmx1c17hjfx5l3sn3zmnlz9jffddiqrs4f6h7m6cadai")))) + (build-system python-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'check + (lambda _ + (invoke "pytest" "-vv")))))) + (native-inputs + `(("python-covdefaults" ,python-covdefaults) + ("python-coverage" ,python-coverage) + ("python-pytest" ,python-pytest))) + (propagated-inputs + `(("python-regex" ,python-regex))) + (home-page "https://github.com/asottile/re-assert") + (synopsis "Show where your regex match assertion failed") + (description + "@code{re-assert} provides a helper class to make assertions of regexes +simpler.") + (license license:expat))) + (define-public python-pytest-trio (package (name "python-pytest-trio") diff --git a/gnu/packages/python-crypto.scm b/gnu/packages/python-crypto.scm index b294613a5b..1ac98caab0 100644 --- a/gnu/packages/python-crypto.scm +++ b/gnu/packages/python-crypto.scm @@ -1184,13 +1184,13 @@ been constructed to maintain extensive documentation on how to use (define-public python-pyotp (package (name "python-pyotp") - (version "2.4.0") + (version "2.4.1") (source (origin (method url-fetch) (uri (pypi-uri "pyotp" version)) (sha256 - (base32 "0a1dx07y785xyl70h0vj6vssg13qfx11w04d0gz8h48qffsymv01")))) + (base32 "0jsqfmx9i7j8z81r4zazv76xzy1fcq8v9s2r4kvx7ajfndq3z2h3")))) (build-system python-build-system) (home-page "https://github.com/pyauth/pyotp") (synopsis "Python One Time Password Library") diff --git a/gnu/packages/python-web.scm b/gnu/packages/python-web.scm index cf71a64e7c..e9dde499d5 100644 --- a/gnu/packages/python-web.scm +++ b/gnu/packages/python-web.scm @@ -453,6 +453,8 @@ other HTTP libraries.") syntax highlighting, wget-like downloads, plugins, and more. It consists of a single http command designed for painless debugging and interaction with HTTP servers, RESTful APIs, and web services.") + ;; This was fixed in 1.0.3. + (properties `((lint-hidden-cve . ("CVE-2019-10751")))) (license license:bsd-3))) (define-public python-html2text diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm index ee1f9acda0..e5b8db02e0 100644 --- a/gnu/packages/python-xyz.scm +++ b/gnu/packages/python-xyz.scm @@ -138,7 +138,6 @@ #:use-module (gnu packages haskell-xyz) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) - #:use-module (gnu packages imagemagick) #:use-module (gnu packages kerberos) #:use-module (gnu packages libevent) #:use-module (gnu packages libffi) @@ -3457,8 +3456,11 @@ structure for Python.") (synopsis "Python Documentation Utilities") (description "Docutils is a modular system for processing documentation into useful -formats, such as HTML, XML, and LaTeX. For input Docutils supports -reStructuredText.") +formats, such as HTML, XML, and LaTeX. It uses @dfn{reStructuredText}, an +easy to use markup language, for input. + +This package provides tools for converting @file{.rst} files to other formats +via commands such as @command{rst2man}, as well as supporting Python code.") ;; Most of the source code is public domain, but some source files are ;; licensed under the PFSL, BSD 2-clause, and GPLv3+ licenses. (license (list license:public-domain license:psfl license:bsd-2 license:gpl3+)))) @@ -4986,7 +4988,6 @@ convert between colorspaces like sRGB, XYZ, CIEL*a*b*, CIECAM02, CAM02-UCS, etc. ("python-cairocffi" ,python-cairocffi))) (inputs `(("libpng" ,libpng) - ("imagemagick" ,imagemagick) ("freetype" ,freetype) ("cairo" ,cairo) ("glib" ,glib) @@ -10889,14 +10890,13 @@ for the module to work under Python 3.3.") (define-public python-colorama (package (name "python-colorama") - (version "0.4.3") + (version "0.4.4") (source (origin (method url-fetch) (uri (pypi-uri "colorama" version)) (sha256 - (base32 - "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9")))) + (base32 "16w62sm95hmh55rqxn4zwdz0bkh3fqm1qnz9cwi3s510iasb4har")))) (build-system python-build-system) (synopsis "Colored terminal text rendering for Python") (description "Colorama is a Python library for rendering colored terminal @@ -21437,13 +21437,13 @@ information for your operating system.") (define-public python-canonicaljson (package (name "python-canonicaljson") - (version "1.1.4") + (version "1.4.0") (source (origin (method url-fetch) (uri (pypi-uri "canonicaljson" version)) (sha256 - (base32 "09cpacc8yvcc74i63pdmlfaahh77dnvbyw9zf29wml2zzwqfbg25")))) + (base32 "0c86g0vvzdcg3nrcsqnbzlfhpprc2i894p8i14hska56yl27d6w9")))) (build-system python-build-system) (propagated-inputs `(("python-six" ,python-six) @@ -21865,13 +21865,13 @@ dictionaries.") (define-public pyzo (package (name "pyzo") - (version "4.10.2") + (version "4.11.0") (source (origin (method url-fetch) (uri (pypi-uri "pyzo" version)) (sha256 - (base32 "1zplxcb78qy8qibifmnsx5i9gnlfmw9n6nr4yflsabpxw57mx4m1")))) + (base32 "0vzsk6rchavlvy7ciq1z9qh3qrj9q213v2nn491fgjq3g19glj53")))) (build-system python-build-system) (arguments `(#:phases @@ -21881,8 +21881,8 @@ dictionaries.") ;; Tests fail with "Permission denied: '/homeless-shelter'". (setenv "HOME" "/tmp") #t))) - ;; Tests fail with "Uncaught Python exception: invalid literal for - ;; int() with base 10: 'test'". + ;; Tests fail with "Uncaught Python exception: python: undefined + ;; symbol: objc_getClass". #:tests? #f)) (propagated-inputs `(("python-pyqt" ,python-pyqt))) diff --git a/gnu/packages/radio.scm b/gnu/packages/radio.scm index 95924743f8..bdd7e8a4a2 100644 --- a/gnu/packages/radio.scm +++ b/gnu/packages/radio.scm @@ -538,7 +538,7 @@ to the fix block above. (define-public gqrx (package (name "gqrx") - (version "2.12.1") + (version "2.13.5") (source (origin (method git-fetch) @@ -547,7 +547,7 @@ to the fix block above. (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "00alf3q6y313xpx6p7v43vqsphd2x4am4q362lw21bcy9wc4jidw")))) + (base32 "168wjad5g0ka555hwsciwbj7fqx1c89q59hq1yxj8aiyp5kfcahx")))) (build-system qt-build-system) (native-inputs `(("pkg-config" ,pkg-config))) @@ -567,7 +567,7 @@ to the fix block above. ("qtsvg" ,qtsvg) ("volk" ,volk))) (arguments - `(#:tests? #f)) ; No tests + `(#:tests? #f)) ; no tests (synopsis "Software defined radio receiver") (description "Gqrx is a software defined radio (SDR) receiver implemented using GNU Radio and the Qt GUI toolkit.") @@ -613,14 +613,14 @@ hardware.") (define-public flrig (package (name "flrig") - (version "1.3.51") + (version "1.3.52") (source (origin (method url-fetch) (uri (string-append "http://www.w1hkj.com/files/flrig/flrig-" version ".tar.gz")) (sha256 - (base32 "0aq4x0ai9q08ypfhzfj2inc4z3q39zq1l6h9as1kil9yn4zbay61")))) + (base32 "18c154080vl25cy4l5amh96abm6kzm7mzld9h58pabc28yqq8zl8")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index 73bf85241c..b34a33a528 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -1582,7 +1582,7 @@ to save time in the following ways: (define-public ruby-chunky-png (package (name "ruby-chunky-png") - (version "1.3.12") + (version "1.3.14") (source (origin (method git-fetch) @@ -1591,8 +1591,7 @@ to save time in the following ways: (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 - "0hn8ap7iib47qkqdp0awmxgma11z0lmk1ca3lp7c97ykhv7ij1zs")))) + (base32 "1m7y11ix38h5a2pj5v81qdmvqh980ql9hp62hk2dxwkwsa4nh22h")))) (build-system ruby-build-system) (arguments `(#:test-target "spec" @@ -1639,7 +1638,12 @@ pixel, depending on the hardware). Performance: ChunkyPNG is reasonably fast for Ruby standards, by only using integer math and a highly optimized saving routine. @item Interoperability with RMagick. -@end itemize") +@end itemize + +ChunkyPNG is vulnerable to decompression bombs and can run out of memory when +loading a specifically crafted PNG file. This is hard to fix in pure Ruby. +Deal with untrusted images in a separate process, e.g., by using @code{fork} +or a background processing library.") (home-page "https://github.com/wvanbergen/chunky_png/wiki") (license license:expat))) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index a6610bbf91..55981da463 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -178,14 +178,14 @@ external dependencies.") (define-public samba (package (name "samba") - (version "4.13.1") + (version "4.13.2") (source (origin (method url-fetch) (uri (string-append "https://download.samba.org/pub/samba/stable/" "samba-" version ".tar.gz")) (sha256 - (base32 "0pr805jmdl8gkm6g7gd78jrkmfwgybkvn2c949h51gcsbqxj2n14")) + (base32 "1d7j79c8aggwiv90y2q1yz63d9p5n4paq0fsbdvqpn05d8wn8r17")) (patches (search-patches "samba-fix-fcntl-hint-detection.patch")) (modules '((guix build utils))) (snippet diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 1327d8b539..38e4079a09 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -398,7 +398,7 @@ implementation techniques and as an expository tool.") (define-public racket (package (name "racket") - (version "7.8") ;; Note: Remember to also update racket-minimal! + (version "7.9") ; note: remember to also update racket-minimal! (source (origin (method url-fetch) (uri (list (string-append "http://mirror.racket-lang.org/installers/" @@ -408,7 +408,7 @@ implementation techniques and as an expository tool.") version "/racket-" version "-src.tgz"))) (sha256 (base32 - "19z3dayybcra277s4gk2mppalwawd93f2b16xyrb6d7rbbfz7j9j")) + "18pz6gjzqy6a62xkcmjanhr7kgxpvpmc0blrk4igz8ldcybz44if")) (patches (search-patches "racket-store-checksum-override.patch")))) (build-system gnu-build-system) @@ -540,7 +540,7 @@ of libraries.") version "/racket-minimal-" version "-src.tgz"))) (sha256 (base32 - "0bbglf9vfacpm2hn3lskhvc8cpg6z088fbnzpqsn17z8qdk8yvb3")) + "0xvnd7afx058sg7j51bmbikqgn4sl0246nkhr8zlqcrbr3nqi6p4")) (patches (search-patches "racket-store-checksum-override.patch")))) (synopsis "Racket without bundled packages such as Dr. Racket") diff --git a/gnu/packages/sdcc.scm b/gnu/packages/sdcc.scm index 6d05470101..aad2cf9e62 100644 --- a/gnu/packages/sdcc.scm +++ b/gnu/packages/sdcc.scm @@ -18,6 +18,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu packages sdcc) + #:use-module (gnu packages) #:use-module (gnu packages bison) #:use-module (gnu packages boost) #:use-module (gnu packages flex) @@ -39,7 +40,14 @@ "/" version "/sdcc-src-" version ".tar.bz2")) (sha256 (base32 - "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5")))) + "13llvx0j3v5qa7qd4fh7nix4j3alpd3ccprxvx163c4q8q4lfkc5")) + (modules '((guix build utils))) + (snippet + '(begin + ;; Remove non-free source files + (delete-file-recursively "device/non-free") + #t)) + (patches (search-patches "sdcc-disable-non-free-code.patch")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/security-token.scm b/gnu/packages/security-token.scm index cf6bf18373..45610c4801 100644 --- a/gnu/packages/security-token.scm +++ b/gnu/packages/security-token.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2017, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018, 2019 Chris Marusich <cmmarusich@gmail.com> ;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net> +;;; Copyright © 2020 Raphaël Mélotte <raphael.melotte@mind.be> ;;; ;;; This file is part of GNU Guix. ;;; @@ -43,6 +44,7 @@ #:use-module (gnu packages dns) #:use-module (gnu packages gettext) #:use-module (gnu packages graphviz) + #:use-module (gnu packages gnupg) #:use-module (gnu packages gtk) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) @@ -102,7 +104,7 @@ readers and is needed to communicate with such devices through the (define-public eid-mw (package (name "eid-mw") - (version "4.4.27") + (version "5.0.8") (source (origin (method git-fetch) @@ -111,13 +113,15 @@ readers and is needed to communicate with such devices through the (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "17lw8iwp7h5cs3db80sysr84ffi333cf2vrhncs9l6hy6glfl2v1")))) + (base32 "1ckini00iz9w96n9hpkx6w2ivpfkd4yyxyhnmsl9n0k8x4j6jg5a")))) (build-system glib-or-gtk-build-system) (native-inputs `(("autoconf" ,autoconf) + ("autoconf-archive" ,autoconf-archive) ("automake" ,automake) ("gettext" ,gettext-minimal) ("libtool" ,libtool) + ("libassuan" ,libassuan) ("pkg-config" ,pkg-config) ("perl" ,perl))) (inputs @@ -132,14 +136,29 @@ readers and is needed to communicate with such devices through the (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda _ ;; configure.ac relies on ‘git --describe’ to get the version. ;; Patch it to just return the real version number directly. (substitute* "scripts/build-aux/genver.sh" (("/bin/sh") (which "sh")) (("^(GITDESC=).*" _ match) (string-append match ,version "\n"))) - (invoke "sh" "./bootstrap.sh")))))) + (invoke "sh" "./bootstrap.sh"))) + (add-after 'unpack 'make-reproducible + (lambda _ + (substitute* "scripts/mac/create-vers.sh" + (("NOW=.*") + "NOW=1970-01-01\n")) + #t)) + ;; Remove failing test that was removed upstream after version 5.0.8. + ;; See: https://github.com/Fedict/eid-mw/commit/3d1187b1b61118b9ae97607903d3d2fc0bad7518 + (add-before 'check 'remove-failing-test + (lambda _ + (substitute* "tests/unit/Makefile.am" + (("sign_state ordering cardcom_common") + "sign_state ordering #cardcom_common")) + #t)) + ))) (synopsis "Belgian eID Middleware") (description "The Belgian eID Middleware is required to authenticate with online services using the Belgian electronic identity card.") diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm index cd10dd3872..a5f934854b 100644 --- a/gnu/packages/shells.scm +++ b/gnu/packages/shells.scm @@ -814,14 +814,14 @@ Shell (pdksh).") (define-public oil (package (name "oil") - (version "0.8.3") + (version "0.8.4") (source (origin (method url-fetch) (uri (string-append "https://www.oilshell.org/download/oil-" version ".tar.gz")) (sha256 - (base32 "14j0qjh92b16xxaj0f0k71y8wkbz6nmgx0yin2q7xrzqk8hzqgj6")))) + (base32 "1gcpf5l6bdjw150ds3j2iws739khxylmz67fx7k1rjfpfij2004l")))) (build-system gnu-build-system) (arguments `(#:strip-binaries? #f ; strip breaks the binary diff --git a/gnu/packages/storage.scm b/gnu/packages/storage.scm index 9b41bb240b..e1549c1728 100644 --- a/gnu/packages/storage.scm +++ b/gnu/packages/storage.scm @@ -55,14 +55,14 @@ (define-public ceph (package (name "ceph") - (version "14.2.11") + (version "14.2.13") (source (origin (method url-fetch) (uri (string-append "https://download.ceph.com/tarballs/ceph-" version ".tar.gz")) (sha256 (base32 - "02mbinm8rk16cwm0x4winmd4488xznkzkyzycxkwlib26yd2xsnz")) + "0gaxjs909wf00nvh4z53cin89dw67v1q47b2jvi3iibynhkahkg1")) (patches (search-patches "ceph-disable-cpu-optimizations.patch")) (modules '((guix build utils))) diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm index d6b43d8d8f..c4420978b8 100644 --- a/gnu/packages/tls.scm +++ b/gnu/packages/tls.scm @@ -334,25 +334,27 @@ required structures.") #:disallowed-references ,(list (canonical-package perl)) #:phases (modify-phases %standard-phases - ,@(if (%current-target-system) - '((add-before - 'configure 'set-cross-compile - (lambda* (#:key target outputs #:allow-other-keys) - (setenv "CROSS_COMPILE" (string-append target "-")) - (setenv "CONFIGURE_TARGET_ARCH" - (cond - ((string-prefix? "i586" target) - "hurd-x86") - ((string-prefix? "i686" target) - "linux-x86") - ((string-prefix? "x86_64" target) - "linux-x86_64") - ((string-prefix? "arm" target) - "linux-armv4") - ((string-prefix? "aarch64" target) - "linux-aarch64"))) - #t))) - '()) + ,@(if (%current-target-system) + '((add-before + 'configure 'set-cross-compile + (lambda* (#:key target outputs #:allow-other-keys) + (setenv "CROSS_COMPILE" (string-append target "-")) + (setenv "CONFIGURE_TARGET_ARCH" + (cond + ((string-prefix? "i586" target) + "hurd-x86") + ((string-prefix? "i686" target) + "linux-x86") + ((string-prefix? "x86_64" target) + "linux-x86_64") + ((string-prefix? "mips64el" target) + "linux-mips64") + ((string-prefix? "arm" target) + "linux-armv4") + ((string-prefix? "aarch64" target) + "linux-aarch64"))) + #t))) + '()) (replace 'configure (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) @@ -363,8 +365,8 @@ required structures.") (string-append (assoc-ref %build-inputs "coreutils") "/bin/env"))) (invoke ,@(if (%current-target-system) - '("./Configure") - '("./config")) + '("./Configure") + '("./config")) "shared" ;build shared libraries "--libdir=lib" @@ -376,9 +378,9 @@ required structures.") (string-append "--prefix=" out) (string-append "-Wl,-rpath," lib) - ,@(if (%current-target-system) - '((getenv "CONFIGURE_TARGET_ARCH")) - '()))))) + ,@(if (%current-target-system) + '((getenv "CONFIGURE_TARGET_ARCH")) + '()))))) (add-after 'install 'move-static-libraries (lambda* (#:key outputs #:allow-other-keys) ;; Move static libraries to the "static" output. diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm index de55c0b188..95a31f80fd 100644 --- a/gnu/packages/tmux.scm +++ b/gnu/packages/tmux.scm @@ -145,7 +145,7 @@ windows.") (define-public python-libtmux (package (name "python-libtmux") - (version "0.8.3") + (version "0.8.5") (source (origin (method git-fetch) @@ -155,7 +155,7 @@ windows.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "18dqqd3jmgq3jb1l3xpgywlh4x82mzjxch61gwnlhfaqx5mzvjph")))) + (base32 "1vrd99kl2gsk49mvbp6k7l1k7r96vf1fczsqclb62yd4hdpp7zaa")))) (build-system python-build-system) (propagated-inputs `(("procps" ,procps))) ;tests need top @@ -171,6 +171,8 @@ windows.") (setenv "PYTHONPATH" (string-append (getcwd) "/build/lib:" (getenv "PYTHONPATH"))) + ;; Fix <https://github.com/tmux-python/libtmux/issues/265>. + (setenv "LANG" "en_US.utf8") ;; Skip tests that I suspect fail because of a change ;; in behavior in tmux 3 from tmux 2 ;; https://github.com/tmux-python/libtmux/issues/281 diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 9060bdc06a..16c70bd1a7 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -93,6 +93,7 @@ #:use-module (gnu packages perl-check) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-web) #:use-module (gnu packages python-xyz) #:use-module (gnu packages readline) @@ -1441,7 +1442,7 @@ control to Git repositories.") (define-public pre-commit (package (name "pre-commit") - (version "2.7.1") + (version "2.8.1") (source (origin ;; No tests in the PyPI tarball. @@ -1451,7 +1452,7 @@ control to Git repositories.") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 - (base32 "0n7qby5a4yz3s02nqcp5js6jg9wrd0x7msblxwb1883ds4b2b71a")))) + (base32 "0b3ks6viccq3n4p8i8zgfd40vp1k5nkhmmlz7p4nxcdizw8zxgn8")))) (build-system python-build-system) (arguments `(#:phases @@ -1492,6 +1493,12 @@ control to Git repositories.") " and not test_additional_rust_lib_dependencies_installed" " and not test_local_rust_additional_dependencies" " and not test_rust_hook" + ;; Disable dotnet tests. + " and not test_dotnet_hook" + ;; Disable nodejs tests. + " and not test_unhealthy_if_system_node_goes_missing" + " and not test_installs_without_links_outside_env" + " and not test_healthy_system_node" ;; Disable python2 test. " and not test_switch_language_versions_doesnt_clobber" ;; These tests try to open a network socket. @@ -1534,8 +1541,10 @@ control to Git repositories.") #t)))))) (native-inputs `(("git" ,git-minimal) - ("python-pytest" ,python-pytest))) - (inputs + ("python-pytest" ,python-pytest) + ("python-re-assert" ,python-re-assert))) + ;; Propagate because pre-commit is also used as a module. + (propagated-inputs `(("python-cfgv" ,python-cfgv) ("python-identify" ,python-identify) ("python-nodeenv" ,python-nodeenv) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 472a5eb38c..76ea742a11 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -45,6 +45,7 @@ ;;; Copyright © 2020 Vinicius Monego <monego@posteo.net> ;;; Copyright © 2020 Brett Gilio <brettg@gnu.org> ;;; Copyright © 2020 Alexandru-Sergiu Marton <brown121407@posteo.ro> +;;; Copyright © 2020 Ivan Kozlov <kanichos@yandex.ru> ;;; ;;; This file is part of GNU Guix. ;;; @@ -1227,6 +1228,8 @@ ASS/SSA (Advanced Substation Alpha/SubStation Alpha) subtitle format.") (base32 "1x3j6yfyxl52adgnabycr0n38j9hx2j74la0hz0n8cnh9ry4d2qj")))) (build-system gnu-build-system) + (arguments + '(#:configure-flags '("--disable-static"))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs `(("freeglut" ,freeglut) @@ -2344,7 +2347,7 @@ other site that youtube-dl supports.") (define-public you-get (package (name "you-get") - (version "0.4.1456") + (version "0.4.1475") (source (origin (method git-fetch) (uri (git-reference @@ -2353,7 +2356,7 @@ other site that youtube-dl supports.") (file-name (git-file-name name version)) (sha256 (base32 - "0n6h5qkhjwsxy8rf6n4i8hd8dah38hbvchh9272c53gydgp9lp29")))) + "1hsa99fgx1zhzkf3n0hlbinckvipd54vhs6y4jkq0rd9r6yc1h7f")))) (build-system python-build-system) (inputs `(("ffmpeg" ,ffmpeg))) ; for multi-part and >=1080p videos @@ -2478,7 +2481,8 @@ Both command-line and GTK2 interface are available.") "1zxfnw1xbghcj7b3zz5djndv6gwssxda19cz1lrlqrkg8577r7kd")))) (build-system gnu-build-system) (arguments - `(#:configure-flags '("--disable-bdjava-jar") + `(#:configure-flags '("--disable-bdjava-jar" + "--disable-static") #:phases (modify-phases %standard-phases (add-after 'unpack 'refer-to-libxml2-in-.pc-file @@ -2987,11 +2991,40 @@ tools, XML authoring components, and an extensible plug-in based API.") (base32 "1bkqlrizx0j2rd6ybam2x17bjrpwzl4v4szmnzm3cmixis3w3npr")))) (build-system gnu-build-system) + ;; Separate graphical tools in order to save almost 1 GiB on the closure + ;; for the common case. + (outputs '("out" "gui")) (arguments '(#:configure-flags - (list (string-append "--with-udevdir=" + (list "--disable-static" + (string-append "--with-udevdir=" (assoc-ref %outputs "out") - "/lib/udev")))) + "/lib/udev")) + #:phases + (modify-phases %standard-phases + (add-after 'install 'split + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gui (assoc-ref outputs "gui"))) + (mkdir-p (string-append gui "/bin")) + (mkdir-p (string-append gui "/share/man/man1")) + (mkdir-p (string-append gui "/share/applications")) + (for-each + (lambda (prog) + (for-each + (lambda (file) + (rename-file (string-append out file) + (string-append gui file))) + (list + (string-append "/bin/" prog) + (string-append "/share/man/man1/" prog ".1") + (string-append "/share/applications/" prog ".desktop")))) + '("qv4l2" "qvidcap")) + (copy-recursively (string-append out "/share/icons") + (string-append gui "/share/icons")) + (delete-file-recursively (string-append out "/share/icons")) + (rmdir (string-append out "/share/applications")) + #t)))))) (native-inputs `(("perl" ,perl) ("pkg-config" ,pkg-config))) diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm index c574b26f4e..8f9aca8f58 100644 --- a/gnu/packages/vim.scm +++ b/gnu/packages/vim.scm @@ -70,7 +70,7 @@ (define-public vim (package (name "vim") - (version "8.2.1947") + (version "8.2.1971") (source (origin (method git-fetch) (uri (git-reference @@ -79,7 +79,7 @@ (file-name (git-file-name name version)) (sha256 (base32 - "1cl83phzsy1mqsgbqyds10644jcfkwk2pn6vx6s6l7vw52hh5nkc")))) + "00svmci7hqgpj41rpa2lxcp8qgd3p7rpy4bzan1a512b07k35rb7")))) (build-system gnu-build-system) (arguments `(#:test-target "test" diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm index e43f467eca..4319b00e00 100644 --- a/gnu/packages/vpn.scm +++ b/gnu/packages/vpn.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il> ;;; Copyright © 2016, 2017, 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu> -;;; Copyright © 2018 Pierre Langlois <pierre.langlois@gmx.com> +;;; Copyright © 2018, 2020 Pierre Langlois <pierre.langlois@gmx.com> ;;; Copyright © 2018 Meiyo Peng <meiyo.peng@gmail.com> ;;; Copyright © 2019, 2020 Leo Famulari <leo@famulari.name> ;;; Copyright © 2019 Rutger Helling <rhelling@mykolab.com> @@ -131,10 +131,10 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.") (home-page "https://www.unix-ag.uni-kl.de/~massar/vpnc/"))) (define-public vpnc-scripts - (let ((commit "1000e0f6dd7d6bff163169a46359211c1fc3a6d2")) + (let ((commit "3885f8bbc4ae03fd6da0ada6de12f7223a59595c")) (package (name "vpnc-scripts") - (version (string-append "20190116." (string-take commit 7))) + (version (string-append "20200925." (string-take commit 7))) (source (origin (method git-fetch) (uri @@ -144,7 +144,7 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.") (file-name (git-file-name name version)) (sha256 (base32 - "1g41yarz2bl0f73kbjqnywr485ghanbp7nmspklfb0n07yp0z6ak")))) + "1pmi4n58q81pmn9arvfixhvv6vkkf3rpwac3hwnwyl882q5q0ccx")))) (build-system gnu-build-system) (inputs `(("guile" ,guile-3.0) ; for the wrapper scripts ("coreutils" ,coreutils) diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm index eb49a8fdea..5cb5185a31 100644 --- a/gnu/packages/web-browsers.scm +++ b/gnu/packages/web-browsers.scm @@ -461,7 +461,7 @@ driven and does not detract you from your daily work.") (name "nyxt") ;; Package the pre-release because latest stable 1.5.0 does not build ;; anymore. - (version "2-pre-release-3") + (version "2-pre-release-4") (source (origin (method git-fetch) @@ -472,7 +472,7 @@ driven and does not detract you from your daily work.") (commit version))) (sha256 (base32 - "16crhc89hpvzkms5fypq9vdrf7glidqwh7yvy5cdmjdq4v7fkmy4")) + "00865plmvgl1nj009a4w9bcb5mf0zgqjx7w6slacyqgidjzad6qm")) (file-name (git-file-name "nyxt" version)))) (build-system gnu-build-system) (arguments @@ -482,28 +482,20 @@ driven and does not detract you from your daily work.") #:strip-binaries? #f ; Stripping breaks SBCL binaries. #:phases (modify-phases %standard-phases - ;; Version is guessed from .git which Guix does not have. - (add-after 'unpack 'patch-version - (lambda* (#:key inputs #:allow-other-keys) - (let ((version (format #f "~a" ,version)) - (file "source/global.lisp")) - (chmod file #o666) - (let ((port (open-file file "a"))) - (format port "(setf +version+ ~s)" version) - (close-port port))) - #t)) - (add-before 'build 'make-desktop-version-number - (lambda _ - (with-output-to-file "version" - (lambda _ - (format #t "~a" ,version) - #t)))) - (delete 'configure) (add-before 'build 'fix-common-lisp-cache-folder (lambda _ (setenv "HOME" "/tmp") #t)) + (add-before 'build 'set-version + (lambda _ + (setenv "NYXT_VERSION" ,version) + #t)) + (add-before 'check 'configure-tests + (lambda _ + (setenv "NYXT_TESTS_NO_NETWORK" "1") + (setenv "NYXT_TESTS_ERROR_ON_FAIL" "1") + #t)) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((bin (string-append (assoc-ref outputs "out") "/bin/nyxt")) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 93399b3459..071f98adc5 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1424,7 +1424,7 @@ used to validate and fix HTML data.") (define-public esbuild (package (name "esbuild") - (version "0.8.0") + (version "0.8.4") (source (origin (method git-fetch) @@ -1434,7 +1434,7 @@ used to validate and fix HTML data.") (file-name (git-file-name name version)) (sha256 (base32 - "17qzmadjixjivwbxbj20683j3n6igk7bx7v4k5bs2rqfvigdx2ps")) + "0aaqyfnl4dncrpw8n2sqkkavx7ki7i2r9pdi82pp9syql3b5495y")) (modules '((guix build utils))) (snippet '(begin @@ -5630,14 +5630,14 @@ on the fly.") (define-public hitch (package (name "hitch") - (version "1.6.0") + (version "1.7.0") (home-page "https://hitch-tls.org/") (source (origin (method url-fetch) (uri (string-append home-page "source/hitch-" version ".tar.gz")) (sha256 (base32 - "01n70yf8hx42jb801jv5q1xhrpqxyjnqhd98hjf81lvxpd5fnisf")))) + "1i75giwyr66ip8xsvk3gg5xdbxnmcabgxz8dqi06c58mw7qzhzn9")))) (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases @@ -5770,13 +5770,13 @@ deployments.") (package (name "varnish") (home-page "https://varnish-cache.org/") - (version "6.4.0") + (version "6.5.1") (source (origin (method url-fetch) (uri (string-append home-page "_downloads/varnish-" version ".tgz")) (sha256 (base32 - "1hkn98vbxk7rc1sd08367qn6rcv8wkxgwbmm1x46y50vi0nvldpn")))) + "1dfdswri6lkfk6kml3szvffm91y49pajgqy1k5y26llqixl4r5hi")))) (build-system gnu-build-system) (arguments `(#:configure-flags (list (string-append "LDFLAGS=-Wl,-rpath=" %output "/lib") @@ -5844,18 +5844,25 @@ configuration language.") (package (name "varnish-modules") (home-page "https://github.com/varnish/varnish-modules") - (version "0.16.0") + (version "0.17.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/varnish/varnish-modules" - "/releases/download/varnish-modules-" version - "/varnish-modules-" version ".tar.gz")) + (method git-fetch) + (uri (git-reference (url home-page) (commit version))) + (file-name (git-file-name name version)) (sha256 (base32 - "1ph5bplsip4rycql1c2hgbvmrwbgcrgv2ldgfp7saxxbsv5cpcds")))) + "0zg8y2sgkygdani70zp9rbx278431fmssj26d47c5qsiw939i519")))) (build-system gnu-build-system) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + + ;; For bootstrapping. + ("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + + ;; For generating manuals. + ("rst2man" ,python-docutils))) (inputs `(("python" ,python) ("varnish" ,varnish))) diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 3bb7f7e8e8..361cecf26f 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -611,7 +611,7 @@ Features include: "/bin/gawk"))) (substitute* "lock" - (("$(which wmctrl)") wmctrl) + (("\\$\\(command -V wmctrl\\)") wmctrl) (("convert") mconvert) (("shot=\\(import") (string-append "shot=\(" mimport)) (("awk -F") (string-append awk " -F")) @@ -630,7 +630,7 @@ Features include: (string-append bin "/i3lock-fancy")) (copy-recursively "icons" icons) #t)))))) - (native-inputs + (inputs `(("imagemagick" ,imagemagick) ("wmctrl" ,wmctrl) ("gawk" ,gawk))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index ccfab58777..ead74ebe1c 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -1089,7 +1089,7 @@ Escape key when Left Control is pressed and released on its own.") (define-public libwacom (package (name "libwacom") - (version "1.5") + (version "1.6") (source (origin (method url-fetch) (uri (string-append @@ -1097,7 +1097,7 @@ Escape key when Left Control is pressed and released on its own.") "libwacom-" version "/libwacom-" version ".tar.bz2")) (sha256 (base32 - "0yyl6vzpfd7dq8a8k9dn8r494542ci4r1i0pillg1p4f7jvryd3b")))) + "1a5ffxyhl6crspybcfsx5ribgrgkzwfl5w9y32slxbgjwczb473h")))) (build-system glib-or-gtk-build-system) (arguments `(#:configure-flags '("--disable-static"))) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index d8050fa90a..a21679a4d1 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -121,7 +121,7 @@ Xfce Desktop Environment.") (define-public xfconf (package (name "xfconf") - (version "4.14.3") + (version "4.14.4") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -129,7 +129,7 @@ Xfce Desktop Environment.") "xfconf-" version ".tar.bz2")) (sha256 (base32 - "00hcb96bw5ylfs9ppblchj8zv9026m3dlf7lnmgiq5f6xyh5542q")))) + "0wszp93z64112jq5wm4133s64in2ndvnzbgsbn8dh7p5xhp64dyc")))) (build-system gnu-build-system) (arguments '(#:phases @@ -755,7 +755,7 @@ on the screen.") (define-public xfdesktop (package (name "xfdesktop") - (version "4.14.2") + (version "4.14.3") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -763,7 +763,7 @@ on the screen.") "xfdesktop-" version ".tar.bz2")) (sha256 (base32 - "0x1yx9sd5aanrlr1qnbwd2nsmcg09g4132k0kyb7z47a3x3381d3")) + "14sp5a4n21prwmh2l5mjq5fjaq7r2pbjxddfx4wzaix8867x1mq6")) (modules '((guix build utils))) (snippet #~(begin @@ -898,7 +898,7 @@ system resources, while still being visually appealing and user friendly.") (define-public xfce4-power-manager (package (name "xfce4-power-manager") - (version "1.7.0") + (version "1.7.1") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/xfce/" @@ -906,7 +906,7 @@ system resources, while still being visually appealing and user friendly.") "xfce4-power-manager-" version ".tar.bz2")) (sha256 (base32 - "0jqjwy341dxyijjm9k77a12iih6b5r3f4cmpr2lppa7mf37qqdj5")))) + "1ki088iyr266cfyq9bmmhhd27wrsrmbhsblyf4yqby03hlvqif3k")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config) @@ -1176,7 +1176,7 @@ A plugin for the Xfce panel is also available.") (define-public xfce4-screensaver (package (name "xfce4-screensaver") - (version "0.1.10") + (version "0.1.11") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/apps/" @@ -1186,7 +1186,7 @@ A plugin for the Xfce panel is also available.") version ".tar.bz2")) (sha256 (base32 - "0mqxbyq9np6jzky8y35dlxxmk78q2w0jvwg9kh7a4ib7vmw1qvsq")))) + "0xxcvvcch8bqd35ksq8l88a46xnidp59iq4ssyygki0a2vd20h41")))) (build-system gnu-build-system) (arguments `(#:phases @@ -1986,7 +1986,7 @@ lan interface (signal state, signal quality, network name (SSID)).") (define-public xfce4-weather-plugin (package (name "xfce4-weather-plugin") - (version "0.10.1") + (version "0.10.2") (source (origin (method url-fetch) (uri (string-append "https://archive.xfce.org/src/panel-plugins/" @@ -1995,7 +1995,7 @@ lan interface (signal state, signal quality, network name (SSID)).") "/xfce4-weather-plugin-" version ".tar.bz2")) (sha256 (base32 - "12bs2rfmmy021087i10vxibdbbvd5vld0vk3h5hymhpz7rgszcmg")))) + "1ik2qvmwylsz5vyz4np2y0mmd37s89xkayxi97490c4mj85pj5wh")))) (build-system gnu-build-system) (native-inputs `(("intltool" ,intltool) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 97d42b2ae2..ef0ae25e13 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -1080,14 +1080,14 @@ XSL-T processor. It also performs any necessary post-processing.") (define-public xmlsec (package (name "xmlsec") - (version "1.2.30") + (version "1.2.31") (source (origin (method url-fetch) (uri (string-append "https://www.aleksey.com/xmlsec/download/" "xmlsec1-" version ".tar.gz")) (sha256 (base32 - "1j5bf7ni45jghyrbf7a14wx2pvfara557zyry7g7h8840c5kd11d")))) + "09hbbaz2d9hw645q27apkjs1mdr6vd85x5z3c9hzgr1iri9bq44v")))) (build-system gnu-build-system) (propagated-inputs ; according to xmlsec1.pc `(("libxml2" ,libxml2) diff --git a/gnu/packages/zile.scm b/gnu/packages/zile.scm index 2718232e27..6169815520 100644 --- a/gnu/packages/zile.scm +++ b/gnu/packages/zile.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2012, 2013, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il> -;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com> ;;; ;;; This file is part of GNU Guix. @@ -42,14 +42,14 @@ (define-public zile (package (name "zile") - (version "2.4.14") + (version "2.4.15") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/zile/zile-" version ".tar.gz")) (sha256 (base32 - "0x3byaddms8l3g7igx6njycqsq98wgapysdb5c7lhcnajlkp8y3s")))) + "0ph3wd0cz3ysdyka6ds2w5l5b89mb5l79kwkfyk7phvq9yih1hrr")))) (build-system gnu-build-system) (arguments `(#:phases diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 499e50bfd7..416bc02a96 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com> -;;; Copyright © 2015, 2016 Mark H Weaver <mhw@netris.org> +;;; Copyright © 2015, 2016, 2020 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Sou Bunnbu <iyzsong@gmail.com> ;;; Copyright © 2016, 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 David Craven <david@craven.ch> @@ -1024,20 +1024,22 @@ the tty to run, among other things." (define-record-type* <mingetty-configuration> mingetty-configuration make-mingetty-configuration mingetty-configuration? - (mingetty mingetty-configuration-mingetty ;<package> - (default mingetty)) - (tty mingetty-configuration-tty) ;string - (auto-login mingetty-auto-login ;string | #f - (default #f)) - (login-program mingetty-login-program ;gexp - (default #f)) - (login-pause? mingetty-login-pause? ;Boolean - (default #f))) + (mingetty mingetty-configuration-mingetty ;<package> + (default mingetty)) + (tty mingetty-configuration-tty) ;string + (auto-login mingetty-auto-login ;string | #f + (default #f)) + (login-program mingetty-login-program ;gexp + (default #f)) + (login-pause? mingetty-login-pause? ;Boolean + (default #f)) + (clear-on-logout? mingetty-clear-on-logout? ;Boolean + (default #t))) (define mingetty-shepherd-service (match-lambda (($ <mingetty-configuration> mingetty tty auto-login login-program - login-pause?) + login-pause? clear-on-logout?) (list (shepherd-service (documentation "Run mingetty on an tty.") @@ -1050,7 +1052,6 @@ the tty to run, among other things." (start #~(make-forkexec-constructor (list #$(file-append mingetty "/sbin/mingetty") - "--noclear" ;; Avoiding 'vhangup' allows us to avoid 'setfont' ;; errors down the path where various ioctls get @@ -1058,6 +1059,9 @@ the tty to run, among other things." ;; in Linux. "--nohangup" #$tty + #$@(if clear-on-logout? + #~() + #~("--noclear")) #$@(if auto-login #~("--autologin" #$auto-login) #~()) diff --git a/gnu/services/guix.scm b/gnu/services/guix.scm index b909c651cc..88d23f746a 100644 --- a/gnu/services/guix.scm +++ b/gnu/services/guix.scm @@ -354,16 +354,17 @@ #$@(if non-derivation-substitute-urls #~(#$(string-append "--non-derivation-substitute-urls=" - (string-join derivation-substitute-urls " "))) + (string-join non-derivation-substitute-urls " "))) #~()) #$@(map (lambda (system) (string-append "--system=" system)) (or systems '()))) #:user #$user - #:pid-file "/var/run/guix-build-coordinator-agent/pid" #:environment-variables `(,(string-append "GUIX_LOCPATH=" #$glibc-utf8-locales "/lib/locale") + ;; XDG_CACHE_HOME is used by Guix when caching narinfo files + "XDG_CACHE_HOME=/var/cache/guix-build-coordinator-agent" "LC_ALL=en_US.utf8") #:log-file "/var/log/guix-build-coordinator/agent.log")) (stop #~(make-kill-destructor)))))) @@ -376,9 +377,9 @@ (mkdir-p "/var/log/guix-build-coordinator") - ;; Allow writing the PID file - (mkdir-p "/var/run/guix-build-coordinator-agent") - (chown "/var/run/guix-build-coordinator-agent" + ;; Create a cache directory for storing narinfo files if downloaded + (mkdir-p "/var/cache/guix-build-coordinator-agent") + (chown "/var/cache/guix-build-coordinator-agent" (passwd:uid %user) (passwd:gid %user)))) diff --git a/gnu/services/networking.scm b/gnu/services/networking.scm index 64f54e787f..9ec0f6a9ca 100644 --- a/gnu/services/networking.scm +++ b/gnu/services/networking.scm @@ -61,7 +61,9 @@ #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-43) #:use-module (ice-9 match) + #:use-module (json) #:re-export (static-networking-service static-networking-service-type) #:export (%facebook-host-aliases @@ -180,7 +182,17 @@ pagekite-configuration-kitesecret pagekite-configuration-frontend pagekite-configuration-kites - pagekite-configuration-extra-file)) + pagekite-configuration-extra-file + + yggdrasil-service-type + yggdrasil-configuration + yggdrasil-configuration? + yggdrasil-configuration-autoconf? + yggdrasil-configuration-config-file + yggdrasil-configuration-log-level + yggdrasil-configuration-log-to + yggdrasil-configuration-json-config + yggdrasil-configuration-package)) ;;; Commentary: ;;; @@ -1750,4 +1762,107 @@ table inet filter { "Run @url{https://pagekite.net/,PageKite}, a tunneling solution to make local servers publicly accessible on the web, even behind NATs and firewalls."))) + +;;; +;;; Yggdrasil +;;; + +(define-record-type* <yggdrasil-configuration> + yggdrasil-configuration + make-yggdrasil-configuration + yggdrasil-configuration? + (package yggdrasil-configuration-package + (default yggdrasil)) + (json-config yggdrasil-configuration-json-config + (default '())) + (config-file yggdrasil-config-file + (default "/etc/yggdrasil-private.conf")) + (autoconf? yggdrasil-configuration-autoconf? + (default #f)) + (log-level yggdrasil-configuration-log-level + (default 'info)) + (log-to yggdrasil-configuration-log-to + (default 'stdout))) + +(define (yggdrasil-configuration-file config) + (define (scm->yggdrasil-json x) + (define key-value? + dotted-list?) + (define (param->camel str) + (string-concatenate + (map + string-capitalize + (string-split str (cut eqv? <> #\-))))) + (cond + ((key-value? x) + (let ((k (car x)) + (v (cdr x))) + (cons + (if (symbol? k) + (param->camel (symbol->string k)) + k) + v))) + ((list? x) (map scm->yggdrasil-json x)) + ((vector? x) (vector-map scm->yggdrasil-json x)) + (else x))) + (computed-file + "yggdrasil.conf" + #~(call-with-output-file #$output + (lambda (port) + ;; it's HJSON, so comments are a-okay + (display "# Generated by yggdrasil-service\n" port) + (display #$(scm->json-string + (scm->yggdrasil-json + (yggdrasil-configuration-json-config config))) + port))))) + +(define (yggdrasil-shepherd-service config) + "Return a <shepherd-service> for yggdrasil with CONFIG." + (define yggdrasil-command + #~(append + (list (string-append + #$(yggdrasil-configuration-package config) + "/bin/yggdrasil") + "-useconffile" + #$(yggdrasil-configuration-file config)) + (if #$(yggdrasil-configuration-autoconf? config) + '("-autoconf") + '()) + (let ((extraconf #$(yggdrasil-config-file config))) + (if extraconf + (list "-extraconffile" extraconf) + '())) + (list "-loglevel" + #$(symbol->string + (yggdrasil-configuration-log-level config)) + "-logto" + #$(symbol->string + (yggdrasil-configuration-log-to config))))) + (list (shepherd-service + (documentation "Connect to the Yggdrasil mesh network") + (provision '(yggdrasil)) + (requirement '(networking)) + (start #~(make-forkexec-constructor + #$yggdrasil-command + #:log-file "/var/log/yggdrasil.log" + #:group "yggdrasil")) + (stop #~(make-kill-destructor))))) + +(define %yggdrasil-accounts + (list (user-group (name "yggdrasil") (system? #t)))) + +(define yggdrasil-service-type + (service-type + (name 'yggdrasil) + (description + "Connect to the Yggdrasil mesh network. +See yggdrasil -genconf for config options.") + (extensions + (list (service-extension shepherd-root-service-type + yggdrasil-shepherd-service) + (service-extension account-service-type + (const %yggdrasil-accounts)) + (service-extension profile-service-type + (compose list yggdrasil-configuration-package)))))) + ;;; networking.scm ends here diff --git a/gnu/system/examples/yggdrasil.tmpl b/gnu/system/examples/yggdrasil.tmpl new file mode 100644 index 0000000000..be80bf4de9 --- /dev/null +++ b/gnu/system/examples/yggdrasil.tmpl @@ -0,0 +1,60 @@ +;; This is an operating system configuration template +;; for a "bare bones" setup, with no X11 display server. + +(use-modules (gnu)) +(use-service-modules networking ssh) +(use-package-modules admin curl networking screen) + +(operating-system + (host-name "ruby-guard-5545") + (timezone "Europe/Budapest") + (locale "en_US.utf8") + + ;; Boot in "legacy" BIOS mode, assuming /dev/sdX is the + ;; target hard disk, and "my-root" is the label of the target + ;; root file system. + (bootloader (bootloader-configuration + (bootloader grub-bootloader) + (target "/dev/sdX"))) + (file-systems (cons (file-system + (device (file-system-label "my-root")) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + (users (cons (user-account + (name "alice") + (comment "Bob's sister") + (group "users") + ;; adding her to the yggdrasil group means she can use + ;; yggdrasilctl to modify the configuration + (supplementary-groups '("wheel" "yggdrasil"))) + %base-user-accounts)) + + ;; Globally-installed packages. + (packages (cons* screen curl %base-packages)) + + ;; Add services to the baseline: a DHCP client and + ;; an SSH server. + ;; If you add an /etc/yggdrasil-private.conf, you can log in to ssh + ;; using your Yggdrasil IPv6 address from another machine running Yggdrasil. + ;; Alternatively, the client can sit behind a router that has Yggdrasil. + ;; That file is specifically _not_ handled by Guix, because we don't want its + ;; contents to sit in the world-readable /gnu/store. + (services + (append + (list + (service dhcp-client-service-type) + (service yggdrasil-service-type + (yggdrasil-configuration + (log-to 'stdout) + (log-level 'debug) + (autoconf? #f) + (json-config + ;; choose a few from + ;; https://github.com/yggdrasil-network/public-peers + '((peers . #("tcp://1.2.3.4:1337")))) + (config-file #f))) + (service openssh-service-type + (openssh-configuration + (port-number 2222)))) + %base-services))) diff --git a/gnu/system/uuid.scm b/gnu/system/uuid.scm index c8352f4933..f4c4be6e2b 100644 --- a/gnu/system/uuid.scm +++ b/gnu/system/uuid.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2017 Danny Milosavljevic <dannym@scratchpost.org> -;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr> +;;; Copyright © 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr> ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +42,7 @@ string->ext2-uuid string->ext3-uuid string->ext4-uuid + string->bcachefs-uuid string->btrfs-uuid string->fat-uuid string->jfs-uuid @@ -236,6 +237,7 @@ ISO9660 UUID representation." (define string->ext2-uuid string->dce-uuid) (define string->ext3-uuid string->dce-uuid) (define string->ext4-uuid string->dce-uuid) +(define string->bcachefs-uuid string->dce-uuid) (define string->btrfs-uuid string->dce-uuid) (define string->jfs-uuid string->dce-uuid) @@ -251,14 +253,14 @@ ISO9660 UUID representation." (define %uuid-parsers (vhashq - ('dce 'ext2 'ext3 'ext4 'btrfs 'jfs 'luks => string->dce-uuid) + ('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'jfs 'luks => string->dce-uuid) ('fat32 'fat16 'fat => string->fat-uuid) ('ntfs => string->ntfs-uuid) ('iso9660 => string->iso9660-uuid))) (define %uuid-printers (vhashq - ('dce 'ext2 'ext3 'ext4 'btrfs 'jfs 'luks => dce-uuid->string) + ('dce 'ext2 'ext3 'ext4 'bcachefs 'btrfs 'jfs 'luks => dce-uuid->string) ('iso9660 => iso9660-uuid->string) ('fat32 'fat16 'fat => fat-uuid->string) ('ntfs => ntfs-uuid->string))) |