Loading pkgs/by-name/we/wesnoth/package.nix +45 −13 Original line number Diff line number Diff line Loading @@ -23,10 +23,12 @@ lua5_4, curl, nix-update-script, enableDevel ? false, }: let boost = boost186; suffix = lib.optionalString enableDevel "-devel"; # wesnoth requires lua built with c++, see https://github.com/wesnoth/wesnoth/pull/8234 lua = lua5_4.override { postConfigure = '' Loading @@ -36,14 +38,18 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "wesnoth"; version = "1.18.5"; pname = "wesnoth${suffix}"; version = if enableDevel then "1.19.16.1" else "1.18.5"; src = fetchFromGitHub { owner = "wesnoth"; repo = "wesnoth"; tag = finalAttrs.version; hash = "sha256-0VZJAmaCg12x4S07H1kl5s2NGMEo/NSVnzMniREmPJk="; hash = if enableDevel then "sha256-ekpyQnP5r3jl98qyNkO6SwUGc9qvz2OTidUu0k3m28c=" else "sha256-0VZJAmaCg12x4S07H1kl5s2NGMEo/NSVnzMniREmPJk="; }; nativeBuildInputs = [ Loading Loading @@ -73,10 +79,31 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DENABLE_SYSTEM_LUA=ON" "-DBINARY_SUFFIX=${suffix}" ]; postPatch = lib.optionalString (suffix != "") '' mv packaging/org.wesnoth.Wesnoth.desktop packaging/org.wesnoth.Wesnoth${suffix}.desktop mv packaging/org.wesnoth.Wesnoth.appdata.xml packaging/org.wesnoth.Wesnoth${suffix}.appdata.xml substituteInPlace packaging/org.wesnoth.Wesnoth${suffix}.desktop \ --replace-fail "Name=Battle for Wesnoth" "Name=Battle for Wesnoth${suffix}" \ --replace-fail "Exec=sh -c \"wesnoth >/dev/null 2>&1\"" "Exec=sh -c \"wesnoth${suffix} >/dev/null 2>&1\"" \ --replace-fail "Exec=sh -c \"wesnoth -e >/dev/null 2>&1\"" "Exec=sh -c \"wesnoth${suffix} -e >/dev/null 2>&1\"" substituteInPlace packaging/org.wesnoth.Wesnoth${suffix}.appdata.xml \ --replace-fail "<name>Battle for Wesnoth</name>" "<name>Battle for Wesnoth${suffix}</name>" \ --replace-fail "org.wesnoth.Wesnoth" "org.wesnoth.Wesnoth${suffix}" \ --replace-fail "<binary>wesnoth</binary>" "<binary>wesnoth${suffix}</binary>" \ --replace-fail "<binary>wesnothd</binary>" "<binary>wesnothd${suffix}</binary>" substituteInPlace CMakeLists.txt \ --replace-fail "org.wesnoth.Wesnoth.desktop" "org.wesnoth.Wesnoth${suffix}.desktop" \ --replace-fail "org.wesnoth.Wesnoth.appdata.xml" "org.wesnoth.Wesnoth${suffix}.appdata.xml" ''; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' app_name="The Battle for Wesnoth" app_name="The Battle for Wesnoth${suffix}" app_bundle="$out/Applications/$app_name.app" app_contents="$app_bundle/Contents" mkdir -p "$app_contents" Loading @@ -85,8 +112,8 @@ stdenv.mkDerivation (finalAttrs: { mv $out/share/wesnoth "$app_contents/Resources" pushd ../projectfiles/Xcode substitute Info.plist "$app_contents/Info.plist" \ --replace-fail ''\'''${EXECUTABLE_NAME}' wesnoth \ --replace-fail '$(PRODUCT_BUNDLE_IDENTIFIER)' org.wesnoth.Wesnoth \ --replace-fail ''\'''${EXECUTABLE_NAME}' wesnoth${suffix} \ --replace-fail '$(PRODUCT_BUNDLE_IDENTIFIER)' org.wesnoth.Wesnoth${suffix} \ --replace-fail ''\'''${PRODUCT_NAME}' "$app_name" cp -r Resources/SDLMain.nib "$app_contents/Resources/" install -m0644 Resources/{container-migration.plist,icon.icns} "$app_contents/Resources" Loading @@ -94,22 +121,27 @@ stdenv.mkDerivation (finalAttrs: { # Make the game and dedicated server binary available for shell users mkdir -p "$out/bin" ln -s "$app_contents/MacOS/wesnothd" "$out/bin/wesnothd" ln -s "$app_contents/MacOS/wesnothd${suffix}" "$out/bin/wesnothd${suffix}" # Symlinking the game binary is unsifficient as it would be unable to # find the bundle resources cat << EOF > "$out/bin/wesnoth" cat << EOF > "$out/bin/wesnoth${suffix}" #!${stdenvNoCC.shell} open -na "$app_bundle" --args "\$@" EOF chmod +x "$out/bin/wesnoth" chmod +x "$out/bin/wesnoth${suffix}" ''; passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex" # the minor release number also denotes if this is a beta release: # even is stable, odd is beta ( if enableDevel then # Devel matches odd minor release numbers "^(\\d+\\.\\d*[13579]\\.\\d+.*)$" else # Stable matches even minor release numbers "^(\\d+\\.\\d*[02468]\\.\\d+)$" ) ]; }; Loading @@ -131,6 +163,6 @@ stdenv.mkDerivation (finalAttrs: { iedame ]; platforms = lib.platforms.unix; mainProgram = "wesnoth"; mainProgram = "wesnoth${suffix}"; }; }) pkgs/top-level/all-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -13644,6 +13644,8 @@ with pkgs; warsow = callPackage ../games/warsow { }; wesnoth-devel = callPackage ../by-name/we/wesnoth/package.nix { enableDevel = true; }; inherit (callPackage ../games/xonotic { }) xonotic-data xonotic Loading Loading
pkgs/by-name/we/wesnoth/package.nix +45 −13 Original line number Diff line number Diff line Loading @@ -23,10 +23,12 @@ lua5_4, curl, nix-update-script, enableDevel ? false, }: let boost = boost186; suffix = lib.optionalString enableDevel "-devel"; # wesnoth requires lua built with c++, see https://github.com/wesnoth/wesnoth/pull/8234 lua = lua5_4.override { postConfigure = '' Loading @@ -36,14 +38,18 @@ let in stdenv.mkDerivation (finalAttrs: { pname = "wesnoth"; version = "1.18.5"; pname = "wesnoth${suffix}"; version = if enableDevel then "1.19.16.1" else "1.18.5"; src = fetchFromGitHub { owner = "wesnoth"; repo = "wesnoth"; tag = finalAttrs.version; hash = "sha256-0VZJAmaCg12x4S07H1kl5s2NGMEo/NSVnzMniREmPJk="; hash = if enableDevel then "sha256-ekpyQnP5r3jl98qyNkO6SwUGc9qvz2OTidUu0k3m28c=" else "sha256-0VZJAmaCg12x4S07H1kl5s2NGMEo/NSVnzMniREmPJk="; }; nativeBuildInputs = [ Loading Loading @@ -73,10 +79,31 @@ stdenv.mkDerivation (finalAttrs: { cmakeFlags = [ "-DENABLE_SYSTEM_LUA=ON" "-DBINARY_SUFFIX=${suffix}" ]; postPatch = lib.optionalString (suffix != "") '' mv packaging/org.wesnoth.Wesnoth.desktop packaging/org.wesnoth.Wesnoth${suffix}.desktop mv packaging/org.wesnoth.Wesnoth.appdata.xml packaging/org.wesnoth.Wesnoth${suffix}.appdata.xml substituteInPlace packaging/org.wesnoth.Wesnoth${suffix}.desktop \ --replace-fail "Name=Battle for Wesnoth" "Name=Battle for Wesnoth${suffix}" \ --replace-fail "Exec=sh -c \"wesnoth >/dev/null 2>&1\"" "Exec=sh -c \"wesnoth${suffix} >/dev/null 2>&1\"" \ --replace-fail "Exec=sh -c \"wesnoth -e >/dev/null 2>&1\"" "Exec=sh -c \"wesnoth${suffix} -e >/dev/null 2>&1\"" substituteInPlace packaging/org.wesnoth.Wesnoth${suffix}.appdata.xml \ --replace-fail "<name>Battle for Wesnoth</name>" "<name>Battle for Wesnoth${suffix}</name>" \ --replace-fail "org.wesnoth.Wesnoth" "org.wesnoth.Wesnoth${suffix}" \ --replace-fail "<binary>wesnoth</binary>" "<binary>wesnoth${suffix}</binary>" \ --replace-fail "<binary>wesnothd</binary>" "<binary>wesnothd${suffix}</binary>" substituteInPlace CMakeLists.txt \ --replace-fail "org.wesnoth.Wesnoth.desktop" "org.wesnoth.Wesnoth${suffix}.desktop" \ --replace-fail "org.wesnoth.Wesnoth.appdata.xml" "org.wesnoth.Wesnoth${suffix}.appdata.xml" ''; postInstall = lib.optionalString stdenv.hostPlatform.isDarwin '' app_name="The Battle for Wesnoth" app_name="The Battle for Wesnoth${suffix}" app_bundle="$out/Applications/$app_name.app" app_contents="$app_bundle/Contents" mkdir -p "$app_contents" Loading @@ -85,8 +112,8 @@ stdenv.mkDerivation (finalAttrs: { mv $out/share/wesnoth "$app_contents/Resources" pushd ../projectfiles/Xcode substitute Info.plist "$app_contents/Info.plist" \ --replace-fail ''\'''${EXECUTABLE_NAME}' wesnoth \ --replace-fail '$(PRODUCT_BUNDLE_IDENTIFIER)' org.wesnoth.Wesnoth \ --replace-fail ''\'''${EXECUTABLE_NAME}' wesnoth${suffix} \ --replace-fail '$(PRODUCT_BUNDLE_IDENTIFIER)' org.wesnoth.Wesnoth${suffix} \ --replace-fail ''\'''${PRODUCT_NAME}' "$app_name" cp -r Resources/SDLMain.nib "$app_contents/Resources/" install -m0644 Resources/{container-migration.plist,icon.icns} "$app_contents/Resources" Loading @@ -94,22 +121,27 @@ stdenv.mkDerivation (finalAttrs: { # Make the game and dedicated server binary available for shell users mkdir -p "$out/bin" ln -s "$app_contents/MacOS/wesnothd" "$out/bin/wesnothd" ln -s "$app_contents/MacOS/wesnothd${suffix}" "$out/bin/wesnothd${suffix}" # Symlinking the game binary is unsifficient as it would be unable to # find the bundle resources cat << EOF > "$out/bin/wesnoth" cat << EOF > "$out/bin/wesnoth${suffix}" #!${stdenvNoCC.shell} open -na "$app_bundle" --args "\$@" EOF chmod +x "$out/bin/wesnoth" chmod +x "$out/bin/wesnoth${suffix}" ''; passthru.updateScript = nix-update-script { extraArgs = [ "--version-regex" # the minor release number also denotes if this is a beta release: # even is stable, odd is beta ( if enableDevel then # Devel matches odd minor release numbers "^(\\d+\\.\\d*[13579]\\.\\d+.*)$" else # Stable matches even minor release numbers "^(\\d+\\.\\d*[02468]\\.\\d+)$" ) ]; }; Loading @@ -131,6 +163,6 @@ stdenv.mkDerivation (finalAttrs: { iedame ]; platforms = lib.platforms.unix; mainProgram = "wesnoth"; mainProgram = "wesnoth${suffix}"; }; })
pkgs/top-level/all-packages.nix +2 −0 Original line number Diff line number Diff line Loading @@ -13644,6 +13644,8 @@ with pkgs; warsow = callPackage ../games/warsow { }; wesnoth-devel = callPackage ../by-name/we/wesnoth/package.nix { enableDevel = true; }; inherit (callPackage ../games/xonotic { }) xonotic-data xonotic Loading