mirror of
https://github.com/NixOS/nix.git
synced 2025-04-16 06:08:03 +00:00
Merge pull request #12945 from NixOS/mergify/bp/2.28-maintenance/pr-12940
Header cleanup (backport #12940)
This commit is contained in:
commit
9cdf72beaa
@ -1,3 +0,0 @@
|
||||
// TODO: Remove this damn file while keeping public config headers working
|
||||
#error \
|
||||
"This file is a placeholder. It only exists so that meson accepts the symbolic link include/nix/expr/config.hh to this file, but we expect meson to overwrite it with the real file. Apparently that did not happen. I deeply apologize for this mess."
|
@ -1 +0,0 @@
|
||||
../../../expr-config.hh
|
@ -10,7 +10,6 @@ config_pub_h = configure_file(
|
||||
headers = [config_pub_h] + files(
|
||||
'attr-path.hh',
|
||||
'attr-set.hh',
|
||||
'config.hh',
|
||||
'eval-cache.hh',
|
||||
'eval-error.hh',
|
||||
'eval-gc.hh',
|
||||
|
@ -79,11 +79,6 @@ config_priv_h = configure_file(
|
||||
output : 'expr-config-private.hh',
|
||||
)
|
||||
|
||||
config_pub_h = configure_file(
|
||||
configuration : configdata_pub,
|
||||
output : 'expr-config.hh',
|
||||
)
|
||||
|
||||
subdir('nix-meson-build-support/common')
|
||||
|
||||
parser_tab = custom_target(
|
||||
@ -168,8 +163,6 @@ subdir('primops')
|
||||
subdir('nix-meson-build-support/export-all-symbols')
|
||||
subdir('nix-meson-build-support/windows-version')
|
||||
|
||||
headers += [config_pub_h]
|
||||
|
||||
this_library = library(
|
||||
'nixexpr',
|
||||
sources,
|
||||
@ -188,8 +181,4 @@ install_headers(headers, subdir : 'nix/expr', preserve_path : true)
|
||||
|
||||
libraries_private = []
|
||||
|
||||
nixexpr_dep = declare_dependency(
|
||||
include_directories : include_directories('.'),
|
||||
link_with : this_library,
|
||||
)
|
||||
subdir('nix-meson-build-support/export')
|
||||
|
@ -17,12 +17,14 @@ subdir('nix-meson-build-support/deps-lists')
|
||||
configdata = configuration_data()
|
||||
|
||||
deps_private_maybe_subproject = [
|
||||
# This dependency may be very limited; was introduced for NIX_USE_BOEHMGC macro dependency
|
||||
dependency('nix-expr'),
|
||||
]
|
||||
deps_public_maybe_subproject = [
|
||||
dependency('nix-util'),
|
||||
dependency('nix-store'),
|
||||
# FIXME: This is only here for the NIX_USE_BOEHMGC macro dependency
|
||||
# Removing nix-expr will make the build more concurrent and is
|
||||
# architecturally nice, perhaps.
|
||||
dependency('nix-expr'),
|
||||
]
|
||||
subdir('nix-meson-build-support/subprojects')
|
||||
|
||||
|
@ -40,8 +40,7 @@ deps_private += gtest
|
||||
configdata = configuration_data()
|
||||
configdata.set_quoted('PACKAGE_VERSION', meson.project_version())
|
||||
|
||||
aws_s3 = dependency('aws-cpp-sdk-s3', required : false)
|
||||
configdata.set('ENABLE_S3', aws_s3.found().to_int())
|
||||
configdata.set_quoted('NIX_STORE_DIR', nix_store.get_variable('storedir'))
|
||||
|
||||
config_priv_h = configure_file(
|
||||
configuration : configdata,
|
||||
@ -92,7 +91,6 @@ this_exe = executable(
|
||||
include_directories : include_dirs,
|
||||
# TODO: -lrapidcheck, see ../libutil-support/build.meson
|
||||
link_args: linker_export_flags + ['-lrapidcheck'],
|
||||
cpp_args : [ '-DNIX_STORE_DIR="' + nix_store.get_variable('storedir') + '"' ],
|
||||
# get main from gtest
|
||||
install : true,
|
||||
)
|
||||
|
@ -1,10 +1,9 @@
|
||||
#include "store-tests-config.hh"
|
||||
#if ENABLE_S3
|
||||
#include "nix/store/s3-binary-cache-store.hh"
|
||||
|
||||
#if NIX_WITH_S3_SUPPORT
|
||||
|
||||
# include <gtest/gtest.h>
|
||||
|
||||
# include "nix/store/s3-binary-cache-store.hh"
|
||||
|
||||
namespace nix {
|
||||
|
||||
TEST(S3BinaryCacheStore, constructConfig)
|
||||
|
@ -9,7 +9,7 @@
|
||||
#include "nix/util/signals.hh"
|
||||
|
||||
#include "store-config-private.hh"
|
||||
#if ENABLE_S3
|
||||
#if NIX_WITH_S3_SUPPORT
|
||||
#include <aws/core/client/ClientConfiguration.h>
|
||||
#endif
|
||||
|
||||
@ -756,7 +756,7 @@ struct curlFileTransfer : public FileTransfer
|
||||
#endif
|
||||
}
|
||||
|
||||
#if ENABLE_S3
|
||||
#if NIX_WITH_S3_SUPPORT
|
||||
std::tuple<std::string, std::string, Store::Params> parseS3Uri(std::string uri)
|
||||
{
|
||||
auto [path, params] = splitUriAndParams(uri);
|
||||
@ -779,7 +779,7 @@ struct curlFileTransfer : public FileTransfer
|
||||
if (hasPrefix(request.uri, "s3://")) {
|
||||
// FIXME: do this on a worker thread
|
||||
try {
|
||||
#if ENABLE_S3
|
||||
#if NIX_WITH_S3_SUPPORT
|
||||
auto [bucketName, key, params] = parseS3Uri(request.uri);
|
||||
|
||||
std::string profile = getOr(params, "profile", "");
|
||||
|
@ -1,9 +1,13 @@
|
||||
#pragma once
|
||||
///@file
|
||||
|
||||
#include "nix/store/binary-cache-store.hh"
|
||||
#include "nix/store/config.hh"
|
||||
|
||||
#include <atomic>
|
||||
#if NIX_WITH_S3_SUPPORT
|
||||
|
||||
# include "nix/store/binary-cache-store.hh"
|
||||
|
||||
# include <atomic>
|
||||
|
||||
namespace nix {
|
||||
|
||||
@ -125,3 +129,5 @@ public:
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@ -1,7 +1,7 @@
|
||||
#pragma once
|
||||
///@file
|
||||
#include "store-config-private.hh"
|
||||
#if ENABLE_S3
|
||||
#if NIX_WITH_S3_SUPPORT
|
||||
|
||||
#include "nix/util/ref.hh"
|
||||
|
||||
|
@ -126,7 +126,8 @@ deps_private += sqlite
|
||||
# AWS C++ SDK has bad pkg-config. See
|
||||
# https://github.com/aws/aws-sdk-cpp/issues/2673 for details.
|
||||
aws_s3 = dependency('aws-cpp-sdk-s3', required : false)
|
||||
configdata_priv.set('ENABLE_S3', aws_s3.found().to_int())
|
||||
# The S3 store definitions in the header will be hidden based on this variables.
|
||||
configdata_pub.set('NIX_WITH_S3_SUPPORT', aws_s3.found().to_int())
|
||||
if aws_s3.found()
|
||||
aws_s3 = declare_dependency(
|
||||
include_directories: include_directories(aws_s3.get_variable('includedir')),
|
||||
@ -153,13 +154,15 @@ endforeach
|
||||
|
||||
busybox = find_program(get_option('sandbox-shell'), required : false)
|
||||
|
||||
configdata_priv.set('HAVE_EMBEDDED_SANDBOX_SHELL', get_option('embedded-sandbox-shell').to_int())
|
||||
|
||||
if get_option('embedded-sandbox-shell')
|
||||
configdata_priv.set_quoted('SANDBOX_SHELL', '__embedded_sandbox_shell__')
|
||||
elif busybox.found()
|
||||
configdata_priv.set_quoted('SANDBOX_SHELL', busybox.full_path())
|
||||
endif
|
||||
|
||||
if get_option('embedded-sandbox-shell')
|
||||
# This one goes in config.h
|
||||
# The path to busybox is passed as a -D flag when compiling this_library.
|
||||
# This solution is inherited from the old make buildsystem
|
||||
# TODO: do this differently?
|
||||
# TODO: at least define it unconditionally, so we get checking from -Wundef
|
||||
configdata_priv.set('HAVE_EMBEDDED_SANDBOX_SHELL', 1)
|
||||
hexdump = find_program('hexdump', native : true)
|
||||
embedded_sandbox_shell_gen = custom_target(
|
||||
'embedded-sandbox-shell.gen.hh',
|
||||
@ -177,16 +180,71 @@ if get_option('embedded-sandbox-shell')
|
||||
generated_headers += embedded_sandbox_shell_gen
|
||||
endif
|
||||
|
||||
fs = import('fs')
|
||||
|
||||
prefix = get_option('prefix')
|
||||
# For each of these paths, assume that it is relative to the prefix unless
|
||||
# it is already an absolute path (which is the default for store-dir, localstatedir, and log-dir).
|
||||
path_opts = [
|
||||
# Meson built-ins.
|
||||
'datadir',
|
||||
'mandir',
|
||||
'libdir',
|
||||
'includedir',
|
||||
'libexecdir',
|
||||
# Homecooked Nix directories.
|
||||
'store-dir',
|
||||
'localstatedir',
|
||||
'log-dir',
|
||||
]
|
||||
# For your grepping pleasure, this loop sets the following variables that aren't mentioned
|
||||
# literally above:
|
||||
# store_dir
|
||||
# localstatedir
|
||||
# log_dir
|
||||
# profile_dir
|
||||
foreach optname : path_opts
|
||||
varname = optname.replace('-', '_')
|
||||
path = get_option(optname)
|
||||
if fs.is_absolute(path)
|
||||
set_variable(varname, path)
|
||||
else
|
||||
set_variable(varname, prefix / path)
|
||||
endif
|
||||
endforeach
|
||||
|
||||
# sysconfdir doesn't get anything installed to directly, and is only used to
|
||||
# tell Nix where to look for nix.conf, so it doesn't get appended to prefix.
|
||||
sysconfdir = get_option('sysconfdir')
|
||||
if not fs.is_absolute(sysconfdir)
|
||||
sysconfdir = '/' / sysconfdir
|
||||
endif
|
||||
|
||||
# Aside from prefix itself, each of these was made into an absolute path
|
||||
# by joining it with prefix, unless it was already an absolute path
|
||||
# (which is the default for store-dir, localstatedir, and log-dir).
|
||||
configdata_priv.set_quoted('NIX_PREFIX', prefix)
|
||||
configdata_priv.set_quoted('NIX_STORE_DIR', store_dir)
|
||||
configdata_priv.set_quoted('NIX_DATA_DIR', datadir)
|
||||
configdata_priv.set_quoted('NIX_STATE_DIR', localstatedir / 'nix')
|
||||
configdata_priv.set_quoted('NIX_LOG_DIR', log_dir)
|
||||
configdata_priv.set_quoted('NIX_CONF_DIR', sysconfdir / 'nix')
|
||||
configdata_priv.set_quoted('NIX_MAN_DIR', mandir)
|
||||
|
||||
lsof = find_program('lsof', required : false)
|
||||
configdata_priv.set_quoted(
|
||||
'LSOF',
|
||||
lsof.found()
|
||||
? lsof.full_path()
|
||||
# Just look up on the PATH
|
||||
: 'lsof',
|
||||
)
|
||||
|
||||
config_priv_h = configure_file(
|
||||
configuration : configdata_priv,
|
||||
output : 'store-config-private.hh',
|
||||
)
|
||||
|
||||
config_pub_h = configure_file(
|
||||
configuration : configdata_pub,
|
||||
output : 'store-config.hh',
|
||||
)
|
||||
|
||||
subdir('nix-meson-build-support/common')
|
||||
|
||||
sources = files(
|
||||
@ -269,89 +327,6 @@ else
|
||||
subdir('unix')
|
||||
endif
|
||||
|
||||
fs = import('fs')
|
||||
|
||||
prefix = get_option('prefix')
|
||||
# For each of these paths, assume that it is relative to the prefix unless
|
||||
# it is already an absolute path (which is the default for store-dir, localstatedir, and log-dir).
|
||||
path_opts = [
|
||||
# Meson built-ins.
|
||||
'datadir',
|
||||
'mandir',
|
||||
'libdir',
|
||||
'includedir',
|
||||
'libexecdir',
|
||||
# Homecooked Nix directories.
|
||||
'store-dir',
|
||||
'localstatedir',
|
||||
'log-dir',
|
||||
]
|
||||
# For your grepping pleasure, this loop sets the following variables that aren't mentioned
|
||||
# literally above:
|
||||
# store_dir
|
||||
# localstatedir
|
||||
# log_dir
|
||||
# profile_dir
|
||||
foreach optname : path_opts
|
||||
varname = optname.replace('-', '_')
|
||||
path = get_option(optname)
|
||||
if fs.is_absolute(path)
|
||||
set_variable(varname, path)
|
||||
else
|
||||
set_variable(varname, prefix / path)
|
||||
endif
|
||||
endforeach
|
||||
|
||||
# sysconfdir doesn't get anything installed to directly, and is only used to
|
||||
# tell Nix where to look for nix.conf, so it doesn't get appended to prefix.
|
||||
sysconfdir = get_option('sysconfdir')
|
||||
if not fs.is_absolute(sysconfdir)
|
||||
sysconfdir = '/' / sysconfdir
|
||||
endif
|
||||
|
||||
lsof = find_program('lsof', required : false)
|
||||
|
||||
# Aside from prefix itself, each of these was made into an absolute path
|
||||
# by joining it with prefix, unless it was already an absolute path
|
||||
# (which is the default for store-dir, localstatedir, and log-dir).
|
||||
cpp_str_defines = {
|
||||
'NIX_PREFIX': prefix,
|
||||
'NIX_STORE_DIR': store_dir,
|
||||
'NIX_DATA_DIR': datadir,
|
||||
'NIX_STATE_DIR': localstatedir / 'nix',
|
||||
'NIX_LOG_DIR': log_dir,
|
||||
'NIX_CONF_DIR': sysconfdir / 'nix',
|
||||
'NIX_MAN_DIR': mandir,
|
||||
}
|
||||
|
||||
if lsof.found()
|
||||
lsof_path = lsof.full_path()
|
||||
else
|
||||
# Just look up on the PATH
|
||||
lsof_path = 'lsof'
|
||||
endif
|
||||
cpp_str_defines += {
|
||||
'LSOF': lsof_path
|
||||
}
|
||||
|
||||
if get_option('embedded-sandbox-shell')
|
||||
cpp_str_defines += {
|
||||
'SANDBOX_SHELL': '__embedded_sandbox_shell__'
|
||||
}
|
||||
elif busybox.found()
|
||||
cpp_str_defines += {
|
||||
'SANDBOX_SHELL': busybox.full_path()
|
||||
}
|
||||
endif
|
||||
|
||||
cpp_args = []
|
||||
|
||||
foreach name, value : cpp_str_defines
|
||||
cpp_args += [
|
||||
'-D' + name + '=' + '"' + value + '"'
|
||||
]
|
||||
endforeach
|
||||
|
||||
subdir('nix-meson-build-support/export-all-symbols')
|
||||
subdir('nix-meson-build-support/windows-version')
|
||||
|
||||
@ -362,13 +337,12 @@ this_library = library(
|
||||
config_priv_h,
|
||||
dependencies : deps_public + deps_private + deps_other,
|
||||
include_directories : include_dirs,
|
||||
cpp_args : cpp_args,
|
||||
link_args: linker_export_flags,
|
||||
prelink : true, # For C++ static initializers
|
||||
install : true,
|
||||
)
|
||||
|
||||
install_headers(headers + [ config_pub_h ], subdir : 'nix/store', preserve_path : true)
|
||||
install_headers(headers, subdir : 'nix/store', preserve_path : true)
|
||||
|
||||
libraries_private = []
|
||||
|
||||
|
@ -1,10 +1,10 @@
|
||||
#include "store-config-private.hh"
|
||||
#if ENABLE_S3
|
||||
#include "nix/store/s3-binary-cache-store.hh"
|
||||
|
||||
#if NIX_WITH_S3_SUPPORT
|
||||
|
||||
#include <assert.h>
|
||||
|
||||
#include "nix/store/s3.hh"
|
||||
#include "nix/store/s3-binary-cache-store.hh"
|
||||
#include "nix/store/nar-info.hh"
|
||||
#include "nix/store/nar-info-disk-cache.hh"
|
||||
#include "nix/store/globals.hh"
|
||||
|
@ -1935,7 +1935,7 @@ void LocalDerivationGoal::runChild()
|
||||
for (auto & i : pathsInChroot) {
|
||||
if (i.second.source == "/proc") continue; // backwards compatibility
|
||||
|
||||
#ifdef HAVE_EMBEDDED_SANDBOX_SHELL
|
||||
#if HAVE_EMBEDDED_SANDBOX_SHELL
|
||||
if (i.second.source == "__embedded_sandbox_shell__") {
|
||||
static unsigned char sh[] = {
|
||||
#include "embedded-sandbox-shell.gen.hh"
|
||||
|
@ -1,4 +1,5 @@
|
||||
#include "man-pages.hh"
|
||||
#include "cli-config-private.hh"
|
||||
#include "nix/util/file-system.hh"
|
||||
#include "nix/util/current-process.hh"
|
||||
#include "nix/util/environment-variables.hh"
|
||||
|
@ -39,13 +39,16 @@ configdata = configuration_data()
|
||||
configdata.set_quoted('NIX_CLI_VERSION', meson.project_version())
|
||||
|
||||
fs = import('fs')
|
||||
prefix = get_option('prefix')
|
||||
|
||||
bindir = get_option('bindir')
|
||||
if not fs.is_absolute(bindir)
|
||||
bindir = get_option('prefix') / bindir
|
||||
endif
|
||||
bindir = fs.is_absolute(bindir) ? bindir : prefix / bindir
|
||||
configdata.set_quoted('NIX_BIN_DIR', bindir)
|
||||
|
||||
mandir = get_option('mandir')
|
||||
mandir = fs.is_absolute(mandir) ? mandir : prefix / mandir
|
||||
configdata.set_quoted('NIX_MAN_DIR', mandir)
|
||||
|
||||
config_priv_h = configure_file(
|
||||
configuration : configdata,
|
||||
output : 'cli-config-private.hh',
|
||||
@ -174,16 +177,6 @@ if host_machine.system() != 'windows'
|
||||
]
|
||||
endif
|
||||
|
||||
fs = import('fs')
|
||||
prefix = get_option('prefix')
|
||||
|
||||
mandir = get_option('mandir')
|
||||
mandir = fs.is_absolute(mandir) ? mandir : prefix / mandir
|
||||
|
||||
cpp_args= [
|
||||
'-DNIX_MAN_DIR="@0@"'.format(mandir)
|
||||
]
|
||||
|
||||
include_dirs = [include_directories('.')]
|
||||
|
||||
this_exe = executable(
|
||||
@ -191,7 +184,6 @@ this_exe = executable(
|
||||
sources,
|
||||
dependencies : deps_private_subproject + deps_private + deps_other,
|
||||
include_directories : include_dirs,
|
||||
cpp_args : cpp_args,
|
||||
link_args: linker_export_flags,
|
||||
install : true,
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user