aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2022 Arjan Adriaanse <arjan@adriaan.se>
;;;
;;; 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 (test-home-import)
  #:use-module (guix scripts home import)
  #:use-module (guix utils)
  #:use-module (guix build utils)
  #:use-module (guix packages)
  #:use-module (ice-9 match)
  #:use-module ((guix read-print) #:select (blank?))
  #:use-module ((guix profiles) #:hide (manifest->code))
  #:use-module ((guix build syscalls) #:select (mkdtemp!))
  #:use-module ((guix scripts package)
                #:select (manifest-entry-version-prefix))
  #:use-module (gnu packages)
  #:use-module (srfi srfi-1)
  #:use-module (srfi srfi-26)
  #:use-module (srfi srfi-64))

;; Test the (guix scripts home import) tools.

(test-begin "home-import")

;; Example manifest entries.

(define guile-2.0.9
  (manifest-entry
    (name "guile")
    (version "2.0.9")
    (item "/gnu/store/...")))

(define glibc
  (manifest-entry
    (name "glibc")
    (version "2.19")
    (item "/gnu/store/...")))

(define gcc
  (manifest-entry
    (name "gcc")
    (version "")
    (output "lib")
    (item "/gnu/store/...")))

;; Helpers for checking and generating home environments.

(define %destination-directory "/tmp/guix-config")
(mkdir-p %destination-directory)

(define %temporary-home-directory (mkdtemp! "/tmp/guix-home-import.XXXXXX"))

(define-syntax-rule (define-home-environment-matcher name pattern)
  (define (name obj)
    (match obj
      (pattern #t)
      (x (pk 'fail x #f)))))

(define (create-temporary-home files-alist)
  "Create a temporary home directory in '%temporary-home-directory'.
FILES-ALIST is an association list of files and the content of the
corresponding file."
  (define (create-file file content)
    (let ((absolute-path (string-append %temporary-home-directory "/" file)))
      (unless (file-exists? absolute-path)
        (mkdir-p (dirname absolute-path)))
      (call-with-output-file absolute-path
        (cut display content <>))))

  (for-each (match-lambda
              ((file . content) (create-file file content)))
            files-alist))

(define (remove-recursively pred sexp)
  "Like SRFI-1 'remove', but recurse within SEXP."
  (let loop ((sexp sexp))
    (match sexp
      ((lst ...)
       (map loop (remove pred lst)))
      (x x))))

(define (eval-test-with-home-environment files-alist manifest matcher)
  (create-temporary-home files-alist)
  (setenv "HOME" %temporary-home-directory)
  (mkdir-p %temporary-home-directory)
  (let* ((home-environment (manifest+configuration-files->code
                            manifest %destination-directory))
         (result (matcher (remove-recursively blank? home-environment))))
    (delete-file-recursively %temporary-home-directory)
    result))

(define-home-environment-matcher match-home-environment-no-services
  ('begin
    ('use-modules
     ('gnu 'home)
     ('gnu 'packages)
     ('gnu 'services))
    ('home-environment
     ('packages
      ('specifications->packages
       ('list "guile@2.0.9" "gcc:lib" "glibc@2.19")))
     ('services
      ('list)))))

(define-home-environment-matcher match-home-environment-transformations
  ('begin
    ('use-modules
     ('gnu 'home)
     ('gnu 'packages)
     ('gnu 'services)
     ('guix 'transformations))

    ('define transform ('options->transformation _))
    ('home-environment
     ('packages
      ('list (transform ('specification->package "guile@2.0.9"))
             ('list ('specification->package "gcc") "lib")
             ('specification->package "glibc@2.19")))
     ('services ('list)))))

(define-home-environment-matcher match-home-environment-no-services-nor-packages
  ('begin
    ('use-modules
     ('gnu 'home)
     ('gnu 'packages)
     ('gnu 'services))
    ('home-environment
     ('packages
      ('specifications->packages ('list)))
     ('services
      ('list)))))

(define-home-environment-matcher match-home-environment-bash-service
  ('begin
    ('use-modules
     ('gnu 'home)
     ('gnu 'packages)
     ('gnu 'services)
     ('guix 'gexp)
     ('gnu 'home 'services 'shells))
    ('home-environment
     ('packages
      ('specifications->packages ('list)))
     ('services
      ('list ('service
              'home-bash-service-type
              ('home-bash-configuration
               ('aliases ('quote ()))
               ('bashrc
                ('list ('local-file "/tmp/guix-config/.bashrc"
                                    "bashrc"))))))))))

(define-home-environment-matcher match-home-environment-bash-service-with-alias
  ('begin
    ('use-modules
     ('gnu 'home)
     ('gnu 'packages)
     ('gnu 'services)
     ('guix 'gexp)
     ('gnu 'home 'services 'shells))
    ('home-environment
     ('packages
      ('specifications->packages ('list)))
     ('services
      ('list ('service
              'home-bash-service-type
              ('home-bash-configuration
               ('aliases
                ('quote (("grep" . "grep --exclude-from=\"$HOME/.grep-exclude\"")
                         ("ls" . "ls -p"))))
               ('bashrc
                ('list ('local-file "/tmp/guix-config/.bashrc"
                                    "bashrc"))))))))))


(test-assert "manifest->code: No services"
  (eval-test-with-home-environment
   '()
   (make-manifest (list guile-2.0.9 gcc glibc))
   match-home-environment-no-services))

(test-assert "manifest->code: No services, package transformations"
  (eval-test-with-home-environment
   '()
   (make-manifest (list (manifest-entry
                          (inherit guile-2.0.9)
                          (properties `((transformations
                                         . ((foo . "bar"))))))
                        gcc glibc))
   match-home-environment-transformations))

(test-assert "manifest->code: No packages nor services"
  (eval-test-with-home-environment
   '()
   (make-manifest '())
   match-home-environment-no-services-nor-packages))

(test-assert "manifest->code: Bash service"
  (eval-test-with-home-environment
   '((".bashrc" . "echo 'hello guix'"))
   (make-manifest '())
   match-home-environment-bash-service))

(test-assert "manifest->code: Bash service with aliases"
  (eval-test-with-home-environment
   '((".bashrc"
      . "# Aliases
alias ls=\"ls -p\"; alias grep='grep --exclude-from=\"$HOME/.grep-exclude\"'\n"))
   (make-manifest '())
   match-home-environment-bash-service-with-alias))

(test-end "home-import")
/commit/gnu/packages/sync.scm?id=ab7011f885f3a8db3879028631c2272ad33f25bb'>gnu: rclone: Update to 1.51.0....* gnu/packages/sync.scm (rclone): Update to 1.51.0. Nicolas Goaziou 2020-01-24gnu: Add megatools....* gnu/packages/sync.scm (megatools): New variable. (megacmd)[description]: Cross-reference the two packages in the description. Signed-off-by: Christopher Baines <mail@cbaines.net> Jakub Kądziołka 2020-01-24gnu: Add megacmd....* gnu/packages/sync.scm (megacmd): New variable. Signed-off-by: Christopher Baines <mail@cbaines.net> Jakub Kądziołka 2019-11-29gnu: rclone: Update to 1.50.2....* gnu/packages/sync.scm (rclone): Update to 1.50.2. Clément Lassieur 2019-11-05gnu: rclone: Update to 1.50.1....* gnu/packages/sync.scm (rclone): Update to 1.50.1. Tobias Geerinckx-Rice 2019-11-01gnu: rclone: Update to 1.50.0....* gnu/packages/sync.scm (rclone): Update to 1.50.0. Nicolas Goaziou 2019-10-03gnu: rclone: Update to 1.49.4....* gnu/packages/sync.scm (rclone): Update to 1.49.4. Nicolas Goaziou 2019-09-20gnu: rclone: Update to 1.49.3....* gnu/packages/sync.scm (rclone): Update to 1.49.3. Tobias Geerinckx-Rice 2019-09-10gnu: rclone: Update to 1.49.2....* gnu/packages/sync.scm (rclone): Update to 1.49.2. Tobias Geerinckx-Rice 2019-09-02gnu: rclone: Update to 1.49.1....* gnu/packages/sync.scm (rclone): Update to 1.49.1. [source]: Update uri. [arguments]: Update #:import-path. Nicolas Goaziou 2019-08-21gnu: lsyncd: Search $PATH for binaries....* gnu/packages/sync.scm (lsyncd)[arguments]: Add ‘search-$PATH-for-binaries’ phase. Tobias Geerinckx-Rice 2019-07-22gnu: zstd: Move libraries to separate outputs....* gnu/packages/compression.scm (zstd)[outputs]: New field. [arguments]: Add phase 'adjust-libary-locations'. Pass LIBDIR and INCLUDEDIR in <#:make-flags>. * gnu/packages/backup.scm (borg)[inputs]: Change ZSTD to ZSTD:LIB. * gnu/packages/sync.scm (casync)[inputs]: Likewise. * gnu/packages/tor.scm (tor)[inputs]: Likewise. * gnu/packages/linux.scm (btrfs-progs)[inputs]: Likewise. Add ZSTD:STATIC. Marius Bakke 2019-06-21gnu: rclone: Update to 1.48.0....* gnu/packages/sync.scm (rclone): Update to 1.48.0. Tobias Geerinckx-Rice 2019-05-24gnu: Move Sphinx and friends to (gnu packages sphinx)....* gnu/packages/python-xyz.scm (python-sphinxcontrib-websupport, python2-sphinxcontrib-websupport, python-sphinx, python2-sphinx, python-sphinx-gallery, python2-sphinx-gallery, python-sphinx-rtd-theme, python2-sphinx-rtd-theme, python-guzzle-sphinx-theme, python2-guzzle-sphinx-theme, python-sphinxcontrib-newsfeed, python-sphinxcontrib-programoutput, python2-sphinxcontrib-programoutput, python-sphinx-repoze-interface, python2-sphinx-repoze-interface, python-sphinx-cloud-sptheme, python2-sphinx-cloud-sptheme, python-sphinx-alabaster-theme, python2-sphinx-alabaster-theme, python-sphinx-me, python-sphinxcontrib-svg2pdfconverter): Move to ... (gnu): * gnu/packages/sphinx.scm: ... here. New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Adjust accordingly. * gnu/packages/admin.scm, gnu/packages/bioinformatics.scm, gnu/packages/calendar.scm, gnu/packages/cluster.scm, gnu/packages/databases.scm, gnu/packages/dav.scm, gnu/packages/disk.scm, gnu/packages/django.scm, gnu/packages/elf.scm, gnu/packages/emacs-xyz.scm, gnu/packages/emulators.scm, gnu/packages/finance.scm, gnu/packages/image.scm, gnu/packages/libffi.scm, gnu/packages/mail.scm, gnu/packages/mpd.scm, gnu/packages/openstack.scm, gnu/packages/pdf.scm, gnu/packages/python-web.scm, gnu/packages/search.scm, gnu/packages/statistics.scm, gnu/packages/storage.scm, gnu/packages/sync.scm, gnu/packages/terminals.scm, gnu/packages/tls.scm, gnu/packages/web.scm: Adjust module imports. Marius Bakke 2019-04-17gnu: rclone: Update to 1.47.0....* gnu/packages/sync.scm (rclone): Update to 1.47.0. Tobias Geerinckx-Rice 2019-02-20gnu: owncloud-client: Update to 2.5.3.11470....* gnu/packages/sync.scm (owncloud-client): Update to 2.5.3.11470. Efraim Flashner 2019-02-20gnu: Don't use the store path in the .desktop file....This fixes bug#30228. * gnu/packages/sync.scm (owncloud-client)[arguments]: Add a custom phase to substitute the executable name for the full path to the binary. Remove the 'patch-dot-desktop-files phase. Efraim Flashner 2019-02-18gnu: lsyncd: Don't use unstable tarball....* gnu/packages/sync.scm (lsyncd)[source]: Use GIT-FETCH and GIT-FILE-NAME. [arguments]: Adjust ‘install’ phase to new source directory. Tobias Geerinckx-Rice 2019-02-14gnu: rclone: Update to 1.46....* gnu/packages/sync.scm (rclone): Update to 1.46. [arguments]: Remove 'set-home-directory' phase. Tobias Geerinckx-Rice 2019-01-16gnu: Move sqlite to separate module....* gnu/packages/databases.scm (sqlite, sqlite-3.26.0, sqlite-with-fts5, sqlite-with-column-metadata): Move variables from here... * gnu/packages/sqlite.scm: ...to this new module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/apl.scm, gnu/packages/bittorrent.scm, gnu/packages/calendar.scm, gnu/packages/code.scm, gnu/packages/crypto.scm, gnu/packages/databases.scm, gnu/packages/dc.scm, gnu/packages/disk.scm, gnu/packages/ebook.scm, gnu/packages/education.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/file-systems.scm, gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm, gnu/packages/geo.scm, gnu/packages/gnome.scm, gnu/packages/gnunet.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/gps.scm, gnu/packages/guile.scm, gnu/packages/ibus.scm, gnu/packages/kerberos.scm, gnu/packages/kodi.scm, gnu/packages/lisp.scm, gnu/packages/mail.scm, gnu/packages/messaging.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/nfs.scm, gnu/packages/ocaml.scm, gnu/packages/package-management.scm, gnu/packages/pdf.scm, gnu/packages/photo.scm, gnu/packages/php.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/ruby.scm, gnu/packages/scheme.scm, gnu/packages/sync.scm, gnu/packages/syndication.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/web-browsers.scm, gnu/packages/webkit.scm: Adjust module references. Ricardo Wurmus 2019-01-15gnu: Separate Python core packages from the rest....* gnu/packages/python.scm: Move hundreds of package definitions from here... * gnu/packages/python-xyz.scm: ...to this new module. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/android.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/benchmark.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/calendar.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/cluster.scm, gnu/packages/compression.scm, gnu/packages/connman.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dav.scm, gnu/packages/direct-connect.scm, gnu/packages/disk.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/docker.scm, gnu/packages/ebook.scm, gnu/packages/elf.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/finance.scm, gnu/packages/fltk.scm, gnu/packages/fontutils.scm, gnu/packages/freedesktop.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/geo.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnupg.scm, gnu/packages/gnuzilla.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/gtk.scm, gnu/packages/ham-radio.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/irc.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/kde-frameworks.scm, gnu/packages/key-mon.scm, gnu/packages/libffi.scm, gnu/packages/libreoffice.scm, gnu/packages/libusb.scm, gnu/packages/lirc.scm, gnu/packages/logging.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/mate.scm, gnu/packages/maths.scm, gnu/packages/medical.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/nutrition.scm, gnu/packages/openldap.scm, gnu/packages/openstack.scm, gnu/packages/package-management.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/photo.scm, gnu/packages/polkit.scm, gnu/packages/protobuf.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/qt.scm, gnu/packages/rdf.scm, gnu/packages/ruby.scm, gnu/packages/search.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/simulation.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/storage.scm, gnu/packages/sync.scm, gnu/packages/terminals.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tls.scm, gnu/packages/tor.scm, gnu/packages/tryton.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/virtualization.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wicd.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: Update module references. Ricardo Wurmus 2019-01-02gnu: qtsyncthingtray: Use 'git-fetch'....* gnu/packages/sync.scm (qtsyncthingtray)[source]: Use 'git-fetch'. [arguments]: Update custom 'install phase. Efraim Flashner 2019-01-02gnu: owncloud-client: Update to 2.5.1.10973....* gnu/packages/sync.scm (owncloud-client): Update to 2.5.1.10973. * gnu/packages/patches/owncloud-disable-updatecheck.patch: Update patch. Efraim Flashner 2018-12-03Merge branch 'core-updates'Ludovic Courtès 2018-12-02gnu: Add rclone (take 2)...* gnu/packages/sync.scm (rclone): New variable. Nicolas Goaziou 2018-11-27Revert "gnu: Add rclone."...This reverts commit 8b5e2e94afdef6430583c3a0ef02fe2d7fcc16d1. Mark H Weaver 2018-11-27gnu: Add rclone....* gnu/packages/sync.scm (rclone): New variable. Nicolas Goaziou 2018-11-21gnu: casync: Fix build with glibc 2.28....* gnu/packages/patches/casync-renameat2-declaration.patch: New file. * gnu/packages/sync.scm (casync)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. Ludovic Courtès 2018-07-11gnu: owncloud-client: Update to 2.4.1....* gnu/packages/sync.scm (owncloud-client): Update to 2.4.1. [phases]: Remove custom 'change-rpath-dirs phase. [arguments]: Disable building with qtwebkit. [inputs]: Remove inotify-tools, openssl, qtwebkit. Efraim Flashner 2018-06-30gnu: Add casync....* gnu/packages/sync.scm (casync): New variable. Ludovic Courtès 2018-03-16gnu: All snippets report errors using exceptions, else return #t....* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm, gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/fpga.scm, gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm, gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm, gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm, gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm, gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm, gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm, gnu/packages/pretty-print.scm, gnu/packages/profiling.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm, gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm, gnu/packages/scribus.scm, gnu/packages/sdl.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm, gnu/packages/terminals.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/tls.scm, gnu/packages/unrtf.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: In all snippets, report errors using exceptions, or else return #t. Mark H Weaver 2018-01-19gnu: Consistently Write ‘file system(s)’....It is the GNU way. * doc/guix.texi (Build Systems, DNS Services): Write ‘file system(s)’. * gnu/build/vm.scm (create-ext-file-system, create-fat-file-system): Likewise. * gnu/packages/backup.scm (dirvish, rsnapshot)[description]: Likewise. * gnu/packages/check.scm (python-testpath)[description]: Likewise. * gnu/packages/disk.scm (pydf)[description]: Likewise. * gnu/packages/file-systems.scm (disorderfs)[synopsis, description]: Likewise. (glusterfs)[description]: Likewise. * gnu/packages/haskell.scm (ghc-directory, ghc-system-fileio-bootstrap) (ghc-system-fileio)[synopsis]: Likewise. (ghc-fsnotify)[description]: Likewise. * gnu/packages/linux.scm (proot)[description]: Likewise. (jmtpfs)[synopsis, description]: Likewise. * gnu/packages/mate.scm (caja, caja-extensions)[description]: Likewise. * gnu/packages/storage.scm (ceph)[description]: Likewise. * gnu/packages/sync.scm (lsyncd)[description]: Likewise. * gnu/packages/syncthing.scm (syncthing)[synopsis]: Likewise. (go-github-com-zillode-notify)[description]: Likewise. * gnu/services/nfs.scm (pipefs-service-type): Likewise. * guix/scripts/system.scm (perform-action): Likewise. Tobias Geerinckx-Rice 2018-01-10gnu: lsyncd: Update to 2.2.2....* gnu/packages/sync.scm (lsyncd): Update to 2.2.2. Tobias Geerinckx-Rice 2017-11-18gnu: owncloud-client: Update to 2.3.4....* gnu/packages/sync.scm (owncloud-client): Update to 2.3.4. Efraim Flashner 2017-11-18gnu: owncloud-client: Don't check for updates....* gnu/packages/sync.scm (owncloud-client)[source]: Add patch. * gnu/packages/patches/owncloud-disable-updatecheck.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. Efraim Flashner 2017-09-17gnu: owncloud-client: Update to 2.3.3....* gnu/packages/sync.scm (owncloud-client): Update to 2.3.3. Efraim Flashner