Tuesday, February 28, 2023

Re: [update] lang/swi-prolog 9.0.3

Hi,

Thanks for working on this.

On Sun, Feb 19, 2023 at 04:45:26PM +0100, Willemijn Coene wrote:
> -SHARED_LIBS = swipl 0.0 # 7.5
> +SHARED_LIBS = swipl 1.0

Can we put the upstream version in a comment, like before?

> +MODULES += devel/cmake

The indentation is weird on this line. The += should be with MODULES on the
left.

> + -DCMAKE_SYSTEM_PROCESSOR=${MACHINE_ARCH:S/amd64/x86_64/} \

What's this for?

> + -DCMAKE_REQUIRE_FIND_PACKAGE_Curses=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_FontConfig=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_Fontconfig=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_Freetype=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_GMP=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_JPEG=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_LibArchive=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_LibUUID=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_Libedit=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_ODBC=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_OpenSSL=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_PCRE=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_PkgConfig=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_Readline=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_Threads=TRUE \
> + -DCMAKE_REQUIRE_FIND_PACKAGE_X11=TRUE \
> + -DCMAKE_DISABLE_FIND_PACKAGE_JNI=TRUE \
> + -DCMAKE_DISABLE_FIND_PACKAGE_Java=TRUE \
> + -DCMAKE_DISABLE_FIND_PACKAGE_LibTCMalloc=TRUE \
> + -DCMAKE_DISABLE_FIND_PACKAGE_LibYAML=TRUE \
> + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5=TRUE \
> + -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=TRUE

I guess I don't object to exhaustively listing all the deps like that... What
is the advantage over --with-world? Was there something we can't build with
this time?

> +In order to install packages via pack_install/1 and friends (see also
> +current_prolog_flag/2 & c_cc), swi-prolog needs to know the compiler to
> +invoke and the parameters to pass to it. However, the compiler that's used
> +during the build is almost certainly not the one you'd want. Therefore,
> +hardcode a more suitable path.
> +
> ++set(C_CC "/usr/bin/cc")
> ++set(C_CXX "/usr/bin/c++")

So if I understand correctly, there is a package manager that needs to invoke
compilers at runtime?

Are these just defaults that can be configured by the user somehow? If not, do
these need to be absolute paths? If they were just `cc` and `c++` then the user
could choose the compiler via $PATH.

> +- HINTS /usr/local/opt/db/include
> ++ HINTS /usr/local/include/db4

> +- HINTS /usr/local/opt/db4/lib
> ++ HINTS /usr/local/lib/db4

You should substitute ${LOCALBASE} for these instead of hardcoding /usr/local.

3 tests fail. Did you take a look at if they are easy to fix?

```
96% tests passed, 3 tests failed out of 78

Total Test time (real) = 102.21 sec

The following tests FAILED:
29 - swipl:rational (Failed)
35 - clib:uri (Failed)
77 - ssl:ssl (Failed)
```

There's a massive churn when I run `make plist`. Did you forget to run it?

And `make port-lib-depends-check` is showing some issues too:
```
$ make port-lib-depends-check

swi-prolog-9.0.4(lang/swi-prolog):
Extra: ICE.11 SM.9 X11.18 Xext.13 Xft.12 Xinerama.6 Xpm.9
Extra: Xt.11 archive.13 c.97 crypto.50 curses.14 db.5 edit.5
Extra: execinfo.3 fontconfig.13 freetype.30 gmp.11 iodbc.3
Extra: jpeg.70 m.10 ossp-uuid.0 pcre.3 pthread.27 readline.4
Extra: ssl.53 z.7
```

I'd fix the PLIST first and then look and `port-lib-depends-check`.

Cheers.

--
Best Regards
Edd Barrett

https://www.theunixzoo.co.uk

No comments:

Post a Comment