mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-22 05:56:15 +02:00
Split --disable-tests
, fix cross builds
It might seem obnoxious to have yet more configure flags, but I found controlling both the unit and functional tests with one flag was quite confusing because they are so different: - unit tests depending on building, functional tests don't (e.g. when we test already-built Nix) - unit tests can be installed, functional tests cannot - unit tests neeed extra libraries (GTest, RapidCheck), functional tests need extra executables (jq). - unit tests are run by `make check`, functional tests are run by `make installcheck` Really on a technical level, they seem wholly independent. Only on a human level ("they are both are tests") do they have anything in common. I had messed up the logic in cross builds because of this. Now I split the flag in two (and cleaned up a few other inconsistencies), and the logic fixed itself. Co-Authored-By: Robert Hensing <roberth@users.noreply.github.com>
This commit is contained in:
parent
d19a667528
commit
7feabf7d44
9 changed files with 93 additions and 95 deletions
30
Makefile
30
Makefile
|
@ -24,7 +24,7 @@ makefiles = \
|
||||||
misc/upstart/local.mk
|
misc/upstart/local.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(ENABLE_BUILD)_$(ENABLE_TESTS), yes_yes)
|
ifeq ($(ENABLE_UNIT_TESTS), yes)
|
||||||
makefiles += \
|
makefiles += \
|
||||||
tests/unit/libutil/local.mk \
|
tests/unit/libutil/local.mk \
|
||||||
tests/unit/libutil-support/local.mk \
|
tests/unit/libutil-support/local.mk \
|
||||||
|
@ -32,9 +32,14 @@ makefiles += \
|
||||||
tests/unit/libstore-support/local.mk \
|
tests/unit/libstore-support/local.mk \
|
||||||
tests/unit/libexpr/local.mk \
|
tests/unit/libexpr/local.mk \
|
||||||
tests/unit/libexpr-support/local.mk
|
tests/unit/libexpr-support/local.mk
|
||||||
|
else
|
||||||
|
.PHONY: check
|
||||||
|
check:
|
||||||
|
@echo "Unit tests are disabled. Configure without '--disable-unit-tests', or avoid calling 'make check'."
|
||||||
|
@exit 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(ENABLE_TESTS), yes)
|
ifeq ($(ENABLE_FUNCTIONAL_TESTS), yes)
|
||||||
makefiles += \
|
makefiles += \
|
||||||
tests/functional/local.mk \
|
tests/functional/local.mk \
|
||||||
tests/functional/ca/local.mk \
|
tests/functional/ca/local.mk \
|
||||||
|
@ -42,8 +47,10 @@ makefiles += \
|
||||||
tests/functional/test-libstoreconsumer/local.mk \
|
tests/functional/test-libstoreconsumer/local.mk \
|
||||||
tests/functional/plugins/local.mk
|
tests/functional/plugins/local.mk
|
||||||
else
|
else
|
||||||
makefiles += \
|
.PHONY: installcheck
|
||||||
mk/disable-tests.mk
|
installcheck:
|
||||||
|
@echo "Functional tests are disabled. Configure without '--disable-functional-tests', or avoid calling 'make installcheck'."
|
||||||
|
@exit 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
OPTIMIZE = 1
|
OPTIMIZE = 1
|
||||||
|
@ -59,9 +66,22 @@ include mk/lib.mk
|
||||||
|
|
||||||
# Must be included after `mk/lib.mk` so rules refer to variables defined
|
# Must be included after `mk/lib.mk` so rules refer to variables defined
|
||||||
# by the library. Rules are not "lazy" like variables, unfortunately.
|
# by the library. Rules are not "lazy" like variables, unfortunately.
|
||||||
ifeq ($(ENABLE_BUILD), yes)
|
ifeq ($(ENABLE_DOC_GEN),yes)
|
||||||
$(eval $(call include-sub-makefile, doc/manual/local.mk))
|
$(eval $(call include-sub-makefile, doc/manual/local.mk))
|
||||||
|
else
|
||||||
|
.PHONY: manual-html manpages
|
||||||
|
manual-html manpages:
|
||||||
|
@echo "Generated docs are disabled. Configure without '--disable-doc-gen', or avoid calling 'make manpages' and 'make manual-html'."
|
||||||
|
@exit 1
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifeq ($(ENABLE_INTERNAL_API_DOCS),yes)
|
||||||
$(eval $(call include-sub-makefile, doc/internal-api/local.mk))
|
$(eval $(call include-sub-makefile, doc/internal-api/local.mk))
|
||||||
|
else
|
||||||
|
.PHONY: internal-api-html
|
||||||
|
internal-api-html:
|
||||||
|
@echo "Internal API docs are disabled. Configure with '--enable-internal-api-docs', or avoid calling 'make internal-api-html'."
|
||||||
|
@exit 1
|
||||||
|
endif
|
||||||
|
|
||||||
GLOBAL_CXXFLAGS += -g -Wall -include $(buildprefix)config.h -std=c++2a -I src
|
GLOBAL_CXXFLAGS += -g -Wall -include $(buildprefix)config.h -std=c++2a -I src
|
||||||
|
|
|
@ -9,8 +9,11 @@ CXXFLAGS = @CXXFLAGS@
|
||||||
CXXLTO = @CXXLTO@
|
CXXLTO = @CXXLTO@
|
||||||
EDITLINE_LIBS = @EDITLINE_LIBS@
|
EDITLINE_LIBS = @EDITLINE_LIBS@
|
||||||
ENABLE_BUILD = @ENABLE_BUILD@
|
ENABLE_BUILD = @ENABLE_BUILD@
|
||||||
|
ENABLE_DOC_GEN = @ENABLE_DOC_GEN@
|
||||||
|
ENABLE_FUNCTIONAL_TESTS = @ENABLE_FUNCTIONAL_TESTS@
|
||||||
|
ENABLE_INTERNAL_API_DOCS = @ENABLE_INTERNAL_API_DOCS@
|
||||||
ENABLE_S3 = @ENABLE_S3@
|
ENABLE_S3 = @ENABLE_S3@
|
||||||
ENABLE_TESTS = @ENABLE_TESTS@
|
ENABLE_UNIT_TESTS = @ENABLE_UNIT_TESTS@
|
||||||
GTEST_LIBS = @GTEST_LIBS@
|
GTEST_LIBS = @GTEST_LIBS@
|
||||||
HAVE_LIBCPUID = @HAVE_LIBCPUID@
|
HAVE_LIBCPUID = @HAVE_LIBCPUID@
|
||||||
HAVE_SECCOMP = @HAVE_SECCOMP@
|
HAVE_SECCOMP = @HAVE_SECCOMP@
|
||||||
|
@ -36,12 +39,10 @@ checkbindir = @checkbindir@
|
||||||
checklibdir = @checklibdir@
|
checklibdir = @checklibdir@
|
||||||
datadir = @datadir@
|
datadir = @datadir@
|
||||||
datarootdir = @datarootdir@
|
datarootdir = @datarootdir@
|
||||||
doc_generate = @doc_generate@
|
|
||||||
docdir = @docdir@
|
docdir = @docdir@
|
||||||
embedded_sandbox_shell = @embedded_sandbox_shell@
|
embedded_sandbox_shell = @embedded_sandbox_shell@
|
||||||
exec_prefix = @exec_prefix@
|
exec_prefix = @exec_prefix@
|
||||||
includedir = @includedir@
|
includedir = @includedir@
|
||||||
internal_api_docs = @internal_api_docs@
|
|
||||||
libdir = @libdir@
|
libdir = @libdir@
|
||||||
libexecdir = @libexecdir@
|
libexecdir = @libexecdir@
|
||||||
localstatedir = @localstatedir@
|
localstatedir = @localstatedir@
|
||||||
|
|
43
configure.ac
43
configure.ac
|
@ -138,20 +138,38 @@ AC_ARG_ENABLE(build, AS_HELP_STRING([--disable-build],[Do not build nix]),
|
||||||
ENABLE_BUILD=$enableval, ENABLE_BUILD=yes)
|
ENABLE_BUILD=$enableval, ENABLE_BUILD=yes)
|
||||||
AC_SUBST(ENABLE_BUILD)
|
AC_SUBST(ENABLE_BUILD)
|
||||||
|
|
||||||
# Building without tests is useful for bootstrapping with a smaller footprint
|
# Building without unit tests is useful for bootstrapping with a smaller footprint
|
||||||
# or running the tests in a separate derivation. Otherwise, we do compile and
|
# or running the tests in a separate derivation. Otherwise, we do compile and
|
||||||
# run them.
|
# run them.
|
||||||
AC_ARG_ENABLE(tests, AS_HELP_STRING([--disable-tests],[Do not build the tests]),
|
|
||||||
ENABLE_TESTS=$enableval, ENABLE_TESTS=yes)
|
|
||||||
AC_SUBST(ENABLE_TESTS)
|
|
||||||
|
|
||||||
# Building without API docs is the default as Nix' C++ interfaces are internal and unstable.
|
AC_ARG_ENABLE(unit-tests, AS_HELP_STRING([--disable-unit-tests],[Do not build the tests]),
|
||||||
AC_ARG_ENABLE(internal_api_docs, AS_HELP_STRING([--enable-internal-api-docs],[Build API docs for Nix's internal unstable C++ interfaces]),
|
ENABLE_UNIT_TESTS=$enableval, ENABLE_UNIT_TESTS=$ENABLE_BUILD)
|
||||||
internal_api_docs=$enableval, internal_api_docs=no)
|
AC_SUBST(ENABLE_UNIT_TESTS)
|
||||||
AC_SUBST(internal_api_docs)
|
|
||||||
|
|
||||||
AS_IF(
|
AS_IF(
|
||||||
[test "$ENABLE_BUILD" == "yes" || test "$ENABLE_TEST" == "yes"],
|
[test "$ENABLE_BUILD" == "no" && test "$ENABLE_UNIT_TESTS" == "yes"],
|
||||||
|
[AC_MSG_ERROR([Cannot enable unit tests when building overall is disabled. Please do not pass '--enable-unit-tests' or do not pass '--disable-build'.])])
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(functional-tests, AS_HELP_STRING([--disable-functional-tests],[Do not build the tests]),
|
||||||
|
ENABLE_FUNCTIONAL_TESTS=$enableval, ENABLE_FUNCTIONAL_TESTS=yes)
|
||||||
|
AC_SUBST(ENABLE_FUNCTIONAL_TESTS)
|
||||||
|
|
||||||
|
# documentation generation switch
|
||||||
|
AC_ARG_ENABLE(doc-gen, AS_HELP_STRING([--disable-doc-gen],[disable documentation generation]),
|
||||||
|
ENABLE_DOC_GEN=$enableval, ENABLE_DOC_GEN=$ENABLE_BUILD)
|
||||||
|
AC_SUBST(ENABLE_DOC_GEN)
|
||||||
|
|
||||||
|
AS_IF(
|
||||||
|
[test "$ENABLE_BUILD" == "no" && test "$ENABLE_GENERATED_DOCS" == "yes"],
|
||||||
|
[AC_MSG_ERROR([Cannot enable generated docs when building overall is disabled. Please do not pass '--enable-doc-gen' or do not pass '--disable-build'.])])
|
||||||
|
|
||||||
|
# Building without API docs is the default as Nix' C++ interfaces are internal and unstable.
|
||||||
|
AC_ARG_ENABLE(internal-api-docs, AS_HELP_STRING([--enable-internal-api-docs],[Build API docs for Nix's internal unstable C++ interfaces]),
|
||||||
|
ENABLE_INTERNAL_API_DOCS=$enableval, ENABLE_INTERNAL_API_DOCS=no)
|
||||||
|
AC_SUBST(ENABLE_INTERNAL_API_DOCS)
|
||||||
|
|
||||||
|
AS_IF(
|
||||||
|
[test "$ENABLE_FUNCTIONAL_TESTS" == "yes" || test "$ENABLE_DOC_GEN" == "yes"],
|
||||||
[NEED_PROG(jq, jq)])
|
[NEED_PROG(jq, jq)])
|
||||||
|
|
||||||
AS_IF([test "$ENABLE_BUILD" == "yes"],[
|
AS_IF([test "$ENABLE_BUILD" == "yes"],[
|
||||||
|
@ -317,7 +335,7 @@ if test "$gc" = yes; then
|
||||||
AC_DEFINE(HAVE_BOEHMGC, 1, [Whether to use the Boehm garbage collector.])
|
AC_DEFINE(HAVE_BOEHMGC, 1, [Whether to use the Boehm garbage collector.])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
AS_IF([test "$ENABLE_TESTS" == "yes"],[
|
AS_IF([test "$ENABLE_UNIT_TESTS" == "yes"],[
|
||||||
|
|
||||||
# Look for gtest.
|
# Look for gtest.
|
||||||
PKG_CHECK_MODULES([GTEST], [gtest_main])
|
PKG_CHECK_MODULES([GTEST], [gtest_main])
|
||||||
|
@ -349,11 +367,6 @@ AC_LANG_POP(C++)
|
||||||
# Look for nlohmann/json.
|
# Look for nlohmann/json.
|
||||||
PKG_CHECK_MODULES([NLOHMANN_JSON], [nlohmann_json >= 3.9])
|
PKG_CHECK_MODULES([NLOHMANN_JSON], [nlohmann_json >= 3.9])
|
||||||
|
|
||||||
# documentation generation switch
|
|
||||||
AC_ARG_ENABLE(doc-gen, AS_HELP_STRING([--disable-doc-gen],[disable documentation generation]),
|
|
||||||
doc_generate=$enableval, doc_generate=yes)
|
|
||||||
AC_SUBST(doc_generate)
|
|
||||||
|
|
||||||
|
|
||||||
# Look for lowdown library.
|
# Look for lowdown library.
|
||||||
PKG_CHECK_MODULES([LOWDOWN], [lowdown >= 0.9.0], [CXXFLAGS="$LOWDOWN_CFLAGS $CXXFLAGS"])
|
PKG_CHECK_MODULES([LOWDOWN], [lowdown >= 0.9.0], [CXXFLAGS="$LOWDOWN_CFLAGS $CXXFLAGS"])
|
||||||
|
|
|
@ -1,19 +1,7 @@
|
||||||
.PHONY: internal-api-html
|
|
||||||
|
|
||||||
ifeq ($(internal_api_docs), yes)
|
|
||||||
|
|
||||||
$(docdir)/internal-api/html/index.html $(docdir)/internal-api/latex: $(d)/doxygen.cfg
|
$(docdir)/internal-api/html/index.html $(docdir)/internal-api/latex: $(d)/doxygen.cfg
|
||||||
mkdir -p $(docdir)/internal-api
|
mkdir -p $(docdir)/internal-api
|
||||||
{ cat $< ; echo "OUTPUT_DIRECTORY=$(docdir)/internal-api" ; } | doxygen -
|
{ cat $< ; echo "OUTPUT_DIRECTORY=$(docdir)/internal-api" ; } | doxygen -
|
||||||
|
|
||||||
# Generate the HTML API docs for Nix's unstable internal interfaces.
|
# Generate the HTML API docs for Nix's unstable internal interfaces.
|
||||||
|
.PHONY: internal-api-html
|
||||||
internal-api-html: $(docdir)/internal-api/html/index.html
|
internal-api-html: $(docdir)/internal-api/html/index.html
|
||||||
|
|
||||||
else
|
|
||||||
|
|
||||||
# Make a nicer error message
|
|
||||||
internal-api-html:
|
|
||||||
@echo "Internal API docs are disabled. Configure with '--enable-internal-api-docs', or avoid calling 'make internal-api-html'."
|
|
||||||
@exit 1
|
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
|
@ -1,5 +1,3 @@
|
||||||
ifeq ($(doc_generate),yes)
|
|
||||||
|
|
||||||
# The version of Nix used to generate the doc. Can also be
|
# The version of Nix used to generate the doc. Can also be
|
||||||
# `$(nix_INSTALL_PATH)` or just `nix` (to grap ambient from the `PATH`),
|
# `$(nix_INSTALL_PATH)` or just `nix` (to grap ambient from the `PATH`),
|
||||||
# if one prefers.
|
# if one prefers.
|
||||||
|
@ -180,6 +178,8 @@ manual-html: $(docdir)/manual/index.html
|
||||||
install: $(docdir)/manual/index.html
|
install: $(docdir)/manual/index.html
|
||||||
|
|
||||||
# Generate 'nix' manpages.
|
# Generate 'nix' manpages.
|
||||||
|
.PHONY: manpages
|
||||||
|
manpages: $(mandir)/man1/nix3-manpages
|
||||||
install: $(mandir)/man1/nix3-manpages
|
install: $(mandir)/man1/nix3-manpages
|
||||||
man: doc/manual/generated/man1/nix3-manpages
|
man: doc/manual/generated/man1/nix3-manpages
|
||||||
all: doc/manual/generated/man1/nix3-manpages
|
all: doc/manual/generated/man1/nix3-manpages
|
||||||
|
@ -225,5 +225,3 @@ $(docdir)/manual/index.html: $(MANUAL_SRCS) $(d)/book.toml $(d)/anchors.jq $(d)/
|
||||||
@rm -rf $(DESTDIR)$(docdir)/manual
|
@rm -rf $(DESTDIR)$(docdir)/manual
|
||||||
@mv $(DESTDIR)$(docdir)/manual.tmp/html $(DESTDIR)$(docdir)/manual
|
@mv $(DESTDIR)$(docdir)/manual.tmp/html $(DESTDIR)$(docdir)/manual
|
||||||
@rm -rf $(DESTDIR)$(docdir)/manual.tmp
|
@rm -rf $(DESTDIR)$(docdir)/manual.tmp
|
||||||
|
|
||||||
endif
|
|
||||||
|
|
|
@ -67,9 +67,10 @@ You can also build Nix for one of the [supported platforms](#platforms).
|
||||||
## Makefile variables
|
## Makefile variables
|
||||||
|
|
||||||
- `ENABLE_BUILD=yes` to enable building the C++ code.
|
- `ENABLE_BUILD=yes` to enable building the C++ code.
|
||||||
- `ENABLE_TESTS=yes` to enable building the tests.
|
- `ENABLE_DOC_GEN=yes` to enable building the documentation (manual, man pages, etc.).
|
||||||
|
- `ENABLE_FUNCTIONAL_TESTS=yes` to enable building the functional tests.
|
||||||
|
- `ENABLE_UNIT_TESTS=yes` to enable building the unit tests.
|
||||||
- `OPTIMIZE=1` to enable optimizations.
|
- `OPTIMIZE=1` to enable optimizations.
|
||||||
- `doc_generate=yes` to enable building the documentation (manual, man pages, etc.).
|
|
||||||
|
|
||||||
The docs can take a while to build, so you may want to disable this for local development.
|
The docs can take a while to build, so you may want to disable this for local development.
|
||||||
|
|
||||||
|
|
|
@ -72,7 +72,7 @@
|
||||||
This is an optional dependency and can be disabled
|
This is an optional dependency and can be disabled
|
||||||
by providing a `--disable-cpuid` to the `configure` script.
|
by providing a `--disable-cpuid` to the `configure` script.
|
||||||
|
|
||||||
- Unless `./configure --disable-tests` is specified, GoogleTest (GTest) and
|
- Unless `./configure --disable-unit-tests` is specified, GoogleTest (GTest) and
|
||||||
RapidCheck are required, which are available at
|
RapidCheck are required, which are available at
|
||||||
<https://google.github.io/googletest/> and
|
<https://google.github.io/googletest/> and
|
||||||
<https://github.com/emil-e/rapidcheck> respectively.
|
<https://github.com/emil-e/rapidcheck> respectively.
|
||||||
|
|
|
@ -1,12 +0,0 @@
|
||||||
# This file is only active for `./configure --disable-tests`.
|
|
||||||
# Running `make check` or `make installcheck` would indicate a mistake in the
|
|
||||||
# caller.
|
|
||||||
|
|
||||||
installcheck:
|
|
||||||
@echo "Tests are disabled. Configure without '--disable-tests', or avoid calling 'make installcheck'."
|
|
||||||
@exit 1
|
|
||||||
|
|
||||||
# This currently has little effect.
|
|
||||||
check:
|
|
||||||
@echo "Tests are disabled. Configure without '--disable-tests', or avoid calling 'make check'."
|
|
||||||
@exit 1
|
|
69
package.nix
69
package.nix
|
@ -104,30 +104,6 @@ let
|
||||||
inherit doBuild doCheck doInstallCheck;
|
inherit doBuild doCheck doInstallCheck;
|
||||||
};
|
};
|
||||||
|
|
||||||
filesets = {
|
|
||||||
baseFiles = fileset.fileFilter (f: f.name != ".gitignore") ./.;
|
|
||||||
|
|
||||||
configureFiles = fileset.unions [
|
|
||||||
./.version
|
|
||||||
./configure.ac
|
|
||||||
./m4
|
|
||||||
# TODO: do we really need README.md? It doesn't seem used in the build.
|
|
||||||
./README.md
|
|
||||||
];
|
|
||||||
|
|
||||||
topLevelBuildFiles = fileset.unions [
|
|
||||||
./local.mk
|
|
||||||
./Makefile
|
|
||||||
./Makefile.config.in
|
|
||||||
./mk
|
|
||||||
];
|
|
||||||
|
|
||||||
functionalTestFiles = fileset.unions [
|
|
||||||
./tests/functional
|
|
||||||
(fileset.fileFilter (f: lib.strings.hasPrefix "nix-profile" f.name) ./scripts)
|
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
mkDerivation =
|
mkDerivation =
|
||||||
if withCoverageChecks
|
if withCoverageChecks
|
||||||
then
|
then
|
||||||
|
@ -151,32 +127,44 @@ mkDerivation (finalAttrs: let
|
||||||
# to be run later, requiresthe unit tests to be built.
|
# to be run later, requiresthe unit tests to be built.
|
||||||
buildUnitTests = doCheck || installUnitTests;
|
buildUnitTests = doCheck || installUnitTests;
|
||||||
|
|
||||||
anySortOfTesting = buildUnitTests || doInstallCheck;
|
|
||||||
|
|
||||||
in {
|
in {
|
||||||
inherit pname version;
|
inherit pname version;
|
||||||
|
|
||||||
src =
|
src =
|
||||||
let
|
let
|
||||||
|
baseFiles = fileset.fileFilter (f: f.name != ".gitignore") ./.;
|
||||||
in
|
in
|
||||||
fileset.toSource {
|
fileset.toSource {
|
||||||
root = ./.;
|
root = ./.;
|
||||||
fileset = fileset.intersect filesets.baseFiles (fileset.unions ([
|
fileset = fileset.intersect baseFiles (fileset.unions ([
|
||||||
filesets.configureFiles
|
# For configure
|
||||||
filesets.topLevelBuildFiles
|
./.version
|
||||||
./doc/internal-api
|
./configure.ac
|
||||||
|
./m4
|
||||||
|
# TODO: do we really need README.md? It doesn't seem used in the build.
|
||||||
|
./README.md
|
||||||
|
# For make, regardless of what we are building
|
||||||
|
./local.mk
|
||||||
|
./Makefile
|
||||||
|
./Makefile.config.in
|
||||||
|
./mk
|
||||||
|
(fileset.fileFilter (f: lib.strings.hasPrefix "nix-profile" f.name) ./scripts)
|
||||||
] ++ lib.optionals doBuild [
|
] ++ lib.optionals doBuild [
|
||||||
./boehmgc-coroutine-sp-fallback.diff
|
./boehmgc-coroutine-sp-fallback.diff
|
||||||
./doc
|
./doc
|
||||||
./misc
|
./misc
|
||||||
./precompiled-headers.h
|
./precompiled-headers.h
|
||||||
./src
|
./src
|
||||||
./tests/unit
|
|
||||||
./COPYING
|
./COPYING
|
||||||
./scripts/local.mk
|
./scripts/local.mk
|
||||||
] ++ lib.optionals anySortOfTesting [
|
] ++ lib.optionals buildUnitTests [
|
||||||
filesets.functionalTestFiles
|
./doc/manual
|
||||||
|
] ++ lib.optionals enableInternalAPIDocs [
|
||||||
|
./doc/internal-api
|
||||||
|
] ++ lib.optionals buildUnitTests [
|
||||||
|
./tests/unit
|
||||||
|
] ++ lib.optionals doInstallCheck [
|
||||||
|
./tests/functional
|
||||||
]));
|
]));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -277,7 +265,8 @@ in {
|
||||||
configureFlags = [
|
configureFlags = [
|
||||||
"--sysconfdir=/etc"
|
"--sysconfdir=/etc"
|
||||||
(lib.enableFeature doBuild "build")
|
(lib.enableFeature doBuild "build")
|
||||||
(lib.enableFeature anySortOfTesting "tests")
|
(lib.enableFeature buildUnitTests "unit-tests")
|
||||||
|
(lib.enableFeature doInstallCheck "functional-tests")
|
||||||
(lib.enableFeature enableInternalAPIDocs "internal-api-docs")
|
(lib.enableFeature enableInternalAPIDocs "internal-api-docs")
|
||||||
(lib.enableFeature enableManual "doc-gen")
|
(lib.enableFeature enableManual "doc-gen")
|
||||||
(lib.enableFeature installUnitTests "install-unit-tests")
|
(lib.enableFeature installUnitTests "install-unit-tests")
|
||||||
|
@ -310,10 +299,7 @@ in {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
postInstall = lib.optionalString doBuild (
|
postInstall = lib.optionalString doBuild (
|
||||||
''
|
lib.optionalString stdenv.hostPlatform.isStatic ''
|
||||||
mkdir -p $doc/nix-support
|
|
||||||
echo "doc manual $doc/share/doc/nix/manual" >> $doc/nix-support/hydra-build-products
|
|
||||||
'' + lib.optionalString stdenv.hostPlatform.isStatic ''
|
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
echo "file binary-dist $out/bin/nix" >> $out/nix-support/hydra-build-products
|
echo "file binary-dist $out/bin/nix" >> $out/nix-support/hydra-build-products
|
||||||
'' + lib.optionalString stdenv.isDarwin ''
|
'' + lib.optionalString stdenv.isDarwin ''
|
||||||
|
@ -322,7 +308,10 @@ in {
|
||||||
$out/lib/libboost_context.dylib \
|
$out/lib/libboost_context.dylib \
|
||||||
$out/lib/libnixutil.dylib
|
$out/lib/libnixutil.dylib
|
||||||
''
|
''
|
||||||
) + lib.optionalString enableInternalAPIDocs ''
|
) + lib.optionalString enableManual ''
|
||||||
|
mkdir -p ''${!outputDoc}/nix-support
|
||||||
|
echo "doc manual ''${!outputDoc}/share/doc/nix/manual" >> ''${!outputDoc}/nix-support/hydra-build-products
|
||||||
|
'' + lib.optionalString enableInternalAPIDocs ''
|
||||||
mkdir -p ''${!outputDoc}/nix-support
|
mkdir -p ''${!outputDoc}/nix-support
|
||||||
echo "doc internal-api-docs $out/share/doc/nix/internal-api/html" >> ''${!outputDoc}/nix-support/hydra-build-products
|
echo "doc internal-api-docs $out/share/doc/nix/internal-api/html" >> ''${!outputDoc}/nix-support/hydra-build-products
|
||||||
'';
|
'';
|
||||||
|
|
Loading…
Reference in a new issue