···1+{
2+ lib,
3+ stdenv,
4+ fetchurl,
5+ pkg-config,
6+ guile_2_0,
7+ gettext,
8+ gtk2-x11,
9+ libGL,
10+ libGLU,
11+ gtk2,
12+ gnome2,
13+ nix-update-script,
14+}:
15+16+stdenv.mkDerivation (finalAttrs: {
17+ pname = "gnubik";
18+ version = "2.4.3";
19+20+ src = fetchurl {
21+ url = "https://ftp.gnu.org/gnu/gnubik/gnubik-${finalAttrs.version}.tar.gz";
22+ hash = "sha256-Kz7Tb7W6nuyA/Yb5Tqu+hmUG9P4ZSKnXSA8iXIlIju4=";
23+ };
24+25+ strictDeps = true;
26+27+ nativeBuildInputs = [
28+ pkg-config
29+ guile_2_0
30+ gettext
31+ gtk2-x11
32+ ];
33+34+ buildInputs = [
35+ libGL
36+ libGLU
37+ guile_2_0
38+ gtk2
39+ gnome2.gtkglext
40+ ];
41+42+ passthru.updateScript = nix-update-script { };
43+44+ meta = {
45+ description = "3D Rubik's cube game";
46+ longDescription = ''
47+ The Gnubik program is an interactive, graphical, single player
48+ puzzle. Yes, this is another implementation of the classic game
49+ like that invented by Erno Rubik. You have to manipulate the
50+ cube using the mouse. When each face shows only one colour, the
51+ game is solved.
52+53+ Gnubik is written in C and Guile. The latter allows you to
54+ extend the program using the Scheme language — a simple
55+ programming tool which even novice computer users can use. For
56+ example, you can use Scheme to write your own automated solving
57+ routines or to create patterns.
58+ '';
59+ homepage = "https://www.gnu.org/software/gnubik";
60+ license = lib.licenses.gpl3Plus;
61+ maintainers = with lib.maintainers; [ yiyu ];
62+ mainProgram = "gnubik";
63+ platforms = lib.platforms.all;
64+ };
65+})