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