|
|
|
# -*- mode: sh; -*-
|
|
|
|
|
|
|
|
export CC=gcc CXX="g++ -fdiagnostics-color=always"
|
|
|
|
|
|
|
|
# Miscellaneous packages.
|
|
|
|
ENVIRONMENTS=(
|
|
|
|
weechat # Debug runs
|
|
|
|
profanity # Test
|
|
|
|
)
|
|
|
|
|
|
|
|
# Environment packages.
|
|
|
|
PACKAGES=(
|
|
|
|
profanity # Test
|
|
|
|
autoconf # Deps with autoreconf
|
|
|
|
autoconf-archive # Deps with m4 tooling
|
|
|
|
automake # Deps with automake
|
|
|
|
libtool # Deps with libtool
|
|
|
|
make # Deps with makefiles
|
|
|
|
cmake # Deps with cmake
|
|
|
|
doctest # Testing
|
|
|
|
gcc-toolchain@10 # Compilation
|
|
|
|
pkg-config # Deps configuration and configuration of deps deps
|
|
|
|
patchelf # Fix linkage (guix)
|
|
|
|
bear # Generate compile_commands.json for language servers
|
|
|
|
universal-ctags # Generate tags (make tags)
|
|
|
|
weechat # Weechat includes
|
|
|
|
libxml2 # Dep (libxml2)
|
|
|
|
libstrophe # Dep (strophe)
|
|
|
|
libgcrypt # Dep (gcrypt)
|
|
|
|
libsignal-protocol-c -l libomemo.scm # Dep (libsignal)
|
|
|
|
lmdb lmdbxx # Dep (lmdb)
|
|
|
|
rnp # Dep (rnpgp)
|
|
|
|
)
|
|
|
|
|
|
|
|
echo direnv: fetching source - weechat
|
|
|
|
mkdir -p /tmp/guix-build-weechat-3.2.drv-0
|
|
|
|
tar -C /tmp/guix-build-weechat-3.2.drv-0 -xJf $(guix build --source weechat)
|
|
|
|
|
|
|
|
echo direnv: fetching source - libomemo-c
|
|
|
|
mkdir -p /tmp/guix-build-libomemo-c-2.3.3.drv-0
|
|
|
|
ln -sf $(guix build --source -f libomemo.scm) /tmp/guix-build-libomemo-c-2.3.3.drv-0
|
|
|
|
|
|
|
|
echo direnv: fetching source - lmdb
|
|
|
|
ln -sf $(guix build --source lmdb)/libraries/liblmdb/mdb.c mdb.c
|
|
|
|
|
|
|
|
use guix \
|
|
|
|
${ENVIRONMENTS[@]} --ad-hoc ${PACKAGES[@]} \
|
|
|
|
--with-debug-info=profanity \
|
|
|
|
--with-debug-info=weechat \
|
|
|
|
--with-debug-info=libstrophe \
|
|
|
|
--with-debug-info=libsignal-protocol-c \
|
|
|
|
--with-debug-info=libomemo-c \
|
|
|
|
--with-debug-info=lmdb \
|
|
|
|
--with-debug-info=rnp \
|
|
|
|
clang clang:extra ccls gdb
|