From bde92c260976b4a25e831fc249c8392a019d957b Mon Sep 17 00:00:00 2001 From: Jan Palus Date: Mon, 26 Aug 2019 22:10:06 +0200 Subject: [PATCH] updated snap to 20190729 --- quake3-QUAKELIBDIR.patch | 50 +++++++++++++++++++++++++-------------- quake3-strcpy-abuse.patch | 31 ------------------------ quake3.spec | 28 +++++++++++++--------- 3 files changed, 49 insertions(+), 60 deletions(-) delete mode 100644 quake3-strcpy-abuse.patch diff --git a/quake3-QUAKELIBDIR.patch b/quake3-QUAKELIBDIR.patch index f8816aa..9798f02 100644 --- a/quake3-QUAKELIBDIR.patch +++ b/quake3-QUAKELIBDIR.patch @@ -1,24 +1,38 @@ ---- quake3/code/sys/sys_main.c~orig 2008-10-24 17:27:20.000000000 +0200 -+++ quake3/code/sys/sys_main.c 2008-10-24 17:28:11.000000000 +0200 -@@ -383,7 +383,8 @@ - Used to load a development dll instead of a virtual machine - #1 look down current path - #2 look in fs_homepath --#3 look in fs_basepath -+#3 look in QUAKELIBDIR -+#4 look in fs_basepath +diff -urN quake3.orig/code/sys/sys_main.c quake3/code/sys/sys_main.c +--- quake3.orig/code/sys/sys_main.c 2019-07-29 18:40:49.424888973 +0200 ++++ quake3/code/sys/sys_main.c 2019-07-29 18:51:00.376127397 +0200 +@@ -500,7 +500,7 @@ + Sys_LoadDll + + First try to load library name from system library path, +-from executable path, then fs_basepath. ++from executable path, QUAKELIBDIR, then fs_basepath. ================= */ - void *Sys_LoadDll( const char *name, char *fqpath , -@@ -413,6 +414,11 @@ - if(!libHandle && homepath) - libHandle = Sys_TryLibraryLoad(homepath, gamedir, fname, fqpath); + +@@ -542,6 +542,25 @@ + Com_Printf("Skipping trying to load \"%s\" from \"%s\", file name is too long.\n", name, topDir); + } +#if defined(QUAKELIBDIR) -+ if(!libHandle) -+ libHandle = Sys_TryLibraryLoad(QUAKELIBDIR, gamedir, fname, fqpath); ++ if(!dllhandle) ++ { ++ char libPath[MAX_OSPATH]; ++ int len; ++ ++ len = Com_sprintf(libPath, sizeof(libPath), "%s%c%s", QUAKELIBDIR, PATH_SEP, name); ++ if(len < sizeof(libPath)) ++ { ++ Com_Printf("Trying to load \"%s\" from \"%s\"...\n", name, QUAKELIBDIR); ++ dllhandle = Sys_LoadLibrary(libPath); ++ } ++ else ++ { ++ Com_Printf("Skipping trying to load \"%s\" from \"%s\", file name is too long.\n", name, QUAKELIBDIR); ++ } ++ } +#endif + - if(!libHandle && basepath) - libHandle = Sys_TryLibraryLoad(basepath, gamedir, fname, fqpath); - + if(!dllhandle) + { + const char *basePath = Cvar_VariableString("fs_basepath"); diff --git a/quake3-strcpy-abuse.patch b/quake3-strcpy-abuse.patch deleted file mode 100644 index d741ab2..0000000 --- a/quake3-strcpy-abuse.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- quake3-1.36/code/botlib/l_precomp.c 2009-04-27 08:42:37.000000000 +0200 -+++ quake3-1.36/code/botlib/l_precomp.c~ 2009-11-03 21:03:08.000000000 +0100 -@@ -948,7 +948,7 @@ void PC_ConvertPath(char *path) - if ((*ptr == '\\' || *ptr == '/') && - (*(ptr+1) == '\\' || *(ptr+1) == '/')) - { -- strcpy(ptr, ptr+1); -+ memmove(ptr, ptr+1, strlen(ptr)); - } //end if - else - { ---- quake3-1.36/code/botlib/l_script.c 2009-04-27 08:42:37.000000000 +0200 -+++ quake3-1.36/code/botlib/l_script.c~ 2009-11-03 21:06:11.000000000 +0100 -@@ -1118,7 +1118,7 @@ void StripDoubleQuotes(char *string) - { - if (*string == '\"') - { -- strcpy(string, string+1); -+ memmove(string, string+1, strlen(string)); - } //end if - if (string[strlen(string)-1] == '\"') - { -@@ -1135,7 +1135,7 @@ void StripSingleQuotes(char *string) - { - if (*string == '\'') - { -- strcpy(string, string+1); -+ memmove(string, string+1, strlen(string)); - } //end if - if (string[strlen(string)-1] == '\'') - { diff --git a/quake3.spec b/quake3.spec index 0053546..90311e5 100644 --- a/quake3.spec +++ b/quake3.spec @@ -1,7 +1,7 @@ %define dataver 1.32b3-1 -%define snap 20090430 -%define rel 5 +%define snap 20190729 +%define rel 1 Summary: Quake3 for Linux Summary(de.UTF-8): Quake3 für Linux Summary(pl.UTF-8): Quake3 dla Linuksa @@ -12,25 +12,29 @@ License: GPL v2 Group: X11/Applications/Games # svn export svn://svn.icculus.org/quake3/branches/1.36 quake3 Source0: %{name}-%{snap}.tar.bz2 -# Source0-md5: 64fb50ede462b45bc0c2e289b04bd244 +# Source0-md5: e992c1043fbef63ddcb2b55af2d3543d Source2: q3ded.init Source3: q3ded.sysconfig Source4: %{name}.desktop Source5: %{name}-smp.desktop Patch0: %{name}-QUAKELIBDIR.patch Patch1: %{name}-alpha.patch -Patch2: %{name}-strcpy-abuse.patch URL: http://ioquake3.org/ BuildRequires: OpenAL-devel BuildRequires: OpenGL-GLU-devel BuildRequires: OpenGL-devel -BuildRequires: SDL-devel +BuildRequires: SDL2-devel BuildRequires: curl-devel +BuildRequires: freetype-devel >= 2 +BuildRequires: libjpeg-devel +BuildRequires: libogg-devel BuildRequires: libvorbis-devel +BuildRequires: opus-devel +BuildRequires: opusfile-devel BuildRequires: pkgconfig BuildRequires: rpmbuild(macros) >= 1.268 -#BuildRequires: speex-devel BuildRequires: which +BuildRequires: zlib-devel Requires: %{name}-common = %{version}-%{release} Requires: OpenGL Requires: quake3-data >= %{dataver} @@ -124,7 +128,6 @@ Pliki wspólne Quake3 dla serwera i trybu gracza. %setup -q -n %{name} %patch0 -p1 %patch1 -p1 -%patch2 -p1 %build cat << 'EOF' > Makefile.local @@ -141,16 +144,16 @@ USE_OPENAL_DLOPEN = 0 USE_CURL = 1 USE_CURL_DLOPEN = 0 USE_CODEC_VORBIS = 1 +USE_FREETYPE = 1 USE_MUMBLE = 1 USE_VOIP = 1 -USE_INTERNAL_SPEEX = 1 -USE_LOCAL_HEADERS = 0 +USE_INTERNAL_LIBS = 0 GENERATE_DEPENDENCIES = 0 DEFAULT_BASEDIR = %{_datadir}/games/%{name} override OPTIMIZE = %{rpmcflags} \ - -DQUAKELIBDIR=\\\"%{_libdir}/%{name}\\\" + -DQUAKELIBDIR=\"%{_libdir}/%{name}\" # vim spec bug: " @@ -174,6 +177,8 @@ install rel/ioquake3.* $RPM_BUILD_ROOT%{_bindir}/%{name} #install rel/ioquake3-smp.* $RPM_BUILD_ROOT%{_bindir}/%{name}-smp install rel/ioq3ded.* $RPM_BUILD_ROOT%{_bindir}/q3ded +install rel/renderer*.so $RPM_BUILD_ROOT%{_libdir}/%{name} + install rel/baseq3/*.so $RPM_BUILD_ROOT%{_libdir}/%{name}/baseq3 install rel/missionpack/*.so $RPM_BUILD_ROOT%{_libdir}/%{name}/missionpack @@ -239,10 +244,11 @@ fi %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/quake3 %{_desktopdir}/quake3.desktop +%attr(755,root,root) %{_libdir}/%{name}/renderer*.so %files common %defattr(644,root,root,755) -%doc BUGS id-readme.txt README ChangeLog TODO +%doc CONTRIBUTING.md id-readme.txt README.md SECURITY.md ChangeLog TODO %dir %{_datadir}/games/%{name} %dir %{_datadir}/games/%{name}/baseq3 %{_pixmapsdir}/quake3.svg -- 2.44.0