about summary refs log tree commit diff
path: root/pkgs/games/doom-ports
diff options
context:
space:
mode:
authorsouxd <souxd@proton.me>2023-12-01 15:04:30 -0300
committersouxd <souxd@proton.me>2023-12-01 15:04:30 -0300
commit547fea8f6f2ba3086f183620c5f092c651fa899f (patch)
treec2efc43d6c6f572d49259bd8beaa1aa889a020cc /pkgs/games/doom-ports
parentf5c27c6136db4d76c30e533c20517df6864c46ee (diff)
doomseeker: 2018-03-05 -> 2023-08-09
	new file:   pkgs/games/doom-ports/doomseeker/add_gitinfo.patch
	modified:   pkgs/games/doom-ports/doomseeker/default.nix
	new file:   pkgs/games/doom-ports/doomseeker/dont_update_gitinfo.patch
	modified:   pkgs/games/doom-ports/doomseeker/fix_paths.patch
Diffstat (limited to 'pkgs/games/doom-ports')
-rw-r--r--pkgs/games/doom-ports/doomseeker/add_gitinfo.patch17
-rw-r--r--pkgs/games/doom-ports/doomseeker/default.nix20
-rw-r--r--pkgs/games/doom-ports/doomseeker/dont_update_gitinfo.patch45
-rw-r--r--pkgs/games/doom-ports/doomseeker/fix_paths.patch58
4 files changed, 99 insertions, 41 deletions
diff --git a/pkgs/games/doom-ports/doomseeker/add_gitinfo.patch b/pkgs/games/doom-ports/doomseeker/add_gitinfo.patch
new file mode 100644
index 0000000000000..236a1418ce616
--- /dev/null
+++ b/pkgs/games/doom-ports/doomseeker/add_gitinfo.patch
@@ -0,0 +1,17 @@
+diff --git a/src/core/gitinfo.h b/src/core/gitinfo.h
+new file mode 100644
+index 00000000..6f330552
+--- /dev/null
++++ b/src/core/gitinfo.h
+@@ -0,0 +1,11 @@
++// 4cce0a37b134283ed38ee4814bb282773f9c2ed1
++//
++// This file was automatically generated by the
++// updaterevision tool. Do not edit by hand.
++
++#define GIT_DESCRIPTION "1.4.1-29-g4cce0a37"
++#define GIT_HASH "4cce0a37b134283ed38ee4814bb282773f9c2ed1"
++#define GIT_TIME "2023-08-09 13:55:37 +0200"
++#define HG_REVISION_NUMBER 1691582137
++#define HG_REVISION_HASH_STRING "4cce0a37b134"
++#define HG_TIME "230809-1155"
diff --git a/pkgs/games/doom-ports/doomseeker/default.nix b/pkgs/games/doom-ports/doomseeker/default.nix
index 48ea1a0296cfd..47719cd808faf 100644
--- a/pkgs/games/doom-ports/doomseeker/default.nix
+++ b/pkgs/games/doom-ports/doomseeker/default.nix
@@ -1,23 +1,29 @@
-{ lib, stdenv, mkDerivation, cmake, fetchFromBitbucket, pkg-config, qtbase, qttools, qtmultimedia, zlib, bzip2, xxd }:
+{ lib, stdenv, cmake, fetchFromBitbucket, wrapQtAppsHook, pkg-config, qtbase, qttools, qtmultimedia, zlib, bzip2, xxd }:
 
-mkDerivation {
+stdenv.mkDerivation {
   pname = "doomseeker";
-  version = "2018-03-05";
+  version = "2023-08-09";
 
   src = fetchFromBitbucket {
     owner = "Doomseeker";
     repo = "doomseeker";
-    rev = "c2c7f37b1afb";
-    sha256 = "17fna3a604miqsvply3klnmypps4ifz8axgd3pj96z46ybxs8akw";
+    rev = "4cce0a37b134283ed38ee4814bb282773f9c2ed1";
+    hash = "sha256-J7gesOo8NUPuVaU0o4rCGzLrqr3IIMAchulWZG3HTqg=";
   };
 
-  patches = [ ./fix_paths.patch ./qt_build_fix.patch ];
+  patches = [ ./dont_update_gitinfo.patch ./add_gitinfo.patch ./fix_paths.patch ];
 
-  nativeBuildInputs = [ cmake qttools pkg-config xxd ];
+  nativeBuildInputs = [ wrapQtAppsHook cmake qttools pkg-config xxd ];
   buildInputs = [ qtbase qtmultimedia zlib bzip2 ];
 
   hardeningDisable = lib.optional stdenv.isDarwin "format";
 
+  # Doomseeker looks for the engines in the program directory
+  postInstall = ''
+    mv $out/bin/* $out/lib/doomseeker/
+    ln -s $out/lib/doomseeker/doomseeker $out/bin/
+  '';
+
   meta = with lib; {
     homepage = "http://doomseeker.drdteam.org/";
     description = "Multiplayer server browser for many Doom source ports";
diff --git a/pkgs/games/doom-ports/doomseeker/dont_update_gitinfo.patch b/pkgs/games/doom-ports/doomseeker/dont_update_gitinfo.patch
new file mode 100644
index 0000000000000..724a628849d43
--- /dev/null
+++ b/pkgs/games/doom-ports/doomseeker/dont_update_gitinfo.patch
@@ -0,0 +1,45 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b4b26e04..338858f8 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -149,11 +149,8 @@ set(CXX_STANDARD_REQUIRED ON)
+ 
+ if(WIN32)
+ 	set(WITH_AUTOUPDATES 1)
+-	add_subdirectory(tools/updateinstaller)
+ endif()
+ 
+-add_subdirectory(tools/updaterevision)
+-
+ add_subdirectory(src/core)
+ add_subdirectory(src/plugins)
+ 
+diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
+index 089e3889..8add598d 100644
+--- a/src/core/CMakeLists.txt
++++ b/src/core/CMakeLists.txt
+@@ -50,13 +50,6 @@ configure_file(doomseeker_copts.h.in doomseeker_copts.h)
+ option(DOOMSEEKER_INSTALL_NONFREE "Install non-free resources?" ${DEFAULT_NONFREE_INSTALL})
+ set(DOOMSEEKER_IP2C_DAT "" CACHE FILEPATH "Path to IpToCountry.dat; optional")
+ 
+-# Get the revision from vcs
+-add_custom_target(revision_check ALL
+-	COMMAND updaterevision ${CMAKE_CURRENT_SOURCE_DIR}/gitinfo.h
+-	WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+-	DEPENDS updaterevision
+-)
+-
+ # In case gitinfo.h isn't yet generated create a dummy file so our file listing
+ # will contain it. We can't just add it to the file listing since then CMake
+ # would complain that it doesn't exist.
+@@ -178,10 +171,6 @@ endif()
+ 
+ target_compile_definitions(doomseeker PRIVATE "-DINSTALL_PREFIX=\"${CMAKE_INSTALL_PREFIX}\"" "-DINSTALL_LIBDIR=\"${CMAKE_INSTALL_LIBDIR}\"")
+ 
+-# Make sure the vcs version file is created before we attempt to compile
+-# Doomseeker.
+-add_dependencies(doomseeker revision_check)
+-
+ target_link_libraries(doomseeker
+ LINK_PRIVATE
+ 	Wadseeker::wadseeker
diff --git a/pkgs/games/doom-ports/doomseeker/fix_paths.patch b/pkgs/games/doom-ports/doomseeker/fix_paths.patch
index 08654c2384cb3..74d8923610554 100644
--- a/pkgs/games/doom-ports/doomseeker/fix_paths.patch
+++ b/pkgs/games/doom-ports/doomseeker/fix_paths.patch
@@ -1,40 +1,30 @@
-diff -ru3 source-old/src/core/datapaths.cpp source-new/src/core/datapaths.cpp
---- source-old/src/core/datapaths.cpp	1970-01-01 03:00:01.000000000 +0300
-+++ source-new/src/core/datapaths.cpp	2018-03-04 00:10:25.247262567 +0300
-@@ -335,7 +335,7 @@
- 	paths.append(workingDirectory());
- 	paths.append("./");
- #ifndef Q_OS_WIN32
--	paths.append(INSTALL_PREFIX "/" INSTALL_LIBDIR "/doomseeker/");
-+	paths.append(INSTALL_PREFIX "/lib/doomseeker/");
- #endif
- 	paths = uniquePaths(paths);
- 	return Strings::combineManyPaths(paths, "engines/");
-diff -ru3 source-old/src/core/pathfinder/pathfinder.cpp source-new/src/core/pathfinder/pathfinder.cpp
---- source-old/src/core/pathfinder/pathfinder.cpp	1970-01-01 03:00:01.000000000 +0300
-+++ source-new/src/core/pathfinder/pathfinder.cpp	2018-03-04 00:09:34.862556976 +0300
-@@ -128,9 +128,7 @@
+diff --git a/src/core/pathfinder/pathfinder.cpp b/src/core/pathfinder/pathfinder.cpp
+index f277283a..454a8145 100644
+--- a/src/core/pathfinder/pathfinder.cpp
++++ b/src/core/pathfinder/pathfinder.cpp
+@@ -137,9 +137,7 @@ PathFinder PathFinder::genericPathFinder(const QStringList &suffixes)
  		<< DataPaths::programFilesDirectory(DataPaths::x64)
  		<< DataPaths::programFilesDirectory(DataPaths::x86);
- #else
+ 	#else
 -	paths << "/usr/bin" << "/usr/local/bin" << "/usr/share/bin"
 -		<< "/usr/games/" << "/usr/local/games/"
--		<< "/usr/share/games/" << gDefaultDataPaths->workingDirectory() << ".";
-+	paths << gDefaultDataPaths->workingDirectory() << ".";
- #endif
+-		<< "/usr/share/games/" << QCoreApplication::applicationDirPath() << ".";
++  paths << gDefaultDataPaths->workingDirectory() << ".";
+ 	#endif
  	QStringList pathsCopy(paths);
- 	foreach (const QString &path, pathsCopy)
-diff -ru3 source-old/src/core/pathfinder/wadpathfinder.cpp source-new/src/core/pathfinder/wadpathfinder.cpp
---- source-old/src/core/pathfinder/wadpathfinder.cpp	1970-01-01 03:00:01.000000000 +0300
-+++ source-new/src/core/pathfinder/wadpathfinder.cpp	2018-03-04 00:09:56.822865339 +0300
-@@ -84,10 +84,6 @@
- 		QStringList defaultPaths()

- 		{

- 			QStringList paths;

--			#ifdef Q_OS_UNIX

--			paths << "/usr/local/share/games/doom/"

--				<< "/usr/share/games/doom/";

--			#endif

- 			return paths;

- 		}

+ 	for (const QString &path : pathsCopy)
+diff --git a/src/core/pathfinder/wadpathfinder.cpp b/src/core/pathfinder/wadpathfinder.cpp
+index 07df0b64..6300542d 100644
+--- a/src/core/pathfinder/wadpathfinder.cpp
++++ b/src/core/pathfinder/wadpathfinder.cpp
+@@ -84,10 +84,6 @@ public:
+ 	QStringList defaultPaths()

+ 	{

+ 		QStringList paths;

+-		#ifdef Q_OS_UNIX

+-		paths << "/usr/local/share/games/doom/"

+-			<< "/usr/share/games/doom/";

+-		#endif

+ 		return paths;

+ 	}

  };