diff options
author | Minijackson <minijackson@riseup.net> | 2019-09-29 23:58:05 +0200 |
---|---|---|
committer | Minijackson <minijackson@riseup.net> | 2019-09-29 23:58:05 +0200 |
commit | 0309903c799a7445a2acddc63f3948a75e58f46d (patch) | |
tree | 027eaf5c2e6ab9b6e8c77a03eb8beb4f53816522 /pkgs/applications/graphics/rx | |
parent | 27a335c963ee316dd07976ab9edeca44688c4228 (diff) | |
download | nixpkgs-0309903c799a7445a2acddc63f3948a75e58f46d.tar nixpkgs-0309903c799a7445a2acddc63f3948a75e58f46d.tar.gz nixpkgs-0309903c799a7445a2acddc63f3948a75e58f46d.tar.bz2 nixpkgs-0309903c799a7445a2acddc63f3948a75e58f46d.tar.lz nixpkgs-0309903c799a7445a2acddc63f3948a75e58f46d.tar.xz nixpkgs-0309903c799a7445a2acddc63f3948a75e58f46d.tar.zst nixpkgs-0309903c799a7445a2acddc63f3948a75e58f46d.zip |
rx: init at 0.2.0
Diffstat (limited to 'pkgs/applications/graphics/rx')
-rw-r--r-- | pkgs/applications/graphics/rx/default.nix | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/pkgs/applications/graphics/rx/default.nix b/pkgs/applications/graphics/rx/default.nix new file mode 100644 index 00000000000..4e8519d17b6 --- /dev/null +++ b/pkgs/applications/graphics/rx/default.nix @@ -0,0 +1,58 @@ +{ stdenv, rustPlatform, fetchFromGitHub, makeWrapper +, cmake, pkgconfig +, xorg ? null +, vulkan-loader ? null }: + +assert stdenv.isLinux -> xorg != null; +assert stdenv.isLinux -> vulkan-loader != null; + +let + graphicsBackend = if stdenv.isDarwin then "metal" else "vulkan"; +in + with stdenv.lib; + rustPlatform.buildRustPackage rec { + pname = "rx"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "cloudhead"; + repo = pname; + rev = "v${version}"; + sha256 = "0f6cw8zqr45bprj8ibhp89bb2a077g4zinfrdn943csdmh47qzcl"; + }; + + cargoSha256 = "05bqsw0nw24xysq86qa3hx9b5ncf50wfxsgpy388yrs2dfnphwlx"; + + nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; + + buildInputs = optionals stdenv.isLinux + (with xorg; [ + # glfw-sys dependencies: + libX11 libXrandr libXinerama libXcursor libXi libXext + ]); + + cargoBuildFlags = [ "--features=${graphicsBackend}" ]; + + # TODO: better to factor that into the rust platform + checkPhase = '' + runHook preCheck + echo "Running cargo test" + cargo test --features=${graphicsBackend} + runHook postCheck + ''; + + postInstall = optional stdenv.isLinux '' + mkdir -p $out/share/applications + cp $src/rx.desktop $out/share/applications + wrapProgram $out/bin/rx --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib + ''; + + meta = { + description = "Modern and extensible pixel editor implemented in Rust"; + homepage = "https://cloudhead.io/rx/"; + license = licenses.gpl3; + maintainers = with maintainers; [ minijackson ]; + platforms = with platforms; (linux ++ darwin ++ windows); + inherit version; + }; + } |