From bf50d6478b86cdfde90dd30291d6eec518a84719 Mon Sep 17 00:00:00 2001 From: Daniel Olsen Date: Sun, 2 Mar 2025 01:27:09 +0100 Subject: [PATCH] bluemap: 5.4 -> 5.7 --- hosts/bekkalokk/services/bluemap/default.nix | 2 ++ hosts/bekkalokk/services/bluemap/module.nix | 9 +++--- hosts/bekkalokk/services/bluemap/package.nix | 30 ++++++++++++++++++++ 3 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 hosts/bekkalokk/services/bluemap/package.nix diff --git a/hosts/bekkalokk/services/bluemap/default.nix b/hosts/bekkalokk/services/bluemap/default.nix index e11bef3..e041347 100644 --- a/hosts/bekkalokk/services/bluemap/default.nix +++ b/hosts/bekkalokk/services/bluemap/default.nix @@ -13,6 +13,8 @@ in { services.bluemap = { enable = true; + package = pkgs.callPackage ./package.nix { }; + eula = true; onCalendar = "*-*-* 05:45:00"; # a little over an hour after auto-upgrade diff --git a/hosts/bekkalokk/services/bluemap/module.nix b/hosts/bekkalokk/services/bluemap/module.nix index 25ac657..3f9635d 100644 --- a/hosts/bekkalokk/services/bluemap/module.nix +++ b/hosts/bekkalokk/services/bluemap/module.nix @@ -26,7 +26,6 @@ let "webapp.conf" = webappConfig; "webserver.conf" = webserverConfig; "packs" = cfg.resourcepacks; - "addons" = cfg.resourcepacks; # TODO }; renderConfigFolder = name: value: pkgs.linkFarm "bluemap-${name}-config" { @@ -38,13 +37,13 @@ let "webapp.conf" = format.generate "webapp.conf" (cfg.webappSettings // { "update-settings-file" = false; }); "webserver.conf" = webserverConfig; "packs" = value.resourcepacks; - "addons" = cfg.resourcepacks; # TODO }; inherit (lib) mkOption; in { options.services.bluemap = { enable = lib.mkEnableOption "bluemap"; + package = lib.mkPackageOption pkgs "bluemap" { }; eula = mkOption { type = lib.types.bool; @@ -159,7 +158,7 @@ in { type = lib.types.path; default = cfg.resourcepacks; defaultText = lib.literalExpression "config.services.bluemap.resourcepacks"; - description = "A set of resourcepacks/mods to extract models from loaded in alphabetical order"; + description = "A set of resourcepacks/mods/bluemap-addons to extract models from loaded in alphabetical order"; }; settings = mkOption { type = (lib.types.submodule { @@ -311,8 +310,8 @@ in { UMask = "026"; }; script = lib.strings.concatStringsSep "\n" ((lib.attrsets.mapAttrsToList - (name: value: "${lib.getExe pkgs.bluemap} -c ${renderConfigFolder name value} -r") - cfg.maps) ++ [ "${lib.getExe pkgs.bluemap} -c ${webappConfigFolder} -gs" ]); + (name: value: "${lib.getExe cfg.package} -c ${renderConfigFolder name value} -r") + cfg.maps) ++ [ "${lib.getExe cfg.package} -c ${webappConfigFolder} -gs" ]); }; systemd.timers."render-bluemap-maps" = lib.mkIf cfg.enableRender { diff --git a/hosts/bekkalokk/services/bluemap/package.nix b/hosts/bekkalokk/services/bluemap/package.nix new file mode 100644 index 0000000..61c135f --- /dev/null +++ b/hosts/bekkalokk/services/bluemap/package.nix @@ -0,0 +1,30 @@ +{ lib, stdenvNoCC, fetchurl, makeWrapper, jre }: + +stdenvNoCC.mkDerivation rec { + pname = "bluemap"; + version = "5.7"; + + src = fetchurl { + url = "https://github.com/BlueMap-Minecraft/BlueMap/releases/download/v${version}/BlueMap-${version}-cli.jar"; + hash = "sha256-8udZYJgrr4bi2mjRYrASd8JwUoUVZW1tZpOLRgafAIw="; + }; + + dontUnpack = true; + + nativeBuildInputs = [ makeWrapper ]; + + installPhase = '' + runHook preInstall + makeWrapper ${jre}/bin/java $out/bin/bluemap --add-flags "-jar $src" + runHook postInstall + ''; + + meta = { + description = "3D minecraft map renderer"; + homepage = "https://bluemap.bluecolored.de/"; + sourceProvenance = with lib.sourceTypes; [ binaryBytecode ]; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ dandellion h7x4 ]; + mainProgram = "bluemap"; + }; +}