diff options
Diffstat (limited to 'pkgs/applications/window-managers')
15 files changed, 208 insertions, 105 deletions
diff --git a/pkgs/applications/window-managers/bar/default.nix b/pkgs/applications/window-managers/bar/default.nix index 46a19b90b8bb..964390d3b59b 100644 --- a/pkgs/applications/window-managers/bar/default.nix +++ b/pkgs/applications/window-managers/bar/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, perl, libxcb }: let - version = "1.0"; + version = "1.1"; in stdenv.mkDerivation rec { name = "bar-${version}"; src = fetchurl { url = "https://github.com/LemonBoy/bar/archive/v${version}.tar.gz"; - sha256 = "1n2vak2acs37sslxl250cnz9c3irif5z4s54wi9qjyxbfzr2h2nc"; + sha256 = "171ciw676cvj80zzbqfbg9nwix36zph0683zmqf279q9b9bmayan"; }; buildInputs = [ libxcb perl ]; diff --git a/pkgs/applications/window-managers/bar/xft.nix b/pkgs/applications/window-managers/bar/xft.nix new file mode 100644 index 000000000000..c671f1a4e037 --- /dev/null +++ b/pkgs/applications/window-managers/bar/xft.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchgit, perl, libxcb, libXft }: + +let + version = "2015-07-23"; +in + stdenv.mkDerivation rec { + name = "bar-xft-git-${version}"; + + src = fetchgit { + url = "https://github.com/krypt-n/bar"; + rev = "020a3e1848ce03287886e9ff80b0b443e9aed543"; + sha256 = "1xzs37syhlwyjfxnk36qnij5bqa0mi53lf1k851viw4qai2bfkgr"; + }; + + buildInputs = [ libxcb libXft perl ]; + + prePatch = ''sed -i "s@/usr@$out@" Makefile''; + + meta = { + description = "A lightweight xcb based bar with XFT-support"; + homepage = https://github.com/krypt-n/bar; + maintainers = [ stdenv.lib.maintainers.hiberno ]; + license = "Custom"; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/applications/window-managers/bspwm/default.nix b/pkgs/applications/window-managers/bspwm/default.nix index c17107ae97b8..fbe7e33baadc 100644 --- a/pkgs/applications/window-managers/bspwm/default.nix +++ b/pkgs/applications/window-managers/bspwm/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, libxcb, libXinerama, sxhkd, xcbutil, xcbutilkeysyms, xcbutilwm }: stdenv.mkDerivation rec { - name = "bspwm-0.8.9"; + name = "bspwm-0.9"; src = fetchurl { - url = "https://github.com/baskerville/bspwm/archive/0.8.9.tar.gz"; - sha256 = "750c76132914661d8d5edf7809e9b601977215d31e747dd780c60fd562913d55"; + url = "https://github.com/baskerville/bspwm/archive/0.9.tar.gz"; + sha256 = "1efb2db7b8a251bcc006d66a050cf66e9d311761c94890bebf91a32905042fde"; }; buildInputs = [ libxcb libXinerama xcbutil xcbutilkeysyms xcbutilwm ]; @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { meta = { description = "A tiling window manager based on binary space partitioning"; homepage = http://github.com/baskerville/bspwm; - maintainers = [ stdenv.lib.maintainers.meisternu ]; + maintainers = [ stdenv.lib.maintainers.meisternu stdenv.lib.maintainers.epitrochoid ]; license = stdenv.lib.licenses.bsd2; platforms = stdenv.lib.platforms.linux; }; diff --git a/pkgs/applications/window-managers/compiz/default.nix b/pkgs/applications/window-managers/compiz/default.nix index 6b9a579a08ba..977409d0ef1e 100644 --- a/pkgs/applications/window-managers/compiz/default.nix +++ b/pkgs/applications/window-managers/compiz/default.nix @@ -50,6 +50,9 @@ stdenv.mkDerivation rec { --prefix PYTHONPATH : "$out/lib/${python.libPrefix}/site-packages" ''; + # automatic moving fails, perhaps due to having two $out/lib*/pkgconfig + dontMoveLib64 = true; + meta = { description = "Compoziting window manager"; homepage = "http://launchpad.net/compiz/"; diff --git a/pkgs/applications/window-managers/icewm/default.nix b/pkgs/applications/window-managers/icewm/default.nix index f3d88c55c589..b1b63df574a0 100644 --- a/pkgs/applications/window-managers/icewm/default.nix +++ b/pkgs/applications/window-managers/icewm/default.nix @@ -1,35 +1,39 @@ -{ stdenv, fetchurl, gettext, libjpeg, libtiff, libungif, libpng, freetype -, fontconfig, xlibs, automake, pkgconfig, gdk_pixbuf }: +{ stdenv, fetchurl, cmake, gettext +, libjpeg, libtiff, libungif, libpng, imlib, expat +, freetype, fontconfig, pkgconfig, gdk_pixbuf +, mkfontdir, libX11, libXft, libXext, libXinerama +, libXrandr, libICE, libSM, libXpm, libXdmcp, libxcb +, libpthreadstubs }: +with stdenv.lib; stdenv.mkDerivation rec { - name = "icewm-1.3.8"; + name = "icewm-${version}"; + version = "1.3.10"; buildInputs = - [ gettext libjpeg libtiff libungif libpng - xlibs.libX11 xlibs.libXft xlibs.libXext xlibs.libXinerama xlibs.libXrandr - xlibs.libICE xlibs.libSM freetype fontconfig - pkgconfig gdk_pixbuf - ]; + [ cmake gettext libjpeg libtiff libungif libpng imlib expat + freetype fontconfig pkgconfig gdk_pixbuf mkfontdir libX11 + libXft libXext libXinerama libXrandr libICE libSM libXpm + libXdmcp libxcb libpthreadstubs ]; src = fetchurl { - url = "mirror://sourceforge/icewm/${name}.tar.gz"; - sha256 = "066d1mw0vm9ygxnyxksfi6k4vzclvnlkvj04pj3kbcmv1fg8sn0p"; + url = "https://github.com/bbidulock/icewm/archive/${version}.tar.gz"; + sha256 = "01i7a21gf810spmzjx32dxsmx4527qivs744rhvhaw4gr00amrns"; }; - NIX_LDFLAGS = "-lfontconfig"; - - # The fuloong2f is not supported by 1.3.6 still - # - # Don't know whether 1.3.7 supports fuloong2f and don't know how to test it - # on x86_64 hardware. So I left this 'cp' -- urkud - preConfigure = '' - cp -v ${automake}/share/automake*/config.{sub,guess} . + export cmakeFlags="-DPREFIX=$out" ''; meta = { - description = "A window manager for the X Window System"; + description = "A simple, lightweight X window manager"; + longDescription = '' + IceWM is a window manager for the X Window System. The goal of + IceWM is speed, simplicity, and not getting in the user's way. + ''; homepage = http://www.icewm.org/; - platforms = stdenv.lib.platforms.unix; + license = licenses.lgpl2; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.unix; }; } diff --git a/pkgs/applications/window-managers/openbox/default.nix b/pkgs/applications/window-managers/openbox/default.nix index 2756525b2b02..f1369ebea7d8 100644 --- a/pkgs/applications/window-managers/openbox/default.nix +++ b/pkgs/applications/window-managers/openbox/default.nix @@ -1,6 +1,6 @@ { stdenv, fetchurl, pkgconfig , libxml2, libXinerama, libXcursor, libXau, libXrandr -, imlib2, pango, libstartup_notification, makeWrapper}: +, imlib2, pango, libstartup_notification, makeWrapper }: stdenv.mkDerivation rec { name = "openbox-3.5.2"; @@ -8,8 +8,11 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig libxml2 libXinerama libXcursor libXau libXrandr - imlib2 pango libstartup_notification - makeWrapper + libstartup_notification makeWrapper + ]; + + propagatedBuildInputs = [ + pango imlib2 ]; src = fetchurl { diff --git a/pkgs/applications/window-managers/oroborus/default.nix b/pkgs/applications/window-managers/oroborus/default.nix new file mode 100644 index 000000000000..226b33be0603 --- /dev/null +++ b/pkgs/applications/window-managers/oroborus/default.nix @@ -0,0 +1,27 @@ +{ stdenv, fetchurl, pkgconfig +, freetype, fribidi +, libSM, libICE, libXt, libXaw, libXmu +, libXext, libXft, libXpm, libXrandr +, libXrender, xextproto, libXinerama }: + +with stdenv.lib; +stdenv.mkDerivation rec { + + name = "oroborus-${version}"; + version = "2.0.20"; + + buildInputs = [ pkgconfig freetype fribidi libSM libICE libXt libXaw libXmu libXext libXft libXpm libXrandr libXrender xextproto libXinerama ]; + + src = fetchurl { + url = "http://ftp.debian.org/debian/pool/main/o/oroborus/oroborus_${version}.tar.gz"; + sha256 = "12bvk8x8rfnymbfbwmdcrd9g8m1zxbcq7rgvfdkjr0gnpi0aa82j"; + }; + + meta = { + description = "A really minimalistic X window manager"; + homepage = http://www.oroborus.org/; + license = licenses.gpl2Plus; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix new file mode 100644 index 000000000000..39d942362be1 --- /dev/null +++ b/pkgs/applications/window-managers/qtile/default.nix @@ -0,0 +1,47 @@ +{ stdenv, fetchFromGitHub, buildPythonPackage, python27Packages, pkgs }: + +buildPythonPackage rec { + name = "qtile-${version}"; + version = "0.10.1"; + + src = fetchFromGitHub { + owner = "qtile"; + repo = "qtile"; + rev = "v${version}"; + sha256 = "1g02lvk2cqy6w6y6nw6dnsmy4i9k4fyawyibpkf0a7a1nfrd6a99"; + }; + + patches = [ ./restart_executable.patch ]; + + postPatch = '' + substituteInPlace libqtile/manager.py --subst-var-by out $out + ''; + + buildInputs = [ pkgs.pkgconfig pkgs.glib pkgs.xlibs.libxcb pkgs.cairo pkgs.pango python27Packages.xcffib ]; + + cairocffi-xcffib = python27Packages.cairocffi.override { + LD_LIBRARY_PATH = "${pkgs.xlibs.libxcb}/lib:${pkgs.cairo}/lib"; + pythonPath = [ python27Packages.xcffib ]; + }; + + pythonPath = with python27Packages; [ xcffib cairocffi-xcffib trollius readline ]; + + LD_LIBRARY_PATH = "${pkgs.xlibs.libxcb}/lib:${pkgs.cairo}/lib"; + + postInstall = '' + wrapProgram $out/bin/qtile \ + --prefix LD_LIBRARY_PATH : ${pkgs.xlibs.libxcb}/lib \ + --prefix LD_LIBRARY_PATH : ${pkgs.glib}/lib \ + --prefix LD_LIBRARY_PATH : ${pkgs.cairo}/lib \ + --prefix LD_LIBRARY_PATH : ${pkgs.pango}/lib + ''; + + meta = with stdenv.lib; { + homepage = http://www.qtile.org/; + license = licenses.mit; + description = "A small, flexible, scriptable tiling window manager written in Python"; + platforms = platforms.linux; + maintainers = with maintainers; [ kamilchm ]; + }; +} + diff --git a/pkgs/applications/window-managers/qtile/restart_executable.patch b/pkgs/applications/window-managers/qtile/restart_executable.patch new file mode 100644 index 000000000000..a1e74a575d9e --- /dev/null +++ b/pkgs/applications/window-managers/qtile/restart_executable.patch @@ -0,0 +1,12 @@ +diff -ruP a/libqtile/manager.py b/libqtile/manager.py +--- a/libqtile/manager.py 2015-07-26 21:26:16.947976520 +0200 ++++ b/libqtile/manager.py 2015-07-26 21:37:45.581316712 +0200 +@@ -1262,7 +1262,7 @@ + argv = [s for s in argv if not s.startswith('--with-state')] + argv.append('--with-state=' + buf.getvalue().decode()) + +- self.cmd_execute(sys.executable, argv) ++ self.cmd_execute("@out@/bin/qtile", argv[1:]) + + def cmd_spawn(self, cmd): + """ diff --git a/pkgs/applications/window-managers/spectrwm/default.nix b/pkgs/applications/window-managers/spectrwm/default.nix index ad6fcddf5be4..39825e37f30f 100644 --- a/pkgs/applications/window-managers/spectrwm/default.nix +++ b/pkgs/applications/window-managers/spectrwm/default.nix @@ -15,13 +15,14 @@ stdenv.mkDerivation rec { name = "spectrwm-${version}"; - version = "2.6.2"; + version = "2.7.2"; src = fetchurl { - url = "https://github.com/conformal/spectrwm/archive/SPECTRWM_2_6_2.tar.gz"; - sha256 = "1pc9p3vwa4bsv76myqkqhp4cxspr72s5igi7cs9xrpd4xx6xc90s"; + url = "https://github.com/conformal/spectrwm/archive/SPECTRWM_2_7_2.tar.gz"; + sha256 = "1yssqnhxlfl1b60gziqp8c5pzs1lr8p6anrnp9ga1zfdql3b7993"; }; + buildInputs = [ libX11 libxcb @@ -35,7 +36,7 @@ stdenv.mkDerivation rec { xcbutilwm ]; - sourceRoot = "spectrwm-SPECTRWM_2_6_2/linux"; + sourceRoot = "spectrwm-SPECTRWM_2_7_2/linux"; makeFlags="PREFIX=$(out)"; installPhase = "PREFIX=$out make install"; diff --git a/pkgs/applications/window-managers/weston/default.nix b/pkgs/applications/window-managers/weston/default.nix index 9b88400ef535..d270d3a2b1d6 100644 --- a/pkgs/applications/window-managers/weston/default.nix +++ b/pkgs/applications/window-managers/weston/default.nix @@ -6,11 +6,12 @@ }: stdenv.mkDerivation rec { - name = "weston-${wayland.version}"; + name = "weston-${version}"; + version = "1.8.0"; src = fetchurl { url = "http://wayland.freedesktop.org/releases/${name}.tar.xz"; - sha256 = "1kb6a494j56sh7iy43xwkjlr3bh0nnkq4bkimwj6qirzbya12i8w"; + sha256 = "04nkbbdglh0pqznxkdqvak3pc53jmz24d0658bn5r0cf6agycqw9"; }; buildInputs = [ diff --git a/pkgs/applications/window-managers/wmii-hg/default.nix b/pkgs/applications/window-managers/wmii-hg/default.nix new file mode 100644 index 000000000000..a7d492a05dc8 --- /dev/null +++ b/pkgs/applications/window-managers/wmii-hg/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchhg, pkgconfig, libixp_hg, txt2tags, dash, python +, libX11 , libXrender, libXext, libXinerama, libXrandr, libXft }: + +stdenv.mkDerivation rec { + rev = "2823"; + version = "hg-2012-12-09"; + name = "wmii-${version}"; + + src = fetchhg { + url = https://code.google.com/p/wmii/; + sha256 = "1wqw41jb2fhq902a04ixfzmx0lia1pawahm1ymyrs3is6mm32r51"; + inherit rev; + }; + + # for dlopen-ing + patchPhase = '' + substituteInPlace lib/libstuff/x11/xft.c --replace "libXft.so" "${libXft}/lib/libXft.so" + ''; + + configurePhase = '' + for file in $(grep -lr '#!.*sh'); do + sed -i 's|#!.*sh|#!${dash}/bin/dash|' $file + done + + cat <<EOF >> config.mk + PREFIX = $out + LIBIXP = ${libixp_hg}/lib/libixp.a + BINSH = ${dash}/bin/dash + EOF + ''; + + buildInputs = [ pkgconfig libixp_hg txt2tags dash python + libX11 libXrender libXext libXinerama libXrandr libXft ]; + + # For some reason including mercurial in buildInputs did not help + makeFlags = "WMII_HGVERSION=hg${rev}"; + + meta = { + homepage = "https://code.google.com/p/wmii/"; + description = "A small window manager controlled by a 9P filesystem"; + maintainers = with stdenv.lib.maintainers; [ kovirobi ]; + license = stdenv.lib.licenses.mit; + inherit version; + }; +} diff --git a/pkgs/applications/window-managers/wmii/default.nix b/pkgs/applications/window-managers/wmii/default.nix deleted file mode 100644 index e8ecc72a6d30..000000000000 --- a/pkgs/applications/window-managers/wmii/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -args: with args; stdenv.mkDerivation { - name = "wmii-3.6"; - - src = fetchurl { - url = http://dl.suckless.org/wmii/wmii-3.6.tar.gz; - sha256 = "46f39b788c5ef4695040b36cc7d9c539db0306bafc4d8cefdc5980ed4331b216"; - }; - - buildInputs = [ libX11 libixp xextproto libXt libXext ]; - inherit libixp; - - phases = "unpackPhase installPhase"; - - installPhase = " - for i in libfmt libutf libregexp libbio; do - cd $i; make; cd .. - done - mkdir -p \$out/lib - cp ${libixp}/lib/libixp.a \$out/lib - export CFLAGS=\$NIX_CFLAGS_COMPILE - export LDFLAGS\=$(echo \$NIX_LDFLAGS | sed -e 's/-rpath/-L/g') - sed -i -e \"s%^PREFIX.*%PREFIX=\$out%\" \\ - -e \"s%^\\(INCS.*\\)%\\1 \$NIX_CFLAGS_COMPILE%\" \\ - -e \"s%^\\(LIBS.*\\)%\\1 \$LDFLAGS%\" \\ - -e 's%^\\(AWKPATH = \\).*%\\1${gawk}/bin/gawk%' \\ - config.mk - # don't use the default one installed by nixos! - #sed -i -e \"s%ixpc%\$libixp/bin/ixpc%\" wmiir - make install - "; - meta = { homepage = "www.suckless.org"; - description = "a really cool window manager which can by driven by keyboard only"; - license = stdenv.lib.licenses.mit; - }; -} diff --git a/pkgs/applications/window-managers/wmii31/default.nix b/pkgs/applications/window-managers/wmii31/default.nix deleted file mode 100644 index 568be30f1c52..000000000000 --- a/pkgs/applications/window-managers/wmii31/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -args: with args; stdenv.mkDerivation { - name = "wmiimenu-3.1"; - - src = fetchurl { - url = http://dl.suckless.org/wmii/wmii-3.1.tar.gz; - sha256 = "0sviwxbanpsfdm55zvx9hflncw35slkz41xr517y3yfgxx6qlhlk"; - }; - - buildInputs = [ libX11 libixp ]; - inherit libixp; - - phases = "unpackPhase installPhase"; - - installPhase = " - export CFLAGS=\$NIX_CFLAGS_COMPILE - export LDFLAGS\=$(echo \$NIX_LDFLAGS | sed -e 's/-rpath/-L/g') - sed -i -e \"s%^PREFIX.*%PREFIX=\$out%\" \\ - -e \"s%^\\(INCS.*\\)%\\1 \$NIX_CFLAGS_COMPILE%\" \\ - -e \"s%^\\(LIBS.*\\)%\\1 \$LDFLAGS%\" \\ - config.mk - # don't use the default one installed by nixos! - # sed -i -e \"s%ixpc%\$libixp/bin/ixpc%\" wmiir - - # This will fail but wmiimenu has been built (hack!) - set +e - make &> /dev/null - set -e - mkdir -p \$out/bin - cp cmd/wmiimenu \$out/bin - "; - meta = { homepage = "www.suckless.org"; - description = "One small tool of the wmii window manger to let the user select an item from a list by filtering"; - license = stdenv.lib.licenses.mit; - }; -} diff --git a/pkgs/applications/window-managers/xmonad/wrapper.nix b/pkgs/applications/window-managers/xmonad/wrapper.nix index cb02a214d5bb..e8dc0b1fdac7 100644 --- a/pkgs/applications/window-managers/xmonad/wrapper.nix +++ b/pkgs/applications/window-managers/xmonad/wrapper.nix @@ -13,4 +13,8 @@ in stdenv.mkDerivation { --set NIX_GHC "${xmonadEnv}/bin/ghc" \ --set XMONAD_XMESSAGE "${xmessage}/bin/xmessage" ''; + + # trivial derivation + preferLocalBuild = true; + allowSubstitutes = false; } |