nixpkgs/pkgs/by-name/me/merve/package.nix
Antoine du Hamel 38605ad23d merve: add support for building without simdutf support
Required for Node.js 24.

(cherry picked from commit f9e1063171)
2026-06-27 11:10:56 +00:00

59 lines
1.4 KiB
Nix

{
lib,
cmake,
fetchFromGitHub,
simdutf,
gtest,
nix-update-script,
stdenv,
testers,
validatePkgConfig,
static ? stdenv.hostPlatform.isStatic,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "merve";
version = "1.2.2";
src = fetchFromGitHub {
owner = "nodejs";
repo = "merve";
tag = "v${finalAttrs.version}";
hash = "sha256-CrdQNAAUbV9k15IFEQjYiMpwbj3iE7imjnN6HloTk40=";
};
doCheck = true;
cmakeFlags = [
(lib.cmakeBool "BUILD_SHARED_LIBS" (!static))
(lib.cmakeBool "MERVE_TESTING" finalAttrs.finalPackage.doCheck)
]
++ lib.optional (simdutf != null) (lib.cmakeBool "MERVE_USE_SIMDUTF" true);
nativeBuildInputs = [
cmake
validatePkgConfig
];
buildInputs = lib.optional (simdutf != null) simdutf;
checkInputs = [
gtest
];
passthru = {
updateScript = nix-update-script { };
tests.pkg-config = testers.hasPkgConfigModules {
package = finalAttrs.finalPackage;
versionCheck = true;
};
};
meta = {
description = "Lexer to extract named exports via analysis from CommonJS modules";
homepage = "https://github.com/nodejs/merve";
changelog = "https://github.com/nodejs/merve/releases/tag/v${finalAttrs.version}";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ aduh95 ];
platforms = lib.platforms.all;
pkgConfigModules = [ "merve" ];
};
})