diff --git a/pkgs/default.nix b/pkgs/default.nix index b6e10cbf..304e1ebb 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -58,6 +58,7 @@ let tic-80 = callPackage ./tic-80 { }; thokr = callPackage ./thokr.nix { }; segno = callPackage ./segno.nix { }; + smile = callPackage ./smile { }; vpaint = libsForQt5.callPackage ./vpaint.nix { }; vgc = libsForQt5.callPackage ./vgc { }; watc = callPackage ./watc { }; diff --git a/pkgs/smile/default.nix b/pkgs/smile/default.nix new file mode 100644 index 00000000..fbbb8cbe --- /dev/null +++ b/pkgs/smile/default.nix @@ -0,0 +1,73 @@ +{ stdenv +, lib +, fetchFromGitHub +, meson +, ninja +, appstream-glib +, desktop-file-utils +, gettext +, glib +, gtk4 +, libwnck3 +, wrapGAppsHook4 +, pkg-config +, python3Packages +, gobject-introspection +}: + +python3Packages.buildPythonApplication rec { + pname = "smile"; + version = "1.7.0"; + + src = fetchFromGitHub { + owner = "mijorus"; + repo = pname; + rev = version; + sha256 = "sha256-F1ZDwCvhLMcqqtfneN12IMslhA2E54Oxcnaqy+AdMXI="; + }; + + format = "other"; + + postPatch = '' + chmod +x ./build-aux/meson/postinstall.py + patchShebangs ./build-aux/meson/postinstall.py + substituteInPlace ./build-aux/meson/postinstall.py \ + --replace "gtk-update-icon-cache" "gtk4-update-icon-cache" + ''; + + nativeBuildInputs = [ + gettext + desktop-file-utils + appstream-glib + meson + ninja + pkg-config + glib + wrapGAppsHook4 + ]; + + propagatedNativeBuildInputs = [ + gobject-introspection + ]; + + propagatedBuildInputs = with python3Packages; [ + pygobject3 + manimpango + ]; + + buildInputs = [ + libwnck3 + gtk4 + ]; + + dontWrapGApps = true; + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + meta = with lib; { + homepage = "https://github.com/mijorus/smile"; + description = "Emoji picker with custom tabs support."; + license = licenses.gpl3Only; + }; +}