diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnome/games')
20 files changed, 1260 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/gnome/games/aisleriot/default.nix b/nixpkgs/pkgs/desktops/gnome/games/aisleriot/default.nix new file mode 100644 index 000000000000..a56d9e4569b1 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/aisleriot/default.nix @@ -0,0 +1,74 @@ +{ stdenv +, lib +, fetchFromGitLab +, gitUpdater +, pkg-config +, itstool +, gtk3 +, wrapGAppsHook +, meson +, librsvg +, libxml2 +, desktop-file-utils +, guile +, libcanberra-gtk3 +, ninja +, appstream-glib +, yelp-tools +}: + +stdenv.mkDerivation rec { + pname = "aisleriot"; + version = "3.22.30"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "GNOME"; + repo = "aisleriot"; + rev = version; + sha256 = "sha256-Fj5v2h6xDqf+PPxduxGr3vTy+eZ3aIv0u/ThrheYLGQ="; + }; + + nativeBuildInputs = [ + wrapGAppsHook + meson + ninja + appstream-glib + pkg-config + itstool + libxml2 + desktop-file-utils + yelp-tools + ]; + + buildInputs = [ + gtk3 + librsvg + guile + libcanberra-gtk3 + ]; + + 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 = gitUpdater { + }; + }; + + 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/nixpkgs/pkgs/desktops/gnome/games/atomix/default.nix b/nixpkgs/pkgs/desktops/gnome/games/atomix/default.nix new file mode 100644 index 000000000000..0d43c8e2ee7d --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/atomix/default.nix @@ -0,0 +1,61 @@ +{ lib +, stdenv +, fetchurl +, meson +, ninja +, pkg-config +, wrapGAppsHook +, python3 +, gettext +, gnome +, glib +, gtk3 +, libgnome-games-support +, gdk-pixbuf +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "atomix"; + version = "44.0"; + + src = fetchurl { + url = "mirror://gnome/sources/atomix/${lib.versions.major finalAttrs.version}/atomix-${finalAttrs.version}.tar.xz"; + sha256 = "yISTF2iNh9pzTJBjA1YxBSAH8qh5m2xsyRUmWIC1X7Q="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + wrapGAppsHook + python3 + ]; + + buildInputs = [ + glib + gtk3 + gdk-pixbuf + libgnome-games-support + ]; + + postPatch = '' + chmod +x meson_post_install.py + patchShebangs meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "atomix"; + attrPath = "gnome.atomix"; + }; + }; + + 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.unix; + }; +}) diff --git a/nixpkgs/pkgs/desktops/gnome/games/five-or-more/default.nix b/nixpkgs/pkgs/desktops/gnome/games/five-or-more/default.nix new file mode 100644 index 000000000000..2b264442eab1 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/five-or-more/default.nix @@ -0,0 +1,65 @@ +{ stdenv +, lib +, 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.3"; + + src = fetchurl { + url = "mirror://gnome/sources/five-or-more/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "LRDXLu/esyS0R9YyrwwySW4l/BWjwB230vAMm1HQnvQ="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + itstool + libxml2 + python3 + wrapGAppsHook + vala + ]; + + buildInputs = [ + gtk3 + librsvg + libgnome-games-support + ]; + + 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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/four-in-a-row/default.nix b/nixpkgs/pkgs/desktops/gnome/games/four-in-a-row/default.nix new file mode 100644 index 000000000000..a85da0499215 --- /dev/null +++ b/nixpkgs/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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-2048/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-2048/default.nix new file mode 100644 index 000000000000..137521c8bba3 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/gnome-2048/default.nix @@ -0,0 +1,65 @@ +{ lib +, stdenv +, fetchurl +, fetchpatch +, wrapGAppsHook +, meson +, vala +, pkg-config +, ninja +, itstool +, clutter-gtk +, libgee +, libgnome-games-support +, gnome +, gtk3 +}: + +stdenv.mkDerivation rec { + pname = "gnome-twenty-forty-eight"; + version = "3.38.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-2048/${lib.versions.majorMinor version}/gnome-2048-${version}.tar.xz"; + sha256 = "0s5fg4z5in1h39fcr69j1qc5ynmg7a8mfprk3mc3c0csq3snfwz2"; + }; + + patches = [ + # Fix build with meson 0.61 + # https://gitlab.gnome.org/GNOME/gnome-2048/-/merge_requests/21 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-2048/-/commit/194e22699f7166a016cd39ba26dd719aeecfc868.patch"; + sha256 = "Qpn/OJJwblRm5Pi453aU2HwbrNjsf+ftmSnns/5qZ9E="; + }) + ]; + + nativeBuildInputs = [ + itstool + meson + ninja + pkg-config + vala + wrapGAppsHook + ]; + + buildInputs = [ + clutter-gtk + libgee + libgnome-games-support + gtk3 + ]; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-2048"; + }; + }; + + meta = with lib; { + homepage = "https://wiki.gnome.org/Apps/2048"; + description = "Obtain the 2048 tile"; + maintainers = teams.gnome.members; + license = licenses.gpl3Plus; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-chess/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-chess/default.nix new file mode 100644 index 000000000000..43b4628d2bb6 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/gnome-chess/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchurl +, meson +, ninja +, vala +, pkg-config +, desktop-file-utils +, wrapGAppsHook4 +, gobject-introspection +, gettext +, itstool +, libxml2 +, gnome +, glib +, gtk4 +, libadwaita +, librsvg +, pango +}: + +stdenv.mkDerivation rec { + pname = "gnome-chess"; + version = "43.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-chess/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "NIUI+PbnRRwHNE/6egmpkM8dKIO8z1M0CdvgKSaNSfI="; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + gettext + itstool + libxml2 + desktop-file-utils + wrapGAppsHook4 + gobject-introspection + ]; + + buildInputs = [ + glib + gtk4 + libadwaita + librsvg + pango + ]; + + 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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-klotski/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-klotski/default.nix new file mode 100644 index 000000000000..bdfa9f8ed8f7 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/gnome-klotski/default.nix @@ -0,0 +1,41 @@ +{ 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 +}: + +stdenv.mkDerivation rec { + pname = "gnome-klotski"; + version = "3.38.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-klotski/${lib.versions.majorMinor version}/gnome-klotski-${version}.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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix new file mode 100644 index 000000000000..4ca1a535f186 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/gnome-mahjongg/default.nix @@ -0,0 +1,63 @@ +{ stdenv +, lib +, fetchurl +, pkg-config +, gnome +, gtk4 +, wrapGAppsHook4 +, libadwaita +, librsvg +, gettext +, itstool +, libxml2 +, meson +, ninja +, glib +, vala +, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "gnome-mahjongg"; + version = "3.40.0"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-mahjongg/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; + sha256 = "WorIbXY8VmDdkCX3vAgxC5IjRvp+Lfe2SMmJTa4/GD8="; + }; + + nativeBuildInputs = [ + meson + ninja + vala + desktop-file-utils + pkg-config + libxml2 + itstool + gettext + wrapGAppsHook4 + glib # for glib-compile-schemas + ]; + + buildInputs = [ + glib + gtk4 + libadwaita + 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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-mines/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-mines/default.nix new file mode 100644 index 000000000000..4640c5842493 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/gnome-mines/default.nix @@ -0,0 +1,38 @@ +{ lib, stdenv, fetchurl, meson, ninja, vala, 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.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "NQLps/ccs7LnEcDmAZGH/rzCvKh349RW3KtwD3vjEnI="; + }; + + nativeBuildInputs = [ + meson ninja vala 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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-nibbles/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-nibbles/default.nix new file mode 100644 index 000000000000..cf7a0038c145 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/gnome-nibbles/default.nix @@ -0,0 +1,64 @@ +{ lib +, stdenv +, fetchurl +, pkg-config +, gnome +, gtk4 +, wrapGAppsHook4 +, librsvg +, gsound +, gettext +, itstool +, vala +, libxml2 +, libgee +, libgnome-games-support_2_0 +, meson +, ninja +, desktop-file-utils +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "gnome-nibbles"; + version = "4.0.2"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-nibbles/${lib.versions.majorMinor finalAttrs.version}/gnome-nibbles-${finalAttrs.version}.tar.xz"; + sha256 = "SF+Mnq03/xr/ANXFfZk40PXc/xyocDHyKkrjhS6HU8U="; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + wrapGAppsHook4 + gettext + itstool + libxml2 + desktop-file-utils + ]; + + buildInputs = [ + gtk4 + librsvg + gsound + libgee + libgnome-games-support_2_0 + ]; + + 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.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +}) diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-robots/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-robots/default.nix new file mode 100644 index 000000000000..e8b5d48efca1 --- /dev/null +++ b/nixpkgs/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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-sudoku/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-sudoku/default.nix new file mode 100644 index 000000000000..36378775c69d --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/gnome-sudoku/default.nix @@ -0,0 +1,66 @@ +{ stdenv +, lib +, fetchurl +, meson +, ninja +, vala +, pkg-config +, gobject-introspection +, gettext +, gtk4 +, gnome +, wrapGAppsHook4 +, libadwaita +, libgee +, json-glib +, qqwing +, itstool +, libxml2 +, desktop-file-utils +}: + +stdenv.mkDerivation rec { + pname = "gnome-sudoku"; + version = "45.5"; + + src = fetchurl { + url = "mirror://gnome/sources/gnome-sudoku/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "jo4rymzaSfBdAGHD+YZgILNj74TDow9bfo7U5BpX/Q8="; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + gobject-introspection + gettext + itstool + libxml2 + desktop-file-utils + wrapGAppsHook4 + ]; + + buildInputs = [ + gtk4 + libadwaita + libgee + json-glib + qqwing + ]; + + 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.gpl3Plus; + platforms = platforms.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-taquin/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-taquin/default.nix new file mode 100644 index 000000000000..e982f83f3ff7 --- /dev/null +++ b/nixpkgs/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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/gnome-tetravex/default.nix b/nixpkgs/pkgs/desktops/gnome/games/gnome-tetravex/default.nix new file mode 100644 index 000000000000..46e512ad316a --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/gnome-tetravex/default.nix @@ -0,0 +1,76 @@ +{ stdenv +, lib +, fetchurl +, fetchpatch +, 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"; + }; + + patches = [ + # Fix build with meson 0.61 + # data/meson.build:37:0: ERROR: Function does not take positional arguments. + # data/meson.build:59:0: ERROR: Function does not take positional arguments. + # Taken from https://gitlab.gnome.org/GNOME/gnome-tetravex/-/merge_requests/20 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-tetravex/-/commit/80912d06f5e588f6aca966fa516103275e58d94e.patch"; + sha256 = "2+nFw5sJzbInibKaq3J10Ufbl3CnZWlgnUtzRTZ5G0I="; + }) + ]; + + 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 + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "gnome-tetravex"; + attrPath = "gnome.gnome-tetravex"; + }; + }; + + 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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/hitori/default.nix b/nixpkgs/pkgs/desktops/gnome/games/hitori/default.nix new file mode 100644 index 000000000000..e416a7f0343f --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/hitori/default.nix @@ -0,0 +1,65 @@ +{ stdenv +, lib +, fetchurl +, meson +, ninja +, pkg-config +, gnome +, glib +, gtk3 +, cairo +, wrapGAppsHook +, libxml2 +, python3 +, gettext +, itstool +, desktop-file-utils +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "hitori"; + version = "44.0"; + + src = fetchurl { + url = "mirror://gnome/sources/hitori/${lib.versions.major finalAttrs.version}/hitori-${finalAttrs.version}.tar.xz"; + sha256 = "QicL1PlSXRgNMVG9ckUzXcXPJIqYTgL2j/kw2nmeWDs="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + gettext + itstool + desktop-file-utils + libxml2 + python3 + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + cairo + ]; + + postPatch = '' + chmod +x build-aux/meson_post_install.py + patchShebangs build-aux/meson_post_install.py + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = "hitori"; + attrPath = "gnome.hitori"; + }; + }; + + 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.gpl3Plus; + platforms = platforms.unix; + }; +}) diff --git a/nixpkgs/pkgs/desktops/gnome/games/iagno/default.nix b/nixpkgs/pkgs/desktops/gnome/games/iagno/default.nix new file mode 100644 index 000000000000..eb27430be4e9 --- /dev/null +++ b/nixpkgs/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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/lightsoff/default.nix b/nixpkgs/pkgs/desktops/gnome/games/lightsoff/default.nix new file mode 100644 index 000000000000..fa9eb5d20812 --- /dev/null +++ b/nixpkgs/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.unix; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/quadrapassel/default.nix b/nixpkgs/pkgs/desktops/gnome/games/quadrapassel/default.nix new file mode 100644 index 000000000000..956f9f842d3d --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/quadrapassel/default.nix @@ -0,0 +1,73 @@ +{ + stdenv, + lib, + 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 = "40.2"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "C9giQUIHxzEj7WpJ9yPaWsjdTfXTXtwJn/6i4TmcwAo="; + }; + + 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.gpl2Plus; + maintainers = teams.gnome.members; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/swell-foop/default.nix b/nixpkgs/pkgs/desktops/gnome/games/swell-foop/default.nix new file mode 100644 index 000000000000..61d3e2c0bb67 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/swell-foop/default.nix @@ -0,0 +1,71 @@ +{ 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 = "41.1"; + + src = fetchurl { + url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "JD96VeXnU6UQhu7CVoMg12ktWxWmanI6tZFwXg2O9t0="; + }; + + nativeBuildInputs = [ + meson + ninja + vala + pkg-config + wrapGAppsHook + python3 + itstool + gettext + libxml2 + desktop-file-utils + ]; + + buildInputs = [ + glib + gtk3 + libgnome-games-support + 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.gpl2Plus; + platforms = platforms.linux; + }; +} diff --git a/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix b/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix new file mode 100644 index 000000000000..f5c1e83ee4d0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/gnome/games/tali/default.nix @@ -0,0 +1,69 @@ +{ + 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.9"; + + src = fetchurl { + url = "mirror://gnome/sources/tali/${lib.versions.major version}/${pname}-${version}.tar.xz"; + sha256 = "+p7eNm8KcuTKpSGJw6sLEMG1aoDHiFsBZgJVjETc59M="; + }; + + 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 + ''; + + passthru = { + updateScript = gnome.updateScript { + packageName = pname; + attrPath = "gnome.${pname}"; + }; + }; + + 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.gpl2Plus; + platforms = platforms.unix; + }; +} |