diff --git a/pkgs/development/compilers/fpc/default.nix b/pkgs/development/compilers/fpc/default.nix index 0d2f1fb525d..463907e0518 100644 --- a/pkgs/development/compilers/fpc/default.nix +++ b/pkgs/development/compilers/fpc/default.nix @@ -12,6 +12,10 @@ stdenv.mkDerivation { buildInputs = [startFPC gawk]; + preConfigure = (if system == "i686-linux" || system == "x86_64-linux" then '' + sed -e "s@'/lib/ld-linux[^']*'@'''@" -i fpcsrc/compiler/systems/t_linux.pas + '' else ""); + installFlags = "INSTALL_PREFIX=\${out}"; postInstall = "ln -fs $out/lib/fpc/*/ppc386 $out/bin; mkdir -p $out/lib/fpc/etc/ ; diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix new file mode 100644 index 00000000000..d00e270b67b --- /dev/null +++ b/pkgs/development/compilers/fpc/lazarus.nix @@ -0,0 +1,39 @@ +args : with args; +rec { + src = fetchurl { + url = http://downloads.sourceforge.net/lazarus/lazarus-0.9.24-0.tar.gz; + sha256 = "0kkj1yycdbyrsw6c34gm5ya7q3256p8ph8j5a23x3qy86gbch827"; + }; + + buildInputs = [fpc gtk glib libXi inputproto + libX11 xproto libXext xextproto gdkpixbuf + stdenv.gcc makeWrapper]; + configureFlags = []; + makeFlags = [ + "LAZARUS_INSTALL_DIR=$out/lazarus/" + "INSTALL_PREFIX=$out/" + "FPC=fpc" + "PP=fpc" + ]; + + /* doConfigure should be specified separately */ + phaseNames = ["preBuild" "doMakeInstall" "postInstall"]; + + preBuild = FullDepEntry ('' + export NIX_LDFLAGS='-lXi -lX11 -lglib -lgtk -lgdk -lgdk_pixbuf -lc -lXext' + ensureDir $out/share + tar xf ${fpc.src} --strip-components=1 -C $out/share + sed -e 's@/usr/fpcsrc@'"$out/share/fpcsrc@" -i ide/include/unix/lazbaseconf.inc + '') + ["minInit" "defEnsureDir" "doUnpack"]; + + postInstall = FullDepEntry ('' + wrapProgram $out/bin/startlazarus --prefix NIX_LDFLAGS ' ' "'$NIX_LDFLAGS'" + '') ["doMakeInstall" "minInit" "defEnsureDir"]; + + name = "lazarus-0.9.24-0"; + meta = { + description = "Lazarus graphical IDE for FreePascal language"; + homepage = http://www.lazarus.freepascal.org ; + }; +}