# -*- mode: org; coding: utf-8; -*- # SPDX-FileCopyrightText: 2023 Fredrik Salomonsson # # SPDX-License-Identifier: GPL-3.0-or-later #+TITLE: Hacking pinentry-rofi * Contributing 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 build -f guix.scm #+END_SRC You can now hack this project's files to your heart's content, whilst testing them from Guix. 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 guix package -f guix.scm #+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 - coreutils - gawk - grep - guile - make - pkg-config (or pkgconf) - sed - texinfo Once those dependencies are installed you can run: #+BEGIN_SRC bash 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.