aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2017 Christopher Baines <mail@cbaines.net>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2021 Ludovic Courtès <ludo@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 tests rsync)
  #:use-module (gnu packages rsync)
  #:use-module (gnu tests)
  #:use-module (gnu system)
  #:use-module (gnu system file-systems)
  #:use-module (gnu system shadow)
  #:use-module (gnu system vm)
  #:use-module (gnu services)
  #:use-module (gnu services rsync)
  #:use-module (gnu services networking)
  #:use-module (guix gexp)
  #:use-module (guix store)
  #:export (%test-rsync))

(define* (run-rsync-test rsync-os #:optional (rsync-port 873))
  "Run tests in %RSYNC-OS, which has rsync running and listening on
PORT."
  (define os
    (marionette-operating-system
     rsync-os
     #:imported-modules '((gnu services herd)
                          (guix combinators))))

  (define vm
    (virtual-machine
     (operating-system os)
     (port-forwardings '())))

  (define test
    (with-imported-modules '((gnu build marionette))
      #~(begin
          (use-modules (srfi srfi-11) (srfi srfi-64)
                       (gnu build marionette))

          (define marionette
            (make-marionette (list #$vm)))

          (test-runner-current (system-test-runner #$output))
          (test-begin "rsync")

          ;; Wait for rsync to be up and running.
          (test-assert "service running"
            (marionette-eval
             '(begin
                (use-modules (gnu services herd))

                ;; Make sure the 'rsync' command is found.
                (setenv "PATH" "/run/current-system/profile/bin")

                (start-service 'rsync))
             marionette))

          (test-assert "Test file copied to share"
            (marionette-eval
             '(begin
                (call-with-output-file "/tmp/input"
                  (lambda (port)
                    (display "test-file-contents\n" port)))
                (zero?
                 (system* "rsync" "/tmp/input"
                          (string-append "rsync://localhost:"
                                         (number->string #$rsync-port)
                                         "/files/input"))))
             marionette))

          (test-equal "Test file correctly received from share"
            "test-file-contents"
            (marionette-eval
             '(begin
                (use-modules (ice-9 rdelim))
                (zero?
                 (system* "rsync"
                          (string-append "rsync://localhost:"
                                         (number->string #$rsync-port)
                                         "/files/input")
                          "/tmp/output"))
                (call-with-input-file "/tmp/output"
                  (lambda (port)
                    (read-line port))))
             marionette))

          (test-equal "Test file not copied to read-only share"
            1                                  ;see "EXIT VALUES" in rsync(1)
            (marionette-eval
             '(status:exit-val
               (system* "rsync" "/tmp/input"
                        (string-append "rsync://localhost:"
                                       (number->string #$rsync-port)
                                       "/read-only/input")))
             marionette))

          (test-equal "Test file correctly received from read-only share"
            "\"Hi!\" from the read-only share."
            (marionette-eval
             '(begin
                (use-modules (ice-9 rdelim))

                (call-with-output-file "/srv/read-only/the-file"
                  (lambda (port)
                    (display "\"Hi!\" from the read-only share." port)))

                (zero?
                 (system* "rsync"
                          (string-append "rsync://localhost:"
                                         (number->string #$rsync-port)
                                         "/read-only/the-file")
                          "/tmp/output"))
                (call-with-input-file "/tmp/output" read-line))
             marionette))

          (test-end))))

  (gexp->derivation "rsync-test" test))

(define* %rsync-os
  ;; Return operating system under test.
  (let ((base-os
         (simple-operating-system
          (service dhcp-client-service-type)
          (service rsync-service-type
                   (rsync-configuration
                    (modules (list (rsync-module
                                    (name "read-only")
                                    (file-name "/srv/read-only"))
                                   (rsync-module
                                    (name "files")
                                    (file-name "/srv/read-write")
                                    (read-only? #f)))))))))
    (operating-system
      (inherit base-os)
      (packages (cons* rsync
                       (operating-system-packages base-os))))))

(define %test-rsync
  (system-test
   (name "rsync")
   (description "Connect to a running RSYNC server.")
   (value (run-rsync-test %rsync-os))))
ass='ls-size'>51142logplainabout -rw-r--r--animation.scm21515logplainabout -rw-r--r--anthy.scm2879logplainabout -rw-r--r--antivirus.scm7311logplainabout -rw-r--r--apl.scm5254logplainabout -rw-r--r--apparmor.scm8152logplainabout -rw-r--r--apr.scm4260logplainabout -rw-r--r--arcan.scm11141logplainabout -rw-r--r--aspell.scm17078logplainabout -rw-r--r--assembly.scm22414logplainabout -rw-r--r--astronomy.scm117605logplainabout -rw-r--r--attr.scm3492logplainabout -rw-r--r--audio.scm241646logplainabout -rw-r--r--augeas.scm2617logplainabout -rw-r--r--authentication.scm6866logplainabout -rw-r--r--autogen.scm4826logplainabout -rw-r--r--autotools.scm26662logplainabout d---------aux-files366logplain -rw-r--r--avahi.scm5706logplainabout -rw-r--r--avr-xyz.scm3853logplainabout -rw-r--r--avr.scm7873logplainabout -rw-r--r--axoloti.scm29136logplainabout -rw-r--r--backup.scm62082logplainabout -rw-r--r--barrier.scm3116logplainabout -rw-r--r--base.scm73213logplainabout -rw-r--r--bash.scm20375logplainabout -rw-r--r--batik.scm8763logplainabout -rw-r--r--bdw-gc.scm6683logplainabout -rw-r--r--benchmark.scm31928logplainabout -rw-r--r--bioconductor.scm741548logplainabout -rw-r--r--bioinformatics.scm806621logplainabout -rw-r--r--bison.scm3264logplainabout -rw-r--r--bittorrent.scm24154logplainabout -rw-r--r--boost.scm21001logplainabout -rw-r--r--bootloaders.scm87112logplainabout -rw-r--r--bootstrap.scm41318logplainabout -rw-r--r--bqn.scm9341logplainabout -rw-r--r--browser-extensions.scm4613logplainabout -rw-r--r--build-tools.scm41469logplainabout -rw-r--r--busybox.scm7713logplainabout -rw-r--r--c.scm62674logplainabout -rw-r--r--calcurse.scm3469logplainabout -rw-r--r--calendar.scm19590logplainabout -rw-r--r--ccache.scm3183logplainabout -rw-r--r--cdrom.scm43041logplainabout -rw-r--r--cedille.scm5388logplainabout -rw-r--r--certs.scm12934logplainabout -rw-r--r--check.scm139668logplainabout -rw-r--r--chemistry.scm51890logplainabout -rw-r--r--chez.scm58707logplainabout -rw-r--r--chicken.scm13887logplainabout -rw-r--r--chromium.scm44842logplainabout -rw-r--r--ci.scm12506logplainabout -rw-r--r--cinnamon.scm8100logplainabout -rw-r--r--clojure.scm28052logplainabout -rw-r--r--cluster.scm11896logplainabout -rw-r--r--cmake.scm18560logplainabout -rw-r--r--cobol.scm3223logplainabout -rw-r--r--code.scm47471logplainabout -rw-r--r--commencement.scm150470logplainabout -rw-r--r--compression.scm119674logplainabout -rw-r--r--compton.scm6374logplainabout -rw-r--r--configuration-management.scm4344logplainabout -rw-r--r--conky.scm3453logplainabout -rw-r--r--connman.scm8187logplainabout -rw-r--r--containers.scm15208logplainabout -rw-r--r--convmv.scm2300logplainabout -rw-r--r--cook.scm4105logplainabout -rw-r--r--coq.scm31400logplainabout -rw-r--r--cpio.scm2300logplainabout -rw-r--r--cpp.scm104481logplainabout -rw-r--r--cppi.scm1775logplainabout -rw-r--r--cran.scm1387301logplainabout -rw-r--r--crates-graphics.scm134449logplainabout -rw-r--r--crates-gtk.scm69666logplainabout -rw-r--r--crates-io.scm2590124logplainabout -rw-r--r--cross-base.scm29042logplainabout -rw-r--r--crypto.scm72505logplainabout -rw-r--r--cryptsetup.scm6632logplainabout -rw-r--r--cups.scm45913logplainabout -rw-r--r--curl.scm17317logplainabout -rw-r--r--cvassistant.scm3600logplainabout -rw-r--r--cybersecurity.scm6304logplainabout -rw-r--r--cyrus-sasl.scm3433logplainabout -rw-r--r--darwin.scm4460logplainabout -rw-r--r--databases.scm210073logplainabout -rw-r--r--datamash.scm6611logplainabout -rw-r--r--datastructures.scm20970logplainabout -rw-r--r--dav.scm6451logplainabout -rw-r--r--dbm.scm8358logplainabout -rw-r--r--dc.scm2177logplainabout -rw-r--r--debian.scm27164logplainabout -rw-r--r--debug.scm39691logplainabout -rw-r--r--dejagnu.scm4416logplainabout -rw-r--r--dezyne.scm5128logplainabout -rw-r--r--dhall.scm4395logplainabout -rw-r--r--dico.scm3645logplainabout -rw-r--r--dictionaries.scm19576logplainabout -rw-r--r--diffoscope.scm13952logplainabout -rw-r--r--digest.scm5494logplainabout -rw-r--r--direct-connect.scm3170logplainabout -rw-r--r--disk.scm62860logplainabout -rw-r--r--display-managers.scm20915logplainabout -rw-r--r--distributed.scm3923logplainabout -rw-r--r--django.scm54919logplainabout -rw-r--r--djvu.scm17497logplainabout -rw-r--r--dlang.scm20356logplainabout -rw-r--r--dns.scm59138logplainabout -rw-r--r--docbook.scm35073logplainabout -rw-r--r--docker.scm36089logplainabout -rw-r--r--documentation.scm17482logplainabout -rw-r--r--dunst.scm3639logplainabout -rw-r--r--dvtm.scm2302logplainabout -rw-r--r--easyrpg.scm4376logplainabout -rw-r--r--ebook.scm28433logplainabout -rw-r--r--ed.scm2414logplainabout -rw-r--r--education.scm47492logplainabout -rw-r--r--efi.scm9552logplainabout -rw-r--r--electronics.scm20114logplainabout -rw-r--r--elf.scm14560logplainabout -rw-r--r--elixir.scm5023logplainabout -rw-r--r--elm.scm28978logplainabout -rw-r--r--emacs-xyz.scm1437195logplainabout -rw-r--r--emacs.scm31036logplainabout -rw-r--r--embedded.scm75234logplainabout -rw-r--r--emulators.scm102467logplainabout -rw-r--r--enchant.scm6443logplainabout -rw-r--r--engineering.scm173633logplainabout -rw-r--r--enlightenment.scm23186logplainabout -rw-r--r--entr.scm3366logplainabout -rw-r--r--erlang.scm29020logplainabout -rw-r--r--esolangs.scm6462logplainabout -rw-r--r--fabric-management.scm9825logplainabout -rw-r--r--fcitx.scm9393logplainabout -rw-r--r--fcitx5.scm21418logplainabout -rw-r--r--figlet.scm1797logplainabout -rw-r--r--file-systems.scm89697logplainabout -rw-r--r--file.scm2332logplainabout -rw-r--r--finance.scm95778logplainabout -rw-r--r--firmware.scm47657logplainabout -rw-r--r--flashing-tools.scm21561logplainabout -rw-r--r--flex.scm3195logplainabout -rw-r--r--fltk.scm6076logplainabout -rw-r--r--fonts.scm136653logplainabout -rw-r--r--fontutils.scm77689logplainabout -rw-r--r--forth.scm2426logplainabout -rw-r--r--fpga.scm23601logplainabout -rw-r--r--freedesktop.scm119809logplainabout -rw-r--r--freeipmi.scm2495logplainabout -rw-r--r--fribidi.scm4168logplainabout -rw-r--r--fsf.scm2917logplainabout -rw-r--r--ftp.scm11876logplainabout -rw-r--r--fvwm.scm3028logplainabout -rw-r--r--game-development.scm121701logplainabout -rw-r--r--games.scm475416logplainabout -rw-r--r--gawk.scm9842logplainabout -rw-r--r--gcal.scm2889logplainabout -rw-r--r--gcc.scm67323logplainabout -rw-r--r--gd.scm6636logplainabout -rw-r--r--gdb.scm8186logplainabout -rw-r--r--genealogy.scm4362logplainabout -rw-r--r--genimage.scm6158logplainabout -rw-r--r--geo.scm118356logplainabout -rw-r--r--gettext.scm13664logplainabout -rw-r--r--ghostscript.scm16224logplainabout -rw-r--r--gimp.scm21781logplainabout -rw-r--r--gkrellm.scm2437logplainabout -rw-r--r--gl.scm47745logplainabout -rw-r--r--glib.scm56741logplainabout -rw-r--r--gnome-xyz.scm72841logplainabout -rw-r--r--gnome.scm506257logplainabout -rw-r--r--gnu-doc.scm4139logplainabout -rw-r--r--gnu-pw-mgr.scm2629logplainabout -rw-r--r--gnucash.scm13658logplainabout -rw-r--r--gnunet.scm19226logplainabout -rw-r--r--gnupg.scm48012logplainabout -rw-r--r--gnustep.scm14770logplainabout -rw-r--r--gnuzilla.scm90838logplainabout -rw-r--r--gobby.scm7917logplainabout -rw-r--r--golang.scm534984logplainabout -rw-r--r--gperf.scm2354logplainabout -rw-r--r--gpodder.scm9195logplainabout -rw-r--r--gps.scm11592logplainabout -rw-r--r--graph.scm27072logplainabout -rw-r--r--graphics.scm104690logplainabout -rw-r--r--graphviz.scm16656logplainabout -rw-r--r--groff.scm12305logplainabout -rw-r--r--groovy.scm37995logplainabout -rw-r--r--gsasl.scm4354logplainabout -rw-r--r--gstreamer.scm43102logplainabout -rw-r--r--gtk.scm114384logplainabout -rw-r--r--guile-wm.scm9119logplainabout -rw-r--r--guile-xyz.scm226870logplainabout -rw-r--r--guile.scm39590logplainabout -rw-r--r--gv.scm3235logplainabout -rw-r--r--gxmessage.scm2313logplainabout -rw-r--r--hardware.scm57255logplainabout -rw-r--r--haskell-apps.scm37408logplainabout -rw-r--r--haskell-check.scm44756logplainabout -rw-r--r--haskell-crypto.scm29500logplainabout -rw-r--r--haskell-web.scm76542logplainabout -rw-r--r--haskell-xyz.scm611278logplainabout -rw-r--r--haskell.scm67616logplainabout -rw-r--r--haxe.scm11692logplainabout -rw-r--r--heads.scm8366logplainabout -rw-r--r--hexedit.scm4579logplainabout -rw-r--r--high-availability.scm11817logplainabout -rw-r--r--hugs.scm3683logplainabout -rw-r--r--hunspell.scm18650logplainabout -rw-r--r--hurd.scm28716logplainabout -rw-r--r--hyperledger.scm8584logplainabout -rw-r--r--i2p.scm3508logplainabout -rw-r--r--ibus.scm37870logplainabout -rw-r--r--icu4c.scm9863logplainabout -rw-r--r--idris.scm12330logplainabout -rw-r--r--idutils.scm3143logplainabout -rw-r--r--image-processing.scm70441logplainabout -rw-r--r--image-viewers.scm45456logplainabout -rw-r--r--image.scm104236logplainabout -rw-r--r--imagemagick.scm11487logplainabout -rw-r--r--inklingreader.scm2147logplainabout -rw-r--r--inkscape.scm15197logplainabout -rw-r--r--installers.scm7482logplainabout -rw-r--r--instrumentation.scm21835logplainabout -rw-r--r--ipfs.scm16117logplainabout -rw-r--r--irc.scm29182logplainabout -rw-r--r--irods.scm12127logplainabout -rw-r--r--iso-codes.scm4910logplainabout -rw-r--r--jami.scm21706logplainabout -rw-r--r--java-bootstrap.scm32730logplainabout -rw-r--r--java-compression.scm15277logplainabout -rw-r--r--java-graphics.scm5022logplainabout -rw-r--r--java-maths.scm3554logplainabout -rw-r--r--java-xml.scm26969logplainabout -rw-r--r--java.scm586394logplainabout -rw-r--r--javascript.scm42591logplainabout -rw-r--r--jemalloc.scm3201logplainabout -rw-r--r--jose.scm1999logplainabout -rw-r--r--julia-jll.scm112106logplainabout -rw-r--r--julia-xyz.scm258761logplainabout -rw-r--r--julia.scm26313logplainabout -rw-r--r--jupyter.scm31368logplainabout -rw-r--r--kawa.scm2548logplainabout -rw-r--r--kde-frameworks.scm144576logplainabout -rw-r--r--kde-games.scm51156logplainabout -rw-r--r--kde-internet.scm14845logplainabout -rw-r--r--kde-multimedia.scm27513logplainabout -rw-r--r--kde-pim.scm74175logplainabout -rw-r--r--kde-plasma.scm95532logplainabout -rw-r--r--kde-systemtools.scm12724logplainabout -rw-r--r--kde-utils.scm44037logplainabout -rw-r--r--kde.scm51893logplainabout -rw-r--r--kerberos.scm11670logplainabout -rw-r--r--kodi.scm21552logplainabout -rw-r--r--language.scm38337logplainabout -rw-r--r--ld-wrapper.in12362logplainabout -rw-r--r--lean.scm4822logplainabout -rw-r--r--lego.scm6648logplainabout -rw-r--r--less.scm5612logplainabout -rw-r--r--lesstif.scm3383logplainabout -rw-r--r--libbsd.scm3927logplainabout -rw-r--r--libcanberra.scm5934logplainabout -rw-r--r--libdaemon.scm4613logplainabout -rw-r--r--libedit.scm2830logplainabout -rw-r--r--libevent.scm12587logplainabout -rw-r--r--libffcall.scm1922logplainabout -rw-r--r--libffi.scm11156logplainabout -rw-r--r--libftdi.scm1935logplainabout -rw-r--r--libidn.scm3575logplainabout -rw-r--r--libphidget.scm1798logplainabout -rw-r--r--libreoffice.scm45591logplainabout -rw-r--r--libsigsegv.scm2731logplainabout -rw-r--r--libunistring.scm3018logplainabout -rw-r--r--libunwind.scm2817logplainabout -rw-r--r--libusb.scm28172logplainabout -rw-r--r--license.scm9234logplainabout -rw-r--r--lighting.scm3296logplainabout -rw-r--r--linphone.scm44004logplainabout -rw-r--r--linux.scm434432logplainabout -rw-r--r--lirc.scm6316logplainabout -rw-r--r--lisp-check.scm40675logplainabout -rw-r--r--lisp-xyz.scm1074394logplainabout -rw-r--r--lisp.scm66417logplainabout -rw-r--r--llvm.scm96899logplainabout -rw-r--r--logging.scm14603logplainabout -rw-r--r--logo.scm2823logplainabout -rw-r--r--loko.scm3517logplainabout -rw-r--r--lout.scm5620logplainabout -rw-r--r--lsof.scm4657logplainabout -rw-r--r--lua.scm53374logplainabout -rw-r--r--lxde.scm26524logplainabout -rw-r--r--lxqt.scm40823logplainabout -rw-r--r--m4.scm3206logplainabout -rw-r--r--machine-learning.scm181287logplainabout -rw-r--r--magic-wormhole.scm6245logplainabout -rw-r--r--mail.scm198863logplainabout -rw-r--r--make-bootstrap.scm35833logplainabout -rw-r--r--man.scm18379logplainabout -rw-r--r--markup.scm19976logplainabout -rw-r--r--marst.scm1763logplainabout -rw-r--r--mastodon.scm6644logplainabout -rw-r--r--mate.scm53415logplainabout -rw-r--r--maths.scm360408logplainabout -rw-r--r--matrix.scm11434logplainabout -rw-r--r--maven-parent-pom.scm23387logplainabout -rw-r--r--maven.scm171945logplainabout -rw-r--r--mc.scm4610logplainabout -rw-r--r--mcrypt.scm4587logplainabout -rw-r--r--medical.scm4425logplainabout -rw-r--r--mercury.scm11210logplainabout -rw-r--r--mes.scm11429logplainabout -rw-r--r--messaging.scm134464logplainabout -rw-r--r--microcom.scm2155logplainabout -rw-r--r--minetest.scm33067logplainabout -rw-r--r--mingw.scm8577logplainabout -rw-r--r--moe.scm2212logplainabout -rw-r--r--mold.scm5071logplainabout -rw-r--r--monitoring.scm33486logplainabout -rw-r--r--moreutils.scm3532logplainabout -rw-r--r--motti.scm1669logplainabout -rw-r--r--mp3.scm32676logplainabout -rw-r--r--mpd.scm23204logplainabout -rw-r--r--mpi.scm24547logplainabout -rw-r--r--mtools.scm2089logplainabout -rw-r--r--multiprecision.scm22767logplainabout -rw-r--r--music.scm281929logplainabout -rw-r--r--musl.scm2190logplainabout -rw-r--r--myrddin.scm2544logplainabout -rw-r--r--nano.scm2150logplainabout -rw-r--r--ncdu.scm4103logplainabout -rw-r--r--ncurses.scm16705logplainabout -rw-r--r--netpbm.scm8288logplainabout -rw-r--r--nettle.scm4569logplainabout -rw-r--r--networking.scm185067logplainabout -rw-r--r--nfs.scm7356logplainabout -rw-r--r--nickle.scm2467logplainabout -rw-r--r--nicotine.scm3764logplainabout -rw-r--r--nim.scm7659logplainabout -rw-r--r--ninja.scm3138logplainabout -rw-r--r--node-xyz.scm63981logplainabout -rw-r--r--node.scm39933logplainabout -rw-r--r--notcurses.scm3208logplainabout -rw-r--r--noweb.scm5108logplainabout -rw-r--r--nss.scm10167logplainabout -rw-r--r--ntp.scm10108logplainabout -rw-r--r--nutrition.scm6528logplainabout -rw-r--r--nvi.scm4375logplainabout -rw-r--r--ocaml.scm387521logplainabout -rw-r--r--ocr.scm12347logplainabout -rw-r--r--onc-rpc.scm7099logplainabout -rw-r--r--openbox.scm4401logplainabout -rw-r--r--opencl.scm16362logplainabout -rw-r--r--opencog.scm11859logplainabout -rw-r--r--openkinect.scm5553logplainabout -rw-r--r--openldap.scm16893logplainabout -rw-r--r--openpgp.scm6689logplainabout -rw-r--r--openstack.scm41198logplainabout -rw-r--r--orange.scm7692logplainabout -rw-r--r--orpheus.scm4051logplainabout -rw-r--r--ots.scm3434logplainabout -rw-r--r--package-management.scm94657logplainabout -rw-r--r--pantheon.scm5920logplainabout -rw-r--r--parallel.scm23299logplainabout -rw-r--r--pascal.scm16681logplainabout -rw-r--r--password-utils.scm62873logplainabout d---------patches71812logplain -rw-r--r--patchutils.scm23128logplainabout -rw-r--r--patool.scm3535logplainabout -rw-r--r--pciutils.scm7807logplainabout -rw-r--r--pcre.scm5861logplainabout -rw-r--r--pdf.scm64507logplainabout -rw-r--r--pem.scm1789logplainabout -rw-r--r--pep.scm13227logplainabout -rw-r--r--perl-check.scm59142logplainabout -rw-r--r--perl-compression.scm7743logplainabout -rw-r--r--perl-maths.scm2883logplainabout -rw-r--r--perl-web.scm4692logplainabout -rw-r--r--perl.scm489249logplainabout -rw-r--r--perl6.scm30806logplainabout -rw-r--r--phabricator.scm3286logplainabout -rw-r--r--photo.scm33312logplainabout -rw-r--r--php.scm23151logplainabout -rw-r--r--piet.scm7482logplainabout -rw-r--r--pikchr.scm2608logplainabout -rw-r--r--pkg-config.scm8078logplainabout -rw-r--r--plan9.scm2725logplainabout -rw-r--r--plotutils.scm20991logplainabout -rw-r--r--poedit.scm2875logplainabout -rw-r--r--polkit.scm10483logplainabout -rw-r--r--popt.scm6255logplainabout -rw-r--r--potassco.scm18155logplainabout -rw-r--r--presentation.scm3947logplainabout -rw-r--r--pretty-print.scm16173logplainabout -rw-r--r--printers.scm2676logplainabout -rw-r--r--profiling.scm17229logplainabout -rw-r--r--prolog.scm7257logplainabout -rw-r--r--protobuf.scm25456logplainabout -rw-r--r--pth.scm2759logplainabout -rw-r--r--pulseaudio.scm20636logplainabout -rw-r--r--pumpio.scm2779logplainabout -rw-r--r--pure.scm2629logplainabout -rw-r--r--purescript.scm4467logplainabout -rw-r--r--pv.scm1974logplainabout -rw-r--r--pypy.scm9294logplainabout -rw-r--r--python-build.scm29074logplainabout -rw-r--r--python-check.scm100192logplainabout -rw-r--r--python-compression.scm20360logplainabout -rw-r--r--python-crypto.scm66305logplainabout -rw-r--r--python-science.scm69797logplainabout -rw-r--r--python-web.scm317605logplainabout -rw-r--r--python-xyz.scm1234440logplainabout -rw-r--r--python.scm37444logplainabout -rw-r--r--qt.scm203440logplainabout -rw-r--r--racket.scm51357logplainabout -rw-r--r--radio.scm103021logplainabout -rw-r--r--ragel.scm3266logplainabout -rw-r--r--rails.scm62744logplainabout -rw-r--r--raspberry-pi.scm24299logplainabout -rw-r--r--ratpoison.scm4256logplainabout -rw-r--r--rcm.scm2855logplainabout -rw-r--r--rdesktop.scm5056logplainabout -rw-r--r--rdf.scm20719logplainabout -rw-r--r--re2c.scm2214logplainabout -rw-r--r--readline.scm7034logplainabout -rw-r--r--rednotebook.scm4037logplainabout -rw-r--r--regex.scm3856logplainabout -rw-r--r--robotics.scm5942logplainabout -rw-r--r--rocm.scm12174logplainabout -rw-r--r--rpc.scm13444logplainabout -rw-r--r--rpm.scm7587logplainabout -rw-r--r--rrdtool.scm3866logplainabout -rw-r--r--rsync.scm4495logplainabout -rw-r--r--ruby.scm626568logplainabout -rw-r--r--rush.scm1896logplainabout -rw-r--r--rust-apps.scm93012logplainabout -rw-r--r--rust.scm41902logplainabout -rw-r--r--sagemath.scm13279logplainabout -rw-r--r--samba.scm22330logplainabout -rw-r--r--sawfish.scm7354logplainabout -rw-r--r--scanner.scm20302logplainabout -rw-r--r--scheme.scm54513logplainabout -rw-r--r--screen.scm7756logplainabout -rw-r--r--scribus.scm4350logplainabout -rw-r--r--scsi.scm4311logplainabout -rw-r--r--sdl.scm26867logplainabout -rw-r--r--search.scm31660logplainabout -rw-r--r--security-token.scm40439logplainabout -rw-r--r--selinux.scm17794logplainabout -rw-r--r--sequoia.scm23007logplainabout -rw-r--r--serialization.scm29729logplainabout -rw-r--r--serveez.scm2523logplainabout -rw-r--r--shells.scm83043logplainabout -rw-r--r--shellutils.scm32173logplainabout -rw-r--r--simh.scm3859logplainabout -rw-r--r--simulation.scm52488logplainabout -rw-r--r--skarnet.scm15784logplainabout -rw-r--r--skribilo.scm4350logplainabout -rw-r--r--slang.scm8483logplainabout -rw-r--r--smalltalk.scm7264logplainabout -rw-r--r--sml.scm14602logplainabout -rw-r--r--solidity.scm2639logplainabout -rw-r--r--speech.scm29702logplainabout -rw-r--r--sphinx.scm45663logplainabout -rw-r--r--spice.scm15956logplainabout -rw-r--r--spreadsheet.scm4345logplainabout -rw-r--r--sqlite.scm5530logplainabout -rw-r--r--squirrel.scm3589logplainabout -rw-r--r--ssh.scm42780logplainabout -rw-r--r--sssd.scm12849logplainabout -rw-r--r--stalonetray.scm2005logplainabout -rw-r--r--statistics.scm277282logplainabout -rw-r--r--stb.scm4877logplainabout -rw-r--r--stenography.scm4500logplainabout -rw-r--r--storage.scm11829logplainabout -rw-r--r--suckless.scm52529logplainabout -rw-r--r--sugar.scm34964logplainabout -rw-r--r--swig.scm2980logplainabout -rw-r--r--sycl.scm2539logplainabout -rw-r--r--sync.scm23418logplainabout -rw-r--r--syncthing.scm43468logplainabout -rw-r--r--syndication.scm24087logplainabout -rw-r--r--synergy.scm3535logplainabout -rw-r--r--task-management.scm18744logplainabout -rw-r--r--task-runners.scm4515logplainabout -rw-r--r--tbb.scm7804logplainabout -rw-r--r--tcl.scm20644logplainabout -rw-r--r--telegram.scm27795logplainabout -rw-r--r--telephony.scm45867logplainabout -rw-r--r--terminals.scm68590logplainabout -rw-r--r--terraform.scm2100logplainabout -rw-r--r--tex.scm607984logplainabout -rw-r--r--texinfo.scm14973logplainabout -rw-r--r--text-editors.scm57872logplainabout -rw-r--r--textutils.scm63858logplainabout -rw-r--r--time.scm23587logplainabout -rw-r--r--tls.scm51097logplainabout -rw-r--r--tmux.scm13243logplainabout -rw-r--r--toolkits.scm7422logplainabout -rw-r--r--tor.scm20545logplainabout -rw-r--r--toys.scm18876logplainabout -rw-r--r--tree-sitter.scm18010logplainabout -rw-r--r--tryton.scm181389logplainabout -rw-r--r--tv.scm2643logplainabout -rw-r--r--uglifyjs.scm2019logplainabout -rw-r--r--uml.scm3941logplainabout -rw-r--r--unicode.scm6883logplainabout -rw-r--r--unrtf.scm2003logplainabout -rw-r--r--upnp.scm6621logplainabout -rw-r--r--usb-modeswitch.scm7783logplainabout -rw-r--r--uucp.scm7706logplainabout -rw-r--r--valgrind.scm4216logplainabout -rw-r--r--version-control.scm156206logplainabout -rw-r--r--video.scm224169logplainabout -rw-r--r--vim.scm57210logplainabout -rw-r--r--virtualization.scm113011logplainabout -rw-r--r--vlang.scm5899logplainabout -rw-r--r--vnc.scm27709logplainabout -rw-r--r--vpn.scm51857logplainabout -rw-r--r--vulkan.scm22585logplainabout -rw-r--r--w3m.scm4455logplainabout -rw-r--r--wdiff.scm2215logplainabout -rw-r--r--weather.scm2190logplainabout -rw-r--r--web-browsers.scm39247logplainabout -rw-r--r--web.scm348182logplainabout -rw-r--r--webkit.scm13306logplainabout -rw-r--r--wget.scm7006logplainabout -rw-r--r--wine.scm22256logplainabout -rw-r--r--wireservice.scm10816logplainabout -rw-r--r--wm.scm124256logplainabout -rw-r--r--wordnet.scm4765logplainabout -rw-r--r--wv.scm2358logplainabout -rw-r--r--wxwidgets.scm15050logplainabout -rw-r--r--xdisorg.scm138926logplainabout -rw-r--r--xfce.scm85883logplainabout -rw-r--r--xfig.scm6646logplainabout -rw-r--r--xiph.scm20557logplainabout -rw-r--r--xml.scm79363logplainabout -rw-r--r--xnee.scm2101logplainabout -rw-r--r--xorg.scm229577logplainabout -rw-r--r--zig-xyz.scm2772logplainabout -rw-r--r--zig.scm7482logplainabout -rw-r--r--zile.scm7236logplainabout -rw-r--r--zwave.scm6224logplainabout