Opened 21 months ago
Closed 20 months ago
#67082 closed enhancement (fixed)
qt5-qtwebengine: add webengine-proprietary-codecs option
Reported by: | kaamui | Owned by: | MarcusCalhoun-Lopez (Marcus Calhoun-Lopez) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | Cc: | ||
Port: | qt5-qtwebengine |
Description (last modified by kaamui)
Without this option, the webengine is unable to read videos on some major platforms like Vimeo, PeerTube, even some HTML5 videos like on this page : https://www.w3schools.com/html/html5_video.asp
The option is always turned ON on linux distros, even in Debian. I built qtwebengine myself and didn't see any dependency related to this option that could explain why it is not currently enabled via the port.
I tried to edit the portfile to submit a pull request but I'm facing a non-related issue with the SDK ("could not resolve sdk macosx12.3" where I only have macosx13.1 SDK), but I can't see why it would be more complicated to do via MacPort than it was by myself :
sudo port install bison sudo port install flex sudo port install nodejs12 sudo port install ninja python3 -m pip install html5lib git clone https://code.qt.io/cgit/qt/qtwebengine.git cd qtwebengine git checkout 6.4.2 git submodule update --init --progress mkdir build cd build qt-configure-module .. -webengine-proprietary-codecs -- -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" cmake --build . --parallel sudo cmake --install .
Note that the same is possible using Qt 5.15, that is based on qmake instead of cmake (tested on Linux, but as I already said, could not confirm it on OSX as I'm stuck by this SDK issue) :
qmake .. -- -proprietary-codecs
On a side note, being new to MacPorts, I read the doc but could not find a direct answer on how to simply rebuild a port where you just modified the Portfile. I tested to edit it and to run sudo port build qt5-qtwebengine
. Is it the right way to do so ?
Change History (7)
comment:1 follow-up: 3 Changed 21 months ago by ryandesign (Ryan Carsten Schmidt)
Owner: | set to MarcusCalhoun-Lopez |
---|---|
Status: | new → assigned |
Summary: | qt5-qtwebengine : add webengine-proprietary-codecs option → qt5-qtwebengine: add webengine-proprietary-codecs option |
comment:2 Changed 21 months ago by kaamui
Description: | modified (diff) |
---|
comment:3 Changed 21 months ago by kaamui
Replying to ryandesign:
Another option that works whether or not the port is in a known ports tree is to
cd
to the directory that contains the Portfile and then run e.g.sudo port install
(without adding a port name). However in this case you're dealing with a subport. (qt5-qtwebengine is defined as a subport in the qt5 Portfile.) So after youcd
to the qt5 directory you'd have to tell MacPorts which subport to install, e.g.sudo port install subport=qt5-qtwebengine
.
Thank you for your quick reply ! I tried your suggestion, but it's acting like if nothing had to be done :
cd $(port dir qt5-qtwebengine) sudo port install subtport=qt5-qtwebengine ---> Computing dependencies for qt5-qtwebengine ---> Cleaning qt5-qtwebengine ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found.
While with the sudo port build qt5-qtwebengine
, the sources were downloaded, some dependencies requested. It's still ending with the error described above, but I was expecting to see the same process and error with sudo port install subport=qt5-qtwebengine
Edit : to be more precise, the first time, it did install qt5-qtwebengine, but it was way too quick to be a rebuild with my option.
sudo port install subport=qt5-qtwebengine ---> Computing dependencies for qt5-qtwebengine ---> Fetching archive for qt5-qtwebengine ---> Attempting to fetch qt5-qtwebengine-5.15.12_0.darwin_21.arm64.tbz2 from https://fra.de.packages.macports.org/qt5-qtwebengine ---> Attempting to fetch qt5-qtwebengine-5.15.12_0.darwin_21.arm64.tbz2.rmd160 from https://fra.de.packages.macports.org/qt5-qtwebengine ---> Installing qt5-qtwebengine @5.15.12_0 ---> Activating qt5-qtwebengine @5.15.12_0 ---> Cleaning qt5-qtwebengine ---> Updating database of binaries ---> Scanning binaries for linking errors ---> No broken files found. ---> No broken ports found.
comment:4 Changed 21 months ago by reneeotten (Renee Otten)
Did you increase the “revision” in the portfile - if not, you likely just got the binary file. Alternatively, you should be ably to install it from source with the -s flag and then ideally it should take your changes as well.
comment:5 Changed 21 months ago by kaamui
Ok I dit it and it led to the same issue about the SDK. I managed to fix the issue about the SDK (deleted the corresponding folder and symlink in /Library/Developer/CommandLineTools/SDKs (also changed some values in qdevice.pri and qconfig.pri not sure if it helped)). I tried with adding the webengine-proprietary-codecs
option under the webengine-kerberos
one, launched sudo port install -s qt5-qtwebengine
and it worked !
Didn't retry with the proprietary-codecs
option, maybe both work.
comment:6 Changed 21 months ago by kaamui
I didn't thought I could fix the SDK Issue, so I created this ticket. Just saw, during the PR submission process, that you're not supposed to do both.
So maybe this ticket should be closed now ?
comment:7 Changed 20 months ago by chrstphrchvz (Christopher Chavez)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Replying to kaamui:
Sure, if the Portfile you've modified is in a ports tree that's mentioned in your sources.conf file, then you can refer to it by name as you did with
sudo port build qt5-qtwebengine
.Another option that works whether or not the port is in a known ports tree is to
cd
to the directory that contains the Portfile and then run e.g.sudo port install
(without adding a port name). However in this case you're dealing with a subport. (qt5-qtwebengine is defined as a subport in the qt5 Portfile.) So after youcd
to the qt5 directory you'd have to tell MacPorts which subport to install, e.g.sudo port install subport=qt5-qtwebengine
.