mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-01-19 11:23:29 +00:00
Merge pull request #317764 from natsukium/renovate/init
renovate: init at 37.393.0
This commit is contained in:
commit
bf3faad723
105
pkgs/by-name/re/renovate/package.nix
Normal file
105
pkgs/by-name/re/renovate/package.nix
Normal file
@ -0,0 +1,105 @@
|
||||
{
|
||||
lib,
|
||||
stdenv,
|
||||
fetchFromGitHub,
|
||||
makeWrapper,
|
||||
nodejs,
|
||||
overrideSDK,
|
||||
pnpm_9,
|
||||
python3,
|
||||
renovate,
|
||||
testers,
|
||||
xcbuild,
|
||||
}:
|
||||
|
||||
let
|
||||
# fix build error, `no member named 'aligned_alloc'` on x86_64-darwin
|
||||
# https://github.com/NixOS/nixpkgs/issues/272156#issuecomment-1839904283
|
||||
stdenv' = if stdenv.hostPlatform.isDarwin then overrideSDK stdenv "11.0" else stdenv;
|
||||
in
|
||||
stdenv'.mkDerivation (finalAttrs: {
|
||||
pname = "renovate";
|
||||
version = "37.393.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "renovatebot";
|
||||
repo = "renovate";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-YgxcGNMgmwrausdR7kvG1NiyQPn0FcCq/isf9qUDCFY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace package.json \
|
||||
--replace-fail "0.0.0-semantic-release" "${finalAttrs.version}"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
nodejs
|
||||
pnpm_9.configHook
|
||||
python3
|
||||
] ++ lib.optional stdenv'.hostPlatform.isDarwin xcbuild;
|
||||
|
||||
pnpmDeps = pnpm_9.fetchDeps {
|
||||
inherit (finalAttrs) pname version src;
|
||||
hash = "sha256-Zbe561q6xDKDIN+E/2eyQMz2GtpPvJEv2pAauMa+8pE=";
|
||||
};
|
||||
|
||||
env.COREPACK_ENABLE_STRICT = 0;
|
||||
|
||||
buildPhase =
|
||||
''
|
||||
runHook preBuild
|
||||
|
||||
pnpm build
|
||||
pnpm prune --prod --ignore-scripts
|
||||
''
|
||||
# The optional dependency re2 is not built by pnpm and needs to be built manually.
|
||||
# If re2 is not built, you will get an annoying warning when you run renovate.
|
||||
+ ''
|
||||
pushd node_modules/.pnpm/re2*/node_modules/re2
|
||||
|
||||
mkdir -p $HOME/.node-gyp/${nodejs.version}
|
||||
echo 9 > $HOME/.node-gyp/${nodejs.version}/installVersion
|
||||
ln -sfv ${nodejs}/include $HOME/.node-gyp/${nodejs.version}
|
||||
export npm_config_nodedir=${nodejs}
|
||||
npm run rebuild
|
||||
|
||||
popd
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
# TODO: replace with `pnpm deploy`
|
||||
# now it fails to build with ERR_PNPM_NO_OFFLINE_META
|
||||
# see https://github.com/pnpm/pnpm/issues/5315
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/{bin,lib/node_modules/renovate}
|
||||
cp -r dist node_modules package.json $out/lib/node_modules/renovate
|
||||
|
||||
makeWrapper "${lib.getExe nodejs}" "$out/bin/renovate" \
|
||||
--add-flags "$out/lib/node_modules/renovate/dist/renovate.js"
|
||||
makeWrapper "${lib.getExe nodejs}" "$out/bin/config-validator" \
|
||||
--add-flags "$out/lib/node_modules/renovate/dist/config-validator.js"
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
passthru.tests = {
|
||||
version = testers.testVersion { package = renovate; };
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Cross-platform Dependency Automation by Mend.io";
|
||||
homepage = "https://github.com/renovatebot/renovate";
|
||||
license = lib.licenses.agpl3Only;
|
||||
maintainers = with lib.maintainers; [
|
||||
marie
|
||||
natsukium
|
||||
];
|
||||
mainProgram = "renovate";
|
||||
platforms = nodejs.meta.platforms;
|
||||
};
|
||||
})
|
Loading…
Reference in New Issue
Block a user