This does not include any automation for the release branch, but is based on the configuration of https://github.com/NixOS/nix/pull/12349 pre-commit run -a nixfmt-rfc-style
82 lines
1.5 KiB
Nix
82 lines
1.5 KiB
Nix
{
|
|
lib,
|
|
stdenv,
|
|
mkMesonLibrary,
|
|
|
|
boost,
|
|
brotli,
|
|
libarchive,
|
|
libcpuid,
|
|
libsodium,
|
|
nlohmann_json,
|
|
openssl,
|
|
|
|
# Configuration Options
|
|
|
|
version,
|
|
}:
|
|
|
|
let
|
|
inherit (lib) fileset;
|
|
in
|
|
|
|
mkMesonLibrary (finalAttrs: {
|
|
pname = "nix-util";
|
|
inherit version;
|
|
|
|
workDir = ./.;
|
|
fileset = fileset.unions [
|
|
../../nix-meson-build-support
|
|
./nix-meson-build-support
|
|
../../.version
|
|
./.version
|
|
./widecharwidth
|
|
./meson.build
|
|
./meson.options
|
|
./linux/meson.build
|
|
./unix/meson.build
|
|
./windows/meson.build
|
|
(fileset.fileFilter (file: file.hasExt "cc") ./.)
|
|
(fileset.fileFilter (file: file.hasExt "hh") ./.)
|
|
];
|
|
|
|
buildInputs = [
|
|
brotli
|
|
libsodium
|
|
openssl
|
|
] ++ lib.optional stdenv.hostPlatform.isx86_64 libcpuid;
|
|
|
|
propagatedBuildInputs = [
|
|
boost
|
|
libarchive
|
|
nlohmann_json
|
|
];
|
|
|
|
preConfigure =
|
|
# "Inline" .version so it's not a symlink, and includes the suffix.
|
|
# Do the meson utils, without modification.
|
|
#
|
|
# TODO: change release process to add `pre` in `.version`, remove it
|
|
# before tagging, and restore after.
|
|
''
|
|
chmod u+w ./.version
|
|
echo ${version} > ../../.version
|
|
'';
|
|
|
|
mesonFlags = [
|
|
(lib.mesonEnable "cpuid" stdenv.hostPlatform.isx86_64)
|
|
];
|
|
|
|
env = {
|
|
# Needed for Meson to find Boost.
|
|
# https://github.com/NixOS/nixpkgs/issues/86131.
|
|
BOOST_INCLUDEDIR = "${lib.getDev boost}/include";
|
|
BOOST_LIBRARYDIR = "${lib.getLib boost}/lib";
|
|
};
|
|
|
|
meta = {
|
|
platforms = lib.platforms.unix ++ lib.platforms.windows;
|
|
};
|
|
|
|
})
|