Unverified Commit 88a0763b authored by Wolfgang Walther's avatar Wolfgang Walther Committed by GitHub
Browse files

zandronum-alpha, zandronum-alpha-server: drop (#453640)

parents 5360cd81 932c796f
Loading
Loading
Loading
Loading
+0 −15
Original line number Diff line number Diff line
diff -r 89bccf7127ba src/gitinfo.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gitinfo.h	Fri Dec 01 10:18:23 2023 -0300
@@ -0,0 +1,11 @@
+// 89bccf7127ba1ebe92558f674be69549bf2c4bd4
+//
+// This file was automatically generated by the
+// updaterevision tool. Do not edit by hand.
+
+#define GIT_DESCRIPTION "ZA_3.1-404-89bccf7127ba"
+#define GIT_HASH "89bccf7127ba1ebe92558f674be69549bf2c4bd4"
+#define GIT_TIME "2023-07-09 15:14:38 -0400"
+#define HG_REVISION_NUMBER 1688930078
+#define HG_REVISION_HASH_STRING "89bccf7127ba"
+#define HG_TIME "230709-1914"
+0 −127
Original line number Diff line number Diff line
{
  stdenv,
  lib,
  fetchhg,
  cmake,
  pkg-config,
  makeWrapper,
  callPackage,
  soundfont-fluid,
  SDL_compat,
  libGL,
  glew,
  bzip2,
  zlib,
  libjpeg,
  fluidsynth,
  fmodex,
  openssl,
  gtk2,
  python3,
  game-music-emu,
  serverOnly ? false,
}:

let
  suffix = lib.optionalString serverOnly "-server";
  fmod = fmodex; # fmodex is on nixpkgs now
  sqlite = callPackage ../sqlite.nix { };
  clientLibPath = lib.makeLibraryPath [ fluidsynth ];

in
stdenv.mkDerivation {
  pname = "zandronum-alpha${suffix}";
  version = "3.2-230709-1914";

  src = fetchhg {
    # expired ssl certificate
    url = "http://hg.osdn.net/view/zandronum/zandronum-stable";
    rev = "89bccf7127ba";
    hash = "sha256-waD9hKk0A0zMPyqEvAKxaz2e2TBG2G0MJRrzjx1LyB0=";
  };

  # zandronum tries to download sqlite now when running cmake, don't let it
  # it also needs the current mercurial revision info embedded in gitinfo.h
  # otherwise, the client will fail to connect to servers because the
  # protocol version doesn't match.
  patches = [
    ./zan_configure_impurity.patch
    ./dont_update_gitinfo.patch
    ./add_gitinfo.patch
  ];

  # I have no idea why would SDL and libjpeg be needed for the server part!
  # But they are.
  buildInputs = [
    openssl
    bzip2
    zlib
    SDL_compat
    libjpeg
    sqlite
    game-music-emu
  ]
  ++ lib.optionals (!serverOnly) [
    libGL
    glew
    fmod
    fluidsynth
    gtk2
  ];

  nativeBuildInputs = [
    cmake
    pkg-config
    makeWrapper
    python3
  ];

  preConfigure = ''
    ln -s ${sqlite}/* sqlite/
    sed -i -e 's| restrict| _restrict|g' dumb/include/dumb.h \
                                       dumb/src/it/*.c
  ''
  + lib.optionalString (!serverOnly) ''
    sed -i \
      -e "s@/usr/share/sounds/sf2/@${soundfont-fluid}/share/soundfonts/@g" \
      -e "s@FluidR3_GM.sf2@FluidR3_GM2-2.sf2@g" \
      src/sound/music_fluidsynth_mididevice.cpp
  '';

  cmakeFlags = [
    "-DFORCE_INTERNAL_GME=OFF"
  ]
  ++ (if serverOnly then [ "-DSERVERONLY=ON" ] else [ "-DFMOD_LIBRARY=${fmod}/lib/libfmodex.so" ]);

  hardeningDisable = [ "format" ];

  # Won't work well without C or en_US. Setting LANG might not be enough if the user is making use of LC_* so wrap with LC_ALL instead
  installPhase = ''
    mkdir -p $out/bin
    mkdir -p $out/lib/zandronum
    cp zandronum${suffix} \
       *.pk3 \
       ${lib.optionalString (!serverOnly) "liboutput_sdl.so"} \
       $out/lib/zandronum
    makeWrapper $out/lib/zandronum/zandronum${suffix} $out/bin/zandronum-alpha${suffix}
    wrapProgram $out/bin/zandronum-alpha${suffix} \
      --set LC_ALL="C"
  '';

  postFixup = lib.optionalString (!serverOnly) ''
    patchelf --set-rpath $(patchelf --print-rpath $out/lib/zandronum/zandronum):$out/lib/zandronum:${clientLibPath} \
      $out/lib/zandronum/zandronum
  '';

  passthru = {
    inherit fmod sqlite;
  };

  meta = with lib; {
    homepage = "https://zandronum.com/";
    description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software";
    maintainers = with maintainers; [ lassulus ];
    license = licenses.sleepycat;
    platforms = platforms.linux;
  };
}
+0 −19
Original line number Diff line number Diff line
diff -r 89bccf7127ba src/CMakeLists.txt
--- a/src/CMakeLists.txt	Sun Jul 09 15:14:38 2023 -0400
+++ b/src/CMakeLists.txt	Fri Dec 01 10:16:26 2023 -0300
@@ -642,15 +642,6 @@
 	add_definitions( -DBACKPATCH )
 endif( BACKPATCH )
 
-# Update gitinfo.h
-
-get_target_property( UPDATEREVISION_EXE updaterevision LOCATION )
-
-add_custom_target( revision_check ALL
-	COMMAND ${UPDATEREVISION_EXE} src/gitinfo.h
-	WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
-	DEPENDS updaterevision )
-
 # Libraries ZDoom needs
 
 message( STATUS "Fluid synth libs: ${FLUIDSYNTH_LIBRARIES}" )
+0 −69
Original line number Diff line number Diff line
diff -r 89bccf7127ba sqlite/CMakeLists.txt
--- a/sqlite/CMakeLists.txt	Sun Jul 09 15:14:38 2023 -0400
+++ b/sqlite/CMakeLists.txt	Fri Dec 01 10:10:35 2023 -0300
@@ -1,65 +1,5 @@
 cmake_minimum_required( VERSION 2.4 )
 
-# [BB/EP] Download SQLite archive and extract the sources if necessary.
-set( ZAN_SQLITE_VERSION 3360000 ) # SQL version 3.36.0
-set( ZAN_SQLITE_YEAR 2021 )
-set( ZAN_SQLITE_SHA1 "a4bcf9e951bfb9745214241ba08476299fc2dc1e" )
-set( ZAN_SQLITE_DOWNLOAD_NAME "sqlite-autoconf-${ZAN_SQLITE_VERSION}" )
-set( ZAN_SQLITE_TEMP_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz" )
-set( ZAN_SQLITE_HASHED_ARCHIVE "${CMAKE_CURRENT_SOURCE_DIR}/sqlite-${ZAN_SQLITE_SHA1}.tar.gz" )
-
-if( IS_DIRECTORY ${ZAN_SQLITE_HASHED_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_HASHED_ARCHIVE} )
-	message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_HASHED_ARCHIVE} must be a valid file.\n"
-				"SQLite: Please remove it and try again." )
-elseif( ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3.c ) OR ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3.h ) OR ( NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/sqlite3ext.h ) )
-
-	if( NOT EXISTS ${ZAN_SQLITE_HASHED_ARCHIVE} )
-		if( IS_DIRECTORY ${ZAN_SQLITE_TEMP_ARCHIVE} OR IS_SYMLINK ${ZAN_SQLITE_TEMP_ARCHIVE} )
-			message( FATAL_ERROR "SQLite: ${ZAN_SQLITE_TEMP_ARCHIVE} must be a valid file.\n"
-					"SQLite: Please remove it and try again." )
-		endif()
-
-		message( STATUS "SQLite: downloading the archive..." )
-
-		file( DOWNLOAD https://www.sqlite.org/${ZAN_SQLITE_YEAR}/${ZAN_SQLITE_DOWNLOAD_NAME}.tar.gz ${ZAN_SQLITE_TEMP_ARCHIVE}
-				SHOW_PROGRESS
-				STATUS ZAN_SQLITE_DOWNLOAD_STATUS )
-
-		# Report any problem if present and abort immediately.
-		list( GET ZAN_SQLITE_DOWNLOAD_STATUS 0 ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
-		if( ZAN_SQLITE_DOWNLOAD_ERROR_CODE )
-			list( GET ZAN_SQLITE_DOWNLOAD_STATUS 1 ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE )
-			message( FATAL_ERROR "SQLite: download failed. Reason: ${ZAN_SQLITE_DOWNLOAD_ERROR_MESSAGE}" )
-		endif()
-
-		# Check the hash. Abort immediately if it's not valid (something is wrong with the download)
-		file( SHA1 ${ZAN_SQLITE_TEMP_ARCHIVE} ZAN_SQLITE_CURRENT_SHA1 )
-		if( NOT ZAN_SQLITE_CURRENT_SHA1 STREQUAL ZAN_SQLITE_SHA1 )
-			message( FATAL_ERROR "SQLite: download failed. The downloaded file has a different hash:\n"
-						"SQLite:    valid:      ${ZAN_SQLITE_SHA1}\n"
-						"SQLite:    downloaded: ${ZAN_SQLITE_CURRENT_SHA1}" )
-		endif()
-
-		# Rename the archive.
-		execute_process( COMMAND ${CMAKE_COMMAND} -E rename ${ZAN_SQLITE_TEMP_ARCHIVE} ${ZAN_SQLITE_HASHED_ARCHIVE} )
-	endif()
-
-	message( STATUS "SQLite: saving the source files into the 'sqlite' directory." )
-
-	# Extract the archive.
-	execute_process( COMMAND ${CMAKE_COMMAND} -E tar xzf ${ZAN_SQLITE_HASHED_ARCHIVE} WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} )
-
-	# Copy the required files.
-	execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3.c ${CMAKE_CURRENT_SOURCE_DIR} )
-	execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3.h ${CMAKE_CURRENT_SOURCE_DIR} )
-	execute_process( COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME}/sqlite3ext.h ${CMAKE_CURRENT_SOURCE_DIR} )
-
-	# Remove the extracted folder.
-	execute_process( COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_SOURCE_DIR}/${ZAN_SQLITE_DOWNLOAD_NAME} )
-
-	message( STATUS "SQLite: done." )
-endif()
-
 # [BB] Silence all GCC warnings
 IF ( CMAKE_COMPILER_IS_GNUCXX )
 	ADD_DEFINITIONS ( -w )
+2 −0
Original line number Diff line number Diff line
@@ -2887,6 +2887,8 @@ mapAliases {
  z3_4_8 = throw "'z3_4_8' has been removed in favour of the latest version. Use 'z3'."; # Added 2025-05-18
  zabbix50 = throw "'zabbix50' has been removed, it would have reached its End of Life a few days after the release of NixOS 25.05. Consider upgrading to 'zabbix60' or 'zabbix70'."; # Added 2025-04-22
  zabbix64 = throw "'zabbix64' has been removed because it reached its End of Life. Consider upgrading to 'zabbix70'."; # Added 2025-04-22
  zandronum-alpha = throw "'zandronum-alpha' has been removed as it was broken and the stable version has caught up"; # Added 2025-10-19
  zandronum-alpha-server = throw "'zandronum-alpha-server' has been removed as it was broken and the stable version has caught up"; # Added 2025-10-19
  zbackup = throw "'zbackup' has been removed due to being unmaintained upstream"; # Added 2025-08-22
  zeal-qt5 = lib.warnOnInstantiate "'zeal-qt5' has been removed from nixpkgs. Please use 'zeal' instead" zeal; # Added 2025-08-31
  zeal-qt6 = lib.warnOnInstantiate "'zeal-qt6' has been renamed to 'zeal'" zeal; # Added 2025-08-31
Loading