[PATCH] gnu: Add trash-d.

  • Open
  • quality assurance status badge
Details
2 participants
  • Hugo Nobrega
  • Steve George
Owner
unassigned
Submitted by
Hugo Nobrega
Severity
normal
H
H
Hugo Nobrega wrote on 7 Dec 2023 16:34
(address . guix-patches@gnu.org)(name . Hugo Nobrega)(address . hugonobrega@gmail.com)
d6ab38823333b95771db3767bfd78508feb410db.1701963280.git.hugonobrega@gmail.com
Change-Id: Ib216ec159ef256b79b3fba740ad3fc1575f5ecbc
---
gnu/packages/dlang-xyz.scm | 75 ++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
create mode 100644 gnu/packages/dlang-xyz.scm

Toggle diff (85 lines)
diff --git a/gnu/packages/dlang-xyz.scm b/gnu/packages/dlang-xyz.scm
new file mode 100644
index 0000000000..14015f8bc2
--- /dev/null
+++ b/gnu/packages/dlang-xyz.scm
@@ -0,0 +1,75 @@
+;;; GNU Guix --- Functional package management for GNU
+;;;
+;;; 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 packages dlang-xyz)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages commencement)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages curl)
+ #:use-module (gnu packages dlang)
+ #:use-module (gnu packages groff)
+ #:use-module (guix build-system dub)
+ #:use-module (guix git-download)
+ #:use-module (guix packages))
+
+(define-public trash-d
+ (package
+ (name "trash-d")
+ (version "19")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rushsteve1/trash-d.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256 (base32 "1ljj1fqlby15iaar4pzni3h2hc7ncj2gads26bz2cala0inl3ywf"))))
+ (build-system dub-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-before 'build 'set-env-cc
+ (lambda _
+ (setenv "CC" "gcc")))
+ (add-before 'build 'touch-dub-json
+ (lambda _
+ (mkdir-p ".dub")
+ (open-output-file ".dub/dub.json")))
+ (add-before 'build 'patch-build-dub
+ (lambda _
+ (substitute* "dub.json"
+ (("\"dflags-linux-ldc\": \\[\"-static\"\\]")
+ "\"dflags-ldc\": []"))))
+ (add-before 'install 'make-man-page
+ (lambda _
+ (invoke "ronn" "--roff" "MANUAL.md")
+ (invoke "mv" "MANUAL.1" "trash.1")
+ (invoke "gzip" "-9" "trash.1")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (install-file "build/trash" (string-append (assoc-ref outputs "out")
+ "/bin"))
+ (install-file "trash.1.gz" (string-append (assoc-ref outputs "out")
+ "/share/man/man1")))))))
+ (native-inputs
+ (list ld-gold-wrapper ronn-ng groff-minimal gzip))
+ (home-page "https://github.com/rushsteve1/trash-d")
+ (synopsis "Delete files using the FreeDesktop trash bin")
+ (description "A near drop-in replacement for rm that uses the FreeDesktop
+trash bin. trash-d is written in the D programming language using only D's
+Phobos standard library.")
+ (license license:expat)))

base-commit: 06f25a9a85be1bbe7a709e58ce41c1a834e5f1ae
--
2.41.0
H
H
Hugo Nobrega wrote on 7 Dec 2023 16:40
(address . guix-patches@gnu.org)
CA+hgWQNdQWUQ_broVmPBKvdsSrZpfmRUbe7d0f-fpEmb0EyZaQ@mail.gmail.com
Some comments:

- this is my first "proper" patch so I apologize for any faux-pas :)

- in particular, I didn't quite know where to put the package, so I thought
I
would follow tradition and put it in a "language-xyz.scm" file, which is
new in
this case (the language is D)

- I didn't know what to do with the Copyright line in the new file, so I
didn't
add one

Best regards,
Hugo
Attachment: file
S
S
Steve George wrote on 1 Nov 20:52 +0100
RE: add trash-d guix package
(address . 67692@debbugs.gnu.org)
ZyUxZG5Yxw-QtbwH@dragon2
Hi Hugo,

You sent a patch to add trash-d for d-lang.

The patch looked reasonable and applies cleanly. I can't get it to build
though. Here's what I'm doing:

guix shell --development guix --container --network --nesting --share=/var/log/guix coreutils
./pre-inst-env guix build --no-substitutes --no-grafts trash-d@19

It fails in the check phase with

starting phase `check'
object.Exception@rdmd_test.d(645): import std.file;
write("/tmp/guix-build-d-tools-2.105.3.drv-0/rdmd_makefile_test.txt","hello world\n");
Error: cannot find input file `/gnu/store/3jhfhxdf6v5ms10x5zmnl166dh3yhbr1-bash-minimal-5.1.16/bin/sh.d`
import path[0] = /gnu/store/3jhfhxdf6v5ms10x5zmnl166dh3yhbr1-bash-minimal-5.1.16/bin
import path[1] = /gnu/store/b874bxmbvrq498gq8i0xr4sda15ncx9w-ldc-1.38.0/include/d
Failed: ["ldmd2", "-v", "-o-", "/gnu/store/3jhfhxdf6v5ms10x5zmnl166dh3yhbr1-bash-minimal-5.1.16/bin/sh.d", "-I/gnu/store/3jhfhxdf6v5ms10x5zmnl166dh3yhbr1-bash-minimal-5.1.16/bin"]
make: *** [/tmp/guix-build-d-tools-2.105.3.drv-0/rdmd_makefile_test.mak:5: /tmp/guix-build-d-tools-2.105.3.drv-0/rdmd_makefile_test.txt] Error 1

Futurile
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 67692@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 67692
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch