Merge pull request #312773 from r-ryantm/auto-update/racket

racket: 8.12 -> 8.13
This commit is contained in:
Pol Dellaiera 2024-05-19 12:05:39 +02:00 committed by GitHub
commit 9b453d8e5b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 225 additions and 131 deletions

View File

@ -1,77 +1,110 @@
{ lib, stdenv, fetchurl, makeFontsConf
, cacert
, cairo, coreutils, fontconfig, freefont_ttf
, glib, gmp
, gtk3
, glibcLocales
, libedit, libffi
, libiconv
, libGL
, libGLU
, libjpeg
, ncurses
, libpng, libtool, mpfr, openssl, pango, poppler
, readline, sqlite
, disableDocs ? false
, CoreFoundation
, gsettings-desktop-schemas
, wrapGAppsHook3
{
lib,
stdenv,
fetchurl,
makeFontsConf,
cacert,
cairo,
coreutils,
fontconfig,
freefont_ttf,
glib,
gmp,
gtk3,
glibcLocales,
libedit,
libffi,
libiconv,
libGL,
libGLU,
libjpeg,
ncurses,
libpng,
libtool,
mpfr,
openssl,
pango,
poppler,
readline,
sqlite,
disableDocs ? false,
CoreFoundation,
gsettings-desktop-schemas,
wrapGAppsHook3,
}:
let
fontsConf = makeFontsConf {
fontDirectories = [ freefont_ttf ];
};
libPath = lib.makeLibraryPath ([
cairo
fontconfig
glib
gmp
gtk3
gsettings-desktop-schemas
libedit
libjpeg
libpng
mpfr
ncurses
openssl
pango
poppler
readline
sqlite
] ++ lib.optionals (!stdenv.isDarwin) [
libGL
libGLU
]);
fontsConf = makeFontsConf { fontDirectories = [ freefont_ttf ]; };
libPath = lib.makeLibraryPath (
[
cairo
fontconfig
glib
gmp
gtk3
gsettings-desktop-schemas
libedit
libjpeg
libpng
mpfr
ncurses
openssl
pango
poppler
readline
sqlite
]
++ lib.optionals (!stdenv.isDarwin) [
libGL
libGLU
]
);
in
stdenv.mkDerivation rec {
pname = "racket";
version = "8.12"; # always change at once with ./minimal.nix
version = "8.13"; # always change at once with ./minimal.nix
src = (lib.makeOverridable ({ name, hash }:
fetchurl {
url = "https://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
inherit hash;
}
)) {
name = "${pname}-${version}";
hash = "sha256-or26nirm5dGhg2S8to99BFOOSS2Oksn7Yb0y2L5b69c=";
};
src =
(lib.makeOverridable (
{ name, hash }:
fetchurl {
url = "https://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
inherit hash;
}
))
{
name = "${pname}-${version}";
hash = "sha256-AB4EkgRAtlic9i1Wd9GMwv9q6Puvd+Y7iozyCJBoX7w=";
};
FONTCONFIG_FILE = fontsConf;
LD_LIBRARY_PATH = libPath;
NIX_LDFLAGS = lib.concatStringsSep " " [
(lib.optionalString (stdenv.cc.isGNU && ! stdenv.isDarwin) "-lgcc_s")
(lib.optionalString (stdenv.cc.isGNU && !stdenv.isDarwin) "-lgcc_s")
];
nativeBuildInputs = [ cacert wrapGAppsHook3 ];
nativeBuildInputs = [
cacert
wrapGAppsHook3
];
buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ncurses ]
++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ];
buildInputs =
[
fontconfig
libffi
libtool
sqlite
gsettings-desktop-schemas
gtk3
ncurses
]
++ lib.optionals stdenv.isDarwin [
libiconv
CoreFoundation
];
patches = [
# Hardcode variant detection because we wrap the Racket binary making it
@ -87,32 +120,34 @@ stdenv.mkDerivation rec {
./force-remove-codesign-then-add.patch
];
preConfigure = ''
unset AR
for f in src/lt/configure src/cs/c/configure src/bc/src/string.c; do
substituteInPlace "$f" \
--replace /usr/bin/uname ${coreutils}/bin/uname \
--replace /bin/cp ${coreutils}/bin/cp \
--replace /bin/ln ${coreutils}/bin/ln \
--replace /bin/rm ${coreutils}/bin/rm \
--replace /bin/true ${coreutils}/bin/true
done
preConfigure =
''
unset AR
for f in src/lt/configure src/cs/c/configure src/bc/src/string.c; do
substituteInPlace "$f" \
--replace /usr/bin/uname ${coreutils}/bin/uname \
--replace /bin/cp ${coreutils}/bin/cp \
--replace /bin/ln ${coreutils}/bin/ln \
--replace /bin/rm ${coreutils}/bin/rm \
--replace /bin/true ${coreutils}/bin/true
done
# The configure script forces using `libtool -o` as AR on Darwin. But, the
# `-o` option is only available from Apple libtool. GNU ar works here.
substituteInPlace src/ChezScheme/zlib/configure \
--replace 'ARFLAGS="-o"' 'AR=ar; ARFLAGS="rc"'
# The configure script forces using `libtool -o` as AR on Darwin. But, the
# `-o` option is only available from Apple libtool. GNU ar works here.
substituteInPlace src/ChezScheme/zlib/configure \
--replace 'ARFLAGS="-o"' 'AR=ar; ARFLAGS="rc"'
mkdir src/build
cd src/build
mkdir src/build
cd src/build
'' + lib.optionalString stdenv.isLinux ''
gappsWrapperArgs+=("--prefix" "LD_LIBRARY_PATH" ":" ${libPath})
gappsWrapperArgs+=("--set" "LOCALE_ARCHIVE" "${glibcLocales}/lib/locale/locale-archive")
'' + lib.optionalString stdenv.isDarwin ''
gappsWrapperArgs+=("--prefix" "DYLD_LIBRARY_PATH" ":" ${libPath})
''
;
''
+ lib.optionalString stdenv.isLinux ''
gappsWrapperArgs+=("--prefix" "LD_LIBRARY_PATH" ":" ${libPath})
gappsWrapperArgs+=("--set" "LOCALE_ARCHIVE" "${glibcLocales}/lib/locale/locale-archive")
''
+ lib.optionalString stdenv.isDarwin ''
gappsWrapperArgs+=("--prefix" "DYLD_LIBRARY_PATH" ":" ${libPath})
'';
preBuild = lib.optionalString stdenv.isDarwin ''
# Cannot set DYLD_LIBRARY_PATH as an attr of this drv, becasue dynamic
@ -129,9 +164,16 @@ stdenv.mkDerivation rec {
'';
shared = if stdenv.isDarwin then "dylib" else "shared";
configureFlags = [ "--enable-${shared}" "--enable-lt=${libtool}/bin/libtool" ]
++ lib.optionals disableDocs [ "--disable-docs" ]
++ lib.optionals stdenv.isDarwin [ "--disable-strip" "--enable-xonx" ];
configureFlags =
[
"--enable-${shared}"
"--enable-lt=${libtool}/bin/libtool"
]
++ lib.optionals disableDocs [ "--disable-docs" ]
++ lib.optionals stdenv.isDarwin [
"--disable-strip"
"--enable-xonx"
];
configureScript = "../configure";
@ -152,8 +194,16 @@ stdenv.mkDerivation rec {
'';
homepage = "https://racket-lang.org/";
changelog = "https://github.com/racket/racket/releases/tag/v${version}";
license = with licenses; [ asl20 /* or */ mit ];
license = with licenses; [
asl20 # or
mit
];
maintainers = with maintainers; [ vrthra ];
platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux" "aarch64-darwin" ];
platforms = [
"x86_64-darwin"
"x86_64-linux"
"aarch64-linux"
"aarch64-darwin"
];
};
}

View File

@ -1,20 +1,25 @@
{ racket
}:
{ racket }:
racket.overrideAttrs (oldAttrs: rec {
pname = "racket-minimal";
version = oldAttrs.version;
src = oldAttrs.src.override {
name = "${pname}-${version}";
hash = "sha256-ZbE5I2dnPY0GamerTFPFWz53+V1Xxhtx3AVp2KpF7vw=";
hash = "sha256-9fotAmBj72eRl+n4Paigs+PQs8BezUqWLEzjI6RBYzc=";
};
meta = oldAttrs.meta // {
description = "Racket without bundled packages, such as Dr. Racket";
longDescription = ''The essential package racket-libs is included,
as well as libraries that live in collections. In particular, raco
and the pkg library are still bundled.
longDescription = ''
The essential package racket-libs is included,
as well as libraries that live in collections. In particular, raco
and the pkg library are still bundled.
'';
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
platforms = [
"x86_64-linux"
"aarch64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
};
})

View File

@ -1,26 +1,39 @@
{ lib, stdenv, fetchurl, makeFontsConf
, cacert
, cairo, coreutils, fontconfig, freefont_ttf
, glib, gmp
, gtk3
, libedit, libffi
, libiconv
, libGL
, libGLU
, libjpeg
, libpng, libtool, mpfr, openssl, pango, poppler
, readline, sqlite
, disableDocs ? false
, CoreFoundation
, gsettings-desktop-schemas
, wrapGAppsHook3
{
lib,
stdenv,
fetchurl,
makeFontsConf,
cacert,
cairo,
coreutils,
fontconfig,
freefont_ttf,
glib,
gmp,
gtk3,
libedit,
libffi,
libiconv,
libGL,
libGLU,
libjpeg,
libpng,
libtool,
mpfr,
openssl,
pango,
poppler,
readline,
sqlite,
disableDocs ? false,
CoreFoundation,
gsettings-desktop-schemas,
wrapGAppsHook3,
}:
let
fontsConf = makeFontsConf {
fontDirectories = [ freefont_ttf ];
};
fontsConf = makeFontsConf { fontDirectories = [ freefont_ttf ]; };
libPath = lib.makeLibraryPath [
cairo
@ -41,34 +54,50 @@ let
readline
sqlite
];
in
stdenv.mkDerivation rec {
pname = "racket";
version = "7.9"; # always change at once with ./minimal.nix
src = (lib.makeOverridable ({ name, sha256 }:
fetchurl {
url = "https://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
inherit sha256;
}
)) {
name = "${pname}-${version}";
sha256 = "0gmp2ahmfd97nn9bwpfx9lznjmjkd042slnrrbdmyh59cqh98y2m";
};
src =
(lib.makeOverridable (
{ name, sha256 }:
fetchurl {
url = "https://mirror.racket-lang.org/installers/${version}/${name}-src.tgz";
inherit sha256;
}
))
{
name = "${pname}-${version}";
sha256 = "0gmp2ahmfd97nn9bwpfx9lznjmjkd042slnrrbdmyh59cqh98y2m";
};
FONTCONFIG_FILE = fontsConf;
LD_LIBRARY_PATH = libPath;
NIX_LDFLAGS = lib.concatStringsSep " " [
(lib.optionalString (stdenv.cc.isGNU && ! stdenv.isDarwin) "-lgcc_s")
(lib.optionalString (stdenv.cc.isGNU && !stdenv.isDarwin) "-lgcc_s")
(lib.optionalString stdenv.isDarwin "-framework CoreFoundation")
];
nativeBuildInputs = [ cacert wrapGAppsHook3 ];
nativeBuildInputs = [
cacert
wrapGAppsHook3
];
buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ]
++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ];
buildInputs =
[
fontconfig
libffi
libtool
sqlite
gsettings-desktop-schemas
gtk3
]
++ lib.optionals stdenv.isDarwin [
libiconv
CoreFoundation
];
preConfigure = ''
unset AR
@ -82,15 +111,18 @@ stdenv.mkDerivation rec {
'';
shared = if stdenv.isDarwin then "dylib" else "shared";
configureFlags = [ "--enable-${shared}" "--enable-lt=${libtool}/bin/libtool" ]
++ lib.optionals disableDocs [ "--disable-docs" ]
++ lib.optionals stdenv.isDarwin [ "--enable-xonx" ];
configureFlags =
[
"--enable-${shared}"
"--enable-lt=${libtool}/bin/libtool"
]
++ lib.optionals disableDocs [ "--disable-docs" ]
++ lib.optionals stdenv.isDarwin [ "--enable-xonx" ];
configureScript = "../configure";
enableParallelBuilding = false;
meta = with lib; {
description = "A programmable programming language";
longDescription = ''
@ -103,9 +135,16 @@ stdenv.mkDerivation rec {
GUIs and charts.
'';
homepage = "https://racket-lang.org/";
license = with licenses; [ asl20 /* or */ mit ];
license = with licenses; [
asl20 # or
mit
];
maintainers = with maintainers; [ vrthra ];
platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux" ];
platforms = [
"x86_64-darwin"
"x86_64-linux"
"aarch64-linux"
];
broken = stdenv.isDarwin; # No support yet for setting FFI lookup path
};
}