Re: [Development] Adding new third party component three.js to Qt?

2015-01-14 Thread Lisandro Damián Nicanor Pérez Meyer
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?

2015-01-14 Thread Lisandro Damián Nicanor Pérez Meyer
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?

2015-01-14 Thread Thiago Macieira
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?

2015-01-14 Thread Olivier Goffart
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

2015-01-14 Thread Salovaara Akseli
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