On 2019/06/12 07:17, Alessandro DE LAURENZIS wrote:
> Dear ports@ readers,
> 
> this is a proposal for a new port: x11/gsimplecal, a lightweight GTK
> calendar applet.
> 
> DESCR
> =====
> > Gsimplecal is a lightweight calendar applet written in C++ using GTK.
> > 
> > It was originally made for use with tint2 panel in the openbox window
> > manager (to be launched upon clock click), but of course it works in
> > any environment (just bind gsimplecal to some hotkey).  For easier
> > integration, when started it first shows up, when launched again it
> > closes the running instance (no need to write wrapper scripts or
> > whatever).
> > 
> > It can be configured to not only show the calendar, but also display
> > multiple clocks for different world timezones.
> 
> There is no recent activity on the upstream site, so probably the
> development has been stopped; nevertheless, I use it since a long time (with
> fluxbox) and it is pretty functional.
> 
> Code compiles flawlessly, no patch needed.
> 
> Tested on amd64 only, taking MAINTAINER, tarball attached.
> 
> All the best

New tar attached. This one is OK sthen if someone would like to import..

The autoconf setup isn't quite right (and doesn't actually build for
me as-is). I also moved to productivity as the main category as that's
where we usually put calendar-type things (and x11/ is quite busy
already).

There's a startup problem. If the config file (e.g.
~/.config/gsimplecal/config) does not already exist, it calls
Unique::Unique with path==NULL so it falls back to getPathnameFromExe()
that doesn't work on OpenBSD, resulting in the exception below. 

$ gsimplecal  
terminating with uncaught exception of type UniqueException*
Abort trap (core dumped) 
$ egdb `which gsimplecal` gsimplecal.core
GNU gdb (GDB) 7.12.1
..
Core was generated by `gsimplecal'.
Program terminated with signal SIGABRT, Aborted.
#0  thrkill () at -:3
3       -: No such file or directory.
(gdb) bt
#0  thrkill () at -:3
#1  0x000007e0994f81be in _libc_abort () at /usr/src/lib/libc/stdlib/abort.c:51
#2  0x000007e097acff3c in abort_message (format=<optimized out>) at 
/usr/src/lib/libcxxabi/src/abort_message.cpp:77
#3  0x000007e097af1c64 in demangling_terminate_handler () at 
/usr/src/lib/libcxxabi/src/cxa_default_handlers.cpp:70
#4  0x000007e097aeaeef in std::__terminate (func=0x0) at 
/usr/src/lib/libcxxabi/src/cxa_handlers.cpp:60
#5  0x000007e097acf41c in __cxxabiv1::failed_throw 
(exception_header=0x7e0a7d2d200)
    at /usr/src/lib/libcxxabi/src/cxa_exception.cpp:138
#6  0x000007e097acf37b in __cxa_throw (thrown_object=0x7e0a7d2d280, 
tinfo=0x7ddcec1faf0 <typeinfo for UniqueException*>, 
    dest=<optimized out>) at /usr/src/lib/libcxxabi/src/cxa_exception.cpp:270
#7  0x000007ddcec1c410 in Unique::Unique (this=<optimized out>, path=<optimized 
out>) at Unique.cpp:27
#8  0x000007ddcec1ac79 in main (argc=1, argv=0x7f7ffffd5c48) at 
gsimplecal.cpp:75

I've added a patch to work around the problem, comments welcome.

Attachment: gsimplecal.tgz
Description: application/tar-gz

Reply via email to