Re: maintenance of gcc cross ports

2019-05-18 Thread Mark Millard via freebsd-ports
James Shuriff james at opentech.cc wrote on
Sat May 18 12:29:22 UTC 2019 :

> The powerpc64-gcc port and all the ports that use it as a master 
> (aarch64-gcc, aarch64-none-elf-gcc, amd64-gcc, arm-none-eabi-gcc, i386-gcc, 
> mips-gcc, mips64-gcc, and sparc64-gcc) are very old and use buggy makefiles. 
> I would like to take over maintenance of these ports. Powerpc64-gcc uses an 
> old version of gcc and the makefile is buggy. Certain variables use bad 
> regular expressions thus don't do what they're supposed to do. I've fixed up 
> the makefiles and made new plists with a newer version of gcc.

Be aware that:

/[ports]/head/base/binutils depends on devel/binutils via:

MASTERDIR=  ${.CURDIR}/../../devel/binutils

/[ports]/head/base/gcc depends on devel/powerpc64-gcc via:

EXTRA_PATCHES+= 
${.CURDIR}/../../devel/powerpc64-gcc/files/freebsd-format-extensions
EXTRA_PATCHES+= ${.CURDIR}/../../devel/powerpc64-gcc/files/freebsd-libdir
EXTRA_PATCHES+= 
${.CURDIR}/../../devel/powerpc64-gcc/files/patch-gcc-freebsd-mips

The maintainer is listed as: b...@freebsd.org but
the activity tends to be j...@freebsd.org . There are
other, more overall FreeBSD toolchain efforts that
these various ports are tied to. That may constrain
what can be done when. You would probably need to
consult with these folks about any changes.

I use these ports for doing alternate toolchain
buildworld buildkernel activities, including using, say,
devel/powerpc64-gcc on a powerpc64 machine to self host
with more modern tools than gcc 4.2.1 based ones.
As I understand, being in devel/ instead of lang/ for
gcc tools is tied to being constructed for the
system-building activities instead of for general use.

You might want to show your Makefile updates so that
that the problems are fully explicit.

===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Warsow port. I think we can help each other.

2019-05-18 Thread Leonid Bobrov
Hi!

I've just uploaded a diff you need:
https://github.com/OrangeGrayCyan/warsow/blob/master/warsow.diff

Also to avoid tarball name confict between warsow and warsow-data,
please use 2.1.2-source tag instead of 2.1.2 (we noticed it too late).

On Sat, May 18, 2019 at 02:11:06PM +0300, Leonid Bobrov wrote:
> On Sat, May 18, 2019 at 10:31:04AM +, 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.
> *  is not only included at MacOS, but at every Unix-like
> system.
> *  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.
> ___
> freebsd-ports@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: FYI: Unable to build -r501994 ports' lang/gcc8 on clang 8 based powerpc64 system (no -O1 use): "does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls

2019-05-18 Thread Mark Millard via freebsd-ports
On 2019-May-18, at 21:11, Mark Millard  wrote:

> This was in a poudriere bulk build on a head -r347549 based powerpc64
> system with system clang 8 for cc and c++ and base/binutils
> for ld. I was attempting a build with the -O1 changes disabled. (Note:
> the system is self hosting for buildworld buildkernel via the clang 8
> and base/binutils combination.)
> 
> So having issues with building lang/gcc8 is not limited  to gcc 4.2.1's
> tool chain for powerpc64. (I've not yet tested -O1 use as the bulk build
> still has lots of other things to build.)
> 
> . . .
> c++: warning: argument unused during compilation: '-nopie' 
> [-Wunused-command-line-argument]
> /usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0x540): sibling call 
> optimization to `_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' 
> does not allow automatic multiple TOCs; recompile with 
> -mminimal-toc or -fno-optimize-sibling-calls, or make 
> `_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' extern
> /usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0xa58): sibling call 
> optimization to `_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' 
> does not allow automatic multiple TOCs; recompile with 
> -mminimal-toc or -fno-optimize-sibling-calls, or make 
> `_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' extern
> . . .
> /usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0x1150): sibling call 
> optimization to 
> `_ZN10hash_tableIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simple_hashmap_traitsI19default_hash_traitsIS2
> _ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option' 
> does not allow automatic multiple TOCs; recompile with -mminimal-toc or 
> -fno-optimize-sibling-calls, or make `_ZN10hash_tab
> leIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simple_hashmap_traitsI19default_hash_traitsIS2_ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option'
>  extern
> /usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0x1224): sibling call 
> optimization to 
> `_ZN10hash_tableIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simple_hashmap_traitsI19default_hash_traitsIS2
> _ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option' 
> does not allow automatic multiple TOCs; recompile with -mminimal-toc or 
> -fno-optimize-sibling-calls, or make `_ZN10hash_tab
> leIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simple_hashmap_traitsI19default_hash_traitsIS2_ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option'
>  extern
> . . .
> 
> 
> For reference . . .
> 
> # cc -v
> FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on LLVM 
> 8.0.0)
> Target: powerpc64-unknown-freebsd13.0
> Thread model: posix
> InstalledDir: /usr/bin
> 
> # c++ -v
> FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on LLVM 
> 8.0.0)
> Target: powerpc64-unknown-freebsd13.0
> Thread model: posix
> InstalledDir: /usr/bin
> 
> # ld -v
> GNU ld (GNU Binutils) 2.32
> 
> 
> I used:
> 
> # svnlite diff /usr/ports/lang/gcc8/ | more
> Index: /usr/ports/lang/gcc8/Makefile
> ===
> --- /usr/ports/lang/gcc8/Makefile   (revision 501994)
> +++ /usr/ports/lang/gcc8/Makefile   (working copy)
> @@ -62,7 +62,7 @@
> 
> .elif ${ARCH} == powerpc64
> CONFIGURE_ENV+=UNAME_m="powerpc64"
> -MAKE_ARGS+=CFLAGS_FOR_TARGET="-O1" CXXFLAGS_FOR_TARGET="-O1" 
> BOOT_CFLAGS="-O1" # PR235975
> +#MAKE_ARGS+=   CFLAGS_FOR_TARGET="-O1" CXXFLAGS_FOR_TARGET="-O1" 
> BOOT_CFLAGS="-O1" # PR235975
> 
> .elif ${ARCH} == powerpcspe
> CONFIGURE_ARGS+=   --with-cpu=8548 --enable-e500_double --without-fp
> @@ -80,7 +80,7 @@
> CONFIGURE_ARGS+=--with-build-config=bootstrap-debug
> ALL_TARGET=bootstrap-lean
> .endif
> -INSTALL_TARGET=install-strip
> +#INSTALL_TARGET=   install-strip
> .if ${UID} != 0
> BINMODE=   755
> .endif
> 

I managed to not have poudriere using base/binutils but instead:

# /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils-poud/usr/bin/ld -v
GNU ld 2.17.50 [FreeBSD] 2007-07-03

cc and c++ were as they should have been:

# /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils-poud/usr/bin/cc -v
FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on LLVM 
8.0.0)
Target: powerpc64-unknown-freebsd13.0
Thread model: posix
InstalledDir: 
/usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils-poud/usr/bin

# /usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils-poud/usr/bin/c++ -v
FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on LLVM 
8.0.0)
Target: powerpc64-unknown-freebsd13.0
Thread model: posix
InstalledDir: 
/usr/obj/DESTDIRs/clang-powerpc64-installworld_altbinutils-poud/usr/bin

So I was not testing the tools combination that I thought/intended.


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)


FYI: Unable to build -r501994 ports' lang/gcc8 on clang 8 based powerpc64 system (no -O1 use): "does not allow automatic multiple TOCs; recompile with -mminimal-toc or -fno-optimize-sibling-calls, or

2019-05-18 Thread Mark Millard via freebsd-ports
This was in a poudriere bulk build on a head -r347549 based powerpc64
system with system clang 8 for cc and c++ and base/binutils
for ld. I was attempting a build with the -O1 changes disabled. (Note:
the system is self hosting for buildworld buildkernel via the clang 8
and base/binutils combination.)

So having issues with building lang/gcc8 is not limited  to gcc 4.2.1's
tool chain for powerpc64. (I've not yet tested -O1 use as the bulk build
still has lots of other things to build.)

. . .
c++: warning: argument unused during compilation: '-nopie' 
[-Wunused-command-line-argument]
/usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0x540): sibling call optimization 
to `_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' does not allow 
automatic multiple TOCs; recompile with 
-mminimal-toc or -fno-optimize-sibling-calls, or make 
`_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' extern
/usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0xa58): sibling call optimization 
to `_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' does not allow 
automatic multiple TOCs; recompile with 
-mminimal-toc or -fno-optimize-sibling-calls, or make 
`_ZN16function_summaryIP14ipa_fn_summaryE3getEP11cgraph_node' extern
. . .
/usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0x1150): sibling call 
optimization to 
`_ZN10hash_tableIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simple_hashmap_traitsI19default_hash_traitsIS2
_ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option' 
does not allow automatic multiple TOCs; recompile with -mminimal-toc or 
-fno-optimize-sibling-calls, or make `_ZN10hash_tab
leIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simple_hashmap_traitsI19default_hash_traitsIS2_ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option'
 extern
/usr/bin/ld: libbackend.a(ipa-inline.o)(.text+0x1224): sibling call 
optimization to 
`_ZN10hash_tableIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simple_hashmap_traitsI19default_hash_traitsIS2
_ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option' 
does not allow automatic multiple TOCs; recompile with -mminimal-toc or 
-fno-optimize-sibling-calls, or make `_ZN10hash_tab
leIN8hash_mapI8int_hashIiLi0ELin1EEP16ipa_call_summary21simple_hashmap_traitsI19default_hash_traitsIS2_ES4_EE10hash_entryE11xcallocatorE19find_slot_with_hashERKij13insert_option'
 extern
. . .


For reference . . .

# cc -v
FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on LLVM 
8.0.0)
Target: powerpc64-unknown-freebsd13.0
Thread model: posix
InstalledDir: /usr/bin

# c++ -v
FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on LLVM 
8.0.0)
Target: powerpc64-unknown-freebsd13.0
Thread model: posix
InstalledDir: /usr/bin

# ld -v
GNU ld (GNU Binutils) 2.32


I used:

# svnlite diff /usr/ports/lang/gcc8/ | more
Index: /usr/ports/lang/gcc8/Makefile
===
--- /usr/ports/lang/gcc8/Makefile   (revision 501994)
+++ /usr/ports/lang/gcc8/Makefile   (working copy)
@@ -62,7 +62,7 @@
 
 .elif ${ARCH} == powerpc64
 CONFIGURE_ENV+=UNAME_m="powerpc64"
-MAKE_ARGS+=CFLAGS_FOR_TARGET="-O1" CXXFLAGS_FOR_TARGET="-O1" 
BOOT_CFLAGS="-O1" # PR235975
+#MAKE_ARGS+=   CFLAGS_FOR_TARGET="-O1" CXXFLAGS_FOR_TARGET="-O1" 
BOOT_CFLAGS="-O1" # PR235975
 
 .elif ${ARCH} == powerpcspe
 CONFIGURE_ARGS+=   --with-cpu=8548 --enable-e500_double --without-fp
@@ -80,7 +80,7 @@
 CONFIGURE_ARGS+=--with-build-config=bootstrap-debug
 ALL_TARGET=bootstrap-lean
 .endif
-INSTALL_TARGET=install-strip
+#INSTALL_TARGET=   install-strip
 .if ${UID} != 0
 BINMODE=   755
 .endif


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)

___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Samba dump (useless) core

2019-05-18 Thread Andrea Venturoli

On 5/8/19 1:44 PM, Jan Beich wrote:
Hello.

While I am by no means at the end of this, I'll post some updates.





> "stack overflow detected" messages are part of -fstack-protector*.
> Recently, ports/ default changed to -strong in order to follow base/.
>
> https://svnweb.freebsd.org/changeset/ports/499897

Reading the description of -fstack-protector vs 
-fstack-protector-strong, it shouldn't make any difference in this function.
I tried "SSP_CFLAGS?=	-fstack-protector" for confirmation and the canary 
is still there.

So that changeset cannot be the culprit.

I do no dare trying "SSP_UNSAFE=	yes", because, in case it's really a 
buffer overflow, I prefer a core to undefined behaviour on production 
servers!
Perhaps it's lack of imagination on my part, but I fail to see how SSP 
could give a false positive...
Besides there are other hints which make me suspect a buffer overflow is 
really happening.






> If neither DEBUG port option nor WITH_DEBUG make variable provide symbols
> then file a bug.

The DEBUG option is there and works (using base GDB had me think 
otherwise, but after switching to devel/gdb I can see debug info).


However, ports seem to compile with -O2, which sometimes makes it hard 
to unterstand what's going on; so I added "CFLAGS= 
 -O0" to Makefile.






Putting that binary (with -O0) in production on one server has halted 
the stream of cores, at least for now: I had about one core per minute 
before; now it has been working fine for 30 minutes.

The other server which shows this problem is not dumping cores right now.

I'm not saying it's solved, however, since these dumps in the past have 
stopped appearing several times, and later started happening again; so 
I'll have to keep an eye on this.


(My wild guess, but I'm not sure, is that this happens when a client 
needs to change its trust password: it tries again and again, and if it 
eventually succeeds, then I don't get any more core until another client 
needs this).






> In addition to debug symbols try building with -fsanitize=address in
> order to save time finding a place where the overflow occurs.

I wanted to try this, but ended up with an error during "make configure":

Checking simple C program
==>
#define CONFIG_H_IS_FROM_SAMBA 1
#define _SAMBA_BUILD_ 4
#define HAVE_CONFIG_H 1
#define SRCDIR "/usr/ports/net/samba48/work/samba-4.8.12"
#define HAVE_SYS_UTSNAME_H 1
/* #undef SYSTEM_UNAME_SYSNAME */
/* #undef SYSTEM_UNAME_MACHINE */
/* #undef SYSTEM_UNAME_RELEASE */
/* #undef SYSTEM_UNAME_VERSION */
#define HAVE_STDIO_H 1
#include 

 int main(void) { printf("hello world"); return 0; }

<==
[1/2] Compiling test.c
['cc', '-O2', '-pipe', '-fsanitize=address', '-DLIBICONV_PLUG', 
'-fno-color-diagnostics', '-fstack-protector-strong', 
'-DLDAP_DEPRECATED', '-isystem', '/usr/local/include', 
'-fno-strict-aliasing', '-fno-omit-frame-pointer', 
'-I/usr/ports/net/samba48/work/samba-4.8.12/lib/replace/../../buildtools/wafsamba', 
'-MD', '-Idefault', '-I..', '-Idefault', '-I..', '-DLIBICONV_PLUG', 
'-isystem', '/usr/local/include', '-D_SAMBA_BUILD_=4', 
'-DHAVE_CONFIG_H=1', '../test.c', '-c', '-o', 'default/test_1.o']

[2/2] Linking default/testprog
default/test_1.o: In function `asan.module_ctor':
test.c:(.text+0x22): undefined reference to `__asan_init'
test.c:(.text+0x27): undefined reference to 
`__asan_version_mismatch_check_v8'

test.c:(.text+0x36): undefined reference to `__asan_register_globals'
default/test_1.o: In function `asan.module_dtor':
test.c:(.text+0x4c): undefined reference to `__asan_unregister_globals'
cc: error: linker command failed with exit code 1 (use -v to see invocation)
['cc', 'default/test_1.o', '-o', 
'/usr/ports/net/samba48/work/samba-4.8.12/bin/.conf_check_0/testbuild/default/testprog', 
'-fstack-protector-strong', '-L/usr/local/lib']






 bye & Thanks
av.
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


maintenance of gcc cross ports

2019-05-18 Thread James Shuriff
The powerpc64-gcc port and all the ports that use it as a master (aarch64-gcc, 
aarch64-none-elf-gcc, amd64-gcc, arm-none-eabi-gcc, i386-gcc, mips-gcc, 
mips64-gcc, and sparc64-gcc) are very old and use buggy makefiles. I would like 
to take over maintenance of these ports. Powerpc64-gcc uses an old version of 
gcc and the makefile is buggy. Certain variables use bad regular expressions 
thus don't do what they're supposed to do. I've fixed up the makefiles and made 
new plists with a newer version of gcc.

- James Shuriff


DISCLAIMER: This message and any attachments are intended solely for the use of 
the recipient and may contain confidential information. If you have received 
this message in error please delete it and promptly notify the sender, James 
Shuriff (ja...@opentech.cc).
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Warsow port. I think we can help each other.

2019-05-18 Thread Leonid Bobrov
On Sat, May 18, 2019 at 10:31:04AM +, 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.
*  is not only included at MacOS, but at every Unix-like
system.
*  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.
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"