gnustep: rescope everything into one folder
This should make merge conflicts easier to handle. "gnustep" prefix has been removed to make thing simpler. So "gnustep_make" is now "make" within the gnustep scope.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{ gsmakeDerivation
|
||||
, cairo
|
||||
, fetchurl
|
||||
, gnustep_base, gnustep_gui
|
||||
, base, gui
|
||||
, xlibs
|
||||
, x11
|
||||
, freetype
|
||||
@@ -17,7 +17,7 @@ gsmakeDerivation {
|
||||
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-0.24.0.tar.gz";
|
||||
sha256 = "0qixbilkkrqxrhhj9hnp7ygd5gs23b3qbbgk3gaxj73d0xqfvhjz";
|
||||
};
|
||||
buildInputs = [ cairo gnustep_base gnustep_gui freetype pkgconfig x11 ];
|
||||
buildInputs = [ cairo base gui freetype pkgconfig x11 ];
|
||||
meta = {
|
||||
description = "GNUstep-back is a generic backend for GNUstep.";
|
||||
|
||||
@@ -20,17 +20,7 @@ gsmakeDerivation {
|
||||
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-1.24.7.tar.gz";
|
||||
sha256 = "0qhphw61ksyzf04a4apmvx8000alws6d92x8ila1mi5bapcpv41s";
|
||||
};
|
||||
buildInputs = [
|
||||
aspell audiofile
|
||||
cups
|
||||
gmp gnutls
|
||||
libffi
|
||||
libjpeg libtiff libpng giflib libungif
|
||||
libxml2 libxslt libiconv
|
||||
libobjc2 libgcrypt
|
||||
icu
|
||||
pkgconfig portaudio
|
||||
];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
propagatedBuildInputs = [
|
||||
aspell audiofile
|
||||
cups
|
||||
22
pkgs/development/libraries/gnustep/default.nix
Normal file
22
pkgs/development/libraries/gnustep/default.nix
Normal file
@@ -0,0 +1,22 @@
|
||||
{ pkgs, newScope }:
|
||||
|
||||
let
|
||||
callPackage = newScope self;
|
||||
|
||||
self = rec {
|
||||
stdenv = pkgs.clangStdenv;
|
||||
|
||||
gsmakeDerivation = callPackage ./make/gsmakeDerivation.nix {};
|
||||
gorm = callPackage ./gorm {};
|
||||
projectcenter = callPackage ./projectcenter {};
|
||||
system_preferences = callPackage ./systempreferences {};
|
||||
libobjc2 = callPackage ./libobjc2 {};
|
||||
make = callPackage ./make {};
|
||||
xcode = callPackage ./xcode {};
|
||||
back = callPackage ./back {};
|
||||
base = callPackage ./base { giflib = pkgs.giflib_4_1; };
|
||||
gui = callPackage ./gui {};
|
||||
gworkspace = callPackage ./gworkspace {};
|
||||
};
|
||||
|
||||
in self
|
||||
27
pkgs/development/libraries/gnustep/gorm/default.nix
Normal file
27
pkgs/development/libraries/gnustep/gorm/default.nix
Normal file
@@ -0,0 +1,27 @@
|
||||
{ stdenv, fetchurl, base, back, gsmakeDerivation, gui
|
||||
}:
|
||||
let
|
||||
version = "1.2.18";
|
||||
in
|
||||
gsmakeDerivation {
|
||||
name = "gorm-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/gorm-${version}.tar.gz";
|
||||
sha256 = "1vpzvmsnynlq5dv6rw9vbk1zzsim6z7b2kprrlm8dknyq0r1sdrq";
|
||||
};
|
||||
# patches = [ ./fix-gs-makefiles.patch ];
|
||||
buildInputs = [ base back gui ];
|
||||
# propagatedBuildInputs = [ gnustep_base gnustep_back gnustep_gui ];
|
||||
|
||||
meta = {
|
||||
description = "Gorm stands for Graphical Object Relationship Modeller and is an easy-to-use interface designer for GNUstep";
|
||||
|
||||
homepage = http://www.gnustep.org/experience/Gorm.html;
|
||||
|
||||
license = stdenv.lib.licenses.lgpl2Plus;
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
diff -ru gorm-1.2.20/GNUmakefile gorm-1.2.20.patched/GNUmakefile
|
||||
--- gorm-1.2.20/GNUmakefile 2010-05-30 12:55:26.000000000 +0600
|
||||
+++ gorm-1.2.20.patched/GNUmakefile 2014-12-10 22:21:18.000000000 +0600
|
||||
@@ -24,6 +24,23 @@
|
||||
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
|
||||
+ifeq ($(GNUSTEP_MAKEFILES),)
|
||||
+ GNUSTEP_MAKEFILES := $(shell gnustep-config --variable=GNUSTEP_MAKEFILES 2>/dev/null)
|
||||
+ ifeq ($(GNUSTEP_MAKEFILES),)
|
||||
+ $(warning )
|
||||
+ $(warning Unable to obtain GNUSTEP_MAKEFILES setting from gnustep-config!)
|
||||
+ $(warning Perhaps gnustep-make is not properly installed,)
|
||||
+ $(warning so gnustep-config is not in your PATH.)
|
||||
+ $(warning )
|
||||
+ $(warning Your PATH is currently $(PATH))
|
||||
+ $(warning )
|
||||
+ endif
|
||||
+endif
|
||||
+
|
||||
+ifeq ($(GNUSTEP_MAKEFILES),)
|
||||
+ $(error You need to set GNUSTEP_MAKEFILES before compiling!)
|
||||
+endif
|
||||
+
|
||||
PACKAGE_NAME = gorm
|
||||
export PACKAGE_NAME
|
||||
include $(GNUSTEP_MAKEFILES)/common.make
|
||||
Only in gorm-1.2.20.patched/: GNUmakefile~
|
||||
@@ -1,6 +1,6 @@
|
||||
{ gsmakeDerivation
|
||||
, fetchurl
|
||||
, gnustep_base
|
||||
, base
|
||||
, stdenv }:
|
||||
let
|
||||
version = "0.24.0";
|
||||
@@ -11,7 +11,7 @@ gsmakeDerivation {
|
||||
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-0.24.0.tar.gz";
|
||||
sha256 = "0d6jzfcyacxjzrr2p398ysvs1akv1fcmngfzxxbfxa947miydjxg";
|
||||
};
|
||||
buildInputs = [ gnustep_base ];
|
||||
buildInputs = [ base ];
|
||||
# propagatedBuildInputs = [ gnustep_base ];
|
||||
# patches = [ ./fixup-gui-makefile-installdir.patch ];
|
||||
# DEBUG!
|
||||
32
pkgs/development/libraries/gnustep/gworkspace/default.nix
Normal file
32
pkgs/development/libraries/gnustep/gworkspace/default.nix
Normal file
@@ -0,0 +1,32 @@
|
||||
{ back, base, gui, gsmakeDerivation
|
||||
, fetchurl
|
||||
, sqlite
|
||||
, stdenv
|
||||
, system_preferences
|
||||
}:
|
||||
let
|
||||
version = "0.9.2";
|
||||
in
|
||||
gsmakeDerivation {
|
||||
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/
|
||||
# - TODO: to --enable-gwmetadata, need libDBKit as well as sqlite!
|
||||
buildInputs = [ back base gui system_preferences ];
|
||||
# propagatedBuildInputs = [ gnustep_back gnustep_base gnustep_gui system_preferences ];
|
||||
configureFlags = [ "--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;
|
||||
};
|
||||
}
|
||||
11
pkgs/development/libraries/gnustep/make/gsmakeDerivation.nix
Normal file
11
pkgs/development/libraries/gnustep/make/gsmakeDerivation.nix
Normal file
@@ -0,0 +1,11 @@
|
||||
{ stdenv, lib, libobjc2, clang, make, makeWrapper, which }:
|
||||
{ buildInputs ? []
|
||||
, ...} @ args:
|
||||
stdenv.mkDerivation (args // {
|
||||
buildInputs = [ makeWrapper make which ] ++ buildInputs;
|
||||
|
||||
builder = ./builder.sh;
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
GNUSTEP_MAKEFILES = "${make}/share/GNUstep/Makefiles";
|
||||
})
|
||||
30
pkgs/development/libraries/gnustep/projectcenter/default.nix
Normal file
30
pkgs/development/libraries/gnustep/projectcenter/default.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ stdenv, fetchurl
|
||||
, base, back, gsmakeDerivation, gui, gorm
|
||||
, gnumake, gdb
|
||||
}:
|
||||
let
|
||||
version = "0.6.2";
|
||||
in
|
||||
gsmakeDerivation {
|
||||
name = "projectcenter-${version}";
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/ProjectCenter-${version}.tar.gz";
|
||||
sha256 = "0wwlbpqf541apw192jb633d634zkpjhcrrkd1j80y9hihphll465";
|
||||
};
|
||||
|
||||
# NOTE: need a patch for ProjectCenter to help it locate some necessary tools:
|
||||
# 1. Framework/PCProjectLauncher.m, locate gdb (say among NIX_GNUSTEP_SYSTEM_TOOLS)
|
||||
# 2. Framework/PCProjectBuilder.m, locate gmake (similar)
|
||||
propagatedBuildInputs = [ base back gui gnumake gdb gorm ];
|
||||
|
||||
meta = {
|
||||
description = "ProjectCenter is GNUstep's integrated development environment (IDE) and allows a rapid development and easy managment of ProjectCenter running on GNUstep applications, tools and frameworks.";
|
||||
|
||||
homepage = http://www.gnustep.org/experience/ProjectCenter.html;
|
||||
|
||||
license = stdenv.lib.licenses.lgpl2Plus;
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
};
|
||||
}
|
||||
@@ -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
|
||||
@@ -0,0 +1,27 @@
|
||||
{ back, base, gui, gsmakeDerivation
|
||||
, fetchurl
|
||||
, stdenv
|
||||
}:
|
||||
let
|
||||
version = "1.1.0";
|
||||
in
|
||||
gsmakeDerivation {
|
||||
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 = [ back base 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;
|
||||
};
|
||||
}
|
||||
19
pkgs/development/libraries/gnustep/xcode/default.nix
Normal file
19
pkgs/development/libraries/gnustep/xcode/default.nix
Normal file
@@ -0,0 +1,19 @@
|
||||
{ stdenv, fetchFromGitHub, make, libobjc2, base }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "xcode-${version}";
|
||||
version = "1.0";
|
||||
|
||||
makeFlags = "messages=yes";
|
||||
|
||||
installFlags = "DESTDIR=$(out)";
|
||||
|
||||
buildInputs = [ make libobjc2 base ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "gnustep";
|
||||
repo = "xcode";
|
||||
rev = "cc5016794e44f9998674120a5e4625aa09ca455a";
|
||||
sha256 = "85420f3f61091b2e4548cf5e99d886cb9c72cf07b8b9fae3eebc87e7b6b7e54a";
|
||||
};
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
{ stdenv, lib, libobjc2, clang, gnustep_make, makeWrapper, which }:
|
||||
{ buildInputs ? []
|
||||
, ...} @ args:
|
||||
stdenv.mkDerivation (args // {
|
||||
buildInputs = [ makeWrapper gnustep_make which ] ++ buildInputs;
|
||||
|
||||
builder = ./builder.sh;
|
||||
setupHook = ./setup-hook.sh;
|
||||
|
||||
GNUSTEP_MAKEFILES = "${gnustep_make}/share/GNUstep/Makefiles";
|
||||
})
|
||||
@@ -1,38 +0,0 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
let version = "2.6.7"; in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gnustep-make-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ftpmain.gnustep.org/pub/gnustep/core/${name}.tar.gz";
|
||||
sha256 = "1r2is23xdg4qirckb6bd4lynfwnnw5d9522wib3ndk1xgirmfaqi";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
substituteInPlace GNUmakefile.in \
|
||||
--replace which type \
|
||||
--replace 'tooldir = $(DESTDIR)' 'tooldir = ' \
|
||||
--replace 'makedir = $(DESTDIR)' 'makedir = ' \
|
||||
--replace 'mandir = $(DESTDIR)' 'mandir = '
|
||||
|
||||
substituteInPlace FilesystemLayouts/apple \
|
||||
--replace /usr/local ""
|
||||
|
||||
substituteInPlace configure \
|
||||
--replace /Library/GNUstep "$out"
|
||||
'';
|
||||
|
||||
installFlags = "DESTDIR=$(out)";
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/nix-support
|
||||
cat >$out/nix-support/setup-hook <<EOF
|
||||
. $out/Library/GNUstep/Makefiles/GNUstep.sh
|
||||
EOF
|
||||
'';
|
||||
|
||||
meta = {
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
{ stdenv, fetchgit, gnustep-make, Foundation, libobjc }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "xcode-${version}";
|
||||
version = "1.0";
|
||||
|
||||
makeFlags = "messages=yes";
|
||||
|
||||
installFlags = "DESTDIR=$(out)";
|
||||
|
||||
__impureHostDeps = [
|
||||
"/System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation"
|
||||
"/usr/lib/libextension.dylib"
|
||||
];
|
||||
|
||||
buildInputs = [ gnustep-make Foundation libobjc ];
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/gnustep/xcode";
|
||||
rev = "cc5016794e44f9998674120a5e4625aa09ca455a";
|
||||
sha256 = "85420f3f61091b2e4548cf5e99d886cb9c72cf07b8b9fae3eebc87e7b6b7e54a";
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user