From 15c5a533b54b335f48c2d841909730340978ec28 Mon Sep 17 00:00:00 2001 From: Artyom Shalkhakov Date: Fri, 12 Dec 2014 22:58:21 +0600 Subject: [PATCH] gnustep: add gworkspace and systempreferences Packaging some basic GNUstep apps: GWorkspace and SystemPreferences. Unfortunately, GWorkspace doesn't work well, because gdomap, gdnc, gpbs are not started. Also, there is some issue with fonts not being found. --- pkgs/applications/misc/gworkspace/default.nix | 32 +++++++++++++++++++ .../misc/systempreferences/default.nix | 27 ++++++++++++++++ .../build-managers/gnustep-make/setup-hook.sh | 4 +-- pkgs/top-level/all-packages.nix | 3 ++ 4 files changed, 63 insertions(+), 3 deletions(-) create mode 100644 pkgs/applications/misc/gworkspace/default.nix create mode 100644 pkgs/applications/misc/systempreferences/default.nix diff --git a/pkgs/applications/misc/gworkspace/default.nix b/pkgs/applications/misc/gworkspace/default.nix new file mode 100644 index 000000000000..2081e1540a0b --- /dev/null +++ b/pkgs/applications/misc/gworkspace/default.nix @@ -0,0 +1,32 @@ +{ gnustep_back, gnustep_base, gnustep_gui, gnustep_make +, fetchurl +, sqlite +, stdenv +, system_preferences +}: +let + version = "0.9.2"; +in +stdenv.mkDerivation { + name = "gworkspace-${version}"; + src = fetchurl { + url = "ftp://ftp.gnustep.org/pub/gnustep/usr-apps/gworkspace-${version}.tar.gz"; + sha256 = "1yzlka2dl1gb353wf9kw6l26sdihdhgwvdfg5waqwdfl7ycfyfaj"; + }; + # additional dependencies: + # - PDFKit framework from http://gap.nongnu.org/ + GNUSTEP_MAKEFILES = "${gnustep_make}/share/GNUstep/Makefiles"; + buildInputs = [ gnustep_back gnustep_base gnustep_make gnustep_gui sqlite system_preferences ]; + propagatedBuildInputs = [ gnustep_back gnustep_base gnustep_gui sqlite system_preferences ]; + configureFlags = [ "--enable-gwmetadata" "--with-inotify" ]; + meta = { + description = "GWorkspace is a workspace manager for GNUstep"; + + homepage = http://www.gnustep.org/experience/GWorkspace.html; + + license = stdenv.lib.licenses.lgpl2Plus; + + maintainers = with stdenv.lib.maintainers; [ ashalkhakov ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/misc/systempreferences/default.nix b/pkgs/applications/misc/systempreferences/default.nix new file mode 100644 index 000000000000..13d4312213b7 --- /dev/null +++ b/pkgs/applications/misc/systempreferences/default.nix @@ -0,0 +1,27 @@ +{ gnustep_back, gnustep_base, gnustep_gui, gnustep_make +, fetchurl +, stdenv +}: +let + version = "1.1.0"; +in +stdenv.mkDerivation { + name = "system_preferences-${version}"; + src = fetchurl { + url = "ftp://ftp.gnustep.org/pub/gnustep/usr-apps/SystemPreferences-${version}.tar.gz"; + sha256 = "1q68bs8rlq0dxkar01qs5wfyas4iivddnama371jd7ll6cxzmpy7"; + }; + GNUSTEP_MAKEFILES = "${gnustep_make}/share/GNUstep/Makefiles"; + buildInputs = [ gnustep_back gnustep_base gnustep_make gnustep_gui ]; + propagatedBuildInputs = [ gnustep_back gnustep_base gnustep_gui ]; + meta = { + description = "System Preferences allows to manage the settings of many aspects of the GNUstep environment and its applications"; + + homepage = http://www.gnustep.org/experience/systempreferences.html; + + license = stdenv.lib.licenses.lgpl2Plus; + + maintainers = with stdenv.lib.maintainers; [ ashalkhakov ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/development/tools/build-managers/gnustep-make/setup-hook.sh b/pkgs/development/tools/build-managers/gnustep-make/setup-hook.sh index fa70b9ab5ca8..7e55bae23bdc 100644 --- a/pkgs/development/tools/build-managers/gnustep-make/setup-hook.sh +++ b/pkgs/development/tools/build-managers/gnustep-make/setup-hook.sh @@ -8,14 +8,12 @@ installFlagsArray=( \ "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_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" \ ) addGSMakefilesPath () { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 6dc478945c88..8a795b8c37cd 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6471,6 +6471,7 @@ in guileLint = callPackage ../development/tools/guile/guile-lint { }; + gworkspace = callPackage ../applications/misc/gworkspace { stdenv = clangStdenv; }; gwrap = callPackage ../development/tools/guile/g-wrap { }; help2man = callPackage ../development/tools/misc/help2man { @@ -9500,6 +9501,8 @@ in biblesync = callPackage ../development/libraries/biblesync { }; + system_preferences = callPackage ../applications/misc/systempreferences { stdenv = clangStdenv; }; + szip = callPackage ../development/libraries/szip { }; t1lib = callPackage ../development/libraries/t1lib { };