diff --git a/pkgs/by-name/do/dorion/package.nix b/pkgs/by-name/do/dorion/package.nix index c184d89ca1fc..8c6292e26396 100644 --- a/pkgs/by-name/do/dorion/package.nix +++ b/pkgs/by-name/do/dorion/package.nix @@ -2,7 +2,6 @@ lib, stdenv, fetchFromGitHub, - fetchurl, rustPlatform, cmake, ninja, @@ -25,22 +24,14 @@ pipewire, apple-sdk_15, darwin, + shelter, + nix-update-script, }: let webkitgtk_4_1' = webkitgtk_4_1.override { enableExperimental = true; }; - - shelter = fetchurl { - url = "https://raw.githubusercontent.com/uwu/shelter-builds/7a1beaff4bb4ec5e8590d069549686fda4200e82/shelter.js"; - hash = "sha256-LeZTxrGRQb0rl3BMP34UFHIEFnil4k3Fet3MTujvVB8="; - meta = { - homepage = "https://github.com/uwu/shelter"; - sourceProvenance = [ lib.sourceTypes.binaryBytecode ]; # actually, minified JS - license = lib.licenses.cc0; - }; - }; in rustPlatform.buildRustPackage (finalAttrs: { pname = "dorion"; @@ -124,7 +115,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ' src-tauri/tauri.conf.json # link shelter injection - ln -s "${shelter}" src-tauri/injection/shelter.js + ln -s ${shelter}/shelter.js src-tauri/injection/shelter.js # link html/frontend data ln -s "$(pwd)/src" src-tauri/html @@ -192,6 +183,8 @@ rustPlatform.buildRustPackage (finalAttrs: { TAURI_RESOURCE_DIR = "${placeholder "out"}/lib"; }; + passthru.updateScript = nix-update-script { }; + meta = { homepage = "https://spikehd.github.io/projects/dorion/"; description = "Tiny alternative Discord client"; @@ -201,10 +194,7 @@ rustPlatform.buildRustPackage (finalAttrs: { ''; changelog = "https://github.com/SpikeHD/Dorion/releases/tag/v${finalAttrs.version}"; downloadPage = "https://github.com/SpikeHD/Dorion/releases/tag/v${finalAttrs.version}"; - license = [ - lib.licenses.gpl3Only - shelter.meta.license - ]; + license = lib.licenses.gpl3Only; mainProgram = "Dorion"; maintainers = with lib.maintainers; [ nyabinary @@ -214,7 +204,6 @@ rustPlatform.buildRustPackage (finalAttrs: { ]; platforms = lib.platforms.unix; sourceProvenance = [ - lib.sourceTypes.binaryBytecode # actually, minified JS lib.sourceTypes.fromSource ]; }; diff --git a/pkgs/by-name/sh/shelter/package.nix b/pkgs/by-name/sh/shelter/package.nix new file mode 100644 index 000000000000..b2b7ce07b56d --- /dev/null +++ b/pkgs/by-name/sh/shelter/package.nix @@ -0,0 +1,67 @@ +{ + stdenvNoCC, + lib, + fetchFromGitHub, + fetchPnpmDeps, + nix-update-script, + nodejs, + pnpmConfigHook, + pnpm_9, +}: +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "shelter"; + version = "0-unstable-2026-06-05"; + src = fetchFromGitHub { + owner = "uwu"; + repo = "shelter"; + rev = "4c08e2e8ad5d7e8fe741be3c9e2151ec25d20d8d"; + hash = "sha256-8poWWDuCOrgJYjwRfOPIXTdyVlau5SxG9FxjcN8o/wo="; + }; + + nativeBuildInputs = [ + nodejs + pnpmConfigHook + pnpm_9 + ]; + + __structuredAttrs = true; + strictDeps = true; + + pnpmDeps = fetchPnpmDeps { + inherit (finalAttrs) pname version src; + hash = "sha256-tYeV62IZes8O5rN9uvpx0K72B88gftqpL2VXrOUxI8s="; + pnpm = pnpm_9; + fetcherVersion = 3; + }; + + buildPhase = '' + runHook preBuild + + pnpm --filter=@uwu/shelter-ui prepare + pnpm --filter=shelter build + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + cp -r packages/shelter/dist $out + + runHook postInstall + ''; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version=branch" + "--version-regex=(0.*)" + ]; + }; + + meta = { + description = "New generation Discord client mod built to be essentially bulletproof"; + homepage = "https://shelter.uwu.network/"; + license = lib.licenses.cc0; + maintainers = with lib.maintainers; [ bandithedoge ]; + }; +})