cdesktopenv: init at 2019-11-30

This commit is contained in:
gnidorah 2019-12-07 13:19:10 +03:00
parent 5425557214
commit c527e31c99
4 changed files with 133 additions and 1 deletions

View File

@ -0,0 +1,55 @@
{ config, lib, pkgs, ... }:
with lib;
let
xcfg = config.services.xserver;
cfg = xcfg.desktopManager.cde;
in {
options.services.xserver.desktopManager.cde = {
enable = mkEnableOption "Common Desktop Environment";
};
config = mkIf (xcfg.enable && cfg.enable) {
services.rpcbind.enable = true;
services.xinetd.enable = true;
services.xinetd.services = [
{
name = "cmsd";
protocol = "udp";
user = "root";
server = "${pkgs.cdesktopenv}/opt/dt/bin/rpc.cmsd";
extraConfig = ''
type = RPC UNLISTED
rpc_number = 100068
rpc_version = 2-5
only_from = 127.0.0.1/0
'';
}
];
users.groups.mail = {};
security.wrappers = {
dtmail = {
source = "${pkgs.cdesktopenv}/bin/dtmail";
group = "mail";
setgid = true;
};
};
system.activationScripts.setup-cde = ''
mkdir -p /var/dt/{tmp,appconfig/appmanager}
chmod a+w+t /var/dt/{tmp,appconfig/appmanager}
'';
services.xserver.desktopManager.session = [
{ name = "CDE";
start = ''
exec ${pkgs.cdesktopenv}/opt/dt/bin/Xsession
'';
}];
};
meta.maintainers = [ maintainers.gnidorah ];
}

View File

@ -20,7 +20,7 @@ in
imports = [ imports = [
./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix ./lxqt.nix ./enlightenment.nix ./gnome3.nix ./kodi.nix ./maxx.nix
./mate.nix ./pantheon.nix ./surf-display.nix ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix
]; ];
options = { options = {

View File

@ -0,0 +1,75 @@
{ stdenv, fetchgit, xorgproto, libX11, bison, ksh, perl, gnum4
, libXinerama, libXt, libXext, libtirpc, motif, libXft, xbitmaps
, libjpeg, libXmu, libXdmcp, libXScrnSaver, symlinkJoin, bdftopcf
, ncompress, mkfontdir, tcl, libXaw, gcc, glibcLocales, gawk
, autoPatchelfHook, libredirect, makeWrapper, xset, xrdb, fakeroot }:
let
x11ProjectRoot = symlinkJoin {
name = "x11ProjectRoot";
paths = [
bdftopcf mkfontdir
xset # fonts
xrdb # session load
];
};
in stdenv.mkDerivation rec {
version = "2019-11-30";
name = "cde-${version}";
src = fetchgit {
url = "https://git.code.sf.net/p/cdesktopenv/code";
rev = "5cebd7c4da1afea353a3baef250e31a4cf867bc5";
sha256 = "06wvnb3n8hn98kxvmrf6v3lyqp8bxpzl8wrixlw9jinmsivfs4b9";
};
setSourceRoot = ''export sourceRoot="$(echo */cde)"'';
buildInputs = [
libX11 libXinerama libXt libXext libtirpc motif libXft xbitmaps
libjpeg libXmu libXdmcp libXScrnSaver tcl libXaw ksh
];
nativeBuildInputs = [
bison ncompress gawk autoPatchelfHook makeWrapper fakeroot
];
makeFlags = [
"World"
"BOOTSTRAPCFLAGS=-I${xorgproto}/include/X11"
"IMAKECPP=cpp"
"LOCALE_ARCHIVE=${glibcLocales}/lib/locale/locale-archive"
];
preBuild = ''
while IFS= read -r -d ''$'\0' i; do
substituteInPlace "$i" --replace /usr/dt $out/opt/dt
done < <(find "." -type f -exec grep -Iq /usr/dt {} \; -and -print0)
cat >> config/cf/site.def << EOF
#define MakeFlagsToShellFlags(makeflags,shellcmd) set -e
#define KornShell ${ksh}/bin/ksh
#define PerlCmd ${perl}/bin/perl
#define M4Cmd ${gnum4}/bin/m4
#define X11ProjectRoot ${x11ProjectRoot}
#define CppCmd ${gcc}/bin/cpp
TIRPCINC = -I${libtirpc.dev}/include/tirpc
EOF
patchShebangs .
unset AR
'';
installPhase = ''
fakeroot admin/IntegTools/dbTools/installCDE -s . -DontRunScripts
mkdir -p $out/bin
mv $out/opt/dt/bin/dtmail $out/bin
'';
meta = with stdenv.lib; {
description = "Common Desktop Environment";
homepage = https://sourceforge.net/projects/cdesktopenv/;
license = licenses.lgpl2;
maintainers = [ maintainers.gnidorah ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View File

@ -23339,6 +23339,8 @@ in
### DESKTOP ENVIRONMENTS ### DESKTOP ENVIRONMENTS
cdesktopenv = callPackage ../desktops/cdesktopenv { };
cinnamon = recurseIntoAttrs (callPackage ../desktops/cinnamon { }); cinnamon = recurseIntoAttrs (callPackage ../desktops/cinnamon { });
deepin = recurseIntoAttrs (import ../desktops/deepin { deepin = recurseIntoAttrs (import ../desktops/deepin {