TODO.done (3420B)
1 Done TODOs 2 ========== 3 4 [x] Check and update all mkfiles since Galeb 2.1 5 [x] cyrus-sasl 6 [x] docbook-xml 7 [x] docbook-xsl-nons 8 [x] galeb-howtos 9 [x] gdb 10 [x] glib 11 [x] gmime 12 [x] isync 13 [x] linux-headers 14 [x] mkpk 15 [x] msmtp 16 [x] neomutt 17 [x] noice 18 [x] notmuch 19 [x] s-nail 20 [x] sacc 21 [x] sfeed 22 [x] sled 23 [x] table 24 [x] unzip 25 [x] xapian-core 26 [x] xmlto 27 28 [x] Add msmtp 29 30 [x] Add SASL, rebuild s-nail, neomutt, isync 31 32 [x] neomutt: Add real code of missing ncurses functions instead of placeholders? 33 What would be the license of the combined work? Alternatively, revisit one 34 more time replacing netbsd-curses with ncurses? 35 - Ultimately decided to add ncurses after all. Also replaced LibreSSL with 36 OpenSSL, and adjusted neomutt for complete static compilation. 37 38 [x] Add isync 39 40 [x] Add neomutt 41 [x] Determine minimal set of dependencies to run Luke Smith's 42 mutt-wizard and add those first 43 [x] xapian-core 44 [x] notmuch (rabbit hole...) 45 [x] gmime 46 [x] glib 47 [x] xmlto 48 [x] docbook-xml 49 - Every bloated program eventually 50 ends up requiring XML crap. 51 [x] docbook-xsl-nons 52 - Compiles (after workarounds to support netbsd-curses), but 53 segfaults. 54 - Look for alternative? aerc is out of the question since Go is out of 55 the question. 56 - The segfault happens because tigetstr("tsl") in gui/terminal.c:63 57 returns an invalid pointer, which is *not* (char*)-1 nor NULL 58 - Create a debug version of netbsd-curses and debug that? With 59 now-added gdb 60 - The problem is in __UNCONST - the cast appears to strip the initial 61 2 bytes, rendering the pointer invalid - -fPIC related perhaps? - 62 Recompiled everything with -fPIC, still segfaults 63 - Mock test program tigetstr-test.c which initializes ncurses, then 64 calls the same tigetstr("tsl") runs fine. (??) 65 Compile it with 66 gcc -O0 -g -Wall tigetstr-test.c -o tigetstr-test \ 67 -lncurses -lterminfo 68 - Things to try: 69 1. [x] Check placeholder stubs (use_extended_names...) 70 - Not related to them 71 2. [x] Use a more thorough mockup, with more included code up 72 to segv 73 - Mockup still works, Neomutt doesn't 74 3. [x] Ask neomutt devs 75 - No answer yet 76 4.a. [/] Introduce ncurses (worst option, avoid if possible) 77 - Still contemplating 78 - Ultimately decided against it, as the solution was 79 found 80 4.b. [x] Orthogonal, more in line with basic philosophy: try 81 with S-nail (mailx) for now; all the dependencies above 82 are then not needed 83 - Added; leaving dependencies though 84 - **Solved** by adding `#include <term.h>` in gui/terminal.c, which 85 adds the exact prototype of tigetstr, so the cast by __UNCONST works. 86 Inspiration from 87 https://stackoverflow.com/a/8553162/ 88 89 [x] Add gdb! 90 [x] Add patches 91 [x] https://www.mail-archive.com/debian-bugs-dist@lists.debian.org/ 92 msg1824486.html 93 94 [x] Investigate why is install sometimes incorrectly defined as ../install in 95 Makefiles 96 - Auto*hell crap; can be overridden by `make INSTALL=install install` 97 - Precise cause is INSTALL=install; autoconf slaps path relative to base src 98 dir in front of install cmd for some reason. When set to, for example, 99 INSTALL=/bin/install, it works. 100 101 [/] Create separate .mk for Auto*hell packages (standard.mk is not applicable) 102 - It would complicate things instead of simplifying. Better to create custom 103 rules.