about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.guix/ccwl-distribution.scm4
-rw-r--r--.guix/ccwl-package.scm21
-rw-r--r--HACKING.md27
3 files changed, 47 insertions, 5 deletions
diff --git a/.guix/ccwl-distribution.scm b/.guix/ccwl-distribution.scm
index a77256a..0598a00 100644
--- a/.guix/ccwl-distribution.scm
+++ b/.guix/ccwl-distribution.scm
@@ -59,9 +59,9 @@
           (invoke "make" "dist")
           (match (scandir (getcwd) (cut string-suffix? ".tar.lz" <>))
             ((tarball)
-             (install-file tarball #$output)))))))
+             (copy-file tarball #$output)))))))
 
 (define-public ccwl-distribution
-  (computed-file "ccwl-distribution" ccwl-distribution-gexp))
+  (computed-file "ccwl.tar.lz" ccwl-distribution-gexp))
 
 ccwl-distribution
diff --git a/.guix/ccwl-package.scm b/.guix/ccwl-package.scm
index e5d34ba..2a73dbd 100644
--- a/.guix/ccwl-package.scm
+++ b/.guix/ccwl-package.scm
@@ -1,5 +1,5 @@
 ;;; ccwl --- Concise Common Workflow Language
-;;; Copyright © 2021, 2023–2025 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2021, 2023–2026 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of ccwl.
 ;;;
@@ -18,12 +18,27 @@
 
 (define-module (ccwl-package)
   #:use-module ((gnu packages bioinformatics) #:prefix guix:)
-  #:use-module ((gnu packages guile-xyz) #:select (guile-run64))
+  #:use-module ((gnu packages skribilo)
+                #:select (skribilo) #:prefix guix:)
+  #:use-module (guix download)
   #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix packages)
   #:use-module (guix utils))
 
+(define skribilo
+  (package
+    (inherit guix:skribilo)
+    (name "skribilo")
+    (version "0.10.0")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "mirror://savannah/skribilo/skribilo-"
+                                 version ".tar.gz"))
+             (sha256
+              (base32
+               "03pm2a9a5k0wkj10ywh6xi8flawm8sd396k4698gvvbc2zp4izwc"))))))
+
 (define-public ccwl
   (package
     (inherit guix:ccwl)
@@ -34,6 +49,6 @@
                                       (const #t))))
     (native-inputs
      (modify-inputs (package-native-inputs guix:ccwl)
-       (prepend guile-run64)))))
+       (replace "skribilo" skribilo)))))
 
 ccwl
diff --git a/HACKING.md b/HACKING.md
new file mode 100644
index 0000000..bb822b3
--- /dev/null
+++ b/HACKING.md
@@ -0,0 +1,27 @@
+# Set up development environment
+
+Drop into a development environment using `guix shell`.
+```
+guix shell -Df guix.scm
+```
+
+# Make a release
+## Tag a release
+Tag a release `vx.x.x` putting news into the tag message.
+## Create a release tarball, test it, and sign it
+```
+cp $(guix build -L .guix -f .guix/ccwl-distribution.scm) ccwl-x.x.x.tar.lz
+guix build --with-source=ccwl=ccwl-x.x.x.tar.lz -f guix.scm
+make distsign
+```
+## Build guix pack, docker and singularity images
+```
+guix pack --with-source=ccwl=ccwl-x.x.x.tar.lz --file=guix.scm
+guix pack -f docker -S /bin=bin --with-source=ccwl=ccwl-x.x.x.tar.lz --file=guix.scm
+guix pack -f squashfs --with-source=ccwl=ccwl-x.x.x.tar.lz bash --file=guix.scm
+```
+## Publish release tarball
+Add release tarball and signature to website. Publish release tarball, guix pack, docker and singularity images to GitHub.
+## Update Guix package
+## Publicize
+Publicize on the ccwl@systemreboot.net and guix-science@gnu.org mailing lists, and on the [CWL Discourse forum](https://cwl.discourse.group/).