diff options
Diffstat (limited to 'pkgs/desktops/gnustep/base/fixup-paths.patch')
-rw-r--r-- | pkgs/desktops/gnustep/base/fixup-paths.patch | 373 |
1 files changed, 373 insertions, 0 deletions
diff --git a/pkgs/desktops/gnustep/base/fixup-paths.patch b/pkgs/desktops/gnustep/base/fixup-paths.patch new file mode 100644 index 000000000000..fa28412dbf62 --- /dev/null +++ b/pkgs/desktops/gnustep/base/fixup-paths.patch @@ -0,0 +1,373 @@ +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++) |