Re: [PATCH] serious doubts about waf

2009-11-25 Thread Graham Percival
On Tue, Nov 24, 2009 at 11:02:37PM +0100, John Mandereau wrote:
> Le mardi 24 novembre 2009 à 21:20 +, Graham Percival a écrit :
> > On the 16th, I gave up and fixed this one myself.  However, I
> > discovered that I couldn't copy files from srcdir into the blddir
> > without changing their name, which kind-of borks
> > Documentation/pictures/.
> 
> I'm quite certain we can avoid copying pictures from outdir to blddir;
> however, if more generally we can't transform a file in srcdir to a file
> in blddir that has the same name,

This is a current limitation of waf.  The author stated that
fixing it was on his TODO list, but that was over a year ago.

We can either do weird stuff to avoid this limitation, ask him to
fix this bug, or try to fix it ourselves.  I personally favor the
latter two options; I'm sick of doing wierd stuff just to fit
within the limitations of a build system.

> It's not for making the pictures available to Texinfo
> formatters, as a simple -I srcdir (which we already have in current
> build system IIRC) would do the job.  For some pictures, we resize them,
> but then for clarity we could give a different name to the source.

I suppose so.

> For other pictures, IIRC we just symlink them so that they're
> caught by mirrortree (a module used by www_post.py that links
> files into *-root).

I don't want to have mirrortree in the new build system if we can
avoid it.

> Is it worth going on investigating this?  I think so, so I'll
> have a look.

Waf will not be used for 2.14.  If there are truly no translation
issues that need addressing, then go ahead, but it'll be a few
weeks or months before we'll try any switching.  Oh, for that
matter, we should probably re-sync dev/waf with master (to get the
recent manual renamings), copy the wscript* files from
dev/gperciva, then delete dev/gperciva.

I'm not in any kind of rush to touch any of this until after 2.14,
though.

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [PATCH] serious doubts about waf

2009-11-24 Thread John Mandereau
Le mardi 24 novembre 2009 à 21:20 +, Graham Percival a écrit :
> On the 16th, I gave up and fixed this one myself.  However, I
> discovered that I couldn't copy files from srcdir into the blddir
> without changing their name, which kind-of borks
> Documentation/pictures/.

I'm quite certain we can avoid copying pictures from outdir to blddir;
however, if more generally we can't transform a file in srcdir to a file
in blddir that has the same name, let's sit down two minutes to see why
we do this.  It's not for making the pictures available to Texinfo
formatters, as a simple -I srcdir (which we already have in current
build system IIRC) would do the job.  For some pictures, we resize them,
but then for clarity we could give a different name to the source.  For
other pictures, IIRC we just symlink them so that they're caught by
mirrortree (a module used by www_post.py that links files into *-root).
Is it worth going on investigating this?  I think so, so I'll have a
look.

Best,
John


signature.asc
Description: Ceci est une partie de message numériquement signée
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [PATCH] serious doubts about waf

2009-11-24 Thread Graham Percival
On Tue, Nov 24, 2009 at 09:42:05PM +0100, John Mandereau wrote:
> Le jeudi 12 novembre 2009 à 17:54 +, Graham Percival a écrit :
> > 1)  if you can't duplicate the problem after checking out
> > dev/gperciva, then I'll check a third time to see if there's any
> > old version of waf floating around on this machine.
> 
> No, I couldn't duplicate.  But, it might be necessary to clear some
> cache using distclean, then reconfigure, so you can have a command like

I clear the cache with rm -rf waf-out

On the 16th, I gave up and fixed this one myself.  However, I
discovered that I couldn't copy files from srcdir into the blddir
without changing their name, which kind-of borks
Documentation/pictures/.  That message is on -devel somewhere.

Waf is dead until at least after 2.14.

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [PATCH] serious doubts about waf

2009-11-24 Thread John Mandereau
Sorry for the delay, it often takes me a while to catch all traffic on
Lily lists when I'm back from a trip, even a few-days one.

Le jeudi 12 novembre 2009 à 17:54 +, Graham Percival a écrit :
> 1)  if you can't duplicate the problem after checking out
> dev/gperciva, then I'll check a third time to see if there's any
> old version of waf floating around on this machine.

No, I couldn't duplicate.  But, it might be necessary to clear some
cache using distclean, then reconfigure, so you can have a command like

waf-light distclean configure build

Best,
John


signature.asc
Description: Ceci est une partie de message numériquement signée
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [PATCH] serious doubts about waf

2009-11-14 Thread Graham Percival
Ok, it seems the the key was to call
   bld.rescan(node)
after adding it.

I'm off to a short conference tomorrow.  I expected to have internet
access, but when I mentioned it to one of the professors today, he
just laughed at me.  :(so if I'm not around for a few days, that's
why.

I'm going to work on
  1)  the waf build
  2)  merging the two init-pl files.
in the dev/gperciva branch.

I don't know how much time I'll have, but it's traditional for me to
do build system stuff at conferences.  I have no plans on touching
anything else, so if you're waiting for me to do anything, either do
it yourself or keep on waiting.

Cheers,
- Graham


On Thu, Nov 12, 2009 at 5:54 PM, Graham Percival
 wrote:
> On Thu, Nov 12, 2009 at 10:21:16AM +0100, John Mandereau wrote:
>> Le jeudi 12 novembre 2009 à 00:21 +0100, John Mandereau a écrit :
>> > Does the attached patch convince you to go on on Waf?
>>
>> Actually, please ignore my patch and checkout a SVN copy of Waf instead
>>
>> svn checkout http://waf.googlecode.com/svn/trunk/ && mv trunk waf
>>
>> then invoke waf-light from this checkout.
>
> I'm already working from waf.  I did an svn update.  It still
> fails the first time I run it, while working perfectly the second
> time.
>
> In case there's any misunderstanding, I'm talking about the
> dev/gperciva branch.  The minimal example that Thomas Nagy sent
> works just fine.
>
>
> 1)  if you can't duplicate the problem after checking out
> dev/gperciva, then I'll check a third time to see if there's any
> old version of waf floating around on this machine.
>
> 2)  if you can duplicate it in dev/gperciva, then please either
> fix the problem in my wscripts, or follow up with the waf people
> (if you can extract another small example).
>
> Cheers,
> - Graham
>


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [PATCH] serious doubts about waf

2009-11-12 Thread Graham Percival
On Thu, Nov 12, 2009 at 10:21:16AM +0100, John Mandereau wrote:
> Le jeudi 12 novembre 2009 à 00:21 +0100, John Mandereau a écrit :
> > Does the attached patch convince you to go on on Waf?
> 
> Actually, please ignore my patch and checkout a SVN copy of Waf instead
> 
> svn checkout http://waf.googlecode.com/svn/trunk/ && mv trunk waf
> 
> then invoke waf-light from this checkout.

I'm already working from waf.  I did an svn update.  It still
fails the first time I run it, while working perfectly the second
time.

In case there's any misunderstanding, I'm talking about the
dev/gperciva branch.  The minimal example that Thomas Nagy sent
works just fine.


1)  if you can't duplicate the problem after checking out
dev/gperciva, then I'll check a third time to see if there's any
old version of waf floating around on this machine.

2)  if you can duplicate it in dev/gperciva, then please either
fix the problem in my wscripts, or follow up with the waf people
(if you can extract another small example).

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [PATCH] serious doubts about waf

2009-11-12 Thread John Mandereau
Le jeudi 12 novembre 2009 à 00:21 +0100, John Mandereau a écrit :
> Does the attached patch convince you to go on on Waf?

Actually, please ignore my patch and checkout a SVN copy of Waf instead

svn checkout http://waf.googlecode.com/svn/trunk/ && mv trunk waf

then invoke waf-light from this checkout.

Best,
John


signature.asc
Description: Ceci est une partie de message numériquement signée
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: serious doubts about waf

2009-11-11 Thread Don Armstrong
On Wed, 11 Nov 2009, Graham Percival wrote:
> What's the advantage of automake over the current system? (I'm not
> even certain what the current system is called!)

If anyone goes into this, could they PLEASE, PLEASE, document it
slightly better? [I'm almost certainly I'm doing insane things when
I'm building the packages in Debian.]
 

Don Armstrong

-- 
Some pirates achieved immortality by great deeds of cruelty or
derring-do. Some achieved immortality by amassing great wealth. But
the captain had long ago decided that he would, on the whole, prefer
to achieve immortality by not dying.
 -- Terry Pratchet _The Color of Magic_

http://www.donarmstrong.com  http://rzlab.ucr.edu


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [PATCH] Re: serious doubts about waf

2009-11-11 Thread John Mandereau
Le mercredi 11 novembre 2009 à 23:36 +, Graham Percival a écrit :
> Hmm.  I don't completely follow, but does this explain why waf
> always succeeds on the second attempt?  If not, it might be
> something weirder... but then again, if you're following it up on
> the waf-user list, then it's no longer my concern.

I can't answer your question, because I haven't worked out the order Waf
executes code, especially what code is called when reading the wscripts
and what code is called when actually building.


> I'll check it out tomorrow.  If it works, I'll spend another few
> hours on waf -- particularly, trying out things that are more
> likely to fail.

If it wasn't likely to be true, I'd suspect some sarcasm here :-)


> If you're willing to follow up on any more cases like this, then I
> think I'll be willing to keep on waffing.

This means being almost completely idle on the academic side (because
learning Italian and new math tools already takes much time), but as my
PhD starts in January I feel like I can afford going for it; it will
make me more aware of Waf code than be productive on wscripts for
LilyPond, but this seems necessary to make those maoing wscripts
actually work.

Best,
John


signature.asc
Description: Ceci est une partie de message numériquement signée
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: serious doubts about waf

2009-11-11 Thread Matthias Kilian
On Wed, Nov 11, 2009 at 02:38:12PM -0800, Patrick McCarty wrote:
> I don't have much experience *using* automake, but from what I've
> read:
> 
>   - A Makefile.am is easier to maintain than an equivalent handcoded
> makefile.
>   - The generated makefiles will be very portable (not reliant on GNU
> make).
>   - Automake integrates well with Autoconf, probably more so than the
> current stepmake system.

One problem with automake (and autoconf) is that it's incredibly
difficult to debug if something goes wrong.

Ciao,
Kili


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: [PATCH] Re: serious doubts about waf

2009-11-11 Thread Graham Percival
On Thu, Nov 12, 2009 at 12:21:47AM +0100, John Mandereau wrote:
> After hours of debugging and code inspection, I think you did nothing
> weird, it's a bug in Waf code: Node.py:Node.find_dir(), which looks up
> directories, call bld.rescan() which among others removes nodes of
> directories that haven't been yet created, like our call to
> bld.path.ensure_dir_node_from_path.

Hmm.  I don't completely follow, but does this explain why waf
always succeeds on the second attempt?  If not, it might be
something weirder... but then again, if you're following it up on
the waf-user list, then it's no longer my concern.

> Does the attached patch convince you to go on on Waf? I'm not going to
> do more Waf advocacy that I already did, because you may rightly accuse
> me of fluffing around :-)

I'll check it out tomorrow.  If it works, I'll spend another few
hours on waf -- particularly, trying out things that are more
likely to fail.


If you're willing to follow up on any more cases like this, then I
think I'll be willing to keep on waffing.

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: serious doubts about waf

2009-11-11 Thread John Mandereau
Le mercredi 11 novembre 2009 à 23:07 +, Graham Percival a écrit :
> Given that most of our users are on windows, I defined
> "portability" as "it will run on operating system X with Y extra
> software installed", where X should be large and Y should be
> small.

Then SCons and Waf are reasonable choices in this respect.


> In all
> seriousness, I think that make (possibly including automake) is
> the best build system.  All the "next generation" build systems
> seem to shoot their feet off in various ways... cmake has the
> strictly-defined "open source" (i.e. "closed documentation") as
> well as its own invented scripting language...

Build systems tend to be complicated that specialized scripting
languages are no longer suitable, and I have neither the skills nor the
motivation to extend GNU Make or consorts (cmake) by hacking its source
code.


>  waf has the
> oddities details here...

Waf is not mature, it's kind of experimental, but come on, we already
almost managed to live with another piece of software that has a moving
target in place of a stable API, and you even convinced us to choose it
to output the website in HTML :-)


>  apparently scons is slow, although I
> personally don't care about the speed issue.

I don't care either at the moment, but if we went for Scons we would
probably all sing the same rant like a choir, like "Cygwin is slow!" a
few years ago :-P
(sorry for the wrong analogy between a build system and end-user
software, but I really couldn't help)

Best,
John



signature.asc
Description: Ceci est une partie de message numériquement signée
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


[PATCH] Re: serious doubts about waf

2009-11-11 Thread John Mandereau
Le mardi 10 novembre 2009 à 23:34 +, Graham Percival a écrit :
> The basic problem is that waf doesn't like to have directories in the
> build tree that aren't present in the source tree.  After asking for
> help, the main author pointed out a not-really-documented function
> that allowed me to create an extra directory:
> 
> http://groups.google.com/group/waf-users/browse_thread/thread/1e3774fdf387e083
> 
> However, this special function doesn't seem to work instantaneously...
> or else I'm doing something really weird in
> Documentation/wscript_build

After hours of debugging and code inspection, I think you did nothing
weird, it's a bug in Waf code: Node.py:Node.find_dir(), which looks up
directories, call bld.rescan() which among others removes nodes of
directories that haven't been yet created, like our call to
bld.path.ensure_dir_node_from_path.

Does the attached patch convince you to go on on Waf? I'm not going to
do more Waf advocacy that I already did, because you may rightly accuse
me of fluffing around :-)

I'm following this up on waf-users too...


> In the discussion (shown in the above link), it turns out that the waf
> API is going to change in version 1.6.  This new version is only in
> the planning stages; no code exists for it... but I'm really starting
> to question if we really want to use waf.  I have to admit that I was
> really shaken by the directory thing.  I assumed that since it was
> python, I could do anything that python could do -- so making
> directories, moves files from directory to directory, etc. would be
> easy.  Apparently not.

It's not easy because custom directories and files management has to be
done in a suitable place in a build system, and as you just discovered
Waf has much less support for this that we'd naturally expect for
building docs the way we want.

Best,
John
Index: wafadmin/Node.py
===
--- wafadmin/Node.py	(révision 6794)
+++ wafadmin/Node.py	(copie de travail)
@@ -276,6 +276,9 @@
 current = prev.childs.get(name, None)
 if current is None:
 	current = self.__class__(name, prev, DIR)
+new_path = os.path.join (prev.name, name)
+if not os.path.isdir (new_path):
+	os.mkdir (new_path)
 		return current
 
 	# FIXME: remove in waf 1.6


signature.asc
Description: Ceci est une partie de message numériquement signée
___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: serious doubts about waf

2009-11-11 Thread Graham Percival
On Wed, Nov 11, 2009 at 02:38:12PM -0800, Patrick McCarty wrote:
> On 2009-11-11, Graham Percival wrote:
> > What's the advantage of automake over the current system?  (I'm
> > not even certain what the current system is called!)
> 
> I don't have much experience *using* automake, but from what I've
> read:
> 
>   - A Makefile.am is easier to maintain than an equivalent handcoded
> makefile.

If we were doing this from scratch, I'd definitely push for
makefile.am rather than the stepmake system.  However, we already
have an almost-working stepmake system; at the moment I doubt that
the cost of switching to makefile.am is worth the benefits.

>   - The generated makefiles will be very portable (not reliant on GNU
> make).

Given that most of our users are on windows, I defined
"portability" as "it will run on operating system X with Y extra
software installed", where X should be large and Y should be
small.

Although I'd like to, I can't claim that cygwin (or manually
installing the GNU tools on windows) is a "small Y".


I'm quite annoyed at the build system situation.  In all
seriousness, I think that make (possibly including automake) is
the best build system.  All the "next generation" build systems
seem to shoot their feet off in various ways... cmake has the
strictly-defined "open source" (i.e. "closed documentation") as
well as its own invented scripting language... waf has the
oddities details here... apparently scons is slow, although I
personally don't care about the speed issue.

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: serious doubts about waf

2009-11-11 Thread Patrick McCarty
On 2009-11-11, Graham Percival wrote:
> On Tue, Nov 10, 2009 at 06:36:37PM -0800, Patrick McCarty wrote:
> > On Tue, Nov 10, 2009 at 3:58 PM, Graham Percival
> >  wrote:
> > > On Tue, Nov 10, 2009 at 11:34:35PM +, Graham Percival wrote:
> > >> I'm just about ready to give up on waf.
> > >
> > > As Jan put it, "a new build system should be a breath of fresh
> > > air".  I'm not feeling fresh.
> > 
> > Though I haven't been following these discussions very closely, I have
> > looked into automake a little bit.  It sounds like we could make it
> > work.  At least, I think it would simplify makefile maintenance once
> > we have initially set everything up.
> 
> What's the advantage of automake over the current system?  (I'm
> not even certain what the current system is called!)

I don't have much experience *using* automake, but from what I've
read:

  - A Makefile.am is easier to maintain than an equivalent handcoded
makefile.
  - The generated makefiles will be very portable (not reliant on GNU
make).
  - Automake integrates well with Autoconf, probably more so than the
current stepmake system.

> I used to maintain it (and the duplicate qmake build system) for
> marsyas before I got so annoyed at having two build systems and
> switched to cmake.  Given that windows users couldn't use
> automake, I'm not certain it's worth the effort of switching to
> it.

Well, there's always the option of keeping the generated Makefile.in
files alongside the Makefile.am automake files in the source tree.
Then Windows users should be able to build stuff if they have some
incarnation of "make" of their system, since Automake-generated
makefiles do not depend on GNU Make.

-Patrick


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: serious doubts about waf

2009-11-11 Thread Graham Percival
On Tue, Nov 10, 2009 at 06:36:37PM -0800, Patrick McCarty wrote:
> On Tue, Nov 10, 2009 at 3:58 PM, Graham Percival
>  wrote:
> > On Tue, Nov 10, 2009 at 11:34:35PM +, Graham Percival wrote:
> >> I'm just about ready to give up on waf.
> >
> > As Jan put it, "a new build system should be a breath of fresh
> > air".  I'm not feeling fresh.
> 
> Though I haven't been following these discussions very closely, I have
> looked into automake a little bit.  It sounds like we could make it
> work.  At least, I think it would simplify makefile maintenance once
> we have initially set everything up.

What's the advantage of automake over the current system?  (I'm
not even certain what the current system is called!)

I used to maintain it (and the duplicate qmake build system) for
marsyas before I got so annoyed at having two build systems and
switched to cmake.  Given that windows users couldn't use
automake, I'm not certain it's worth the effort of switching to
it.

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: serious doubts about waf

2009-11-10 Thread Patrick McCarty
On Tue, Nov 10, 2009 at 3:58 PM, Graham Percival
 wrote:
> On Tue, Nov 10, 2009 at 11:34:35PM +, Graham Percival wrote:
>> I'm just about ready to give up on waf.
>
> In case anybody thinks this was rather fast, I spent 3-4 hours on
> Saturday doing waf, and 7-9 hours today.  I'm not overly eager to
> throw away approximately 10 hours of work, but if it's not going
> to pan out, then better to stop it now rather than later.
>
> As Jan put it, "a new build system should be a breath of fresh
> air".  I'm not feeling fresh.

Though I haven't been following these discussions very closely, I have
looked into automake a little bit.  It sounds like we could make it
work.  At least, I think it would simplify makefile maintenance once
we have initially set everything up.

-Patrick


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: serious doubts about waf

2009-11-10 Thread Graham Percival
On Tue, Nov 10, 2009 at 11:34:35PM +, Graham Percival wrote:
> I'm just about ready to give up on waf.

In case anybody thinks this was rather fast, I spent 3-4 hours on
Saturday doing waf, and 7-9 hours today.  I'm not overly eager to
throw away approximately 10 hours of work, but if it's not going
to pan out, then better to stop it now rather than later.

As Jan put it, "a new build system should be a breath of fresh
air".  I'm not feeling fresh.

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel


serious doubts about waf

2009-11-10 Thread Graham Percival
I'm just about ready to give up on waf.  (in particular, I'm not doing
anything else unless somebody convinces me otherwise) The
dev/gperciva branch can build various manuals in HTML and pdf,
including the texi2html init files and css stuff.  However, you need
to run it twice -- the first time you run waf, it will die.  The
second time it's just fine.

The basic problem is that waf doesn't like to have directories in the
build tree that aren't present in the source tree.  After asking for
help, the main author pointed out a not-really-documented function
that allowed me to create an extra directory:

http://groups.google.com/group/waf-users/browse_thread/thread/1e3774fdf387e083

However, this special function doesn't seem to work instantaneously...
or else I'm doing something really weird in
Documentation/wscript_build


In the discussion (shown in the above link), it turns out that the waf
API is going to change in version 1.6.  This new version is only in
the planning stages; no code exists for it... but I'm really starting
to question if we really want to use waf.  I have to admit that I was
really shaken by the directory thing.  I assumed that since it was
python, I could do anything that python could do -- so making
directories, moves files from directory to directory, etc. would be
easy.  Apparently not.

I'm therefore considering wholeheartedly embracing automake.  Yes,
it's a bit clunky, but it's already a completely-working system (other
than 2 or 3 things in the Issue tracker).  I could replace bits and
pieces of it to make it easier to understand + maintain.

Cheers,
- Graham


___
lilypond-devel mailing list
lilypond-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-devel