{ lib, stdenv, cacert, nixosTests, rustPlatform, fetchFromGitHub, darwin, }: rustPlatform.buildRustPackage rec { pname = "redlib"; version = "0.35.1-unstable-2024-09-22"; src = fetchFromGitHub { owner = "redlib-org"; repo = "redlib"; rev = "d5f137ce47de39e2c8c4ed09d13ba1f809bee560"; hash = "sha256-12XKeBCKciKummI43oTbKGkkY0mghA82ir2C3LhnwSs="; }; cargoHash = "sha256-XSmeJAK18J9WxrG5orFbAB9hWVLQQ50oB223oHT3OOk="; buildInputs = lib.optionals stdenv.hostPlatform.isDarwin [ darwin.apple_sdk.frameworks.Security ]; checkFlags = [ # All these test try to connect to Reddit. # utils.rs "--skip=test_fetching_subreddit_quarantined" "--skip=test_fetching_nsfw_subreddit" "--skip=test_fetching_ws" # client.rs "--skip=test_obfuscated_share_link" "--skip=test_share_link_strip_json" "--skip=test_localization_popular" # subreddit.rs "--skip=test_fetching_subreddit" "--skip=test_gated_and_quarantined" # user.rs "--skip=test_fetching_user" # These try to connect to the oauth client # oauth.rs "--skip=test_oauth_client" "--skip=test_oauth_client_refresh" "--skip=test_oauth_token_exists" ]; env = { SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt"; }; passthru.tests = { inherit (nixosTests) redlib; }; meta = { changelog = "https://github.com/redlib-org/redlib/releases/tag/v${version}"; description = "Private front-end for Reddit (Continued fork of Libreddit)"; homepage = "https://github.com/redlib-org/redlib"; license = lib.licenses.agpl3Only; mainProgram = "redlib"; maintainers = with lib.maintainers; [ soispha ]; }; }