gnustep: init
Adding new library: gnustep-startup, which packages the core libraries necessary for GNUstep: gnustep-make, gnustep-base, gnustep-gui, gnustep-backend.
This commit is contained in:
parent
2709079569
commit
a28c729766
@ -39,6 +39,7 @@
|
||||
aristid = "Aristid Breitkreuz <aristidb@gmail.com>";
|
||||
arobyn = "Alexei Robyn <shados@shados.net>";
|
||||
artuuge = "Artur E. Ruuge <artuuge@gmail.com>";
|
||||
ashalkhakov = "Artyom Shalkhakov <artyom.shalkhakov@gmail.com>";
|
||||
asppsa = "Alastair Pharo <asppsa@gmail.com>";
|
||||
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
|
||||
aszlig = "aszlig <aszlig@redmoonstudios.org>";
|
||||
|
83
pkgs/development/libraries/gnustep-startup/default.nix
Normal file
83
pkgs/development/libraries/gnustep-startup/default.nix
Normal file
@ -0,0 +1,83 @@
|
||||
{ stdenv, fetchurl, pkgconfig
|
||||
, aspell
|
||||
, cups
|
||||
, audiofile, portaudio
|
||||
, clang, libobjc2
|
||||
, libjpeg, libtiff, libpng, giflib, libungif
|
||||
, libxml2, libxslt, libiconv
|
||||
, libffi
|
||||
, gnutls, libgcrypt
|
||||
, icu
|
||||
, xlibs, x11
|
||||
, freetype
|
||||
, which
|
||||
}:
|
||||
|
||||
let
|
||||
version = "0.32.0";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gnustep-core-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-startup-${version}.tar.gz";
|
||||
sha256 = "1f24lggaind43jhp6gy5zspljbha5l2gnys1ddxjdxkiwqfkznc6";
|
||||
};
|
||||
|
||||
buildInputs = [ clang libobjc2 cups audiofile portaudio aspell libjpeg libtiff libpng giflib libungif libxml2 libxslt libiconv gnutls libgcrypt icu pkgconfig x11 libffi freetype which ];
|
||||
# TODO: what's this for?
|
||||
# nativeBuildInputs = [ ];
|
||||
# propagatedBuildInputs = [ ];
|
||||
|
||||
buildPhase = ''
|
||||
./InstallGNUstep --batch --prefix=$out
|
||||
'';
|
||||
|
||||
# TODO: add:
|
||||
# . $out/System/Library/Makefiles/GNUstep.sh
|
||||
# to bashrc prior to building any GNUstep package
|
||||
# TODO: could simply make the installPhase = "";
|
||||
installPhase = ''
|
||||
echo Do not forget to source $out/System/Library/Makefiles/GNUstep.sh!
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "GNUstep is a free, object-oriented, cross-platform development environment that strives for simplicity and elegance. GNUstep is based on and strives to be completely compatible with the Cocoa specification developed by Apple (Previously NeXT Software, Inc.).";
|
||||
|
||||
longDescription = ''
|
||||
GNUstep is...
|
||||
|
||||
...an object-oriented tool development kit
|
||||
|
||||
GNUstep-make and GNUstep-base make up the core libraries contain
|
||||
a complete system for writing non-graphic tools in Objective-C. The
|
||||
make package allows you to setup a simple and powerful system for
|
||||
building, installing and packaging your tools. The base package
|
||||
includes all the classes necessary for writing an incredible array of
|
||||
tools, from wrappers for system tools to tools for communicating with
|
||||
web and other types of servers.
|
||||
|
||||
...and a graphical development kit
|
||||
|
||||
The core libraries contain classes for developing a complete
|
||||
graphical application for almost any purpose. Along with our
|
||||
object-oriented, graphical development applications,
|
||||
ProjectCenter and Gorm it's simple to write very complex
|
||||
commercial applications in weeks or months, rather than years
|
||||
(or often, never) in the case of other development environments.
|
||||
|
||||
...and a cross platform development environment
|
||||
|
||||
GNUstep can, currently, allow you to build applications on
|
||||
GNU/Linux, Windows, FreeBSD, OpenBSD, NetBSD, Solaris and any
|
||||
POSIX compliant UNIX based operating system.
|
||||
'';
|
||||
|
||||
homepage = http://gnustep.org/;
|
||||
|
||||
license = stdenv.lib.licenses.lgpl2Plus;
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
49
pkgs/development/libraries/libobjc2/default.nix
Normal file
49
pkgs/development/libraries/libobjc2/default.nix
Normal file
@ -0,0 +1,49 @@
|
||||
{ stdenv, fetchurl,
|
||||
clang,
|
||||
cmake
|
||||
}:
|
||||
|
||||
let
|
||||
version = "1.7";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libobjc2-${version}";
|
||||
src = fetchurl {
|
||||
url = "http://download.gna.org/gnustep/libobjc2-1.7.tar.bz2";
|
||||
sha256 = "1h9wkm1x9wrzd3alm99bx710lrs9nb8h2x5jpxbqwgbgzzv4l6rs";
|
||||
};
|
||||
buildInputs = [ clang cmake ];
|
||||
|
||||
# since we don't support Objective-C++, we don't interoperate
|
||||
# with C++ either
|
||||
patches = [ ./removeCXXtests.patch ];
|
||||
|
||||
# build phase:
|
||||
# mkdir Build
|
||||
# cd Build
|
||||
# cmake ..
|
||||
# make -j8
|
||||
# make install
|
||||
#
|
||||
# probably useful:
|
||||
cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ];
|
||||
#
|
||||
# cmakeDir = "../src"; # Build?
|
||||
# postInstall = ''
|
||||
# mkdir Build
|
||||
# cd Build
|
||||
# cmake -DCMAKE_INSTALL_PREFIX=$out -DGNUSTEP_INSTALL_TYPE=NONE ..
|
||||
# make install
|
||||
# '';
|
||||
|
||||
meta = {
|
||||
description = "Objective-C runtime for use with GNUstep";
|
||||
|
||||
homepage = http://gnustep.org/;
|
||||
|
||||
license = stdenv.lib.licenses.mit;
|
||||
|
||||
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
||||
platforms = stdenv.lib.platforms.all;
|
||||
};
|
||||
}
|
20
pkgs/development/libraries/libobjc2/removeCXXtests.patch
Normal file
20
pkgs/development/libraries/libobjc2/removeCXXtests.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff -c libobjc2-1.7/Test/CMakeLists.txt libobjc2-1.7-patched/Test/CMakeLists.txt
|
||||
*** libobjc2-1.7/Test/CMakeLists.txt 2014-11-17 13:38:30.000000000 +0600
|
||||
--- libobjc2-1.7-patched/Test/CMakeLists.txt 2014-11-17 13:38:56.000000000 +0600
|
||||
***************
|
||||
*** 49,54 ****
|
||||
endforeach()
|
||||
|
||||
# Tests that are more than a single file.
|
||||
! addtest_flags(CXXExceptions "-O0" "CXXException.m;CXXException.cc")
|
||||
! addtest_flags(CXXExceptions_optimised "-O3" "CXXException.m;CXXException.cc")
|
||||
|
||||
--- 49,54 ----
|
||||
endforeach()
|
||||
|
||||
# Tests that are more than a single file.
|
||||
! #addtest_flags(CXXExceptions "-O0" "CXXException.m;CXXException.cc")
|
||||
! #addtest_flags(CXXExceptions_optimised "-O3" "CXXException.m;CXXException.cc")
|
||||
|
||||
Only in libobjc2-1.7-patched/Test: CMakeLists.txt~
|
||||
Common subdirectories: libobjc2-1.7/Test/RuntimeTest.xcodeproj and libobjc2-1.7-patched/Test/RuntimeTest.xcodeproj
|
@ -7586,6 +7586,11 @@ in
|
||||
|
||||
gnome-sharp = callPackage ../development/libraries/gnome-sharp {};
|
||||
|
||||
gnustep_startup = callPackage ../development/libraries/gnustep-startup/default.nix {
|
||||
stdenv = clangStdenv;
|
||||
giflib = giflib_4_1;
|
||||
};
|
||||
|
||||
granite = callPackage ../development/libraries/granite { };
|
||||
|
||||
gtk2 = callPackage ../development/libraries/gtk+/2.x.nix {
|
||||
@ -8388,6 +8393,8 @@ in
|
||||
|
||||
libnxml = callPackage ../development/libraries/libnxml { };
|
||||
|
||||
libobjc2 = callPackage ../development/libraries/libobjc2 { stdenv = clangStdenv; };
|
||||
|
||||
libodfgen = callPackage ../development/libraries/libodfgen { };
|
||||
|
||||
libofa = callPackage ../development/libraries/libofa { };
|
||||
|
Loading…
x
Reference in New Issue
Block a user