Coder Social home page Coder Social logo

cl-webengine's People

Contributors

aartaka avatar ambrevar avatar jmercouris avatar thoelze1 avatar unit4096 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cl-webengine's Issues

Compilation fails on OpenSUSE

Hello,

openSUSE names the QtWebEngine library libQt5WebEngine.so and therefore building this fails by default. This is fixed by updating package.lisp accordingly.

Use claw for bindings?

Claw (A bit more on how it's intended to work in this blogpost) seems to be a good idea for handling C++ bindings, because it generates the necessary C/C++ binding code automatically. Working with C++ bindings is the main pain of maintaining this library and the main slowing factor, as I know. C++ bindings autogeneration can come in handy and ease the development.

Of course, claw is a wild work-in-progress and using it for bindings can be quite risky for now. However, it can be productive to try using claw for cl-webengine bindings and report issues to the original repo. This will get us closer to the common good — ability to bind C++ QtWebEngine code without a line of C/C++ :)

How does that sound to you?

C++ Interfacing for lisp

At this time, there is no universal foreign function interface for C++.

While that is probably true, the obvious way forward both in terms of replacing sbcl and interacting with C++, (and, even more interestingly, LLVM,) is clasp

Build instructions

The Makefile comes from another project ;)
I suggest we populate it with something like

all:
  cd source
  qmake
  make

The readme mentions interface.cpp where I think it should be interface.h.

The .asd still has this line which I think can be removed:

;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*-

In the README, I would document the dependencies:

  • qtbase
  • qtwebengine
  • qtwebchannel
  • qtdeclarative

Compilation error on Ubuntu 20.04

Hello,

I am currently trying out Nyxt. I find it pretty cool, but I would like to try using webengine instead of webkit.

To do so, I am trying to compile this project on Ubuntu 20.04, with the following qt dependancies installed: sudo apt install libqt5core5a libqt5gui5 libqt5widgets5 libqt5webenginewidgets5

I get the following stacktrace:
~/common-lisp/cl-webengine master 18:56:46❯ sudo make all
cd source && qmake
make -C source
make[1]: Entering directory '/home/user/common-lisp/cl-webengine/source'
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -fPIC -DQT_NO_DEBUG -DQT_WEBENGINEWIDGETS_LIB -DQT_PRINTSUPPORT_LIB -DQT_WIDGETS_LIB -DQT_WEBENGINECORE_LIB -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_WEBCHANNEL_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_POSITIONING_LIB -DQT_CORE_LIB -I. -I. -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebEngineWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebEngineCore -isystem /usr/include/x86_64-linux-gnu/qt5/QtQuick -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWebChannel -isystem /usr/include/x86_64-linux-gnu/qt5/QtQml -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtPositioning -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o interface.o interface.cpp
interface.cpp: In function ‘void webEnginePageSetLivecycleState(void*, int)’:
interface.cpp:151:21: error: ‘class QWebEnginePage’ has no member named ‘setLifecycleState’
151 | _webEnginePage->setLifecycleState(static_castQWebEnginePage::LifecycleState(state));
| ^~~~~~~~~~~~~~~~~
interface.cpp:151:67: error: ‘LifecycleState’ in ‘class QWebEnginePage’ does not name a type
151 | _webEnginePage->setLifecycleState(static_castQWebEnginePage::LifecycleState(state));
| ^~~~~~~~~~~~~~
interface.cpp: In function ‘int webEnginePageLivecycleState(void*)’:
interface.cpp:156:33: error: ‘class QWebEnginePage’ has no member named ‘lifecycleState’
156 | return (int)_webEnginePage->lifecycleState();
| ^~~~~~~~~~~~~~
interface.cpp: In function ‘void webEnginePageSetUrlRequestInterceptor(void*, void*)’:
interface.cpp:176:5: error: ‘QWebEngineUrlRequestInterceptor’ was not declared in this scope; did you mean ‘webEnginePageSetUrlRequestInterceptor’?
176 | QWebEngineUrlRequestInterceptor _interceptor
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| webEnginePageSetUrlRequestInterceptor
interface.cpp:176:38: error: ‘_interceptor’ was not declared in this scope; did you mean ‘interceptor’?
176 | QWebEngineUrlRequestInterceptor _interceptor
| ^~~~~~~~~~~~
| interceptor
interface.cpp:177:26: error: ‘QWebEngineUrlRequestInterceptor’ does not name a type; did you mean ‘webEnginePageSetUrlRequestInterceptor’?
177 | = reinterpret_cast<QWebEngineUrlRequestInterceptor
>(interceptor);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| webEnginePageSetUrlRequestInterceptor
interface.cpp:177:57: error: expected ‘>’ before ‘
’ token
177 | = reinterpret_cast<QWebEngineUrlRequestInterceptor*>(interceptor);
| ^
interface.cpp:177:57: error: expected ‘(’ before ‘’ token
177 | = reinterpret_cast<QWebEngineUrlRequestInterceptor
>(interceptor);
| ^
| (
interface.cpp:177:58: error: expected primary-expression before ‘>’ token
177 | = reinterpret_cast<QWebEngineUrlRequestInterceptor*>(interceptor);
| ^
interface.cpp:177:72: error: expected ‘)’ before ‘;’ token
177 | = reinterpret_cast<QWebEngineUrlRequestInterceptor*>(interceptor);
| ^
| )
interface.cpp:178:21: error: ‘class QWebEnginePage’ has no member named ‘setUrlRequestInterceptor’
178 | _webEnginePage->setUrlRequestInterceptor(_interceptor);
| ^~~~~~~~~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:419: interface.o] Error 1
make[1]: Leaving directory '/home/user/common-lisp/cl-webengine/source'
make: *** [Makefile:4: all] Error 2

As I am not yet confortable with common lisp, I am not able to understand if I am doing something wrong, or if there is a bug in this project compilation.

Can you advise me on the matter ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.