Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-08-13 Thread Linus Björnstam
TIL that guile 1.6 had 2.5% pascal code!

-- 
  Linus Björnstam

On Thu, 13 Aug 2020, at 15:02, Pikachu Hy via General Guile related discussions 
wrote:
> hi,
> I build a msvc-version guile on Windows 10.
> 
> https://github.com/PikachuHy/guile-1.6.7/releases/tag/v20200813
> 
> Best wishes,
> PikachuHy
> 
>



Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-28 Thread Vladimir Zhbanov
Mike,

On Mon, Jul 27, 2020 at 08:57:05PM -0700, Mike Gran wrote:
> On Tue, Jul 28, 2020 at 10:52:47AM +0800, Christopher Lam wrote:
> > My mistake: gnucash uses MinGW-w64.
> > 
> > The gnucash lead developer has a few patches to successfully compile guile
> > on MinGW-w64. It would be great if these patches were taken upstream and a
> > CI pipeline enabled for testing. Otherwise gnucash for windows will always
> > need to catch up, and is at severe risk of falling behind.
> > 
> > https://github.com/jralls/guile
> > 
> 
> Yeah, that's a patched version of 2.2.7.
> 
> Even though I'm on a hiatus from coding, I believe I have all the
> parts to make Guile 3.0.x work on MinGW 32-bit no-threads.  Maybe I'll
> just see if I can't put that together real quick.

You don't even imagine how many projects/devs are waiting for your
efforts! (Maybe even twice more than just 'gnucash' :-))

And I really would very much appreciate the effort, I know how
much non-trivial it is.  Five years ago I cross-compiled
guile-2.0.9 with all its GC bugs on windows and got a working
version of our tools only after 3-5 months.  Now, I'm trying to
repeat this effort with new versions, and see it again :-(

Thank you for your work!

-- 
  Vladimir

(λ)επτόν EDA — https://github.com/lepton-eda



Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-27 Thread Christopher Lam
My mistake: gnucash uses MinGW-w64.

The gnucash lead developer has a few patches to successfully compile guile
on MinGW-w64. It would be great if these patches were taken upstream and a
CI pipeline enabled for testing. Otherwise gnucash for windows will always
need to catch up, and is at severe risk of falling behind.

https://github.com/jralls/guile

On Sat, 25 Jul 2020, 10:28 pm Eli Zaretskii,  wrote:

> > From: Christopher Lam 
> > Date: Sat, 25 Jul 2020 13:56:28 +
> > Cc: guile-user , help-g...@gnu.org
> >
> > Gnucash 4.0 in windows is successfully using libguile-2.2-1.dll from
> MSYS2.
>
> Is Gnucash a MinGW build or an MSYS2 build?  If the latter, it's
> expected.
>


Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-25 Thread Mike Gran
On Sat, Jul 25, 2020 at 09:31:41AM +0300, Eli Zaretskii wrote:
> > fwiw, i've used msys2 (not so much anymore, but i still would if i had
> > to ...), easy to install, update, well maintained, very friendly on irc
> > when i needed to ask for help ...:
> > 
> > https://www.msys2.org/
> > 
> > it has guile-2.2.7-1, threaded (which I've used. it works ...)
> 
> AFAIU, that's not a native Windows port, that's an MSYS2 port, which
> is almost the same as a Cygwin build (MSYS2 is a fork of Cygwin).
> 
> IOW, you cannot link the MSYS2 libguile with a native MinGW program,
> such as GDB or Gnu Make (or Lilypond, or any other application
> mentioned in this thread).  Right?

That is correct. When you try to build windows application in the
MinGW project, often times you need to run a configure script that may
require tools that don't have native windows versions. The way MinGW
helps these configure scripts run is by taking advantage of the the
MSYS2 environment -- which is similar to Cygwin -- so that has enough
tools to run a configure script.  It includes a version of Guile for
the purpose of running configure.

Like Cygwin, MSYS2 also has a big library that emulates POSIX that
everything links to.  The difference betwen MSYS2 and MinGW is that
MinGW apps try to link directly to windows libraries without linking
to an emulation library.

-Mike Gran






Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-25 Thread Jérémy Korwin-Zmijowski
Never heard about it.

I will try it and maybe update the Windows section ;-)

Thank you David

Jérémy

Le 25 juillet 2020 05:48:35 GMT+02:00, David Pirotte  a écrit :
>Hello,
>
>> > > ### On Windows
>> > > No solution yet.  
>
>fwiw, i've used msys2 (not so much anymore, but i still would if i had
>to ...), easy to install, update, well maintained, very friendly on irc
>when i needed to ask for help ...:
>
>   https://www.msys2.org/
>
>it has guile-2.2.7-1, threaded (which I've used. it works ...)
>
>   https://packages.msys2.org/base/guile
>
>for me, it was fantastic _not to have to deal_ with ouindoze on
>ouindoze, so msys2, its numerous packages ... and guile-2.2.7-1
>'saved my life' :)
>
>   dowload the lastest msys2
>   double-click -> linux terminal
>   use pacman (*) to update and install new packages
>
>David
>
>   ** Update
>
>   pacman -Syu
>   pacman -Su
>
>   ** Packages
>
>   pacman -S emacs
>   pacman -S guile
>   pacman -S libguile
>   pacman -S libguile-devel

-- 
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma 
brièveté.


Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-25 Thread Eli Zaretskii
> From: Christopher Lam 
> Date: Sat, 25 Jul 2020 13:56:28 +
> Cc: guile-user , help-g...@gnu.org
> 
> Gnucash 4.0 in windows is successfully using libguile-2.2-1.dll from MSYS2.

Is Gnucash a MinGW build or an MSYS2 build?  If the latter, it's
expected.



Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-25 Thread Christopher Lam
Gnucash 4.0 in windows is successfully using libguile-2.2-1.dll from MSYS2.

On Sat, 25 Jul 2020 at 06:32, Eli Zaretskii  wrote:

> > Date: Sat, 25 Jul 2020 00:48:35 -0300
> > From: David Pirotte 
> > Cc: Dmitry Alexandrov , guile-user@gnu.org,
> help-g...@gnu.org
> >
> > fwiw, i've used msys2 (not so much anymore, but i still would if i had
> > to ...), easy to install, update, well maintained, very friendly on irc
> > when i needed to ask for help ...:
> >
> >   https://www.msys2.org/
> >
> > it has guile-2.2.7-1, threaded (which I've used. it works ...)
>
> AFAIU, that's not a native Windows port, that's an MSYS2 port, which
> is almost the same as a Cygwin build (MSYS2 is a fork of Cygwin).
>
> IOW, you cannot link the MSYS2 libguile with a native MinGW program,
> such as GDB or Gnu Make (or Lilypond, or any other application
> mentioned in this thread).  Right?
>
>


Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-25 Thread Eli Zaretskii
> Date: Sat, 25 Jul 2020 00:48:35 -0300
> From: David Pirotte 
> Cc: Dmitry Alexandrov , guile-user@gnu.org, help-g...@gnu.org
> 
> fwiw, i've used msys2 (not so much anymore, but i still would if i had
> to ...), easy to install, update, well maintained, very friendly on irc
> when i needed to ask for help ...:
> 
>   https://www.msys2.org/
> 
> it has guile-2.2.7-1, threaded (which I've used. it works ...)

AFAIU, that's not a native Windows port, that's an MSYS2 port, which
is almost the same as a Cygwin build (MSYS2 is a fork of Cygwin).

IOW, you cannot link the MSYS2 libguile with a native MinGW program,
such as GDB or Gnu Make (or Lilypond, or any other application
mentioned in this thread).  Right?



Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-24 Thread David Pirotte
Hello,

> > > ### On Windows
> > > No solution yet.  

fwiw, i've used msys2 (not so much anymore, but i still would if i had
to ...), easy to install, update, well maintained, very friendly on irc
when i needed to ask for help ...:

https://www.msys2.org/

it has guile-2.2.7-1, threaded (which I've used. it works ...)

https://packages.msys2.org/base/guile

for me, it was fantastic _not to have to deal_ with ouindoze on
ouindoze, so msys2, its numerous packages ... and guile-2.2.7-1
'saved my life' :)

dowload the lastest msys2
double-click -> linux terminal
use pacman (*) to update and install new packages

David

** Update

pacman -Syu
pacman -Su

** Packages

pacman -S emacs
pacman -S guile
pacman -S libguile
pacman -S libguile-devel


pgpyeodAlFmKi.pgp
Description: OpenPGP digital signature


Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-24 Thread Mike Gran
On Fri, Jul 24, 2020 at 09:22:54AM +0200, Dr. Arne Babenhauserheide wrote:
> 
> This is one of the biggest worries I have with the time I put into
> Guile: Many of my friends are still on Windows and in the current state
> of Guile I won???t be able to create tools that help them.
> 
> Creating installers for Windows was bad with Python, it is much worse
> with Guile. I wish I could just do something like
> guild package --target windows -o my-program.exe entry-point.scm 
> 
> This prevents people from using Guile for anything that might have to be
> cross-platform (though the Lilypond folks got it working
> https://lilypond.org/windows.de.html).

Yeah, I did put a 32-bit, no-thread Windows version of Guile-2.2 in
a game-jame game I did once, but, it was non-trivial.

For those that hanven't programmed on Windows much, it is a bit of a
struggle. The native tools are C++, not C, and the native API is just
different: different threading, different asyncs, similar but still
not identical sockets, different dynamic linking. No guarantee that
the sizeof(long) is sizeof(void *).

So different groups have created projects to help port or run legacy
UNIX-like software to Windows. The most familiar to free software people
are Cygwin and MinGW.

Cygwin: use gcc or clang, link to a special C and POSIX library that
handles the Windows API for you. This exists and works well for Guile.
Its emulation library is GPL, so to distribute a Cygwin app, it must
be GPL and must include a healthy chunk of the Cygwin infrastructure.

MinGW: use gcc or clang, link to native Windows API. Guile almost
supports this, because it uses Gnulib. Gnulib has a library of shims
that tweaks Windows C library API to be more POSIX-like, but, Gnulib
isn't a comprehensive solution.  When free software people talk of
a "port" to windows, they usualy mean that it is built with MinGW.

But, of course, MinGW had a spat years ago and now there are two
competing MinGW projects. Sigh.

Some projects go a step further and try to use the native windows
compilers and API, but, since autoconf basically won't work on Windows
because its shell language is not /bin/sh but is PowerShell or CMD,
this usually requires a different build system, like CMake or Meson.

Guile has both autoconf and gnulib, so MinGW is the semi-supported
path to a native Windows executable.

It actually would not be a lot of work to get a 32-bit, unthreaded
Guile 3.0 working again, assuming that lightening works for
Win32.  Just some run of the mill patching.  But historically
getting these patches in the main tree has been an awful experience
-- expecially in the Mark era -- because of arguments as to
whether they should be fixed in Guile or in Gnulib and having
to deal with both Guile and Gnulib having competing interests.

Thanks you for coming to my TED talk.  

Regards
Mike Gran



Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-24 Thread Stefan Israelsson Tampe
I just want to say that I use guile on windows regularly. And it was easy
peasy to enable it. The trick is to install the Linux subsystem for windows
10 and hack on. I know this is not always an option, just to remind you
where the future is.

On Fri, Jul 24, 2020 at 2:07 AM Dmitry Alexandrov  wrote:

> Jérémy Korwin-Zmijowski  wrote:
> > https://jeko.frama.io
>
> > ## Installation
>
> > ### On Windows
> >
> > No solution yet.
>
> Is that true?  Itʼs true (and a pity) that there no official packages, of
> course, but ‘no solution’?
>
> I vaguely recall, there was a Guile on MinGW a couple of years ago, does
> it no longer build?  And what happened with Cygwin package after all?
> cygwin.com says, that 3.0.4 is there [1].
>
> [1] https://cygwin.com/packages/summary/guile3.0.html
>


Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-24 Thread Christopher Lam
Ditto gnucash on windows does include guile 2.2 but it's a major pain point
to get it to build.

https://code.gnucash.org/logs/2020/07/16.html#T20:20:40

On Fri, 24 Jul 2020, 3:24 pm Dr. Arne Babenhauserheide, 
wrote:

>
> Eli Zaretskii  writes:
> > 
> > Sadly, Guile seems to care only about one OS: GNU/Linux, and more or
> > less disregard the rest.  Features are added that clearly cannot
> > easily work on other OSes, let alone non-Posix ones, and with each
> > such new feature producing a working MinGW port becomes harder and
> > harder, even for experienced hackers.
>
> This is one of the biggest worries I have with the time I put into
> Guile: Many of my friends are still on Windows and in the current state
> of Guile I won’t be able to create tools that help them.
>
> Creating installers for Windows was bad with Python, it is much worse
> with Guile. I wish I could just do something like
> guild package --target windows -o my-program.exe entry-point.scm
>
> This prevents people from using Guile for anything that might have to be
> cross-platform (though the Lilypond folks got it working
> https://lilypond.org/windows.de.html).
>
> > Please don't bother replying to this rant, it's just FYI, to convey my
> > personal recollections and experiences from doing the 2.0.x port, and
> > I don't intend to argue about it.
> > 
>
> I replied, because I did not intend to argue but rather support your
> point. While Guile is easiest to use on GNU Linux, a Windows port is a
> hard requirement if we want Guile to be useful as a platform for writing
> programs. There is GTK for Windows and it would be nice if we could
> actually script it from Guile:
> https://www.gtk.org/docs/installations/windows/
>
> Best wishes,
> Arne
> --
> Unpolitisch sein
> heißt politisch sein
> ohne es zu merken
>


Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-24 Thread Dr. Arne Babenhauserheide

Eli Zaretskii  writes:
> 
> Sadly, Guile seems to care only about one OS: GNU/Linux, and more or
> less disregard the rest.  Features are added that clearly cannot
> easily work on other OSes, let alone non-Posix ones, and with each
> such new feature producing a working MinGW port becomes harder and
> harder, even for experienced hackers.

This is one of the biggest worries I have with the time I put into
Guile: Many of my friends are still on Windows and in the current state
of Guile I won’t be able to create tools that help them.

Creating installers for Windows was bad with Python, it is much worse
with Guile. I wish I could just do something like
guild package --target windows -o my-program.exe entry-point.scm 

This prevents people from using Guile for anything that might have to be
cross-platform (though the Lilypond folks got it working
https://lilypond.org/windows.de.html).

> Please don't bother replying to this rant, it's just FYI, to convey my
> personal recollections and experiences from doing the 2.0.x port, and
> I don't intend to argue about it.
> 

I replied, because I did not intend to argue but rather support your
point. While Guile is easiest to use on GNU Linux, a Windows port is a
hard requirement if we want Guile to be useful as a platform for writing
programs. There is GTK for Windows and it would be nice if we could
actually script it from Guile:
https://www.gtk.org/docs/installations/windows/

Best wishes,
Arne
-- 
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-24 Thread divoplade
Hello,

Le vendredi 24 juillet 2020 à 03:06 +0300, Dmitry Alexandrov a écrit :
> Jérémy Korwin-Zmijowski  wrote:
> > https://jeko.frama.io
> > ## Installation
> > ### On Windows
> > 
> > No solution yet.
> 
> Is that true?  Itʼs true (and a pity) that there no official
> packages, of course, but ‘no solution’?

>From what I gathered, there are a few stupid problems with existing
patches to make guile build for mingw (
https://github.com/mkeeter/guile-mingw/), but there is the hard problem
that the garbage collector won't work on mingw x86_64 because it
expects that pointers can fit in longs.

Anyways, I say that if we can't have mingw x86_64, let's have i686 and
everyone will be happy enough. By the time i686 is insufficient,
Windows will already be another OS built around linux anyway (n.b. this
is a personal opinion ^^). But there is a chance I fundamentally
misunderstood something...




Re: No Guile on Windows? (was: My Guile Hacker Handbook)

2020-07-23 Thread Eli Zaretskii
> From: Dmitry Alexandrov 
> Date: Fri, 24 Jul 2020 03:06:53 +0300
> Cc: Guile User , Guix Help 
> 
> > ## Installation
> 
> > ### On Windows
> >
> > No solution yet.
> 
> Is that true?  Itʼs true (and a pity) that there no official packages, of 
> course, but ‘no solution’?
> 
> I vaguely recall, there was a Guile on MinGW a couple of years ago, does it 
> no longer build?  And what happened with Cygwin package after all?  
> cygwin.com says, that 3.0.4 is there [1].

  
https://sourceforge.net/projects/ezwinports/files/guile-2.0.11-2-w32-bin.zip/download

Mind you, this is a 32-bit build, and it is configured without threads
(because building with threads produces Guile that crashes for almost
any non-trivial operation, you can find the details in the Guile
mailing list archives).

I never tried to build a newer Guile, as doing a fully-functional
MinGW port is a non-trivial endeavor that consumes a lot of time, and
I don't have that time now.


Sadly, Guile seems to care only about one OS: GNU/Linux, and more or
less disregard the rest.  Features are added that clearly cannot
easily work on other OSes, let alone non-Posix ones, and with each
such new feature producing a working MinGW port becomes harder and
harder, even for experienced hackers.

Please don't bother replying to this rant, it's just FYI, to convey my
personal recollections and experiences from doing the 2.0.x port, and
I don't intend to argue about it.