diff options
Diffstat (limited to 'nixpkgs/pkgs/by-name/px/pxder/package.nix')
-rw-r--r-- | nixpkgs/pkgs/by-name/px/pxder/package.nix | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/px/pxder/package.nix b/nixpkgs/pkgs/by-name/px/pxder/package.nix new file mode 100644 index 000000000000..96760f7f6692 --- /dev/null +++ b/nixpkgs/pkgs/by-name/px/pxder/package.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchYarnDeps +, makeWrapper +, prefetch-yarn-deps +, yarn +, nodejs +}: + +stdenv.mkDerivation rec { + pname = "pxder"; + version = "2.12.8"; + + src = fetchFromGitHub { + owner = "Tsuk1ko"; + repo = "pxder"; + rev = "v${version}"; + hash = "sha256-+WZbs10+id+nohTZzLjEofb6k8PMGd73YhY3FUTXx5Q="; + }; + + offlineCache = fetchYarnDeps { + yarnLock = "${src}/yarn.lock"; + hash = "sha256-++MqWIUntXQwOYpgAJ3nhAtZ5nxmEreioVHQokYkw7w="; + }; + + nativeBuildInputs = [ + makeWrapper + prefetch-yarn-deps + yarn + ]; + + configurePhase = '' + runHook preConfigure + + export HOME=$(mktemp -d) + yarn config --offline set yarn-offline-mirror "$offlineCache" + fixup-yarn-lock yarn.lock + yarn --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive install + + runHook postConfigure + ''; + + installPhase = '' + runHook preInstall + + yarn --offline --production install + + mkdir -p "$out/lib/node_modules/pxder" + cp -r . "$out/lib/node_modules/pxder" + + makeWrapper "${nodejs}/bin/node" "$out/bin/pxder" \ + --add-flags "$out/lib/node_modules/pxder/bin/pxder" + + runHook postInstall + ''; + + meta = { + description = "Download illusts from pixiv.net"; + homepage = "https://github.com/Tsuk1ko/pxder"; + license = lib.licenses.gpl3Plus; + mainProgram = "pxder"; + maintainers = with lib.maintainers; [ vanilla ]; + platforms = lib.platforms.all; + }; +} |