2017-02-25 13:15:21 +00:00
|
|
|
{ stdenv, fetchFromGitHub, fluxbox, xscreensaver, desktop_file_utils, numlockx,
|
2017-06-29 12:13:09 +01:00
|
|
|
xorg, qtbase, qtsvg, qtmultimedia, qtx11extras, qmake, qttools
|
2016-11-01 19:06:39 +00:00
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
name = "lumina-${version}";
|
2017-06-29 12:13:09 +01:00
|
|
|
version = "1.3.0";
|
2016-11-01 19:06:39 +00:00
|
|
|
|
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "trueos";
|
|
|
|
repo = "lumina";
|
|
|
|
rev = "v${version}";
|
2017-06-29 12:13:09 +01:00
|
|
|
sha256 = "13kwlhv2qscrn52xvx0n1sqbl96fkcb5r1ixa0wazflx8dfl9ndn";
|
2016-11-01 19:06:39 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
nativeBuildInputs = [
|
2017-06-02 16:40:19 +01:00
|
|
|
qmake
|
2017-02-25 13:15:21 +00:00
|
|
|
qttools
|
2016-11-01 19:06:39 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
buildInputs = [
|
|
|
|
xorg.libxcb
|
|
|
|
xorg.xcbutilwm
|
|
|
|
xorg.xcbutilimage
|
2017-02-25 13:15:21 +00:00
|
|
|
qtbase
|
|
|
|
qtsvg
|
|
|
|
qtmultimedia
|
|
|
|
qtx11extras
|
2016-11-01 19:06:39 +00:00
|
|
|
fluxbox
|
|
|
|
xscreensaver
|
|
|
|
desktop_file_utils
|
|
|
|
numlockx
|
|
|
|
];
|
|
|
|
|
|
|
|
patches = [
|
|
|
|
./avoid-absolute-path-on-sessdir.patch
|
|
|
|
./LuminaOS-NixOS.cpp.patch
|
|
|
|
];
|
|
|
|
|
|
|
|
prePatch = ''
|
|
|
|
# Copy Gentoo setup as NixOS setup and then patch it
|
|
|
|
# TODO: write a complete NixOS setup?
|
|
|
|
cp -a src-qt5/core/libLumina/LuminaOS-Gentoo.cpp src-qt5/core/libLumina/LuminaOS-NixOS.cpp
|
|
|
|
'';
|
|
|
|
|
|
|
|
postPatch = ''
|
|
|
|
# Fix location of fluxbox styles
|
|
|
|
substituteInPlace src-qt5/core-utils/lumina-config/pages/page_fluxbox_settings.cpp \
|
|
|
|
--replace 'LOS::AppPrefix()+"share/fluxbox' "\"${fluxbox}/share/fluxbox"
|
|
|
|
'';
|
|
|
|
|
2016-11-09 11:07:55 +00:00
|
|
|
qmakeFlags = [ "LINUX_DISTRO=NixOS" "CONFIG+=WITH_I18N" ];
|
2016-11-01 19:06:39 +00:00
|
|
|
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
|
|
|
|
meta = with stdenv.lib; {
|
|
|
|
description = "A lightweight, portable desktop environment";
|
|
|
|
longDescription = ''
|
|
|
|
The Lumina Desktop Environment is a lightweight system interface
|
|
|
|
that is designed for use on any Unix-like operating system. It
|
|
|
|
is based on QT5.
|
|
|
|
'';
|
|
|
|
homepage = https://lumina-desktop.org;
|
|
|
|
license = licenses.bsd3;
|
|
|
|
platforms = platforms.unix;
|
|
|
|
maintainers = [ maintainers.romildo ];
|
|
|
|
};
|
|
|
|
}
|