mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-26 04:43:09 +03:00
* 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
@ -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 {
|
stdenv.mkDerivation {
|
||||||
name = "emacs-21.3";
|
name = "emacs-21.4a-Z";
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://nix.cs.uu.nl/dist/tarballs/emacs-21.3.tar.gz;
|
url = http://ftp.gnu.org/pub/gnu/emacs/emacs-21.4a.tar.gz;
|
||||||
md5 = "a0bab457cbf5b4f8eb99d1d0a3ada420";
|
md5 = "8f9d97cbd126121bd5d97e5e31168a87";
|
||||||
};
|
};
|
||||||
patches = [./patchfile];
|
patches = [./crt.patch];
|
||||||
inherit (xlibs) libXaw libX11;
|
buildInputs = [
|
||||||
|
x11
|
||||||
buildInputs = [xlibs.libXaw xlibs.libX11];
|
(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;
|
url = http://nix.cs.uu.nl/dist/tarballs/xorg/libXft-2.1.8.tar.bz2;
|
||||||
md5 = "18e7a98444ece30ea5b51a24269f8c7c";
|
md5 = "18e7a98444ece30ea5b51a24269f8c7c";
|
||||||
};
|
};
|
||||||
buildInputs = [pkgconfig libXrender freetype fontconfig ];
|
buildInputs = [pkgconfig libXrender libX11 ];
|
||||||
|
propagatedBuildInputs = [freetype fontconfig ];
|
||||||
};
|
};
|
||||||
|
|
||||||
xsm = stdenv.mkDerivation {
|
xsm = stdenv.mkDerivation {
|
||||||
@ -1786,11 +1787,14 @@ rec {
|
|||||||
|
|
||||||
xmkmf = stdenv.mkDerivation {
|
xmkmf = stdenv.mkDerivation {
|
||||||
name = "xmkmf-0.99.1";
|
name = "xmkmf-0.99.1";
|
||||||
|
builder = ./xmkmf.sh;
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://nix.cs.uu.nl/dist/tarballs/xorg/xmkmf-0.99.1.tar.bz2;
|
url = http://nix.cs.uu.nl/dist/tarballs/xorg/xmkmf-0.99.1.tar.bz2;
|
||||||
md5 = "75013b6eeed99fd7b4e7913144a9de22";
|
md5 = "75013b6eeed99fd7b4e7913144a9de22";
|
||||||
};
|
};
|
||||||
buildInputs = [pkgconfig ];
|
buildInputs = [pkgconfig ];
|
||||||
|
propagatedBuildInputs = [imake];
|
||||||
|
inherit xorgcffiles;
|
||||||
};
|
};
|
||||||
|
|
||||||
xorgcffiles = stdenv.mkDerivation {
|
xorgcffiles = stdenv.mkDerivation {
|
||||||
@ -1988,7 +1992,7 @@ rec {
|
|||||||
url = http://nix.cs.uu.nl/dist/tarballs/xorg/xclock-0.99.1.tar.bz2;
|
url = http://nix.cs.uu.nl/dist/tarballs/xorg/xclock-0.99.1.tar.bz2;
|
||||||
md5 = "ec54b47ee229318cef76a3c86da9ef94";
|
md5 = "ec54b47ee229318cef76a3c86da9ef94";
|
||||||
};
|
};
|
||||||
buildInputs = [pkgconfig libX11 libXrender libXft libxkbfile ];
|
buildInputs = [pkgconfig libX11 libXrender libXft libxkbfile libXaw ];
|
||||||
};
|
};
|
||||||
|
|
||||||
xf86videoati = stdenv.mkDerivation {
|
xf86videoati = stdenv.mkDerivation {
|
||||||
@ -2340,6 +2344,7 @@ rec {
|
|||||||
md5 = "a3b65703a80cc0582757c595c0875612";
|
md5 = "a3b65703a80cc0582757c595c0875612";
|
||||||
};
|
};
|
||||||
buildInputs = [pkgconfig libSM libX11 xproto kbproto ];
|
buildInputs = [pkgconfig libSM libX11 xproto kbproto ];
|
||||||
|
# !!! prop libSM
|
||||||
};
|
};
|
||||||
|
|
||||||
editres = stdenv.mkDerivation {
|
editres = stdenv.mkDerivation {
|
||||||
@ -2438,7 +2443,8 @@ rec {
|
|||||||
url = http://nix.cs.uu.nl/dist/tarballs/xorg/libXaw-0.99.1.tar.bz2;
|
url = http://nix.cs.uu.nl/dist/tarballs/xorg/libXaw-0.99.1.tar.bz2;
|
||||||
md5 = "731f8a6407765466d1170d609137a922";
|
md5 = "731f8a6407765466d1170d609137a922";
|
||||||
};
|
};
|
||||||
buildInputs = [pkgconfig xproto libX11 libXext libXt libXmu libXpm libXp ];
|
buildInputs = [pkgconfig xproto libX11 libXext libXt libXpm libXp ];
|
||||||
|
propagatedBuildInputs = [libXmu];
|
||||||
};
|
};
|
||||||
|
|
||||||
x11perf = stdenv.mkDerivation {
|
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,7 +14,17 @@ rec {
|
|||||||
|
|
||||||
### Symbolic names.
|
### 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
|
### BUILD SUPPORT
|
||||||
@ -979,13 +989,25 @@ rec {
|
|||||||
inherit fetchurl stdenv freetype expat;
|
inherit fetchurl stdenv freetype expat;
|
||||||
};
|
};
|
||||||
|
|
||||||
xlibs = (import ../development/libraries/xlibs) {
|
xlibsOld = (import ../development/libraries/xlibs) {
|
||||||
inherit fetchurl stdenv pkgconfig freetype fontconfig;
|
inherit fetchurl stdenv pkgconfig freetype fontconfig;
|
||||||
};
|
};
|
||||||
|
|
||||||
# Xaw3d = import ../development/libraries/Xaw3d {
|
xlibsWrapper = import ../development/libraries/xlibs-wrapper {
|
||||||
# inherit fetchurl stdenv;
|
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 {
|
libdrm = import ../development/libraries/libdrm {
|
||||||
inherit fetchurl stdenv;
|
inherit fetchurl stdenv;
|
||||||
@ -1727,7 +1749,9 @@ rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
emacs = (import ../applications/editors/emacs) {
|
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) {
|
nxml = (import ../applications/editors/emacs/modes/nxml) {
|
||||||
|
Loading…
Reference in New Issue
Block a user