Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build without qt-webengine #932

Closed
theova opened this issue Dec 10, 2018 · 25 comments
Closed

Build without qt-webengine #932

theova opened this issue Dec 10, 2018 · 25 comments
Labels
discussion enhancement enhancement of a already implemented feature/code

Comments

@theova
Copy link

theova commented Dec 10, 2018

Hello,

Thank you very much for your efforts on providing such a good cloud application.

I saw that the nextcloud client depends on qt-webengine. As this software is
considered to be nonfree the hole client cannot be free. For a more informations about free software see fsf.org.

I would kindly ask you how I can build the client without qt-webengine?

Furthermore: Do the daily images contain the nonfree parts with qt-webengine?

(OS: Parabola GNU/Linux-libre)

@FrostKnight
Copy link

FrostKnight commented Dec 11, 2018

I second this, and also add, that I had problems with Nextcloud's appimage (desktop) for the very same reason as the Nitrokey's appimage. My point being I get this error:
[redacted!@redacted! ~]$ ./Nextcloud-2.5.0.AppImage
./Nextcloud-2.5.0.AppImage: /usr/lib/libQt5Core.so.5: version Qt_5.11' not found (required by ./Nextcloud-2.5.0.AppImage) ./Nextcloud-2.5.0.AppImage: /usr/lib/libQt5Core.so.5: version Qt_5.11' not found (required by /tmp/.mount_NextclbNcT8M/usr/bin/../lib/libnextcloudsync.so.0)
./Nextcloud-2.5.0.AppImage: /usr/lib/libQt5Core.so.5: version Qt_5.11' not found (required by /tmp/.mount_NextclbNcT8M/usr/bin/../lib/libocsync.so.0) ./Nextcloud-2.5.0.AppImage: /usr/lib/libQt5Core.so.5: version Qt_5.11' not found (required by /tmp/.mount_NextclbNcT8M/usr/bin/../lib/libqt5keychain.so.1)
./Nextcloud-2.5.0.AppImage: /usr/lib/libQt5Core.so.5: version `Qt_5.11' not found (required by /tmp/.mount_NextclbNcT8M/usr/bin/../lib/libQt5WebEngineWidgets.so.5)

My OS is Hyperbola GNU/Linux-Libre

@doronbehar
Copy link

Additionally, regardless of the Linux distribution and the legal issues / concerns. Qt5-webengine is pretty heavy - 132.96Mib on Arch Linux and as I assume it is only needed for the initial login procedure. Perhaps it could be replaced with simple Qt text boxes and a POST request to the server? Excuse my nativity and correct me if I'm wrong but it's too bad to see the desktop client weights more then 140MiB just because it depends on Qt5-webengine which is so heavy.

Thanks.

@FrostKnight
Copy link

so to sum it up, can we A: remove qt5-webengine from the dependencies? and B: can appimage depend not on what qt5 I have, but on what qt5 is within the appimage? As I have said, I use Hyperbola a derivative of arch, with debian packages for stability and security. But AUR is absolutely not an option. It isn't available and it would cause major issues probably even if it was. let me know if you can do this down the road. either next stable version, or two later, until then I have to use an outdated version sadly...

@doronbehar
Copy link

BTW I've started using Rclone which works a little bit differently but has no qt5 dependecies at all.

@FrostKnight
Copy link

BTW I've started using Rclone which works a little bit differently but has no qt5 dependecies at all.

It is a bit too hard for me though. Sadly...

@papjul
Copy link

papjul commented Apr 6, 2019

I second @doronbehar.
As a Gentoo user, it would additionally save me hours of compilation.
Can we at least have a choice between qtwebengine and qtwebkit?

@maxcrees
Copy link
Member

maxcrees commented Apr 22, 2019

Here is a patch that will let you build the client without WebEngine, setting the default back to HTTP / Basic auth. Someone familiar with CMake can adapt this and make it a build time configuration option.

@FrostKnight
Copy link

FrostKnight commented Apr 26, 2019

I would love to see this added sroracle, wouldn't be me though, to add the code though, never done something like that before.

@theova
Copy link
Author

theova commented May 20, 2019

Thanks @sroracle for this patch!
Here is a modified PKGBUILD for Parabola (may work for other Arch derivativies as well).

It would be great to see this patch included upstream. Is there any chance to see this happen?

@FrostKnight
Copy link

Any chance you could make an appimage of that and have it bypass whatever qt I am using? I have an old qt, but the current appimages keep depending on what I have not what's in the appimage.

@FrostKnight
Copy link

ps, thanks sroracle for making that patch!

@theova
Copy link
Author

theova commented May 20, 2019

Any chance you could make an appimage of that and have it bypass whatever qt I am using? I have an old qt, but the current appimages keep depending on what I have not what's in the appimage.

No, sorry. I don't know how to do this.

@FrostKnight
Copy link

Well, its possible, I had a problem like this with nitrokey-app also. And they figured out how to fix that bug. :)
Maybe you should ask them... and yes they have an appimage too. ;)

@FrostKnight
Copy link

Any chance you could make an appimage of that and have it bypass whatever qt I am using? I have an old qt, but the current appimages keep depending on what I have not what's in the appimage.

No, sorry. I don't know how to do this.

The nitrokey people know how to fix that bug, can you ask them how they fixed it? so an appimage that works can be made?
Also, can we stop only support the latest LTS qt5? and instead support the last two LTS qt5 builds?

@Malkierian
Copy link

Malkierian commented Oct 12, 2019

Sorry to necro this, but I figured, since it's still open, I might as well, instead of creating a whole new issue. Anyway, I really need this, as WebEngine isn't available on Raspbian (at least, not anymore. It seems to have been in the past, but I can't figure out how to get apt sources for it). I haven't tried building the entire system from source yet, but I have my doubts. It's really unfortunate, though, because I need to be able to develop on my Pi remotely, and my internet provider is a reseller, so opening a port on my router for sftp connections isn't an option, and neither is LogMeIn or Dropbox (no clients for Raspbian), and Nextcloud is the only cloud sync service I've been able to find that even has a history of being usable on Raspbian (I have tried MegaSync, but it's hit or miss on the synchronization, and often takes minutes to register a change, so it's unusable for my purposes).

@FrostKnight
Copy link

FrostKnight commented Oct 13, 2019

Is there a way to bypass the qt5 requirements check? If so could someone tell me.
I currently have an old qt5, qt5.8 to be precise...
I don't have a way to upgrade it thus I wondered if there is a way to stop the nextcloud appimage from checking for dependencies so I can just run it. Or if supported could be added for qt5.6 and that would make it work...

@schoelle
Copy link

webengine is not available in OpenBSD, and there are little efforts in porting the package, as the porting of Chrome already needs hundreds(!) of patches. I fully support making this dependency optional.

@theova
Copy link
Author

theova commented Nov 16, 2019

Has someone already managed to create a batch for version 2.6.1 ? @sroracle ?

@maxcrees
Copy link
Member

@Cogitri adapted it for 2.6.0, but Alpine has since dropped the patch since they appear to have webengine working now. https://github.com/alpinelinux/aports/blob/5589ebabf15ac1225b9ef6ac0082fcf47601201f/community/nextcloud-client/remove-qtwebengine.patch

@Cogitri
Copy link

Cogitri commented Nov 16, 2019

Yup, we've patched QtWebengine into shape

@theova
Copy link
Author

theova commented Nov 17, 2019

Thank you! The patch works for 2.6.1 as well :-)

@theova
Copy link
Author

theova commented Nov 19, 2019

Parabola GNU/Linux-libre includes nextcloud-client without qt-webengine. The package can be found here and should be installable on any Arch-like distro.

@FrostKnight
Copy link

FrostKnight commented Nov 19, 2019

Two problems for me anyways... one I don't use openssl, i use libressl, two, is it available via appimage?
Also, how do you install from a non pkgbuild from parabola.nu?

Actually there is a fourth problem, the current qt in my distro is qt5.8...

@sspreitzer
Copy link

I have switched from source based compiling to the AppImage version on my gentoo, because nextcloud-client pulls in the qtwebengine with its >130MB of sources. Not being able to optionally build the desktop client against qtwebengine is bad. As well as pulling in 130MB for a simple 3 step authentication mechanism is in my humble opinion disproportionate and should be changed.

@camilasan camilasan added the enhancement enhancement of a already implemented feature/code label Feb 12, 2021
maxcrees added a commit to maxcrees/desktop that referenced this issue May 24, 2021
maxcrees added a commit to maxcrees/desktop that referenced this issue May 24, 2021
Still enabled by default

Fixes: nextcloud#856 nextcloud#932
Supersedes: nextcloud#1808 nextcloud#2204
Signed-off-by: Max Rees <maxcrees@me.com>
@maxcrees maxcrees linked a pull request May 24, 2021 that will close this issue
maxcrees added a commit to maxcrees/desktop that referenced this issue May 25, 2021
Still enabled by default

Fixes: nextcloud#856 nextcloud#932
Supersedes: nextcloud#1808 nextcloud#2204
Signed-off-by: Max Rees <maxcrees@me.com>
maxcrees added a commit to maxcrees/desktop that referenced this issue May 25, 2021
Still enabled by default

Fixes: nextcloud#856 nextcloud#932
Supersedes: nextcloud#1808 nextcloud#2204
Signed-off-by: Max Rees <maxcrees@me.com>
maxcrees added a commit to maxcrees/desktop that referenced this issue Jun 2, 2021
The only component that still uses QtWebEngine at this point is the
providers functionality (WITH_PROVIDERS). However, you can now also set
WITH_WEBENGINE=OFF and the providers functionality (if enabled) will
still work - it will just open a link in the external browser instead.

Fixes: nextcloud#856 nextcloud#932
Supersedes: nextcloud#1808 nextcloud#2204
Signed-off-by: Max Rees <maxcrees@me.com>
maxcrees added a commit to maxcrees/desktop that referenced this issue Jun 2, 2021
The only component that still uses QtWebEngine at this point is the
providers functionality (WITH_PROVIDERS). However, you can now also set
WITH_WEBENGINE=OFF and the providers functionality (if enabled) will
still work - it will just open a link in the external browser instead.

Fixes: nextcloud#856 nextcloud#932
Supersedes: nextcloud#1808 nextcloud#2204
Signed-off-by: Max Rees <maxcrees@me.com>
maxcrees added a commit to maxcrees/desktop that referenced this issue Jun 3, 2021
The only component that still uses QtWebEngine at this point is the
providers functionality (WITH_PROVIDERS). However, you can now also set
WITH_WEBENGINE=OFF and the providers functionality (if enabled) will
still work - it will just open a link in the external browser instead.

Fixes: nextcloud#856 nextcloud#932
Supersedes: nextcloud#1808 nextcloud#2204
Signed-off-by: Max Rees <maxcrees@me.com>
@FlexW
Copy link

FlexW commented Aug 13, 2021

It's now possible to build without qwebengine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion enhancement enhancement of a already implemented feature/code
Projects
None yet