aboutsummaryrefslogtreecommitdiff
AgeCommit message (Expand)Author
2022-01-16ccwl: Indent lambda** docstring examples correctly.•••* ccwl/utils.scm (lambda**): Indent docstring examples correctly. Arun Isaac
2022-01-10dir-locals: Allows tabs in Makefiles.•••* .dir-locals.el (makefile-gmake-mode): Set indent-tabs-mode to t. Arun Isaac
2022-01-10Migrate to hand-written Makefiles.•••The autotools are really overkill for a simple Guile project like ccwl. * .gitignore: Delete autotool generated files. Add Makefile.include. * Makefile.am, Makefile, build-aux/distcheck.scm, configure, configure.ac, configure.scm: New files. * NEWS: Rename to NEWS.org. Remove Emacs file-local variable to use org mode. * bootstrap.sh: Delete file. * build-aux/generate-cwl-output.sh.in: Rename to ... * build-aux/generate-cwl-output.sh: ... this. Replace autoconf variables for cwltool and sed. * build-aux/test-driver.scm.in: Rename to ... * build-aux/test-driver.scm: ... this. Do not import (ice-9 getopt-long). (%options): Delete variable. (my-gnu-runner): Do not write to log or trs ports. Accept test files as command-line arguments. Update invocation of my-gnu-runner. Print summary of results. * guix.scm (ccwl)[native-inputs]: Remove autoconf and automake. * pre-inst-env.in: Rename to ... * pre-inst-env: ... this. Replace autoconf variables for guile, abs_top_builddir and abs_top_srcdir. * scripts/ccwl.in: Rename to ... * scripts/ccwl: ... this. Replace autoconf variable for guile. Arun Isaac
2021-12-17Create specialized type for graphviz edge.•••* ccwl/graphviz.scm (<graph-edge>): New type. (graph-edge): New function. (graph->dot): Support specification of edges using the <graph-edge> type. Arun Isaac
2021-12-17Abstract out serialization of graphviz properties.•••* ccwl/graphviz.scm (serialize-properties): New function. (graph->dot): Use serialize-properties. Arun Isaac
2021-12-13ccwl: Support graphviz node ports.•••* ccwl/graphviz.scm (<graph-port>): New type. (serialize): Support <graph-port> objects. * tests/graphviz.scm (graph-port): New function. ("serialize ports correctly"): New test case. Arun Isaac
2021-12-13ccwl: Organize serialize into a generic function.•••* ccwl/graphviz.scm (serialize): Organize into a generic function that dispatches on input type. Arun Isaac
2021-12-13ccwl: Escape only the double quote character in graphviz output.•••* ccwl/graphviz.scm: Import (ice-9 string-fun). (serialize): When quoting strings, escape only the double quote character. * tests/graphviz.scm ("do not escape backslashes"): New test case. Arun Isaac
2021-12-13ccwl: Support graphviz HTML strings.•••* ccwl/graphviz.scm (<html-string>): New type. (escape-id): Delete function. (serialize): New function. (graph->dot): Use serialize instead of escape-id. * tests/graphviz.scm: New file. ("serialize HTML strings correctly"): New test case. * Makefile.am (SCM_TESTS): Register it. Arun Isaac
2021-12-10guix.scm: Base ccwl package off upstream Guix package.•••* guix.scm: Do not import (gnu packages graphviz), (gnu packages guile), (gnu packages guile-xyz), (gnu packages pkg-config), (gnu packages skribilo), (gnu packages texinfo), (guix build-system gnu), (guix licenses) and (guix utils). Import (gnu packages bioinformatics) with the guix: prefix. (ccwl): Base off upstream Guix package. Arun Isaac
2021-12-10README: Recommend Guix to set up a development environment.•••* README.org (Contributing): Recommend Guix to set up a development environment. Arun Isaac
2021-12-10README: Recommend upstream Guix package for installation.•••* README.org (Installation)[Using Guix]: Recommend upstream Guix package. Arun Isaac
2021-12-09contrib: Add pggb workflow.•••* contrib/pggb.scm: New file. Arun Isaac
2021-11-29README: Emphasize that manual installation is from source.•••* README.org (Installation)[Manually]: Rename to "Manually from source". Arun Isaac
2021-11-29README: Add instructions for installation using software bundles.•••* README.org (Installation)[Using binary software bundles]: New subsection. Arun Isaac
2021-11-29Makefile: Build software bundles.•••* Makefile.am (docker, pack): New targets. Arun Isaac
2021-11-29guix.scm: Add a wrap phase.•••* guix.scm (ccwl)[arguments]: Import target-guile-effective-version from (guix build guile-build-system). Add a wrap phase. Arun Isaac
2021-11-25guix.scm: Bump version.•••* guix.scm (ccwl)[version]: Set to 0.2.0. Arun Isaac
2021-11-25guix.scm: Use the upstream Guix guile-libyaml package.•••* guix.scm: Do not prefix import of (gnu packages guile-xyz) with guix: (guile-libyaml): Delete variable. Arun Isaac
2021-11-19README: Add installation instructions.•••* README.org (Installation): New section. Arun Isaac
2021-11-19guix.scm: Replace guix environment with guix shell.•••guix environment has been superseded by guix shell. * guix.scm: Replace guix environment with guix shell. Arun Isaac
2021-11-06Release version 0.2.0.•••* configure.ac: Bump version. * NEWS: Update news. * website/releases/ccwl-0.2.0.tar.lz, website/releases/ccwl-0.2.0.tar.lz.asc: New files. v0.2.0Arun Isaac
2021-11-05doc: Search source-path in scheme-source-form.•••* doc/skribilo.scm (scheme-source-form): Search source-path. Arun Isaac
2021-11-05build-aux: Extract dependencies from scheme-source-form.•••* build-aux/find-dependencies.scm (find-dependencies): Extract dependencies from scheme-source-form. Arun Isaac
2021-11-05build-aux: Delete duplicates in dependencies.•••* build-aux/find-dependencies.scm: Delete duplicates before printing out dependencies. Arun Isaac
2021-11-05gitignore: Ignore dot files.•••* .gitignore: Add doc/*.dot. Arun Isaac
2021-11-05doc: Add spell check workflow to tutorial.•••* doc/ccwl.skb (Tutorial)[Let's write a spell check workflow]: New section. * Makefile.am (doc/spell-check.out): New target. (EXTRA_DIST): Add doc/spell-check-text.txt and doc/dictionary. * doc/dictionary, doc/spell-check-text.txt, doc/spell-check-workflow-1.scm, doc/spell-check-workflow-2.scm, doc/spell-check.scm: New files. Arun Isaac
2021-11-05doc: Support extracting specific forms from a scheme file.•••* doc/skribilo.scm (scheme-source-form): New public function. Arun Isaac
2021-11-05build-aux: Hide doc/cwl-output in the manual output snippets.•••* build-aux/generate-cwl-output.sh.in: In the sed invocation, replace doc/cwl-output too. Arun Isaac
2021-11-05website: Do not specify line-height on h1, h2 and h3.•••* website/style.css (h1, h2, h3): Delete line-height CSS property. Arun Isaac
2021-11-05Makefile: Copy images without recursion.•••* Makefile.am (doc/ccwl.html): Copy images without recursion. Arun Isaac
2021-11-05Makefile: Delete target if recipe fails.•••Without this, when recipes involving output redirection fail, their targets are not deleted. * Makefile.am (.DELETE_ON_ERROR): New target. Arun Isaac
2021-11-05Makefile: Create doc directory before populating it.•••* Makefile.am (doc/.dirstamp): New target. ($(DOC_IMAGES:.png=.dot), $(DOC_OUT)): Depend on doc/.dirstamp. (CLEAN_DIRECTORIES): Add doc/.dirstamp. Arun Isaac
2021-11-05Makefile: Do not clean files based on extension.•••* Makefile.am (CLEANFILES): Replace doc/*.cwl, doc/*.dot, doc/*.out and doc/*.png with DOC_SCM, DOC_IMAGES and DOC_OUT variables. Arun Isaac
2021-11-05Makefile: Distinguish DOC_OTHER from DOC_OUT.•••DOC_OTHER includes dependencies that are neither scm files nor out files, but are primary sources required for the build. * Makefile.am (EXTRA_DIST): Add DOC_OTHER. (doc/ccwl.info, doc/ccwl.html): Depend on DOC_OTHER. * build-aux/find-dependencies.scm: Output DOC_OTHER. (find-dependencies): Classify source forms as type 'out or type 'other based on extension. Arun Isaac
2021-11-05doc: Document reuse of external CWL workflows.•••* doc/ccwl.skb (Cookbook): New chapter. * doc/external-cwl-workflow.scm, doc/echo.cwl: New files. * .gitignore: Add !doc/echo.cwl. Arun Isaac
2021-11-04Makefile: Distribute doc/hello.c.gz. and doc/hello.txt.•••These files are source files required for the build. They were missed out in an earlier commit. * Makefile.am (EXTRA_DIST): Add doc/hello.c.gz and doc/hello.txt. Arun Isaac
2021-11-04Makefile: Pass auxiliary dependencies from automatic variables.•••This is required to support VPATH builds. * Makefile.am (doc/capture-output-file.out, doc/capture-output-file-with-parameter-reference.out, doc/checksum.out, doc/decompress-compile-run.out, doc/pass-stdin.out): Pass auxiliary dependencies from automatic variables. Arun Isaac
2021-11-04build-aux: Use paths relative to top-level in generate-cwl-output.sh.•••This removes the assumption that the source tree and the build tree are the same, and is required to support VPATH builds. * build-aux/generate-cwl-output.sh.in: Accept and write to paths relative to the top-level directory. Do not change directory. * Makefile.am (doc/capture-output-file.out, doc/capture-output-file-with-parameter-reference.out, doc/checksum.out, doc/decompress-compile-run.out, doc/pass-stdin.out): Pass relative paths in input arguments. Arun Isaac
2021-11-02configure: Check for (yaml) guile module.•••* configure.ac: Check for (yaml) guile module. Arun Isaac
2021-11-02Makefile: Distribute doc/hello.tar.•••doc/hello.tar is used to build doc/hello.tar.out. * Makefile.am (EXTRA_DIST): Add doc/hello.tar. Arun Isaac
2021-11-02Makefile: Do not distribute *.out files.•••The *.out files are generated by running ccwl workflows. They need not be distributed. * build-aux/find-dependencies.scm (find-dependencies): Return *.out files and *.scm files as different kinds of dependencies. Output *.out and *.scm files separately as DOC_OUT and DOC_SCM instead of together as DOC_OTHER. * Makefile.am (doc/ccwl.info, doc/ccwl.html): Depend on DOC_SCM and DOC_OUT instead of DOC_OTHER. (EXTRA_DIST): Remove DOT_OTHER. Add DOC_SCM. Arun Isaac
2021-11-02tests: Add input-output-parameters.cwl.•••This is a follow-up to 0b359cf2c32cde81b4311d55273c8f6c14ca6b93 where this file should have been included. * tests/input-output-parameters.cwl: New file. * Makefile.am (EXTRA_DIST): Register it. Arun Isaac
2021-11-02ccwl: Support external CWL workflows.•••* ccwl/ccwl.scm: Import (yaml). Export cwl-workflow?, cwl-workflow, cwl-workflow-file, cwl-workflow-inputs and cwl-workflow-outputs. (<cwl-workflow>): New type. (cwl-workflow, function-input-keys, function-outputs, function-object): New functions. (command-input-keys, command-object): Delete functions. (collect-steps): Replace command-object with function-object, command-input-keys with function-input-keys and command-outputs with function-outputs. * ccwl/cwl.scm (workflow->cwl-scm): Handle <cwl-workflow> objects. * tests/ccwl.scm ("read all forms of inputs and outputs from a CWL workflow"): New test. * guix.scm: Import (gnu packages guile-xyz) and (guix utils). (guile-libyaml): New variable. (ccwl)[inputs]: Add guile-libyaml. Arun Isaac
2021-11-02guix.scm: Define ccwl as a separate variable.•••This make it easier to refer to it in the changelog. * guix.scm (ccwl): New variable. Return ccwl. Arun Isaac
2021-11-02ccwl: Rename graphviz to dot.•••What we call "graphviz syntax" is actually the "graphviz dot language". Rename accordingly. * ccwl/graphviz.scm (workflow->graphviz): Rename to workflow->dot. Call graph->dot instead of graph->graphviz. (escape-id): Update docstring to mention dot. (graph->graphviz): Rename to graph->dot. Update docstring to mention dot. * scripts/ccwl.in (main): Accept --to=dot instead of --to=graphviz. Update --help usage information. * Makefile.am (%.dot): Pass --to=dot instead of --to=graphviz. Arun Isaac
2021-10-19configure: Warn if emacs is not found.•••* configure.ac (OPTIONAL_PROGRAM): New macro. Use OPTIONAL_PROGRAM to check for emacs. Arun Isaac
2021-10-19configure: Error out if required programs are not found.•••* configure.ac (CHECK_FOR_PROGRAM, REQUIRED_PROGRAM): New macros. Use REQUIRED_PROGRAM to check for dot, cwltool and skribilo. Arun Isaac
2021-10-19guix.scm: Use git-predicate from (guix git-download).•••* guix.scm: Do not import (srfi srfi-1), (srfi srfi-26), (ice-9 match), (ice-9 popen), (ice-9 rdelim) and (guix build utils). Import (guix git-download). (git-file?): Delete function. Use git-predicate from (guix git-download) instead of git-file?. Arun Isaac
2021-10-18doc: Say that inputs, not workflow inputs, come into pipe and tee.•••Workflow inputs are now global. It is misleading to say that they come into the first expression, namely pipe and tee, in these examples. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Say that inputs, not workflow inputs, come into pipe and tee. Arun Isaac