diff options
-rw-r--r-- | doc/code/pangemma.md | 6 | ||||
-rw-r--r-- | guix.scm | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/doc/code/pangemma.md b/doc/code/pangemma.md index b588b7e..013816a 100644 --- a/doc/code/pangemma.md +++ b/doc/code/pangemma.md @@ -209,6 +209,8 @@ There are several methods for sharing data between threads and processes. First The build system for development relies on Guix. See the header of [guix.scm](../guix.scm). Guix handles depencies well, so it is a great base to work from. -For the actual build system we'll probably roll our own. +Build systems have to target different platforms. pangemma will mostly be run on Linux on AMD64, but there are always people who want more and it requires support from the build system. Also we may need targets for debug and architecture optimized builds. Some of that may be handled through Guix. + +For the actual build system we may roll our own. All build tools I know are too messy, including CMake, meson and make itself. So, as a real hacker, we -reinvent the wheel. A starting point is Arun's [g-exp blog](https://systemreboot.net/post/g-expressions-makings-of-a-make-killer). +can reinvent the wheel. One starting point is Arun's [g-exp blog](https://systemreboot.net/post/g-expressions-makings-of-a-make-killer) though it would require a non-Guix way of building things. @@ -17,14 +17,16 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages algebra) #:use-module (gnu packages base) - #:use-module (gnu packages compression) #:use-module (gnu packages build-tools) + #:use-module (gnu packages compression) + #:use-module (gnu packages commencement) #:use-module (gnu packages check) #:use-module (gnu packages databases) #:use-module (gnu packages gdb) #:use-module (gnu packages guile) #:use-module (gnu packages guile-xyz) #:use-module (gnu packages maths) + #:use-module (gnu packages ninja) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages ruby) @@ -54,6 +56,7 @@ `(,guile-3.0 "debug") guile-lmdb lmdb + ninja ruby zlib)) ;; ("gsl-static" ,gsl-static) @@ -85,9 +88,10 @@ genome-wide association studies (GWAS).") (package (inherit pangemma-base-git) (name "pangemma-shell-git") + (build-system gnu-build-system) (propagated-inputs (modify-inputs (package-inputs pangemma-base-git) - (append which binutils coreutils ;; for the shell + (append which binutils coreutils gcc-toolchain premake5 gnu-make ;; for the shell ))) (arguments `(#:phases (modify-phases %standard-phases |