Merge pull request #12904 from tg-x/wayland-wm
wayland window managers: orbment, sway, velox
This commit is contained in:
commit
e47d323a10
34
pkgs/applications/misc/dmenu/wayland.nix
Normal file
34
pkgs/applications/misc/dmenu/wayland.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{stdenv, fetchurl #, libX11, libXinerama, enableXft, libXft, zlib
|
||||
, swc, wld, wayland, libxkbcommon, pixman, fontconfig
|
||||
}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dmenu-wayland-${version}";
|
||||
version = "git-2014-11-02";
|
||||
rev = "6e08b77428cc3c406ed2e90d4cae6c41df76341e";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/michaelforney/dmenu/archive/${rev}.tar.gz";
|
||||
sha256 = "d0f73e442baf44a93a3b9d41a72e9cfa14f54af6049c90549f516722e3f88019";
|
||||
};
|
||||
|
||||
buildInputs = [ swc wld wayland libxkbcommon pixman fontconfig ];
|
||||
|
||||
postPatch = ''
|
||||
sed -ri -e 's!\<(dmenu|dmenu_path)\>!'"$out/bin"'/&!g' dmenu_run
|
||||
'';
|
||||
|
||||
preConfigure = [
|
||||
''sed -i "s@PREFIX = /usr/local@PREFIX = $out@g; s@/usr/share/swc@$(echo "$nativeBuildInputs" | grep -o '[^ ]*-swc-[^ ]*')/share/swc@g" config.mk''
|
||||
];
|
||||
|
||||
meta = {
|
||||
description = "a generic, highly customizable, and efficient menu for the X Window System";
|
||||
homepage = http://tools.suckless.org/dmenu;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with stdenv.lib.maintainers; [ ];
|
||||
platforms = with stdenv.lib.platforms; all;
|
||||
};
|
||||
}
|
34
pkgs/applications/misc/st/wayland.nix
Normal file
34
pkgs/applications/misc/st/wayland.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{ stdenv, fetchurl, pkgconfig, writeText
|
||||
, ncurses, wayland, wld, libxkbcommon, fontconfig, pixman
|
||||
, conf? null}:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "st-wayland-${version}";
|
||||
version = "git-2015-08-29";
|
||||
rev = "61b47b76a09599c8093214e28c48938f5b424daa";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/michaelforney/st/archive/${rev}.tar.gz";
|
||||
sha256 = "7164da135f02405dba5ae3131dfd896e072df29ac6c0928f3b887beffb8a7d97";
|
||||
};
|
||||
|
||||
configFile = optionalString (conf!=null) (writeText "config.def.h" conf);
|
||||
preBuild = optionalString (conf!=null) "cp ${configFile} config.def.h";
|
||||
|
||||
buildInputs = [ pkgconfig ncurses wayland wld libxkbcommon fontconfig pixman ];
|
||||
|
||||
NIX_LDFLAGS = "-lfontconfig";
|
||||
|
||||
installPhase = ''
|
||||
TERMINFO=$out/share/terminfo make install PREFIX=$out
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://st.suckless.org/;
|
||||
license = stdenv.lib.licenses.mit;
|
||||
maintainers = with maintainers; [ ];
|
||||
platforms = with platforms; linux;
|
||||
};
|
||||
}
|
57
pkgs/applications/window-managers/orbment/default.nix
Normal file
57
pkgs/applications/window-managers/orbment/default.nix
Normal file
@ -0,0 +1,57 @@
|
||||
{ lib, stdenv, fetchurl, makeWrapper, cmake, pkgconfig
|
||||
, wlc, dbus_libs, wayland, libxkbcommon, pixman, libinput, udev, zlib, libpng, libdrm, libX11
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "orbment-${version}";
|
||||
version = "git-2016-01-31";
|
||||
repo = "https://github.com/Cloudef/orbment";
|
||||
rev = "7f649fb76649f826dd29578a5ec41bb561b116eb";
|
||||
|
||||
chck_repo = "https://github.com/Cloudef/chck";
|
||||
chck_rev = "fe5e2606b7242aa5d89af2ea9fd048821128d2bc";
|
||||
inihck_repo = "https://github.com/Cloudef/inihck";
|
||||
inihck_rev = "462cbd5fd67226714ac2bdfe4ceaec8e251b2d9c";
|
||||
|
||||
srcs = [
|
||||
(fetchurl {
|
||||
url = "${repo}/archive/${rev}.tar.gz";
|
||||
sha256 = "5a426da0d5f4487911cfe9226865ed0cd1a7cdf253eec19d5eadc4b0d14a2ea0";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "${chck_repo}/archive/${chck_rev}.tar.gz";
|
||||
sha256 = "ca316b544c48e837c32f08d613be42da10e0a3251e8e4488d1848b91ef92ab9e";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "${inihck_repo}/archive/${inihck_rev}.tar.gz";
|
||||
sha256 = "d21f2ac25eafed285614f5f0ef7a1014d629ba382f4e64bc89fe2c3e98c2777f";
|
||||
})
|
||||
];
|
||||
|
||||
sourceRoot = "orbment-${rev}";
|
||||
postUnpack = ''
|
||||
rm -rf orbment-${rev}/lib/chck orbment-${rev}/lib/inihck
|
||||
ln -s ../../chck-${chck_rev} orbment-${rev}/lib/chck
|
||||
ln -s ../../inihck-${inihck_rev} orbment-${rev}/lib/inihck
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
||||
buildInputs = [ makeWrapper wlc dbus_libs wayland libxkbcommon pixman libinput udev zlib libpng libX11 libdrm ];
|
||||
makeFlags = "PREFIX=$(out)";
|
||||
installPhase = "PREFIX=$out make install";
|
||||
|
||||
LD_LIBRARY_PATH = lib.makeLibraryPath [ libX11 libdrm dbus_libs ];
|
||||
preFixup = ''
|
||||
wrapProgram $out/bin/orbment \
|
||||
--prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}";
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Modular Wayland compositor";
|
||||
homepage = repo;
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
40
pkgs/applications/window-managers/sway/default.nix
Normal file
40
pkgs/applications/window-managers/sway/default.nix
Normal file
@ -0,0 +1,40 @@
|
||||
{ lib, stdenv, fetchurl, makeWrapper, cmake, pkgconfig
|
||||
, wayland, wlc, libxkbcommon, pixman, fontconfig, pcre, json_c, asciidoc, libxslt, dbus_libs
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "sway-${version}";
|
||||
version = "git-2016-02-08";
|
||||
repo = "https://github.com/SirCmpwn/sway";
|
||||
rev = "16e904634c65128610537bed7fcb16ac3bb45165";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${repo}/archive/${rev}.tar.gz";
|
||||
sha256 = "52d6c4b49fea69e2a2c1b44b858908b7736301bdb9ed483c294bc54bb40e872e";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
||||
buildInputs = [ makeWrapper wayland wlc libxkbcommon pixman fontconfig pcre json_c asciidoc libxslt dbus_libs ];
|
||||
|
||||
patchPhase = ''
|
||||
sed -i s@/etc/sway@$out/etc/sway@g CMakeLists.txt;
|
||||
'';
|
||||
|
||||
makeFlags = "PREFIX=$(out)";
|
||||
installPhase = "PREFIX=$out make install";
|
||||
|
||||
LD_LIBRARY_PATH = lib.makeLibraryPath [ wlc dbus_libs ];
|
||||
preFixup = ''
|
||||
wrapProgram $out/bin/sway \
|
||||
--prefix LD_LIBRARY_PATH : "${LD_LIBRARY_PATH}";
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "i3-compatible window manager for Wayland";
|
||||
homepage = "http://swaywm.org";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
31
pkgs/applications/window-managers/velox/default.nix
Normal file
31
pkgs/applications/window-managers/velox/default.nix
Normal file
@ -0,0 +1,31 @@
|
||||
{ lib, stdenv, fetchurl, fetchFromGitHub, pkgconfig
|
||||
, swc, libxkbcommon
|
||||
, wld, wayland, pixman, fontconfig
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "velox-${version}";
|
||||
version = "git-2015-11-03";
|
||||
repo = "https://github.com/michaelforney/velox";
|
||||
rev = "53b41348df7e37886cab012609923255e4397419";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${repo}/archive/${rev}.tar.gz";
|
||||
sha256 = "e49583efbbe62ea30f0084491ff757dff683f35eef6e9b68aa413e0b50c4bf20";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
buildInputs = [ swc libxkbcommon wld wayland pixman fontconfig ];
|
||||
|
||||
makeFlags = "PREFIX=$(out)";
|
||||
installPhase = "PREFIX=$out make install";
|
||||
|
||||
meta = {
|
||||
description = "velox window manager";
|
||||
homepage = "https://github.com/michaelforney/velox";
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
30
pkgs/development/libraries/swc/default.nix
Normal file
30
pkgs/development/libraries/swc/default.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ lib, stdenv, fetchurl, pkgconfig
|
||||
, wld, wayland, xwayland, fontconfig, pixman, libdrm, libinput, libevdev, libxkbcommon, libxcb, xcbutilwm
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "swc-${version}";
|
||||
version = "git-2016-02-09";
|
||||
repo = "https://github.com/michaelforney/swc";
|
||||
rev = "1da0ef13fddc572accea12439a4471b4d2f64ddd";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${repo}/archive/${rev}.tar.gz";
|
||||
sha256 = "d1894612d8aa1ce828efb78f1570290f84bba6563e21eb777e08c3c3859b7bbe";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
buildInputs = [ wld wayland xwayland fontconfig pixman libdrm libinput libevdev libxkbcommon libxcb xcbutilwm ];
|
||||
|
||||
makeFlags = "PREFIX=$(out)";
|
||||
installPhase = "PREFIX=$out make install";
|
||||
|
||||
meta = {
|
||||
description = "A library for making a simple Wayland compositor";
|
||||
homepage = repo;
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
68
pkgs/development/libraries/wlc/default.nix
Normal file
68
pkgs/development/libraries/wlc/default.nix
Normal file
@ -0,0 +1,68 @@
|
||||
{ lib, stdenv, fetchurl, fetchgit, cmake, pkgconfig
|
||||
, glibc, wayland, pixman, libxkbcommon, libinput, libxcb, xcbutilwm, xcbutilimage, mesa, libdrm, udev, systemd, dbus_libs
|
||||
, libpthreadstubs, libX11, libXau, libXdmcp, libXext, libXdamage, libxshmfence, libXxf86vm
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "wlc-${version}";
|
||||
version = "git-2016-01-31";
|
||||
repo = "https://github.com/Cloudef/wlc";
|
||||
rev = "faa4d3cba670576c202b0844e087b13538f772c5";
|
||||
|
||||
chck_repo = "https://github.com/Cloudef/chck";
|
||||
chck_rev = "fe5e2606b7242aa5d89af2ea9fd048821128d2bc";
|
||||
|
||||
wl_protos_repo = "git://anongit.freedesktop.org/wayland/wayland-protocols";
|
||||
wl_protos_rev = "0b05b70f9da245582f01581be4ca36db683682b8";
|
||||
wl_protos_rev_short = "0b05b70";
|
||||
|
||||
srcs = [
|
||||
(fetchurl {
|
||||
url = "${repo}/archive/${rev}.tar.gz";
|
||||
sha256 = "cdf6a772dc90060d57aa1a915a4daff0f79802c141fec92ef2710245d727af67";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "${chck_repo}/archive/${chck_rev}.tar.gz";
|
||||
sha256 = "ca316b544c48e837c32f08d613be42da10e0a3251e8e4488d1848b91ef92ab9e";
|
||||
})
|
||||
(fetchgit {
|
||||
url = "${wl_protos_repo}";
|
||||
rev = "${wl_protos_rev}";
|
||||
sha256 = "9c1cfbb570142b2109ecef4d11b17f25e94ed2e0569f522ea56f244c60465224";
|
||||
})
|
||||
];
|
||||
|
||||
sourceRoot = "wlc-${rev}";
|
||||
postUnpack = ''
|
||||
rm -rf wlc-${rev}/lib/chck wlc-${rev}/protos/wayland-protocols
|
||||
ln -s ../../chck-${chck_rev} wlc-${rev}/lib/chck
|
||||
ln -s ../../wayland-protocols-${wl_protos_rev_short} wlc-${rev}/protos/wayland-protocols
|
||||
'';
|
||||
|
||||
patchPhase = ''
|
||||
( echo '#include <stdlib.h>';
|
||||
echo '#include <libdrm/drm.h>';
|
||||
cat src/platform/backend/drm.c
|
||||
) >src/platform/backend/drm.c-fix;
|
||||
mv src/platform/backend/drm.c-fix src/platform/backend/drm.c;
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
||||
buildInputs = [
|
||||
wayland pixman libxkbcommon libinput libxcb xcbutilwm xcbutilimage mesa libdrm udev
|
||||
libpthreadstubs libX11 libXau libXdmcp libXext libXdamage libxshmfence libXxf86vm
|
||||
systemd dbus_libs
|
||||
];
|
||||
|
||||
makeFlags = "PREFIX=$(out) -lchck";
|
||||
installPhase = "PREFIX=$out make install";
|
||||
|
||||
meta = {
|
||||
description = "A library for making a simple Wayland compositor";
|
||||
homepage = repo;
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
30
pkgs/development/libraries/wld/default.nix
Normal file
30
pkgs/development/libraries/wld/default.nix
Normal file
@ -0,0 +1,30 @@
|
||||
{ lib, stdenv, fetchurl, pkgconfig
|
||||
, wayland, fontconfig, pixman, freetype, libdrm
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "wld-${version}";
|
||||
version = "git-2015-09-01";
|
||||
repo = "https://github.com/michaelforney/wld";
|
||||
rev = "efe0a1ed1856a2e4a1893ed0f2d7dde43b5627f0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${repo}/archive/${rev}.tar.gz";
|
||||
sha256 = "09388f7828e18c75e7b8d41454903886a725d7a868f60e66c128bd7d2e953ee1";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
buildInputs = [ wayland fontconfig pixman freetype libdrm ];
|
||||
|
||||
makeFlags = "PREFIX=$(out)";
|
||||
installPhase = "PREFIX=$out make install";
|
||||
|
||||
meta = {
|
||||
description = "A primitive drawing library targeted at Wayland";
|
||||
homepage = repo;
|
||||
license = lib.licenses.mit;
|
||||
platforms = lib.platforms.linux;
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
@ -11579,6 +11579,8 @@ let
|
||||
|
||||
dmenu = callPackage ../applications/misc/dmenu { };
|
||||
|
||||
dmenu-wayland = callPackage ../applications/misc/dmenu/wayland.nix { };
|
||||
|
||||
dmenu2 = callPackage ../applications/misc/dmenu2 { };
|
||||
|
||||
dmtx = dmtx-utils;
|
||||
@ -12299,6 +12301,14 @@ let
|
||||
|
||||
spectrwm = callPackage ../applications/window-managers/spectrwm { };
|
||||
|
||||
wlc = callPackage ../development/libraries/wlc { };
|
||||
orbment = callPackage ../applications/window-managers/orbment { };
|
||||
sway = callPackage ../applications/window-managers/sway { };
|
||||
|
||||
swc = callPackage ../development/libraries/swc { };
|
||||
wld = callPackage ../development/libraries/wld { };
|
||||
velox = callPackage ../applications/window-managers/velox { };
|
||||
|
||||
i3 = callPackage ../applications/window-managers/i3 {
|
||||
xcb-util-cursor = if stdenv.isDarwin then xcb-util-cursor-HEAD else xcb-util-cursor;
|
||||
};
|
||||
@ -13295,6 +13305,10 @@ let
|
||||
conf = config.st.conf or null;
|
||||
};
|
||||
|
||||
st-wayland = callPackage ../applications/misc/st/wayland.nix {
|
||||
conf = config.st.conf or null;
|
||||
};
|
||||
|
||||
stag = callPackage ../applications/misc/stag {
|
||||
curses = ncurses;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user