commit e1b5a7ecc2c2d40f82d392e8a33ded9a787391e2
parent f51b8d60d785f4795edecfc8d1d5004067d7816a
Author: Nikolay Korotkiy <sikmir@disroot.org>
Date: Thu, 1 Jan 2026 19:51:14 +0400
Up
Diffstat:
1 file changed, 45 insertions(+), 4 deletions(-)
diff --git a/pkgs/by-name/ar/arnis/package.nix b/pkgs/by-name/ar/arnis/package.nix
@@ -3,30 +3,71 @@
stdenv,
rustPlatform,
fetchFromGitHub,
+ copyDesktopItems,
+ makeDesktopItem,
+ pkg-config,
+ gtk3,
+ openssl,
+ webkitgtk_4_1,
}:
rustPlatform.buildRustPackage (finalAttrs: {
pname = "arnis";
- version = "2.3.0";
+ version = "2.4.0";
src = fetchFromGitHub {
owner = "louis-e";
repo = "arnis";
tag = "v${finalAttrs.version}";
- hash = "sha256-pZS0tXoLzQW19n2zZZEgr4C1Y45q/JEX3loetLRb/WY=";
+ hash = "sha256-A/nDVqv0XA8TD6tfHo9dEknTuhuGmsrv9PqgV7oLPek=";
};
- cargoHash = "sha256-2wklCohCShRQaJACiLIYbLej4xSP70qTwMQ0iN2hSJ0=";
+ cargoHash = "sha256-aRrWdTNZV9/ev//pGkOOR8dKUWZG/fk1tLyZzMTbm6Y=";
+
+ nativeBuildInputs = lib.optionals stdenv.hostPlatform.isLinux [
+ copyDesktopItems
+ pkg-config
+ ];
+
+ buildInputs = lib.optionals stdenv.hostPlatform.isLinux [
+ gtk3
+ openssl
+ webkitgtk_4_1
+ ];
+
+ desktopItems = [
+ (makeDesktopItem {
+ name = "arnis";
+ type = "Application";
+ desktopName = "Arnis";
+ comment = "Generate cities from real life in Minecraft";
+ exec = "arnis";
+ icon = "arnis";
+ terminal = false;
+ startupWMClass = "arnis";
+ categories = [
+ "Game"
+ "Utility"
+ "Geoscience"
+ ];
+ })
+ ];
checkFlags = [
+ # requires network access
"--skip=map_transformation::translate::translator::tests::test_translate_by_vector"
];
+ postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
+ install -Dm644 assets/icons/icon.png $out/share/icons/hicolor/512x512/apps/arnis.png
+ install -Dm644 assets/icons/128x128.png $out/share/icons/hicolor/128x128/apps/arnis.png
+ '';
+
meta = {
description = "Generate real life cities in Minecraft";
homepage = "https://github.com/louis-e/arnis";
license = lib.licenses.asl20;
maintainers = [ lib.maintainers.sikmir ];
- broken = stdenv.hostPlatform.isLinux;
+ mainProgram = "arnis";
};
})