about summary refs log tree commit diff
path: root/pkgs/development/compilers/fpc
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2014-11-07 11:40:55 +0300
committerMichael Raskin <7c6f434c@mail.ru>2014-11-07 11:41:12 +0300
commit689f1af563d91fa55fb355a7d66f8f5982e5a4a4 (patch)
tree1ffbefde856a0a0e1eeba9afb37d3a03ca92b7e4 /pkgs/development/compilers/fpc
parentf33436596bcba4e5c0cef341a396854af11497a1 (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.nix62
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];
   };
 }