Previously two cryptography libraries were linked into Lix: OpenSSL used for hashing and (in usual configurations) indirectly via curl for TLS, and Sodium used only for handling the Ed25519 path info signatures. The latter is functionally redundant since OpenSSL supports the same use case as well. Reimplement the Ed25519 handling using OpenSSL and drop Sodium. Fixes: https://git.lix.systems/lix-project/lix/issues/969 Change-Id: I6a6a696456b9d3ad7fdc2bf9b0759836a6247a38
58 lines
1020 B
Meson
58 lines
1020 B
Meson
store_xs_cpp = custom_target(
|
|
input : 'Store.xs',
|
|
output : 'Store.cc',
|
|
command : [
|
|
xsubpp,
|
|
'@INPUT@',
|
|
'-output',
|
|
'@OUTPUT@',
|
|
],
|
|
build_by_default : true,
|
|
)
|
|
|
|
soname_args = []
|
|
if cxx.get_linker_id() in ['ld.bfd', 'ld.gold']
|
|
soname_args = ['-Wl,-soname=Store.so']
|
|
endif
|
|
|
|
perl_libstore = shared_module(
|
|
'Store',
|
|
store_xs_cpp,
|
|
# This library does NOT get the normal libprefix. it's just `Store.so`, not `libStore.so`.
|
|
name_prefix : '',
|
|
dependencies : [
|
|
libstore,
|
|
libutil,
|
|
perl_include,
|
|
kj,
|
|
],
|
|
link_args : [
|
|
soname_args,
|
|
],
|
|
install : true,
|
|
install_dir : perl_libdir / 'auto/Nix/Store',
|
|
)
|
|
|
|
config_pm = configure_file(
|
|
input : 'Config.pm.in',
|
|
output : 'Config.pm',
|
|
configuration : {
|
|
'PACKAGE_VERSION': meson.project_version(),
|
|
},
|
|
)
|
|
|
|
nix_perl_sources = files(
|
|
'Store.pm',
|
|
'Manifest.pm',
|
|
'SSH.pm',
|
|
'CopyClosure.pm',
|
|
'Utils.pm',
|
|
)
|
|
|
|
install_data(
|
|
nix_perl_sources,
|
|
config_pm,
|
|
install_dir : perl_libdir / 'Nix',
|
|
preserve_path : true,
|
|
)
|