aboutsummaryrefslogtreecommitdiff
path: root/HACKING
diff options
context:
space:
mode:
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING54
1 files changed, 54 insertions, 0 deletions
diff --git a/HACKING b/HACKING
new file mode 100644
index 0000000..715105e
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,54 @@
+# -*- mode: org; coding: utf-8; -*-
+
+#+TITLE: Hacking whispers
+
+* Contributing
+
+By far the easiest way to hack on whispers is to develop using Guix:
+
+#+BEGIN_SRC bash
+ # Obtain the source code
+ cd /path/to/source-code
+ guix shell -Df guix.scm
+ # In the new shell, run:
+ hall build --execute && autoreconf -vif && ./configure && make check
+#+END_SRC
+
+You may also want to set your directory as an authorized directory for
+`guix shell' so it works without arguments. To do that, simply run
+
+#+BEGIN_SRC bash
+ echo $(pwd) >> $HOME/.config/guix/shell-authorized-directories
+#+END_SRC
+
+You can now hack this project's files to your heart's content, whilst
+testing them from your `guix shell' shell.
+
+To try out any scripts in the project you can now use
+
+#+BEGIN_SRC bash
+ ./pre-inst-env scripts/${script-name}
+#+END_SRC
+
+If you'd like to tidy the project again, but retain the ability to test the
+project from the commandline, simply run:
+
+#+BEGIN_SRC bash
+ ./hall clean --skip "scripts/${script-name},pre-inst-env" --execute
+#+END_SRC
+
+** Manual Installation
+
+If you do not yet use Guix, you will have to install this project's
+dependencies manually:
+ - autoconf
+ - automake
+ - pkg-config
+ - texinfo
+ - guile-hall
+
+Once those dependencies are installed you can run:
+
+#+BEGIN_SRC bash
+ hall build -x && autoreconf -vif && ./configure && make check
+#+END_SRC