about summary refs log tree commit diff
path: root/pkgs/applications
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
parent52d17a5f41e70a1774681c6afb13ac41431674b8 (diff)
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')
-rw-r--r--pkgs/applications/editors/gorm/default.nix53
-rw-r--r--pkgs/applications/editors/projectcenter/default.nix55
-rw-r--r--pkgs/applications/editors/projectcenter/fixup-preamble.patch14
3 files changed, 108 insertions, 14 deletions
diff --git a/pkgs/applications/editors/gorm/default.nix b/pkgs/applications/editors/gorm/default.nix
index ccd038534a78e..fd0b88322cdb9 100644
--- a/pkgs/applications/editors/gorm/default.nix
+++ b/pkgs/applications/editors/gorm/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, gnustep_startup }:
-
+{ buildEnv
+, stdenv, fetchurl, gnustep_base, gnustep_make, gnustep_back, gnustep_gui
+}:
 let
   version = "1.2.18";
 in
@@ -10,11 +11,49 @@ stdenv.mkDerivation rec {
     url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/gorm-${version}.tar.gz";
     sha256 = "1vpzvmsnynlq5dv6rw9vbk1zzsim6z7b2kprrlm8dknyq0r1sdrq";
   };
-
-  buildInputs = [ gnustep_startup ];
-  buildPhase = ''
-    . ${gnustep_startup}/System/Library/Makefiles/GNUstep.sh
-    make
+  GNUSTEP_env = buildEnv {
+    name = "gnustep-gorm-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";
+  
+  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 \
+      DESTDIR_GNUSTEP_MAKEFILES=$out/share/GNUstep/Makefiles
   '';
 
   meta = {
diff --git a/pkgs/applications/editors/projectcenter/default.nix b/pkgs/applications/editors/projectcenter/default.nix
index 2b403dffc705a..56c4a0535c2b8 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 = {
diff --git a/pkgs/applications/editors/projectcenter/fixup-preamble.patch b/pkgs/applications/editors/projectcenter/fixup-preamble.patch
new file mode 100644
index 0000000000000..3fe19a6a58b93
--- /dev/null
+++ b/pkgs/applications/editors/projectcenter/fixup-preamble.patch
@@ -0,0 +1,14 @@
+diff -c ProjectCenter-0.6.2/GNUmakefile.preamble ProjectCenter-0.6.2.patched/GNUmakefile.preamble
+--- ProjectCenter-0.6.2/GNUmakefile.preamble	2010-08-08 03:56:04.000000000 +0600
++++ artyom/ProjectCenter-0.6.2.patched/GNUmakefile.preamble	2014-12-01 20:08:31.000000000 +0600
+@@ -39,7 +39,7 @@
+ ADDITIONAL_INCLUDE_DIRS += -I./ -I./Headers
+ 
+ # Additional LDFLAGS to pass to the linker
+-ADDITIONAL_LDFLAGS += 
++ADDITIONAL_LDFLAGS += -lgnustep-base -lgnustep-gui
+ 
+ # Additional library directories the linker should search
+ ADDITIONAL_LIB_DIRS += -L./Framework/ProjectCenter.framework/$(GNUSTEP_TARGET_LDIR)
+
+Diff finished.  Mon Dec  1 20:08:50 2014