Re: [Development] Adding new third party component three.js to Qt?
On Wednesday 14 January 2015 09:16:22 Olivier Goffart wrote: [snip] However, in the source code, the non-minified version needs to be present with instructions on how to regenerate the minified version. What's optional: minifying during build. It's ok to commit the minified version to Git, so long as the non-minified version is easily available. The non-minified version does not have to be in the git repository to respect the license. It is enough to have it in another git repository for example. Or just in a package available in a 3rdparty directory of the qt-project FTP. While this is, to the best of my knowledge, entirely true the fact of shipping the unminified source code along with the minified one in the same repo helps us distro maintainers *a lot* as we don't require to modify the original tarballs to include it. If the javascript library is in it's unmodified (ie, upstream's original) form we can simply remove the minified version and use the distro-packaged one. But if the library gets modified, like in this very case, we really need the source code in the same tarball. Adding the original code in 3rdparty in the same repo is definitely a plus for us who need to deal with them. Another big big plus for us maintainers is if there is code (like a script) to minify the lib at build time. It doesn't needs to be included in the build process, it can be manually done and maybe even require some external tool. In this way we simply run the script before compilation and we are done. -- Lisandro Damián Nicanor Pérez Meyer http://perezmeyer.com.ar/ http://perezmeyer.blogspot.com/ signature.asc Description: This is a digitally signed message part. ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development
Re: [Development] Adding new third party component three.js to Qt?
On Wednesday 14 January 2015 07:24:52 Keränen Pasi wrote: Hi Kevin and Lisandro, I have zero experience with distribution packaging and the problems therein so sorry if I’m a bit lost here. Thank you Kevin for the links you sent, I found them informative. No problem, it happens quite often :) I followed the Packaging:JavaScript link and it states Please note that this section really only applies to JavaScript libraries intended for use on the web”. Canvas3D and three.js port on top of it are NOT meant to be used on the web, they are both meant to be used within QtQuick/QML environment, so running locally as part of your native code (or pure QtQuick) application. That might be a question for Kevin, but on Debian a javascript library is treated as any other C/C++ library: source code should be there, the binary/minified version must be created from the unminified code at package build time (ie, when building the source code that ships it). It doesn't matter what uses it. I also read through the Packaging:No_Bundled_Libraries link. I can see the points made in there, but there is also a good reason why we want to bundle the three.js together with certain version of Qt and Canvas3D. We want to deliver a library that we know has been tested together with the V4 VM and the Canvas3D and we know it should run smoothly there. And by doing this we add value to our customers. The same can be said about C/C++ 3rdparty libraries. So no, bundling is not good for distros. Imagine a security bug appears: we need to start hunting down each embedded version and fix it, checking that we don't break anything specially in forked cases. A nightmare. Regarding one of the points made in that document on forks. Yes, at the moment this port from HTML to QtQuick is a fork of the official three.js library and lives right next to it in Github. But as I said I’m hoping we can reduce the delta we have by doing some additional work on the V4VM and on the Canvas3D. And perhaps if the remaining HTML vs. QML delta is in only few places and is minimal, we can then persuade the maintainers of three.js to re-design those few parts to make upstreaming possible with a clean design. But it's still a fork, meaning semi-duplicated code that we maintainers need to address. Please allow me to be clear in one thing: I *do* understand that for Qt, as long as the license is respected, there is not much of a problem. What I've expressed here is what us distro maintainers face with this actions. -- Lisandro Damián Nicanor Pérez Meyer http://perezmeyer.com.ar/ http://perezmeyer.blogspot.com/ signature.asc Description: This is a digitally signed message part. ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development
Re: [Development] Adding new third party component three.js to Qt?
On Wednesday 14 January 2015 11:38:55 Lisandro Damián Nicanor Pérez Meyer wrote: The same can be said about C/C++ 3rdparty libraries. So no, bundling is not good for distros. Imagine a security bug appears: we need to start hunting down each embedded version and fix it, checking that we don't break anything specially in forked cases. A nightmare. Actually, the problem here is not that of shipping a bundled version. It's embedding the binary inside one of Qt binaries. Let's solve this problem first: how to find the JS file (minified or not) somewhere on disk, without Qt resources. Once that is solved, distros can opt to build three.js from the official sources and apply the necessary Qt patches in the manner that is most helpful to them. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development
Re: [Development] Adding new third party component three.js to Qt?
On Tuesday 13 January 2015 23:03:11 Thiago Macieira wrote: On Wednesday 14 January 2015 05:14:10 Keränen Pasi wrote: Hi Thiago (and Lars), Surely we can include a minified version that gets bundled with your app when you e.g. use a new project wizard to create a Canvas3D project with three.js? No need to have any larger than necessary files there? Already the new project wizard freezes up to around 20-40 seconds (beachballing Qt Creator on my Mac while it does it) when you create a new project as it¹s copying the 800k three.js file, I¹d like to cut down that time as much as possible. You can include a minified version in your application's binary package. In fact, the binary versions of Qt will probably include the minified version somewhere, like a resource. However, in the source code, the non-minified version needs to be present with instructions on how to regenerate the minified version. What's optional: minifying during build. It's ok to commit the minified version to Git, so long as the non-minified version is easily available. The non-minified version does not have to be in the git repository to respect the license. It is enough to have it in another git repository for example. Or just in a package available in a 3rdparty directory of the qt-project FTP. But if people really want to hack around with the three.js port I¹d expect them to use the original source files (each class in separate .js file) as it¹s a bit unwieldy to edit that ~800k sourcefile (trust me, been there done that bunch of times when trying to figure out a bug in it). It¹s a lot nicer to edit the separate files for each class and then build the big source file after you¹ve done the modifications.. Again: what's important is that the we ship form in which people prefer to make modifications. If that's the separate files, that's what we need to ship. But that does not have to be in the same git repository. -- Olivier Woboq - Qt services and support - http://woboq.com - http://code.woboq.org ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development
Re: [Development] New Qt 4.8.7 snapshot build is available
Hi, 4.8.7-snapshot-2015-01-12-2-all-changes file uploaded next to installers ( http://download.qt.io/snapshots/qt/4.8/4.8.7/2015-01-12-2/4.8.7-snapshot-2015-01-12-2-all-changes ) to substitute actual change log file inside packages. 4.8.7-snapshot-2015-01-12-2-changes file published yesterday describes delta to previous snapshot. Similar changes files will be uploaded for the next snapshots. Change log file inside packages will be updated closer to actual release. Br, Akseli -Original Message- From: development-bounces+akseli.salovaara=theqtcompany.com@qt- project.org [mailto:development- bounces+akseli.salovaara=theqtcompany@qt-project.org] On Behalf Of Calogero Mauceri Sent: 13. tammikuuta 2015 17:09 To: development@qt-project.org Subject: Re: [Development] New Qt 4.8.7 snapshot build is available Hi, would it be possible to have a full changelog for this snapshot. The changelog file inside the pachage is empty. Thanks, Calogero Il 1/13/2015 4:04 PM, Salovaara Akseli ha scritto: Hi, New Qt 4.8.7 snapshot build is available http://download.qt.io/snapshots/qt/4.8/4.8.7/2015-01-12-2/ Snapshot is built against 50223ce5eebfdff01a88474f0589259137997458 Introduce Windows version 10. Changes compared to previous build: 50223ce5eebfdff01a88474f0589259137997458 Introduce Windows version 10. 6f55f3dbbb2cdae33a8b0d00b7bf2ada7fe79a04 Fix empty arrays in QML 1 18c5ff04103eadcb532d03d526714385943295ab Windows: Fix OS version determination for Windows = 8 8d831f5f444802879ae416bd110184d5a6cf1b26 QDateTime: Fix time format in doc 48194c74d3e2d2316fa4c57cf8b2e6687d8d6416 Fix compilation with QDND_DEBUG. 6f83ee60cf616731fb37d7a4357fc264fc167b2e Add Hebrew translation for Qt Linguist 25d972e12eda9dadf212d24af8d8f524572bdbfa Check world matrix is true when seeing if transformations are supported 62323e8d1b16167662c85e412d35804418593cc6 QIdentityProxyModel: remove slow bounds-checking, for more performance 87b82fb345a3384243da50240dab93589d072d7e Autotest: Setting tst_qaudiooutput and tst_qsound as insignificant Please test these snapshots, report possible regressions to bugreports.qt.io and send email about that (with bug id) to releas...@qt-project.org. Br, Akseli -- Akseli Salovaara The Qt Company ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development -- Calogero Mauceri Software Engineer Applied Coherent Technology Corporation (ACT) www.actgate.com ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development ___ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development