diff --git a/pkgs/by-name/gt/gtkdialog/package.nix b/pkgs/by-name/gt/gtkdialog/package.nix index 4de4f9929fb9..8a9ae323a2e7 100644 --- a/pkgs/by-name/gt/gtkdialog/package.nix +++ b/pkgs/by-name/gt/gtkdialog/package.nix @@ -1,38 +1,57 @@ { lib, stdenv, - fetchurl, - fetchpatch, - gtk2, + fetchFromGitHub, + bison, + flex, + gtk3, + gtk-layer-shell, + meson, + ninja, pkg-config, + vte, + wrapGAppsHook3, }: -stdenv.mkDerivation rec { +stdenv.mkDerivation (finalAttrs: { pname = "gtkdialog"; - version = "0.8.3"; + version = "0.8.5e"; - src = fetchurl { - url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/${pname}/${pname}-${version}.tar.gz"; - sha256 = "ff89d2d7f1e6488e5df5f895716ac1d4198c2467a2a5dc1f51ab408a2faec38e"; + src = fetchFromGitHub { + owner = "puppylinux-woof-CE"; + repo = "gtkdialog"; + tag = finalAttrs.version; + hash = "sha256-VaKyR7KJOAHzZ3YrTVDN7DssRNQeWhZExiY79eEZNP4="; }; - patches = [ - # Pull Gentoo patch for -fno-common toolchain fix. - (fetchpatch { - name = "fno-common.patch"; - url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/x11-misc/gtkdialog/files/gtkdialog-0.8.3-fno-common.patch?id=98692e4c4ad494b88c4902ca1ab3e6541190bbe8"; - sha256 = "1mh01krzpfy7lbbqx3xm71xsiqqgg67w4snv794wspfqkk2hicvz"; - }) + + nativeBuildInputs = [ + bison + flex + meson + ninja + pkg-config + wrapGAppsHook3 ]; - nativeBuildInputs = [ pkg-config ]; - buildInputs = [ gtk2 ]; + buildInputs = [ + gtk3 + gtk-layer-shell + vte + ]; + + mesonFlags = [ (lib.mesonBool "docs" true) ]; + + # make it a little bit easier to run examples + postInstall = '' + find $out/share/doc/examples -type f -exec sed -i "s|GTKDIALOG=gtkdialog|GTKDIALOG=$out/bin/gtkdialog|g" {} + + ''; meta = { - homepage = "https://code.google.com/archive/p/gtkdialog/"; - # community links: http://murga-linux.com/puppy/viewtopic.php?t=111923 -> https://github.com/01micko/gtkdialog + homepage = "https://github.com/puppylinux-woof-CE/gtkdialog"; description = "Small utility for fast and easy GUI building from many scripted and compiled languages"; mainProgram = "gtkdialog"; + maintainers = with lib.maintainers; [ aleksana ]; license = lib.licenses.gpl2Plus; - platforms = lib.platforms.linux; + platforms = lib.platforms.unix; }; -} +})