X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/996ed6acd5586f9db08a9388442acdd044285fe4..a8f20f63dce1f41126bbc0fdbe6a3b1bf28fb69d:/daemon.am diff --git a/daemon.am b/daemon.am index 8c21dbc328..3c15531f54 100644 --- a/daemon.am +++ b/daemon.am @@ -1,5 +1,6 @@ # GNU Guix --- Functional package management for GNU -# Copyright © 2012, 2013 Ludovic Courtès +# Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +# Copyright © 2016 Mathieu Lirzin # # This file is part of GNU Guix. # @@ -20,12 +21,13 @@ # Integration of the `guix-daemon' code taken from upstream Nix. # -BUILT_SOURCES = nix/libstore/schema.sql.hh -CLEANFILES += $(BUILT_SOURCES) +BUILT_SOURCES += nix/libstore/schema.sql.hh +CLEANFILES += $(BUILT_SOURCES) etc/guix-daemon.service etc/guix-daemon.conf noinst_LIBRARIES = libformat.a libutil.a libstore.a -AM_CXXFLAGS = -Wall +# Use '-std=c++11' for 'std::shared_ptr', 'auto', lambdas, and more. +AM_CXXFLAGS = -Wall -std=c++11 libformat_a_SOURCES = \ nix/boost/format/free_funcs.cc \ @@ -33,10 +35,7 @@ libformat_a_SOURCES = \ nix/boost/format/format_implementation.cc libformat_headers = \ - nix/boost/weak_ptr.hpp \ nix/boost/throw_exception.hpp \ - nix/boost/checked_delete.hpp \ - nix/boost/shared_ptr.hpp \ nix/boost/format.hpp \ nix/boost/assert.hpp \ nix/boost/format/macros_default.hpp \ @@ -46,16 +45,14 @@ libformat_headers = \ nix/boost/format/group.hpp \ nix/boost/format/feed_args.hpp \ nix/boost/format/internals_fwd.hpp \ - nix/boost/format/internals.hpp \ - nix/boost/detail/workaround.hpp \ - nix/boost/detail/shared_count.hpp \ - nix/boost/enable_shared_from_this.hpp + nix/boost/format/internals.hpp libformat_a_CPPFLAGS = \ -I$(top_srcdir)/nix libutil_a_SOURCES = \ nix/libutil/archive.cc \ + nix/libutil/affinity.cc \ nix/libutil/serialise.cc \ nix/libutil/util.cc \ nix/libutil/xml-writer.cc \ @@ -63,6 +60,7 @@ libutil_a_SOURCES = \ nix/libutil/gcrypt-hash.cc libutil_headers = \ + nix/libutil/affinity.hh \ nix/libutil/hash.hh \ nix/libutil/serialise.hh \ nix/libutil/xml-writer.hh \ @@ -72,7 +70,8 @@ libutil_headers = \ nix/libutil/gcrypt-hash.hh \ nix/libutil/md5.h \ nix/libutil/sha1.h \ - nix/libutil/sha256.h + nix/libutil/sha256.h \ + nix/libutil/sha512.h libutil_a_CPPFLAGS = \ -I$(top_builddir)/nix \ @@ -87,7 +86,6 @@ libstore_a_SOURCES = \ nix/libstore/store-api.cc \ nix/libstore/optimise-store.cc \ nix/libstore/local-store.cc \ - nix/libstore/remote-store.cc \ nix/libstore/build.cc \ nix/libstore/pathlocks.cc \ nix/libstore/derivations.cc @@ -96,9 +94,7 @@ libstore_headers = \ nix/libstore/references.hh \ nix/libstore/pathlocks.hh \ nix/libstore/globals.hh \ - nix/libstore/schema.sql.hh \ nix/libstore/worker-protocol.hh \ - nix/libstore/remote-store.hh \ nix/libstore/derivations.hh \ nix/libstore/misc.hh \ nix/libstore/local-store.hh \ @@ -110,23 +106,26 @@ libstore_a_CPPFLAGS = \ -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_STATE_DIR=\"$(localstatedir)/guix\" \ + -DNIX_LOG_DIR=\"$(localstatedir)/log/guix\" \ + -DNIX_CONF_DIR=\"$(sysconfdir)/guix\" \ -DNIX_LIBEXEC_DIR=\"$(libexecdir)\" \ -DNIX_BIN_DIR=\"$(bindir)\" \ - -DOPENSSL_PATH="\"openssl\"" + -DOPENSSL_PATH="\"guix-authenticate\"" \ + -DDEFAULT_CHROOT_DIRS="\"\"" -libstore_a_CXXFLAGS = \ +libstore_a_CXXFLAGS = $(AM_CXXFLAGS) \ $(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS) bin_PROGRAMS = guix-daemon +sbin_PROGRAMS = guix-register guix_daemon_SOURCES = \ nix/nix-daemon/nix-daemon.cc \ nix/nix-daemon/guix-daemon.cc guix_daemon_CPPFLAGS = \ + -DLOCALEDIR=\"$(localedir)\" \ $(libutil_a_CPPFLAGS) \ -I$(top_srcdir)/nix/libstore @@ -137,22 +136,27 @@ guix_daemon_LDADD = \ guix_daemon_headers = \ nix/nix-daemon/shared.hh -libexec_PROGRAMS = nix-setuid-helper -nix_setuid_helper_SOURCES = \ - nix/nix-setuid-helper/nix-setuid-helper.cc -nix_setuid_helper_CPPFLAGS = \ - $(libutil_a_CPPFLAGS) +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) -nix_setuid_helper_LDADD = \ - libutil.a libformat.a noinst_HEADERS = \ $(libformat_headers) $(libutil_headers) $(libstore_headers) \ $(guix_daemon_headers) nix/libstore/schema.sql.hh: nix/libstore/schema.sql - $(GUILE) --no-auto-compile -c \ + $(AM_V_GEN)$(GUILE) --no-auto-compile -c \ "(use-modules (rnrs io ports)) \ (call-with-output-file \"$@\" \ (lambda (out) \ @@ -162,13 +166,50 @@ nix/libstore/schema.sql.hh: nix/libstore/schema.sql nodist_pkglibexec_SCRIPTS = \ nix/scripts/list-runtime-roots \ - nix/scripts/substitute-binary + nix/scripts/substitute + +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 + +# The '.service' file for systemd. +systemdservicedir = $(libdir)/systemd/system +nodist_systemdservice_DATA = etc/guix-daemon.service + +etc/guix-daemon.service: etc/guix-daemon.service.in \ + $(top_builddir)/config.status + $(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \ + $(SED) -e 's|@''bindir''@|$(bindir)|' < \ + "$(srcdir)/etc/guix-daemon.service.in" > "$@.tmp"; \ + mv "$@.tmp" "$@" + +# The '.conf' job for Upstart. +upstartjobdir = $(libdir)/upstart/system +nodist_upstartjob_DATA = etc/guix-daemon.conf + +etc/guix-daemon.conf: etc/guix-daemon.conf.in \ + $(top_builddir)/config.status + $(AM_V_GEN)$(MKDIR_P) "`dirname $@`"; \ + $(SED) -e 's|@''bindir''@|$(bindir)|' < \ + "$(srcdir)/etc/guix-daemon.conf.in" > "$@.tmp"; \ + mv "$@.tmp" "$@" EXTRA_DIST += \ - nix/sync-with-upstream \ nix/libstore/schema.sql \ nix/AUTHORS \ - nix/COPYING + nix/COPYING \ + etc/guix-daemon.service.in \ + etc/guix-daemon.conf.in + +if CAN_RUN_TESTS AM_TESTS_ENVIRONMENT += \ top_builddir="$(abs_top_builddir)" @@ -176,6 +217,8 @@ AM_TESTS_ENVIRONMENT += \ TESTS += \ tests/guix-daemon.sh +endif CAN_RUN_TESTS + clean-local: -if test -d "$(GUIX_TEST_ROOT)"; then \ find "$(GUIX_TEST_ROOT)" | xargs chmod +w; \