From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Staal To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Date: Tue, 7 Jul 2015 17:25:32 +0200 Message-ID: <4695103.vLflNmDmS2@krypton> User-Agent: KMail/4.14.10 (Linux/4.0.7-1-ck; KDE/4.14.10; x86_64; ; ) In-Reply-To: <201507071227.t67CRtlQ005463@freefriends.org> References: <201507071227.t67CRtlQ005463@freefriends.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="iso-8859-1" Subject: Re: [9fans] Gawk in 9front-ports Topicbox-Message-UUID: 5d869ab8-ead9-11e9-9d60-3106f5b1d025 On Tuesday 07 July 2015 06:27:55 arnold@skeeve.com wrote: > Hi. > > Jens Staal wrote: > > There was a recent discussion about that it would be nice to have gawk on > > Plan9. > > > > The latest upstream version of gawk can now be built via 9front-ports. I > > think/hope I built/ported it correctly, but it would be nice with > > critique/feedback/testing. > > Majorly cool! The first thing to check is that 'make check' passes. > Some tests depend on locales; those are OK if they fail, assuming you > don't have locale data for them. Others are only run if gawk was built > with the MPFR library, so those should be OK too if they're not run. If > there are failures in other tests, they should be investigated. > OK thanks - I will look at that and try to make a mk file for "check" :) I will also look at mpfr some time.... > I assume you built from the released tarball? Version 4.1.3? > Yes 4.1.3 below is the ports entry: https://bitbucket.org/mveety/9front-ports/src/0bf6695dcad94d32c34a73ed3d71010bbdf2a66b/textproc/gawk/?at=default I used an "external" gnulib which apart from the gnulib-derived object files usually supplied in gawk also takes care of the wchar-related dependencies. I also used a custom/manual config.h and a semi-automatically generated mk- file (mkmk and manual editing) rather than the standard configure/make. For the actual source, there were just a few things that needed patching so configure/make under APE might also work. > > I noticed in the Arch linux package that gawk comes with a couple of > > dynamic libraries and a header. Are those also interesting to include in > > the Plan9 package (then as static libraries ofcourse)? > > Supplyinig them as static libraries would serve no purpose. Those > dynamic libraries are extensions (or plug-ins, if you will). Gawk > loads them vial dlopen() if requested to via an @load directive in > the source or the via the -l command line option. > > I hope that dlopen works on Plan 9; if so it's necessary to build > the libraries in whatever way will work to support dlopen. most likely not since the whole system is static... > > The extension facility is something we (the gawk developers) put a > lot of work into for the 4.1 release. I can supply pointers to doc > for anyone who is interested. Here's a simple example: > > $ gawk -lreaddir '{ print }' . > 2814749767529876/./d > 281474977052502/../d > 2814749767530561/.bashrc/f > 281474976885114/.bash_history/f > 14355223812503808/.bash_profile/f > 1407374884183439/.bzr.log/f > 281474976885116/.ex-sgml-rc/f > 281474976885117/.exrc/f > ... > > The readdir extension returns directory entries as records in an > easily-parsed format: '/' is the field separator and the fields are > the inode, the name, and an optional single-letter file type indicator. > > The doc has more examples. > > I hope this helps. Please feel to contact me off-list if you need > more info / help. > > Thanks! > > Arnold