Hi All,

Just wanted to give a quick update on the meson build port:
https://gitlab.gnome.org/GNOME/dia/merge_requests/14

This is a fairly long email so best to settle in.


1. Current status:

The branch can be found on my own fork (since I do not have Contributor
access): https://gitlab.gnome.org/neduard/dia/tree/meson_port

I've tested it on Windows 10 with MSYS, Ubuntu 18.04, Arch and OpenBSD
6.4.  I am currently trying to get it building on Debian 9.5 as well.

The Windows build caused some problems, but I've ported all plug-ins,
including the Python integration.  The only exception is the wmf plug-in:
currently its compilation fails with "W32::std::abs - not found".  This
happens when including window.h in the following snippet of code
https://gitlab.gnome.org/neduard/dia/blob/meson_port/plug-ins/wmf/paginate_gdiprint.cpp#L48
:

> namespace W32 {
> // can't
> // #define WIN32_LEAN_AND_MEAN
> // because we need stuff like PRINTDLG
> #include <windows.h>
> }
>

I don't know how many people use this plug-in and thus have left it as such
for the time being.  I don't have much experience with Windows.h so if
anybody can help identifying why the issue is happening, that would be much
appreciated!

Once I'm happy with all the builds, I will remove the [WIP] from the merge
request and send another email inviting people to review.


2. Windows distribution

Due to the interest in upgrading the Windows installer (
https://gitlab.gnome.org/GNOME/dia/issues/22 ), I have tried to package the
binaries into an archive to allow easy redistribution.  I hope this will be
helpful if we want (re-)create the NSIS installer?  I have created a few
archives and been keeping track of it on my fork:
https://gitlab.gnome.org/neduard/dia/issues/3  Archives are signed with my
key (F623017FC5900C39) but they are slightly out-dated (they do not have
Cairo or Python enabled).  I will create newer ones once the branch is
ready.


3. Fixes performed as part of the port

As part of the full meson port, a few issues were fixed, including:
- Correct 'Shape Designs' directory: this allows uses to define custom
shapes by easily placing connection points on the diagram.
- Fix run_dia.sh not being able to run tests (
https://gitlab.gnome.org/GNOME/dia/issues/6 )
- Open manual directly in browser (do not rely on ghelp, which I think is
GNOME-specific?)
- Various clean-ups in the source code - mainly simplifying & removing old
/ unneeded code.


Fun note: I've been searching online for mentions of Dia given that
development is picking up again.  I found somebody on Reddit was trying to
place connection points, but since this functionality doesn't exist in the
current official Windows version, they had to manually edit the XML in the
.shape files. I directed them to the Windows builds I created and it seems
to work for them:
https://www.reddit.com/r/software/comments/a8aqb1/diagram_software/


4. Going forward

The above raises the following question: what is the current development /
release plan for Dia?  I've been searching online for "diagram software"
and there are plenty of websites that still reference Dia as an
alternative, meaning there is still interest in it.

The sourceforge webpage shows there are about 10000 downloads / week:
https://sourceforge.net/projects/dia-installer/files/stats/timeline?dates=2018-11-01%20to%202019-01-13&period=weekly

Of those, over 80% are on Windows:
https://sourceforge.net/projects/dia-installer/files/stats/os , meaning a
lot of users are stuck with the 0.97.2 version which is even older than the
current 0.97.3 (0.97+git) that is available on most distros.  Of course,
these are sourceforge.net downloads and most definitely do not reflect the
total number of users from platforms like Linux, MacOS or others.

I guess this is a big topic which probably deserves its own email chain.  I
include it here since it has been on my mind for some time and it ties in
with the meson Windows build.  I have put together *an idea* for a
milestone on my own fork: https://gitlab.gnome.org/neduard/dia/milestones/1
but again, this is only an idea.   Zander, I know you have been working on
the GTK3 port and have created a "Dia Next" Merge Request (
https://gitlab.gnome.org/GNOME/dia/merge_requests/16 ) with quite a varied
TODO list.  This means you have also considered what should the next
version contain.  Any thoughts?


TLDR:

Meson port is going well and approaching review-ready state.
We also have new Windows archives:
https://gitlab.gnome.org/neduard/dia/uploads/b34802461242a42d346d6939966ff7f1/Dia-Win-0.97.3-git-3a468925.7z
Given the Windows port is working, it will not be long until we have an
installer.  I think this is a good opportunity to discuss a release plan
and distribution to our users.


Thank you all and have a wonderful 2019!

Eduard
_______________________________________________
dia-list mailing list
dia-list@gnome.org
https://mail.gnome.org/mailman/listinfo/dia-list
FAQ at http://live.gnome.org/Dia/Faq
Main page at http://live.gnome.org/Dia

Reply via email to