summary refs log blame commit diff
path: root/pkgs/desktops/gnustep/base/fixup-paths.patch
blob: fa28412dbf62c925cb943502297adb357ba81784 (plain) (tree)





























                                                                                                






















































































































































































































































































































































                                                                                                            
diff -r -u gnustep-base-1.24.7/Makefile.postamble gnustep-base-1.24.7.patched/Makefile.postamble
--- gnustep-base-1.24.7/Makefile.postamble	2011-07-15 19:53:45.000000000 +0600
+++ gnustep-base-1.24.7.patched/Makefile.postamble	2014-11-29 22:25:07.000000000 +0600
@@ -38,13 +38,13 @@
 # Things to do after compiling
 # after-all::
 
-$(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional:
-	$(ECHO_CREATING)$(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional$(END_ECHO)
+$(DESTDIR_GNUSTEP_MAKEFILES)/Additional:
+	$(ECHO_CREATING)$(MKDIRS) $(DESTDIR_GNUSTEP_MAKEFILES)/Additional$(END_ECHO)
 
 # Things to do before installing
-before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
+before-install:: $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
 	$(ECHO_NOTHING)$(INSTALL_DATA) base.make \
-	    $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
+	    $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
 
 # Things to do after installing
 # after-install::
@@ -54,7 +54,7 @@
 
 # Things to do after uninstalling
 after-uninstall::
-	$(ECHO_NOTHING)rm -f $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
+	$(ECHO_NOTHING)rm -f $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
 
 # Things to do before cleaning
 # before-clean::
diff -r -u gnustep-base-1.24.7/Source/NSPathUtilities.m gnustep-base-1.24.7.patched/Source/NSPathUtilities.m
--- gnustep-base-1.24.7/Source/NSPathUtilities.m	2014-01-14 13:21:10.000000000 +0600
+++ gnustep-base-1.24.7.patched/Source/NSPathUtilities.m	2015-01-25 13:59:37.000000000 +0600
@@ -153,16 +153,27 @@
 static NSString *gnustepLocalUsersDir = nil;
 
 static NSString *gnustepSystemApps = nil;
+static NSArray *gnustepSystemAppsNix = nil;
 static NSString *gnustepSystemAdminApps = nil;
+static NSArray *gnustepSystemAdminAppsNix = nil;
 static NSString *gnustepSystemWebApps = nil;
+static NSArray *gnustepSystemWebAppsNix = nil;
 static NSString *gnustepSystemTools = nil;
+static NSArray *gnustepSystemToolsNix = nil;
 static NSString *gnustepSystemAdminTools = nil;
+static NSArray *gnustepSystemAdminToolsNix = nil;
 static NSString *gnustepSystemLibrary = nil;
+static NSArray *gnustepSystemLibraryNix = nil;
 static NSString *gnustepSystemLibraries = nil;
+static NSArray *gnustepSystemLibrariesNix = nil;
 static NSString *gnustepSystemHeaders = nil;
+static NSArray *gnustepSystemHeadersNix = nil;
 static NSString *gnustepSystemDocumentation = nil;
+static NSArray *gnustepSystemDocumentationNix = nil;
 static NSString *gnustepSystemDocumentationInfo = nil;
+static NSArray *gnustepSystemDocumentationInfoNix = nil;
 static NSString *gnustepSystemDocumentationMan = nil;
+static NSArray *gnustepSystemDocumentationManNix = nil;
 
 static NSString *gnustepNetworkApps = nil;
 static NSString *gnustepNetworkAdminApps = nil;
@@ -258,6 +269,18 @@
     }\
 })
 
+/* Like ASSIGN_PATH, but permits multiple components in a path
+ */
+#define ASSIGN_PATH_NIX(var, dictionary, key) ({\
+  id val = getPathConfigNix(dictionary, key);\
+  if (val != nil)\
+    {\
+      RELEASE(var);\
+      var = RETAIN(val);\
+      [dictionary removeObjectForKey: key];\
+    }\
+})
+
 /* Like ASSIGN_PATH(), but permits the result to be a relative path as that
  * is what we normally use (the path is within the user's home directory).
  */
@@ -368,7 +391,7 @@
 /* Get a full path string */
 static inline NSString *
 getPath(NSString *path)
-{
+{  
   if ([path hasPrefix: @"./"] == YES)
     {
       path = [gnustepConfigPath stringByAppendingPathComponent:
@@ -383,6 +406,33 @@
   return path;
 }
 
+static inline NSArray *
+getPathConfigNix(NSDictionary *dict, NSString *key)
+{
+  NSArray *res = nil;
+  NSMutableArray *paths = nil;
+  NSString *path;
+#if defined(__MINGW_)
+  NSString *sep = @";";
+#else
+  NSString *sep = @":";
+#endif
+
+  path = [dict objectForKey: key];
+  if (path != nil)
+    {
+      if ([path rangeOfString:sep].location != NSNotFound)
+	{
+	  res = [path componentsSeparatedByString:sep];
+	}
+      else
+	{
+	  res = [[NSArray alloc] initWithObjects:path, nil];
+	}
+    }
+  return res;
+}
+
 /* Get a full path string from a dictionary */
 static inline NSString *
 getPathConfig(NSDictionary *dict, NSString *key)
@@ -468,6 +518,29 @@
   ASSIGN_PATH(gnustepSystemDocumentationInfo, c,
     @"GNUSTEP_SYSTEM_DOC_INFO");
 
+  ASSIGN_PATH_NIX(gnustepSystemAppsNix, c,
+    @"NIX_GNUSTEP_SYSTEM_APPS");
+  ASSIGN_PATH_NIX(gnustepSystemAdminAppsNix, c,
+    @"NIX_GNUSTEP_SYSTEM_ADMIN_APPS");
+  ASSIGN_PATH_NIX(gnustepSystemWebAppsNix, c,
+    @"NIX_GNUSTEP_SYSTEM_WEB_APPS");
+  ASSIGN_PATH_NIX(gnustepSystemToolsNix, c,
+    @"NIX_GNUSTEP_SYSTEM_TOOLS");
+  ASSIGN_PATH_NIX(gnustepSystemAdminToolsNix, c,
+    @"NIX_GNUSTEP_SYSTEM_ADMIN_TOOLS");
+  ASSIGN_PATH_NIX(gnustepSystemLibraryNix, c,
+    @"NIX_GNUSTEP_SYSTEM_LIBRARY");
+  ASSIGN_PATH_NIX(gnustepSystemLibrariesNix, c,
+    @"NIX_GNUSTEP_SYSTEM_LIBRARIES");
+  ASSIGN_PATH_NIX(gnustepSystemHeadersNix, c,
+    @"NIX_GNUSTEP_SYSTEM_HEADERS");
+  ASSIGN_PATH_NIX(gnustepSystemDocumentationNix, c,
+    @"NIX_GNUSTEP_SYSTEM_DOC");
+  ASSIGN_PATH_NIX(gnustepSystemDocumentationManNix, c,
+    @"NIX_GNUSTEP_SYSTEM_DOC_MAN");
+  ASSIGN_PATH_NIX(gnustepSystemDocumentationInfoNix, c,
+    @"NIX_GNUSTEP_SYSTEM_DOC_INFO");
+
   ASSIGN_PATH(gnustepNetworkApps, c,
     @"GNUSTEP_NETWORK_APPS");
   ASSIGN_PATH(gnustepNetworkAdminApps, c,
@@ -1235,6 +1308,18 @@
   DESTROY(gnustepSystemDocumentationMan);
   DESTROY(gnustepSystemDocumentationInfo);
 
+  DESTROY(gnustepSystemAppsNix);
+  DESTROY(gnustepSystemAdminAppsNix);
+  DESTROY(gnustepSystemWebAppsNix);
+  DESTROY(gnustepSystemToolsNix);
+  DESTROY(gnustepSystemAdminToolsNix);
+  DESTROY(gnustepSystemLibraryNix);
+  DESTROY(gnustepSystemLibrariesNix);
+  DESTROY(gnustepSystemHeadersNix);
+  DESTROY(gnustepSystemDocumentationNix);
+  DESTROY(gnustepSystemDocumentationManNix);
+  DESTROY(gnustepSystemDocumentationInfoNix);
+
   DESTROY(gnustepNetworkApps);
   DESTROY(gnustepNetworkAdminApps);
   DESTROY(gnustepNetworkWebApps);
@@ -2183,6 +2268,27 @@
   if ([add_dir length] > 0 && [paths containsObject: add_dir] == NO) \
     [paths addObject: add_dir]; \
 }
+#define ADD_PATH_NIX(mask, base_dirs, add_dir) \
+if ((domainMask & mask) && (base_dirs != nil)) \
+{ \
+  NSEnumerator *e = [base_dirs objectEnumerator]; \
+  NSString *dir = nil; \
+  while (dir = [e nextObject]) { \
+    path = [dir stringByAppendingPathComponent: add_dir]; \
+    if ([path length] > 0 && [paths containsObject: path] == NO) \
+      [paths addObject: path]; \
+  } \
+}
+#define ADD_PLATFORM_PATH_NIX(mask, add_dirs) \
+if ((domainMask & mask) && (add_dirs != nil)) \
+{ \
+  NSEnumerator *e = [add_dirs objectEnumerator]; \
+  NSString *dir = nil; \
+  while (dir = [e nextObject]) { \
+    if ([dir length] > 0 && [paths containsObject: dir] == NO) \
+      [paths addObject:dir]; \
+  } \
+}
 
   switch (directoryKey)
     {
@@ -2191,11 +2297,13 @@
 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserApps);
 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalApps);
 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkApps);
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAppsNix);
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemApps);
 
 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserAdminApps);
 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalAdminApps);
 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkAdminApps);
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminAppsNix);
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemAdminApps);
 	}
 	break;
@@ -2205,6 +2313,7 @@
 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserApps);
 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalApps);
 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkApps);
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAppsNix);
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemApps);
 	}
 	break;
@@ -2214,6 +2323,7 @@
 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserApps);
 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalApps);
 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkApps);
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAppsNix);
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemApps);
 
 	  /* I imagine if ever wanted a separate Demo directory, the
@@ -2231,6 +2341,7 @@
 
       case NSCoreServicesDirectory:
 	{
+	  ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix, @"CoreServices");
 	  ADD_PATH(NSSystemDomainMask, gnustepSystemLibrary, @"CoreServices");
 	}
 	break;
@@ -2248,6 +2359,7 @@
 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserApps);
 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalApps);
 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkApps);
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAppsNix);
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemApps);
 	}
 	break;
@@ -2257,6 +2369,7 @@
 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserAdminApps);
 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalAdminApps);
 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkAdminApps);
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminAppsNix);
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemAdminApps);
 	}
 	break;
@@ -2266,6 +2379,7 @@
 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserLibrary);
 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalLibrary);
 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkLibrary);
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix);
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemLibrary);
 	}
 	break;
@@ -2281,6 +2395,7 @@
 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserLibrary);
 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalLibrary);
 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkLibrary);
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix);
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemLibrary);
 	}
 	break;
@@ -2418,6 +2533,7 @@
 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserDocumentation);
 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalDocumentation);
 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkDocumentation);
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemDocumentationNix);
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemDocumentation);
 	}
 	break;
@@ -2449,6 +2565,7 @@
 	  ADD_PATH(NSUserDomainMask, gnustepUserLibrary, @"Caches");
 	  ADD_PATH(NSLocalDomainMask, gnustepLocalLibrary, @"Caches");
 	  ADD_PATH(NSNetworkDomainMask, gnustepNetworkLibrary, @"Caches");
+	  ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix, @"Caches");
 	  ADD_PATH(NSSystemDomainMask, gnustepSystemLibrary, @"Caches");
 	}
 	break;
@@ -2460,6 +2577,8 @@
 	    @"ApplicationSupport");
 	  ADD_PATH(NSNetworkDomainMask, gnustepNetworkLibrary,
 	    @"ApplicationSupport");
+	  ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix,
+            @"ApplicationSupport");
 	  ADD_PATH(NSSystemDomainMask, gnustepSystemLibrary,
 	    @"ApplicationSupport");
 	}
@@ -2471,6 +2590,7 @@
 	  ADD_PATH(NSUserDomainMask, gnustepUserLibrary, @"Frameworks");
 	  ADD_PATH(NSLocalDomainMask, gnustepLocalLibrary, @"Frameworks");
 	  ADD_PATH(NSNetworkDomainMask, gnustepNetworkLibrary, @"Frameworks");
+	  ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix, @"Frameworks");
 	  ADD_PATH(NSSystemDomainMask, gnustepSystemLibrary, @"Frameworks");
 	}
 	break;
@@ -2480,6 +2600,7 @@
 	  ADD_PATH(NSUserDomainMask, gnustepUserLibrary, @"Fonts");
 	  ADD_PATH(NSLocalDomainMask, gnustepLocalLibrary, @"Fonts");
 	  ADD_PATH(NSNetworkDomainMask, gnustepNetworkLibrary, @"Fonts");
+	  ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibraryNix, @"Fonts");
 	  ADD_PATH(NSSystemDomainMask, gnustepSystemLibrary, @"Fonts");
 	}
 	break;
@@ -2518,6 +2639,12 @@
 	  if (part)
 	    ADD_PATH(NSNetworkDomainMask, gnustepNetworkLibraries, part);
 
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemLibrariesNix);
+	  if (full)
+	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibrariesNix, full);
+	  if (part)
+	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemLibrariesNix, part);	  
+
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemLibraries);
 	  if (full)
 	    ADD_PATH(NSSystemDomainMask, gnustepSystemLibraries, full);
@@ -2560,6 +2687,12 @@
 	  if (part)
 	    ADD_PATH(NSNetworkDomainMask, gnustepNetworkTools, part);
 
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemToolsNix);
+	  if (full)
+	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemToolsNix, full);
+	  if (part)
+	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemToolsNix, part);
+
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemTools);
 	  if (full)
 	    ADD_PATH(NSSystemDomainMask, gnustepSystemTools, full);
@@ -2602,6 +2735,18 @@
 	  if (part)
 	    ADD_PATH(NSNetworkDomainMask, gnustepNetworkAdminTools, part);
 
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix);
+	  if (full)
+	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix, full);
+	  if (part)
+	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix, part);
+
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix);
+	  if (full)
+	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix, full);
+	  if (part)
+	    ADD_PATH_NIX(NSSystemDomainMask, gnustepSystemAdminToolsNix, part);
+	  
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemAdminTools);
 	  if (full)
 	    ADD_PATH(NSSystemDomainMask, gnustepSystemAdminTools, full);
@@ -2615,6 +2760,7 @@
 	  ADD_PLATFORM_PATH(NSUserDomainMask, gnustepUserWebApps);
 	  ADD_PLATFORM_PATH(NSLocalDomainMask, gnustepLocalWebApps);
 	  ADD_PLATFORM_PATH(NSNetworkDomainMask, gnustepNetworkWebApps);
+	  ADD_PLATFORM_PATH_NIX(NSSystemDomainMask, gnustepSystemWebAppsNix);
 	  ADD_PLATFORM_PATH(NSSystemDomainMask, gnustepSystemWebApps);
 	}
 	break;
@@ -2622,6 +2768,8 @@
 
 #undef ADD_PATH
 #undef ADD_PLATFORM_PATH
+#undef ADD_PATH_NIX
+#undef ADD_PLATFORM_PATH_NIX
 
   count = [paths count];
   for (i = 0; i < count; i++)