diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix index 54371f4f420..bf2e10b2c62 100644 --- a/pkgs/development/compilers/fpc/lazarus.nix +++ b/pkgs/development/compilers/fpc/lazarus.nix @@ -1,45 +1,55 @@ -args : with args; -rec { - version = "1.2.6"; - versionSuffix = "-0"; - src = fetchurl { +{ +stdenv, fetchurl +, fpc +, gtk, glib, pango, atk, gdk_pixbuf +, libXi, inputproto, libX11, xproto, libXext, xextproto +, makeWrapper +}: +let + s = + rec { + version = "1.2.6"; + versionSuffix = "-0"; url = "mirror://sourceforge/lazarus/Lazarus%20Zip%20_%20GZip/Lazarus%20${version}/lazarus-${version}${versionSuffix}.tar.gz"; sha256 = "1sjyc2l46hyd5ic5hr6vscy4qr9kazyhiyddy7bfs9vgf54fdiy0"; + name = "lazarus-${version}"; }; - - buildInputs = [fpc gtk glib libXi inputproto + buildInputs = [ + fpc gtk glib libXi inputproto libX11 xproto libXext xextproto pango atk - stdenv.gcc makeWrapper gdk_pixbuf]; - configureFlags = []; + stdenv.gcc makeWrapper gdk_pixbuf + ]; +in +stdenv.mkDerivation { + inherit (s) name version; + inherit buildInputs; + src = fetchurl { + inherit (s) url sha256; + }; makeFlags = [ - "LAZARUS_INSTALL_DIR=$out/lazarus/" - "INSTALL_PREFIX=$out/" "FPC=fpc" "PP=fpc" + "REQUIRE_PACKAGES+=tachartlazaruspkg" + "bigide" ]; - - /* doConfigure should be specified separately */ - phaseNames = ["preBuild" "doMakeInstall" "postInstall"]; - - preBuild = fullDepEntry ('' - export NIX_LDFLAGS='-lXi -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lc -lXext -lpango-1.0 -latk-1.0 -lgdk_pixbuf-2.0 -lcairo' + preBuild = '' + export makeFlags="$makeFlags LAZARUS_INSTALL_DIR=$out/lazarus/ INSTALL_PREFIX=$out/" + export NIX_LDFLAGS="$NIX_LDFLAGS -lXi -lX11 -lglib-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lc -lXext -lpango-1.0 -latk-1.0 -lgdk_pixbuf-2.0 -lcairo -lgcc_s" export LCL_PLATFORM=gtk2 mkdir -p $out/share "$out/lazarus" tar xf ${fpc.src} --strip-components=1 -C $out/share -m sed -e 's@/usr/fpcsrc@'"$out/share/fpcsrc@" -i ide/include/unix/lazbaseconf.inc - '') - ["minInit" "defEnsureDir" "doUnpack"]; - - postInstall = fullDepEntry ('' + ''; + postInstall = '' wrapProgram $out/bin/startlazarus --prefix NIX_LDFLAGS ' ' "'$NIX_LDFLAGS'" \ --prefix LCL_PLATFORM ' ' "'$LCL_PLATFORM'" - '') ["doMakeInstall" "minInit" "defEnsureDir"]; - - name = "lazarus-${version}"; + ''; meta = { + inherit (s) version; + license = stdenv.lib.licenses.gpl2Plus ; + platforms = stdenv.lib.platforms.linux; description = "Lazarus graphical IDE for FreePascal language"; homepage = http://www.lazarus.freepascal.org; - maintainers = [args.lib.maintainers.raskin]; - #platforms = args.lib.platforms.linux; + maintainers = [stdenv.lib.maintainers.raskin]; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 972e2b86337..2f2a668c27e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3442,9 +3442,7 @@ let }; julia = julia031; - lazarus = builderDefsPackage (import ../development/compilers/fpc/lazarus.nix) { - inherit makeWrapper gtk glib pango atk gdk_pixbuf; - inherit (xlibs) libXi inputproto libX11 xproto libXext xextproto; + lazarus = callPackage ../development/compilers/fpc/lazarus.nix { fpc = fpc; };