gnustep: cleanup
Cleaning up. Adding GNUstep package builder for abstracting out GNUstep compilation specifics (with thanks to GitHub user lethalman). The rules for using build_gnustep_package are as simple: any GNUstep-based package that the package being compiled depends upon are to be put in [deps] (this is used for setting up a buildEnv), while other dependencies are put into [buildInputs] as usual.
This commit is contained in:
parent
5db3f3ee61
commit
d39e5372dc
@ -3,6 +3,7 @@
|
|||||||
, clang
|
, clang
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, gnustep_base, gnustep_make, gnustep_gui
|
, gnustep_base, gnustep_make, gnustep_gui
|
||||||
|
, gnustep_builder
|
||||||
, xlibs
|
, xlibs
|
||||||
, x11
|
, x11
|
||||||
, freetype
|
, freetype
|
||||||
@ -12,58 +13,14 @@
|
|||||||
let
|
let
|
||||||
version = "0.24.0";
|
version = "0.24.0";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
gnustep_builder.mkDerivation rec {
|
||||||
name = "gnustep-back-${version}";
|
name = "gnustep-back-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-0.24.0.tar.gz";
|
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-back-0.24.0.tar.gz";
|
||||||
sha256 = "0qixbilkkrqxrhhj9hnp7ygd5gs23b3qbbgk3gaxj73d0xqfvhjz";
|
sha256 = "0qixbilkkrqxrhhj9hnp7ygd5gs23b3qbbgk3gaxj73d0xqfvhjz";
|
||||||
};
|
};
|
||||||
buildInputs = [ cairo clang freetype gnustep_base gnustep_make gnustep_gui pkgconfig x11 ];
|
buildInputs = [ cairo clang freetype pkgconfig x11 ];
|
||||||
propagatedBuildInputs = [ ];
|
deps = [ gnustep_make gnustep_base gnustep_gui ];
|
||||||
GNUSTEP_env = buildEnv {
|
|
||||||
name = "gnustep-back-env";
|
|
||||||
paths = [ gnustep_make 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-tools.patch ];
|
|
||||||
dontBuild = true;
|
|
||||||
installPhase = ''
|
|
||||||
export ADDITIONAL_INCLUDE_DIRS=${GNUSTEP_env}/include
|
|
||||||
./configure
|
|
||||||
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 = "GNUstep-back is a generic backend for GNUstep.";
|
description = "GNUstep-back is a generic backend for GNUstep.";
|
||||||
|
|
||||||
@ -72,6 +29,6 @@ stdenv.mkDerivation rec {
|
|||||||
license = stdenv.lib.licenses.lgpl2Plus;
|
license = stdenv.lib.licenses.lgpl2Plus;
|
||||||
|
|
||||||
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{ aspell, audiofile
|
{ aspell, audiofile
|
||||||
, buildEnv
|
, gnustep_builder
|
||||||
, clang, cups
|
, clang, cups
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, gmp, gnustep_make, gnutls
|
, gmp, gnustep_make, gnutls
|
||||||
@ -15,7 +15,7 @@
|
|||||||
let
|
let
|
||||||
version = "1.24.7";
|
version = "1.24.7";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
gnustep_builder.mkDerivation {
|
||||||
name = "gnustep-base-${version}";
|
name = "gnustep-base-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-1.24.7.tar.gz";
|
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-base-1.24.7.tar.gz";
|
||||||
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
|||||||
buildInputs = [
|
buildInputs = [
|
||||||
aspell audiofile
|
aspell audiofile
|
||||||
clang cups
|
clang cups
|
||||||
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,34 +44,8 @@ stdenv.mkDerivation rec {
|
|||||||
icu
|
icu
|
||||||
portaudio
|
portaudio
|
||||||
];
|
];
|
||||||
GNUSTEP_env = buildEnv {
|
deps = [ gnustep_make ];
|
||||||
name = "gnustep-make-env";
|
|
||||||
paths = [ gnustep_make ];
|
|
||||||
};
|
|
||||||
GNUSTEP_MAKEFILES = "${GNUSTEP_env}/share/GNUstep/Makefiles";
|
|
||||||
GNUSTEP_INSTALLATION_DOMAIN = "SYSTEM";
|
|
||||||
patches = [ ./fixup-base-makefile-installdir.patch ];
|
patches = [ ./fixup-base-makefile-installdir.patch ];
|
||||||
dontBuild = true;
|
|
||||||
installPhase = ''
|
|
||||||
./configure --disable-importing-config-file
|
|
||||||
make
|
|
||||||
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 = "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.";
|
||||||
|
|
||||||
@ -80,6 +54,6 @@ stdenv.mkDerivation rec {
|
|||||||
license = stdenv.lib.licenses.lgpl2Plus;
|
license = stdenv.lib.licenses.lgpl2Plus;
|
||||||
|
|
||||||
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,65 +1,23 @@
|
|||||||
{ buildEnv
|
{
|
||||||
, clang
|
clang
|
||||||
, fetchurl
|
, fetchurl
|
||||||
, gnustep_base, gnustep_make
|
, gnustep_base, gnustep_make
|
||||||
|
, gnustep_builder
|
||||||
#, xlibs, x11, freetype
|
#, xlibs, x11, freetype
|
||||||
#, pkgconfig
|
#, pkgconfig
|
||||||
, stdenv }:
|
, stdenv }:
|
||||||
let
|
let
|
||||||
version = "0.24.0";
|
version = "0.24.0";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
gnustep_builder.mkDerivation rec {
|
||||||
name = "gnustep-gui-${version}";
|
name = "gnustep-gui-${version}";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-0.24.0.tar.gz";
|
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-gui-0.24.0.tar.gz";
|
||||||
sha256 = "0d6jzfcyacxjzrr2p398ysvs1akv1fcmngfzxxbfxa947miydjxg";
|
sha256 = "0d6jzfcyacxjzrr2p398ysvs1akv1fcmngfzxxbfxa947miydjxg";
|
||||||
};
|
};
|
||||||
buildInputs = [ clang gnustep_base gnustep_make ];
|
buildInputs = [ clang ];
|
||||||
propagatedBuildInputs = [ ];
|
deps = [ gnustep_base gnustep_make ];
|
||||||
GNUSTEP_env = buildEnv {
|
|
||||||
name = "gnustep-gui-env";
|
|
||||||
paths = [ gnustep_make gnustep_base ];
|
|
||||||
pathsToLink = [ "/bin" "/sbin" "/include" "/lib" "/share" ];
|
|
||||||
};
|
|
||||||
GNUSTEP_MAKEFILES = "${GNUSTEP_env}/share/GNUstep/Makefiles";
|
|
||||||
GNUSTEP_INSTALLATION_DOMAIN = "SYSTEM";
|
|
||||||
ADDITIONAL_CPPFLAGS = "-DGNUSTEP";
|
|
||||||
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 ];
|
||||||
dontBuild = true;
|
|
||||||
installPhase = ''
|
|
||||||
export ADDITIONAL_INCLUDE_DIRS=${GNUSTEP_env}/include
|
|
||||||
./configure
|
|
||||||
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 = "GNUstep-gui is a GUI class library of GNUstep.";
|
description = "GNUstep-gui is a GUI class library of GNUstep.";
|
||||||
|
|
||||||
@ -68,6 +26,6 @@ stdenv.mkDerivation rec {
|
|||||||
license = stdenv.lib.licenses.lgpl2Plus;
|
license = stdenv.lib.licenses.lgpl2Plus;
|
||||||
|
|
||||||
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
126
pkgs/development/tools/build-managers/gnustep-make/GNUstep.conf
Normal file
126
pkgs/development/tools/build-managers/gnustep-make/GNUstep.conf
Normal file
@ -0,0 +1,126 @@
|
|||||||
|
# These GNUSTEP_*_ROOT variables are obsolete, and will be removed.
|
||||||
|
#GNUSTEP_SYSTEM_ROOT=/nix/store/ky64z3j9l18wjcssb9pxnc792ihh3bvw-gnustep-make-2.6.6/System
|
||||||
|
#GNUSTEP_LOCAL_ROOT=/nix/store/ky64z3j9l18wjcssb9pxnc792ihh3bvw-gnustep-make-2.6.6/Local
|
||||||
|
#GNUSTEP_NETWORK_ROOT=/nix/store/ky64z3j9l18wjcssb9pxnc792ihh3bvw-gnustep-make-2.6.6/Network
|
||||||
|
|
||||||
|
# The name of the user config file. This file can override
|
||||||
|
# some settings in this file. Usually used by users that want
|
||||||
|
# to install things into their GNUstep user domain and/or have
|
||||||
|
# many such domains.
|
||||||
|
GNUSTEP_USER_CONFIG_FILE=.GNUstep.conf
|
||||||
|
|
||||||
|
# The name of the user directory, if any. This is obsolete,
|
||||||
|
# and will be removed.
|
||||||
|
GNUSTEP_USER_DIR=GNUstep
|
||||||
|
|
||||||
|
# The name of the user directory where defaults (eg, preferences) are
|
||||||
|
# stored. If it does not start with a '/', it will be considered
|
||||||
|
# relative to the user home directory.
|
||||||
|
GNUSTEP_USER_DEFAULTS_DIR=GNUstep/Defaults
|
||||||
|
|
||||||
|
|
||||||
|
# This is where the gnustep-make Makefiles are installed.
|
||||||
|
# Traditionally, this is /usr/GNUstep/System/Library/Makefiles
|
||||||
|
GNUSTEP_MAKEFILES=@gnustepMakefiles@
|
||||||
|
|
||||||
|
# This is where the user home directories are. Only used to provide
|
||||||
|
# NSUserDirectory in gnustep-base. Never used anywhere else.
|
||||||
|
GNUSTEP_SYSTEM_USERS_DIR=/home
|
||||||
|
GNUSTEP_NETWORK_USERS_DIR=/home
|
||||||
|
GNUSTEP_LOCAL_USERS_DIR=/home
|
||||||
|
|
||||||
|
|
||||||
|
# This is where System GUI Applications get installed.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Applications.
|
||||||
|
GNUSTEP_SYSTEM_APPS=@systemApps@
|
||||||
|
|
||||||
|
# This is where System GUI Applications that only the
|
||||||
|
# Administrator can use get installed.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Applications/Admin.
|
||||||
|
GNUSTEP_SYSTEM_ADMIN_APPS=@systemAdminApps@
|
||||||
|
|
||||||
|
# This is where System Web Applications (GSWeb, SOPE) get
|
||||||
|
# installed.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Library/WebApplications.
|
||||||
|
GNUSTEP_SYSTEM_WEB_APPS=@systemWebApps@
|
||||||
|
|
||||||
|
# This is where System Command-Line Tools get installed.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Tools.
|
||||||
|
GNUSTEP_SYSTEM_TOOLS=@systemTools@
|
||||||
|
|
||||||
|
# This is where System Command-Line Tools that only the
|
||||||
|
# Administrator can use get installed. Important: this
|
||||||
|
# should not be in the PATH of normal users.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Tools/Admin.
|
||||||
|
GNUSTEP_SYSTEM_ADMIN_TOOLS=@systemAdminTools@
|
||||||
|
|
||||||
|
# This is where System resources get installed. This directory will
|
||||||
|
# contain a lot of executable code since *step traditionally likes to
|
||||||
|
# bundle executables and resources together.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Library.
|
||||||
|
GNUSTEP_SYSTEM_LIBRARY=@systemLibrary@
|
||||||
|
|
||||||
|
# This is where System headers get installed. They are the
|
||||||
|
# library .h headers.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Library/Headers.
|
||||||
|
GNUSTEP_SYSTEM_HEADERS=@systemHeaders@
|
||||||
|
|
||||||
|
# This is where System libraries get installed. By libraries we mean
|
||||||
|
# the shared/static object files that you can link into programs.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Library/Libraries.
|
||||||
|
GNUSTEP_SYSTEM_LIBRARIES=@systemLibraries@
|
||||||
|
|
||||||
|
# This is where System documentation get installed. This is known
|
||||||
|
# not to contain any executable, so we keep it separate.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Library/Documentation.
|
||||||
|
GNUSTEP_SYSTEM_DOC=@systemDoc@
|
||||||
|
|
||||||
|
# This is where System man pages get installed.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Library/Documentation/man.
|
||||||
|
GNUSTEP_SYSTEM_DOC_MAN=@systemDocMan@
|
||||||
|
|
||||||
|
# This is where System info pages get installed.
|
||||||
|
# Traditionally it is /usr/GNUstep/System/Library/Documentation/info.
|
||||||
|
GNUSTEP_SYSTEM_DOC_INFO=@systemDocInfo@
|
||||||
|
|
||||||
|
|
||||||
|
GNUSTEP_NETWORK_APPS=@systemApps@
|
||||||
|
GNUSTEP_NETWORK_ADMIN_APPS=@systemAdminApps@
|
||||||
|
GNUSTEP_NETWORK_WEB_APPS=@systemWebApps@
|
||||||
|
GNUSTEP_NETWORK_TOOLS=@systemTools@
|
||||||
|
GNUSTEP_NETWORK_ADMIN_TOOLS=@systemAdminTools@
|
||||||
|
GNUSTEP_NETWORK_LIBRARY=@systemLibrary@
|
||||||
|
GNUSTEP_NETWORK_HEADERS=@systemHeaders@
|
||||||
|
GNUSTEP_NETWORK_LIBRARIES=@systemLibraries@
|
||||||
|
GNUSTEP_NETWORK_DOC=@systemDoc@
|
||||||
|
GNUSTEP_NETWORK_DOC_MAN=@systemDocMan@
|
||||||
|
GNUSTEP_NETWORK_DOC_INFO=@systemDocInfo@
|
||||||
|
|
||||||
|
GNUSTEP_LOCAL_APPS=@systemApps@
|
||||||
|
GNUSTEP_LOCAL_ADMIN_APPS=@systemAdminApps@
|
||||||
|
GNUSTEP_LOCAL_WEB_APPS=@systemWebApps@
|
||||||
|
GNUSTEP_LOCAL_TOOLS=@systemTools@
|
||||||
|
GNUSTEP_LOCAL_ADMIN_TOOLS=@systemAdminTools@
|
||||||
|
GNUSTEP_LOCAL_LIBRARY=@systemLibrary@
|
||||||
|
GNUSTEP_LOCAL_HEADERS=@systemHeaders@
|
||||||
|
GNUSTEP_LOCAL_LIBRARIES=@systemLibraries@
|
||||||
|
GNUSTEP_LOCAL_DOC=@systemDoc@
|
||||||
|
GNUSTEP_LOCAL_DOC_MAN=@systemDocMan@
|
||||||
|
GNUSTEP_LOCAL_DOC_INFO=@systemDocInfo@
|
||||||
|
|
||||||
|
# Important: settings in the User should normally be relative paths,
|
||||||
|
# and will be interpreted as relative to the user's directory. This
|
||||||
|
# allows each user to have their own domain to install things. You
|
||||||
|
# can set them to be absolute, mostly if you want to disable them
|
||||||
|
# by setting them equal to the ones in the Network domain.
|
||||||
|
GNUSTEP_USER_DIR_APPS=GNUstep/Applications
|
||||||
|
GNUSTEP_USER_DIR_ADMIN_APPS=GNUstep/Applications/Admin
|
||||||
|
GNUSTEP_USER_DIR_WEB_APPS=GNUstep/WebApplications
|
||||||
|
GNUSTEP_USER_DIR_TOOLS=GNUstep/Tools
|
||||||
|
GNUSTEP_USER_DIR_ADMIN_TOOLS=GNUstep/Tools/Admin
|
||||||
|
GNUSTEP_USER_DIR_LIBRARY=GNUstep/Library
|
||||||
|
GNUSTEP_USER_DIR_HEADERS=GNUstep/Library/Headers
|
||||||
|
GNUSTEP_USER_DIR_LIBRARIES=GNUstep/Library/Libraries
|
||||||
|
GNUSTEP_USER_DIR_DOC=GNUstep/Library/Documentation
|
||||||
|
GNUSTEP_USER_DIR_DOC_MAN=GNUstep/Library/Documentation/man
|
||||||
|
GNUSTEP_USER_DIR_DOC_INFO=GNUstep/Library/Documentation/info
|
@ -0,0 +1,44 @@
|
|||||||
|
{ stdenv, gnustep_make, buildEnv}:
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
|
|
||||||
|
{
|
||||||
|
mkDerivation =
|
||||||
|
args @ { name, src, deps ? [], buildInputs, ... }:
|
||||||
|
let
|
||||||
|
GNUSTEP_env =
|
||||||
|
# buildEnv fails if there is only one path to symlink
|
||||||
|
if deps == null || length deps < 2 then gnustep_make
|
||||||
|
else buildEnv {
|
||||||
|
name = "gnustep-env-${name}";
|
||||||
|
paths = deps;
|
||||||
|
pathsToLink = [ "/bin" "/sbin" "/lib" "/include" "/share" ];
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenv.mkDerivation (args // {
|
||||||
|
GNUSTEP_conf = gnustep_make.gnustepConfigTemplate;
|
||||||
|
inherit GNUSTEP_env;
|
||||||
|
GNUSTEP_MAKEFILES = "${GNUSTEP_env}/share/GNUstep/Makefiles";
|
||||||
|
GNUSTEP_INSTALLATION_DOMAIN = "SYSTEM";
|
||||||
|
buildInputs = args.buildInputs ++ deps;
|
||||||
|
preConfigure = ''
|
||||||
|
cp $GNUSTEP_conf $(pwd)/GNUstep-build.conf
|
||||||
|
substituteInPlace $(pwd)/GNUstep-build.conf \
|
||||||
|
--subst-var-by gnustepMakefiles $GNUSTEP_MAKEFILES \
|
||||||
|
--subst-var-by systemApps "$GNUSTEP_env/lib/GNUstep/Applications" \
|
||||||
|
--subst-var-by systemAdminApps "$GNUSTEP_env/lib/GNUstep/Applications" \
|
||||||
|
--subst-var-by systemWebApps "$GNUSTEP_env/lib/GNUstep/WebApplications" \
|
||||||
|
--subst-var-by systemTools "$GNUSTEP_env/bin" \
|
||||||
|
--subst-var-by systemAdminTools "$GNUSTEP_env/sbin" \
|
||||||
|
--subst-var-by systemLibrary "$GNUSTEP_env/lib" \
|
||||||
|
--subst-var-by systemHeaders "$GNUSTEP_env/include" \
|
||||||
|
--subst-var-by systemLibraries "$GNUSTEP_env/lib" \
|
||||||
|
--subst-var-by systemDoc "$GNUSTEP_env/share/GNUstep/Documentation" \
|
||||||
|
--subst-var-by systemDocMan "$GNUSTEP_env/share/man" \
|
||||||
|
--subst-var-by systemDocInfo "$GNUSTEP_env/share/info"
|
||||||
|
export GNUSTEP_CONFIG_FILE=$(pwd)/GNUstep-build.conf
|
||||||
|
. $GNUSTEP_MAKEFILES/GNUstep.sh
|
||||||
|
'';
|
||||||
|
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";
|
||||||
|
});
|
||||||
|
}
|
@ -8,8 +8,9 @@ stdenv.mkDerivation rec {
|
|||||||
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-2.6.6.tar.gz";
|
url = "ftp://ftp.gnustep.org/pub/gnustep/core/gnustep-make-2.6.6.tar.gz";
|
||||||
sha256 = "07cqr8x17bia9w6clbmiv7ay6r9nplrjz2cyzinv4w7zfpc19vxw";
|
sha256 = "07cqr8x17bia9w6clbmiv7ay6r9nplrjz2cyzinv4w7zfpc19vxw";
|
||||||
};
|
};
|
||||||
configureFlags = "--with-layout=fhs-system";
|
configureFlags = "--with-installation-domain=SYSTEM";
|
||||||
buildInputs = [ clang which libobjc2 ];
|
buildInputs = [ clang which libobjc2 ];
|
||||||
|
gnustepConfigTemplate = ./GNUstep.conf;
|
||||||
meta = {
|
meta = {
|
||||||
description = "GNUstep-make is a build manager for GNUstep.";
|
description = "GNUstep-make is a build manager for GNUstep.";
|
||||||
|
|
||||||
@ -18,6 +19,6 @@ stdenv.mkDerivation rec {
|
|||||||
license = stdenv.lib.licenses.lgpl2Plus;
|
license = stdenv.lib.licenses.lgpl2Plus;
|
||||||
|
|
||||||
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
maintainers = with stdenv.lib.maintainers; [ ashalkhakov ];
|
||||||
platforms = stdenv.lib.platforms.all;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -6444,10 +6444,12 @@ in
|
|||||||
gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { };
|
gnumake42 = callPackage ../development/tools/build-managers/gnumake/4.2 { };
|
||||||
gnumake = self.gnumake42;
|
gnumake = self.gnumake42;
|
||||||
|
|
||||||
gnustep_back = callPackage ../development/libraries/gnustep-back { stdenv = clangStdenv; };
|
gnustep_builder = import ../development/tools/build-managers/gnustep-make/build-gnustep-package.nix { stdenv = clangStdenv; inherit gnustep_make; inherit buildEnv; };
|
||||||
gnustep_base = callPackage ../development/libraries/gnustep-base { stdenv = clangStdenv; giflib = giflib_4_1; };
|
|
||||||
|
gnustep_back = callPackage ../development/libraries/gnustep-back { };
|
||||||
|
gnustep_base = callPackage ../development/libraries/gnustep-base { giflib = giflib_4_1; };
|
||||||
gnustep_make = callPackage ../development/tools/build-managers/gnustep-make { stdenv = clangStdenv; };
|
gnustep_make = callPackage ../development/tools/build-managers/gnustep-make { stdenv = clangStdenv; };
|
||||||
gnustep_gui = callPackage ../development/libraries/gnustep-gui { stdenv = clangStdenv; };
|
gnustep_gui = callPackage ../development/libraries/gnustep-gui { };
|
||||||
|
|
||||||
gob2 = callPackage ../development/tools/misc/gob2 { };
|
gob2 = callPackage ../development/tools/misc/gob2 { };
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user