about summary refs log tree commit diff
path: root/nixpkgs/pkgs/by-name/wl/wl-clipboard-rs/package.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/by-name/wl/wl-clipboard-rs/package.nix')
-rw-r--r--nixpkgs/pkgs/by-name/wl/wl-clipboard-rs/package.nix60
1 files changed, 60 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/by-name/wl/wl-clipboard-rs/package.nix b/nixpkgs/pkgs/by-name/wl/wl-clipboard-rs/package.nix
new file mode 100644
index 000000000000..4fab6ae6574e
--- /dev/null
+++ b/nixpkgs/pkgs/by-name/wl/wl-clipboard-rs/package.nix
@@ -0,0 +1,60 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, pkg-config
+, wayland
+, withNativeLibs ? false
+}:
+
+rustPlatform.buildRustPackage {
+  pname = "wl-clipboard-rs";
+  version = "0.8.0-unstable-2023-11-27";
+
+  src = fetchFromGitHub {
+    owner = "YaLTeR";
+    repo = "wl-clipboard-rs";
+    rev = "be851408e0f91edffdc2f1a76805035847f9f8a9";
+    hash = "sha256-OfLn7izG1KSUjdd2gO4aaSCDlcaWoFiFmgwwhR1hRsQ=";
+  };
+
+  cargoHash = "sha256-rYFCPyWTUhyrEcoRM8I+iX7IaY/6i1tBVjhs47m3XY8=";
+
+  cargoBuildFlags = [
+    "--package=wl-clipboard-rs"
+    "--package=wl-clipboard-rs-tools"
+  ] ++ lib.optionals withNativeLibs [
+    "--features=native_lib"
+  ];
+
+  nativeBuildInputs = lib.optionals withNativeLibs [
+    pkg-config
+  ];
+
+  buildInputs = lib.optionals withNativeLibs [
+    wayland
+  ];
+
+  preCheck = ''
+    export XDG_RUNTIME_DIR=$(mktemp -d)
+  '';
+
+  # Assertion errors
+  checkFlags = [
+    "--skip=tests::copy::copy_large"
+    "--skip=tests::copy::copy_multi_no_additional_text_mime_types_test"
+    "--skip=tests::copy::copy_multi_test"
+    "--skip=tests::copy::copy_randomized"
+    "--skip=tests::copy::copy_test"
+  ];
+
+  meta = {
+    description = "Command-line copy/paste utilities for Wayland, written in Rust";
+    homepage = "https://github.com/YaLTeR/wl-clipboard-rs";
+    # TODO: add `${version}` once we switch to tagged release
+    changelog = "https://github.com/YaLTeR/wl-clipboard-rs/blob/master/CHANGELOG.md";
+    platforms = lib.platforms.linux;
+    license = with lib.licenses; [ asl20 mit ];
+    mainProgram = "wl-clip";
+    maintainers = with lib.maintainers; [ thiagokokada ];
+  };
+}