about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/gnustep/gui
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/gnustep/gui')
-rw-r--r--nixpkgs/pkgs/desktops/gnustep/gui/default.nix32
-rw-r--r--nixpkgs/pkgs/desktops/gnustep/gui/fixup-all.patch56
2 files changed, 88 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/gnustep/gui/default.nix b/nixpkgs/pkgs/desktops/gnustep/gui/default.nix
new file mode 100644
index 000000000000..448f4c60136a
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnustep/gui/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, stdenv
+, make
+, wrapGNUstepAppsHook
+, fetchzip
+, base
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  version = "0.30.0";
+  pname = "gnustep-gui";
+
+  src = fetchzip {
+    url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-${finalAttrs.version}.tar.gz";
+    sha256 = "sha256-24hL4TeIY6izlhQUcxKI0nXITysAPfRrncRqsDm2zNk=";
+  };
+
+  nativeBuildInputs = [ make wrapGNUstepAppsHook ];
+  buildInputs = [ base ];
+
+  patches = [
+    ./fixup-all.patch
+  ];
+  meta = {
+    changelog = "https://github.com/gnustep/libs-gui/releases/tag/gui-${builtins.replaceStrings [ "." ] [ "_" ] finalAttrs.version}";
+    description = "A GUI class library of GNUstep";
+    homepage = "https://gnustep.github.io/";
+    license = lib.licenses.lgpl2Plus;
+    maintainers = with lib.maintainers; [ ashalkhakov matthewbauer dblsaiko ];
+    platforms = lib.platforms.linux;
+  };
+})
diff --git a/nixpkgs/pkgs/desktops/gnustep/gui/fixup-all.patch b/nixpkgs/pkgs/desktops/gnustep/gui/fixup-all.patch
new file mode 100644
index 000000000000..4b412db409ae
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/gnustep/gui/fixup-all.patch
@@ -0,0 +1,56 @@
+diff -r -u gnustep-gui-0.24.0/GNUmakefile.postamble gnustep-gui-0.24.0.patched/GNUmakefile.postamble
+--- gnustep-gui-0.24.0/GNUmakefile.postamble	2010-05-17 22:38:59.000000000 +0600
++++ gnustep-gui-0.24.0.patched/GNUmakefile.postamble	2014-12-01 13:44:05.000000000 +0600
+@@ -40,20 +40,20 @@
+ # The following rule is important mainly for packaging, because in that case 
+ # you install into a fake system tree, and the directory is not there.
+ #
+-$(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional:
+-	$(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
++$(DESTDIR_GNUSTEP_MAKEFILES)/Additional:
++	$(MKDIRS) $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
+ 
+ # Things to do before installing
+-before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
++before-install:: $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
+ 	$(INSTALL_DATA) gui.make \
+-	   $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/gui.make
++	   $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/gui.make
+ 
+ # Things to do after installing
+ # after-install::
+ 
+ # Things to do before uninstalling
+  before-uninstall::
+-	rm -f $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/gui.make
++	rm -f $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/gui.make
+ 
+ # Things to do after uninstalling
+ # after-uninstall::
+diff -r -u gnustep-gui-0.24.0/TextConverters/RTF/GNUmakefile.preamble gnustep-gui-0.24.0.patched/TextConverters/RTF/GNUmakefile.preamble
+--- gnustep-gui-0.24.0/TextConverters/RTF/GNUmakefile.preamble	2008-06-10 10:01:49.000000000 +0600
++++ gnustep-gui-0.24.0.patched/TextConverters/RTF/GNUmakefile.preamble	2014-12-01 13:02:11.000000000 +0600
+@@ -49,7 +49,7 @@
+ ADDITIONAL_INCLUDE_DIRS +=-I../../Headers/Additions -I../../Headers
+ 
+ # Additional LDFLAGS to pass to the linker
+-#ADDITIONAL_LDFLAGS += 
++ADDITIONAL_LDFLAGS += -lgnustep-gui
+ 
+ # Additional library directories the linker should search
+ ADDITIONAL_LIB_DIRS += -L../../Source/$(GNUSTEP_OBJ_DIR)
+diff -r -u gnustep-gui-0.24.0/Tools/GNUmakefile.preamble gnustep-gui-0.24.0.patched/Tools/GNUmakefile.preamble
+--- gnustep-gui-0.24.0/Tools/GNUmakefile.preamble	2006-02-22 12:43:48.000000000 +0600
++++ gnustep-gui-0.24.0.patched/Tools/GNUmakefile.preamble	2014-12-01 12:52:41.000000000 +0600
+@@ -32,9 +32,11 @@
+ ADDITIONAL_LIB_DIRS += -L../Source/$(GNUSTEP_OBJ_DIR) -L../Model/$(GNUSTEP_OBJ_DIR)
+ 
+ # Additional libraries when linking tools
++make_services_TOOL_LIBS += -lgnustep-base
+ gpbs_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
+ set_show_service_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
+ gopen_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
++gclose_TOOL_LIBS += -lgnustep-base
+ gcloseall_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
+ GSspell_TOOL_LIBS += $(ADDITIONAL_DEPENDS)
+