feat(3p/nix): Add glog dependency

This commit is contained in:
Vincent Ambo 2020-05-17 23:58:51 +01:00
parent ffdeb3bbf1
commit 0335b91b93
6 changed files with 87 additions and 73 deletions

View file

@ -54,6 +54,7 @@ let
freetype
gettext
glibc
glog
gnutar
go
google-cloud-sdk

View file

@ -36,6 +36,7 @@ in stdenv.mkDerivation {
curl
editline
flex
glog
largeBoehm
libseccomp
libsodium

View file

@ -417,8 +417,13 @@ libdl_dep = declare_dependency(
#--------------------------------------------------
libbz2_dep = declare_dependency(
dependencies : cpp.find_library('bz2'),
link_args : get_option('bz2_link_args'))
link_args : get_option('bz2_link_args'))
# Look for glog, a required dependency.
#--------------------------------------
glog_dep = declare_dependency(
dependencies : cpp.find_library('glog'),
link_args : get_option('glog_link_args'))
# Look for editline, a required dependency.
#--------------------------------------------------
@ -441,8 +446,6 @@ if not (
endif
# Optional dependancies
#============================================================================
@ -485,8 +488,6 @@ if (get_option('with_s3'))
endif
# OS Specific checks
#============================================================================
# Look for libsecppomp, required for Linux sandboxing.
@ -512,8 +513,6 @@ if (sys_name.contains('sunos'))
endif
# build
#============================================================================

View file

@ -140,6 +140,13 @@ option(
'-lgc'],
description : 'link args for boehm garbage collector')
option(
'glog_link_args',
type : 'array',
value : [
'-L/usr/local/lib',
'-lglog'],
description : 'link args for glog')
# optional dependancies

View file

@ -10,6 +10,7 @@
#include "eval.hh"
#include "finally.hh"
#include "globals.hh"
#include "glog/logging.h"
#include "legacy.hh"
#include "progress-bar.hh"
#include "shared.hh"
@ -166,7 +167,10 @@ void mainWrapped(int argc, char** argv) {
} // namespace nix
int main(int argc, char** argv) {
int main(int argc, char* argv[]) {
FLAGS_logtostderr = 1;
google::InitGoogleLogging(argv[0]);
return nix::handleExceptions(argv[0],
[&]() { nix::mainWrapped(argc, argv); });
}

View file

@ -1,78 +1,80 @@
src_inc += include_directories('.')
nix_src = files(
join_paths(meson.source_root(), 'src/nix/add-to-store.cc'),
join_paths(meson.source_root(), 'src/nix/build.cc'),
join_paths(meson.source_root(), 'src/nix/cat.cc'),
join_paths(meson.source_root(), 'src/nix/command.cc'),
join_paths(meson.source_root(), 'src/nix/copy.cc'),
join_paths(meson.source_root(), 'src/nix/doctor.cc'),
join_paths(meson.source_root(), 'src/nix/dump-path.cc'),
join_paths(meson.source_root(), 'src/nix/edit.cc'),
join_paths(meson.source_root(), 'src/nix/eval.cc'),
join_paths(meson.source_root(), 'src/nix/hash.cc'),
join_paths(meson.source_root(), 'src/nix/installables.cc'),
join_paths(meson.source_root(), 'src/nix/legacy.cc'),
join_paths(meson.source_root(), 'src/nix/log.cc'),
join_paths(meson.source_root(), 'src/nix/ls.cc'),
join_paths(meson.source_root(), 'src/nix/main.cc'),
join_paths(meson.source_root(), 'src/nix/optimise-store.cc'),
join_paths(meson.source_root(), 'src/nix/path-info.cc'),
join_paths(meson.source_root(), 'src/nix/ping-store.cc'),
join_paths(meson.source_root(), 'src/nix/progress-bar.cc'),
join_paths(meson.source_root(), 'src/nix/repl.cc'),
join_paths(meson.source_root(), 'src/nix/run.cc'),
join_paths(meson.source_root(), 'src/nix/search.cc'),
join_paths(meson.source_root(), 'src/nix/show-config.cc'),
join_paths(meson.source_root(), 'src/nix/show-derivation.cc'),
join_paths(meson.source_root(), 'src/nix/sigs.cc'),
join_paths(meson.source_root(), 'src/nix/upgrade-nix.cc'),
join_paths(meson.source_root(), 'src/nix/verify.cc'),
join_paths(meson.source_root(), 'src/nix/why-depends.cc'),
join_paths(meson.source_root(), 'src/nix/add-to-store.cc'),
join_paths(meson.source_root(), 'src/nix/build.cc'),
join_paths(meson.source_root(), 'src/nix/cat.cc'),
join_paths(meson.source_root(), 'src/nix/command.cc'),
join_paths(meson.source_root(), 'src/nix/copy.cc'),
join_paths(meson.source_root(), 'src/nix/doctor.cc'),
join_paths(meson.source_root(), 'src/nix/dump-path.cc'),
join_paths(meson.source_root(), 'src/nix/edit.cc'),
join_paths(meson.source_root(), 'src/nix/eval.cc'),
join_paths(meson.source_root(), 'src/nix/hash.cc'),
join_paths(meson.source_root(), 'src/nix/installables.cc'),
join_paths(meson.source_root(), 'src/nix/legacy.cc'),
join_paths(meson.source_root(), 'src/nix/log.cc'),
join_paths(meson.source_root(), 'src/nix/ls.cc'),
join_paths(meson.source_root(), 'src/nix/main.cc'),
join_paths(meson.source_root(), 'src/nix/optimise-store.cc'),
join_paths(meson.source_root(), 'src/nix/path-info.cc'),
join_paths(meson.source_root(), 'src/nix/ping-store.cc'),
join_paths(meson.source_root(), 'src/nix/progress-bar.cc'),
join_paths(meson.source_root(), 'src/nix/repl.cc'),
join_paths(meson.source_root(), 'src/nix/run.cc'),
join_paths(meson.source_root(), 'src/nix/search.cc'),
join_paths(meson.source_root(), 'src/nix/show-config.cc'),
join_paths(meson.source_root(), 'src/nix/show-derivation.cc'),
join_paths(meson.source_root(), 'src/nix/sigs.cc'),
join_paths(meson.source_root(), 'src/nix/upgrade-nix.cc'),
join_paths(meson.source_root(), 'src/nix/verify.cc'),
join_paths(meson.source_root(), 'src/nix/why-depends.cc'),
join_paths(meson.source_root(), 'src/build-remote/build-remote.cc'),
join_paths(meson.source_root(), 'src/nix-build/nix-build.cc'),
join_paths(meson.source_root(), 'src/nix-channel/nix-channel.cc'),
join_paths(meson.source_root(), 'src/nix-collect-garbage/nix-collect-garbage.cc'),
join_paths(meson.source_root(), 'src/nix-copy-closure/nix-copy-closure.cc'),
join_paths(meson.source_root(), 'src/nix-daemon/nix-daemon.cc'),
join_paths(meson.source_root(), 'src/nix-env/nix-env.cc'),
join_paths(meson.source_root(), 'src/nix-env/user-env.cc'),
join_paths(meson.source_root(), 'src/nix-instantiate/nix-instantiate.cc'),
join_paths(meson.source_root(), 'src/nix-prefetch-url/nix-prefetch-url.cc'),
join_paths(meson.source_root(), 'src/nix-store/dotgraph.cc'),
join_paths(meson.source_root(), 'src/nix-store/graphml.cc'),
join_paths(meson.source_root(), 'src/nix-store/nix-store.cc'))
join_paths(meson.source_root(), 'src/build-remote/build-remote.cc'),
join_paths(meson.source_root(), 'src/nix-build/nix-build.cc'),
join_paths(meson.source_root(), 'src/nix-channel/nix-channel.cc'),
join_paths(meson.source_root(), 'src/nix-collect-garbage/nix-collect-garbage.cc'),
join_paths(meson.source_root(), 'src/nix-copy-closure/nix-copy-closure.cc'),
join_paths(meson.source_root(), 'src/nix-daemon/nix-daemon.cc'),
join_paths(meson.source_root(), 'src/nix-env/nix-env.cc'),
join_paths(meson.source_root(), 'src/nix-env/user-env.cc'),
join_paths(meson.source_root(), 'src/nix-instantiate/nix-instantiate.cc'),
join_paths(meson.source_root(), 'src/nix-prefetch-url/nix-prefetch-url.cc'),
join_paths(meson.source_root(), 'src/nix-store/dotgraph.cc'),
join_paths(meson.source_root(), 'src/nix-store/graphml.cc'),
join_paths(meson.source_root(), 'src/nix-store/nix-store.cc'))
nix_headers = files (
join_paths(meson.source_root(), 'src/nix/command.hh'),
join_paths(meson.source_root(), 'src/nix/legacy.hh'),
join_paths(meson.source_root(), 'src/nix/progress-bar.hh'),
join_paths(meson.source_root(), 'src/nix-env/user-env.hh'),
join_paths(meson.source_root(), 'src/nix-store/dotgraph.hh'),
join_paths(meson.source_root(), 'src/nix-store/graphml.hh'))
join_paths(meson.source_root(), 'src/nix/command.hh'),
join_paths(meson.source_root(), 'src/nix/legacy.hh'),
join_paths(meson.source_root(), 'src/nix/progress-bar.hh'),
join_paths(meson.source_root(), 'src/nix-env/user-env.hh'),
join_paths(meson.source_root(), 'src/nix-store/dotgraph.hh'),
join_paths(meson.source_root(), 'src/nix-store/graphml.hh'))
nix_dep_list = [
gc_dep,
pthread_dep,
libdl_dep,
boost_dep,
editline_dep,
libsodium_dep]
boost_dep,
editline_dep,
gc_dep,
glog_dep,
libdl_dep,
libsodium_dep,
pthread_dep,
]
nix_link_list = [
libutil_lib,
libstore_lib,
libmain_lib,
libexpr_lib
libutil_lib,
libstore_lib,
libmain_lib,
libexpr_lib,
]
nix_bin = executable(
'nix',
install : true,
install_mode : 'rwxr-xr-x',
install_dir : bindir,
include_directories : src_inc,
sources : nix_src,
link_with : nix_link_list,
dependencies : nix_dep_list)
'nix',
install : true,
install_mode : 'rwxr-xr-x',
install_dir : bindir,
include_directories : src_inc,
sources : nix_src,
link_with : nix_link_list,
dependencies : nix_dep_list)