Subject: bug#56177: Duplicate File During copy-source Phase

From: Charles <[email-masked]>
Date: Thu, 23 Jun 2022 21:12:53 +0000

Here is the package definition:

(use-modules
 (guix packages)
 (guix git-download)
 (guix gexp)
 (guix build-system asdf)
 (guix licenses)
 (gnu packages lisp-xyz))

(define-public sbcl-ninglex
  (let ((commit "c56b68a1c4eb7049550b2e0e17222c84183752c0"))
    (package
      (name "sbcl-ninglex")
      (version (git-version "0.1" "1" commit))
      (source
       (origin
         (method git-fetch)
         (uri (git-reference
               (url "https://github.com/charje/ninglex.git")
               (commit commit)))
         (file-name (git-file-name "ninglex" version))
         (sha256
          (base32
           "1gxbnm3233f1aji0gbr1zzgg64shsss68iw9q7a2pmxk2aqqi5hi"))))
      (build-system asdf-build-system/sbcl)
      ;; (arguments
      ;;  (list #:phases
	  ;;        #~(modify-phases %standard-phases
	  ;;            (add-before 'copy-source 'orrible-hack
	  ;;              (lambda _
	  ;;                (delete-file-recursively "ninglex-example"))))))
      (inputs
       (list sbcl-ningle
             sbcl-lack
             sbcl-clack))
      (home-page "https://github.com/defunkydrummer/ninglex")
      (synopsis "Ninglex micro-web framework")
      (description "A really tiny, ready-to-go micro web framework for simple,
quick and dirty stuff, based on Ningle.  It is ready to go, learning curve
almost zero.")
      (license expat))))

Here is the build log:

starting phase `set-SOURCE-DATE-EPOCH'
phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
starting phase `set-paths'
environment variable `PATH' set to `/gnu/store/sw72yxiay7b6q96qpj6c3xghn25n54hq-sbcl-2.2.2/bin:/gnu/store/g2ajyl8xk9aarxrgjbng2hkj3qm2v0z2-tar-1.34/bin:/gnu/store/iixwcv3k49ks1rf34pjgfzmzyhhgwng3-gzip-1.10/bin:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/bin:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/bin:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/bin:/gnu/store/ahmmvw21p11ik80lg1f953y7fd8bqkjm-diffutils-3.8/bin:/gnu/store/z39hnrwds1dgcbpfgj8dnv2cngjb2xbl-patch-2.7.6/bin:/gnu/store/39rsx3nl4c31952jybbjb8d6idr5hx7r-findutils-4.8.0/bin:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/bin:/gnu/store/wxgv6i8g0p24q5gcyzd0yr07s8kn9680-sed-4.8/bin:/gnu/store/xjwp2hsd9256icjjybfrmznppjicywf6-grep-3.6/bin:/gnu/store/d251rfgc9nm2clzffzhgiipdvfvzkvwi-coreutils-8.32/bin:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/bin:/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin:/gnu/store/s2pg5k98fl2g2szg9dykxyd9zl3xihv9-ld-wrapper-0/bin:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/bin:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/bin:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/bin:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/sbin'
environment variable `XDG_DATA_DIRS' set to `/gnu/store/sw72yxiay7b6q96qpj6c3xghn25n54hq-sbcl-2.2.2/share:/gnu/store/nwbjp3xjjpjknfgdkncyd9aj046shc0p-sbcl-ningle-0.3.0-2.2e85675/share:/gnu/store/wy1ahyamdxx1k9c7nb3kyji7whifr2bz-sbcl-lack-0.1.0-1.abff8ef/share:/gnu/store/pihqhhk8xna6mr1dkpjc9sgblq4k4l44-sbcl-clack-2.0.0-2.6fd0279/share:/gnu/store/g2ajyl8xk9aarxrgjbng2hkj3qm2v0z2-tar-1.34/share:/gnu/store/iixwcv3k49ks1rf34pjgfzmzyhhgwng3-gzip-1.10/share:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/share:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/share:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/share:/gnu/store/ahmmvw21p11ik80lg1f953y7fd8bqkjm-diffutils-3.8/share:/gnu/store/z39hnrwds1dgcbpfgj8dnv2cngjb2xbl-patch-2.7.6/share:/gnu/store/39rsx3nl4c31952jybbjb8d6idr5hx7r-findutils-4.8.0/share:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/share:/gnu/store/wxgv6i8g0p24q5gcyzd0yr07s8kn9680-sed-4.8/share:/gnu/store/xjwp2hsd9256icjjybfrmznppjicywf6-grep-3.6/share:/gnu/store/d251rfgc9nm2clzffzhgiipdvfvzkvwi-coreutils-8.32/share:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/share:/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/share:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/share:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/share:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/share:/gnu/store/4jdghmc65q7i7ib89zmvq66l0ghf7jc4-glibc-2.33-static/share:/gnu/store/6mjww4iz4xdan74d5bbjfh7il8rngfkk-linux-libre-headers-5.10.35/share'
environment variable `XDG_CONFIG_DIRS' set to `/gnu/store/sw72yxiay7b6q96qpj6c3xghn25n54hq-sbcl-2.2.2/etc:/gnu/store/nwbjp3xjjpjknfgdkncyd9aj046shc0p-sbcl-ningle-0.3.0-2.2e85675/etc:/gnu/store/wy1ahyamdxx1k9c7nb3kyji7whifr2bz-sbcl-lack-0.1.0-1.abff8ef/etc:/gnu/store/pihqhhk8xna6mr1dkpjc9sgblq4k4l44-sbcl-clack-2.0.0-2.6fd0279/etc:/gnu/store/g2ajyl8xk9aarxrgjbng2hkj3qm2v0z2-tar-1.34/etc:/gnu/store/iixwcv3k49ks1rf34pjgfzmzyhhgwng3-gzip-1.10/etc:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/etc:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/etc:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/etc:/gnu/store/ahmmvw21p11ik80lg1f953y7fd8bqkjm-diffutils-3.8/etc:/gnu/store/z39hnrwds1dgcbpfgj8dnv2cngjb2xbl-patch-2.7.6/etc:/gnu/store/39rsx3nl4c31952jybbjb8d6idr5hx7r-findutils-4.8.0/etc:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/etc:/gnu/store/wxgv6i8g0p24q5gcyzd0yr07s8kn9680-sed-4.8/etc:/gnu/store/xjwp2hsd9256icjjybfrmznppjicywf6-grep-3.6/etc:/gnu/store/d251rfgc9nm2clzffzhgiipdvfvzkvwi-coreutils-8.32/etc:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/etc:/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/etc:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/etc:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/etc:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/etc'
environment variable `BASH_LOADABLES_PATH' unset
environment variable `C_INCLUDE_PATH' set to `/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/include:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/include:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/include:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/include:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/include:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/include:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/include:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include:/gnu/store/6mjww4iz4xdan74d5bbjfh7il8rngfkk-linux-libre-headers-5.10.35/include'
environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/include:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/include:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/include:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/include:/gnu/store/55cbpsi18mahg131nmiya6km5b4mscfa-make-4.3/include:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/include:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/include/c++:/gnu/store/069aq2v993kpc41yabp5b6vm4wb9jkhg-gcc-10.3.0/include:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/include:/gnu/store/6mjww4iz4xdan74d5bbjfh7il8rngfkk-linux-libre-headers-5.10.35/include'
environment variable `LIBRARY_PATH' set to `/gnu/store/sw72yxiay7b6q96qpj6c3xghn25n54hq-sbcl-2.2.2/lib:/gnu/store/nwbjp3xjjpjknfgdkncyd9aj046shc0p-sbcl-ningle-0.3.0-2.2e85675/lib:/gnu/store/wy1ahyamdxx1k9c7nb3kyji7whifr2bz-sbcl-lack-0.1.0-1.abff8ef/lib:/gnu/store/pihqhhk8xna6mr1dkpjc9sgblq4k4l44-sbcl-clack-2.0.0-2.6fd0279/lib:/gnu/store/s3hl12jxz9ybs7nsy7kq7ybzz7qnzmsg-bzip2-1.0.8/lib:/gnu/store/c8isj4jq6knv0icfgr43di6q3nvdzkx7-xz-5.2.5/lib:/gnu/store/4ic6244i3ca4b4rxc2wnrgllsidyishv-file-5.39/lib:/gnu/store/690qz3fg334dpwn3pn6k59n4wc943p2b-gawk-5.1.0/lib:/gnu/store/rc781v4k0drhaqn90xfwwpspki5x0bvf-binutils-2.37/lib:/gnu/store/5h2w4qi9hk1qzzgi1w83220ydslinr4s-glibc-2.33/lib:/gnu/store/4jdghmc65q7i7ib89zmvq66l0ghf7jc4-glibc-2.33-static/lib:/gnu/store/fnr1z6xsan0437r0yg48d0y8k32kqxby-glibc-utf8-locales-2.33/lib'
environment variable `GUIX_LOCPATH' set to `/gnu/store/fnr1z6xsan0437r0yg48d0y8k32kqxby-glibc-utf8-locales-2.33/lib/locale'
phase `set-paths' succeeded after 0.0 seconds
starting phase `install-locale'
using 'en_US.utf8' locale for category "LC_ALL"
phase `install-locale' succeeded after 0.0 seconds
starting phase `unpack'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/ninglex.asd' -> `./ninglex.asd'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/.gitignore' -> `./.gitignore'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/LICENSE' -> `./LICENSE'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/ninglex-example.asd' -> `./ninglex-example.asd'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/README.markdown' -> `./README.markdown'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/ninglex-example/ninglex-example.asd' -> `./ninglex-example/ninglex-example.asd'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/ninglex-example/example/util.lisp' -> `./ninglex-example/example/util.lisp'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/ninglex-example/example/example.lisp' -> `./ninglex-example/example/example.lisp'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/ninglex-example/example/static/logo-compact.png' -> `./ninglex-example/example/static/logo-compact.png'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/ninglex-example/example/static/style.css' -> `./ninglex-example/example/static/style.css'
`/gnu/store/l2g6n912ll1liqkywysi4varahmrw28q-ninglex-0.1-1.c56b68a-checkout/src/ninglex.lisp' -> `./src/ninglex.lisp'
phase `unpack' succeeded after 0.0 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `copy-source'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/ninglex.asd' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/ninglex.asd'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/.gitignore' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/.gitignore'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/LICENSE' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/LICENSE'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/ninglex-example.asd' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/ninglex-example.asd'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/README.markdown' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/README.markdown'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/ninglex-example/ninglex-example.asd' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/ninglex-example/ninglex-example.asd'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/ninglex-example/example/util.lisp' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/ninglex-example/example/util.lisp'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/ninglex-example/example/example.lisp' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/ninglex-example/example/example.lisp'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/ninglex-example/example/static/logo-compact.png' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/ninglex-example/example/static/logo-compact.png'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/ninglex-example/example/static/style.css' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/ninglex-example/example/static/style.css'
`/tmp/guix-build-sbcl-ninglex-0.1-1.c56b68a.drv-0/source/src/ninglex.lisp' -> `/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-sbcl-ninglex-0.1-1.c56b68a/share/common-lisp/source/ninglex/src/ninglex.lisp'
error: in phase 'copy-source': uncaught exception:
system-error "symlink" "~A" ("File exists") (17)
phase `copy-source' failed after 0.0 seconds
Backtrace:
          13 (primitive-load "/gnu/store/4b6di0djyzg542clb72spdmxbd5…")
In ice-9/boot-9.scm:
    152:2 12 (with-fluid* _ _ _)
    152:2 11 (with-fluid* _ _ _)
In guix/build/gnu-build-system.scm:
    906:2 10 (gnu-build #:source _ #:outputs _ #:inputs _ #:phases . #)
In ice-9/boot-9.scm:
  1752:10  9 (with-exception-handler _ _ #:unwind? _ # _)
In srfi/srfi-1.scm:
    634:9  8 (for-each #<procedure 7ffff2b18c60 at guix/build/gnu-b…> …)
In ice-9/boot-9.scm:
  1752:10  7 (with-exception-handler _ _ #:unwind? _ # _)
In guix/build/gnu-build-system.scm:
   927:23  6 (_)
In guix/build/asdf-build-system.scm:
    173:4  5 (copy-source #:outputs _ #:asd-systems _)
    111:4  4 (copy-files-to-output "/gnu/store/ns6gsh0rv8ipcm0dz44c…" …)
In srfi/srfi-1.scm:
    634:9  3 (for-each #<procedure 7ffff2bd9ec0 at guix/build/asdf-…> …)
In unknown file:
           2 (symlink "/gnu/store/ns6gsh0rv8ipcm0dz44ccvppximljz3w-…" …)
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure symlink: File exists

Uncommenting the arguments section works around this, but it shouldn't be happening.