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
--- qtwebengine.orig/Makefile Sun Feb 2 13:05:36 2020
+++ qtwebengine/MakefileSun 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/distinfoSun 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