jonmacs / jove

Jonathan's Own Version of Emacs : a venerable (1983?), fast, small Emacs clone that was originally written for 2.8BSD on PDP-11. Some of us have been using and contributing to it since 1986.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Git tags for 4.17.3.8, 4.17.3.9?

peterjc opened this issue · comments

The repository here on GitHub currently has a tag for 4.17.3.7 and then for 4.17.4.0 and 4.17.4.1

From the change log https://github.com/jonmacs/jove/blob/4_17/ChangeLog it appears there was also a 4.17.3.8 and 4.17.3.9 in between?

If those were intentional releases, could you tag them in the history too please?

(It might help with pin-pointing why the conda-forge build broke going from version 4.17.3.7 to 4.17.4.x)

It looks like 4.17.3.8 and 4.17.3.9 didn't get listed on https://github.com/jonmacs/jove/releases either, so might not be considered releases after all?

They were releases that didn't quite launch -- no good reason except that I context-switched away from Jove and intended to make the new regression builds work with github actions before pressing release. But I tagged them and marked them as releases if that helps in any way.

Also, if the conda build environment is something you have a list of commands for that I can make run in a container, happy to add that to the automatic regressions.

I definitely did a bit of revamping of Makefile and some ifdefs going from 4.17.3.7 to 4.17.3.8, most likely that's the cause of breakage you're seeing. (..3.9 was a tiny change to options to accept --, unlikely to have broken builds, same with ..4.0 which fixed a bug in recover, and ..4.1 which switched to using OPENPTY for -DLinux, also unlikely to break builds, I hope/think).

The main change that may have broken the conda build might be that I defaulted SYSDEFS from -DLinux to invocation of ./buildflags.sh which has very simple autodetect logic for --cflags and --libs across the common available modern platforms (Linux, *BSD, Cygwin, SunOS) that I test on. I would have hoped that anyone who previously explicitly specified SYSDEFS would be fine, and buildflags.sh is portable enough, but as one wild guess, perhaps my use of uname or pkg-config break in some unfortunate way in conda build?

In case it helps, I am still able to cross-compile a Windows executable in a Ubuntu 20.04 container using

apt install mingw-w64
make CC=i686-w64-mingw32-gcc SYSDEFS="-DMINGW" LOCALCC=gcc TERMCAPLIB= XEXT=.exe EXTRAOBJS="win32.o jjove.coff" EXTRALIBS=-lcomdlg32
i686-w64-mingw32-gcc  -DMINGW   -c -o commands.o commands.c
gcc  -DMINGW -c setmaps.c
gcc  -o setmaps setmaps.o 
./setmaps < keys.txt > keys.c
i686-w64-mingw32-gcc  -DMINGW   -c -o keys.o keys.c
i686-w64-mingw32-gcc  -DMINGW   -c -o argcount.o argcount.c
i686-w64-mingw32-gcc  -DMINGW   -c -o ask.o ask.c
i686-w64-mingw32-gcc  -DMINGW   -c -o buf.o buf.c
i686-w64-mingw32-gcc  -DMINGW   -c -o jctype.o jctype.c
i686-w64-mingw32-gcc  -DMINGW   -c -o delete.o delete.c
i686-w64-mingw32-gcc  -DMINGW   -c -o disp.o disp.c
i686-w64-mingw32-gcc  -DMINGW   -c -o insert.o insert.c
i686-w64-mingw32-gcc  -DMINGW   -c -o io.o io.c
if ! cmp -s paths.h paths.tmp 2> /dev/null; then mv paths.tmp paths.h; else rm paths.tmp; fi
i686-w64-mingw32-gcc  -DMINGW   -c -o jove.o jove.c
i686-w64-mingw32-gcc  -DMINGW   -c -o marks.o marks.c
i686-w64-mingw32-gcc  -DMINGW   -c -o misc.o misc.c
i686-w64-mingw32-gcc  -DMINGW   -c -o re.o re.c
i686-w64-mingw32-gcc  -DMINGW   -c -o screen.o screen.c
i686-w64-mingw32-gcc  -DMINGW   -c -o termcap.o termcap.c
i686-w64-mingw32-gcc  -DMINGW   -c -o unix.o unix.c
i686-w64-mingw32-gcc  -DMINGW   -c -o util.o util.c
i686-w64-mingw32-gcc  -DMINGW   -c -o vars.o vars.c
i686-w64-mingw32-gcc  -DMINGW   -c -o list.o list.c
i686-w64-mingw32-gcc  -DMINGW   -c -o keymaps.o keymaps.c
i686-w64-mingw32-gcc  -DMINGW   -c -o mouse.o mouse.c
i686-w64-mingw32-gcc  -DMINGW   -c -o jtc.o jtc.c
i686-w64-mingw32-gcc  -DMINGW   -c -o abbrev.o abbrev.c
i686-w64-mingw32-gcc  -DMINGW   -c -o rec.o rec.c
i686-w64-mingw32-gcc  -DMINGW   -c -o para.o para.c
i686-w64-mingw32-gcc  -DMINGW   -c -o fmt.o fmt.c
i686-w64-mingw32-gcc  -DMINGW   -c -o c.o c.c
i686-w64-mingw32-gcc  -DMINGW   -c -o wind.o wind.c
i686-w64-mingw32-gcc  -DMINGW   -c -o fp.o fp.c
i686-w64-mingw32-gcc  -DMINGW   -c -o move.o move.c
i686-w64-mingw32-gcc  -DMINGW   -c -o extend.o extend.c
i686-w64-mingw32-gcc  -DMINGW   -c -o macros.o macros.c
i686-w64-mingw32-gcc  -DMINGW   -c -o iproc.o iproc.c
i686-w64-mingw32-gcc  -DMINGW   -c -o reapp.o reapp.c
i686-w64-mingw32-gcc  -DMINGW   -c -o proc.o proc.c
i686-w64-mingw32-gcc  -DMINGW   -c -o scandir.o scandir.c
i686-w64-mingw32-gcc  -DMINGW   -c -o term.o term.c
i686-w64-mingw32-gcc  -DMINGW   -c -o case.o case.c
i686-w64-mingw32-gcc  -DMINGW   -c -o win32.o win32.c
i686-w64-mingw32-windres -r jjove.rc -fo jjove.coff
i686-w64-mingw32-gcc   -o jjove.exe commands.o keys.o argcount.o ask.o buf.o jctype.o delete.o disp.o insert.o io.o jove.o marks.o misc.o re.o screen.o termcap.o unix.o util.o vars.o list.o keymaps.o mouse.o jtc.o abbrev.o rec.o para.o fmt.o c.o wind.o fp.o move.o extend.o macros.o iproc.o reapp.o proc.o scandir.o term.o case.o win32.o jjove.coff -lcomdlg32 
   text	   data	    bss	    dec	    hex	filename
 150396	  46108	2407464	2603968	 27bbc0	jjove.exe
built with i686-w64-mingw32-gcc -DMINGW win32.o jjove.coff -lcomdlg32
i686-w64-mingw32-gcc  -DMINGW   -c -o recover.o recover.c
i686-w64-mingw32-gcc   -o recover.exe recover.o -lcomdlg32
i686-w64-mingw32-gcc  -DMINGW   -c -o teachjove.o teachjove.c
i686-w64-mingw32-gcc   -o teachjove.exe teachjove.o -lcomdlg32
i686-w64-mingw32-gcc  -DMINGW   -c -o portsrv.o portsrv.c
i686-w64-mingw32-gcc   -o portsrv.exe portsrv.o -lcomdlg32

file jjove.exe 
jjove.exe: PE32 executable (console) Intel 80386, for MS Windows

Thank you, that is useful. I agree, the build changes in 4.17.3.7 to 4.17.3.8 seem most likely. Trying to package 4.17.3.8 for conda-forge would likely help narrow this down.

Did something change in building the documentation? My efforts now seem to invoke nroff (which as far as I know is not readily available on conda yet): conda-forge/jove-feedstock#6

I could build 4.17.3.8 on Linux and macOS for conda-forge, installing groff worked.

Will try Windows later...

Thanks for the help.