diff options
author | Michael Raskin <7c6f434c@mail.ru> | 2014-11-07 11:40:55 +0300 |
---|---|---|
committer | Michael Raskin <7c6f434c@mail.ru> | 2014-11-07 11:41:12 +0300 |
commit | 689f1af563d91fa55fb355a7d66f8f5982e5a4a4 (patch) | |
tree | 1ffbefde856a0a0e1eeba9afb37d3a03ca92b7e4 /pkgs/development/compilers/fpc | |
parent | f33436596bcba4e5c0cef341a396854af11497a1 (diff) |
Refactor Lazarus build a bit and build it with all the components by default
Diffstat (limited to 'pkgs/development/compilers/fpc')
-rw-r--r-- | pkgs/development/compilers/fpc/lazarus.nix | 62 |
1 files changed, 36 insertions, 26 deletions
diff --git a/pkgs/development/compilers/fpc/lazarus.nix b/pkgs/development/compilers/fpc/lazarus.nix index 54371f4f420b6..bf2e10b2c6298 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]; }; } |