Perl 6 - the future is here, just unevenly distributed

IRC log for #marpa, 2016-04-06

| Channels | #marpa index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:49 ilbot3 joined #marpa
01:49 Topic for #marpa is now Start here: http://savage.net.au/Marpa.html - Pastebin: http://scsys.co.uk:8002/marpa - Jeffrey's Marpa site: http://jeffreykegler.github.io/Marpa-web-site/ - IRC log: http://irclog.perlgeek.de/marpa/today
03:33 idiosyncrat_ Today I refactored the Marpa::R3 build logic (again!), making it much more ExtUtils::MakeMaker-ish.
03:33 idiosyncrat_ It has used a lot of Perl logic where Makefile logic would do the same job more briefly, more clearly and more robustly.
03:34 idiosyncrat_ The Perl logic was carried over from the original Module::Build logic.
03:35 idiosyncrat_ I've tested it on my box for both Config::AutoConf and GNU configure.
03:35 idiosyncrat_ jdurand: rns: I'd be grateful if you regression tested this on Windows, checking to see if I broke anything.
03:50 jdurand joined #marpa
03:50 jdurand In the master branch?
03:50 jdurand Just had this: cp: cannot create 'xs/marpa.h': Permission denied
03:50 jdurand perhaps I may have to distclean or equivalent
04:24 idiosyncrat_ In the trial branch
04:25 idiosyncrat_ Although at this point, the two are exactly equivalent.
04:25 idiosyncrat_ re: cp: cannot create 'xs/marpa.h': Permission denied --
04:26 idiosyncrat_ that can be user caused, if you work with difference sets of permissions ...
04:26 idiosyncrat_ but it could also be an infelicity in my build logic.
04:31 jdurand ok, though will check later, morning here (and late night there?)
04:35 idiosyncrat_ Yes, 9:45PM California time, so ...
04:35 idiosyncrat_ Good night!
04:38 jdurand Thx good night -;
07:36 black_ant joined #marpa
07:51 rns idiosyncrat: re http://irclog.perlgeek.de/marpa/2016-04-06#i_12292625 -- https://github.com/jeffreykegler/Marpa--R3/pull/5
07:53 rns windows shell is not very firendly to unix commands, hence the patch
07:55 rns s/firendly/friendly
08:26 koo7 joined #marpa
08:40 btyler joined #marpa
10:14 rns idiosyncrat: re http://irclog.perlgeek.de/marpa/2016-04-06#i_12292618 -- I've been reading Makefile.PL recently and removing Module::Build legacy from it looked like a worthy goal to start refactoring from.
10:20 rns One obvious thing seems to be removal of traces of Marpa::R2::HTML (prerequisites, e.g. HTML::*, pod, marpa_r3_html_fmt) to achieve http://irclog.perlgeek.de/marpa/2016-04-02#i_12274724
10:26 rns Another is version setup/management code (*_version_contents()).
10:27 rns Then another can be programmatic construction of e.g. PREREQ_PM, CONFIGURE_REQUIRES etc.
10:31 rns For one, removal of HTML::* prereqs would remove the need in programmatic construction of %requires and that will allow listing them directly in WriteMakefile() PREREQ_PM instead.
10:32 rns So, if some or all of the said code is just Module::Build legacy, I'd be interested in helping to remove it, one thing at a time, starting perhaps with Marpa::R3::HTML.
10:45 kaare_ joined #marpa
11:02 rns idiosyncrat: re the THIF -- http://irclog.perlgeek.de/marpa/2016-04-02#i_12274730 -- just thought it can be released as a separate (libmarpa binding) module (to encourage experimentarion/development using it as a basis.
11:05 rns e.g. https://metacpan.org/search?q=c+library+binding&search_type=modules
11:12 rns As a basis for building faster/leaner Marpa-based parsers that is, using an assembly language of sorts.
12:29 koo7 joined #marpa
16:37 idiosyncrat_ joined #marpa
17:19 idiosyncrat_ I'm wondering how to do recursive copies portably in EU::MM
17:19 idiosyncrat_ rns and started to discuss this in https://github.com/jeffreykegler/Marpa--R3/pull/5#issuecomment-206463852
17:19 idiosyncrat_ rns pointed out to me that most modules simply avoid the need by putting the files where they need to be in the first place.
17:20 idiosyncrat_ What I see as the problem in the Marpa::R3 context is that there are two kinds of build: GNU autoconf and Config::AutoConf, ...
17:21 idiosyncrat_ and for sanity's sake I want to have them in separate directories.
17:21 idiosyncrat_ So pre-populating both the build directories would mean every libmarpa is in the distribution twice.
17:22 idiosyncrat_ Bandwidth is fast and disk is cheap these days, but still.
17:24 lwa joined #marpa
17:43 idiosyncrat_ re http://irclog.perlgeek.de/marpa/2016-04-06#i_12293783
17:44 idiosyncrat_ There won't be a Marpa::R3::HTML -- it's NAIF based, and will be removed once the NAIF breaks.
17:45 idiosyncrat_ For now I'm keeping it because it does have tests, and these are useful regression tests.
17:46 idiosyncrat_ Once we delete Marpa::R3::HTML, of course, all the build infrastructure whose sole purpose is to support it, can now be factored out.
17:47 idiosyncrat_ rns: re http://irclog.perlgeek.de/marpa/2016-04-06#i_12293819
17:48 idiosyncrat_ My versioning code enforces the version requirements, now just at build time, but also at run time.
17:48 idiosyncrat_ I don't think the EU::MM equivalent does this.
17:48 idiosyncrat_ rns: re http://irclog.perlgeek.de/marpa/2016-04-06#i_12293989
17:49 idiosyncrat_ I'm thinking of a Lua-based THIF equivalent -- to be called the MXIF for "MiXed InterFace".
17:50 idiosyncrat_ It isn't called the LUIF so that, in case we decide to stabilize and document the MXIF, the name LUIF will still be available for later use.
17:56 maybekoo2 joined #marpa
18:47 idiosyncrat_ rns: Actually EU::MM, it turns out does have a directory-to-directory copy, via Extutils::Install
18:49 idiosyncrat_ so, for example,
18:49 idiosyncrat_ MOD_INSTALL = $(ABSPERLRUN) -MExtUtils::Install -e 'install([ from_to => {@ARGV}, verbose => '\''$(VERBINST)'\'', uninstall_shadows => '\''$(UNINST)'\'', dir_mode => '\''$(PERM_DIR)'\'' ]);' --
18:49 idiosyncrat_ I think what I want is a simplification of MOD_INSTALL
18:54 rns idiosyncrat: well, EU::Install docs says
18:54 rns Both install() and uninstall() are specific to the way ExtUtils::MakeMaker handles the installation and deinstallation of perl modules. They are not designed as general purpose tools.
18:56 rns FWIW, of course.
19:00 rns there is also http://search.cpan.org/~dmuey/File-Copy-Recursive-0.38/Recursive.pm
19:05 idiosyncrat_ I think (hope) they are referring to the choice of options, and IIRC to the fact that directory names are required to be cpan-directory relative ...
19:06 idiosyncrat_ And, after all, I *am* copying in the context of a EU::MM install
19:06 idiosyncrat_ So I'll try it and see how it goes.
19:06 idiosyncrat_ I think what I want is
19:07 idiosyncrat_ MARPA_CP_R = $(ABSPERLRUN) -MExtUtils::Install -e 'install([ from_to => {@ARGV}, dir_mode => '\''$(PERM_DIR)'\'' ]);' --
19:11 rns Unfortunately, I have no experience with EU::Install.
19:12 rns Can't help thinking though that we are looking at one-time build in a just untarred tree -- so building in the static source dir doesn't look that bad.
19:13 idiosyncrat_ Unfortunately, I have a lot of experience with EU::Install. :-)
19:13 rns :)))
19:13 rns So, you definitely know better anyway. :)
19:15 idiosyncrat_ I try not to assume a one-time build in a just untarred tree -- folks do retry, etc. ...
19:15 idiosyncrat_ and the bugs they'll report are tricky to duplicate so it's worth some effort to avoid them.
19:16 idiosyncrat_ Of course, yes, I do resort to telling them "just 'rm -rf' and try it again" from time to time :-)
19:17 idiosyncrat_ And, also, I am pretty sure that the "tar -C" option is not portable.
19:18 rns Actually yes, and so is tar and $(TAR), unless Archive::Tar is used.
19:19 rns re http://irclog.perlgeek.de/marpa/2016-04-06#i_12296904 -- that thing I do remember (and like).
19:19 rns Also, there is always make realclean.
19:20 idiosyncrat_ You're saying yes, "tar -C" is portable?
19:20 rns Nope.
19:21 idiosyncrat_ I'm thinking of the case where Config::AutoConf is used in general (like on BSD or Linux) and only a POSIX tar is available.
19:21 idiosyncrat_ I just looked up the POSIX tar page and didn't see the "tar -C"
19:22 rns Oh, I see. EUMM recommends using Archive::Tar on windows:
19:23 rns Which tar should I use on Windows? We recommend ptar from Archive::Tar not older than 1.66 with '-C' option.
19:23 idiosyncrat_ Oops there it is -- http://www.unix.com/man-page/all/1/tar/
19:24 rns ok
19:25 idiosyncrat_ I've been programming since 1970 and a lot of things I think of as "new" are a lot older than I like to believe :-)
19:25 rns :))
19:25 idiosyncrat_ In any case, I just tested the
19:25 idiosyncrat_ MARPA_CP_R = $(ABSPERLRUN) -MExtUtils::Install -e 'install([ from_to => {@ARGV}, dir_mode => '\''$(PERM_DIR)'\'' ]);' --
19:25 idiosyncrat_ approach, and it seems to work.
19:27 idiosyncrat_ And I think in this context that fact the EU::Install is intended for use within EU::MM only might be a feature.
19:28 rns Actually, yes. I can try it under windows when you commit it.
19:28 idiosyncrat_ I think we can expect it to work, but you never know. :-)
19:29 idiosyncrat_ ronsavage: by the way, this cut-and-paste I just did for the recursive copy is one of the reasons I wanted to switch to EU::MM
19:30 idiosyncrat_ With EU::MM there are examples available from people who have tackled similar problems, even when the problems are unusual.
19:31 idiosyncrat_ The Module::Build community never approached the size of the EU::MM, and now it is shrinking.
22:46 ronsavage joined #marpa
22:46 ronsavage JK: Re http://irclog.perlgeek.de/marpa/2016-04-06#i_12296980. Understood.
23:39 maybekoo2 joined #marpa

| Channels | #marpa index | Today | | Search | Google Search | Plain-Text | summary