Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 stdenv,
4 fetchurl,
5 libX11,
6 bison,
7 ksh,
8 perl,
9 libXinerama,
10 libXt,
11 libXext,
12 libtirpc,
13 motif,
14 libXft,
15 xbitmaps,
16 libjpeg,
17 libXmu,
18 libXdmcp,
19 libXScrnSaver,
20 bdftopcf,
21 ncompress,
22 mkfontdir,
23 tcl,
24 libXaw,
25 libxcrypt,
26 glibcLocales,
27 autoPatchelfHook,
28 makeWrapper,
29 xset,
30 xrdb,
31 autoreconfHook,
32 opensp,
33 flex,
34 libXpm,
35 rpcsvc-proto,
36}:
37
38stdenv.mkDerivation rec {
39 pname = "cde";
40 version = "2.5.1";
41
42 src = fetchurl {
43 url = "mirror://sourceforge/cdesktopenv/cde-${version}.tar.gz";
44 hash = "sha256-caslezz2kbljwApv5igDPH345PK2YqQUTi1YZgvM1Dw=";
45 };
46
47 postPatch = ''
48 for f in $(find . -type f ! -path doc/common); do
49 sed -i \
50 -e "s|/usr/dt|$out|g" \
51 -e "s|/etc/dt|$out/etc|g" \
52 -e "s|\$(DESTDIR)/var|$out/var|g" \
53 "$f"
54 done
55
56 for f in $(find . -type f -name "Makefile.am"); do
57 sed -i \
58 -e "/chown /d" \
59 -e "/chgrp /d" \
60 -e "s/chmod 4755/chmod 755/g" \
61 "$f"
62 done
63
64 substituteInPlace configure.ac \
65 --replace "-I/usr/include/tirpc" "-I${libtirpc.dev}/include/tirpc"
66
67 patchShebangs autogen.sh config.rpath contrib programs
68 '';
69
70 buildInputs = [
71 libX11
72 libXinerama
73 libXt
74 libXext
75 libtirpc
76 motif
77 libXft
78 xbitmaps
79 libjpeg
80 libXmu
81 libXdmcp
82 libXScrnSaver
83 tcl
84 libXaw
85 ksh
86 libxcrypt
87 libXpm
88 ];
89 nativeBuildInputs = [
90 bison
91 ncompress
92 autoPatchelfHook
93 makeWrapper
94 autoreconfHook
95 bdftopcf
96 mkfontdir
97 xset
98 xrdb
99 opensp
100 perl
101 flex
102 rpcsvc-proto
103 ];
104
105 enableParallelBuilding = true;
106
107 preConfigure = ''
108 export LOCALE_ARCHIVE="${glibcLocales}/lib/locale/locale-archive"
109 '';
110
111 configureFlags = [
112 "--with-tcl=${tcl}/lib"
113 ];
114
115 preInstall = ''
116 mkdir -p $out/opt/dt/bin
117 '';
118
119 meta = with lib; {
120 description = "Common Desktop Environment";
121 homepage = "https://sourceforge.net/projects/cdesktopenv/";
122 license = licenses.lgpl2;
123 maintainers = [ ];
124 platforms = platforms.linux;
125 };
126}