summary refs log tree commit diff
path: root/pkgs/applications/accessibility
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/accessibility')
-rw-r--r--pkgs/applications/accessibility/contrast/default.nix31
-rw-r--r--pkgs/applications/accessibility/dasher/default.nix53
-rw-r--r--pkgs/applications/accessibility/mousetweaks/default.nix12
-rw-r--r--pkgs/applications/accessibility/squeekboard/default.nix70
-rw-r--r--pkgs/applications/accessibility/svkbd/default.nix59
5 files changed, 186 insertions, 39 deletions
diff --git a/pkgs/applications/accessibility/contrast/default.nix b/pkgs/applications/accessibility/contrast/default.nix
index 192bf041c64..44bee86880a 100644
--- a/pkgs/applications/accessibility/contrast/default.nix
+++ b/pkgs/applications/accessibility/contrast/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, lib
 , fetchFromGitLab
 , cairo
 , dbus
@@ -6,18 +7,18 @@
 , gettext
 , glib
 , gtk3
-, libhandy
+, libhandy_0
+, libsass
 , meson
 , ninja
 , pango
-, pkgconfig
+, pkg-config
 , python3
-, rustc
 , rustPlatform
 , wrapGAppsHook
 }:
 
-rustPlatform.buildRustPackage rec {
+stdenv.mkDerivation rec {
   pname = "contrast";
   version = "0.0.3";
 
@@ -30,15 +31,22 @@ rustPlatform.buildRustPackage rec {
     sha256 = "0kk3mv7a6y258109xvgicmsi0lw0rcs00gfyivl5hdz7qh47iccy";
   };
 
-  cargoSha256 = "0vi8nv4hkhsgqgz36xacwkk5cxirg6li44nbmk3x7vx7c64hzybq";
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-ePkPiWGn79PHrMsSEql5OXZW5uRMdTP+w0/DCcm2KG4=";
+  };
 
   nativeBuildInputs = [
     desktop-file-utils
     gettext
     meson
     ninja
-    pkgconfig
+    pkg-config
     python3
+    rustPlatform.rust.cargo
+    rustPlatform.cargoSetupHook
+    rustPlatform.rust.rustc
     wrapGAppsHook
     glib # for glib-compile-resources
   ];
@@ -48,7 +56,8 @@ rustPlatform.buildRustPackage rec {
     dbus
     glib
     gtk3
-    libhandy
+    libhandy_0
+    libsass
     pango
   ];
 
@@ -56,13 +65,7 @@ rustPlatform.buildRustPackage rec {
     patchShebangs build-aux/meson_post_install.py
   '';
 
-  # Don't use buildRustPackage phases, only use it for rust deps setup
-  configurePhase = null;
-  buildPhase = null;
-  checkPhase = null;
-  installPhase = null;
-
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Checks whether the contrast between two colors meet the WCAG requirements";
     homepage = "https://gitlab.gnome.org/World/design/contrast";
     license = licenses.gpl3;
diff --git a/pkgs/applications/accessibility/dasher/default.nix b/pkgs/applications/accessibility/dasher/default.nix
index 43844d0c66b..328ff2c5c57 100644
--- a/pkgs/applications/accessibility/dasher/default.nix
+++ b/pkgs/applications/accessibility/dasher/default.nix
@@ -1,22 +1,33 @@
-{ stdenv, lib, fetchFromGitHub
-, autoreconfHook, pkgconfig, wrapGAppsHook
-, glib, gtk3, expat, gnome-doc-utils, which
-, at-spi2-core, dbus
-, libxslt, libxml2
-, speechSupport ? true, speechd ? null
+{ stdenv
+, lib
+, fetchFromGitLab
+, autoreconfHook
+, pkg-config
+, wrapGAppsHook
+, glib
+, gtk3
+, expat
+, itstool
+, gnome-doc-utils
+, which
+, at-spi2-core
+, dbus
+, libxslt
+, libxml2
+, speechSupport ? true
+, speechd
 }:
 
-assert speechSupport -> speechd != null;
-
 stdenv.mkDerivation {
   pname = "dasher";
-  version = "2018-04-03";
+  version = "unstable-2021-04-25";
 
-  src = fetchFromGitHub {
-    owner = "dasher-project";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    owner = "GNOME";
     repo = "dasher";
-    rev = "9ab12462e51d17a38c0ddc7f7ffe1cb5fe83b627";
-    sha256 = "1r9xn966nx3pv2bidd6i3pxmprvlw6insnsb38zabmac609h9d9s";
+    rev = "90c753b87564fa3f42cb2d04e1eb6662dc8e0f8f";
+    sha256 = "sha256-aM05CV68pCRlhfIPyhuHWeRL+tDroB3fVsoX08OU8hY=";
   };
 
   prePatch = ''
@@ -29,27 +40,31 @@ stdenv.mkDerivation {
   nativeBuildInputs = [
     autoreconfHook
     wrapGAppsHook
-    pkgconfig
+    pkg-config
     # doc generation
     gnome-doc-utils
     which
-    libxslt libxml2
+    libxslt
+    libxml2
   ];
 
   buildInputs = [
     glib
     gtk3
     expat
+    itstool
     # at-spi2 needs dbus to be recognized by pkg-config
-    at-spi2-core dbus
+    at-spi2-core
+    dbus
   ] ++ lib.optional speechSupport speechd;
 
+  enableParallelBuilding = true;
+
   meta = {
-    homepage = "http://www.inference.org.uk/dasher/";
+    homepage = "https://www.inference.org.uk/dasher/";
     description = "Information-efficient text-entry interface, driven by natural continuous pointing gestures";
-    license = lib.licenses.gpl2;
+    license = lib.licenses.gpl2Only;
     maintainers = [ lib.maintainers.Profpatsch ];
     platforms = lib.platforms.all;
   };
-
 }
diff --git a/pkgs/applications/accessibility/mousetweaks/default.nix b/pkgs/applications/accessibility/mousetweaks/default.nix
index b645bc61848..9e18904ff65 100644
--- a/pkgs/applications/accessibility/mousetweaks/default.nix
+++ b/pkgs/applications/accessibility/mousetweaks/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchurl, pkgconfig
-, glib, gtk3, gnome3, gsettings-desktop-schemas, wrapGAppsHook
+{ lib, stdenv, fetchurl, pkg-config
+, glib, gtk3, gnome, gsettings-desktop-schemas, wrapGAppsHook
 , libX11, libXtst, libXfixes, libXcursor
 }:
 
@@ -8,11 +8,11 @@ stdenv.mkDerivation rec {
   version = "3.32.0";
 
   src = fetchurl {
-   url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+   url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
    sha256 = "005fhmvb45sa9mq17dpa23n1xnspiissx5rnpiy7hiqmy3g5rg8f";
   };
 
-  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
+  nativeBuildInputs = [ pkg-config wrapGAppsHook ];
 
   buildInputs = [
     glib gtk3 gsettings-desktop-schemas
@@ -20,12 +20,12 @@ stdenv.mkDerivation rec {
   ];
 
   passthru = {
-    updateScript = gnome3.updateScript {
+    updateScript = gnome.updateScript {
       packageName = pname;
     };
   };
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     description = "Provides mouse accessibility enhancements for the GNOME desktop";
     longDescription = ''
       Mousetweaks provides mouse accessibility enhancements for the GNOME
diff --git a/pkgs/applications/accessibility/squeekboard/default.nix b/pkgs/applications/accessibility/squeekboard/default.nix
new file mode 100644
index 00000000000..cca36c38e77
--- /dev/null
+++ b/pkgs/applications/accessibility/squeekboard/default.nix
@@ -0,0 +1,70 @@
+{ lib
+, stdenv
+, fetchFromGitLab
+, meson
+, ninja
+, pkg-config
+, gnome
+, glib
+, gtk3
+, wayland
+, wayland-protocols
+, libxml2
+, libxkbcommon
+, rustPlatform
+, feedbackd
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "squeekboard";
+  version = "1.14.0";
+
+  src = fetchFromGitLab {
+    domain = "source.puri.sm";
+    owner = "Librem5";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ayap40pgzcpmfydk5pbf3gwhh26m3cmbk6lyly4jihr9qw7dgb0";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    cargoUpdateHook = ''
+      cat Cargo.toml.in Cargo.deps > Cargo.toml
+    '';
+    name = "${pname}-${version}";
+    sha256 = "0148ynzmapxfrlccikf20ikmi0ssbkn9fl5wi6nh6azflv50pzzn";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    glib
+    wayland
+    wrapGAppsHook
+  ] ++ (with rustPlatform; [
+    cargoSetupHook
+    rust.cargo
+    rust.rustc
+  ]);
+
+  buildInputs = [
+    gtk3
+    gnome.gnome-desktop
+    wayland
+    wayland-protocols
+    libxml2
+    libxkbcommon
+    feedbackd
+  ];
+
+  meta = with lib; {
+    description = "A virtual keyboard supporting Wayland";
+    homepage = "https://source.puri.sm/Librem5/squeekboard";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ artturin ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/accessibility/svkbd/default.nix b/pkgs/applications/accessibility/svkbd/default.nix
new file mode 100644
index 00000000000..57e6cdba5ae
--- /dev/null
+++ b/pkgs/applications/accessibility/svkbd/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, stdenv
+, fetchurl
+, writeText
+, pkg-config
+, libX11
+, libXft
+, libXi
+, libXinerama
+, libXtst
+, layout ? null
+, conf ? null
+, patches ? [ ]
+}:
+
+stdenv.mkDerivation rec {
+  pname = "svkbd";
+  version = "0.3";
+
+  src = fetchurl {
+    url = "https://dl.suckless.org/tools/svkbd-${version}.tar.gz";
+    sha256 = "108khx665d7dlzs04iy4g1nw3fyqpy6kd0afrwiapaibgv4xhfsk";
+  };
+
+  inherit patches;
+
+  postPatch = let
+    configFile = if lib.isDerivation conf || lib.isPath conf then
+      conf
+    else
+      writeText "config.def.h" conf;
+  in lib.optionalString (conf != null) ''
+    cp ${configFile} config.def.h
+  '';
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    libX11
+    libXft
+    libXi
+    libXinerama
+    libXtst
+  ];
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ] ++ lib.optional (layout != null) "LAYOUT=${layout}";
+
+  meta = with lib; {
+    description = "Simple virtual keyboard";
+    homepage = "https://tools.suckless.org/x/svkbd/";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}