Sunday, February 02, 2020

Trying to build nextcloudclient aka nextcloud-desktop

--- qtwebengine.orig/Makefile Sun Feb 2 13:05:36 2020
+++ qtwebengine/Makefile Sun Feb 2 12:51:11 2020
@@ -18,7 +18,7 @@
# BSD-like, patents
PERMIT_PACKAGE = Yes

-COMPILER = base clang gcc
+COMPILER = base-clang ports-gcc
MODULES = lang/python
MODPY_RUNDEP = No

@@ -29,7 +29,7 @@
RUN_DEPENDS = sysutils/pciutils

LIB_DEPENDS = \
- archivers/minizip \
+ archivers/zip \
audio/pulseaudio \
archivers/snappy \
devel/glib2 \
@@ -72,10 +72,6 @@
google_default_client_secret=\"nQcDyaBvDyCeDrsRqKIWSHJn\" \
ffmpeg_branding=\"Chrome\" \
proprietary_codecs=true
-
-.if ${FLAVOR:Mdebug}
-GN_ARGS+= remove_webcore_debug_symbols=true
-.endif

MODQMAKE_ARGS = \
WEBENGINE_CONFIG+=use_proprietary_codecs \
--- qtwebengine.orig/distinfo Sun Feb 2 13:05:36 2020
+++ qtwebengine/distinfo Sun Feb 2 12:51:11 2020
@@ -1,2 +1,2 @@
-SHA256 (qt/qtwebengine-opensource-src-5.9.1.tar.xz) = 9qN+65GIR0oW0p7eSY/OlZOWq4AymgqD6uuSUlFoZAE=
-SIZE (qt/qtwebengine-opensource-src-5.9.1.tar.xz) = 218066864
+SHA256 (qt/qtwebengine-opensource-src-5.9.7.tar.xz) = 628bd3f099ce387e7048720a03dcf4a915573245c864b8dea9390558f47cf74f
+SIZE (qt/qtwebengine-opensource-src-5.9.7.tar.xz) = 216738284


[9/213] /usr/obj/ports/nextcloud-desktop/bin/cc -DUNICODE -DUSE_FDO_NOTIFICATIONS -D_GNU_SOURCE -D_UNICODE -Icsync/src/std -I/usr/obj/ports/nextcloud-desktop/desktop-2.3.4/csync/src/std -I. -Icsync -O2 -pipe -I/usr/local/include/inotify -I/usr/local/include/qtkeychain -I/usr/local/include -std=gnu99 -pedantic -pedantic-errors -Wall -Wextra -Wshadow -Wmissing-prototypes -Wunused -Wfloat-equal -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -Wmissing-format-attribute -D_GNU_SOURCE -D__STDC_FORMAT_MACROS=1 -fPIC -fstack-protector -Wp,-D_FORTIFY_SOURCE=2 -DNDEBUG -fPIC -MD -MT csync/src/std/CMakeFiles/cstdlib.dir/c_string.c.o -MF csync/src/std/CMakeFiles/cstdlib.dir/c_string.c.o.d -o csync/src/std/CMakeFiles/cstdlib.dir/c_string.c.o -c /usr/obj/ports/nextcloud-desktop/desktop-2.3.4/csync/src/std/c_string.c
FAILED: csync/src/std/CMakeFiles/cstdlib.dir/c_string.c.o
/usr/obj/ports/nextcloud-desktop/bin/cc -DUNICODE -DUSE_FDO_NOTIFICATIONS -D_GNU_SOURCE -D_UNICODE -Icsync/src/std -I/usr/obj/ports/nextcloud-desktop/desktop-2.3.4/csync/src/std -I. -Icsync -O2 -pipe -I/usr/local/include/inotify -I/usr/local/include/qtkeychain -I/usr/local/include -std=gnu99 -pedantic -pedantic-errors -Wall -Wextra -Wshadow -Wmissing-prototypes -Wunused -Wfloat-equal -Wpointer-arith -Wwrite-strings -Wformat-security -Wmissing-format-attribute -Wmissing-format-attribute -D_GNU_SOURCE -D__STDC_FORMAT_MACROS=1 -fPIC -fstack-protector -Wp,-D_FORTIFY_SOURCE=2 -DNDEBUG -fPIC -MD -MT csync/src/std/CMakeFiles/cstdlib.dir/c_string.c.o -MF csync/src/std/CMakeFiles/cstdlib.dir/c_string.c.o.d -o csync/src/std/CMakeFiles/cstdlib.dir/c_string.c.o -c /usr/obj/ports/nextcloud-desktop/desktop-2.3.4/csync/src/std/c_string.c
/usr/obj/ports/nextcloud-desktop/desktop-2.3.4/csync/src/std/c_string.c:289:9: warning: implicit declaration of function 'c_iconv' is invalid in C99 [-Wimplicit-function-declaration]
dst = c_iconv(wstr, iconv_from_native);
^
/usr/obj/ports/nextcloud-desktop/desktop-2.3.4/csync/src/std/c_string.c:289:23: error: use of undeclared identifier 'iconv_from_native'
dst = c_iconv(wstr, iconv_from_native);
^
/usr/obj/ports/nextcloud-desktop/desktop-2.3.4/csync/src/std/c_string.c:321:11: warning: implicit declaration of function 'c_iconv' is invalid in C99 [-Wimplicit-function-declaration]
dst = c_iconv(str, iconv_to_native);
^
/usr/obj/ports/nextcloud-desktop/desktop-2.3.4/csync/src/std/c_string.c:321:24: error: use of undeclared identifier 'iconv_to_native'
dst = c_iconv(str, iconv_to_native);
^
2 warnings and 2 errors generated.
ninja: build stopped: subcommand failed.
*** Error 1 in . (/usr/ports/devel/cmake/cmake.port.mk:34 'do-build')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2781 '/usr/obj/ports/nextcloud-desktop/build-amd64/.build_done')
*** Error 1 in /usr/ports/net/nextcloud-desktop (/usr/ports/infrastructure/mk/bsd.port.mk:2451 'build')


[135/222] /usr/obj/ports/nextcloud-desktop/bin/c++ -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_DISABLE_DEPRECATED_BEFORE=0 -DQT_GUI_LIB -DQT_MESSAGELOGCONTEXT
-DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DUNICODE -DUSE_FDO_NOTIFICATIONS -D_UNICODE -Isrc/cmd/owncloudcmd_autogen/include -I. -I/usr/o
bj/ports/nextcloud-desktop/desktop-2.4.0/src -Isrc -I/usr/obj/ports/nextcloud-desktop/desktop-2.4.0/src/libsync -Isrc/libsync -I/usr/obj/ports/nextcloud-desktop/desktop
-2.4.0/src/csync -Isrc/csync -I/usr/obj/ports/nextcloud-desktop/desktop-2.4.0/src/3rdparty/qtokenizer -isystem /usr/local/include/X11/qt5 -isystem /usr/local/include/X1
1/qt5/QtNetwork -isystem /usr/local/include/X11/qt5/QtCore -isystem /usr/local/lib/qt5/./mkspecs/openbsd-clang -isystem /usr/local/include/X11/qt5/QtWidgets -isystem /u
sr/local/include/X11/qt5/QtGui -isystem /usr/X11R6/include -isystem /usr/local/include/X11/qt5/QtConcurrent -O2 -pipe -I/usr/local/include/inotify -I/usr/local/incl
ude/qtkeychain -I/usr/local/include -Wall -Wextra -pedantic -Wno-long-long -Wno-gnu-zero-variadic-macro-arguments -std=c++0x -pedantic -fPIC -fstack-protector-strong -
D_FORTIFY_SOURCE=2 -fPIE -DNDEBUG -fPIC -MD -MT src/cmd/CMakeFiles/owncloudcmd.dir/simplesslerrorhandler.cpp.o -MF src/cmd/CMakeFiles/owncloudcmd.dir/simplesslerrorha
ndler.cpp.o.d -o src/cmd/CMakeFiles/owncloudcmd.dir/simplesslerrorhandler.cpp.o -c /usr/obj/ports/nextcloud-desktop/desktop-2.4.0/src/cmd/simplesslerrorhandler.cpp
[136/222] : && /usr/obj/ports/nextcloud-desktop/bin/c++ -O2 -pipe -I/usr/local/include/inotify -I/usr/local/include/qtkeychain -I/usr/local/include -Wall -Wextra
-pedantic -Wno-long-long -Wno-gnu-zero-variadic-macro-arguments -std=c++0x -pedantic -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fPIE -DNDEBUG -L/usr/local/lib
/inotify -L/usr/local/lib -linotify -Wl,-rpath=/usr/local/lib/inotify -Wl,-z,relro -Wl,-z,now -pie src/cmd/CMakeFiles/owncloudcmd.dir/owncloudcmd_autogen/mocs_compil
ation.cpp.o src/cmd/CMakeFiles/owncloudcmd.dir/cmd.cpp.o src/cmd/CMakeFiles/owncloudcmd.dir/simplesslerrorhandler.cpp.o src/cmd/CMakeFiles/owncloudcmd.dir/netrcparser.cpp.o -o bin/owncloudcmd -L/usr/obj/ports/nextcloud-desktop/build-amd64/src/libsync -L/usr/local/lib/qt5/. -L/usr/obj/ports/nextcloud-desktop/build-amd64/src/csync -
L/usr/local/lib -L/usr/local/lib/inotify -Wl,-z,origin,-rpath,/usr/obj/ports/nextcloud-desktop/build-amd64/src/libsync:/usr/local/lib/qt5/.:/usr/X11R6/lib:/usr/obj/ports/nextcloud-desktop/build-amd64/src/csync: -lowncloudsync -lQt5Network -lQt5Widgets -lQt5Gui -locsync src/csync/std/libcstdlib.a -lsqlite3 -lz -lQt5Concurrent -lQt5Core -linotify -lqt5keychain -linotify -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib && :
FAILED: bin/owncloudcmd
: && /usr/obj/ports/nextcloud-desktop/bin/c++ -O2 -pipe -I/usr/local/include/inotify -I/usr/local/include/qtkeychain -I/usr/local/include -Wall -Wextra -pedantic -Wno-long-long -Wno-gnu-zero-variadic-macro-arguments -std=c++0x -pedantic -fPIC -fstack-protector-strong -D_FORTIFY_SOURCE=2 -fPIE -DNDEBUG -L/usr/local/lib/inotify -L/usr/local/lib -linotify -Wl,-rpath=/usr/local/lib/inotify -Wl,-z,relro -Wl,-z,now -pie src/cmd/CMakeFiles/owncloudcmd.dir/owncloudcmd_autogen/mocs_compilation.cpp.o src/cmd/CMakeFiles/owncloudcmd.dir/cmd.cpp.o src/cmd/CMakeFiles/owncloudcmd.dir/simplesslerrorhandler.cpp.o src/cmd/CMakeFiles/owncloudcmd.dir/netrcparser.cpp.o -o bin/owncloudcmd -L/usr/obj/ports/nextcloud-desktop/build-amd64/src/libsync -L/usr/local/lib/qt5/. -L/usr/obj/ports/nextcloud-desktop/build-amd64/src/csync -L/usr/local/lib -L/usr/local/lib/inotify -Wl,-z,origin,-rpath,/usr/obj/ports/nextcloud-desktop/build-amd64/src/libsync:/usr/local/lib/qt5/.:/usr/X11R6/lib:/usr/obj/ports/nextcloud-desktop/build-amd64/src/csync: -lowncloudsync -lQt5Network -lQt5Widgets -lQt5Gui -locsync src/csync/std/libcstdlib.a -lsqlite3 -lz -lQt5Concurrent -lQt5Core -linotify -lqt5keychain -linotify -Wl,-rpath-link,/usr/X11R6/lib:/usr/local/lib && :
ld: error: undefined symbol: OCC::ClientProxy::ClientProxy(QObject*)
>>> referenced by cmd.cpp
>>> src/cmd/CMakeFiles/owncloudcmd.dir/cmd.cpp.o:(main)

ld: error: undefined symbol: OCC::ClientProxy::setupQtProxyFromConfig()
>>> referenced by cmd.cpp
>>> src/cmd/CMakeFiles/owncloudcmd.dir/cmd.cpp.o:(main)

ld: error: undefined symbol: OCC::ExcludedFiles::addExcludeFilePath(QString const&)
>>> referenced by cmd.cpp
>>> src/cmd/CMakeFiles/owncloudcmd.dir/cmd.cpp.o:(main)

ld: error: undefined symbol: OCC::ExcludedFiles::addExcludeFilePath(QString const&)
>>> referenced by cmd.cpp
>>> src/cmd/CMakeFiles/owncloudcmd.dir/cmd.cpp.o:(main)

ld: error: undefined symbol: OCC::ExcludedFiles::reloadExcludes()
>>> referenced by cmd.cpp
>>> src/cmd/CMakeFiles/owncloudcmd.dir/cmd.cpp.o:(main)
c++: error: linker command failed with exit code 1 (use -v to see invocation)
ninja: build stopped: subcommand failed.
*** Error 1 in . (/usr/ports/devel/cmake/cmake.port.mk:34 'do-build')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2781 '/usr/obj/ports/nextcloud-desktop/build-amd64/.build_done')
*** Error 1 in /usr/ports/net/nextcloud-desktop (/usr/ports/infrastructure/mk/bsd.port.mk:2451 'build')

-- Found INOTIFY: /usr/local/include/inotify
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE)
-- Found PdfLatex: /usr/local/bin/pdflatex
-- Found OpenSSL: /usr/lib/libcrypto.so.45.5 (found suitable version "2.0.0", minimum required is "1.1")
-- Found ZLIB: /usr/lib/libz.so.5.0 (found version "1.2.3")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Found GLib2: /usr/local/lib/libglib-2.0.so.4201.2
-- Checking for module 'gio-2.0'
-- Found gio-2.0, version 2.60.7
-- Found Gio libraries: /usr/local/lib/libgio-2.0.so.4200.9
-- Found Gio includes : /usr/local/include/glib-2.0/gio
================> LIBCLOUDPROVIDERS_LIBRARY-NOTFOUND
-- Could NOT find LIBCLOUDPROVIDERS (missing: LIBCLOUDPROVIDERS_INCLUDE_DIR LIBCLOUDPROVIDERS_LIBRARY)
CMake Error at /usr/local/lib/qt5/cmake/Qt5/Qt5Config.cmake:28 (find_package):
Could not find a package configuration file provided by
"Qt5WebEngineWidgets" with any of the following names:

Qt5WebEngineWidgetsConfig.cmake
qt5webenginewidgets-config.cmake

Add the installation prefix of "Qt5WebEngineWidgets" to CMAKE_PREFIX_PATH
or set "Qt5WebEngineWidgets_DIR" to a directory containing one of the above
files. If "Qt5WebEngineWidgets" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
src/CMakeLists.txt:7 (find_package)


-- Configuring incomplete, errors occurred!
See also "/usr/obj/ports/nextcloud-desktop/build-amd64/CMakeFiles/CMakeOutput.log".
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2746 'do-configure')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2766 '/usr/obj/ports/nextcloud-desktop/build-amd64/.configure_done')
*** Error 1 in /usr/ports/net/nextcloud-desktop (/usr/ports/infrastructure/mk/bsd.port.mk:2451 'build')

-- Found INOTIFY: /usr/local/include/inotify
-- Could NOT find Sphinx (missing: SPHINX_EXECUTABLE)
-- Found PdfLatex: /usr/local/bin/pdflatex
-- Found OpenSSL: /usr/lib/libcrypto.so.45.5 (found suitable version "2.0.0", minimum required is "1.1")
-- Found ZLIB: /usr/lib/libz.so.5.0 (found version "1.2.3")
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Found GLib2: /usr/local/lib/libglib-2.0.so.4201.2
-- Checking for module 'gio-2.0'
-- Found gio-2.0, version 2.60.7
-- Found Gio libraries: /usr/local/lib/libgio-2.0.so.4200.9
-- Found Gio includes : /usr/local/include/glib-2.0/gio
================> LIBCLOUDPROVIDERS_LIBRARY-NOTFOUND
-- Could NOT find LIBCLOUDPROVIDERS (missing: LIBCLOUDPROVIDERS_INCLUDE_DIR LIBCLOUDPROVIDERS_LIBRARY)
CMake Error at /usr/local/lib/qt5/cmake/Qt5/Qt5Config.cmake:28 (find_package):
Could not find a package configuration file provided by
"Qt5WebEngineWidgets" with any of the following names:

Qt5WebEngineWidgetsConfig.cmake
qt5webenginewidgets-config.cmake

Add the installation prefix of "Qt5WebEngineWidgets" to CMAKE_PREFIX_PATH
or set "Qt5WebEngineWidgets_DIR" to a directory containing one of the above
files. If "Qt5WebEngineWidgets" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
src/CMakeLists.txt:7 (find_package)


-- Configuring incomplete, errors occurred!
See also "/usr/obj/ports/nextcloud-desktop/build-amd64/CMakeFiles/CMakeOutput.log".
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2746 'do-configure')
*** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2766 '/usr/obj/ports/nextcloud-desktop/build-amd64/.configure_done')
*** Error 1 in /usr/ports/net/nextcloud-desktop (/usr/ports/infrastructure/mk/bsd.port.mk:2451 'build')

-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with SeaMonkey - https://www.enigmail.net/

iQIzBAEBCAAdFiEEA4ns6pwpMlBvBuJaT7GB5fHtQjcFAl426kAACgkQT7GB5fHt
QjfQbA/9Ek7QhTo6juaF0KbUhvQcwVXCPZKcUodWnCg20qhiLhNuqKgPQlePwYgP
wne5DdsVtCMKXs67bDD+CZ208qttrxdYw424QJNFmMJgFISCfycUfXNMNAj+1uA0
Prk3voCF79E5b4atBqaw3YMy1P64fOkjYh6SpPvk7Quz2hOvxbEwk0GaOh2n4fgd
5V7/wqt/2Rkstn91QSEpyPyevDQp8o2owkkqjR5t0238eWvEprPLfuEtV82N4HY6
2HLn/YltQn+xs69a9y7TPGp6aKWSk2wWcuuGq3TIwdtHZjF7SouhKYLfahUgQmmA
9egS52Az+u1VFe24z6ewJoztKho5SthWUdyR9FfbVUjsGVk9bGKTNQmo5npPG/8P
1MGe/sE2CVW7JfRM4mgfX2pbNgBYIp9sFyUEiJGD3QaQ18NcrwW5Wo92XzDUpbFT
9FXAotiESCTK8lMGAxz+5uPjgey0iMa+OVPpN87IID4yKGsil+xHZfW3O6T1DNIT
OQqHwbVolGSdPutGgI6aBFydt8f/z8hPKmc8i0Rdg3S1DnsQAczw/ylVIBZ7m1pd
UdSYiO8YVcR4YKN2/vDbxgGR4KCXAU2F0J1H7ONL1DQt03tWBXnFIYtQPA75+ccv
f2o/TuwZ5w9wZt0ByD3twdxbRHTywa6m6Oeem/W6LCwbkT7xh3k=
=CO7N
-----END PGP SIGNATURE-----
Dear ports@,

I am trying to get nextcloudclient aka nextcloud desktop to build on
OpenBSD.

I am basing my experiments on the existing owncloudclient port. I
could try to use that, but as Owncloud and Nextcloud are moving in
different directions, I would like to use the official nextcloud client.

https://github.com/nextcloud/desktop
https://nextcloud.com/install/#install-clients

And, of course, building ports is always fun (ahem) and a good way to
get to know your operating system... :-)

I have tried to build several different versions, but it boils down to
this (see attached Build_Error* files for details):

v2.5.3 and 2.6.2 are not building as (AFAIK) qtwebengine is not available.

v2.4.0 fails with errors related to setupQtProxyFromConfig, that seem
to be solved in newer versions of libqt5webengine5:
https://github.com/nextcloud/desktop/issues/835

v2.3.4 does not build, due to some iconv errors. I tried to somehow
have iconv used for building, but am lacking the knowledge to get that
right.

###cite###
dst = c_iconv(wstr, iconv_from_native);
^
/usr/obj/ports/nextcloud-desktop/desktop-2.3.4/csync/src/std/c_string.c:289:23:
error: use of undeclared identifier 'iconv_from_native'
###/cite###

A RTFM on how to fix the iconv errors might be enough to get this old
version building (maybe).

I fixed some errors in the qtwebengine Makefile (see the attached
diff), but as all of the dozens of patches seem to no longer apply, I
am stuck there (I know how to rebase a patch, but I also know that
this is risky without knowing what the patch is for and how to ensure
that it still does this after the rebase...).

If someone knows these kinds of errors and would like to help out,
this would be highly appreciated.

Thanks in advance!

Kind Regards,
Johannes

No comments:

Post a Comment