-# Guix --- Nix package management from Guile. -*- coding: utf-8 -*-
-# Copyright (C) 2012 Ludovic Courtès <ludo@gnu.org>
+# GNU Guix --- Functional package management for GNU
+# Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
#
-# This file is part of Guix.
+# This file is part of GNU Guix.
#
-# Guix is free software; you can redistribute it and/or modify it
+# GNU Guix is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or (at
# your option) any later version.
#
-# Guix is distributed in the hope that it will be useful, but
+# GNU Guix is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with Guix. If not, see <http://www.gnu.org/licenses/>.
+# along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
#
# Integration of the `guix-daemon' code taken from upstream Nix.
noinst_LIBRARIES = libformat.a libutil.a libstore.a
+AM_CXXFLAGS = -Wall
+
libformat_a_SOURCES = \
nix/boost/format/free_funcs.cc \
nix/boost/format/parsing.cc \
libutil_a_SOURCES = \
nix/libutil/archive.cc \
+ nix/libutil/affinity.cc \
nix/libutil/serialise.cc \
- nix/libutil/immutable.cc \
nix/libutil/util.cc \
nix/libutil/xml-writer.cc \
nix/libutil/hash.cc \
nix/libutil/gcrypt-hash.cc
libutil_headers = \
- nix/libutil/immutable.hh \
+ nix/libutil/affinity.hh \
nix/libutil/hash.hh \
nix/libutil/serialise.hh \
nix/libutil/xml-writer.hh \
libstore_a_CPPFLAGS = \
$(libutil_a_CPPFLAGS) \
-I$(top_srcdir)/nix/libstore \
+ -I$(top_builddir)/nix/libstore \
-DNIX_STORE_DIR=\"$(storedir)\" \
-DNIX_DATA_DIR=\"$(datadir)\" \
-DNIX_STATE_DIR=\"$(localstatedir)/nix\" \
-DNIX_LOG_DIR=\"$(localstatedir)/log/nix\" \
- -DNIX_CONF_DIR=\"$(sysconfdir)/nix\" \
+ -DNIX_CONF_DIR=\"$(sysconfdir)/guix\" \
-DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \
-DNIX_BIN_DIR=\"$(bindir)\" \
- -DOPENSSL_PATH="\"FIXME--no OpenSSL support\""
+ -DOPENSSL_PATH="\"guix-authenticate\""
-libstore_a_CFLAGS = \
+libstore_a_CXXFLAGS = \
$(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS)
bin_PROGRAMS = guix-daemon
+sbin_PROGRAMS = guix-register
guix_daemon_SOURCES = \
nix/nix-daemon/nix-daemon.cc \
libstore.a libutil.a libformat.a -lbz2 \
$(SQLITE3_LIBS) $(LIBGCRYPT_LIBS)
+guix_daemon_headers = \
+ nix/nix-daemon/shared.hh
+
+
+guix_register_SOURCES = \
+ nix/guix-register/guix-register.cc
+
+guix_register_CPPFLAGS = \
+ $(libutil_a_CPPFLAGS) \
+ $(libstore_a_CPPFLAGS) \
+ -I$(top_srcdir)/nix/libstore
+
+# XXX: Should we start using shared libs?
+guix_register_LDADD = \
+ libstore.a libutil.a libformat.a -lbz2 \
+ $(SQLITE3_LIBS) $(LIBGCRYPT_LIBS)
+
noinst_HEADERS = \
- $(libformat_headers) $(libutil_headers) $(libstore_headers)
+ $(libformat_headers) $(libutil_headers) $(libstore_headers) \
+ $(guix_daemon_headers)
nix/libstore/schema.sql.hh: nix/libstore/schema.sql
$(GUILE) --no-auto-compile -c \
(write (get-string-all in) out)))))"
nodist_pkglibexec_SCRIPTS = \
- nix/scripts/list-runtime-roots
+ nix/scripts/list-runtime-roots \
+ nix/scripts/substitute-binary
+
+if BUILD_DAEMON_OFFLOAD
+
+nodist_pkglibexec_SCRIPTS += \
+ nix/scripts/offload
+
+endif BUILD_DAEMON_OFFLOAD
+
+
+# XXX: It'd be better to hide it in $(pkglibexecdir).
+nodist_libexec_SCRIPTS = \
+ nix/scripts/guix-authenticate
EXTRA_DIST += \
nix/sync-with-upstream \
nix/AUTHORS \
nix/COPYING
-# Temporary directory used to store the daemon's data.
-test_root = $(abs_top_builddir)/test-tmp
-
AM_TESTS_ENVIRONMENT += \
- top_builddir="$(abs_top_builddir)" \
- TEST_ROOT="$(test_root)"
+ top_builddir="$(abs_top_builddir)"
TESTS += \
tests/guix-daemon.sh
clean-local:
- -rm -rf "$(test_root)"
+ -if test -d "$(GUIX_TEST_ROOT)"; then \
+ find "$(GUIX_TEST_ROOT)" | xargs chmod +w; \
+ fi
+ -rm -rf "$(GUIX_TEST_ROOT)"