Merge pull request #268619 from tweag/lib-descriptions
[NixPkgs.git] / pkgs / games / ace-of-penguins / default.nix
blobfb15aedc1df853df28e3cf68470db3f5a97cfb3b
1 { lib
2 , stdenv
3 , fetchurl
4 , copyDesktopItems
5 , libX11
6 , libXpm
7 , libpng
8 , makeDesktopItem
9 , zlib
12 stdenv.mkDerivation rec {
13   pname = "ace-of-penguins";
14   version = "1.4";
16   src = fetchurl {
17     url = "http://www.delorie.com/store/ace/ace-${version}.tar.gz";
18     hash = "sha256-H+47BTOSGkKHPAYj8z2HOgZ7HuxY8scMAUSRRueaTM4=";
19   };
21   patches = [
22     # Fixes a bunch of miscompilations in modern environments
23     ./fixup-miscompilations.patch
24   ];
26   nativeBuildInputs = [
27     copyDesktopItems
28   ];
30   buildInputs = [
31     libX11
32     libXpm
33     libpng
34     zlib
35   ];
37   desktopItems = let
38     generateItem = gameName: {
39       name = "${pname}-${gameName}";
40       exec = "${placeholder "out"}/bin/${gameName}";
41       comment = "Ace of Penguins ${gameName} Card Game";
42       desktopName = gameName;
43       genericName = gameName;
44     };
45   in
46     map (x: makeDesktopItem (generateItem x)) [
47       "canfield"
48       "freecell"
49       "golf"
50       "mastermind"
51       "merlin"
52       "minesweeper"
53       "pegged"
54       "penguins"
55       "solitaire"
56       "spider"
57       "taipedit"
58       "taipei"
59       "thornq"
60     ];
62   meta = with lib; {
63     homepage = "http://www.delorie.com/store/ace/";
64     description = "Solitaire games in X11";
65     longDescription = ''
66       The Ace of Penguins is a set of Unix/X solitaire games based on the ones
67       available for Windows(tm) but with a number of enhancements that my wife
68       says make my versions better :-)
70       The latest version includes clones of freecell, golf, mastermind, merlin,
71       minesweeper, pegged, solitaire, taipei (with editor!), and thornq (by
72       Martin Thornquist).
73     '';
74     license = licenses.gpl2Plus;
75     maintainers = with maintainers; [ AndersonTorres ];
76     platforms = platforms.linux;
77   };