about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/ye/yeahwm/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/ye/yeahwm/package.nix')
-rw-r--r--nixpkgs/pkgs/by-name/ye/yeahwm/package.nix87
1 files changed, 87 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/ye/yeahwm/package.nix b/nixpkgs/pkgs/by-name/ye/yeahwm/package.nix
new file mode 100644
index 000000000000..975c9e0b139d
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/ye/yeahwm/package.nix
@@ -0,0 +1,87 @@
+{ lib
+, stdenv
+, fetchurl
+, installShellFiles
+, lesstif
+, libX11
+, libXext
+, libXinerama
+, libXmu
+}:
+
+stdenv.mkDerivation (finalAttrs: {
+  pname = "yeahwm";
+  version = "0.3.5";
+
+  src = fetchurl {
+    url = "http://phrat.de/yeahwm_${finalAttrs.version}.tar.gz";
+    hash = "sha256-ySzpiEjIuI2bZ8Eo4wcQlEwEpkVDECVFNcECsrb87gU=";
+  };
+
+  nativeBuildInputs = [
+    installShellFiles
+  ];
+
+  buildInputs = [
+    lesstif
+    libX11
+    libXext
+    libXinerama
+    libXmu
+  ];
+
+  strictDeps = true;
+
+  preBuild = let
+    includes = builtins.concatStringsSep " "
+      (builtins.map (l: "-I${lib.getDev l}/include")
+        finalAttrs.buildInputs);
+    ldpath = builtins.concatStringsSep " "
+      (builtins.map (l: "-L${lib.getLib l}/lib")
+        finalAttrs.buildInputs);
+  in ''
+    makeFlagsArray+=( CC="${stdenv.cc}/bin/cc" \
+                      XROOT="${libX11}" \
+                      INCLUDES="${includes}" \
+                      LDPATH="${ldpath}" \
+                      prefix="${placeholder "out"}" )
+  '';
+
+  # Workaround build failure on -fno-common toolchains like upstream gcc-10.
+  # Otherwise build fails as:
+  #   ld: screen.o:(.bss+0x40): multiple definition of `fg'; client.o:(.bss+0x40): first defined here
+  env.NIX_CFLAGS_COMPILE = "-fcommon";
+
+  postInstall = ''
+    installManPage yeahwm.1
+  '';
+
+  meta = {
+    homepage = "http://phrat.de/index.html";
+    description = "An X window manager based on evilwm and aewm";
+    longDescription = ''
+      YeahWM is a h* window manager for X based on evilwm and aewm.
+
+      Features
+      - Sloppy Focus.
+      - BeOS-like tabbed titles, which can be repositioned.
+      - Support for Xinerama.
+      - Simple Appearance.
+      - Good keyboard control.
+      - Creative usage of the mouse.
+      - Respects aspect size hints.
+      - Solid resize and move operations.
+      - Virtual Desktops.
+      - "Magic" Screen edges for desktop switching.
+      - Snapping to other windows and screen borders when moving windows.
+      - Small binary size(ca. 23kb).
+      - Little resource usage.
+      - It's slick.
+    '';
+    changelog = "http://phrat.de/README";
+    license = lib.licenses.isc;
+    mainProgram = "yeahwm";
+    maintainers = with lib.maintainers; [ AndersonTorres ];
+    inherit (libX11.meta) platforms;
+  };
+})