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 = [
|
nixpkgs.overlays = [
|
||||||
(self: super: {
|
(self: super: {
|
||||||
|
bun-baseline = (super.callPackage ../overlays/bun-baseline.nix { });
|
||||||
mfcl3750cdwlpr = (super.callPackage ../overlays/mfcl3750cdw.nix { }).driver;
|
mfcl3750cdwlpr = (super.callPackage ../overlays/mfcl3750cdw.nix { }).driver;
|
||||||
mfcl3750cdwcupswrapper = (super.callPackage ../overlays/mfcl3750cdw.nix { }).cupswrapper;
|
mfcl3750cdwcupswrapper = (super.callPackage ../overlays/mfcl3750cdw.nix { }).cupswrapper;
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,7 @@
|
||||||
openjdk17
|
openjdk17
|
||||||
javaPackages.openjfx17
|
javaPackages.openjfx17
|
||||||
gradle_7
|
gradle_7
|
||||||
bun
|
bun-baseline
|
||||||
nodejs_21
|
nodejs_21
|
||||||
nodenv
|
nodenv
|
||||||
] ++ lib.optionals (gui.enable) [
|
] ++ 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