aboutsummaryrefslogtreecommitdiffstats
path: root/HACKING
diff options
context:
space:
mode:
Diffstat (limited to 'HACKING')
-rw-r--r--HACKING38
1 files changed, 23 insertions, 15 deletions
diff --git a/HACKING b/HACKING
index 057d163..99075d1 100644
--- a/HACKING
+++ b/HACKING
@@ -4,44 +4,52 @@
* Contributing
-By far the easiest way to hack on pinentry-rofi is to develop using Guix:
+By far the easiest way to hack on pinentry-rofi is to develop using
+Guix:
#+BEGIN_SRC bash
# Obtain the source code
cd /path/to/source-code
- guix environment -l guix.scm
- # In the new shell, run:
- hall dist --execute && autoreconf -vif && ./configure && make check
+ guix build -f guix.scm
#+END_SRC
You can now hack this project's files to your heart's content, whilst
-testing them from your `guix environment' shell.
+testing them from Guix.
-To try out any scripts in the project you can now use
+To try out any scripts in the project, the easiest is just to install it to a guix profile.
+Here is an example to install it to the default profile:
#+BEGIN_SRC bash
- ./pre-inst-env scripts/${script-name}
+ guix package -f guix.scm
#+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
+Then when you're done simply roll back. This can also be used when
+testing it against gpg-agent by following what is described in the
+[[file:README.org][README]].
** Manual Installation
If you do not yet use Guix, you will have to install this project's
dependencies manually:
- autoconf
+ - autoconf-archive
- automake
- pkg-config
- texinfo
- - guile-hall
Once those dependencies are installed you can run:
#+BEGIN_SRC bash
- hall dist -x && autoreconf -vif && ./configure && make check
+ autoreconf -vif && ./configure && make check
#+END_SRC
+
+** Guile Hall
+
+ The core of the gnu build system is generated by guile-hall. There
+ are some modifications done after that so avoid running
+ =hall clean -x= and =hall dist -x= as that will override those
+ changes.
+
+ Right now I haven't figured out a good way of dealing with keeping
+ the version in sync between the different files, which what I
+ mainly used =hall= for.