feat(3p/nix): added meson support
(cherry picked from commit 086a81b7a5bbe1fc022efb5935ff68f6ad71ddaf)
This commit is contained in:
		
							parent
							
								
									c455f7a987
								
							
						
					
					
						commit
						055139ac6a
					
				
					 27 changed files with 2045 additions and 4 deletions
				
			
		
							
								
								
									
										170
									
								
								third_party/nix/src/libstore/meson.build
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										170
									
								
								third_party/nix/src/libstore/meson.build
									
										
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,170 @@ | |||
| # Nix lib store build file | ||||
| #============================================================================ | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # src files | ||||
| #============================================================================ | ||||
| 
 | ||||
| src_inc += include_directories('.') | ||||
| 
 | ||||
| libstore_src = files( | ||||
|     join_paths(meson.source_root(), 'src/libstore/binary-cache-store.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/build.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/crypto.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/derivations.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/download.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/export-import.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/gc.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/globals.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/http-binary-cache-store.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/legacy-ssh-store.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/local-binary-cache-store.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/local-fs-store.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/local-store.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/machines.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/misc.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/nar-accessor.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/nar-info.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/nar-info-disk-cache.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/optimise-store.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/parsed-derivations.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/pathlocks.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/profiles.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/references.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/remote-fs-accessor.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/remote-store.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/s3-binary-cache-store.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/sqlite.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/ssh.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/ssh-store.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/store-api.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/builtins/buildenv.cc'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/builtins/fetchurl.cc')) | ||||
| 
 | ||||
| libstore_headers = files( | ||||
|     join_paths(meson.source_root(), 'src/libstore/binary-cache-store.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/builtins.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/crypto.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/derivations.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/download.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/fs-accessor.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/globals.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/local-store.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/machines.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/nar-accessor.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/nar-info-disk-cache.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/nar-info.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/parsed-derivations.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/pathlocks.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/profiles.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/references.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/remote-fs-accessor.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/remote-store.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/s3-binary-cache-store.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/s3.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/serve-protocol.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/sqlite.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/ssh.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/store-api.hh'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/worker-protocol.hh')) | ||||
| 
 | ||||
| libstore_data = files( | ||||
|     join_paths(meson.source_root(), 'src/libstore/sandbox-defaults.sb'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/sandbox-minimal.sb'), | ||||
|     join_paths(meson.source_root(), 'src/libstore/sandbox-network.sb')) | ||||
| 
 | ||||
| # dependancies | ||||
| #============================================================================ | ||||
| 
 | ||||
| libstore_dep_list = [ | ||||
|     libbz2_dep, | ||||
|     libcurl_dep, | ||||
|     libdl_dep, | ||||
|     pthread_dep, | ||||
|     sqlite3_dep, | ||||
|     libsodium_dep | ||||
| ] | ||||
| 
 | ||||
| if sys_name.contains('linux') | ||||
|     libstore_dep_list += libseccomp_dep | ||||
| endif | ||||
| 
 | ||||
| if sys_name.contains('freebsd') | ||||
|     libstore_dep_list += libdl_dep | ||||
| endif | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # Link args | ||||
| #============================================================================ | ||||
| 
 | ||||
| libstore_link_list = [ | ||||
|     libutil_lib] | ||||
| 
 | ||||
| libstore_link_args = [] | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # compiler args | ||||
| #============================================================================ | ||||
| 
 | ||||
| libstore_cxx_args = [ | ||||
|     '-DNIX_PREFIX="@0@" '.format(prefix), | ||||
|     '-DNIX_STORE_DIR="@0@" '.format(nixstoredir), | ||||
|     '-DNIX_DATA_DIR="@0@" '.format(datadir), | ||||
|     '-DNIX_STATE_DIR="@0@" '.format(join_paths(localstatedir, 'nix')), | ||||
|     '-DNIX_LOG_DIR="@0@" '.format(join_paths(localstatedir, 'log/nix')), | ||||
|     '-DNIX_CONF_DIR="@0@" '.format(join_paths(sysconfdir, 'nix')), | ||||
|     '-DNIX_LIBEXEC_DIR="@0@" '.format(libexecdir), | ||||
|     '-DNIX_BIN_DIR="@0@" '.format(bindir), | ||||
|     '-DNIX_MAN_DIR="@0@" '.format(mandir), | ||||
|     '-DSANDBOX_SHELL="@0@" '.format(get_option('sandbox_shell')), | ||||
|     '-DLSOF="@0@" '.format(lsof)] | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # targets | ||||
| #============================================================================ | ||||
| 
 | ||||
| gen_header = ''' | ||||
|   echo 'R"foo(' >> "$1" | ||||
|   cat @INPUT@ >> "$1" | ||||
|   echo ')foo"' >> "$1" | ||||
| ''' | ||||
| 
 | ||||
| libstore_src += custom_target( | ||||
|   'schema.sql.gen.hh', | ||||
|   output : 'schema.sql.gen.hh', | ||||
|   input : 'schema.sql', | ||||
|   command : [bash, '-c', gen_header, 'sh', '@OUTPUT@']) | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| # build | ||||
| #============================================================================ | ||||
| 
 | ||||
| libstore_lib = library( | ||||
|     'nixstore', | ||||
|     install : true, | ||||
|     install_mode : 'rwxr-xr-x', | ||||
|     install_dir : libdir, | ||||
|     include_directories : src_inc, | ||||
|     link_with : libstore_link_list, | ||||
|     sources : libstore_src, | ||||
|     cpp_args : libstore_cxx_args, | ||||
|     link_args : libstore_link_args, | ||||
|     dependencies : libstore_dep_list) | ||||
| 
 | ||||
| install_headers( | ||||
|     libstore_headers, | ||||
|     install_dir : join_paths(includedir, 'nix')) | ||||
| 
 | ||||
| install_data( | ||||
|     libstore_data, | ||||
|     install_dir : join_paths(datadir, 'nix/sandbox')) | ||||
							
								
								
									
										2
									
								
								third_party/nix/src/libstore/remote-store.cc
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								third_party/nix/src/libstore/remote-store.cc
									
										
									
									
										vendored
									
									
								
							|  | @ -229,7 +229,7 @@ struct ConnectionHandle | |||
| 
 | ||||
|     ~ConnectionHandle() | ||||
|     { | ||||
|         if (!daemonException && std::uncaught_exception()) { | ||||
|         if (!daemonException && std::uncaught_exceptions()) { | ||||
|             handle.markBad(); | ||||
|             debug("closing daemon connection because of an exception"); | ||||
|         } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue