{pkgs', ...}: let bashFktScript = import ./bash-fkt.nix { inherit pkgs'; }; packageData = builtins.fromJSON (builtins.readFile ../../package.json); version = packageData.version; lib = pkgs'.lib; root = ../..; source = ../../source; test = ../../test; releasedPackageJson = { description = packageData.description; name = packageData.name; version = version; dependencies = packageData.dependencies; keywords = packageData.keywords; license = packageData.license; repository = packageData.repository; author = packageData.author; homepage = packageData.homepage; type = "module"; main = "source/monster.mjs"; module = "source/monster.mjs"; }; in pkgs'.writeShellScriptBin "build" '' set -e source ${pkgs'.common}/bin/common ${bashFktScript} export PATH=${lib.makeBinPath [pkgs'.gzip pkgs'.gnutar]} export HOME=$NIX_BUILD_TOP # Some packages need a writable HOME if ! ${pkgs'.rsync}/bin/rsync -a --exclude-from="${root}/.gitignore" "${source}/." "./source/" then echo_fail "Failed to copy source files. Exiting." exit 1 fi if ! ${pkgs'.rsync}/bin/rsync -a --exclude-from="${root}/.gitignore" "${test}/." "./test/" then echo_fail "Failed to copy test files. Exiting." exit 1 fi if ! ${pkgs'.coreutils}/bin/cp ${root}/README.md "./" then echo_fail "Failed to copy README.md. Exiting." exit 1 fi if ! ${pkgs'.coreutils}/bin/cp ${root}/LICENSE "./" then echo_fail "Failed to copy LICENSE. Exiting." exit 1 fi if ! ${pkgs'.coreutils}/bin/cp ${root}/CHANGELOG.md "./" then echo_fail "Failed to copy CHANGELOG.md. Exiting." exit 1 fi if ! ${pkgs'.coreutils}/bin/cp ${root}/.npmignore "./" then echo_fail "Failed to copy .gitignore Exiting." exit 1 fi if ! echo '${builtins.toJSON releasedPackageJson}' > package.json then echo_fail "Failed to write package.json. Exiting." exit 1 fi ${pkgs'.coreutils}/bin/mkdir -p $out if ! ${pkgs'.nodejs_20}/bin/npm pack --pack-destination $out/ ; then echo_fail "Failed to create tarball. Exiting." exit 1 fi echo_ok "Tarball created successfully." ''