nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 stdenvNoCC,
4 fetchFromGitHub,
5 nix-update-script,
6
7 pnpm_10,
8 fetchPnpmDeps,
9 pnpmConfigHook,
10 nodejs,
11
12 rustPlatform,
13 cargo-tauri,
14 wrapGAppsHook4,
15 pkg-config,
16 glib-networking,
17 webkitgtk_4_1,
18 openssl,
19}:
20
21rustPlatform.buildRustPackage (finalAttrs: {
22 pname = "fedistar";
23 version = "1.11.3";
24
25 src = fetchFromGitHub {
26 owner = "h3poteto";
27 repo = "fedistar";
28 tag = "v${finalAttrs.version}";
29 hash = "sha256-Q2j6K4ys/z77+n3kdGJ15rWbFlbbIHBWB9hOARsgg2A=";
30 };
31
32 cargoRoot = "src-tauri";
33 buildAndTestSubdir = "src-tauri";
34
35 cargoHash = "sha256-ZJgyrFDtzAH3XqDdnJ27Yn+WsTMrZR2+lnkZ6bw6hzg=";
36
37 pnpmDeps = fetchPnpmDeps {
38 inherit (finalAttrs) pname version src;
39 pnpm = pnpm_10;
40 fetcherVersion = 1;
41 hash = "sha256-xXVsjAXmrsOp+mXrYAxSKz4vX5JApLZ+Rh6hrYlnJDI=";
42 };
43
44 nativeBuildInputs = [
45 cargo-tauri.hook
46
47 pnpmConfigHook
48 pnpm_10
49 nodejs
50
51 pkg-config
52 wrapGAppsHook4
53 ];
54
55 buildInputs = [
56 openssl
57 ]
58 ++ lib.optionals stdenvNoCC.hostPlatform.isLinux [
59 glib-networking
60 webkitgtk_4_1
61 ];
62
63 doCheck = false; # This version's tests do not pass
64
65 # A fix for a problem with Tauri (tauri-apps/tauri#9304)
66 preFixup = ''
67 gappsWrapperArgs+=(
68 --set-default WEBKIT_DISABLE_DMABUF_RENDERER 1
69 )
70 '';
71
72 passthru.updateScript = nix-update-script {
73 extraArgs = [
74 "--subpackage"
75 "fedistar-frontend"
76 ];
77 };
78
79 meta = {
80 description = "Multi-column Fediverse client application for desktop";
81 homepage = "https://fedistar.net/";
82 mainProgram = "fedistar";
83 license = lib.licenses.gpl3Only;
84 maintainers = with lib.maintainers; [ noodlez1232 ];
85 changelog = "https://github.com/h3poteto/fedistar/releases/tag/v${finalAttrs.version}";
86 };
87})