about summary refs log tree commit diff
path: root/nixpkgs/pkgs/tools/wayland
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-02-22 10:43:06 +0000
committerAlyssa Ross <hi@alyssa.is>2022-03-11 16:17:56 +0000
commitca1aada113c0ebda1ab8667199f6453f8e01c4fc (patch)
tree55e402280096f62eb0bc8bcad5ce6050c5a0aec7 /nixpkgs/pkgs/tools/wayland
parente4df5a52a6a6531f32626f57205356a773ac2975 (diff)
parent93883402a445ad467320925a0a5dbe43a949f25b (diff)
downloadnixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.gz
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.bz2
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.lz
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.xz
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.tar.zst
nixlib-ca1aada113c0ebda1ab8667199f6453f8e01c4fc.zip
Merge commit '93883402a445ad467320925a0a5dbe43a949f25b'
Conflicts:
	nixpkgs/nixos/modules/programs/ssh.nix
	nixpkgs/pkgs/applications/networking/browsers/firefox/packages.nix
	nixpkgs/pkgs/data/fonts/noto-fonts/default.nix
	nixpkgs/pkgs/development/go-modules/generic/default.nix
	nixpkgs/pkgs/development/interpreters/ruby/default.nix
	nixpkgs/pkgs/development/libraries/mesa/default.nix
Diffstat (limited to 'nixpkgs/pkgs/tools/wayland')
-rw-r--r--nixpkgs/pkgs/tools/wayland/swayr/default.nix6
-rw-r--r--nixpkgs/pkgs/tools/wayland/swaytools/default.nix22
-rwxr-xr-xnixpkgs/pkgs/tools/wayland/swaytools/update.py58
-rw-r--r--nixpkgs/pkgs/tools/wayland/wluma/default.nix35
4 files changed, 113 insertions, 8 deletions
diff --git a/nixpkgs/pkgs/tools/wayland/swayr/default.nix b/nixpkgs/pkgs/tools/wayland/swayr/default.nix
index 9ccc13532c2a..c1bcf3b4e9f0 100644
--- a/nixpkgs/pkgs/tools/wayland/swayr/default.nix
+++ b/nixpkgs/pkgs/tools/wayland/swayr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swayr";
-  version = "0.11.2";
+  version = "0.13.0";
 
   src = fetchFromSourcehut {
     owner = "~tsdh";
     repo = "swayr";
     rev = "v${version}";
-    sha256 = "sha256-IjOoQbKCiwuoCsh2bOmvcSH3/9KMmavmn1Ib1TLBH8w=";
+    sha256 = "sha256-V4ETsraJo9X10fPMGSuiokPiSlZGYHncOdfheGom1go=";
   };
 
-  cargoSha256 = "sha256-EYaISBnWKplKUAKa9SZufWcykeR/qeApvqwIGB9jt3Q=";
+  cargoSha256 = "sha256-3ErzkS8u+4Ve26jpDbsYr4BVDm/XEgydYdZ2ErtVuVA=";
 
   patches = [
     ./icon-paths.patch
diff --git a/nixpkgs/pkgs/tools/wayland/swaytools/default.nix b/nixpkgs/pkgs/tools/wayland/swaytools/default.nix
new file mode 100644
index 000000000000..4c254c9a5932
--- /dev/null
+++ b/nixpkgs/pkgs/tools/wayland/swaytools/default.nix
@@ -0,0 +1,22 @@
+{ lib, python3Packages, slurp }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "swaytools";
+  version = "0.1.0";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "1eb89259cbe027a0fa6bfc06ecf94e89b15e6f7b4965104e5b661c916ce7408c";
+  };
+
+  propagatedBuildInputs = [ slurp ];
+
+  passthru.updateScript = ./update.py;
+
+  meta = with lib; {
+    homepage = "https://github.com/tmccombs/swaytools";
+    description = "Collection of simple tools for sway (and i3)";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ atila ];
+  };
+}
diff --git a/nixpkgs/pkgs/tools/wayland/swaytools/update.py b/nixpkgs/pkgs/tools/wayland/swaytools/update.py
new file mode 100755
index 000000000000..141566848e38
--- /dev/null
+++ b/nixpkgs/pkgs/tools/wayland/swaytools/update.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i python -p python39Packages.requests python39Packages.pip python39Packages.packaging
+
+import requests
+import json
+import subprocess
+try:
+    from packaging.version import parse
+except ImportError:
+    from pip._vendor.packaging.version import parse
+
+
+URL_PATTERN = 'https://pypi.python.org/pypi/{package}/json'
+
+def findLine(key,derivation):
+    count = 0
+    lines = []
+    for line in derivation:
+        if key in line:
+            lines.append(count)
+        count += 1
+    return lines
+
+def get_version(package, url_pattern=URL_PATTERN):
+    """Return version of package on pypi.python.org using json."""
+    req = requests.get(url_pattern.format(package=package))
+    version = parse('0')
+    if req.status_code == requests.codes.ok:
+        j = json.loads(req.text.encode(req.encoding))
+        releases = j.get('releases', [])
+        for release in releases:
+            ver = parse(release)
+            if not ver.is_prerelease:
+                if ver > version:
+                    version = ver
+                    sha256  = j["releases"][release][-1]["digests"]["sha256"]
+    return version, sha256
+
+
+if __name__ == '__main__':
+
+    nixpkgs         = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode("utf-8").strip('\n')
+    swaytoolsFolder = "/pkgs/tools/wayland/swaytools/"
+    with open(nixpkgs + swaytoolsFolder + "default.nix", 'r') as arq:
+        derivation = arq.readlines()
+
+    version, sha256 = get_version('swaytools')
+
+    key = "version = "
+    line = findLine(key,derivation)[0]
+    derivation[line] = f'  version = "{version}";\n'
+
+    key = "sha256 = "
+    line = findLine(key,derivation)[0]
+    derivation[line] = f'    sha256 = "{sha256}";\n'
+
+    with open(nixpkgs + swaytoolsFolder + "default.nix", 'w') as arq:
+        arq.writelines(derivation)
diff --git a/nixpkgs/pkgs/tools/wayland/wluma/default.nix b/nixpkgs/pkgs/tools/wayland/wluma/default.nix
index 2921e3858b41..fd4db1a934ab 100644
--- a/nixpkgs/pkgs/tools/wayland/wluma/default.nix
+++ b/nixpkgs/pkgs/tools/wayland/wluma/default.nix
@@ -1,35 +1,60 @@
 { lib
+, stdenv
 , fetchFromGitHub
 , makeWrapper
 , rustPlatform
 , vulkan-loader
+, pkg-config
+, udev
+, v4l-utils
+, llvmPackages
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "wluma";
-  version = "2.0.1";
+  version = "4.1.0";
 
   src = fetchFromGitHub {
     owner = "maximbaz";
     repo = "wluma";
     rev = version;
-    sha256 = "sha256-fqBEJS+SQoPNNEw6jyoiZjq/chY73bQ+cM21F8RdNPE=";
+    sha256 = "sha256-kUYh4RmD4zRI3ZNZWl2oWcO0Ze5czLBXUgPMl/cLW/I=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [
+    makeWrapper
+    pkg-config
+  ];
+
+  buildInputs = [
+    udev
+    v4l-utils.lib
+  ];
+
+  LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
+
+  # Works around the issue with rust-bindgen and the Nix gcc wrapper:
+  # https://hoverbear.org/blog/rust-bindgen-in-nix/
+  preBuild = ''
+    export BINDGEN_EXTRA_CLANG_ARGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \
+    $(< ${stdenv.cc}/nix-support/cc-cflags) \
+    -isystem ${llvmPackages.libclang.lib}/lib/clang/${lib.getVersion llvmPackages.clang}/include \
+    -idirafter ${stdenv.cc.cc}/lib/gcc/${stdenv.hostPlatform.config}/${lib.getVersion stdenv.cc.cc}/include \
+    -idirafter ${v4l-utils.dev}/include"
+  '';
 
   postInstall = ''
     wrapProgram $out/bin/wluma \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ vulkan-loader ]}"
   '';
 
-  cargoSha256 = "sha256-dZBA6VeJRHmqpazRwjLP1kYcYYN5LCFWkIaXqp4/RkQ=";
+  cargoSha256 = "sha256-oOIL18gij7DdvgNOuaHtuyFemNBUB85Ouh/sdhKas+s=";
 
   meta = with lib; {
     description = "Automatic brightness adjustment based on screen contents and ALS";
     homepage = "https://github.com/maximbaz/wluma";
     license = licenses.isc;
-    maintainers = with maintainers; [ yevhenshymotiuk ];
+    maintainers = with maintainers; [ yshym jmc-figueira ];
     platforms = platforms.linux;
   };
 }