lol
at 24.11-pre 112 lines 4.5 kB view raw
1{ lib, stdenv 2, fetchurl 3, fetchpatch 4, coreutils 5, dos2unix 6}: 7 8stdenv.mkDerivation rec { 9 pname = "rubiks"; 10 version = "20070912"; 11 12 src = fetchurl { 13 url = "mirror://sageupstream/rubiks/rubiks-${version}.tar.bz2"; 14 sha256 = "0zdmkb0j1kyspdpsszzb2k3279xij79jkx0dxd9f3ix1yyyg3yfq"; 15 }; 16 17 preConfigure = '' 18 export INSTALL="${coreutils}/bin/install" 19 ''; 20 21 # everything is done in `make install` 22 buildPhase = "true"; 23 24 installFlags = [ 25 "PREFIX=$(out)" 26 ]; 27 28 nativeBuildInputs = [ dos2unix ]; 29 30 prePatch = '' 31 find ./dietz/ -type f -exec dos2unix {} \; 32 ''; 33 34 patches = [ 35 # Fix makefiles which use all the variables in all the wrong ways and 36 # hardcode values for some variables. 37 (fetchpatch { 38 url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/dietz-cu2-Makefile.patch"; 39 sha256 = "bRU7MJ/6BgCp2PUqZOragJhm38Q3E8ShStXQIYwIjvw="; 40 }) 41 (fetchpatch { 42 url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/dietz-mcube-Makefile.patch"; 43 sha256 = "f53z4DogXKax1vUNkraOTt3TQ4bvT7CdQK/hOaaBS38="; 44 }) 45 (fetchpatch { 46 url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/dietz-solver-Makefile.patch"; 47 sha256 = "7gMC8y9elyIy2KvXYcp7YjPBNqn9PVhUle+/GrYAAdE="; 48 }) 49 (fetchpatch { 50 url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/reid-Makefile.patch"; 51 sha256 = "rp3SYtx02vVBtSlg1vJpdIoXNcdBNKDLCLqLAKwOYeQ="; 52 }) 53 (fetchpatch { 54 url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-1-rubiks-includes.patch"; 55 sha256 = "QYJ1KQ73HTEGY/beMVbcU215g/B8rHDjYD1YM2WZ7sk="; 56 }) 57 (fetchpatch { 58 url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-2-rubiks-ansi-c.patch"; 59 sha256 = "Rnu7uphE9URxnbg2K8mkymnB61magweH+WxVWR9JC4s="; 60 }) 61 (fetchpatch { 62 url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-3-rubiks-prototypes.patch"; 63 sha256 = "Wi038g+y7No1TNMiITtAdipjRi0+g6h0Sspslm5rZGU="; 64 }) 65 (fetchpatch { 66 url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-4-rubiks-longtype.patch"; 67 sha256 = "6pNuxFM69CZ/TQGZfHXLlCN5g5lf3RiYYZKzMvLJwkw="; 68 }) 69 (fetchpatch { 70 url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-5-rubiks-signed.patch"; 71 sha256 = "CCGXBMYvSjTm4YKQZAQMi6pWGjyHDYYQzdMZDSW2vFE="; 72 }) 73 (fetchpatch { 74 url = "https://raw.githubusercontent.com/sagemath/sage/2a9a4267f93588cf33119cbacc032ed9acc433e5/build/pkgs/rubiks/patches/fedora-6-rubiks-attributes.patch"; 75 sha256 = "RhlzMb33iaLfeBoF7Y0LIgEzOB/EC+AoWMSkRPCICaU="; 76 }) 77 ]; 78 79 meta = with lib; { 80 homepage = "https://wiki.sagemath.org/spkg/rubiks"; 81 description = "Several programs for working with Rubik's cubes"; 82 # The individual websites are no longer available 83 longDescription = '' 84 There are several programs for working with Rubik's cubes, by three 85 different people. Look inside the directories under /src to see 86 specific info and licensing. In summary the three contributers are: 87 88 89 Michael Reid (GPL) http://www.math.ucf.edu/~reid/Rubik/optimal_solver.html 90 optimal - uses many pre-computed tables to find an optimal 91 solution to the 3x3x3 Rubik's cube 92 93 94 Dik T. Winter (MIT License) 95 cube - uses Kociemba's algorithm to iteratively find a short 96 solution to the 3x3x3 Rubik's cube 97 size222 - solves a 2x2x2 Rubik's cube 98 99 100 Eric Dietz (GPL) http://www.wrongway.org/?rubiksource 101 cu2 - A fast, non-optimal 2x2x2 solver 102 cubex - A fast, non-optimal 3x3x3 solver 103 mcube - A fast, non-optimal 4x4x4 solver 104 ''; 105 license = with licenses; [ 106 gpl2 # Michael Reid's and Eric Dietz software 107 mit # Dik T. Winter's software 108 ]; 109 maintainers = teams.sage.members; 110 platforms = platforms.unix; 111 }; 112}