diff options
author | Marie Ramlow <me@nycode.dev> | 2024-06-06 21:05:43 +0200 |
---|---|---|
committer | Marie Ramlow <me@nycode.dev> | 2024-06-06 21:58:57 +0200 |
commit | ac556616107cd3b26db0369e3192a35848795bab (patch) | |
tree | 5d10c26cf2ab21723d6e2014e611cd3631133743 /pkgs/by-name/pg | |
parent | a12b6b0555c79c1d9b949ec01355d0565737e810 (diff) |
pgrok: migrate to pnpm.fetchDeps
Diffstat (limited to 'pkgs/by-name/pg')
-rw-r--r-- | pkgs/by-name/pg/pgrok/build-deps/package.json | 38 | ||||
-rw-r--r-- | pkgs/by-name/pg/pgrok/package.nix | 35 | ||||
-rwxr-xr-x | pkgs/by-name/pg/pgrok/update.sh | 40 | ||||
-rw-r--r-- | pkgs/by-name/pg/pgrok/web.nix | 30 |
4 files changed, 27 insertions, 116 deletions
diff --git a/pkgs/by-name/pg/pgrok/build-deps/package.json b/pkgs/by-name/pg/pgrok/build-deps/package.json deleted file mode 100644 index b40bf794c6de0..0000000000000 --- a/pkgs/by-name/pg/pgrok/build-deps/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "pgrokd", - "scripts": { - "dev": "vite", - "build": "tsc && vite build --outDir=dist --emptyOutDir", - "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0" - }, - "version": "1.4.1", - "dependencies": { - "axios": "~1.4.0", - "react": "~18.2.0", - "react-dom": "~18.2.0", - "react-router-dom": "~6.15.0", - "@headlessui/react": "~1.7.17", - "@heroicons/react": "~2.0.18", - "@tailwindcss/forms": "~0.5.4", - "@trivago/prettier-plugin-sort-imports": "~4.2.0", - "@types/node": "~20.5.1", - "@types/react": "~18.2.15", - "@types/react-dom": "~18.2.7", - "@typescript-eslint/eslint-plugin": "~6.0.0", - "@typescript-eslint/parser": "~6.0.0", - "@vitejs/plugin-react": "~4.0.3", - "autoprefixer": "~10.4.15", - "code-inspector-plugin": "v0.1.9", - "eslint": "~8.45.0", - "eslint-plugin-import": "~2.28.0", - "eslint-plugin-react": "~7.33.2", - "eslint-plugin-react-hooks": "~4.6.0", - "eslint-plugin-react-refresh": "~0.4.3", - "eslint-plugin-unicorn": "~48.0.1", - "postcss": "~8.4.28", - "prettier": "~3.0.2", - "tailwindcss": "~3.3.3", - "typescript": "~5.0.2", - "vite": "~4.4.5" - } -} diff --git a/pkgs/by-name/pg/pgrok/package.nix b/pkgs/by-name/pg/pgrok/package.nix index e5c9610521ce2..0aed3b49f8075 100644 --- a/pkgs/by-name/pg/pgrok/package.nix +++ b/pkgs/by-name/pg/pgrok/package.nix @@ -1,24 +1,38 @@ { lib , buildGoModule -, callPackage , fetchFromGitHub +, nix-update-script +, nodejs +, pnpm }: -buildGoModule rec { + +let pname = "pgrok"; version = "1.4.1"; - src = fetchFromGitHub { owner = "pgrok"; repo = "pgrok"; rev = "v${version}"; hash = "sha256-P36rpFi5J+dF6FrVaPhqupG00h4kwr0qumt4ehL/7vU="; }; +in - vendorHash = "sha256-X5FjzliIJdfJnNaUXBjv1uq5tyjMVjBbnLCBH/P0LFM="; +buildGoModule { + inherit pname version src; outputs = [ "out" "server" ]; - web = callPackage ./web.nix { inherit src version; }; + nativeBuildInputs = [ + nodejs + pnpm.configHook + ]; + + pnpmDeps = pnpm.fetchDeps { + inherit pname version src; + hash = "sha256-1PUcISW1pC9+5HZyI9SIDRyhos5f/6aW1wa2z0OKams="; + }; + + vendorHash = "sha256-X5FjzliIJdfJnNaUXBjv1uq5tyjMVjBbnLCBH/P0LFM="; ldflags = [ "-s" @@ -33,18 +47,23 @@ buildGoModule rec { "pgrokd/pgrokd" ]; - postPatch = '' + preBuild = '' + pushd pgrokd/web + + pnpm run build + + popd + # rename packages due to naming conflict mv pgrok/cli/ pgrok/pgrok/ mv pgrokd/cli/ pgrokd/pgrokd/ - cp -r ${web} pgrokd/pgrokd/dist ''; postInstall = '' moveToOutput bin/pgrokd $server ''; - passthru.updateScript = ./update.sh; + passthru.updateScript = nix-update-script { }; meta = { description = "Selfhosted TCP/HTTP tunnel, ngrok alternative, written in Go"; diff --git a/pkgs/by-name/pg/pgrok/update.sh b/pkgs/by-name/pg/pgrok/update.sh deleted file mode 100755 index c19726de6c048..0000000000000 --- a/pkgs/by-name/pg/pgrok/update.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/usr/bin/env nix-shell -#!nix-shell -i bash -p nix curl nix-update jq - -set -euo pipefail - -nix-update - -cd "$(dirname "$0")" - -nixpkgs=../../../.. -node_packages="$nixpkgs/pkgs/development/node-packages" -pgrok="$nixpkgs/pkgs/by-name/pg/pgrok" - -TARGET_VERSION_REMOTE=$(curl -s https://api.github.com/repos/pgrok/pgrok/releases/latest | jq -r ".tag_name") -TARGET_VERSION=${TARGET_VERSION_REMOTE#v} - -SRC_FILE_BASE="https://raw.githubusercontent.com/pgrok/pgrok/v$TARGET_VERSION" - -# replace ^ versions with ~, replace outdir to dist -curl https://raw.githubusercontent.com/pgrok/pgrok/main/pgrokd/web/package.json \ - | jq "{name,scripts,version: \"${TARGET_VERSION}\",dependencies: (.dependencies + .devDependencies) }" \ - | sed -e 's/"\^/"~/g' -e 's/\.\.\/cli\/dist/dist/g' \ - > "$pgrok/build-deps/package.json.new" - -old_deps="$(jq '.dependencies' "$pgrok/build-deps/package.json")" -new_deps="$(jq '.dependencies' "$pgrok/build-deps/package.json.new")" - -if [[ "$old_deps" == "$new_deps" ]]; then - echo "package.json dependencies not changed, do simple version change" - - sed -e '/^ "pgrok-build-deps/,+3 s/version = ".*"/version = "'"$TARGET_VERSION"'"/' \ - --in-place "$node_packages"/node-packages.nix - mv build-deps/package.json{.new,} -else - echo "package.json dependencies changed, updating nodePackages" - mv build-deps/package.json{.new,} - - ./"$node_packages"/generate.sh -fi - diff --git a/pkgs/by-name/pg/pgrok/web.nix b/pkgs/by-name/pg/pgrok/web.nix deleted file mode 100644 index 374f79fa84980..0000000000000 --- a/pkgs/by-name/pg/pgrok/web.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ src -, version -, nodejs -, nodePackages -, stdenvNoCC -}: -let - build-deps = nodePackages."pgrok-build-deps-../../by-name/pg/pgrok/build-deps"; -in -stdenvNoCC.mkDerivation { - pname = "pgrok-web"; - inherit version; - src = "${src}/pgrokd/web"; - - nativeBuildInputs = [ nodejs ]; - - buildPhase = '' - runHook preBuild - cp ${./build-deps/package.json} package.json - ln -s ${build-deps}/lib/node_modules/pgrokd/node_modules node_modules - npm run build - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - cp -r dist $out - runHook postInstall - ''; -} |