backslash-newlines within shell commands are handled differently in make 3.81, which breaks the glastree makefile since it uses a perl command to figure out whether Date::Calc is installed and that perl command is spread out over several lines for readability. workaround 1: use make 3.80-rX workaround 2: edit the glastree makefile to remove the backslash-newlines, or encapsulate the perl within a makefile variable. See attached ebuild and patchfile.
Created attachment 87291 [details, diff] patch to glastree's makefile
Created attachment 87292 [details] ebuild that uses the patch
No metadata.xml
metadata.xml was missing from the ebuild I modified. I can certainly create one, but I'm not trying to steal Terje Kvernes's package...
(In reply to comment #4) > metadata.xml was missing from the ebuild I modified. I can certainly create > one, but I'm not trying to steal Terje Kvernes's package... Heh, the comment was not aimed at you, please ignore it... :)
> # backslash-newline splitting of singlequoted commandlines is broken by GNU make 3.81 Actually, it's broken in gmake 3.80, and fixed in 3.81. The current behaviour is what POSIX requires. Thanks for the patch. A slightly simpler approach though is to move the code so that both with and without the backslashes, the perl code is valid and does the same thing. I did this for 1.04, which is in portage now.
(In reply to comment #6) > > # backslash-newline splitting of singlequoted commandlines is broken by GNU make 3.81 > > Actually, it's broken in gmake 3.80, and fixed in 3.81. The current behaviour > is what POSIX requires. Perhaps "broken" is unwarranted (or at least misplaced) verbiage in both our comments. The upstream makefile implicitly expected the previous behaviour (exhibited in every GNU make I've ever had to build a makefile for, which is admittedly far from a canonical list) and as you say POSIX specs different (IMO more confusing) behaviour. When something works for a very long time and then suddenly stops working without internal changes, colloquial usage would hold that something else has broken it. I suppose I should have said something more like "GNU make 3.81 changed the way backslash-newlines are interpreted within singlequoted commandlines, which breaks the upstream makefile." But I was in a hurry and slightly vexed that the damn thing built on one of my gentoo boxes but not the other. and, hey, I think the bugreport subject line got it more or less right... so go grind your POSIX axe (POSaxe?) on somebody else. :-) [...] > I did this for 1.04, which is in portage now. Ah, curse my slow mirrors! They prevent me from inspecting this elegant improvement in a timely fashion! All tongue-in-cheek aside, thanks for updating the ebuild. I'll check it out after I've gotten some sleep.