feat: add bun-baseline
This commit is contained in:
parent
46abf741e3
commit
9931851eac
3 changed files with 70 additions and 1 deletions
|
|
@ -10,6 +10,7 @@
|
|||
|
||||
nixpkgs.overlays = [
|
||||
(self: super: {
|
||||
bun-baseline = (super.callPackage ../overlays/bun-baseline.nix { });
|
||||
mfcl3750cdwlpr = (super.callPackage ../overlays/mfcl3750cdw.nix { }).driver;
|
||||
mfcl3750cdwcupswrapper = (super.callPackage ../overlays/mfcl3750cdw.nix { }).cupswrapper;
|
||||
})
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
openjdk17
|
||||
javaPackages.openjfx17
|
||||
gradle_7
|
||||
bun
|
||||
bun-baseline
|
||||
nodejs_21
|
||||
nodenv
|
||||
] ++ lib.optionals (gui.enable) [
|
||||
|
|
|
|||
68
overlays/bun-baseline.nix
Normal file
68
overlays/bun-baseline.nix
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
{ lib
|
||||
, stdenvNoCC
|
||||
, callPackage
|
||||
, fetchurl
|
||||
, autoPatchelfHook
|
||||
, unzip
|
||||
, openssl
|
||||
, writeShellScript
|
||||
, curl
|
||||
, jq
|
||||
, common-updater-scripts
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
version = "1.0.24";
|
||||
pname = "bun";
|
||||
|
||||
src = passthru.sources.${stdenvNoCC.hostPlatform.system} or (throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}");
|
||||
|
||||
strictDeps = true;
|
||||
nativeBuildInputs = [ unzip ] ++ lib.optionals stdenvNoCC.isLinux [ autoPatchelfHook ];
|
||||
buildInputs = [ openssl ];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
install -Dm 755 ./bun $out/bin/bun
|
||||
runHook postInstall
|
||||
'';
|
||||
passthru = {
|
||||
sources = {
|
||||
"x86_64-linux" = fetchurl {
|
||||
url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64-baseline.zip";
|
||||
sha256 = "be6240720eaf37d761ee80264a5ce2dbfb81c7cea3fea7a4e522fe89cdf8c659";
|
||||
};
|
||||
};
|
||||
updateScript = writeShellScript "update-bun" ''
|
||||
set -o errexit
|
||||
export PATH="${lib.makeBinPath [ curl jq common-updater-scripts ]}"
|
||||
NEW_VERSION=$(curl --silent https://api.github.com/repos/oven-sh/bun/releases/latest | jq '.tag_name | ltrimstr("bun-v")' --raw-output)
|
||||
if [[ "${version}" = "$NEW_VERSION" ]]; then
|
||||
echo "The new version same as the old version."
|
||||
exit 0
|
||||
fi
|
||||
for platform in ${lib.escapeShellArgs meta.platforms}; do
|
||||
update-source-version "bun" "0" "${lib.fakeSha256}" --source-key="sources.$platform"
|
||||
update-source-version "bun" "$NEW_VERSION" --source-key="sources.$platform"
|
||||
done
|
||||
'';
|
||||
};
|
||||
meta = with lib; {
|
||||
homepage = "https://bun.sh";
|
||||
changelog = "https://github.com/Jarred-Sumner/bun/releases/tag/bun-v${version}";
|
||||
description = "Incredibly fast JavaScript runtime, bundler, transpiler and package manager – all in one";
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
longDescription = ''
|
||||
All in one fast & easy-to-use tool. Instead of 1,000 node_modules for development, you only need bun.
|
||||
'';
|
||||
license = with licenses; [
|
||||
mit # bun core
|
||||
lgpl21Only # javascriptcore and webkit
|
||||
];
|
||||
maintainers = [ maintainers.bchmnn ];
|
||||
platforms = builtins.attrNames passthru.sources;
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue