tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
racket_7_9: init at 7.9
Alexander Tomokhov
4 years ago
f7822885
b9529207
+115
2 changed files
expand all
collapse all
unified
split
pkgs
development
interpreters
racket
racket_7_9.nix
top-level
all-packages.nix
+111
pkgs/development/interpreters/racket/racket_7_9.nix
···
1
1
+
{ lib, stdenv, fetchurl, makeFontsConf
2
2
+
, cacert
3
3
+
, cairo, coreutils, fontconfig, freefont_ttf
4
4
+
, glib, gmp
5
5
+
, gtk3
6
6
+
, libedit, libffi
7
7
+
, libiconv
8
8
+
, libGL
9
9
+
, libGLU
10
10
+
, libjpeg
11
11
+
, libpng, libtool, mpfr, openssl, pango, poppler
12
12
+
, readline, sqlite
13
13
+
, disableDocs ? false
14
14
+
, CoreFoundation
15
15
+
, gsettings-desktop-schemas
16
16
+
, wrapGAppsHook
17
17
+
}:
18
18
+
19
19
+
let
20
20
+
21
21
+
fontsConf = makeFontsConf {
22
22
+
fontDirectories = [ freefont_ttf ];
23
23
+
};
24
24
+
25
25
+
libPath = lib.makeLibraryPath [
26
26
+
cairo
27
27
+
fontconfig
28
28
+
glib
29
29
+
gmp
30
30
+
gtk3
31
31
+
gsettings-desktop-schemas
32
32
+
libedit
33
33
+
libGL
34
34
+
libGLU
35
35
+
libjpeg
36
36
+
libpng
37
37
+
mpfr
38
38
+
openssl
39
39
+
pango
40
40
+
poppler
41
41
+
readline
42
42
+
sqlite
43
43
+
];
44
44
+
45
45
+
in
46
46
+
47
47
+
stdenv.mkDerivation rec {
48
48
+
pname = "racket";
49
49
+
version = "7.9"; # always change at once with ./minimal.nix
50
50
+
51
51
+
src = (lib.makeOverridable ({ name, sha256 }:
52
52
+
fetchurl {
53
53
+
url = "https://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
54
54
+
inherit sha256;
55
55
+
}
56
56
+
)) {
57
57
+
name = "${pname}-${version}";
58
58
+
sha256 = "0gmp2ahmfd97nn9bwpfx9lznjmjkd042slnrrbdmyh59cqh98y2m";
59
59
+
};
60
60
+
61
61
+
FONTCONFIG_FILE = fontsConf;
62
62
+
LD_LIBRARY_PATH = libPath;
63
63
+
NIX_LDFLAGS = lib.concatStringsSep " " [
64
64
+
(lib.optionalString (stdenv.cc.isGNU && ! stdenv.isDarwin) "-lgcc_s")
65
65
+
(lib.optionalString stdenv.isDarwin "-framework CoreFoundation")
66
66
+
];
67
67
+
68
68
+
nativeBuildInputs = [ cacert wrapGAppsHook ];
69
69
+
70
70
+
buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ]
71
71
+
++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ];
72
72
+
73
73
+
preConfigure = ''
74
74
+
unset AR
75
75
+
for f in src/lt/configure src/cs/c/configure src/bc/src/string.c; do
76
76
+
substituteInPlace "$f" --replace /usr/bin/uname ${coreutils}/bin/uname
77
77
+
done
78
78
+
mkdir src/build
79
79
+
cd src/build
80
80
+
81
81
+
gappsWrapperArgs+=("--prefix" "LD_LIBRARY_PATH" ":" ${LD_LIBRARY_PATH})
82
82
+
'';
83
83
+
84
84
+
shared = if stdenv.isDarwin then "dylib" else "shared";
85
85
+
configureFlags = [ "--enable-${shared}" "--enable-lt=${libtool}/bin/libtool" ]
86
86
+
++ lib.optional disableDocs [ "--disable-docs" ]
87
87
+
++ lib.optional stdenv.isDarwin [ "--enable-xonx" ];
88
88
+
89
89
+
configureScript = "../configure";
90
90
+
91
91
+
enableParallelBuilding = false;
92
92
+
93
93
+
94
94
+
meta = with lib; {
95
95
+
description = "A programmable programming language";
96
96
+
longDescription = ''
97
97
+
Racket is a full-spectrum programming language. It goes beyond
98
98
+
Lisp and Scheme with dialects that support objects, types,
99
99
+
laziness, and more. Racket enables programmers to link
100
100
+
components written in different dialects, and it empowers
101
101
+
programmers to create new, project-specific dialects. Racket's
102
102
+
libraries support applications from web servers and databases to
103
103
+
GUIs and charts.
104
104
+
'';
105
105
+
homepage = "https://racket-lang.org/";
106
106
+
license = with licenses; [ asl20 /* or */ mit ];
107
107
+
maintainers = with maintainers; [ kkallio henrytill vrthra ];
108
108
+
platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux" ];
109
109
+
broken = stdenv.isDarwin; # No support yet for setting FFI lookup path
110
110
+
};
111
111
+
}
+4
pkgs/top-level/all-packages.nix
···
13611
13611
stdenv = if stdenv.isDarwin then stdenv else gcc7Stdenv;
13612
13612
inherit (darwin.apple_sdk.frameworks) CoreFoundation;
13613
13613
};
13614
13614
+
racket_7_9 = callPackage ../development/interpreters/racket/racket_7_9.nix {
13615
13615
+
stdenv = if stdenv.isDarwin then stdenv else gcc7Stdenv;
13616
13616
+
inherit (darwin.apple_sdk.frameworks) CoreFoundation;
13617
13617
+
};
13614
13618
racket-minimal = callPackage ../development/interpreters/racket/minimal.nix { };
13615
13619
13616
13620
rakudo = callPackage ../development/interpreters/rakudo {};