Loading pkgs/development/interpreters/racket/configure-installation.rkt 0 → 100644 +27 −0 Original line number Diff line number Diff line #lang racket/base (require racket/function racket/list racket/pretty racket/string setup/dirs ) (define config-file (build-path (find-config-dir) "config.rktd")) (define lib-paths ((compose remove-duplicates (curry map (curryr string-trim "-L" #:right? #f)) (curry filter (curryr string-prefix? "-L")) string-split) (getenv "NIX_LDFLAGS"))) (define config (let* ([prev-config (read-installation-configuration-table)] [prev-lib-search-dirs (hash-ref prev-config 'lib-search-dirs '(#f))] [lib-search-dirs (remove-duplicates (append lib-paths prev-lib-search-dirs))]) (hash-set prev-config 'lib-search-dirs lib-search-dirs))) (call-with-output-file config-file #:exists 'replace (curry pretty-write config)) pkgs/development/interpreters/racket/default.nix +13 −42 Original line number Diff line number Diff line Loading @@ -4,8 +4,6 @@ fetchurl, racket-minimal, openssl, cairo, fontconfig, glib, Loading @@ -17,7 +15,6 @@ libpng, makeFontsConf, pango, sqlite, unixODBC, wrapGAppsHook3, Loading @@ -38,31 +35,26 @@ let manifest = lib.importJSON ./manifest.json; inherit (stdenv.hostPlatform) isDarwin; in runtimeDeps = [ openssl ]; minimal.overrideAttrs ( finalAttrs: prevAttrs: { src = fetchurl { url = "https://mirror.racket-lang.org/installers/${manifest.version}/${manifest.full.filename}"; inherit (manifest.full) sha256; }; mainDistDeps = [ buildInputs = prevAttrs.buildInputs ++ [ (if isDarwin then libiodbc else unixODBC) cairo fontconfig fontconfig.lib glib gtk3 libGL libjpeg libpng pango sqlite ]; in minimal.overrideAttrs ( finalAttrs: prevAttrs: { src = fetchurl { url = "https://mirror.racket-lang.org/installers/${manifest.version}/${manifest.full.filename}"; inherit (manifest.full) sha256; }; nativeBuildInputs = [ wrapGAppsHook3 Loading @@ -70,7 +62,7 @@ minimal.overrideAttrs ( preBuild = let libPaths = makeLibPaths mainDistDeps; libPaths = makeLibPaths finalAttrs.buildInputs; libPathsVar = if isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" else "LD_LIBRARY_PATH"; in /* Loading @@ -92,27 +84,6 @@ minimal.overrideAttrs ( gappsWrapperArgs+=("--set" "LOCALE_ARCHIVE" "${glibcLocales}/lib/locale/locale-archive") ''; postFixup = let libPaths = makeLibPaths (runtimeDeps ++ mainDistDeps); in '' $out/bin/racket -f - <<EOF (require setup/dirs) (define config-path (build-path (find-config-dir) "config.rktd")) (define prev-config (with-input-from-file config-path read)) (define prev-lib-search-dirs (hash-ref prev-config 'lib-search-dirs '(#f))) (define lib-search-dirs (append '(${libPaths}) prev-lib-search-dirs)) (define config (hash-set prev-config 'lib-search-dirs lib-search-dirs)) (with-output-to-file config-path (thunk (pretty-write config)) #:exists 'replace) EOF ''; passthru = let notUpdated = x: !builtins.isAttrs x || lib.isDerivation x; Loading pkgs/development/interpreters/racket/minimal.nix +13 −16 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ lz4, ncurses, openssl, sqlite, disableDocs ? false, Loading Loading @@ -35,6 +36,8 @@ stdenv.mkDerivation (finalAttrs: { libz lz4 ncurses openssl sqlite.out ]; patches = lib.optionals isDarwin [ Loading Loading @@ -86,21 +89,15 @@ stdenv.mkDerivation (finalAttrs: { dontStrip = isDarwin; postFixup = '' $out/bin/racket -f - <<EOF (require setup/dirs) (define config-path (build-path (find-config-dir) "config.rktd")) (define prev-config (with-input-from-file config-path read)) (define prev-lib-search-dirs (hash-ref prev-config 'lib-search-dirs '(#f))) (define lib-search-dirs (append '("${lib.getLib openssl}/lib") prev-lib-search-dirs)) (define config (hash-set prev-config 'lib-search-dirs lib-search-dirs)) (with-output-to-file config-path (thunk (pretty-write config)) #:exists 'replace) EOF postFixup = let configureInstallation = builtins.path { name = "configure-installation.rkt"; path = ./configure-installation.rkt; }; in '' $out/bin/racket -U -u ${configureInstallation} ''; passthru = { Loading Loading
pkgs/development/interpreters/racket/configure-installation.rkt 0 → 100644 +27 −0 Original line number Diff line number Diff line #lang racket/base (require racket/function racket/list racket/pretty racket/string setup/dirs ) (define config-file (build-path (find-config-dir) "config.rktd")) (define lib-paths ((compose remove-duplicates (curry map (curryr string-trim "-L" #:right? #f)) (curry filter (curryr string-prefix? "-L")) string-split) (getenv "NIX_LDFLAGS"))) (define config (let* ([prev-config (read-installation-configuration-table)] [prev-lib-search-dirs (hash-ref prev-config 'lib-search-dirs '(#f))] [lib-search-dirs (remove-duplicates (append lib-paths prev-lib-search-dirs))]) (hash-set prev-config 'lib-search-dirs lib-search-dirs))) (call-with-output-file config-file #:exists 'replace (curry pretty-write config))
pkgs/development/interpreters/racket/default.nix +13 −42 Original line number Diff line number Diff line Loading @@ -4,8 +4,6 @@ fetchurl, racket-minimal, openssl, cairo, fontconfig, glib, Loading @@ -17,7 +15,6 @@ libpng, makeFontsConf, pango, sqlite, unixODBC, wrapGAppsHook3, Loading @@ -38,31 +35,26 @@ let manifest = lib.importJSON ./manifest.json; inherit (stdenv.hostPlatform) isDarwin; in runtimeDeps = [ openssl ]; minimal.overrideAttrs ( finalAttrs: prevAttrs: { src = fetchurl { url = "https://mirror.racket-lang.org/installers/${manifest.version}/${manifest.full.filename}"; inherit (manifest.full) sha256; }; mainDistDeps = [ buildInputs = prevAttrs.buildInputs ++ [ (if isDarwin then libiodbc else unixODBC) cairo fontconfig fontconfig.lib glib gtk3 libGL libjpeg libpng pango sqlite ]; in minimal.overrideAttrs ( finalAttrs: prevAttrs: { src = fetchurl { url = "https://mirror.racket-lang.org/installers/${manifest.version}/${manifest.full.filename}"; inherit (manifest.full) sha256; }; nativeBuildInputs = [ wrapGAppsHook3 Loading @@ -70,7 +62,7 @@ minimal.overrideAttrs ( preBuild = let libPaths = makeLibPaths mainDistDeps; libPaths = makeLibPaths finalAttrs.buildInputs; libPathsVar = if isDarwin then "DYLD_FALLBACK_LIBRARY_PATH" else "LD_LIBRARY_PATH"; in /* Loading @@ -92,27 +84,6 @@ minimal.overrideAttrs ( gappsWrapperArgs+=("--set" "LOCALE_ARCHIVE" "${glibcLocales}/lib/locale/locale-archive") ''; postFixup = let libPaths = makeLibPaths (runtimeDeps ++ mainDistDeps); in '' $out/bin/racket -f - <<EOF (require setup/dirs) (define config-path (build-path (find-config-dir) "config.rktd")) (define prev-config (with-input-from-file config-path read)) (define prev-lib-search-dirs (hash-ref prev-config 'lib-search-dirs '(#f))) (define lib-search-dirs (append '(${libPaths}) prev-lib-search-dirs)) (define config (hash-set prev-config 'lib-search-dirs lib-search-dirs)) (with-output-to-file config-path (thunk (pretty-write config)) #:exists 'replace) EOF ''; passthru = let notUpdated = x: !builtins.isAttrs x || lib.isDerivation x; Loading
pkgs/development/interpreters/racket/minimal.nix +13 −16 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ lz4, ncurses, openssl, sqlite, disableDocs ? false, Loading Loading @@ -35,6 +36,8 @@ stdenv.mkDerivation (finalAttrs: { libz lz4 ncurses openssl sqlite.out ]; patches = lib.optionals isDarwin [ Loading Loading @@ -86,21 +89,15 @@ stdenv.mkDerivation (finalAttrs: { dontStrip = isDarwin; postFixup = '' $out/bin/racket -f - <<EOF (require setup/dirs) (define config-path (build-path (find-config-dir) "config.rktd")) (define prev-config (with-input-from-file config-path read)) (define prev-lib-search-dirs (hash-ref prev-config 'lib-search-dirs '(#f))) (define lib-search-dirs (append '("${lib.getLib openssl}/lib") prev-lib-search-dirs)) (define config (hash-set prev-config 'lib-search-dirs lib-search-dirs)) (with-output-to-file config-path (thunk (pretty-write config)) #:exists 'replace) EOF postFixup = let configureInstallation = builtins.path { name = "configure-installation.rkt"; path = ./configure-installation.rkt; }; in '' $out/bin/racket -U -u ${configureInstallation} ''; passthru = { Loading