gurobi: 12.0.0 -> 12.0.1 (#377852)
[NixPkgs.git] / pkgs / by-name / fr / fractal / package.nix
blob91a0bebe73e5ca0a242d6baafa832724b9b69c4d
2   stdenv,
3   lib,
4   fetchFromGitLab,
5   nix-update-script,
6   cargo,
7   meson,
8   ninja,
9   rustPlatform,
10   rustc,
11   pkg-config,
12   glib,
13   grass-sass,
14   gtk4,
15   gtksourceview5,
16   lcms2,
17   libadwaita,
18   gst_all_1,
19   desktop-file-utils,
20   appstream-glib,
21   openssl,
22   pipewire,
23   libshumate,
24   wrapGAppsHook4,
25   sqlite,
26   xdg-desktop-portal,
27   libseccomp,
28   glycin-loaders,
31 stdenv.mkDerivation rec {
32   pname = "fractal";
33   version = "10";
35   src = fetchFromGitLab {
36     domain = "gitlab.gnome.org";
37     owner = "World";
38     repo = "fractal";
39     tag = version;
40     hash = "sha256-dXmdoEBvHhOoICIDCpi2JTPo7j/kQzlv+Q/S/7LNyv0=";
41   };
43   cargoDeps = rustPlatform.fetchCargoVendor {
44     inherit src;
45     hash = "sha256-qRxJvlorS5S3Wj3HjfvvR2nM/ZWzefz4x791UeSXm0w=";
46   };
48   # Dirty approach to add patches after cargoSetupPostUnpackHook
49   # We should eventually use a cargo vendor patch hook instead
50   preConfigure = ''
51     pushd ../$(stripHash $cargoDeps)/glycin-2.*
52       patch -p3 < ${glycin-loaders.passthru.glycinPathsPatch}
53     popd
54   '';
56   nativeBuildInputs = [
57     glib
58     grass-sass
59     gtk4
60     meson
61     ninja
62     pkg-config
63     rustPlatform.bindgenHook
64     rustPlatform.cargoSetupHook
65     cargo
66     rustc
67     desktop-file-utils
68     appstream-glib
69     wrapGAppsHook4
70   ];
72   buildInputs =
73     [
74       glib
75       gtk4
76       gtksourceview5
77       lcms2
78       libadwaita
79       openssl
80       pipewire
81       libshumate
82       sqlite
83       xdg-desktop-portal
84       libseccomp
85     ]
86     ++ (with gst_all_1; [
87       gstreamer
88       gst-plugins-base
89       gst-plugins-bad
90       gst-plugins-good
91       gst-plugins-rs
92     ]);
94   preFixup = ''
95     gappsWrapperArgs+=(
96       --prefix XDG_DATA_DIRS : "${glycin-loaders}/share"
97     )
98   '';
100   passthru = {
101     updateScript = nix-update-script { };
102   };
104   meta = with lib; {
105     description = "Matrix group messaging app";
106     homepage = "https://gitlab.gnome.org/GNOME/fractal";
107     changelog = "https://gitlab.gnome.org/World/fractal/-/releases/${version}";
108     license = licenses.gpl3Plus;
109     maintainers = teams.gnome.members;
110     platforms = platforms.linux;
111     mainProgram = "fractal";
112   };