Subject: [bug#66801] (no subject)

From: Pierre-Henry Fröhring <[email-masked]>
Date: Sun, 10 Dec 2023 13:34:37 +0100

Hello lilyp,

After this email comes the v5 batch of patches.
Are these good enough?
For the record, I'm building a checklists of your suggestions here: <https://phfrohring.com/6e5895e1-fbbe-4ccb-a220-ae51807d70bd.html>
« These rules do their job when mindlessly applying them get rid of details preventing patches to be merged. »
I still did not compile all of them, but it will be done.

These patches were added on top of:
┌────
│ 06f25a9a8 * origin/master gnu: xrdp: Update to 0.9.23.1.
└────

The packages build on my machine.
┌────
│ echo $PWD
│ git rev-parse HEAD
└────

┌────

└────

┌────
│ ./pre-inst-env guix build elixir-file-system
└────

┌────
│ /gnu/store/76fsrn1bdsyhm9m1p17ibrd0cbgybigw-elixir-file-system-0.2.10
└────

┌────
│ ./pre-inst-env guix build elixir-machete
└────

┌────
│ /gnu/store/f5jc0jg1yd9imgvy0sk44ci0l1lh2v0x-elixir-machete-0.2.8
└────

The main difference is the introduction of the `snippet' field that
actually does the job for `elixir-file-system':
┌────
│ (define-public elixir-file-system
│   (package
│     (name "elixir-file-system")
│     (version "0.2.10")
│     (source
│      (origin
│        (method url-fetch)
│        (uri (hexpm-uri name version))
│        (sha256
│         (base32 "1p0myxmnjjds8bbg69dd6fvhk8q3n7lb78zd4qvmjajnzgdmw6a1"))
│        (snippet #~(begin
│                     (use-modules (guix build utils) (ice-9 ftw))
│                     (mkdir "source")
│                     (for-each (lambda (file)
│                                 (when (not (member file '("." ".." "source")))
│                                   (rename-file file (string-append "source/" file))))
│                               (scandir "."))
│                     (with-directory-excursion "source"
│                       (invoke (string-append #+gzip "/bin/gunzip") "-v" "contents.tar.gz")
│                       (invoke (string-append #+tar "/bin/tar") "-xvf" "contents.tar")
│                       (delete-file "contents.tar")
│                       (delete-file "priv/inotifywait.exe"))))))
│     (build-system mix-build-system)
│     (propagated-inputs (list inotify-tools))
│     (arguments (list #:tests? #f)) ; no tests
│     (synopsis "File system change watcher")
│     (description "Provides a file system change watcher wrapper based on
│ https://github.com/synrc/fs.")
│     (home-page "https://hexdocs.pm/file_system/")
│     (license license:wtfpl2)))
└────

For some reason, `--delete' option of `tar' did not work as expected which
made the code a bit longer that what it should have been:
┌────
│ tar --delete -f contents.tar priv/inotifywait.exe
│ emacsclient contents.tar
└────

┌────
│ …
│  -rw-r--r--       0/0           734 c_src/mac/cli.h
│  -rw-r--r--       0/0          1496 c_src/mac/common.h
│   rwxrwSrwt  163910/18953450 8929236060 >= 6))) {
│       config.flags |= kFSEventStreamCreateFlagIgnoreSelf;
│     } else {
│       fprintf(stder
└────

┌────
│ tar xf contents.tar
└────

┌────
│ tar: Skipping to next header
│ tar: Exiting with failure status due to previous errors
└────

–
Regards,
phf