gnustep: use gnustep_builder
Built ProjectCenter and Gorm with the new gnustep_builder. Had to go back and fix a few things.
This commit is contained in:
parent
d39e5372dc
commit
4cbeef463c
@ -1,60 +1,17 @@
|
|||||||
{ buildEnv
|
{ buildEnv
|
||||||
, stdenv, fetchurl, gnustep_base, gnustep_make, gnustep_back, gnustep_gui
|
, stdenv, fetchurl, gnustep_builder, gnustep_base, gnustep_back, gnustep_gui
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
version = "1.2.18";
|
version = "1.2.18";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
gnustep_builder.mkDerivation rec {
|
||||||
name = "gorm-${version}";
|
name = "gorm-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/gorm-${version}.tar.gz";
|
url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/gorm-${version}.tar.gz";
|
||||||
sha256 = "1vpzvmsnynlq5dv6rw9vbk1zzsim6z7b2kprrlm8dknyq0r1sdrq";
|
sha256 = "1vpzvmsnynlq5dv6rw9vbk1zzsim6z7b2kprrlm8dknyq0r1sdrq";
|
||||||
};
|
};
|
||||||
GNUSTEP_env = buildEnv {
|
deps = [ gnustep_base gnustep_back gnustep_gui ];
|
||||||
name = "gnustep-gorm-env";
|
|
||||||
paths = [ gnustep_make gnustep_back gnustep_base gnustep_gui ];
|
|
||||||
pathsToLink = [ "/bin" "/sbin" "/include" "/lib" "/share" ];
|
|
||||||
};
|
|
||||||
GNUSTEP_MAKEFILES = "${GNUSTEP_env}/share/GNUstep/Makefiles";
|
|
||||||
GNUSTEP_INSTALLATION_DOMAIN = "SYSTEM";
|
|
||||||
ADDITIONAL_CPPFLAGS = "-DGNUSTEP";
|
|
||||||
|
|
||||||
buildInputs = [ gnustep_base gnustep_back gnustep_make gnustep_gui ];
|
|
||||||
dontBuild = true;
|
|
||||||
installPhase = ''
|
|
||||||
export ADDITIONAL_INCLUDE_DIRS=${GNUSTEP_env}/include
|
|
||||||
make \
|
|
||||||
GNUSTEP_SYSTEM_APPS=$GNUSTEP_env/lib/GNUstep/Applications \
|
|
||||||
GNUSTEP_SYSTEM_ADMIN_APPS=$GNUSTEP_env/lib/GNUstep/Applications \
|
|
||||||
GNUSTEP_SYSTEM_WEB_APPS=$GNUSTEP_env/lib/GNUstep/WebApplications \
|
|
||||||
GNUSTEP_SYSTEM_TOOLS=$GNUSTEP_env/bin \
|
|
||||||
GNUSTEP_SYSTEM_ADMIN_TOOLS=$GNUSTEP_env/sbin \
|
|
||||||
GNUSTEP_SYSTEM_LIBRARY=$GNUSTEP_env/lib/GNUstep \
|
|
||||||
GNUSTEP_SYSTEM_HEADERS=$GNUSTEP_env/include \
|
|
||||||
GNUSTEP_SYSTEM_LIBRARIES=$GNUSTEP_env/lib \
|
|
||||||
GNUSTEP_SYSTEM_DOC=$GNUSTEP_env/share/GNUstep/Documentation \
|
|
||||||
GNUSTEP_SYSTEM_DOC_MAN=$GNUSTEP_env/share/man \
|
|
||||||
GNUSTEP_SYSTEM_DOC_INFO=$GNUSTEP_env/share/info \
|
|
||||||
GNUSTEP_SYSTEM_LIBRARIES=$GNUSTEP_env/lib \
|
|
||||||
messages=yes
|
|
||||||
make install \
|
|
||||||
GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
|
|
||||||
GNUSTEP_SYSTEM_APPS=$out/lib/GNUstep/Applications \
|
|
||||||
GNUSTEP_SYSTEM_ADMIN_APPS=$out/lib/GNUstep/Applications \
|
|
||||||
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 \
|
|
||||||
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 \
|
|
||||||
DESTDIR_GNUSTEP_MAKEFILES=$out/share/GNUstep/Makefiles
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Gorm stands for Graphical Object Relationship Modeller and is an easy-to-use interface designer for GNUstep";
|
description = "Gorm stands for Graphical Object Relationship Modeller and is an easy-to-use interface designer for GNUstep";
|
||||||
|
@ -1,62 +1,20 @@
|
|||||||
{ buildEnv
|
{ buildEnv
|
||||||
, stdenv, fetchurl
|
, stdenv, fetchurl
|
||||||
, gnustep_base, gnustep_make, gnustep_back, gnustep_gui
|
, gnustep_builder
|
||||||
|
, gnustep_base, gnustep_back, gnustep_gui
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
version = "0.6.2";
|
version = "0.6.2";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
gnustep_builder.mkDerivation rec {
|
||||||
name = "projectcenter-${version}";
|
name = "projectcenter-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/ProjectCenter-${version}.tar.gz";
|
url = "ftp://ftp.gnustep.org/pub/gnustep/dev-apps/ProjectCenter-${version}.tar.gz";
|
||||||
sha256 = "0wwlbpqf541apw192jb633d634zkpjhcrrkd1j80y9hihphll465";
|
sha256 = "0wwlbpqf541apw192jb633d634zkpjhcrrkd1j80y9hihphll465";
|
||||||
};
|
};
|
||||||
|
|
||||||
GNUSTEP_env = buildEnv {
|
# patches = [ ./fixup-preamble.patch ];
|
||||||
name = "gnustep-projectcenter-env";
|
deps = [ gnustep_base gnustep_back gnustep_gui ];
|
||||||
paths = [ gnustep_make gnustep_back gnustep_base gnustep_gui ];
|
|
||||||
pathsToLink = [ "/bin" "/sbin" "/include" "/lib" "/share" ];
|
|
||||||
};
|
|
||||||
GNUSTEP_MAKEFILES = "${GNUSTEP_env}/share/GNUstep/Makefiles";
|
|
||||||
GNUSTEP_INSTALLATION_DOMAIN = "SYSTEM";
|
|
||||||
ADDITIONAL_CPPFLAGS = "-DGNUSTEP";
|
|
||||||
|
|
||||||
patches = [ ./fixup-preamble.patch ];
|
|
||||||
buildInputs = [ gnustep_base gnustep_back gnustep_make gnustep_gui ];
|
|
||||||
dontBuild = true;
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
export ADDITIONAL_INCLUDE_DIRS=${GNUSTEP_env}/include
|
|
||||||
make \
|
|
||||||
GNUSTEP_SYSTEM_APPS=$GNUSTEP_env/lib/GNUstep/Applications \
|
|
||||||
GNUSTEP_SYSTEM_ADMIN_APPS=$GNUSTEP_env/lib/GNUstep/Applications \
|
|
||||||
GNUSTEP_SYSTEM_WEB_APPS=$GNUSTEP_env/lib/GNUstep/WebApplications \
|
|
||||||
GNUSTEP_SYSTEM_TOOLS=$GNUSTEP_env/bin \
|
|
||||||
GNUSTEP_SYSTEM_ADMIN_TOOLS=$GNUSTEP_env/sbin \
|
|
||||||
GNUSTEP_SYSTEM_LIBRARY=$GNUSTEP_env/lib/GNUstep \
|
|
||||||
GNUSTEP_SYSTEM_HEADERS=$GNUSTEP_env/include \
|
|
||||||
GNUSTEP_SYSTEM_LIBRARIES=$GNUSTEP_env/lib \
|
|
||||||
GNUSTEP_SYSTEM_DOC=$GNUSTEP_env/share/GNUstep/Documentation \
|
|
||||||
GNUSTEP_SYSTEM_DOC_MAN=$GNUSTEP_env/share/man \
|
|
||||||
GNUSTEP_SYSTEM_DOC_INFO=$GNUSTEP_env/share/info \
|
|
||||||
GNUSTEP_SYSTEM_LIBRARIES=$GNUSTEP_env/lib \
|
|
||||||
messages=yes
|
|
||||||
make install \
|
|
||||||
GNUSTEP_INSTALLATION_DOMAIN=SYSTEM \
|
|
||||||
GNUSTEP_SYSTEM_APPS=$out/lib/GNUstep/Applications \
|
|
||||||
GNUSTEP_SYSTEM_ADMIN_APPS=$out/lib/GNUstep/Applications \
|
|
||||||
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 \
|
|
||||||
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
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
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.";
|
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.";
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
, cairo
|
, cairo
|
||||||
, clang
|
, clang
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, gnustep_base, gnustep_make, gnustep_gui
|
, gnustep_base, gnustep_gui
|
||||||
, gnustep_builder
|
, gnustep_builder
|
||||||
, xlibs
|
, xlibs
|
||||||
, x11
|
, x11
|
||||||
@ -20,7 +20,7 @@ gnustep_builder.mkDerivation rec {
|
|||||||
sha256 = "0qixbilkkrqxrhhj9hnp7ygd5gs23b3qbbgk3gaxj73d0xqfvhjz";
|
sha256 = "0qixbilkkrqxrhhj9hnp7ygd5gs23b3qbbgk3gaxj73d0xqfvhjz";
|
||||||
};
|
};
|
||||||
buildInputs = [ cairo clang freetype pkgconfig x11 ];
|
buildInputs = [ cairo clang freetype pkgconfig x11 ];
|
||||||
deps = [ gnustep_make gnustep_base gnustep_gui ];
|
deps = [ gnustep_base gnustep_gui ];
|
||||||
meta = {
|
meta = {
|
||||||
description = "GNUstep-back is a generic backend for GNUstep.";
|
description = "GNUstep-back is a generic backend for GNUstep.";
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@
|
|||||||
, gnustep_builder
|
, gnustep_builder
|
||||||
, clang, cups
|
, clang, cups
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, gmp, gnustep_make, gnutls
|
, gmp, gnutls
|
||||||
, libffi
|
, libffi
|
||||||
, libjpeg, libtiff, libpng, giflib, libungif
|
, libjpeg, libtiff, libpng, giflib, libungif
|
||||||
, libxml2, libxslt, libiconv
|
, libxml2, libxslt, libiconv
|
||||||
@ -44,7 +44,6 @@ gnustep_builder.mkDerivation {
|
|||||||
icu
|
icu
|
||||||
portaudio
|
portaudio
|
||||||
];
|
];
|
||||||
deps = [ gnustep_make ];
|
|
||||||
patches = [ ./fixup-base-makefile-installdir.patch ];
|
patches = [ ./fixup-base-makefile-installdir.patch ];
|
||||||
meta = {
|
meta = {
|
||||||
description = "GNUstep-base is an implementation of AppKit and Foundation libraries of OPENSTEP and Cocoa.";
|
description = "GNUstep-base is an implementation of AppKit and Foundation libraries of OPENSTEP and Cocoa.";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
clang
|
clang
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, gnustep_base, gnustep_make
|
, gnustep_base
|
||||||
, gnustep_builder
|
, gnustep_builder
|
||||||
#, xlibs, x11, freetype
|
#, xlibs, x11, freetype
|
||||||
#, pkgconfig
|
#, pkgconfig
|
||||||
@ -16,7 +16,7 @@ gnustep_builder.mkDerivation rec {
|
|||||||
sha256 = "0d6jzfcyacxjzrr2p398ysvs1akv1fcmngfzxxbfxa947miydjxg";
|
sha256 = "0d6jzfcyacxjzrr2p398ysvs1akv1fcmngfzxxbfxa947miydjxg";
|
||||||
};
|
};
|
||||||
buildInputs = [ clang ];
|
buildInputs = [ clang ];
|
||||||
deps = [ gnustep_base gnustep_make ];
|
deps = [ gnustep_base ];
|
||||||
patches = [ ./fixup-gui-makefile-installdir.patch ./fixup-gui-tools-preamble.patch ./fixup-gui-textconverters-preamble.patch ];
|
patches = [ ./fixup-gui-makefile-installdir.patch ./fixup-gui-tools-preamble.patch ./fixup-gui-textconverters-preamble.patch ];
|
||||||
meta = {
|
meta = {
|
||||||
description = "GNUstep-gui is a GUI class library of GNUstep.";
|
description = "GNUstep-gui is a GUI class library of GNUstep.";
|
||||||
|
@ -4,14 +4,14 @@ with stdenv.lib;
|
|||||||
|
|
||||||
{
|
{
|
||||||
mkDerivation =
|
mkDerivation =
|
||||||
args @ { name, src, deps ? [], buildInputs, ... }:
|
args @ { name, src, deps ? [], buildInputs ? [], propagatedBuildInputs ? [], ... }:
|
||||||
let
|
let
|
||||||
GNUSTEP_env =
|
GNUSTEP_env =
|
||||||
# buildEnv fails if there is only one path to symlink
|
# buildEnv fails if there is only one path to symlink
|
||||||
if deps == null || length deps < 2 then gnustep_make
|
if deps == null || length deps < 1 then gnustep_make
|
||||||
else buildEnv {
|
else buildEnv {
|
||||||
name = "gnustep-env-${name}";
|
name = "gnustep-env-for-${name}";
|
||||||
paths = deps;
|
paths = [ gnustep_make ] ++ deps;
|
||||||
pathsToLink = [ "/bin" "/sbin" "/lib" "/include" "/share" ];
|
pathsToLink = [ "/bin" "/sbin" "/lib" "/include" "/share" ];
|
||||||
};
|
};
|
||||||
in
|
in
|
||||||
@ -20,7 +20,8 @@ with stdenv.lib;
|
|||||||
inherit GNUSTEP_env;
|
inherit GNUSTEP_env;
|
||||||
GNUSTEP_MAKEFILES = "${GNUSTEP_env}/share/GNUstep/Makefiles";
|
GNUSTEP_MAKEFILES = "${GNUSTEP_env}/share/GNUstep/Makefiles";
|
||||||
GNUSTEP_INSTALLATION_DOMAIN = "SYSTEM";
|
GNUSTEP_INSTALLATION_DOMAIN = "SYSTEM";
|
||||||
buildInputs = args.buildInputs ++ deps;
|
buildInputs = buildInputs ++ deps ++ [ gnustep_make ];
|
||||||
|
propagatedBuildInputs = propagatedBuildInputs ++ deps;
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
cp $GNUSTEP_conf $(pwd)/GNUstep-build.conf
|
cp $GNUSTEP_conf $(pwd)/GNUstep-build.conf
|
||||||
substituteInPlace $(pwd)/GNUstep-build.conf \
|
substituteInPlace $(pwd)/GNUstep-build.conf \
|
||||||
@ -39,6 +40,8 @@ with stdenv.lib;
|
|||||||
export GNUSTEP_CONFIG_FILE=$(pwd)/GNUstep-build.conf
|
export GNUSTEP_CONFIG_FILE=$(pwd)/GNUstep-build.conf
|
||||||
. $GNUSTEP_MAKEFILES/GNUstep.sh
|
. $GNUSTEP_MAKEFILES/GNUstep.sh
|
||||||
'';
|
'';
|
||||||
|
buildFlags = "GNUSTEP_MAKEFILES=${GNUSTEP_env}/share/GNUstep/Makefiles";
|
||||||
|
configureFlags = "GNUSTEP_MAKEFILES=${GNUSTEP_env}/share/GNUstep/Makefiles";
|
||||||
installFlags = "GNUSTEP_SYSTEM_APPS=\${out}/lib/GNUstep/Applications GNUSTEP_SYSTEM_ADMIN_APPS=\${out}/lib/GNUstep/Applications 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_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 DESTDIR_GNUSTEP_MAKEFILES=\${out}/share/GNUstep/Makefiles";
|
installFlags = "GNUSTEP_SYSTEM_APPS=\${out}/lib/GNUstep/Applications GNUSTEP_SYSTEM_ADMIN_APPS=\${out}/lib/GNUstep/Applications 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_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 DESTDIR_GNUSTEP_MAKEFILES=\${out}/share/GNUstep/Makefiles";
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user