diff options
Diffstat (limited to 'pkgs/desktops/gnome/games')
19 files changed, 1022 insertions, 0 deletions
diff --git a/pkgs/desktops/gnome/games/aisleriot/default.nix b/pkgs/desktops/gnome/games/aisleriot/default.nix new file mode 100644 index 0000000000000..8893846698e80 --- /dev/null +++ b/pkgs/desktops/gnome/games/aisleriot/default.nix @@ -0,0 +1,77 @@ +{ lib, stdenv +, fetchFromGitLab +, pkg-config +, gnome +, itstool +, gtk3 +, wrapGAppsHook +, meson +, librsvg +, libxml2 +, desktop-file-utils +, pysolfc +, guile +, libcanberra-gtk3 +, ninja +, appstream-glib +, yelp-tools +}: + +stdenv.mkDerivation rec { + pname = "aisleriot"; + version = "3.22.13"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = pname; + rev = version; + sha256 = "05k84bbgrrxchxg08l1jjcz384kpjdmxd24g0wnf731aa9zcnp5k"; + }; + + nativeBuildInputs = [ + wrapGAppsHook + meson + ninja + appstream-glib + pkg-config + itstool + libxml2 + desktop-file-utils + yelp-tools + ]; + + buildInputs = [ + gtk3 + librsvg + guile + libcanberra-gtk3 + pysolfc + ]; + + prePatch = '' + patchShebangs cards/meson_svgz.sh + patchShebangs data/meson_desktopfile.py + patchShebangs data/icons/meson_updateiconcache.py + patchShebangs src/lib/meson_compileschemas.py + ''; + + mesonFlags = [ + "-Dtheme_kde=false" + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Aisleriot"; + description = "A collection of patience games written in guile scheme"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/atomix/default.nix b/pkgs/desktops/gnome/games/atomix/default.nix new file mode 100644 index 0000000000000..43d9aaa7680c5 --- /dev/null +++ b/pkgs/desktops/gnome/games/atomix/default.nix @@ -0,0 +1,37 @@ +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, wrapGAppsHook, python3 +, gettext, gnome, glib, gtk3, libgnome-games-support, gdk-pixbuf }: + +let + pname = "atomix"; + version = "3.34.0"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "0h909a4mccf160hi0aimyicqhq2b0gk1dmqp7qwf87qghfrw6m00"; + }; + + nativeBuildInputs = [ meson ninja pkg-config gettext wrapGAppsHook python3 ]; + buildInputs = [ glib gtk3 gdk-pixbuf libgnome-games-support gnome.adwaita-icon-theme ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "Puzzle game where you move atoms to build a molecule"; + homepage = "https://wiki.gnome.org/Apps/Atomix"; + license = licenses.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/five-or-more/default.nix b/pkgs/desktops/gnome/games/five-or-more/default.nix new file mode 100644 index 0000000000000..f01d137979ec1 --- /dev/null +++ b/pkgs/desktops/gnome/games/five-or-more/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchurl, meson, ninja, pkg-config, gnome, gtk3, wrapGAppsHook +, librsvg, libgnome-games-support, gettext, itstool, libxml2, python3, vala }: + +stdenv.mkDerivation rec { + pname = "five-or-more"; + version = "3.32.2"; + + src = fetchurl { + url = "mirror://gnome/sources/five-or-more/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "19pf8wzbf3ciqf2k4bj9sddvyhckfd62x86pnqr6s8h4vn9jc6ii"; + }; + + nativeBuildInputs = [ + meson ninja pkg-config gettext itstool libxml2 python3 wrapGAppsHook + vala + ]; + buildInputs = [ + gtk3 librsvg libgnome-games-support gnome.adwaita-icon-theme + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "five-or-more"; + attrPath = "gnome.five-or-more"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Five_or_more"; + description = "Remove colored balls from the board by forming lines"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/four-in-a-row/default.nix b/pkgs/desktops/gnome/games/four-in-a-row/default.nix new file mode 100644 index 0000000000000..2c6899ee1aa90 --- /dev/null +++ b/pkgs/desktops/gnome/games/four-in-a-row/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, wrapGAppsHook +, gettext, meson, gsound, librsvg, itstool, vala +, python3, ninja, desktop-file-utils }: + +stdenv.mkDerivation rec { + pname = "four-in-a-row"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/four-in-a-row/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "10ji60bdfdzb6wk5dkwjc3yww7hqi3yjcx1k1z7x2521h2dpdli1"; + }; + + nativeBuildInputs = [ + pkg-config wrapGAppsHook gettext meson itstool vala + ninja python3 desktop-file-utils + ]; + buildInputs = [ gtk3 gsound librsvg gnome.adwaita-icon-theme ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "four-in-a-row"; + attrPath = "gnome.four-in-a-row"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Four-in-a-row"; + description = "Make lines of the same color to win"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-chess/default.nix b/pkgs/desktops/gnome/games/gnome-chess/default.nix new file mode 100644 index 0000000000000..c632bce407bc4 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-chess/default.nix @@ -0,0 +1,68 @@ +{ lib +, stdenv +, fetchurl +, meson +, ninja +, vala +, pkg-config +, wrapGAppsHook4 +, gobject-introspection +, gettext +, itstool +, libxml2 +, python3 +, gnome +, glib +, gtk4 +, librsvg +}: + +stdenv.mkDerivation rec { + pname = "gnome-chess"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-chess/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "132nc96z0bryyi9d5gljsbwsa71rl8wm5w57jbhpwiv4fyjhgybk"; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + gettext + itstool + libxml2 + python3 + wrapGAppsHook4 + gobject-introspection + ]; + + buildInputs = [ + glib + gtk4 + librsvg + gnome.adwaita-icon-theme + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-chess"; + attrPath = "gnome.gnome-chess"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Chess"; + description = "Play the classic two-player boardgame of chess"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-klotski/default.nix b/pkgs/desktops/gnome/games/gnome-klotski/default.nix new file mode 100644 index 0000000000000..bb4cdae8fa358 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-klotski/default.nix @@ -0,0 +1,43 @@ +{ lib, stdenv, fetchurl, pkg-config, vala, gnome, gtk3, wrapGAppsHook, appstream-glib, desktop-file-utils +, glib, librsvg, libxml2, gettext, itstool, libgee, libgnome-games-support +, meson, ninja, python3 +}: + +let + pname = "gnome-klotski"; + version = "3.38.2"; +in stdenv.mkDerivation rec { + name = "${pname}-${version}"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${name}.tar.xz"; + sha256 = "1qm01hdd5yp8chig62bj10912vclbdvywwczs84sfg4zci2phqwi"; + }; + + nativeBuildInputs = [ + pkg-config vala meson ninja python3 wrapGAppsHook + gettext itstool libxml2 appstream-glib desktop-file-utils + gnome.adwaita-icon-theme + ]; + buildInputs = [ glib gtk3 librsvg libgee libgnome-games-support ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Klotski"; + description = "Slide blocks to solve the puzzle"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix b/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix new file mode 100644 index 0000000000000..7ef68e470e1d6 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix @@ -0,0 +1,41 @@ +{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, wrapGAppsHook +, librsvg, gettext, itstool, libxml2 +, meson, ninja, glib, vala, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "gnome-mahjongg"; + version = "3.38.3"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-mahjongg/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "144ia3zn9rhwa1xbdkvsz6m0dsysl6mxvqw9bnrlh845hmyy9cfj"; + }; + + nativeBuildInputs = [ + meson ninja vala desktop-file-utils + pkg-config gnome.adwaita-icon-theme + libxml2 itstool gettext wrapGAppsHook + glib # for glib-compile-schemas + ]; + buildInputs = [ + glib + gtk3 + librsvg + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Mahjongg"; + description = "Disassemble a pile of tiles by removing matching pairs"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-mines/default.nix b/pkgs/desktops/gnome/games/gnome-mines/default.nix new file mode 100644 index 0000000000000..6a7168badbfee --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-mines/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchurl, meson, ninja, vala, gobject-introspection, pkg-config, gnome, gtk3, wrapGAppsHook +, librsvg, gettext, itstool, python3, libxml2, libgnome-games-support, libgee, desktop-file-utils }: + +stdenv.mkDerivation rec { + pname = "gnome-mines"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "0sf6kdvhr4pr3hddnj6ql9larz2wy108sri31id6x9g459nbly8z"; + }; + + # gobject-introspection for finding vapi files + nativeBuildInputs = [ + meson ninja vala gobject-introspection pkg-config gettext itstool python3 + libxml2 wrapGAppsHook desktop-file-utils + ]; + buildInputs = [ gtk3 librsvg gnome.adwaita-icon-theme libgnome-games-support libgee ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-mines"; + attrPath = "gnome.gnome-mines"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Mines"; + description = "Clear hidden mines from a minefield"; + maintainers = teams.gnome.members; + license = licenses.gpl3; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-nibbles/default.nix b/pkgs/desktops/gnome/games/gnome-nibbles/default.nix new file mode 100644 index 0000000000000..34b50f2244fa9 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-nibbles/default.nix @@ -0,0 +1,84 @@ +{ lib +, stdenv +, fetchurl +, fetchpatch +, pkg-config +, gnome +, gtk3 +, wrapGAppsHook +, librsvg +, gsound +, clutter-gtk +, gettext +, itstool +, vala +, python3 +, libxml2 +, libgee +, libgnome-games-support +, meson +, ninja +, desktop-file-utils +, hicolor-icon-theme +}: + +stdenv.mkDerivation rec { + pname = "gnome-nibbles"; + version = "3.38.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-nibbles/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "1naknfbciydbym79a0jq039xf0033z8gyln48c0qsbcfr2qn8yj5"; + }; + + patches = [ + # Fix build with recent Vala. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-nibbles/-/commit/62964e9256fcac616109af874dbb2bd8342a9853.patch"; + sha256 = "4VijELRxycS8rwi1HU9U3h9K/VtdQjJntfdtMN9Uz34="; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-nibbles/-/commit/1b48446068608aff9b5edf1fdbd4b8c0d9f0be94.patch"; + sha256 = "X0+Go5ae4F06WTPDYc2HIIax8X4RDgUGO6A6Qp8UifQ="; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + vala + python3 + pkg-config + wrapGAppsHook + gettext + itstool + libxml2 + desktop-file-utils + hicolor-icon-theme + ]; + + buildInputs = [ + gtk3 + librsvg + gsound + clutter-gtk + gnome.adwaita-icon-theme + libgee + libgnome-games-support + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-nibbles"; + attrPath = "gnome.gnome-nibbles"; + }; + }; + + meta = with lib; { + description = "Guide a worm around a maze"; + homepage = "https://wiki.gnome.org/Apps/Nibbles"; + license = licenses.gpl2; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-robots/default.nix b/pkgs/desktops/gnome/games/gnome-robots/default.nix new file mode 100644 index 0000000000000..c9f7cbfc213be --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-robots/default.nix @@ -0,0 +1,73 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, gnome +, gtk3 +, wrapGAppsHook +, librsvg +, gsound +, gettext +, itstool +, libxml2 +, libgnome-games-support +, libgee +, meson +, ninja +, vala +, python3 +, desktop-file-utils +, adwaita-icon-theme +}: + +stdenv.mkDerivation rec { + pname = "gnome-robots"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-robots/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "04fbykj576dq1h6cycgfhh8wd6yxmlsqykvj188sbwahay42zgvg"; + }; + + nativeBuildInputs = [ + pkg-config + meson + ninja + vala + python3 + libxml2 + wrapGAppsHook + gettext + itstool + desktop-file-utils + ]; + + buildInputs = [ + gtk3 + librsvg + gsound + libgnome-games-support + libgee + adwaita-icon-theme + ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-robots"; + attrPath = "gnome.gnome-robots"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Robots"; + description = "Avoid the robots and make them crash into each other"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-sudoku/default.nix b/pkgs/desktops/gnome/games/gnome-sudoku/default.nix new file mode 100644 index 0000000000000..3bd0ec3b3cdf2 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-sudoku/default.nix @@ -0,0 +1,35 @@ +{ lib, stdenv, fetchurl, meson, ninja, vala, pkg-config, gobject-introspection, gettext, gtk3, gnome, wrapGAppsHook +, libgee, json-glib, qqwing, itstool, libxml2, python3, desktop-file-utils }: + +stdenv.mkDerivation rec { + pname = "gnome-sudoku"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-sudoku/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "1nr1g4q1gxqbzmaz15y3zgssnj7w01cq9l422ja4rglyg0fwjhbm"; + }; + + nativeBuildInputs = [ meson ninja vala pkg-config gobject-introspection gettext itstool libxml2 python3 desktop-file-utils wrapGAppsHook ]; + buildInputs = [ gtk3 libgee json-glib qqwing ]; + + postPatch = '' + chmod +x build-aux/post_install.py + patchShebangs build-aux/post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-sudoku"; + attrPath = "gnome.gnome-sudoku"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Sudoku"; + description = "Test your logic skills in this number grid puzzle"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-taquin/default.nix b/pkgs/desktops/gnome/games/gnome-taquin/default.nix new file mode 100644 index 0000000000000..c3e78ff201446 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-taquin/default.nix @@ -0,0 +1,75 @@ +{ lib +, stdenv +, fetchurl +, fetchpatch +, pkg-config +, gnome +, gtk3 +, wrapGAppsHook +, librsvg +, gsound +, gettext +, itstool +, libxml2 +, meson +, ninja +, vala +, python3 +, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "gnome-taquin"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-taquin/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "0kw131q0ad0rbsp6qifjc8fjlhvjxyihil8a76kj8ya9mn7kvnwn"; + }; + + patches = [ + # Fix build with recent Vala. + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-taquin/-/commit/99dea5e7863e112f33f16e59898c56a4f1a547b3.patch"; + sha256 = "U7djuMhb1XJaKAPyogQjaunOkbBK24r25YD7BgH05P4="; + }) + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-taquin/-/commit/66be44dc20d114e449fc33156e3939fd05dfbb16.patch"; + sha256 = "RN41RCLHlJyXTARSH9qjsmpYi1UFeMRssoYxRsbngDQ="; + }) + ]; + + nativeBuildInputs = [ + pkg-config + wrapGAppsHook + meson + ninja + python3 + gettext + itstool + libxml2 + vala + desktop-file-utils + ]; + buildInputs = [ + gtk3 + librsvg + gsound + gnome.adwaita-icon-theme + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-taquin"; + attrPath = "gnome.gnome-taquin"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Taquin"; + description = "Move tiles so that they reach their places"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/gnome-tetravex/default.nix b/pkgs/desktops/gnome/games/gnome-tetravex/default.nix new file mode 100644 index 0000000000000..a1cdf98d9a155 --- /dev/null +++ b/pkgs/desktops/gnome/games/gnome-tetravex/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchurl, pkg-config, gnome, gtk3, wrapGAppsHook +, libxml2, gettext, itstool, meson, ninja, python3 +, vala, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "gnome-tetravex"; + version = "3.38.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-tetravex/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "06wihvqp2p52zd2dnknsc3rii69qib4a30yp15h558xrg44z3k8z"; + }; + + passthru = { + updateScript = gnome.updateScript { packageName = "gnome-tetravex"; attrPath = "gnome.gnome-tetravex"; }; + }; + + nativeBuildInputs = [ + wrapGAppsHook itstool libxml2 gnome.adwaita-icon-theme + pkg-config gettext meson ninja python3 vala desktop-file-utils + ]; + buildInputs = [ + gtk3 + ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Tetravex"; + description = "Complete the puzzle by matching numbered tiles"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/hitori/default.nix b/pkgs/desktops/gnome/games/hitori/default.nix new file mode 100644 index 0000000000000..1dc07bae26b12 --- /dev/null +++ b/pkgs/desktops/gnome/games/hitori/default.nix @@ -0,0 +1,66 @@ +{ lib, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, gnome +, glib +, gtk3 +, cairo +, wrapGAppsHook +, libxml2 +, python3 +, gettext +, itstool +, desktop-file-utils +, adwaita-icon-theme +}: + +stdenv.mkDerivation rec { + pname = "hitori"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/hitori/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "Ar0sQh1OIYAmVxToVL0S79PG0Vbd8h95599gAR1OQYQ="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + itstool + desktop-file-utils + libxml2 + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + cairo + adwaita-icon-theme + ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Hitori"; + description = "GTK application to generate and let you play games of Hitori"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/iagno/default.nix b/pkgs/desktops/gnome/games/iagno/default.nix new file mode 100644 index 0000000000000..d7e3930eae1ec --- /dev/null +++ b/pkgs/desktops/gnome/games/iagno/default.nix @@ -0,0 +1,77 @@ +{ lib, stdenv +, fetchurl +, fetchpatch +, pkg-config +, gtk3 +, gnome +, gdk-pixbuf +, librsvg +, wrapGAppsHook +, itstool +, gsound +, libxml2 +, meson +, ninja +, python3 +, vala +, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "iagno"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/iagno/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "097dw1l92l73xah9l56ka5mi3dvx48ffpiv33ni5i5rqw0ng7fc4"; + }; + + patches = [ + # Fix build with recent Vala. + # https://gitlab.gnome.org/GNOME/dconf-editor/-/merge_requests/15 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/iagno/-/commit/e8a0aeec350ea80349582142c0e8e3cd3f1bce38.patch"; + sha256 = "OO1x0Yx56UFzHTBsPAMYAjnJHlnTjdO1Vk7q6XU8wKQ="; + }) + # https://gitlab.gnome.org/GNOME/dconf-editor/-/merge_requests/13 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/iagno/-/commit/508c0f94e5f182e50ff61be6e04f72574dee97cb.patch"; + sha256 = "U7djuMhb1XJaKAPyogQjaunOkbBK24r25YD7BgH05P4="; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + python3 + vala + desktop-file-utils + pkg-config + wrapGAppsHook + itstool + libxml2 + ]; + + buildInputs = [ + gtk3 + gnome.adwaita-icon-theme + gdk-pixbuf + librsvg + gsound + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "iagno"; + attrPath = "gnome.iagno"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Iagno"; + description = "Computer version of the game Reversi, more popularly called Othello"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/lightsoff/default.nix b/pkgs/desktops/gnome/games/lightsoff/default.nix new file mode 100644 index 0000000000000..94b71f0e8568c --- /dev/null +++ b/pkgs/desktops/gnome/games/lightsoff/default.nix @@ -0,0 +1,39 @@ +{ lib, stdenv, fetchurl, vala, pkg-config, gtk3, gnome, gdk-pixbuf, librsvg, wrapGAppsHook +, gettext, itstool, clutter, clutter-gtk, libxml2, appstream-glib +, meson, ninja, python3 }: + +stdenv.mkDerivation rec { + pname = "lightsoff"; + version = "40.0.1"; + + src = fetchurl { + url = "mirror://gnome/sources/lightsoff/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "1aziy64g15bm83zfn3ifs20z9yvscdvsxbx132xnq77i0r3qvlxc"; + }; + + nativeBuildInputs = [ + vala pkg-config wrapGAppsHook itstool gettext appstream-glib libxml2 + meson ninja python3 + ]; + buildInputs = [ gtk3 gnome.adwaita-icon-theme gdk-pixbuf librsvg clutter clutter-gtk ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "lightsoff"; + attrPath = "gnome.lightsoff"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Lightsoff"; + description = "Puzzle game, where the objective is to turn off all of the tiles on the board"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/quadrapassel/default.nix b/pkgs/desktops/gnome/games/quadrapassel/default.nix new file mode 100644 index 0000000000000..d54c49eafee28 --- /dev/null +++ b/pkgs/desktops/gnome/games/quadrapassel/default.nix @@ -0,0 +1,40 @@ +{ lib, stdenv, fetchurl, pkg-config, gtk3, gnome, gdk-pixbuf +, librsvg, gsound, libmanette +, gettext, itstool, libxml2, clutter, clutter-gtk, wrapGAppsHook +, meson, ninja, python3, vala, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "quadrapassel"; + version = "3.38.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "033plabc6q3sk6qjr5nml8z6p07vcw57gxddxjk9b65wgg0rzzhr"; + }; + + nativeBuildInputs = [ + meson ninja python3 vala desktop-file-utils + pkg-config gnome.adwaita-icon-theme + libxml2 itstool gettext wrapGAppsHook + ]; + buildInputs = [ + gtk3 gdk-pixbuf librsvg libmanette + gsound clutter libxml2 clutter-gtk + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + description = "Classic falling-block game, Tetris"; + homepage = "https://wiki.gnome.org/Apps/Quadrapassel"; + license = licenses.gpl2; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/swell-foop/default.nix b/pkgs/desktops/gnome/games/swell-foop/default.nix new file mode 100644 index 0000000000000..50fab598153ad --- /dev/null +++ b/pkgs/desktops/gnome/games/swell-foop/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, vala +, glib +, gtk3 +, libgnome-games-support +, gnome +, desktop-file-utils +, clutter +, clutter-gtk +, gettext +, itstool +, libxml2 +, wrapGAppsHook +, python3 +}: + +stdenv.mkDerivation rec { + pname = "swell-foop"; + version = "40.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "17r4b0g8s7z872wdd7ngk248z7fqx43vm2sym1bdqhzsi250s1y1"; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + wrapGAppsHook + python3 + itstool + gettext + libxml2 + desktop-file-utils + ]; + + buildInputs = [ + glib + gtk3 + libgnome-games-support + gnome.adwaita-icon-theme + clutter + clutter-gtk + ]; + + postPatch = '' + chmod +x meson_post_install.py # patchShebangs requires executable file + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Swell%20Foop"; + description = "Puzzle game, previously known as Same GNOME"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/desktops/gnome/games/tali/default.nix b/pkgs/desktops/gnome/games/tali/default.nix new file mode 100644 index 0000000000000..3e2abc8730468 --- /dev/null +++ b/pkgs/desktops/gnome/games/tali/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchurl, pkg-config, gtk3, gnome, gdk-pixbuf +, librsvg, libgnome-games-support, gettext, itstool, libxml2, wrapGAppsHook +, meson, ninja, python3, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "tali"; + version = "40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "19gic6yjg3bg6jf87zvhm7ihsz1y58dz86p4x3a16xdhjyrk40q2"; + }; + + passthru = { + updateScript = gnome.updateScript { packageName = "tali"; attrPath = "gnome.tali"; }; + }; + + nativeBuildInputs = [ + meson ninja python3 desktop-file-utils + pkg-config gnome.adwaita-icon-theme + libxml2 itstool gettext wrapGAppsHook + ]; + buildInputs = [ gtk3 gdk-pixbuf librsvg libgnome-games-support ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/Tali"; + description = "Sort of poker with dice and less money"; + maintainers = teams.gnome.members; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} |