[PATCH] gnu: Add potato-make.

  • Done
  • quality assurance status badge
Details
3 participants
  • Ludovic Courtès
  • Evgeny Pisemsky
  • Noé Lopez
Owner
unassigned
Submitted by
Evgeny Pisemsky
Severity
normal
E
E
Evgeny Pisemsky wrote on 11 Nov 12:35 +0100
(address . guix-patches@gnu.org)
87msi6uhov.fsf@pisemsky.site
From 8e41b5222349495b1589a11f0ae2fc463124f17b Mon Sep 17 00:00:00 2001
Message-ID: <8e41b5222349495b1589a11f0ae2fc463124f17b.1731324699.git.mail@pisemsky.site>
From: Evgeny Pisemsky <mail@pisemsky.site>
Date: Mon, 11 Nov 2024 14:30:00 +0300
Subject: [PATCH] gnu: Add potato-make.

* gnu/packages/build-tools.scm (potato-make): New variable.

Change-Id: I86843b4001298ee984e6d1c35b59dc3b2e51d97f
---
gnu/packages/build-tools.scm | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

Toggle diff (69 lines)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 21df25e4f5..32c65819c6 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>
+;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,6 +42,7 @@ (define-module (gnu packages build-tools)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
+ #:use-module (guix build-system guile)
#:use-module (guix modules)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
@@ -54,6 +56,7 @@ (define-module (gnu packages build-tools)
#:use-module (gnu packages cppi)
#:use-module (gnu packages elf)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp)
#:use-module (gnu packages logging)
@@ -1042,3 +1045,36 @@ (define-public pdpmake
;; pdpmake is distributed under the public domain, but the sources include
;; tests under the GPL license version 2.
(license (list license:gpl2 license:public-domain))))
+
+(define-public potato-make
+ (let ((commit "e8c09ce1f6a33c013b27961b0a07f991db33e6fb")
+ (revision "0"))
+ (package
+ (name "potato-make")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spk121/potato-make")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0axgrkqdfip5f2bp7d2dprd74g58lyc0c7lgg2m93k5jqn1lpbmj"))
+ ;; Delete files of the seemingly unfinished pmake program.
+ (snippet '(begin
+ (delete-file "pmake")
+ (delete-file "documents/pmake.org")
+ (delete-file "make/main.scm")
+ (rmdir "documents")
+ (rmdir "make")))))
+ (build-system guile-build-system)
+ (native-inputs (list guile-3.0))
+ (home-page "https://github.com/spk121/potato-make")
+ (synopsis "Library to write makefiles in Guile Scheme")
+ (description
+ "Potato Make is a scheme library that aims to simplify the task of
+maintaining, updating, and regenerating programs. It is inspired by
+the POSIX make utility and allows to write a build script in Guile
+Scheme.")
+ (license license:expat))))

base-commit: 9cdcfb52ace77fe3b497b21deb639a3027ff02f0
--
2.46.0
N
N
Noé Lopez wrote on 11 Nov 21:57 +0100
(address . 74310@debbugs.gnu.org)(name . Evgeny Pisemsky)(address . mail@pisemsky.site)
878qtp5w07.fsf@xn--no-cja.eu
Thanks for the patch!

I’ve tested it with the examples in the repo and it works. The lint
warning seems to be a false positive.

If you want, you can add a comment explaining why we need to choose a
specific commit for the future updaters:

(define-public potato-make
+ ;; No releases.
(let ((commit "e8c09ce1f6a33c013b27961b0a07f991db33e6fb")
(revision "0"))

It would also be nice to run the tests provided by the package in a
“check” phase.

Have a good day,
Noé
N
N
Noé Lopez wrote on 11 Nov 21:58 +0100
QA review for 74310
87wmh98p3p.fsf@xn--no-cja.eu
user guix
usertag 74310 + reviewed-looks-good
thanks

Guix QA review form submission:


Items marked as checked: Lint warnings, Commit messages, New package licenses, New package synopsis and descriptions
E
E
Evgeny Pisemsky wrote on 12 Nov 21:00 +0100
Re: [PATCH] gnu: Add potato-make.
(address . 74310@debbugs.gnu.org)(name . Noé Lopez)(address . noe@xn--no-cja.eu)
871pzgp6ht.fsf@pisemsky.site
Hi!

Thanks for review.

Here is the updated patch.
From b7084374dac32a3f39f7991fbdede65bb9ea0202 Mon Sep 17 00:00:00 2001
Message-ID: <b7084374dac32a3f39f7991fbdede65bb9ea0202.1731441366.git.mail@pisemsky.site>
From: Evgeny Pisemsky <mail@pisemsky.site>
Date: Tue, 12 Nov 2024 22:55:22 +0300
Subject: [PATCH] gnu: Add potato-make.

* gnu/packages/build-tools.scm (potato-make): New variable.

Change-Id: I86843b4001298ee984e6d1c35b59dc3b2e51d97f
---
gnu/packages/build-tools.scm | 47 ++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)

Toggle diff (80 lines)
diff --git a/gnu/packages/build-tools.scm b/gnu/packages/build-tools.scm
index 21df25e4f5..c32dacac59 100644
--- a/gnu/packages/build-tools.scm
+++ b/gnu/packages/build-tools.scm
@@ -15,6 +15,7 @@
;;; Copyright © 2021 qblade <qblade@protonmail.com>
;;; Copyright © 2021, 2023, 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;; Copyright © 2022, 2023 Juliana Sims <juli@incana.org>
+;;; Copyright © 2024 Evgeny Pisemsky <mail@pisemsky.site>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -41,6 +42,7 @@ (define-module (gnu packages build-tools)
#:use-module (guix git-download)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
+ #:use-module (guix build-system guile)
#:use-module (guix modules)
#:use-module (gnu packages)
#:use-module (gnu packages adns)
@@ -54,6 +56,7 @@ (define-module (gnu packages build-tools)
#:use-module (gnu packages cppi)
#:use-module (gnu packages elf)
#:use-module (gnu packages gcc)
+ #:use-module (gnu packages guile)
#:use-module (gnu packages linux)
#:use-module (gnu packages lisp)
#:use-module (gnu packages logging)
@@ -1042,3 +1045,47 @@ (define-public pdpmake
;; pdpmake is distributed under the public domain, but the sources include
;; tests under the GPL license version 2.
(license (list license:gpl2 license:public-domain))))
+
+(define-public potato-make
+ ;; No releases.
+ (let ((commit "e8c09ce1f6a33c013b27961b0a07f991db33e6fb")
+ (revision "0"))
+ (package
+ (name "potato-make")
+ (version (git-version "0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spk121/potato-make")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0axgrkqdfip5f2bp7d2dprd74g58lyc0c7lgg2m93k5jqn1lpbmj"))
+ ;; Delete files of the seemingly unfinished pmake program.
+ (snippet '(begin
+ (delete-file "pmake")
+ (delete-file "documents/pmake.org")
+ (delete-file "make/main.scm")
+ (rmdir "documents")
+ (rmdir "make")))))
+ (build-system guile-build-system)
+ (arguments
+ (list
+ #:phases #~(modify-phases %standard-phases
+ (add-after 'build 'check
+ (lambda _
+ ;; Delete test referencing nonexistent file.
+ (delete-file "tests/parse.sh")
+ (for-each (lambda (f)
+ (invoke "guile" "-L" "." "-s" f))
+ (find-files "tests")))))))
+ (native-inputs (list guile-3.0))
+ (home-page "https://github.com/spk121/potato-make")
+ (synopsis "Library to write makefiles in Guile Scheme")
+ (description
+ "Potato Make is a scheme library that aims to simplify the task of
+maintaining, updating, and regenerating programs. It is inspired by
+the POSIX make utility and allows to write a build script in Guile
+Scheme.")
+ (license license:expat))))

base-commit: b10ce47d8be5b6c15987f4e1d93b3bd71b1eb220
--
2.46.0
L
L
Ludovic Courtès wrote on 12 Nov 23:53 +0100
Re: [bug#74310] [PATCH] gnu: Add potato-make.
(name . Evgeny Pisemsky)(address . mail@pisemsky.site)
8734jwrrll.fsf@gnu.org
Evgeny Pisemsky <mail@pisemsky.site> skribis:

Toggle quote (10 lines)
>>From b7084374dac32a3f39f7991fbdede65bb9ea0202 Mon Sep 17 00:00:00 2001
> Message-ID: <b7084374dac32a3f39f7991fbdede65bb9ea0202.1731441366.git.mail@pisemsky.site>
> From: Evgeny Pisemsky <mail@pisemsky.site>
> Date: Tue, 12 Nov 2024 22:55:22 +0300
> Subject: [PATCH] gnu: Add potato-make.
>
> * gnu/packages/build-tools.scm (potato-make): New variable.
>
> Change-Id: I86843b4001298ee984e6d1c35b59dc3b2e51d97f

Applied, thank you & Noé!
Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 74310
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