* Start the switch to the new X libraries. It's still conditional:
set `useOldXLibs' to `false' in all-packages-generic.nix to use them. * Added Xaw3d. * Added Xaw3d support to Emacs. svn path=/nixpkgs/trunk/; revision=4263
This commit is contained in:
parent
abcd9e8155
commit
ea95a0509e
10 changed files with 172 additions and 17 deletions
|
@ -1,14 +1,25 @@
|
|||
{stdenv, fetchurl, xlibs}:
|
||||
{ xawSupport ? true
|
||||
, xpmSupport ? true
|
||||
, xaw3dSupport ? false
|
||||
, stdenv, fetchurl, x11, libXaw ? null, libXpm ? null, Xaw3d ? null
|
||||
}:
|
||||
|
||||
assert xawSupport -> libXaw != null;
|
||||
assert xpmSupport -> libXpm != null;
|
||||
assert xaw3dSupport -> Xaw3d != null;
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "emacs-21.3";
|
||||
name = "emacs-21.4a-Z";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/emacs-21.3.tar.gz;
|
||||
md5 = "a0bab457cbf5b4f8eb99d1d0a3ada420";
|
||||
url = http://ftp.gnu.org/pub/gnu/emacs/emacs-21.4a.tar.gz;
|
||||
md5 = "8f9d97cbd126121bd5d97e5e31168a87";
|
||||
};
|
||||
patches = [./patchfile];
|
||||
inherit (xlibs) libXaw libX11;
|
||||
|
||||
buildInputs = [xlibs.libXaw xlibs.libX11];
|
||||
patches = [./crt.patch];
|
||||
buildInputs = [
|
||||
x11
|
||||
(if xawSupport then libXaw else null)
|
||||
(if xpmSupport then libXpm else null)
|
||||
(if xaw3dSupport then Xaw3d else null)
|
||||
];
|
||||
}
|
||||
|
|
22
pkgs/development/libraries/Xaw3d/builder.sh
Normal file
22
pkgs/development/libraries/Xaw3d/builder.sh
Normal file
|
@ -0,0 +1,22 @@
|
|||
source $stdenv/setup
|
||||
|
||||
configurePhase=configurePhase
|
||||
configurePhase() {
|
||||
cd lib/Xaw3d
|
||||
(mkdir X11 && cd X11 && ln -fs .. Xaw3d)
|
||||
xmkmf
|
||||
}
|
||||
|
||||
buildPhase=buildPhase
|
||||
buildPhase() {
|
||||
make depend $makeFlags
|
||||
make $makeFlags
|
||||
}
|
||||
|
||||
installPhase() {
|
||||
make install SHLIBDIR=$out/lib USRLIBDIR=$out/lib INCDIR=$out/include
|
||||
}
|
||||
|
||||
makeFlags="CDEBUGFLAGS=" # !!! awful hack
|
||||
|
||||
genericBuild
|
51
pkgs/development/libraries/Xaw3d/config.patch
Normal file
51
pkgs/development/libraries/Xaw3d/config.patch
Normal file
|
@ -0,0 +1,51 @@
|
|||
diff -rc xc-orig/lib/Xaw3d/Imakefile xc/lib/Xaw3d/Imakefile
|
||||
*** xc-orig/lib/Xaw3d/Imakefile 2003-03-08 15:55:18.000000000 +0100
|
||||
--- xc/lib/Xaw3d/Imakefile 2005-11-11 20:12:24.000000000 +0100
|
||||
***************
|
||||
*** 9,15 ****
|
||||
XCOMM For grayed stipple shadows, define GRAY_BLKWHT_STIPPLES:
|
||||
#define GRAY_BLKWHT_STIPPLES
|
||||
XCOMM For scrollbars with arrows, define ARROW_SCROLLBARS:
|
||||
! #undef ARROW_SCROLLBARS
|
||||
|
||||
#define DoNormalLib NormalLibXaw
|
||||
#define DoSharedLib SharedLibXaw
|
||||
--- 9,15 ----
|
||||
XCOMM For grayed stipple shadows, define GRAY_BLKWHT_STIPPLES:
|
||||
#define GRAY_BLKWHT_STIPPLES
|
||||
XCOMM For scrollbars with arrows, define ARROW_SCROLLBARS:
|
||||
! #define ARROW_SCROLLBARS
|
||||
|
||||
#define DoNormalLib NormalLibXaw
|
||||
#define DoSharedLib SharedLibXaw
|
||||
***************
|
||||
*** 22,28 ****
|
||||
#define IncSubSubdir Xaw3d
|
||||
|
||||
XCOMM When building outside an X11 source tree:
|
||||
! XCOMM EXTRA_INCLUDES = -I.
|
||||
|
||||
#ifdef SharedXawReqs
|
||||
REQUIREDLIBS = SharedXawReqs
|
||||
--- 22,28 ----
|
||||
#define IncSubSubdir Xaw3d
|
||||
|
||||
XCOMM When building outside an X11 source tree:
|
||||
! EXTRA_INCLUDES = -I.
|
||||
|
||||
#ifdef SharedXawReqs
|
||||
REQUIREDLIBS = SharedXawReqs
|
||||
diff -rc xc-orig/lib/Xaw3d/laylex.l xc/lib/Xaw3d/laylex.l
|
||||
*** xc-orig/lib/Xaw3d/laylex.l 1996-10-15 16:41:26.000000000 +0200
|
||||
--- xc/lib/Xaw3d/laylex.l 2005-11-11 20:03:50.000000000 +0100
|
||||
***************
|
||||
*** 26,31 ****
|
||||
--- 26,33 ----
|
||||
#ifdef __STDC__
|
||||
static int count ();
|
||||
#endif
|
||||
+
|
||||
+ static int LayYY_prev_more_offset = 0;
|
||||
%}
|
||||
%%
|
||||
vertical return VERTICAL;
|
12
pkgs/development/libraries/Xaw3d/default.nix
Normal file
12
pkgs/development/libraries/Xaw3d/default.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{stdenv, fetchurl, x11, xmkmf, makedepend, libXmu, libXpm, libXp, bison, flex}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "Xaw3d-1.5E";
|
||||
builder = ./builder.sh;
|
||||
src = fetchurl {
|
||||
url = http://freshmeat.net/redir/xaw3d/11835/url_tgz/Xaw3d-1.5E.tar.gz;
|
||||
md5 = "29ecfdcd6bcf47f62ecfd672d31269a1";
|
||||
};
|
||||
patches = [./config.patch];
|
||||
buildInputs = [x11 xmkmf makedepend libXmu libXpm libXp bison flex];
|
||||
}
|
8
pkgs/development/libraries/xlibs-wrapper/builder.sh
Normal file
8
pkgs/development/libraries/xlibs-wrapper/builder.sh
Normal file
|
@ -0,0 +1,8 @@
|
|||
source $stdenv/setup
|
||||
dontBuild=1
|
||||
dontMakeInstall=1
|
||||
nop() {
|
||||
sourceRoot=.
|
||||
}
|
||||
unpackPhase=nop
|
||||
genericBuild
|
10
pkgs/development/libraries/xlibs-wrapper/default.nix
Normal file
10
pkgs/development/libraries/xlibs-wrapper/default.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{stdenv, packages}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "xlibs-wrapper";
|
||||
builder = ./builder.sh;
|
||||
propagatedBuildInputs = packages;
|
||||
} // {
|
||||
# For compatability with XFree86.
|
||||
buildClientLibs = true;
|
||||
}
|
|
@ -1040,7 +1040,8 @@ rec {
|
|||
url = http://nix.cs.uu.nl/dist/tarballs/xorg/libXft-2.1.8.tar.bz2;
|
||||
md5 = "18e7a98444ece30ea5b51a24269f8c7c";
|
||||
};
|
||||
buildInputs = [pkgconfig libXrender freetype fontconfig ];
|
||||
buildInputs = [pkgconfig libXrender libX11 ];
|
||||
propagatedBuildInputs = [freetype fontconfig ];
|
||||
};
|
||||
|
||||
xsm = stdenv.mkDerivation {
|
||||
|
@ -1786,11 +1787,14 @@ rec {
|
|||
|
||||
xmkmf = stdenv.mkDerivation {
|
||||
name = "xmkmf-0.99.1";
|
||||
builder = ./xmkmf.sh;
|
||||
src = fetchurl {
|
||||
url = http://nix.cs.uu.nl/dist/tarballs/xorg/xmkmf-0.99.1.tar.bz2;
|
||||
md5 = "75013b6eeed99fd7b4e7913144a9de22";
|
||||
};
|
||||
buildInputs = [pkgconfig ];
|
||||
propagatedBuildInputs = [imake];
|
||||
inherit xorgcffiles;
|
||||
};
|
||||
|
||||
xorgcffiles = stdenv.mkDerivation {
|
||||
|
@ -1988,7 +1992,7 @@ rec {
|
|||
url = http://nix.cs.uu.nl/dist/tarballs/xorg/xclock-0.99.1.tar.bz2;
|
||||
md5 = "ec54b47ee229318cef76a3c86da9ef94";
|
||||
};
|
||||
buildInputs = [pkgconfig libX11 libXrender libXft libxkbfile ];
|
||||
buildInputs = [pkgconfig libX11 libXrender libXft libxkbfile libXaw ];
|
||||
};
|
||||
|
||||
xf86videoati = stdenv.mkDerivation {
|
||||
|
@ -2340,6 +2344,7 @@ rec {
|
|||
md5 = "a3b65703a80cc0582757c595c0875612";
|
||||
};
|
||||
buildInputs = [pkgconfig libSM libX11 xproto kbproto ];
|
||||
# !!! prop libSM
|
||||
};
|
||||
|
||||
editres = stdenv.mkDerivation {
|
||||
|
@ -2438,7 +2443,8 @@ rec {
|
|||
url = http://nix.cs.uu.nl/dist/tarballs/xorg/libXaw-0.99.1.tar.bz2;
|
||||
md5 = "731f8a6407765466d1170d609137a922";
|
||||
};
|
||||
buildInputs = [pkgconfig xproto libX11 libXext libXt libXmu libXpm libXp ];
|
||||
buildInputs = [pkgconfig xproto libX11 libXext libXt libXpm libXp ];
|
||||
propagatedBuildInputs = [libXmu];
|
||||
};
|
||||
|
||||
x11perf = stdenv.mkDerivation {
|
||||
|
|
11
pkgs/servers/x11/xorg/xmkmf.sh
Normal file
11
pkgs/servers/x11/xorg/xmkmf.sh
Normal file
|
@ -0,0 +1,11 @@
|
|||
source $stdenv/setup
|
||||
|
||||
postInstall=postInstall
|
||||
postInstall() {
|
||||
ensureDir $out/lib/X11/config
|
||||
ln -s $xorgcffiles/lib/X11/config/* $out/lib/X11/config
|
||||
touch $out/lib/X11/config/host.def # !!! hack
|
||||
touch $out/lib/X11/config/date.def # !!! hack
|
||||
}
|
||||
|
||||
genericBuild
|
|
@ -14,8 +14,18 @@ rec {
|
|||
|
||||
### Symbolic names.
|
||||
|
||||
x11 = xlibs.xlibs; # !!! should be `x11ClientLibs' or some such
|
||||
useOldXLibs = true;
|
||||
|
||||
# `xlibs' is the set of X library components. This used to be the
|
||||
# old modular X libraries project (called `xlibs') but now it's just
|
||||
# the set of packages in the modular X.org tree (which also includes
|
||||
# non-library components like the server, drivers, fonts, etc.).
|
||||
xlibs = if useOldXLibs then xlibsOld else xorg;
|
||||
|
||||
# `xlibs.xlibs' is a wrapper packages that combines libX11 and a bunch
|
||||
# of other basic X client libraries.
|
||||
x11 = if useOldXLibs then xlibsOld.xlibs else xlibsWrapper;
|
||||
|
||||
|
||||
### BUILD SUPPORT
|
||||
|
||||
|
@ -979,13 +989,25 @@ rec {
|
|||
inherit fetchurl stdenv freetype expat;
|
||||
};
|
||||
|
||||
xlibs = (import ../development/libraries/xlibs) {
|
||||
xlibsOld = (import ../development/libraries/xlibs) {
|
||||
inherit fetchurl stdenv pkgconfig freetype fontconfig;
|
||||
};
|
||||
|
||||
# Xaw3d = import ../development/libraries/Xaw3d {
|
||||
# inherit fetchurl stdenv;
|
||||
# };
|
||||
xlibsWrapper = import ../development/libraries/xlibs-wrapper {
|
||||
inherit stdenv;
|
||||
packages = [
|
||||
freetype fontconfig xlibs.xproto xlibs.libX11 xlibs.libXt
|
||||
xlibs.libXft xlibs.libXext xlibs.libSM xlibs.libICE
|
||||
xlibs.xextproto
|
||||
];
|
||||
};
|
||||
|
||||
Xaw3d = import ../development/libraries/Xaw3d {
|
||||
inherit fetchurl stdenv x11 bison;
|
||||
flex = flexnew;
|
||||
# !!! makedepend is impure
|
||||
inherit (xlibs) xmkmf makedepend libXmu libXpm libXp;
|
||||
};
|
||||
|
||||
libdrm = import ../development/libraries/libdrm {
|
||||
inherit fetchurl stdenv;
|
||||
|
@ -1727,7 +1749,9 @@ rec {
|
|||
};
|
||||
|
||||
emacs = (import ../applications/editors/emacs) {
|
||||
inherit fetchurl stdenv xlibs;
|
||||
inherit fetchurl stdenv x11 Xaw3d;
|
||||
inherit (xlibs) libXaw libXpm;
|
||||
xaw3dSupport = false;
|
||||
};
|
||||
|
||||
nxml = (import ../applications/editors/emacs/modes/nxml) {
|
||||
|
|
Loading…
Reference in a new issue