Re: Gtk3 master

2017-08-31 Thread Geert Janssens
On donderdag 31 augustus 2017 19:17:02 CEST John Ralls wrote:
> > On Aug 31, 2017, at 9:11 AM, Geert Janssens 
> > wrote:> 
> > On donderdag 31 augustus 2017 16:17:20 CEST Aaron Laws wrote:
> >> On Thu, Aug 31, 2017 at 9:51 AM, Geert Janssens
> >> >> 
> >> wrote:
> >>> I meant to add still, if we want to keep guile 1.8 support, the
> >>> FIND_PACKAGE(GUILE_EXECUTABLE...) rules should move up inside the
> >>> branches of
> >>> the GUILE2 vs GUILE1 test.
> >>> For GUILE2 it can remain
> >>> FIND_PROGRAM (GUILE_EXECUTABLE guile2.0 guile)
> >>> IF (NOT GUILE_EXECUTABLE)
> >>> 
> >>>  MESSAGE (SEND_ERROR "The guile executable was not found, but is
> >>>  required.
> >>> 
> >>> Please set GUILE_EXECUTABLE.")
> >>> ENDIF (NOT GUILE_EXECUTABLE)
> >>> 
> >>> For guile 1.8 it should become
> >>> FIND_PROGRAM (GUILE_EXECUTABLE guile1.8 guile)
> >>> IF (NOT GUILE_EXECUTABLE)
> >>> 
> >>>  MESSAGE (SEND_ERROR "The guile executable was not found, but is
> >>>  required.
> >>> 
> >>> Please set GUILE_EXECUTABLE.")
> >>> ENDIF (NOT GUILE_EXECUTABLE)
> >>> 
> >>> Regards,
> >>> 
> >>> Geert
> >> 
> >> I don't have guile 1. guile --version; returns "2.2.2" and guile2.0
> >> --version; returns "2.0.14".
> > 
> > Yes, distributions shift this all the time...
> > 
> > I'm still on Fedora 25 which has guile (being 2.0.13) and guile1.8 (being
> > 1.8.8)
> > 
> > While checking these version numbers I saw the copyright notice on guile
> > 1.8 was last updated in 2008(!) and guile 2.0 in 2016. I think it's fair
> > to state guile 1.8 is getting rather outdated and I'll keep my vote to
> > stop supporting it ASAP :)
> 
> I'm very much in favor of dropping Guile-1.8 support.
> 
Good, I'll take it up when I have time available again for gnucash.

> If Guile-2.2 can be made to work without too much effort adding support for
> it would be a Good Thing.
> 
I added some rules to CMakeLists.txt locally to see how it would go. The build 
fails because we still use a few functions that were already deprecated in 
guile 2.0 and now removed completely from guile 2.2.

The ones that came up before the build refused to continue (even with -k100):
- scm_internal_stack_catch: no direct c replacement, but can be done in guile 
code, I have been looking into this in the past, but never finished the job
- scm_listify: to be replaced with scm_list_n. The bad news is this function 
is also used in the swig autogenerated code. So getting this fixed means 
patching swig. So we're back at where we were with gnucash 2.6. No active 
swig-guile maintainer, and the swig-guile code slowly bitrotting and breaking 
with new guile releases. Sigh... If not too much work I may write yet another 
PR for swig.

> BTW, while MingGW64 ships Guile it included Cygwin dependencies--it's a
> MSYS2 package, not a MinGW one--so we can't use it.

Oh, I had missed that :-\

> I've set up the
> moduleset to build Guile-2.0.14, and if Guile-2.2 works I'd change both Win
> and Mac to use that. Unfortunately it doesn't appear that Debian has looked
> at Guile-2.2 even for unstable, but that might be because we're the only
> major package that uses guile. (The other packages are freehold,
> libnlopt-guile0, moron, mailtutils-guile, guile-library, guile-son, and
> gwrap).
> 
> Looks like Fedora has guile-2.2 beginning with F25, but I don't know of a
> good way to find out what packages depend on it or on guile-2.0.
> 
On Fedora you'd use
dnf repoquery --whatrequires ...

There we have aisleriot, autogen, denemo, freehoo, freetalk, gdb-headless, 
geda-utils, gnotime, gnubik, gnutls-guile, graphviz-guile, make, mdk, weechat, 
xbindkeys

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread John Ralls

> On Aug 31, 2017, at 9:11 AM, Geert Janssens  
> wrote:
> 
> On donderdag 31 augustus 2017 16:17:20 CEST Aaron Laws wrote:
>> On Thu, Aug 31, 2017 at 9:51 AM, Geert Janssens 
>> wrote:
>>> I meant to add still, if we want to keep guile 1.8 support, the
>>> FIND_PACKAGE(GUILE_EXECUTABLE...) rules should move up inside the
>>> branches of
>>> the GUILE2 vs GUILE1 test.
>>> For GUILE2 it can remain
>>> FIND_PROGRAM (GUILE_EXECUTABLE guile2.0 guile)
>>> IF (NOT GUILE_EXECUTABLE)
>>> 
>>>  MESSAGE (SEND_ERROR "The guile executable was not found, but is
>>>  required.
>>> 
>>> Please set GUILE_EXECUTABLE.")
>>> ENDIF (NOT GUILE_EXECUTABLE)
>>> 
>>> For guile 1.8 it should become
>>> FIND_PROGRAM (GUILE_EXECUTABLE guile1.8 guile)
>>> IF (NOT GUILE_EXECUTABLE)
>>> 
>>>  MESSAGE (SEND_ERROR "The guile executable was not found, but is
>>>  required.
>>> 
>>> Please set GUILE_EXECUTABLE.")
>>> ENDIF (NOT GUILE_EXECUTABLE)
>>> 
>>> Regards,
>>> 
>>> Geert
>> 
>> I don't have guile 1. guile --version; returns "2.2.2" and guile2.0
>> --version; returns "2.0.14".
> 
> Yes, distributions shift this all the time...
> 
> I'm still on Fedora 25 which has guile (being 2.0.13) and guile1.8 (being 
> 1.8.8)
> 
> While checking these version numbers I saw the copyright notice on guile 1.8 
> was last updated in 2008(!) and guile 2.0 in 2016. I think it's fair to state 
> guile 1.8 is getting rather outdated and I'll keep my vote to stop supporting 
> it ASAP :)

I'm very much in favor of dropping Guile-1.8 support.

If Guile-2.2 can be made to work without too much effort adding support for it 
would be a Good Thing.

BTW, while MingGW64 ships Guile it included Cygwin dependencies--it's a MSYS2 
package, not a MinGW one--so we can't use it. I've set up the moduleset to 
build Guile-2.0.14, and if Guile-2.2 works I'd change both Win and Mac to use 
that. Unfortunately it doesn't appear that Debian has looked at Guile-2.2 even 
for unstable, but that might be because we're the only major package that uses 
guile. (The other packages are freehold, libnlopt-guile0, moron, 
mailtutils-guile, guile-library, guile-son, and gwrap).

Looks like Fedora has guile-2.2 beginning with F25, but I don't know of a good 
way to find out what packages depend on it or on guile-2.0.

Regards,
John Ralls


___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread Geert Janssens
On donderdag 31 augustus 2017 16:17:20 CEST Aaron Laws wrote:
> On Thu, Aug 31, 2017 at 9:51 AM, Geert Janssens 
> wrote:
> > I meant to add still, if we want to keep guile 1.8 support, the
> > FIND_PACKAGE(GUILE_EXECUTABLE...) rules should move up inside the
> > branches of
> > the GUILE2 vs GUILE1 test.
> > For GUILE2 it can remain
> > FIND_PROGRAM (GUILE_EXECUTABLE guile2.0 guile)
> > IF (NOT GUILE_EXECUTABLE)
> > 
> >   MESSAGE (SEND_ERROR "The guile executable was not found, but is
> >   required.
> > 
> > Please set GUILE_EXECUTABLE.")
> > ENDIF (NOT GUILE_EXECUTABLE)
> > 
> > For guile 1.8 it should become
> > FIND_PROGRAM (GUILE_EXECUTABLE guile1.8 guile)
> > IF (NOT GUILE_EXECUTABLE)
> > 
> >   MESSAGE (SEND_ERROR "The guile executable was not found, but is
> >   required.
> > 
> > Please set GUILE_EXECUTABLE.")
> > ENDIF (NOT GUILE_EXECUTABLE)
> > 
> > Regards,
> > 
> > Geert
> 
> I don't have guile 1. guile --version; returns "2.2.2" and guile2.0
> --version; returns "2.0.14".

Yes, distributions shift this all the time...

I'm still on Fedora 25 which has guile (being 2.0.13) and guile1.8 (being 
1.8.8)

While checking these version numbers I saw the copyright notice on guile 1.8 
was last updated in 2008(!) and guile 2.0 in 2016. I think it's fair to state 
guile 1.8 is getting rather outdated and I'll keep my vote to stop supporting 
it ASAP :)

Geert

___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread Geert Janssens
On donderdag 31 augustus 2017 17:01:10 CEST Robert Fewell wrote:
> Copied your changes locally and was able to build OK.
> Bob
> 
> On 31 August 2017 at 15:17, Geert Janssens 
> 
> wrote:
> > On donderdag 31 augustus 2017 16:01:19 CEST Robert Fewell wrote:
> > > It builds with "guile2.0" removed on that line, also output of which
> > 
> > guile
> > 
> > > is /usr/bin/guile and that version is 1.8.8. I do not have version 2
> > > installed.
> > > Bob
> > 
> > Thanks for detailing this. It turns out the FIND_PROGRAM invocation was
> > incorrect. I didn't catch that because cmake caches such tests :(
> > 
> > I have pushed another commit which fixes this on my system. It also splits
> > the
> > FIND_PROGRAM call for guile 2 and guile 1 environments.
> > 
> > Can you test whether this works for you ?
> > 
> > Geert

Excellent :)

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread Robert Fewell
Copied your changes locally and was able to build OK.
Bob

On 31 August 2017 at 15:17, Geert Janssens 
wrote:

> On donderdag 31 augustus 2017 16:01:19 CEST Robert Fewell wrote:
> > It builds with "guile2.0" removed on that line, also output of which
> guile
> > is /usr/bin/guile and that version is 1.8.8. I do not have version 2
> > installed.
> > Bob
> >
> Thanks for detailing this. It turns out the FIND_PROGRAM invocation was
> incorrect. I didn't catch that because cmake caches such tests :(
>
> I have pushed another commit which fixes this on my system. It also splits
> the
> FIND_PROGRAM call for guile 2 and guile 1 environments.
>
> Can you test whether this works for you ?
>
> Geert
>
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread Geert Janssens
On donderdag 31 augustus 2017 16:01:19 CEST Robert Fewell wrote:
> It builds with "guile2.0" removed on that line, also output of which guile
> is /usr/bin/guile and that version is 1.8.8. I do not have version 2
> installed.
> Bob
> 
Thanks for detailing this. It turns out the FIND_PROGRAM invocation was 
incorrect. I didn't catch that because cmake caches such tests :(

I have pushed another commit which fixes this on my system. It also splits the 
FIND_PROGRAM call for guile 2 and guile 1 environments.

Can you test whether this works for you ?

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread Aaron Laws
On Thu, Aug 31, 2017 at 9:51 AM, Geert Janssens 
wrote:

> I meant to add still, if we want to keep guile 1.8 support, the
> FIND_PACKAGE(GUILE_EXECUTABLE...) rules should move up inside the
> branches of
> the GUILE2 vs GUILE1 test.
> For GUILE2 it can remain
> FIND_PROGRAM (GUILE_EXECUTABLE guile2.0 guile)
> IF (NOT GUILE_EXECUTABLE)
>   MESSAGE (SEND_ERROR "The guile executable was not found, but is required.
> Please set GUILE_EXECUTABLE.")
> ENDIF (NOT GUILE_EXECUTABLE)
>
> For guile 1.8 it should become
> FIND_PROGRAM (GUILE_EXECUTABLE guile1.8 guile)
> IF (NOT GUILE_EXECUTABLE)
>   MESSAGE (SEND_ERROR "The guile executable was not found, but is required.
> Please set GUILE_EXECUTABLE.")
> ENDIF (NOT GUILE_EXECUTABLE)
>
> Regards,
>
> Geert


I don't have guile 1. guile --version; returns "2.2.2" and guile2.0
--version; returns "2.0.14".
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread Robert Fewell
It builds with "guile2.0" removed on that line, also output of which guile
is /usr/bin/guile and that version is 1.8.8. I do not have version 2
installed.
Bob

On 31 August 2017 at 13:44, Aaron Laws  wrote:

> On Thu, Aug 31, 2017 at 8:28 AM, Robert Fewell <14ubo...@gmail.com> wrote:
>
>> Just tried to build from master after all the recent changes and it failed
>> on guile, currently I am running 1.8 and in the log file I see "Using
>> guile-1.8.x" but it then logs "The guile executable was not found, but is
>> required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can
>> build if I comment out the four lines starting at 283. Not sure if they
>> are
>> required or should be moved so will leave for some one who knows what they
>> are doing.
>>
>> On a similar note, I still do a build on my Gtk3.10 VM but have to change
>> line 195 as it states the version should be greater or equal to 3.14, is
>> this just a typo or have I got the minimum version wrong ?
>>
>> Bob
>>
>
> If you remove "guile2.0" from line 283, does it work?
>
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread Geert Janssens
On donderdag 31 augustus 2017 14:28:33 CEST Robert Fewell wrote:
> Just tried to build from master after all the recent changes and it failed
> on guile, currently I am running 1.8 and in the log file I see "Using
> guile-1.8.x" but it then logs "The guile executable was not found, but is
> required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can
> build if I comment out the four lines starting at 283. Not sure if they are
> required or should be moved so will leave for some one who knows what they
> are doing.
> 
I meant to add still, if we want to keep guile 1.8 support, the 
FIND_PACKAGE(GUILE_EXECUTABLE...) rules should move up inside the branches of 
the GUILE2 vs GUILE1 test.
For GUILE2 it can remain
FIND_PROGRAM (GUILE_EXECUTABLE guile2.0 guile)
IF (NOT GUILE_EXECUTABLE)
  MESSAGE (SEND_ERROR "The guile executable was not found, but is required. 
Please set GUILE_EXECUTABLE.")
ENDIF (NOT GUILE_EXECUTABLE)

For guile 1.8 it should become
FIND_PROGRAM (GUILE_EXECUTABLE guile1.8 guile)
IF (NOT GUILE_EXECUTABLE)
  MESSAGE (SEND_ERROR "The guile executable was not found, but is required. 
Please set GUILE_EXECUTABLE.")
ENDIF (NOT GUILE_EXECUTABLE)

Regards,

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread Geert Janssens
On donderdag 31 augustus 2017 14:28:33 CEST Robert Fewell wrote:
> Just tried to build from master after all the recent changes and it failed
> on guile, currently I am running 1.8 and in the log file I see "Using
> guile-1.8.x" but it then logs "The guile executable was not found, but is
> required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can
> build if I comment out the four lines starting at 283. Not sure if they are
> required or should be moved so will leave for some one who knows what they
> are doing.
> 
I'm inclined to drop guile 1.8 support completely for master. It's no longer 
supported by upstream and all of the distributions we care about have been 
shipping guile 2.0 for some time now. The last remaining blocker was our very 
own mingw based windows build. However we're in the process of migrating to 
mingw64 which does ship guile2 so I see no reason to keep supporting guile 
1.8.

At the other end of the spectrum, I wonder whether gnucash would work with 
guile 2.2, the current stable guile version...

> On a similar note, I still do a build on my Gtk3.10 VM but have to change
> line 195 as it states the version should be greater or equal to 3.14, is
> this just a typo or have I got the minimum version wrong ?
> 
Gtk 3.10 is still our baseline indeed, because that's the most recent version 
we can easily install on our Travis test environment.

I have just pushed a commit that adjusts this for cmake as well.

Geert
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread Aaron Laws
On Thu, Aug 31, 2017 at 8:44 AM, Aaron Laws  wrote:

> On Thu, Aug 31, 2017 at 8:28 AM, Robert Fewell <14ubo...@gmail.com> wrote:
>
>> Just tried to build from master after all the recent changes and it failed
>> on guile, currently I am running 1.8 and in the log file I see "Using
>> guile-1.8.x" but it then logs "The guile executable was not found, but is
>> required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can
>> build if I comment out the four lines starting at 283. Not sure if they
>> are
>> required or should be moved so will leave for some one who knows what they
>> are doing.
>>
>> On a similar note, I still do a build on my Gtk3.10 VM but have to change
>> line 195 as it states the version should be greater or equal to 3.14, is
>> this just a typo or have I got the minimum version wrong ?
>>
>> Bob
>>
>
> If you remove "guile2.0" from line 283, does it work?
>

Oh, and another question. Would you post the output from   which guile;
and   which guile2.0; ?
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Re: Gtk3 master

2017-08-31 Thread Aaron Laws
On Thu, Aug 31, 2017 at 8:28 AM, Robert Fewell <14ubo...@gmail.com> wrote:

> Just tried to build from master after all the recent changes and it failed
> on guile, currently I am running 1.8 and in the log file I see "Using
> guile-1.8.x" but it then logs "The guile executable was not found, but is
> required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can
> build if I comment out the four lines starting at 283. Not sure if they are
> required or should be moved so will leave for some one who knows what they
> are doing.
>
> On a similar note, I still do a build on my Gtk3.10 VM but have to change
> line 195 as it states the version should be greater or equal to 3.14, is
> this just a typo or have I got the minimum version wrong ?
>
> Bob
>

If you remove "guile2.0" from line 283, does it work?
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel


Gtk3 master

2017-08-31 Thread Robert Fewell
Just tried to build from master after all the recent changes and it failed
on guile, currently I am running 1.8 and in the log file I see "Using
guile-1.8.x" but it then logs "The guile executable was not found, but is
required. Please set GUILE_EXECUTABLE." Looking at CMakeLists.txt, I can
build if I comment out the four lines starting at 283. Not sure if they are
required or should be moved so will leave for some one who knows what they
are doing.

On a similar note, I still do a build on my Gtk3.10 VM but have to change
line 195 as it states the version should be greater or equal to 3.14, is
this just a typo or have I got the minimum version wrong ?

Bob
___
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel