aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2020-08-07gnu: emacs-cider: Update to 0.26.0....* gnu/packages/emacs-xyz.scm (emacs-cider): Update to 0.26.0. Signed-off-by: Brett Gilio <brettg@gnu.org> Michael Rohleder
2020-08-07Revert "gnu: python-pyfakefs: Update to 4.1.0."...This update breaks diffoscope. This reverts commit 6ff6912de94c4b707fbf865b871f27f9844a25a8. Efraim Flashner
2020-08-07gnu: python-astroid: Update to 2.4.2....* gnu/packages/python-xyz.scm (python-astroid): Update to 2.4.2. [source]: Add snippet to loosen version requirements of dependants. Efraim Flashner
2020-08-07gnu: python-lazy-object-proxy: Update to 1.5.1....* gnu/packages/python-xyz.scm (python-lazy-object-proxy): Update to 1.5.1. Efraim Flashner
2020-08-07gnu: python-pyfakefs: Update to 4.1.0....* gnu/packages/check.scm (python-pyfakefs.scm): Update to 4.1.0. Efraim Flashner
2020-08-07gnu: Add hu.dwim.defclass-star....* gnu/packages/lisp-xyz.scm (cl-hu.dwim.defclass-star, ecl-hu.dwim.defclass-star, sbcl-hu.dwim.defclass-star): New variables. Pierre Neidhardt
2020-08-07gnu: Add hu.dwim.common....* gnu/packages/lisp-xyz.scm (cl-hu.dwim.common, ecl-hu.dwim.common, sbcl-hu.dwim.common): New variables. Pierre Neidhardt
2020-08-07gnu: Add hu.dwim.common-lisp....* gnu/packages/lisp-xyz.scm (cl-hu.dwim.common-lisp, ecl-hu.dwim.common-lisp, sbcl-hu.dwim.common-lisp): New variables. Pierre Neidhardt
2020-08-07gnu: clipper: Update to 2.0....* gnu/packages/bioinformatics.scm (clipper): Update to 2.0. [source]: Remove snippet. [arguments]: Build with Python 3; remove phase "fix-typo", add phase "make-files-writable". [inputs]: Replace all Python 2 variants with Python 3 variants. [native-inputs]: Add python-setuptools-git. Ricardo Wurmus
2020-08-07ssh: Really report Guile setup errors in 'send-files'....This is a followup to commit 8f53d73493a2949e2db28cd7d689a690b2d9479a, which did not have the desired effect: the 'resolve-module' call was bound to succeed since the inferior runs 'guix repl'. * guix/ssh.scm (store-import-channel)[import]: Add call to 'resolve-module' and write '(module-error) upon error. Write '(importing) when we're ready. (send-files)[inferior-remote-eval*]: Remove. [missing]: Remove call to 'resolve-module'. Call 'handle-import/export-channel-error' when PORT doesn't return '(importing). (handle-import/export-channel-error): New procedure. (retrieve-files*): Use it. Ludovic Courtès
2020-08-07gnu: emacs-ample-regexps: Update to 0.1-2....* gnu/packages/emacs-xyz.scm (emacs-ample-regexps): Update to 0.1-2. This commit revision adds support for Emacs 27. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Jack Hill
2020-08-07gnu: parlatype: Update to 2.1....* gnu/packages/gnome.scm (parlatype): Update to 2.1. Nicolas Goaziou
2020-08-07gnu: Add minetest-mineclone....* gnu/packages/games.scm (minetest-mineclone): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Leo Prikler
2020-08-07gnu: emacs-modus-vivendi-theme: Update to 0.11.0....* gnu/packages/emacs-xyz.scm (emacs-modus-vivendi-theme): Update to 0.11.0. Nicolas Goaziou
2020-08-07gnu: emacs-modus-operandi-theme: Update to 0.11.0....* gnu/packages/emacs-xyz.scm (emacs-modus-operandi-theme): Update to 0.11.0. Nicolas Goaziou
2020-08-07gnu: snap: Update to 6.1.4....* gnu/packages/education.scm (snap): Update to 6.1.4. Nicolas Goaziou
2020-08-07gnu: android: Export android-platform-system-core....* gnu/packages/android.scm (android-platform-system-core): Export it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Denis 'GNUtoo' Carikli
2020-08-07gnu: android: Export android-platform-version....* gnu/packages/android.scm (android-platform-version): Export it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Denis 'GNUtoo' Carikli
2020-08-07gnu: Add emacs-habitica....* gnu/packages/emacs-xyz.scm (emacs-habitica): New variable. Oleg Pykhalov
2020-08-06gnu: sameboy: Update to 0.13.5....* gnu/packages/emulators.scm (sameboy): Update to 0.13.5. Jakub Kądziołka
2020-08-06gnu: Add noisetorch....* gnu/packages/pulseaudio.scm (noisetorch): New variable. Pierre Neidhardt
2020-08-06gnu: Add rnnoise....* gnu/packages/pulseaudio.scm (rnnoise): New variable. Pierre Neidhardt
2020-08-06gnu: ode: Update to 0.16.2....* gnu/packages/game-development.scm (ode): Update to 0.16.2. Nicolas Goaziou
2020-08-06gnu: mgba: Update to 0.8.3....* gnu/packages/emulators.scm (mgba): Update to 0.8.3. Nicolas Goaziou
2020-08-06gnu: asymptote: Update to 2.67....* gnu/packages/plotutils.scm (asymptote): Update to 2.67. Nicolas Goaziou
2020-08-06gnu: Add python-sniffio....* gnu/packages/python-xyz.scm (python-sniffio): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego
2020-08-06gnu: Add python-curio....* gnu/packages/python-xyz.scm (python-curio): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego
2020-08-06gnu: Add python-immutables....* gnu/packages/python-xyz.scm (python-immutables): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego
2020-08-06gnu: Add python-h2....* gnu/packages/python-web.scm (python-h2): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego
2020-08-06gnu: Add python-hpack....* gnu/packages/python-web.scm (python-hpack): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego
2020-08-06gnu: Add python-hyperframe....* gnu/packages/python-web.scm (python-hyperframe): New variable. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org> Vinicius Monego
2020-08-06gnu: guile-zlib: Declare a source file-name....* gnu/packages/guile.scm (guile-zlib)[source]: Add file-name field. Efraim Flashner
2020-08-06gnu: guile-lzlib: Declare a source file-name....* gnu/packages/guile.scm (guile-lzlib)[source]: Add file-name field. Efraim Flashner
2020-08-06gnu: Add hddtemp....* gnu/packages/disk.scm (hddtemp): New variable. Pierre Neidhardt
2020-08-06gnu: Add metapixel....* gnu/packages/image-processing.scm (metapixel): New variable. Pierre Neidhardt
2020-08-06gnu: Add ogmtools....* gnu/packages/video.scm (ogmtools): New variable. Pierre Neidhardt
2020-08-06gnu: racket: Update to 7.8....* gnu/packages/scheme.scm (racket): Update to 7.8. Pierre Neidhardt
2020-08-06installer: Remove logical devices....If a device contains an active logical volume, BLKRRPART will report that the device is busy. This will cause this device to be filtered by "non-install-devices" procedure, which is not desired. Make sure to deactivate all logical volumes before device probing. Fixes <https://issues.guix.gnu.org/42683>. * gnu/installer.scm (installer-program): Add lvm2-static to the inputs. * gnu/installer/parted.scm (remove-logical-devices): New procedure, (init-parted): call it. Mathieu Othacehe
2020-08-06gnu: neovim: Update to 0.4.4....* gnu/package/vim.scm (neovim): Update to 0.4.4. Signed-off-by: Efraim Flashner <efraim@flashner.co.il> HiPhish
2020-08-06gnu:guile-json-1: Update to 1.3.2....* gnu/packages/guile.scm (guile-json-1): Update to 1.3.2. [arguments]: Add make-flag to supress guild warnings. Efraim Flashner
2020-08-06gnu: guile-json: Update to 4.3.2....* gnu/packages/guile.scm (guile-json): Update to 4.3.2. Efraim Flashner
2020-08-06gnu: json-c: Fix CVE-2020-12762....* gnu/packages/web.scm (json-c)[replacement]: New field. (json-c-0.13, json-c-0.12)[source]: Add patch. (json-c/fixed): New variable. * gnu/packages/patches/json-c-CVE-2020-12762.patch, gnu/packages/patches/json-c--0.13-CVE-2020-12762.patch, gnu/packages/patches/json-c--0.12-CVE-2020-12762.patch: New files. * gnu/local.mk (dist_patch_DATA): Register them. Efraim Flashner
2020-08-06gnu: binutils-gold: build with canonical gcc:lib....* gnu/packages/base.scm (binutils-gold)[inputs]: Replace gcc:lib with the canonical-package of gcc. Efraim Flashner
2020-08-06gnu: go-1.4: Build with canonical gcc:lib....* gnu/packages/golang.scm (go-1.4)[inputs]: Replace gcc:lib with the canonical-package of gcc. Efraim Flashner
2020-08-06gnu: ghc-c2hs: Enable tests....* gnu/packages/haskell-xyz.scm (ghc-c2hs)[arguments]: Enable tests. Efraim Flashner
2020-08-06gnu: ghc-c2hs: Remove extra input....* gnu/packages/haskell-xyz.scm (ghc-c2hs)[native-inputs]: Remove gcc. Efraim Flashner
2020-08-06gnu: v: Remove unnecessary input....* gnu/packages/vlang.scm (v)[inputs]: Remove gcc. Efraim Flashner
2020-08-06gnu: jami: Always remove contrib tarballs from the sources of Jami....The origin used as the "sfl-patches" input contained bundled library tarballs, and weighed 217 MiB. After this change, it weighs 3.3 MiB. * gnu/packages/jami.scm (jami-source): Rename #:without-daemon to \#:keep-contrib-patches. Delete the daemon/contrib/tarballs sub-directory even when keeping the patches. Delete extraneous code. (%sfl-patches, %jami-sources): New variables. (pjproject-jami, ffmpeg-jami, libring): Adjust to use the above variables. Maxim Cournoyer
2020-08-05gnu: ruby-chunky-png: Update to 1.3.12....* gnu/packages/ruby.scm (ruby-chunky-png): Update to 1.3.12. Maxim Cournoyer
2020-08-05gnu: pjproject: Update the pkg-config patch....* gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch: Update patch. Maxim Cournoyer
(sanitizer oci-sanitize-shepherd-actions)) (network (maybe-string) "Set a Docker network for the spawned container.") (ports (list '()) "Set the port or port ranges to expose from the spawned container. This can be a list of pairs or strings, even mixed: @lisp (list '(\"8080\" . \"80\") \"10443:443\") @end lisp Pair members can be strings, gexps or file-like objects. Strings are passed directly to the Docker CLI. You can refer to the @url{https://docs.docker.com/engine/reference/commandline/run/#publish,upstream} documentation for semantics." (sanitizer oci-sanitize-ports)) (volumes (list '()) "Set volume mappings for the spawned container. This can be a list of pairs or strings, even mixed: @lisp (list '(\"/root/data/grafana\" . \"/var/lib/grafana\") \"/gnu/store:/gnu/store\") @end lisp Pair members can be strings, gexps or file-like objects. Strings are passed directly to the Docker CLI. You can refer to the @url{https://docs.docker.com/engine/reference/commandline/run/#volume,upstream} documentation for semantics." (sanitizer oci-sanitize-volumes)) (container-user (maybe-string) "Set the current user inside the spawned container. You can refer to the @url{https://docs.docker.com/engine/reference/run/#user,upstream} documentation for semantics.") (workdir (maybe-string) "Set the current working for the spawned Shepherd service. You can refer to the @url{https://docs.docker.com/engine/reference/run/#workdir,upstream} documentation for semantics.") (extra-arguments (list '()) "A list of strings, gexps or file-like objects that will be directly passed to the @command{docker run} invokation." (sanitizer oci-sanitize-extra-arguments))) (define oci-container-configuration->options (lambda (config) (let ((entrypoint (oci-container-configuration-entrypoint config)) (network (oci-container-configuration-network config)) (user (oci-container-configuration-container-user config)) (workdir (oci-container-configuration-workdir config))) (apply append (filter (compose not unspecified?) `(,(if (maybe-value-set? entrypoint) `("--entrypoint" ,entrypoint) '()) ,(append-map (lambda (spec) (list "--env" spec)) (oci-container-configuration-environment config)) ,(if (maybe-value-set? network) `("--network" ,network) '()) ,(if (maybe-value-set? user) `("--user" ,user) '()) ,(if (maybe-value-set? workdir) `("--workdir" ,workdir) '()) ,(append-map (lambda (spec) (list "-p" spec)) (oci-container-configuration-ports config)) ,(append-map (lambda (spec) (list "-v" spec)) (oci-container-configuration-volumes config)))))))) (define* (get-keyword-value args keyword #:key (default #f)) (let ((kv (memq keyword args))) (if (and kv (>= (length kv) 2)) (cadr kv) default))) (define (lower-operating-system os target system) (mlet* %store-monad ((tarball (lower-object (system-image (os->image os #:type docker-image-type)) system #:target target))) (return tarball))) (define (lower-manifest name image target system) (define value (oci-image-value image)) (define options (oci-image-pack-options image)) (define image-reference (oci-image-reference image)) (define image-tag (let* ((extra-options (get-keyword-value options #:extra-options)) (image-tag-option (and extra-options (get-keyword-value extra-options #:image-tag)))) (if image-tag-option '() `(#:extra-options (#:image-tag ,image-reference))))) (mlet* %store-monad ((_ (set-grafting (oci-image-grafts? image))) (guile (set-guile-for-build (default-guile))) (profile (profile-derivation value #:target target #:system system #:hooks '() #:locales? #f)) (tarball (apply pack:docker-image `(,name ,profile ,@options ,@image-tag #:localstatedir? #t)))) (return tarball))) (define (lower-oci-image name image) (define value (oci-image-value image)) (define image-target (oci-image-target image)) (define image-system (oci-image-system image)) (define target (if (maybe-value-set? image-target) image-target (%current-target-system))) (define system (if (maybe-value-set? image-system) image-system (%current-system))) (with-store store (run-with-store store (match value ((? manifest? value) (lower-manifest name image target system)) ((? operating-system? value) (lower-operating-system value target system)) ((or (? gexp? value) (? file-like? value)) value) (_ (raise (formatted-message (G_ "oci-image value must contain only manifest, operating-system, gexp or file-like records but ~a was found") value)))) #:target target #:system system))) (define (%oci-image-loader name image tag) (let ((docker (file-append docker-cli "/bin/docker")) (tarball (lower-oci-image name image))) (with-imported-modules '((guix build utils)) (program-file (format #f "~a-image-loader" name) #~(begin (use-modules (guix build utils) (ice-9 popen) (ice-9 rdelim)) (format #t "Loading image for ~a from ~a...~%" #$name #$tarball) (define line (read-line (open-input-pipe (string-append #$docker " load -i " #$tarball)))) (unless (or (eof-object? line) (string-null? line)) (format #t "~a~%" line) (let ((repository&tag (string-drop line (string-length "Loaded image: ")))) (invoke #$docker "tag" repository&tag #$tag) (format #t "Tagged ~a with ~a...~%" #$tarball #$tag)))))))) (define (oci-container-shepherd-service config) (define (guess-name name image) (if (maybe-value-set? name) name (string-append "docker-" (basename (if (string? image) (first (string-split image #\:)) (oci-image-repository image)))))) (let* ((docker (file-append docker-cli "/bin/docker")) (actions (oci-container-configuration-shepherd-actions config)) (auto-start? (oci-container-configuration-auto-start? config)) (user (oci-container-configuration-user config)) (group (oci-container-configuration-group config)) (host-environment (oci-container-configuration-host-environment config)) (command (oci-container-configuration-command config)) (log-file (oci-container-configuration-log-file config)) (provision (oci-container-configuration-provision config)) (requirement (oci-container-configuration-requirement config)) (respawn? (oci-container-configuration-respawn? config)) (image (oci-container-configuration-image config)) (image-reference (oci-image-reference image)) (options (oci-container-configuration->options config)) (name (guess-name provision image)) (extra-arguments (oci-container-configuration-extra-arguments config))) (shepherd-service (provision `(,(string->symbol name))) (requirement `(dockerd user-processes ,@requirement)) (respawn? respawn?) (auto-start? auto-start?) (documentation (string-append "Docker backed Shepherd service for " (if (oci-image? image) name image) ".")) (start #~(lambda () #$@(if (oci-image? image) #~((invoke #$(%oci-image-loader name image image-reference))) #~()) (fork+exec-command ;; docker run [OPTIONS] IMAGE [COMMAND] [ARG...] (list #$docker "run" "--rm" "--name" #$name #$@options #$@extra-arguments #$image-reference #$@command) #:user #$user #:group #$group #$@(if (maybe-value-set? log-file) (list #:log-file log-file) '()) #:environment-variables (list #$@host-environment)))) (stop #~(lambda _ (invoke #$docker "rm" "-f" #$name))) (actions (if (oci-image? image) '() (append (list (shepherd-action (name 'pull) (documentation (format #f "Pull ~a's image (~a)." name image)) (procedure #~(lambda _ (invoke #$docker "pull" #$image))))) actions)))))) (define %oci-container-accounts (list (user-account (name "oci-container") (comment "OCI services account") (group "docker") (system? #t) (home-directory "/var/empty") (shell (file-append shadow "/sbin/nologin"))))) (define (configs->shepherd-services configs) (map oci-container-shepherd-service configs)) (define oci-container-service-type (service-type (name 'oci-container) (extensions (list (service-extension profile-service-type (lambda _ (list docker-cli))) (service-extension account-service-type (const %oci-container-accounts)) (service-extension shepherd-root-service-type configs->shepherd-services))) (default-value '()) (extend append) (compose concatenate) (description "This service allows the management of OCI containers as Shepherd services.")))