diff --git a/pkgs/by-name/wl/wl-clipboard-rs/package.nix b/pkgs/by-name/wl/wl-clipboard-rs/package.nix new file mode 100644 index 000000000000..4fab6ae6574e --- /dev/null +++ b/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 ]; + }; +}