summary refs log tree commit diff
diff options
context:
space:
mode:
authorRam Kromberg <ramkromberg@mail.com>2016-07-27 20:34:26 +0300
committerRam Kromberg <ramkromberg@mail.com>2016-07-28 01:33:45 +0300
commit3800bb5017ab23e2e6af03d24f1e8d72bc5a1b6f (patch)
tree195f43bfa5fc4b01a43c9dad14b63555a9cce46b
parent2ea77889ad9f87a1d27aae351af1fb3bf263ad73 (diff)
downloadnixpkgs-3800bb5017ab23e2e6af03d24f1e8d72bc5a1b6f.tar
nixpkgs-3800bb5017ab23e2e6af03d24f1e8d72bc5a1b6f.tar.gz
nixpkgs-3800bb5017ab23e2e6af03d24f1e8d72bc5a1b6f.tar.bz2
nixpkgs-3800bb5017ab23e2e6af03d24f1e8d72bc5a1b6f.tar.lz
nixpkgs-3800bb5017ab23e2e6af03d24f1e8d72bc5a1b6f.tar.xz
nixpkgs-3800bb5017ab23e2e6af03d24f1e8d72bc5a1b6f.tar.zst
nixpkgs-3800bb5017ab23e2e6af03d24f1e8d72bc5a1b6f.zip
motif: init at 2.3.6
-rw-r--r--nixos/modules/services/x11/window-managers/default.nix1
-rw-r--r--nixos/modules/services/x11/window-managers/mwm.nix25
-rw-r--r--pkgs/development/libraries/motif/default.nix46
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 74 insertions, 0 deletions
diff --git a/nixos/modules/services/x11/window-managers/default.nix b/nixos/modules/services/x11/window-managers/default.nix
index 94f1aa3add7..f005decfa33 100644
--- a/nixos/modules/services/x11/window-managers/default.nix
+++ b/nixos/modules/services/x11/window-managers/default.nix
@@ -18,6 +18,7 @@ in
     ./i3.nix
     ./jwm.nix
     ./metacity.nix
+    ./mwm.nix
     ./openbox.nix
     ./pekwm.nix
     ./notion.nix
diff --git a/nixos/modules/services/x11/window-managers/mwm.nix b/nixos/modules/services/x11/window-managers/mwm.nix
new file mode 100644
index 00000000000..31f7b725f74
--- /dev/null
+++ b/nixos/modules/services/x11/window-managers/mwm.nix
@@ -0,0 +1,25 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.xserver.windowManager.mwm;
+in
+{
+  ###### interface
+  options = {
+    services.xserver.windowManager.mwm.enable = mkEnableOption "mwm";
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    services.xserver.windowManager.session = singleton {
+      name = "mwm";
+      start = ''
+        ${pkgs.motif}/bin/mwm &
+        waitPID=$!
+      '';
+    };
+    environment.systemPackages = [ pkgs.motif ];
+  };
+}
diff --git a/pkgs/development/libraries/motif/default.nix b/pkgs/development/libraries/motif/default.nix
new file mode 100644
index 00000000000..9d50fb3d3d1
--- /dev/null
+++ b/pkgs/development/libraries/motif/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, pkgconfig, libtool
+, xlibsWrapper, xbitmaps, libXrender, libXmu, libXt
+, expat, libjpeg, libpng, libiconv
+, flex
+, libXp, libXau
+, demoSupport ? false, autoconf, automake
+}:
+# refer to the gentoo package
+
+stdenv.mkDerivation rec {
+  name = "motif-${version}";
+  version = "2.3.6";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/motif/${name}.tar.gz";
+    sha256 = "1ksqbp0bzdw6wcrx8s4hj4ivvxmw54hz85l2xfigb87cxmmhx0gs";
+  };
+
+  buildInputs = [
+    pkgconfig libtool
+    xlibsWrapper xbitmaps libXrender libXmu libXt
+    expat libjpeg libpng libiconv
+  ] ++ stdenv.lib.optionals (!demoSupport) [ autoconf automake ];
+
+  nativeBuildInputs = [ flex ];
+
+  propagatedBuildInputs = [ libXp libXau ];
+
+  makeFlags = [ "CFLAGS=-fno-strict-aliasing" ];
+
+  patchPhase = ''
+    rm lib/Xm/Xm.h
+    echo -e '"The X.Org Foundation"\t\t\t\t\tpc' >>bindings/xmbind.alias
+  '' + stdenv.lib.optionalString (!demoSupport)
+  ''
+    sed -i -e '/^SUBDIRS/{:x;/\\$/{N;bx;};s/[ \t\n\\]*demos//;}' Makefile.am
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://motif.ics.com;
+    description = "Unix standard widget-toolkit and window-manager";
+    platforms = with platforms; linux;
+    license = with licenses; [ lgpl21 ];
+    maintainers = with maintainers; [ ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 864866ed23e..04735f3db8d 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -13881,6 +13881,8 @@ in
 
   mopidy-musicbox-webclient = callPackage ../applications/audio/mopidy-musicbox-webclient { };
 
+  motif = callPackage ../development/libraries/motif { };
+
   mozplugger = callPackage ../applications/networking/browsers/mozilla-plugins/mozplugger {};
 
   mozjpeg = callPackage ../applications/graphics/mozjpeg { };