Skip to content

Commit

Permalink
gerbil: 0.15.1 -> 0.16
Browse files Browse the repository at this point in the history
Now that v0.16 was released at last, make the configurePhase and instalPhase
the same again for default and unstable.
  • Loading branch information
fare committed May 17, 2020
1 parent f9360e7 commit 0d0f475
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 66 deletions.
26 changes: 22 additions & 4 deletions pkgs/development/compilers/gerbil/build.nix
@@ -1,9 +1,8 @@
{ pkgs, gccStdenv, lib, coreutils, # makeStaticLibraries,
{ pkgs, gccStdenv, lib, coreutils, bash, # makeStaticLibraries,
openssl, zlib, sqlite, libxml2, libyaml, libmysqlclient, lmdb, leveldb, postgresql,
version, git-version,
gambit-support,
gambit ? pkgs.gambit, gambit-params ? pkgs.gambit-support.stable-params,
src, configurePhase, installPhase }:
gambit ? pkgs.gambit, gambit-params ? pkgs.gambit-support.stable-params, src }:

# We use Gambit, that works 10x better with GCC than Clang. See ../gambit/build.nix
let stdenv = gccStdenv; in
Expand Down Expand Up @@ -48,7 +47,18 @@ stdenv.mkDerivation rec {
# LEVELDB=${makeStaticLibraries leveldb}/lib/libleveldb.a
# EOF

inherit configurePhase installPhase;
configurePhase = ''
(cd src && ./configure \
--prefix=$out/gerbil \
--with-gambit=${gambit}/gambit \
--enable-libxml \
--enable-libyaml \
--enable-zlib \
--enable-sqlite \
--enable-mysql \
--enable-lmdb \
--enable-leveldb)
'';

buildPhase = ''
runHook preBuild
Expand All @@ -69,6 +79,14 @@ stdenv.mkDerivation rec {
runHook postBuild
'';

installPhase = ''
runHook preInstall
mkdir -p $out/gerbil $out/bin
(cd src; ./install)
(cd $out/bin ; ln -s ../gerbil/bin/* .)
runHook postInstall
'';

dontStrip = true;

meta = {
Expand Down
46 changes: 4 additions & 42 deletions pkgs/development/compilers/gerbil/default.nix
@@ -1,50 +1,12 @@
{ callPackage, fetchFromGitHub, gambit, bash }:
{ callPackage, fetchFromGitHub }:

callPackage ./build.nix rec {
version = "0.15.1";
git-version = "0.15.1";
version = "0.16";
git-version = version;
src = fetchFromGitHub {
owner = "vyzo";
repo = "gerbil";
rev = "v${version}";
sha256 = "0qpqms66hz41wwhxb1z0fnzj96ivkm7qi9h9d7lhlr3fsxm1kp1n";
sha256 = "0vng0kxpnwsg8jbjdpyn4sdww36jz7zfpfbzayg9sdpz6bjxjy0f";
};
configurePhase = ''
grep -Fl '"gsc"' `find . -type f -name '*.s*'` | while read f ; do
substituteInPlace "$f" --replace '"gsc"' '"${gambit}/bin/gsc"' ;
done ;
for f in etc/gerbil.el src/std/make.ss ; do
substituteInPlace "$f" --replace '"gxc"' "\"$out/bin/gxc\"" ;
done ;
# Enable all optional libraries
substituteInPlace "src/std/build-features.ss" --replace '#f' '#t' ;
# Enable autodetection of a default GERBIL_HOME
for i in src/gerbil/boot/gx-init-exe.scm src/gerbil/boot/gx-init.scm ; do
substituteInPlace "$i" --replace '(define default-gerbil-home #f)' "(define default-gerbil-home \"$out/gerbil\")" ;
substituteInPlace "$i" --replace '(getenv "GERBIL_HOME" #f)' "(getenv \"GERBIL_HOME\" \"$out/gerbil\")" ;
done ;
for i in src/gerbil/boot/gxi-init.scm src/gerbil/compiler/driver.ss src/gerbil/runtime/gx-gambc.scm src/std/build.ss src/tools/build.ss ; do
substituteInPlace "$i" --replace '(getenv "GERBIL_HOME")' "(getenv \"GERBIL_HOME\" \"$out/gerbil\")" ;
done
'';
installPhase = ''
runHook preInstall
mkdir -p $out/gerbil $out/bin
cp -fa bin lib etc doc $out/gerbil
cat > $out/gerbil/bin/gxi <<EOF
#!${bash}/bin/bash -e
GERBIL_GSI=${gambit}/bin/gsi
export GERBIL_HOME=$out/gerbil
case "\$1" in -:*) GSIOPTIONS="\$1" ; shift ;; esac
if [[ \$# = 0 ]] ; then
exec "\$GERBIL_GSI" \$GSIOPTIONS "\$GERBIL_HOME/lib/gxi-init" "\$GERBIL_HOME/lib/gxi-interactive" -
else
exec "\$GERBIL_GSI" \$GSIOPTIONS "\$GERBIL_HOME/lib/gxi-init" "\$@"
fi
EOF
(cd $out/bin ; ln -s ../gerbil/bin/* .)
runHook postInstall
'';
}
21 changes: 1 addition & 20 deletions pkgs/development/compilers/gerbil/unstable.nix
@@ -1,4 +1,4 @@
{ callPackage, fetchFromGitHub, gambit-unstable, gambit-support, coreutils, bash }:
{ callPackage, fetchFromGitHub, gambit-unstable, gambit-support }:

callPackage ./build.nix rec {
version = "unstable-2020-05-17";
Expand All @@ -12,23 +12,4 @@ callPackage ./build.nix rec {
inherit gambit-support;
gambit = gambit-unstable;
gambit-params = gambit-support.unstable-params;
configurePhase = ''
(cd src && ./configure \
--prefix=$out/gerbil \
--with-gambit=${gambit}/gambit \
--enable-libxml \
--enable-libyaml \
--enable-zlib \
--enable-sqlite \
--enable-mysql \
--enable-lmdb \
--enable-leveldb)
'';
installPhase = ''
runHook preInstall
mkdir -p $out/gerbil $out/bin
(cd src; ./install)
(cd $out/bin ; ln -s ../gerbil/bin/* .)
runHook postInstall
'';
}

0 comments on commit 0d0f475

Please sign in to comment.