diff --git a/pkgs/by-name/ca/cargo-gra/package.nix b/pkgs/by-name/ca/cargo-gra/package.nix new file mode 100644 index 0000000000000..88e5646e5d618 --- /dev/null +++ b/pkgs/by-name/ca/cargo-gra/package.nix @@ -0,0 +1,25 @@ +{ + rustPlatform, + fetchCrate, + lib, +}: + +rustPlatform.buildRustPackage rec { + pname = "cargo-gra"; + version = "0.6.0"; + + src = fetchCrate { + inherit pname version; + hash = "sha256-cli7qaIVYvoZpDml/QAxm2vjvh/g28zlDSpU9IIUBfw="; + }; + + cargoHash = "sha256-xsaavcpDaiDDbL3Dl+7NLcfB5U6vuYsVPoIuA/KXCvI="; + + meta = { + license = lib.licenses.gpl3Plus; + homepage = "https://gitlab.com/floers/gtk-stuff/cargo-gra/"; + maintainers = with lib.maintainers; [ bot-wxt1221 ]; + platforms = lib.platforms.unix; + description = "gtk-rust-app cli for building flatpak apps with ease"; + }; +} diff --git a/pkgs/applications/office/karlender/default.nix b/pkgs/by-name/ka/karlender/package.nix similarity index 51% rename from pkgs/applications/office/karlender/default.nix rename to pkgs/by-name/ka/karlender/package.nix index db3e5c6876d9c..f908979a70234 100644 --- a/pkgs/applications/office/karlender/default.nix +++ b/pkgs/by-name/ka/karlender/package.nix @@ -1,48 +1,71 @@ -{ lib -, rustPlatform -, fetchFromGitLab -, pkg-config -, gtk4 -, libadwaita -, wrapGAppsHook4 -, glib -, tzdata +{ + lib, + rustPlatform, + fetchFromGitLab, + pkg-config, + gtk4, + libadwaita, + wrapGAppsHook4, + glib, + tzdata, + nix-update-script, + dbus, + cargo-gra, + fetchpatch, }: rustPlatform.buildRustPackage rec { pname = "karlender"; - version = "0.9.2"; + version = "0.10.4"; src = fetchFromGitLab { owner = "floers"; repo = pname; rev = "v${version}"; - hash = "sha256-txPMOWwxgs9PH1Scnwr/X4cuMIUa+eoLW3K2aqmqRMQ="; + hash = "sha256-W+s1RCPwy7ZiK514AaQLwV9y+VJ58oMGlrS5cdoFKIg="; }; - cargoHash = "sha256-OyyzzkoYBed2XFCesj3QBodT9e/BaapGl/z0f6+cDZA="; + cargoPatches = [ + # https://gitlab.com/floers/calendar-stuff/karlender/-/merge_requests/43 + # Remove it when it is merged and released. + (fetchpatch { + url = "https://gitlab.com/floers/calendar-stuff/karlender/-/commit/ce50c68323a834a0ee2cbff88ed285a971dfd91e.patch"; + hash = "sha256-0hGgJPwnSNGTO/eiooQkQlBJ4brbaWVKRY6MT1PZApg="; + }) + ]; + + cargoHash = "sha256-CeHIx6oUtAcr6tBdqmIDTLuYcesaA6G72L3HwHDLY7Y="; nativeBuildInputs = [ pkg-config wrapGAppsHook4 glib + cargo-gra ]; buildInputs = [ gtk4 libadwaita + dbus + ]; + + checkFlags = [ + "--skip domain::time::tests::test_get_correct_offset_for_dst" # Need time ]; + preBuild = '' + cargo-gra gen + ''; + postPatch = '' - substituteInPlace src/domain/time.rs --replace "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" - substituteInPlace build.rs --replace "// gra::build" "gra::build" + substituteInPlace src/domain/time.rs --replace-fail "/usr/share/zoneinfo" "${tzdata}/share/zoneinfo" ''; postInstall = '' substituteInPlace target/gra-gen/data/codes.loers.Karlender.desktop \ - --replace "Exec=codes.loers.Karlender" "Exec=karlender" + --replace-fail "Exec=codes.loers.Karlender" "Exec=karlender" substituteInPlace target/gra-gen/data/codes.loers.Karlender.appdata.xml \ - --replace "codes.loers.Karlender" "karlender" + --replace-fail "codes.loers.Karlender" "karlender" install -Dm444 target/gra-gen/codes.loers.Karlender.gschema.xml -t $out/share/gsettings-schemas/$name/glib-2.0/schemas/ glib-compile-schemas $out/share/gsettings-schemas/$name/glib-2.0/schemas/ install -Dm444 target/gra-gen/data/codes.loers.Karlender.svg -t $out/share/icons/hicolor/scalable/apps/ @@ -52,12 +75,17 @@ rustPlatform.buildRustPackage rec { install -Dm444 target/gra-gen/data/codes.loers.Karlender.appdata.xml -t $out/share/metainfo/ ''; - meta = with lib; { + passthru.updateScript = nix-update-script { }; + + meta = { description = "Mobile-friendly GTK calendar application"; mainProgram = "karlender"; homepage = "https://gitlab.com/floers/karlender"; - license = licenses.gpl3Plus; - maintainers = with maintainers; [ chuangzhu ]; - platforms = platforms.linux; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ + chuangzhu + bot-wxt1221 + ]; + platforms = lib.platforms.linux; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f32f5a321df01..a51779c8d943d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -28742,8 +28742,6 @@ with pkgs; avahi = avahi.override { withLibdnssdCompat = true; }; }; - karlender = callPackage ../applications/office/karlender { }; - keepassxc = libsForQt5.callPackage ../applications/misc/keepassxc { inherit (darwin.apple_sdk_11_0.frameworks) LocalAuthentication; stdenv = if stdenv.hostPlatform.isDarwin then darwin.apple_sdk_11_0.stdenv else stdenv;