-# 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 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/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/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_CONF_DIR=\"$(sysconfdir)/nix\" \
-DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \
-DNIX_BIN_DIR=\"$(bindir)\" \
- -DOPENSSL_PATH="\"FIXME--no OpenSSL support\""
+ -DOPENSSL_PATH="\"openssl\""
-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)
+
+
+libexec_PROGRAMS = nix-setuid-helper
+nix_setuid_helper_SOURCES = \
+ nix/nix-setuid-helper/nix-setuid-helper.cc
+
+nix_setuid_helper_CPPFLAGS = \
+ $(libutil_a_CPPFLAGS)
+
+nix_setuid_helper_LDADD = \
+ libutil.a libformat.a
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 \
(lambda (in) \
(write (get-string-all in) out)))))"
+nodist_pkglibexec_SCRIPTS = \
+ nix/scripts/list-runtime-roots \
+ nix/scripts/substitute-binary
+
EXTRA_DIST += \
+ nix/sync-with-upstream \
nix/libstore/schema.sql \
nix/AUTHORS \
nix/COPYING
+
+AM_TESTS_ENVIRONMENT += \
+ top_builddir="$(abs_top_builddir)"
+
+TESTS += \
+ tests/guix-daemon.sh
+
+clean-local:
+ -if test -d "$(GUIX_TEST_ROOT)"; then \
+ find "$(GUIX_TEST_ROOT)" | xargs chmod +w; \
+ fi
+ -rm -rf "$(GUIX_TEST_ROOT)"