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 freetype
gettext gettext
glibc glibc
glog
gnutar gnutar
go go
google-cloud-sdk google-cloud-sdk

View file

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

View file

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

View file

@ -140,6 +140,13 @@ option(
'-lgc'], '-lgc'],
description : 'link args for boehm garbage collector') 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 # optional dependancies

View file

@ -10,6 +10,7 @@
#include "eval.hh" #include "eval.hh"
#include "finally.hh" #include "finally.hh"
#include "globals.hh" #include "globals.hh"
#include "glog/logging.h"
#include "legacy.hh" #include "legacy.hh"
#include "progress-bar.hh" #include "progress-bar.hh"
#include "shared.hh" #include "shared.hh"
@ -166,7 +167,10 @@ void mainWrapped(int argc, char** argv) {
} // namespace nix } // 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], return nix::handleExceptions(argv[0],
[&]() { nix::mainWrapped(argc, argv); }); [&]() { nix::mainWrapped(argc, argv); });
} }

View file

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