On 06/10/2018 12:53 PM, Marcin Cieslak wrote:
On Sun, 8 Jun 2018, Ulrich Wilkens wrote:

On 06/10/18 03:29, Brent Busby wrote:
Jon Trulson <j...@radscan.com> writes:

On 06/09/2018 05:40 PM, Chase via cdesktopenv-devel wrote:

Also, requiring ksh to build is a bit of a fault point for many
[...]

But the first systems are starting to remove ksh93 package from their
official distribution.
I've seen it on NetBSD and Arch Linux. So it might become a problem
in future.

I took over the maintenance of ksh93 for FreeBSD and I have no intention
of dropping it, unless somebody knowing ksh93 internals wants to take over
of course.  One reason I took it over was my interest in getting
newer ksh93 into CDE.


I would love to see this. :)



There is a revived effort by RedHat maintainers and Kurtis Rader at
https://github.com/att/ast

They have switched the build system to Meson (it's fast now) and applied
some patches (some of them I am not sure are good), so right now
I am just cherry picking good stuff into my "unofficial" release.

The latest is here https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211164
- you are welcome to test.

It should build mostly fine on FreeBSD 10.x, 11.x and -CURRENT.
It is not working on arm64 platform due to lack of sbrk() C library function.

Users of other OS's may just download my distfiles and try to build them by 
hand:

https://distfile.net/local-ports-distfiles/INIT.2014-12-24.tgz
https://distfile.net/local-ports-distfiles/ast-ksh.2018-05-20.tgz

The magic command to build it is

     ./bin/package make

ksh93 is embeddable, this means you can build four shared libraries
(sadly most packagers don't) and just use it any C program (just like tcl):

#include <shell.h>
#include <nval.h>
int main(int argc, char *argv[])
{
     Namval_t *np;
     Sfdouble_t res;
Shell_t *shp = sh_init(argc, argv, 0);
     sh_trap(shp, "((xresult=$0*$1))", 0);
np = nv_open("xresult", shp->var_tree, 0);
     res = nv_getnum(np);
     sfprintf(sfstderr,"%Lg\n", res);
     nv_close(np);
return(0);
}

Here's BSDmakefile to build it:

PROG=embed
KSHDIST=${HOME}/sw/ast/arch/freebsd10.amd64
CFLAGS+=-I$(KSHDIST)/include/ast
LDFLAGS+=-L$(KSHDIST)/lib -Wl,-rpath=$(KSHDIST)/lib -last -lshell -ldll -lcmd
.include <bsd.prog.mk>

It seems that dtksh is just a couple of object files
that are linked with those 3 (or currently 4) shared libraries,
plus it uses ksh93.o files from the main distribution.


Yes, exactly. dtksh builds ksh93 (it's own version) and then adds some stuff to become dtksh.

As a minimum, it should be possible to upgrade ksh93 in the CDE tree
- this could be done right now based on the above release.


I look forward to a patch! :)  Seriously, this would be awesome.

Long term it might possible to use ksh93 installed in the system
as the dependency, provided include files, libraries, and ksh93.o
will be provided.


And OS packagers maintain it...

-jon

Marcin



------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot



_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel


--
Jon Trulson

"Fire all weapons and open a hailing frequency for my victory yodle."

                              - Zapp Brannigan

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
cdesktopenv-devel mailing list
cdesktopenv-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdesktopenv-devel

Reply via email to