Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 May 2019 14:11:06 +0300
From:      Leonid Bobrov <mazocomp@disroot.org>
To:        Alexey Dokuchaev <danfe@freebsd.org>, freebsd-ports@freebsd.org
Subject:   Re: Warsow port. I think we can help each other.
Message-ID:  <20190518111106.GA37308@mazocomp.lan>
In-Reply-To: <20190518103104.GA62607@FreeBSD.org>
References:  <20190511133803.GA16193@mazocomp.lan> <20190511160543.GA47768@mazocomp.lan> <20190514082722.GA64997@mazocomp.lan> <20190514103943.GA94920@mazocomp.lan> <20190518103104.GA62607@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, May 18, 2019 at 10:31:04AM +0000, Alexey Dokuchaev wrote:
> On Tue, May 14, 2019 at 01:39:43PM +0300, Leonid Bobrov wrote:
> > I've finished porting Warsow on my side, I hope you'll use my patches
> > to resurrect appropriate ports and Warsow will just work at FreeBSD.
> > 
> > https://github.com/mazocomp/openbsd-wip/tree/warsow/games/warsow/
> > https://github.com/mazocomp/openbsd-wip/tree/warsow/games/warsow-data/
> 
> I had update almost ready but never committed it.  I'll take a lot at
> your patches, thanks.  Would you like to take over maintainership?
>
> ./danfe
>

Yes, I want to be maintainer. Also I recently made a fork of Warsow 2.1
which should suit FreeBSD ports, OpenBSD ports, pkgsrc and Ravenports:
https://github.com/OrangeGrayCyan/warsow

Please if you have more patches, send them to my fork, I will merge them
and create a new tag, that way I'll keep patches in sync between *BSD
and Solaris/illumos.

That's a patched version of warsow_21_sdk.tar.gz, so you won't find
patches unless you run a diff(1) against files in warsow_21_sdk.tar.gz,
but if you are interested what exactly I did:
* No suffixes in libraries' and binaries' names which tell about for
what OS and processor architecture they were compiled.
* Removed C and C++ flags which should be given by ports systems.
* Support for pkgsrc and Ravenports in FindSDL2.cmake
* ar(1) won't receive linker flags.
* -std=gnu11 flag reduces amount of warnings.
* -Wpedantic flag should help cleaning code in the future.
* Use sendfile() at DragonFly BSD and FreeBSD, also implement one at all
other OSes.
* DATADIR macro defined by CMakeLists.txt to point to system-wide
directory with data files instead of current directory.
* Unquote library names in CMakeLists.txt files.
* BUILDSTRING, OSNAME, CPUSTRING, LIB_DIRECTORY, LIB_PREFIX and
LIB_SUFFIX macros are defined by CMakeLists.txt
* System-wide libraries will never be dlopen(3)'ed.
* AngelScript 2.29.2 is built and statically linked.
* Windows, MacOS and Linux libraries in modules_21.pk3 are ignored.
* Many matches for ${CMAKE_SYSTEM_NAME} were changed to WIN32, APPLE and
UNIX.
* <sys/param.h> is not only included at MacOS, but at every Unix-like
system.
* <alloca.h> should only be included at Linux.
* -D_POSIX_C_SOURCE=200112L -D_XOPEN_SOURCE=500 flags were removed to
fix build break at FreeBSD.
* find_package(OpenGL) should add -I/usr/X11R6/include flag.
* All #if defined() were carefully changed to something like:
```
#if defined(_WIN32)
...
#elif defined(__APPLE__)
...
#elif defined(__ANDROID__)
...
#else
...
#endif
```
* SDL_SetWindowIcon() is commented because of buffer overflow in SDL2:
https://github.com/mazocomp/openbsd-wip/blob/3924bc18d05ded21bf0f69def7f1826ae92b2150/games/warsow/BACKTRACE

* SDL2 is a required dependency.
* readdir64 and dirent64 are defined at systems other than Linux.
* Remove unnecessary files which make source tarball waste 500 MB of
disk space.

I am planning to add install target to CMakeLists.txt, but right now I
don't know how to do it.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20190518111106.GA37308>