Well done, Windows-centric software is usually a pain to get building! Sorry I have found a few more things though - some easy some a bit more fiddly.

Some of the -Wno-xxx might not be accepted by gcc, and the actual warnings(->errors) produced can vary by arch, so it's simpler (and standard in ports) to patch away -Werror.

SEPARATE_BUILD is for "out of source tree" builds, with this the build dir shouldn't have source files in it (the main reason for SEPARATE_BUILD is so that the build dir can be cleaned without rerunning autoconf) - this port has source files there so it shouldn't use SEPARATE_BUILD, and s/WRKBUILD/WRKSRC/

Installing the binary should handle stripping, the simplest way is to use ${INSTALL_PROGRAM} which handles it automatically (including not stripping when building with DEBUG) - I would move this to do-install rather than patching upstream's Makefile.

There are some complications with the different makefiles for clang and gcc. Not sure how best to handle that but it needs to build on ports-gcc arch's without using clang - I don't have a suitable arch to test (sparc64 will do but also need to check the build log to make sure if doesn't call clang which is present there but shouldn't be used in that case). It should use CC/CXX/CFLAGS/CXXFLAGS rather than hardcoding clang/clang++/-O2

The conflict isn't ideal because various other ports depend on p7zip. Probably best to either replace p7zip completely (changing those other ports to use 7zip) or rename the binaries in p7zip (use a 'p' prefix, again changing the other ports to cope). As a result I think this port is one for post-7.1.

(also we need some way to handle rar if it's going to replace p7zip completely - e.g. build 7zz from the Alone2 dir - could either use similar to the v6 flavour in ports/net/bird/1 which deals with a similar problem - or could run the build in the second dir via post-build and use subpackages).



On 16 September 2022 04:39:16 Josh Grosse <j...@jggimi.net> wrote:

Oops.  V2 tarball attached, now.

On Thu, Sep 15, 2022 at 11:37:43PM -0400, Josh Grosse wrote:
On Thu, Sep 15, 2022 at 10:23:00PM -0400, George Koehler wrote:
On Thu, 15 Sep 2022 13:55:35 -0400
Josh Grosse <j...@jggimi.net> wrote:

A corrected tarball is attached -- pkg/DESCR was accidently empty.

I can't install p7zip with 7zip,

| Collision in p7zip-16.02p6: the following files already exist
|         /usr/local/bin/7za (7zip-22.01 and p7zip-16.02p6)
| Couldn't install p7zip-16.02p6

Should we declare a conflict?  See @conflict in pkg_create(8)

I've added a @conflict to the PLIST.  Thanks for catching that!

Also, I need one more patch.  I attach patch-C_7zCrcOpt_c; please add
it to your patches, so I can build 7zip on my big-endian macppc.  The
patch prevents the errors at the end of this mail.  After I added
patch-C_7zCrcOpt_c, I also built 7zip on powerpc64.

I might not need patch-C_7zCrcOpt_c if we would delete -Werror from the
flags.

I've added your patch without carriage returns, and added it to
the FIX_CRLF_FILES list.

I am unsure if we should remove -Werror.  I've added several -Wno-[blah]
flags to CPP/7zip/warn_clang.mak so this would build on amd64.

Thank you for reviewing this port!

Reply via email to