diff options
-rw-r--r-- | pkgs/applications/graphics/rx/default.nix | 93 |
1 files changed, 40 insertions, 53 deletions
diff --git a/pkgs/applications/graphics/rx/default.nix b/pkgs/applications/graphics/rx/default.nix index 4e8519d17b67..cc5d00d64ecc 100644 --- a/pkgs/applications/graphics/rx/default.nix +++ b/pkgs/applications/graphics/rx/default.nix @@ -3,56 +3,43 @@ , 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; - }; - } +with stdenv.lib; + +rustPlatform.buildRustPackage rec { + pname = "rx"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "cloudhead"; + repo = pname; + rev = "v${version}"; + sha256 = "0mhpq9x54d884ydmfv1358sgc4jc7bghfx2y0k7p879hyyxr52v1"; + }; + + cargoSha256 = "0fnrgijfkvapj1yyy9grnqh2vkciisf029af0gfwyzsxzdi62gg5"; + + nativeBuildInputs = [ cmake pkgconfig makeWrapper ]; + + buildInputs = optionals stdenv.isLinux + (with xorg; [ + # glfw-sys dependencies: + libX11 libXrandr libXinerama libXcursor libXi libXext + ]); + + # FIXME: GLFW (X11) requires DISPLAY env variable for all tests + doCheck = false; + + 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 filalex77 ]; + platforms = [ "x86_64-linux" ]; + }; +} |