RJVB / macstrop

RJVB's repository of alternative macports, with ports missing from or overriding those in the standard collection, including a set of KF5 ports.
20 stars 9 forks source link

Building port:qt5-kde on Sierra #12

Closed s1bit closed 6 years ago

s1bit commented 6 years ago

Hello. Trying to build port:qt5-kde on 10.12, Xcode 9.2. Got a couple of issues.

  1. Apparently, missing file CVE-2017-7867-CVE-2017-7868.patch for port:icu. I've added the one from the official tree. CVE-2017-7867-CVE-2017-7868.patch.txt

  2. Errors while compiling qt5, discussed here: https://trac.macports.org/ticket/54754 Again, I've added patches to port:qt5-kde from the official tree. The files are attached. Portfile.txt patch-sdk10_13.diff.txt patch-qtconnectivity-sdk10_13.diff.txt

  3. The build of port:qt5-kde still fails. I've attached the log. There are several errors about chrono, which comes with Xcode. Do you have an idea, how to resolve the problem? main.log

RJVB commented 6 years ago
  1. Apparently, missing file CVE-2017-7867-CVE-2017-7868.patch for port:icu. I've added the one from the official tree.

Thanks! Fixed.

  1. Errors while compiling qt5, discussed here: https://trac.macports.org/ticket/54754

Will look into that too, thanks.

  1. The build of port:qt5-kde still fails. I've attached the log. There are several errors about chrono, which comes with Xcode. Do you have an idea, how to resolve the problem? main.log

The ceil/wtf_ceil error rings a bell, but not the others. I'm pretty certain though that Qt 5.8 must have been built on OS X 10.12, so a solution must exist. Seems you're running into this (fixed) error: https://trac.macports.org/ticket/54453 . I pushed the corresponding patch.

Either way, I've been testing Qt 5.9.3 (in port:qt5-kde-devel) for a few weeks now, and have been planning to upgrade port:qt5-kde too. If that sounds like a hint: it is :)

s1bit commented 6 years ago

Thanks for the patch! It worked. I had an error initially, though:

:info:patch can't find file to patch at input line 3 :info:patch Perhaps you used the wrong -p or --strip option? :info:patch The text leading up to this was: :info:patch -------------------------- :info:patch |--- src/3rdparty/javascriptcore/JavaScriptCore/wtf/MathExtras.h.orig 2017-06-08 07:29:22.000000000 -0700 :info:patch |+++ src/3rdparty/javascriptcore/JavaScriptCore/wtf/MathExtras.h 2017-09-30 13:12:02.000000000 -0700

I just modified the first two lines in patch-qtscript_ceil.diff (probably, there is a nicer way): --- a/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/MathExtras.h 2017-06-08 07:29:22.000000000 -0700 +++ b/qtscript/src/3rdparty/javascriptcore/JavaScriptCore/wtf/MathExtras.h 2017-09-30 13:12:02.000000000 -0700

RJVB commented 6 years ago

I just modified the first two lines in patch-qtscript_ceil.diff (probably, there is a nicer way):

Oh shoot, of course. Thanks...

s1bit commented 6 years ago

A follow-up. Headers of pcre2 are installed in ${prefix}/include/pcre2, not in ${prefix}/include. Therefore, while compiling git, I get several errors of the type "'pcre2.h' file not found".

Also, while building port:editorconfig-core-c: Could NOT find PCRE (missing: PCRE_INCLUDE_DIR)

RJVB commented 6 years ago

A follow-up. Headers of pcre2 are installed in ${prefix}/include/pcre2, not in ${prefix}/include. Therefore, while compiling git, I get several errors of the type "'pcre2.h' file not found".

Thanks .. again.

Evidently ports that skip the configure step of the software they're packaging will miss certain things...

s1bit commented 6 years ago

A couple of things more:

  1. port:clang-4.0 misses file 1008-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch. 1008-Fix-float.h-to-work-on-Snow-Leopard-and-earlier.patch.txt

Actually, how does it happen that one has to install clang from MacPorts, despite having it from Xcode? Now, I have v4 and v5 installed from MacPorts, which looks weird to me.

  1. The checksum error for port:libgit2. I used these ones to fix it: rmd160 fc60adbc29fbff74fe9aaabb99b4c047d4f24dce \ sha256 e39c487d9e16dc733fbe8fd7c96ae3b3e336e7d240ec81f3f4983947a7d30463

In the official tree libgit2 has version 0.26. Is there a reason why you don't update it in your repository?

s1bit commented 6 years ago

Another question: The patched qt5-kde is not coinstallable with the unpatched qt5. Does it mean that it will never be merged with the official tree, and so, KDE5 will never go there also?

RJVB commented 6 years ago

Does it mean that it will never be merged with the official tree

That is extremely unlikely indeed.

, and therefore, KDE5 will never go there also?

The idea has always been to get qt5-kde into the official tree, and it would already have happened if I had commit access. I seem to have lost my co-maintainer somewhere along the road, which means "we" now only have someone stretched thin with keeping the ports up-to-date and with no more time or energy to fight for getting qt5-kde integrated.

The KF5 ports could still go in; I've never tested it but always tried to keep the ports written in such a way that they should build with the regular Qt5 ports too. With the evident lack of functionality here and there, though I now know how that could be compensated too.

RJVB commented 6 years ago

Actually, how does it happen that one has to install clang from MacPorts, despite having it from Xcode? Now, I have v4 and v5 installed from MacPorts, which looks weird to me.

This gives you an independent and probably newer version of the compiler than what Apple decides to give you in Xcode.

Also, the Xcode version doesn't (always) include everything that's required to use libLLVM and/or libclang.

In the official tree libgit2 has version 0.26. Is there a reason why you don't update it in your repository?

Thanks. I tend to update only when I discover that there's a newer version in the official tree, or find a need for it. Otherwise I could probably spend my days just updating all the ports in my tree...

s1bit commented 6 years ago

Thanks. I tend to update only when I discover that there's a newer version in the official tree, or find a need for it. Otherwise I could probably spend my days just updating all the ports in my tree...

I also think that it is not really feasible to keep all possible ports updated in parallel with the official tree, that has a lot of contributors.

I'm trying to build kf5-okular from their git repository. I have this error: /MacPorts/include/zip.h:59:10: fatal error: 'zipconf.h' file not found

The header zipconf.h is in ${prefix}/lib/libzip/include. But I don't see, where I could adjust CFLAGS.

s1bit commented 6 years ago

Shouldn't zipconf.h be copied into ${prefix}/include along with zip.h during the installation of libzip?

RJVB commented 6 years ago

The header zipconf.h is in ${prefix}/lib/libzip/include. But I don't see, where I could adjust CFLAGS.

You shouldn't have to; okular is supposed to find libzip via pkgconfig, and the libzip.pc file adds $prefix/lib/libzip/include to the path. I've pushed an upgrade to port:libzip which puts the zipconf.h file in a more standard location.