diff --git a/pkgs/applications/networking/instant-messengers/fractal/default.nix b/pkgs/applications/networking/instant-messengers/fractal/default.nix new file mode 100644 index 000000000000..45137aafcaeb --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/fractal/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, fetchFromGitLab, meson, ninja, gettext, cargo, rustc, python3, rustPlatform, pkgconfig, gtksourceview +, hicolor-icon-theme, glib, libhandy, gtk3, libsecret, dbus, openssl, sqlite, gst_all_1, wrapGAppsHook }: + +rustPlatform.buildRustPackage rec { + version = "4.0.0"; + name = "fractal-${version}"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = "fractal"; + rev = version; + sha256 = "05q47jdgbi5jz01280msb8gxnbsrgf2jvglfm6k40f1xw4wxkrzy"; + }; + + nativeBuildInputs = [ + meson ninja pkgconfig gettext cargo rustc python3 wrapGAppsHook + ]; + buildInputs = [ + glib gtk3 libhandy dbus openssl sqlite gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-bad + gtksourceview hicolor-icon-theme libsecret + ]; + + postPatch = '' + patchShebangs scripts/meson_post_install.py + ''; + + # Don't use buildRustPackage phases, only use it for rust deps setup + configurePhase = null; + buildPhase = null; + checkPhase = null; + installPhase = null; + + cargoSha256 = "0hlvdcdzkggc2adggmlxz0yxigwp3320wfav77gddlvfip1f90sw"; + + meta = with stdenv.lib; { + description = "Matrix group messaging app"; + homepage = https://gitlab.gnome.org/GNOME/fractal; + license = licenses.gpl3; + maintainers = with maintainers; [ dtzWill ]; + }; +} + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b38692036541..38f03cd8de98 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -17230,6 +17230,8 @@ in fomp = callPackage ../applications/audio/fomp { }; + fractal = callPackage ../applications/networking/instant-messengers/fractal { }; + freecad = callPackage ../applications/graphics/freecad { mpi = openmpi; }; freemind = callPackage ../applications/misc/freemind { };