unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* getting started writing desktop applications
@ 2016-07-17 16:38 Christopher M. Hobbs
  2016-07-17 16:43 ` Paul Emsley
  0 siblings, 1 reply; 7+ messages in thread
From: Christopher M. Hobbs @ 2016-07-17 16:38 UTC (permalink / raw)
  To: guile-user

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Greetings, Guilers!

Is there a recommended library for building desktop applications?
Maybe some GTK (or maybe Tk, as old as it is) tie-ins or something to
that effect?

Thanks a ton!
cmh

- -- 
Happy Hacking!

http://libernil.net/~cmhobbs
GPG:  1200 0808 F968 47AB F489  91A3 FE26 6FFB 1A77 0868

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQIcBAEBCAAGBQJXi7RsAAoJEP4mb/sadwhoDnkQAMG5rK5RmfehRvIxV/g+jqWd
+91Ze4kdjRXwqp668gaGy7HDKchO50LmlTmfXDutS1sOvH1xSmNTzkpoaRGMWic5
yZPvnCCXUNERx6sBrLeBd7ZHPZx4eP/W0BbrF7gMzJrUz9jFftJ31WZho2LtZf2j
ggWYLmxP04kwwbhdYqd2Ejmh5BssIGyi6792nxMVJKIbaxO4FLui8i+NKeRuVtJB
LLyJzc3MyyIDa2i+s4RrykwBs2Rk1UhQQpdxomI3j4kjwVRW4Z493QL4bJtYtyCr
SYOWQChXFqVF72ZWqX49qA5p6yJTIZuNP98NvGHL2/RzaKORKgCz0cQbpCYtzDC1
5tawKKNEPZ2fr4Nq8R3IzjPOuYp3HsPpxuB2rYqKgBjLH39uybxU3/kznKUMxQzn
pZ0WvmyWjao4QpXzP7GTxkw7w73+pOmGvCf5jhY7KyixjGlhc8M5Gr56XnfKjGEv
qX3ZIiuPZSXa5dlqv14ioYFZlyxGApHZ+eEdDXIKZuQ6uRdD46yPrfwvJdMUtBDQ
yH/rmmAxIoEc5NilxRXVkcjJ+ABCQSHjRbQo7YImJttz+03jPdFBVZRXfk7xcF9s
dkTvILscI4v0IhLJ19SMg0YUcLioPL/E5ItNpHQmUNj56zYKdoumtWtTWomHSrfb
EZrit1E+lU7SVQyJum4G
=3did
-----END PGP SIGNATURE-----

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: getting started writing desktop applications
  2016-07-17 16:38 getting started writing desktop applications Christopher M. Hobbs
@ 2016-07-17 16:43 ` Paul Emsley
  2016-07-18  4:52   ` Nala Ginrut
  0 siblings, 1 reply; 7+ messages in thread
From: Paul Emsley @ 2016-07-17 16:43 UTC (permalink / raw)
  To: guile-user

On 17/07/2016 17:38, Christopher M. Hobbs wrote:
>
> Is there a recommended library for building desktop applications?
> Maybe some GTK (or maybe Tk, as old as it is) tie-ins or something to
> that effect?

There's guile-gnome:

https://www.gnu.org/software/guile-gnome/


P.




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: getting started writing desktop applications
  2016-07-17 16:43 ` Paul Emsley
@ 2016-07-18  4:52   ` Nala Ginrut
  2016-07-20 16:01     ` Barry Fishman
  0 siblings, 1 reply; 7+ messages in thread
From: Nala Ginrut @ 2016-07-18  4:52 UTC (permalink / raw)
  To: Paul Emsley, guile-user

I happened to try guile-gnome few days ago, seems not workable with
2.1, I'm using the latest master. Anyone ever tried it?

On Sun, 2016-07-17 at 17:43 +0100, Paul Emsley wrote:
> On 17/07/2016 17:38, Christopher M. Hobbs wrote:
> > 
> > Is there a recommended library for building desktop applications?
> > Maybe some GTK (or maybe Tk, as old as it is) tie-ins or something
> > to
> > that effect?
> 
> There's guile-gnome:
> 
> https://www.gnu.org/software/guile-gnome/
> 
> 
> P.
> 
> 




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: getting started writing desktop applications
  2016-07-18  4:52   ` Nala Ginrut
@ 2016-07-20 16:01     ` Barry Fishman
  2016-07-21 19:35       ` David Pirotte
  0 siblings, 1 reply; 7+ messages in thread
From: Barry Fishman @ 2016-07-20 16:01 UTC (permalink / raw)
  To: guile-user


On 2016-07-18 12:52:24 +08, Nala Ginrut wrote:
> I happened to try guile-gnome few days ago, seems not workable with
> 2.1, I'm using the latest master. Anyone ever tried it?

Yes, with the same bad results.  It is hard for me to tell where the
issue lies, since many of its dependent packages fail their self tests,
although work with my own simple tests.

The whole autoreconf setup for added modules seems to get broken with
every development releases.  Some packages seem to require multiple
reconfigs before they build.  Tests break with errors like not being
able to exec "/bin/sh", which I can never seem to trace back though the
garbage Makefiles the autoconf system generates.  When I do things with
my own driver Guile scripts the test code seems to work just fine.

I don't understand why Guile modules use such a patchy environment when
if you are building them you know there is a perfectly good Guile
already built, which better understands it own build environment, and
can find out what it needs to know with pkg-config and if really
necessary, building its own C tests.  Simple packages like guile-lib now
fail tests even without need for C tests.

Yes, work has been put into autoconf to make it very powerful, but like
most pure macro based environments the output is fragile, and almost
unreadable by most mortals.  I have on occasions been able to fix some
configure setup, but usually at the expense of a great deal of time (and
frustration), and inability to test it on all the required environments,
or even understand what the required environments are.  I don't use
MS-Windows, Atari, or some long obsolete Unix like systems.  Knowledge
of such should really be part of the tools, not part of the developers
working knowledge.

For me, the hardest issue in Guile updates seems to be patching all the
autoconf environments of other peoples packages, most of which I needed to
wait for some more skilled hacker to come along and decide to do it.  I
have no problems with fixes to the actual Guile code, on the rare cases
such problems exist.

I love Guile. It does a great job of extending, sustaining, and
documenting, its *embedded* functionality, but user contributions are
far too difficult to export and integrate.  The solution should not be
to integrate everything, but make adding new user contributions easier.
Something like Setup.py or (even better) Haskell Cabal/Hackage.  *Not*
something like Emacs packages.

--
Barry Fishman




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: getting started writing desktop applications
  2016-07-20 16:01     ` Barry Fishman
@ 2016-07-21 19:35       ` David Pirotte
  2016-07-21 21:39         ` Barry Fishman
  0 siblings, 1 reply; 7+ messages in thread
From: David Pirotte @ 2016-07-21 19:35 UTC (permalink / raw)
  To: Barry Fishman; +Cc: guile-user

[-- Attachment #1: Type: text/plain, Size: 2606 bytes --]

Hello Barry,
Nala,

> On 2016-07-18 12:52:24 +08, Nala Ginrut wrote:
> > I happened to try guile-gnome few days ago, seems not workable with
> > 2.1, I'm using the latest master. Anyone ever tried it?  

> Yes, with the same bad results.  It is hard for me to tell where the
> issue lies, since many of its dependent packages fail their self tests,
> although work with my own simple tests.

Indeed. Guile-GNOME depends on G-Wrap and Guile-Cairo, and FWIW, note that all
compile and work fine with 2.0.11, 2.0.12 and up to 2.1.2.

G-Wrap fails with 2.1.3, because it uses a series of libguile.h functions marked as
deprecated in 2.2

I will try to solve this, but I have very little knowledge of the internals of
G-Wrap itself, so don't hold your breath: instead, if you can, use 2.1.2 or 2.0.12
of course.

> The whole autoreconf setup for added modules seems to get broken with
> every development releases.  Some packages seem to require multiple
> reconfigs before they build. 

I'm not aware of any of this, could you be more specific?

> Tests break with errors like not being able to exec "/bin/sh"

This is the symptom that you have a 'corrupted' environment, and the test suite can't
find guile and/or guild

> I don't understand why Guile modules use such a patchy environment when

What Guile modules?

> necessary, building its own C tests.  Simple packages like guile-lib now
> fail tests even without need for C tests.

This has been fixed, patched under revision: they will be pushed and guile-lib will
be released by the end of this month.

	https://lists.gnu.org/archive/html/guile-devel/2016-07/msg00055.html

In the mean time, you can use guile-lib: the make check failure is 'just' because
its autotool chain files have not been updated to require the tests to be serial.

Note that even after these 11 patches, the test suite will fail for 2 tests against
2.1.3: these concerns modules that are _not_ used by Guile-GNOME, I reported and
will personally not debug these, patch welcome:

	https://lists.gnu.org/archive/html/guile-devel/2016-07/msg00066.html

> Yes, work has been put into autoconf to make it very powerful, but like
> most pure macro based environments the output is fragile, and almost
> unreadable by most mortals.

AFAICT, there is no autotool chain related bug in Guile-GNOME, neither in Guile
itself.  Make check fails for Guile-Cairo for the same reason as it does for
guile-lib, but it works fine, just make check fails: I'll patch [I did locally] and
upload an unofficial release somewhere.

David.

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: getting started writing desktop applications
  2016-07-21 19:35       ` David Pirotte
@ 2016-07-21 21:39         ` Barry Fishman
  2016-07-21 23:15           ` David Pirotte
  0 siblings, 1 reply; 7+ messages in thread
From: Barry Fishman @ 2016-07-21 21:39 UTC (permalink / raw)
  To: guile-user


On 2016-07-21 16:35:56 +03, David Pirotte wrote:
>> The whole autoreconf setup for added modules seems to get broken with
>> every development releases.  Some packages seem to require multiple
>> reconfigs before they build. 
>
> I'm not aware of any of this, could you be more specific?

OK. Looking at guile-dbi  My install script ended up including:

--8<---------------cut here---------------start------------->8---
if [ ! -f configure ]; then
  echo ";;; Doing first autogen.sh"
  ./autogen.sh --no-configure
  echo ";;; Doing autoreconf"
  autoreconf -fi
  echo ";;; Doing second autogen.sh"
  ./autogen.sh --no-configure
fi
echo ";;; Now configure"
configure --prefix="${dest}" \
  LDFLAGS='-L/usr/lib64/mysql' \
  CPPFLAGS="-I${dest}/include"
--8<---------------cut here---------------end--------------->8---

I don't know it that is still needed, but fragile build environment lead
to cargo cult behavior.  And its never completely clear what the autogen
autoconf autotool (or whatever it should be called) environment is
doing.

>
>> Tests break with errors like not being able to exec "/bin/sh"
>
> This is the symptom that you have a 'corrupted' environment, and the
> test suite can't
> find guile and/or guild

> This has been fixed, patched under revision: they will be pushed and
> guile-lib will
> be released by the end of this month.
>
> 	https://lists.gnu.org/archive/html/guile-devel/2016-07/msg00055.html

Since you don't explain the symptoms of the bug, I don't know if it
what I am experiencing.

When I try to "make check" guile-lib (from the git repository) I get:

--8<---------------cut here---------------start------------->8---
make  check-TESTS
make[2]: Entering directory '/home2/barry/src/gen/guile-lib/unit-tests'
make[3]: Entering directory '/home2/barry/src/gen/guile-lib/unit-tests'
Backtrace:
           2 (primitive-load "/bin/sh")
In ice-9/eval.scm:
   223:20  1 (proc #<directory (guile-user) 128af30>)
In unknown file:
           0 (%resolve-variable (7 . #) #<directory (guile-user) 128?>)
--8<---------------cut here---------------end--------------->8---

In the test code I see:

   (primitive-load (getenv "DOC_GUILE_LIBRARY_SCM"))

And in the Makefile:

   DOC_GUILE_LIBRARY_SCM=$(top_srcdir)/doc/guile-library.scm 

And:

   top_srcdir=..

so I don't know where the "/bin/sh" could be coming from.

--
Barry Fishman




^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: getting started writing desktop applications
  2016-07-21 21:39         ` Barry Fishman
@ 2016-07-21 23:15           ` David Pirotte
  0 siblings, 0 replies; 7+ messages in thread
From: David Pirotte @ 2016-07-21 23:15 UTC (permalink / raw)
  To: Barry Fishman; +Cc: guile-user

[-- Attachment #1: Type: text/plain, Size: 2091 bytes --]

Hi Bary,

> >> The whole autoreconf setup for added modules seems to get broken with
> >> every development releases.  Some packages seem to require multiple
> >> reconfigs before they build.   

> > I'm not aware of any of this, could you be more specific?  

> OK. Looking at guile-dbi  My install script ended up including:

AFAICT, guile-dbi is unmaintained. If you are serious about this, use guile-pg
instead [1], or guile-sqlite3 [2]

Or grab this project under your umbrella and start to maintain it, iirc, the original
author was and still is looking for someone to pick it up and continue...

> >> Tests break with errors like not being able to exec "/bin/sh"  

> > This is the symptom that you have a 'corrupted' environment, and the
> > test suite can't
> > find guile and/or guild  

> > This has been fixed, patched under revision: they will be pushed and
> > guile-lib will
> > be released by the end of this month.

> > 	https://lists.gnu.org/archive/html/guile-devel/2016-07/msg00055.html  

> Since you don't explain the symptoms of the bug, I don't know if it
> what I am experiencing.

To explain a symptom, you need to find out the cause :), and for that, I'd have to
sit in from of your machine and dig into the problem... 

> When I try to "make check" guile-lib (from the git repository) I get:

So, either you wait another 2 weeks or:

	git clone guile-lib
	grab the 11 patches I was talking about in the previous email
	apply them
	re run the autotool danse

Cheers,
David

[1]	https://savannah.nongnu.org/projects/guile-pg/

[2]	guile-sqlite3 was on gitorious, but it's only 1 file, you my find it here
	http://git.savannah.gnu.org/cgit/grip.git/tree/grip/db/sqlite3.scm

There is also Guile-Squee, experimental:

	https://notabug.org/cwebber/guile-squee/

It's been created by Christopher Allan Webber, I fully autotool chained it
slightly later, but afaict, he still hasn't merge this in master: if you want to try
it, clone it and immediately checkout the devel branch, then run the autool danse




[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2016-07-21 23:15 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-17 16:38 getting started writing desktop applications Christopher M. Hobbs
2016-07-17 16:43 ` Paul Emsley
2016-07-18  4:52   ` Nala Ginrut
2016-07-20 16:01     ` Barry Fishman
2016-07-21 19:35       ` David Pirotte
2016-07-21 21:39         ` Barry Fishman
2016-07-21 23:15           ` David Pirotte

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).