summary refs log tree commit diff
path: root/pkgs/applications/editors/projectcenter/default.nix
diff options
context:
space:
mode:
authorArtyom Shalkhakov <artyom.shalkhakov@gmail.com>2014-12-01 20:59:49 +0600
committerMatthew Bauer <mjbauer95@gmail.com>2016-08-16 20:59:23 +0000
commit5db3f3ee61428047dfe4cc2365814124af8dc52c (patch)
tree436121aabe7173288bbe3586e166f11dd6e419d8 /pkgs/applications/editors/projectcenter/default.nix
parent52d17a5f41e70a1774681c6afb13ac41431674b8 (diff)
downloadnixpkgs-5db3f3ee61428047dfe4cc2365814124af8dc52c.tar
nixpkgs-5db3f3ee61428047dfe4cc2365814124af8dc52c.tar.gz
nixpkgs-5db3f3ee61428047dfe4cc2365814124af8dc52c.tar.bz2
nixpkgs-5db3f3ee61428047dfe4cc2365814124af8dc52c.tar.lz
nixpkgs-5db3f3ee61428047dfe4cc2365814124af8dc52c.tar.xz
nixpkgs-5db3f3ee61428047dfe4cc2365814124af8dc52c.tar.zst
nixpkgs-5db3f3ee61428047dfe4cc2365814124af8dc52c.zip
gnustep: remove gnustep-startup
Removing gnustep-startup (not needed anymore). Adding Gorm and
ProjectCenter applications (these mostly work, provided the environment
is set up manually).
Diffstat (limited to 'pkgs/applications/editors/projectcenter/default.nix')
-rw-r--r--pkgs/applications/editors/projectcenter/default.nix55
1 files changed, 48 insertions, 7 deletions
diff --git a/pkgs/applications/editors/projectcenter/default.nix b/pkgs/applications/editors/projectcenter/default.nix
index 2b403dffc70..56c4a0535c2 100644
--- a/pkgs/applications/editors/projectcenter/default.nix
+++ b/pkgs/applications/editors/projectcenter/default.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchurl, gnustep_startup }:
-
+{ buildEnv
+, stdenv, fetchurl
+, gnustep_base, gnustep_make, gnustep_back, gnustep_gui
+}:
 let
   version = "0.6.2";
 in
@@ -9,12 +11,51 @@ stdenv.mkDerivation rec {
     url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/ProjectCenter-${version}.tar.gz";
     sha256 = "0wwlbpqf541apw192jb633d634zkpjhcrrkd1j80y9hihphll465";
   };
-  
-  buildInputs = [ gnustep_startup ];
 
-  buildPhase = ''
-    . $gnustep_startup/GNUstep/System/Library/Makefiles/GNUstep.sh
-    make
+  GNUSTEP_env = buildEnv {
+    name = "gnustep-projectcenter-env";
+    paths = [ gnustep_make gnustep_back gnustep_base gnustep_gui ];
+    pathsToLink = [ "/bin" "/sbin" "/include" "/lib" "/share" ];
+  };
+  GNUSTEP_MAKEFILES = "${GNUSTEP_env}/share/GNUstep/Makefiles";
+  GNUSTEP_INSTALLATION_DOMAIN = "SYSTEM";
+  ADDITIONAL_CPPFLAGS = "-DGNUSTEP";
+
+  patches = [ ./fixup-preamble.patch ];
+  buildInputs = [ gnustep_base gnustep_back gnustep_make gnustep_gui ];
+  dontBuild = true;
+
+  installPhase = ''
+    export ADDITIONAL_INCLUDE_DIRS=${GNUSTEP_env}/include
+    make \
+      GNUSTEP_SYSTEM_APPS=$GNUSTEP_env/lib/GNUstep/Applications \
+      GNUSTEP_SYSTEM_ADMIN_APPS=$GNUSTEP_env/lib/GNUstep/Applications \
+      GNUSTEP_SYSTEM_WEB_APPS=$GNUSTEP_env/lib/GNUstep/WebApplications \
+      GNUSTEP_SYSTEM_TOOLS=$GNUSTEP_env/bin \
+      GNUSTEP_SYSTEM_ADMIN_TOOLS=$GNUSTEP_env/sbin \
+      GNUSTEP_SYSTEM_LIBRARY=$GNUSTEP_env/lib/GNUstep \
+      GNUSTEP_SYSTEM_HEADERS=$GNUSTEP_env/include \
+      GNUSTEP_SYSTEM_LIBRARIES=$GNUSTEP_env/lib \
+      GNUSTEP_SYSTEM_DOC=$GNUSTEP_env/share/GNUstep/Documentation \
+      GNUSTEP_SYSTEM_DOC_MAN=$GNUSTEP_env/share/man \
+      GNUSTEP_SYSTEM_DOC_INFO=$GNUSTEP_env/share/info \
+      GNUSTEP_SYSTEM_LIBRARIES=$GNUSTEP_env/lib \
+      messages=yes
+    make install \
+      GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
+      GNUSTEP_SYSTEM_APPS=$out/lib/GNUstep/Applications \
+      GNUSTEP_SYSTEM_ADMIN_APPS=$out/lib/GNUstep/Applications \
+      GNUSTEP_SYSTEM_WEB_APPS=$out/lib/GNUstep/WebApplications \
+      GNUSTEP_SYSTEM_TOOLS=$out/bin \
+      GNUSTEP_SYSTEM_ADMIN_TOOLS=$out/sbin \
+      GNUSTEP_SYSTEM_LIBRARY=$out/lib/GNUstep \
+      GNUSTEP_SYSTEM_HEADERS=$out/include \
+      GNUSTEP_SYSTEM_LIBRARIES=$out/lib \
+      GNUSTEP_SYSTEM_DOC=$out/share/GNUstep/Documentation \
+      GNUSTEP_SYSTEM_DOC_MAN=$out/share/man \
+      GNUSTEP_SYSTEM_DOC_INFO=$out/share/info \
+      GNUSTEP_SYSTEM_LIBRARIES=$out/lib \
+      GNUSTEP_HEADERS=$out/include
   '';
   
   meta = {