Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ The old Python and Node.js Prybar IDs now use the standard Python 3.10 and
Node.js 20 file runners, not Prybar. Projects using retired IDs get the newer
runtime and tools with this bundle and may need code or dependency changes.

Node.js modules include the shared Bun 1.4.3 toolchain, including `bun check`.
The standalone module is `bun-1.4`; earlier Bun IDs resolve to it through the
upgrade map. Node.js projects do not need a second Bun module.

## Building

For each of the following examples, the build result will be found in a file or directory named `result`.
Expand Down
12 changes: 12 additions & 0 deletions pkgs/bun/default.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{ bun
, fetchurl
}:

# ponytail: x86_64-linux module outputs; add platform sources if module outputs expand.
bun.overrideAttrs rec {
version = "1.4.3";
src = fetchurl {
url = "https://github.com/oven-sh/bun/releases/download/bun-v${version}/bun-linux-x64.zip";
hash = "sha256-PnMFKNiXdfA/h/BcBnh8TfQJnQo38/JS57gpyyOBbhg=";
};
}
8 changes: 1 addition & 7 deletions pkgs/modules/bun/default.nix
Original file line number Diff line number Diff line change
@@ -1,10 +1,4 @@
# NOTE: Unlike Node.js, nixpkgs doesn't provide versioned bun attributes (e.g., bun_1_3).
# This module uses pkgs.bun which tracks the latest version.
#
# When nixpkgs updates bun to a new major.minor version:
# 1. Add the previous version to pkgs/historical-modules/default.nix, pinned to the
# commit before the nixpkgs update
# 2. Update pkgs/upgrade-map/default.nix to chain the old version to the new one
# When the pinned Bun minor version changes, extend pkgs/upgrade-map.
{ bun }:
{ pkgs, lib, ... }:

Expand Down
2 changes: 1 addition & 1 deletion pkgs/modules/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ let
})
(import ./bash)
(import ./bun {
bun = pkgs.bun;
bun = pkgs.callPackage ../bun { };
})
(import ./c)
(import ./cpp)
Expand Down
2 changes: 1 addition & 1 deletion pkgs/modules/nodejs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ let

short-version = lib.versions.major nodejs.version;

bun = pkgs.bun;
bun = pkgs.callPackage ../../bun { };

nodepkgs = pkgs.nodePackages.override {
inherit nodejs;
Expand Down
1 change: 1 addition & 0 deletions pkgs/upgrade-map/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ let
"bun-1.0" = "bun-1.1";
"bun-1.1" = "bun-1.2";
"bun-1.2" = "bun-1.3";
"bun-1.3" = "bun-1.4";
"clojure-1.11" = "clojure-1.12";
"dart-2.18" = "dart-3.8";
"dart-3.0" = "dart-3.1";
Expand Down
Loading