Re: [qubes-devel] QWT crossbuild project

2019-06-02 Thread Ivan Kardykov
> 
> Thanks for sharing! In fact I've already noticed it and got inspired a
> little[3].
> On the other hand, we've tried that before and have bad experience with
> building MinGW, especially for building drivers. I see you've also
> noticed some stuff missing (libraries, headers, exception support,
> inf2cat tool). Anyway, since you succeeded at building all of it, I
> think it's worth a try.
> Cross-compiling from Linux would be _much_ more convenient than building
> on Windows, and hopefully will allow plugging QWT build into automated
> build infrastructure.
> 
> Creating a qubes-builder plugin for that isn't that hard. I have some
> more or less working prototype already. Adopting sources to build with a
> different compiler is some more work, but looks to involve mostly
> rearranging header files (like, naming them with lowercase). Basically
> what you've done in prep.sh, but by applying it properly to the source
> code (using #ifdef __MINGW32__ when really necessary).
> 
> After making it build at all, the next step would be to apply actual
> improvements. And review/fix all the compiler warnings - there is quite
> a lot of them, but given previous experience with mingw, one needs to
> be careful - some may actually be bugs in mingw header files, not
> necessary our code.
> 

Glad to hear that our project experience could be useful in upstream.

I understood described order of changes, and we are ready to implement
some parts of them. We could step up to make clean patchset based on
prep.sh with conditional changes to support MINGW.

As I see easydozen got involved to issue discussion [3], so we could
proceed to details in qubes-issues.

> 
>> [1] https://github.com/tabit-pro/qwt-crossbuild
>> [2] https://github.com/QubesOS/qubes-issues/issues/3418
> [3] https://github.com/QubesOS/qubes-issues/issues/5065
> 
> 


-- 
You received this message because you are subscribed to the Google Groups 
"qubes-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-devel+unsubscr...@googlegroups.com.
To post to this group, send email to qubes-devel@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-devel/616da9d2-fa63-b6c2-ab13-6142388c2154%40tabit.pro.
For more options, visit https://groups.google.com/d/optout.


signature.asc
Description: OpenPGP digital signature


Re: [qubes-devel] QWT crossbuild project

2019-06-01 Thread Marek Marczykowski-Górecki
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On Fri, May 31, 2019 at 01:32:56PM +0300, Ivan Kardykov wrote:
> Hi,
> 
> I want to share results of our (tabit-pro) work with Qubes project
> qwt-crossbuild [1].
> 
> It's an alternative qubes windows tools build environment that we are
> going to support for our local project.
> 
> Main goals:
> -- get rid of closed source tooling in the build process
> -- provide build reproducibility
> -- catch and fix the most disturbing bugs
> -- extend QWT functionality (windows 10 support at least)
> 
> At the moment IMO at least one PR (qga cpu usage, related issue [2])
> could be made easily to the upstream. I'm not sure about others. For
> example, providing mingw support or changing installation process in the
> upstream would be too invasive and expensive. But we could try to
> schedule that work if anyone else is interested or make alternative
> community package (looks easier).

Thanks for sharing! In fact I've already noticed it and got inspired a
little[3].
On the other hand, we've tried that before and have bad experience with
building MinGW, especially for building drivers. I see you've also
noticed some stuff missing (libraries, headers, exception support,
inf2cat tool). Anyway, since you succeeded at building all of it, I
think it's worth a try.
Cross-compiling from Linux would be _much_ more convenient than building
on Windows, and hopefully will allow plugging QWT build into automated
build infrastructure.

Creating a qubes-builder plugin for that isn't that hard. I have some
more or less working prototype already. Adopting sources to build with a
different compiler is some more work, but looks to involve mostly
rearranging header files (like, naming them with lowercase). Basically
what you've done in prep.sh, but by applying it properly to the source
code (using #ifdef __MINGW32__ when really necessary).

After making it build at all, the next step would be to apply actual
improvements. And review/fix all the compiler warnings - there is quite
a lot of them, but given previous experience with mingw, one needs to
be careful - some may actually be bugs in mingw header files, not
necessary our code.


> [1] https://github.com/tabit-pro/qwt-crossbuild
> [2] https://github.com/QubesOS/qubes-issues/issues/3418
[3] https://github.com/QubesOS/qubes-issues/issues/5065

- -- 
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab
A: Because it messes up the order in which people normally read text.
Q: Why is top-posting such a bad thing?
-BEGIN PGP SIGNATURE-

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAlzye9kACgkQ24/THMrX
1yzyYgf/R3l8WzzBCAqMQg9o6lMsbiOvsJAFBfrdgN6c029PVTUSPpUns662YMkc
GmD4QhyYbEBmfjsT1U85b+lGOBmNksRCUSPrzkSzjc+CA48lD+kND8A/eIYvcdJM
w190jzPPq9aY0h+9hh1pBZog32ZSw3qur+YPF6dB5lUTumFPxEoJmq0TCBFw5Sxq
QiiaBYIMoN0nkB+bRDY6DGiBs8c3ST73LzLhab0EHYQYmm7JDtR4g65zoIYji/UY
JwA8f6ROFr10+hlTpBzI24oN6ptJdTdHmBtnXws8TyULeKSgI3CHGng+H5WB5xWD
/YWFFaMioIis3iRn/I8pZp35IE+H3g==
=yJDa
-END PGP SIGNATURE-

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-devel+unsubscr...@googlegroups.com.
To post to this group, send email to qubes-devel@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-devel/20190601132130.GO1793%40mail-itl.
For more options, visit https://groups.google.com/d/optout.