diff options
Diffstat (limited to 'third_party/nix/src/nix')
-rw-r--r-- | third_party/nix/src/nix/main.cc | 3 | ||||
-rw-r--r-- | third_party/nix/src/nix/meson.build | 152 |
2 files changed, 155 insertions, 0 deletions
diff --git a/third_party/nix/src/nix/main.cc b/third_party/nix/src/nix/main.cc index c683d86df47b..bfc0a3def042 100644 --- a/third_party/nix/src/nix/main.cc +++ b/third_party/nix/src/nix/main.cc @@ -13,6 +13,9 @@ #include <sys/types.h> #include <sys/socket.h> + +#include <netinet/in.h> + #include <ifaddrs.h> #include <netdb.h> #include <netinet/in.h> diff --git a/third_party/nix/src/nix/meson.build b/third_party/nix/src/nix/meson.build new file mode 100644 index 000000000000..be7ccb1a28a9 --- /dev/null +++ b/third_party/nix/src/nix/meson.build @@ -0,0 +1,152 @@ +# Nix exec build file +#============================================================================ + + + + +# src files +#============================================================================ + +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/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_ln_src = [ + [ bindir, 'nix-build' ], + [ bindir, 'nix-channel' ], + [ bindir, 'nix-collect-garbage' ], + [ bindir, 'nix-copy-closure' ], + [ bindir, 'nix-daemon' ], + [ bindir, 'nix-env' ], + [ bindir, 'nix-hash' ], + [ bindir, 'nix-instantiate' ], + [ bindir, 'nix-prefetch-url' ], + [ bindir, 'nix-shell' ], + [ bindir, 'nix-store' ], + [ join_paths(libexecdir, 'nix'), 'build-remote' ]] + +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')) + +# dependancies +#============================================================================ + +nix_dep_list = [ + pthread_dep, + libdl_dep, + boost_dep, + editline_dep, + libsodium_dep] + + + + + +# Link args +#============================================================================ + +nix_link_list = [ + libutil_lib, + libstore_lib, + libmain_lib, + libexpr_lib +] + +nix_link_args = [] + + + + +# compiler args +#============================================================================ + +nix_cxx_args = [] + + + + +# targets +#============================================================================ + + + + +# build +#============================================================================ + +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) + + +# meson does not yet support installing symlink files. +# this is a simple workaround +foreach name : nix_ln_src + meson.add_install_script( + 'ln', + '-sf', + join_paths(bindir, 'nix'), + name[1]) + meson.add_install_script( + 'cp', + '-r', + name[1], + join_paths(name[0], name[1])) +endforeach + +install_headers( + nix_headers, + install_dir : join_paths(includedir, 'nix')) |