···11+{
22+ lib,
33+ stdenv,
44+ fetchurl,
55+ pkg-config,
66+ guile_2_0,
77+ gettext,
88+ gtk2-x11,
99+ libGL,
1010+ libGLU,
1111+ gtk2,
1212+ gnome2,
1313+ nix-update-script,
1414+}:
1515+1616+stdenv.mkDerivation (finalAttrs: {
1717+ pname = "gnubik";
1818+ version = "2.4.3";
1919+2020+ src = fetchurl {
2121+ url = "https://ftp.gnu.org/gnu/gnubik/gnubik-${finalAttrs.version}.tar.gz";
2222+ hash = "sha256-Kz7Tb7W6nuyA/Yb5Tqu+hmUG9P4ZSKnXSA8iXIlIju4=";
2323+ };
2424+2525+ strictDeps = true;
2626+2727+ nativeBuildInputs = [
2828+ pkg-config
2929+ guile_2_0
3030+ gettext
3131+ gtk2-x11
3232+ ];
3333+3434+ buildInputs = [
3535+ libGL
3636+ libGLU
3737+ guile_2_0
3838+ gtk2
3939+ gnome2.gtkglext
4040+ ];
4141+4242+ passthru.updateScript = nix-update-script { };
4343+4444+ meta = {
4545+ description = "3D Rubik's cube game";
4646+ longDescription = ''
4747+ The Gnubik program is an interactive, graphical, single player
4848+ puzzle. Yes, this is another implementation of the classic game
4949+ like that invented by Erno Rubik. You have to manipulate the
5050+ cube using the mouse. When each face shows only one colour, the
5151+ game is solved.
5252+5353+ Gnubik is written in C and Guile. The latter allows you to
5454+ extend the program using the Scheme language — a simple
5555+ programming tool which even novice computer users can use. For
5656+ example, you can use Scheme to write your own automated solving
5757+ routines or to create patterns.
5858+ '';
5959+ homepage = "https://www.gnu.org/software/gnubik";
6060+ license = lib.licenses.gpl3Plus;
6161+ maintainers = with lib.maintainers; [ yiyu ];
6262+ mainProgram = "gnubik";
6363+ platforms = lib.platforms.all;
6464+ };
6565+})