summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorPaul A. Patience <paul@apatience.com>2022-04-29 05:17:35 +0000
committerEfraim Flashner <efraim@flashner.co.il>2024-03-04 09:21:56 +0200
commit89d603da19c19a77dab11558a6fdb7a19f543749 (patch)
tree4839697073fc160b982c807bafe792a889a4f9e1 /gnu/packages
parentcaee1d4e7a38496d6860315551f635ad39af371e (diff)
downloadguix-89d603da19c19a77dab11558a6fdb7a19f543749.tar.gz
gnu: Add nqp-configure.
* gnu/packages/perl6.scm (nqp-configure): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/perl6.scm54
1 files changed, 54 insertions, 0 deletions
diff --git a/gnu/packages/perl6.scm b/gnu/packages/perl6.scm
index 35652cda17..b510a584f2 100644
--- a/gnu/packages/perl6.scm
+++ b/gnu/packages/perl6.scm
@@ -98,6 +98,60 @@ with native libraries.
 @end itemize")
     (license license:artistic2.0)))
 
+(define-public nqp-configure
+  (let ((commit "9b98931e0bfb8c4aac61590edf5074e63aa8ea4b"))
+    (package
+      (name "nqp-configure")
+      ;; NQP and Rakudo use the same version of nqp-configure.
+      ;; We may as well set nqp-configure's version to the same as theirs.
+      (version "2022.04")
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/Raku/nqp-configure")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1vc1q11kjb964jal9dhgf5vwp371a3rfw7gj987n33kzli7a10n0"))))
+      (build-system perl-build-system)
+      (arguments
+       '(#:phases
+         (modify-phases %standard-phases
+           (add-after 'unpack 'create-makefile-and-manifest
+             (lambda _
+               (call-with-output-file "Makefile.PL"
+                 (lambda (port)
+                   (format port "
+use ExtUtils::MakeMaker;
+WriteMakefile(NAME => 'NQP::Config');\n")))
+               (call-with-output-file "MANIFEST"
+                 (lambda (port)
+                   (format port "
+LICENSE
+MANIFEST
+Makefile.PL
+README.md
+bin/make.nqp
+doc/Macros.md
+doc/NQP-Config.md
+lib/NQP/Config.pm
+lib/NQP/Config/Test.pm
+lib/NQP/Macros.pm
+t/10-config.t
+t/20-macros.t
+t/30-if-macro.t\n")))))
+           (add-after 'patch-source-shebangs 'patch-more-shebangs
+             (lambda _
+               (substitute* '("bin/make.nqp"
+                              "lib/NQP/Config.pm")
+                 (("/bin/sh") (which "sh"))))))))
+      (home-page "https://github.com/Raku/nqp-configure")
+      (synopsis "Configuration and build modules for NQP")
+      (description "This library provides support modules for NQP and Rakudo
+@file{Configure.pl} scripts.")
+      (license license:artistic2.0))))
+
 (define-public nqp
   (package
     (name "nqp")