too many ports - freerevolf.free.fr/beos/begeistert-29/bg029_fr_toomanyports.pdf2015-11-08 too many...
TRANSCRIPT
2015-11-08 Too Many Ports
1/132 029
TTOOOO M MANYANY PPORTSORTS
François RevolFrançois Revol
2015-11-08 Too Many Ports
2/132 029
10 years of porting to BeOS
● Back in the days– Tarballs, CVS
● SVN if you're lucky– Not so much as it was dog slow
– we made patches the hard way
● Each project needs its own stuff– SCM
– Shell variables (paths to dependencies)
– Build procedure
2015-11-08 Too Many Ports
3/132 029
10+ years of porting to Haiku
● Started as rough as on BeOS● Then came haikuporter● And Package Management● Still, haikuporter slow when working on a port● Easier to fix Haiku than BeOS!
2015-11-08 Too Many Ports
4/132 029
Tools to handle all this mess
● dev-perso shell script– dev command
● Project completion● local .profile and
.bash_history● Adds update action as
last command
– TODO Handle setarch
– TODO Port it to ZSH?
2015-11-08 Too Many Ports
5/132 029
Tools to handle all this mess
● [XQ]Emacs + org-mode– TODO finish the XEmacs port
– TODO integrate it with dev-perso?
2015-11-08 Too Many Ports
6/132 029
MHPG: My Huge Project List
● And that's only Haiku-related ones �
● Project status– ○ Just started
– ◔ Mostly compiles (or used to compile)
– ◑ Starts but…
– ◕ Works mostly
– ● What Else?™
● HaikuPorts status– ◇ Patch in
– ⬖ Recipe untested
– ◆ Works Here™
● Upstream– △ Nothing sent
– ◭ On its way
– ▲ All in
2015-11-08 Too Many Ports
7/132 029
The attic
● Projects moved out of $DEVROOT (and command line completion)
● Either finished or completely dropped
2015-11-08 Too Many Ports
8/132 029
bepo ●
● Scripts I wrote to generate initial Haiku Bépo keymap from the Linux keymap file
● Adrien added a lot more keys● Bépo keymap now in git and working
2015-11-08 Too Many Ports
9/132 029
bzflag ●◆▲ ◔⬖△
● 3D tank game ported to BeOS● Used to work in ZETA (but slow in MESA)● Seems Adrien took over but status is
undetermined
2015-11-08 Too Many Ports
10/132 029
caya ●
● IM Client● Did I even touch it?● Looks like the only patch I ever did was to try
to build it on ZETA…
2015-11-08 Too Many Ports
11/132 029
cfe
● Common Firmware Environment– Used on the Amiga X-1000
– Added support in haiku_loader until I figured out they loaded an OF image to boot Linux �
2015-11-08 Too Many Ports
12/132 029
cyassl ◔⬖▲
● Lightweight SSL lib● Did some fixing● Still needs love on newer versions �
2015-11-08 Too Many Ports
13/132 029
darcs ○ △
● Yet another SCM● Not sure I ever touched it
2015-11-08 Too Many Ports
14/132 029
dmidecode ●◆▲
● Decodes BIOS DMI tables● Build fixes● Default mem device to /dev/misc/mem● Should work fine
2015-11-08 Too Many Ports
15/132 029
dnscrypt ○ △
● Some tunneling thing● Not touched at all
2015-11-08 Too Many Ports
16/132 029
kbuild ● ▲
● Build tool for VirtualBox● No recipe yet?● (Bins are in VBox SVN)
2015-11-08 Too Many Ports
17/132 029
nvda ○ △
● Screen reader for win32 (mostly python)● Probably better to port Orca (Gnome's screen
reader) as the GTK interface is better isolated from the core
2015-11-08 Too Many Ports
18/132 029
pbzip2 ○ △
● Parallel BZip2● Didn't do much; Anyone wants to look at it?
2015-11-08 Too Many Ports
19/132 029
srm ●◆▲
● Secure RM● Ported to Haiku● Even the tests work \o/
– But they need 5GB of disk space �
2015-11-08 Too Many Ports
20/132 029
bcc
● Bruce Evans C Compiler● Used to be required by VirtualBox● I don't even remember what I did on that
– But it's not needed anymore anyway
2015-11-08 Too Many Ports
21/132 029
curl, cvs, gperf… ???
● Hmm, whatever
2015-11-08 Too Many Ports
22/132 029
“Current” projects
● At least I make sure they compile from time to time, well for most of them
● But it seems I should really clean up this mess
2015-11-08 Too Many Ports
23/132 029
aranym ●◆▲
● Atari Running on Any Machine● 68040 Atari-compatible virtual machine● Should work● TODO Recipe should be updated to 1.0.2
– Tried today but they broke it again �
2015-11-08 Too Many Ports
24/132 029
beclan
● Some stuff from a group of developers– Antique patches
● Should go to attic
2015-11-08 Too Many Ports
25/132 029
behappy ◕◆
● Native documentation browser– Now uses NetSurf as
replicant● But NetSurf replicant
is quite broken
– Documentation parsers must be udpated
2015-11-08 Too Many Ports
26/132 029
beshare ●◆△
● Native chat & file sharing● Fixed writable paths
– Looks like someone did it before I upstreamed �● But differently
2015-11-08 Too Many Ports
27/132 029
cclive ◕ △
● C rewrite of clive (youtube downloader)● Deprecated by youtube-dl & weboob
2015-11-08 Too Many Ports
28/132 029
contiki ◕ ◭
● FLOSS OS for C64 & the Internet of Things● Ported wrote the ncurses platform
2015-11-08 Too Many Ports
29/132 029
cpm ○ △
● Console Password Manager● Usual ./configure stuff (libm test…)
2015-11-08 Too Many Ports
30/132 029
csync ○ △
● File synchronization tool● Part of the Owncloud client● Just git cloned it yet
2015-11-08 Too Many Ports
31/132 029
dontworry ◔
● Autocompletion add-on for BeIDE● Started porting to Pe● Should probably be rewritten anyway
2015-11-08 Too Many Ports
32/132 029
dtc ●◆▲
● Device Tree Compiler● Generates DT blobs from DTS files● Used by our ARM & PPC port (U-Boot)
2015-11-08 Too Many Ports
33/132 029
e2fsprogs ◔ △
● Ext2 FS tools● I actually only needed libuuid
– Now a separate project
2015-11-08 Too Many Ports
34/132 029
emile ○ △
● Bootloader for Linux on Mac68k● Just looked at it when starting the 68k port
2015-11-08 Too Many Ports
35/132 029
espeak ◕◆△
● Speech synthesis● Works offline, not live yet
2015-11-08 Too Many Ports
36/132 029
ffmpeg/libav ●◆△
● Video converter and codec library● Used by our MediaKit● I still have 3 of 4 checkouts of this around
2015-11-08 Too Many Ports
37/132 029
fish ◑◆△
● Friendly Interactive Shell● Starts but has some bugs
2015-11-08 Too Many Ports
38/132 029
flashrom ◑ △
● BIOS flashing utility● Needs specific PCI I/O code to work on Haiku
2015-11-08 Too Many Ports
39/132 029
flif ○ △
● Free Lossless Image Format● Just looked at it● Just a demo anyway
2015-11-08 Too Many Ports
40/132 029
fossil ●◆▲
● SCM used by Tcl/Tk● Patched upstreamed● Works fine for checking out tcl & tk �
2015-11-08 Too Many Ports
41/132 029
gambas ◔ △
● Graphical development environment based on a BASIC interpreter
● Was it a dependency of another project or did I just do it for fun???
2015-11-08 Too Many Ports
42/132 029
gemrb ●◆△
● Game Engine Made with preRendered Background
● Ugh, what is this doing here??– Oh right, checked the patches for GCI �
2015-11-08 Too Many Ports
43/132 029
gnokii ◔ △
● Synchronization conduit for old Nokia phones● Superseded by the Gammu/Wammu fork
2015-11-08 Too Many Ports
44/132 029
gobe
● My own attempt at reverse-engineering the Gobe format
● Didn't get very far
2015-11-08 Too Many Ports
45/132 029
golang ○ △
● Google's Go language, old repository● Others took care of it, thanks! �
2015-11-08 Too Many Ports
46/132 029
gophernicus ● △
● Gopher server● Because it's funny!● Actually, wanted to test my gopher-to-
OpenStreetMap gateway �
2015-11-08 Too Many Ports
47/132 029
grub ○ △
● GRand Unified Bootloader● Just to look at MultiBoot headers
2015-11-08 Too Many Ports
48/132 029
haiku ◕ ◭
● I actually still have some svn clone around �
2015-11-08 Too Many Ports
49/132 029
haikuporter ●◆▲
● What, you no know what that is???
2015-11-08 Too Many Ports
50/132 029
haikuports{-cross} ● ◭
● Gee, some stashed stuff there… �
2015-11-08 Too Many Ports
51/132 029
hdialog ●◆▲
● GCI work● Didn't find anything to patch there �
2015-11-08 Too Many Ports
52/132 029
ibm_ctx_switch_article ● △
● Some context-switch and pipe speed benchmarks from an old IBM article online– Article disappeared it seems
● Linux was like 10 times faster than BeOS back then…
2015-11-08 Too Many Ports
53/132 029
input_methods ◔ ◭
● Some funky ideas like T9 or pen input methods
● Some of that is in git HEAD now– Unfinished
● CGI task? �
2015-11-08 Too Many Ports
54/132 029
iodine ◔ △
● DNS tunnel
2015-11-08 Too Many Ports
55/132 029
irssi ●◆◭
● CLI IRC client● Had to clean up their configure mess before
they'd accept patches for my “non-POSIX obscure OS”– Yet they still support HP/UX �
2015-11-08 Too Many Ports
56/132 029
jamvm ●◆△
● Java Virtual Machine
2015-11-08 Too Many Ports
57/132 029
lemon ◔ △
● Parser generator● Used to be used by NetSurf
2015-11-08 Too Many Ports
58/132 029
libmpdclient,mpd ●◆▲
● Music Player Daemon● Now with native audio output
2015-11-08 Too Many Ports
59/132 029
mpc,ncmpc{pp} ●◆▲
● MPD clients
2015-11-08 Too Many Ports
60/132 029
librevenge ○ △
● Base library for writing document import filters● Wanted to see if it could help REing Gobe
format
2015-11-08 Too Many Ports
61/132 029
libusb ●◆▲
● Yeah, someone finally made a working port \o/
2015-11-08 Too Many Ports
62/132 029
libxpm ◔ △
● XPM bitmap format handling● Dependency for XEmacs● Depends on whole of X11
2015-11-08 Too Many Ports
63/132 029
links ●◆△
● Port of 2.8 with “GUI”
2015-11-08 Too Many Ports
64/132 029
lshw ○ △
● Hardware inspection tool
2015-11-08 Too Many Ports
65/132 029
lud, open-udc ●◆▲
● Open Universal Dividende Currency● Runs but untested
2015-11-08 Too Many Ports
66/132 029
miniupnp ○ △
● Minimal UPnP stack
2015-11-08 Too Many Ports
67/132 029
mirall ○ △
● Part of Owncloud client
2015-11-08 Too Many Ports
68/132 029
moe ●◆▲
● Good old Moe mascot● Shame git doesn't know about attributes● But it works
2015-11-08 Too Many Ports
69/132 029
mozjs ○ △
● Why do I have this around?
2015-11-08 Too Many Ports
70/132 029
nativefiledialog ● ▲
● GCI work● Misses a recipe?
2015-11-08 Too Many Ports
71/132 029
netsurf ◕◆▲
● Web browser● Used by BeHappy
2015-11-08 Too Many Ports
72/132 029
nginx ◕◆△
● Web server● Now runs, needs
testing
2015-11-08 Too Many Ports
73/132 029
ocp ●◆▲
● OpenCubic Player● Full port using SDL● Designed an HVIF icon �
2015-11-08 Too Many Ports
74/132 029
oric ● ▲
● SVN repo with demo sources & SDK● Patched the SDK to run on Linux and probably
Haiku
2015-11-08 Too Many Ports
75/132 029
oricutron ●◆▲
● ORIC emulator● Uses SDL + native dialogs
2015-11-08 Too Many Ports
76/132 029
os-prober ● ◭
● Made patches to support detection of Haiku properly, including Package-Management
● Debian bug #732696– Just needs testing, anyone?
2015-11-08 Too Many Ports
77/132 029
oss ●◆▲
● Works quite well● Except for some annoying bugs
– KDL on shutdown
– Audio stops after 6 hours!?
2015-11-08 Too Many Ports
78/132 029
parted ◔ △
● Already had a BeOS backend● Pending patch to use it on Haiku
2015-11-08 Too Many Ports
79/132 029
pass ◔ △
● CLI password store
2015-11-08 Too Many Ports
80/132 029
pciutils ●◆▲
● Flashrom uses its PCI config library
2015-11-08 Too Many Ports
81/132 029
pe ●◆▲
● Always need a Pe clone around
2015-11-08 Too Many Ports
82/132 029
pearpc ● ▲
● Old PPC Mac emulator
2015-11-08 Too Many Ports
83/132 029
portaudio ●◆△
● Oh, I happen to have some patches for a native audio output lying around !!
2015-11-08 Too Many Ports
84/132 029
portland ◑ △
● XDG (FreeDesktop) utils (xdg-open…)– Mostly shell scripts
● I think they moved somewhere else
2015-11-08 Too Many Ports
85/132 029
qemacs ●◆▲
● Very small editor with Emacs bindings
2015-11-08 Too Many Ports
86/132 029
qemu ●◆△
2015-11-08 Too Many Ports
87/132 029
quex ○ △
● Some dependency for Owncloud client IIRC
2015-11-08 Too Many Ports
88/132 029
radare ◔ △
● Reverse Engineering toolkit
2015-11-08 Too Many Ports
89/132 029
re2c ● △
● Regexp compiler● Used to be used by NetSurf
2015-11-08 Too Many Ports
90/132 029
rhapsody ●◆△
● CLI IRC client
2015-11-08 Too Many Ports
91/132 029
rtmpdump ●◆△
● Dump rtmp:// streams
2015-11-08 Too Many Ports
92/132 029
sane ◔ △
● Got this old CVS checkout here● Anyone happens to know where the are
hosted now?
2015-11-08 Too Many Ports
93/132 029
screen ◑◆△
● Terminal multiplexer● Starts but then screws up
2015-11-08 Too Many Ports
94/132 029
sdl ●◆△
● Started adding support for reading data from resources
2015-11-08 Too Many Ports
95/132 029
seeks ◑ ◭
● P2P search engine● Deprecated in favor of Searx
2015-11-08 Too Many Ports
96/132 029
shatag ○ △
● Tool to add SHA-256 sums as attributes to find file duplicates
2015-11-08 Too Many Ports
97/132 029
shok ○ △
● Some interactive shell part of something else● Just cloned the repo
2015-11-08 Too Many Ports
98/132 029
simh ●◆▲
● Antique (PDP11 & friends) emulator● Ported + recipe
2015-11-08 Too Many Ports
99/132 029
sleepyhead ◑ △
● CPAP machine data visualization tool– (Sleep apnea treatment)
● Uses Qt5● Just got the splash screen last week \o/
2015-11-08 Too Many Ports
100/132 029
smartmontools ○ △
● Mostly untouched
2015-11-08 Too Many Ports
101/132 029
snowman ○ △
● Native code to C/C++ decompiler● Untouched
2015-11-08 Too Many Ports
102/132 029
soundplay-plugins ● ▲
● Should make a recipe for those (and for SoundPlay)
2015-11-08 Too Many Ports
103/132 029
sphinx ◕ ▲
● CMU Sphinx is a speech recognition engine● Old C-based version● Works offline
2015-11-08 Too Many Ports
104/132 029
sumit ●◆▲
● I sent a patch long ago (Sylk column layout)
2015-11-08 Too Many Ports
105/132 029
supertux ●◆△
● Updated patch & recipe
2015-11-08 Too Many Ports
106/132 029
swfdec ○ △
● Some Flash decoder (like Gnash)● I don't really care about Flash anyway
2015-11-08 Too Many Ports
107/132 029
synergy ●◆▲
● I'm happy someone ported it first!
2015-11-08 Too Many Ports
108/132 029
tcl ◑◆△
● Tcl language interpreter● Edited locally + patch in HaikuPorts…
2015-11-08 Too Many Ports
109/132 029
tk ○ △
● GUI toolkit for Tcl● Might compile with X11● Just started native port long ago
2015-11-08 Too Many Ports
110/132 029
testdisk ◑◆▲
● Disk recovery tool● Runs but not really tested yet
2015-11-08 Too Many Ports
111/132 029
thememanager ●◆▲
● Native Theme Manager application by me
● Pending recipe update
2015-11-08 Too Many Ports
112/132 029
transmission ○ △
● We already have a recipe for it
2015-11-08 Too Many Ports
113/132 029
twin ○ △
● Text UI window manager
2015-11-08 Too Many Ports
114/132 029
ucc ◑ △
● UnderC C++ interpreter● Very old port
2015-11-08 Too Many Ports
115/132 029
unicode_im ●
● GCI work from puckipedia● Already in git HEAD
2015-11-08 Too Many Ports
116/132 029
valgrind ◔ △
● A lot compiles now, but we lack ptrace()
2015-11-08 Too Many Ports
117/132 029
vbox ◕◆◭
● Wrote initial Guest Additions port and some more
● Much more done on GSOC 2011 by scgtrp● Some GA are missing or buggy
– KDL on SMP (wrong locking)
2015-11-08 Too Many Ports
118/132 029
vibrant ○ △
● Demo game written in D● Released at Alchimie in 2009● Requires Digital Mars D compiler
2015-11-08 Too Many Ports
119/132 029
vision ●◆▲
● Started adding support for irc:// URI scheme● Upstreamed but unfinished
2015-11-08 Too Many Ports
120/132 029
vncviewer ◑ △
● My own antique port of the VNC client…
2015-11-08 Too Many Ports
121/132 029
weboob ◕ ◭
● Web outside of browsers– CLI/GUI client for the web
– Videos, bank accounts, forum posts…
● Runs locally, lacks a recipe● Many modules work● Others missing python packages
2015-11-08 Too Many Ports
122/132 029
wget ○ △
● IIRC, I wanted to…– TODO add support the saving the download url as
an attribute
2015-11-08 Too Many Ports
123/132 029
wipe ○ △
● Like srm, securely remove files● Not touched yet
2015-11-08 Too Many Ports
124/132 029
wx ○ △
● wxWidgets● Just scratched the surface
2015-11-08 Too Many Ports
125/132 029
xapian ○ △
● Was it needed for a port?
2015-11-08 Too Many Ports
126/132 029
xemacs ◑ ◭
● Variant of Emacs– aka Escape Meta Alt
Control Shift
● Worked quite well years ago
● Waiting for libXpm to get the toolbar buttons back
● Not upstreamed– But got a public branch
somewhere
2015-11-08 Too Many Ports
127/132 029
xemacs-packages ○ △
● The text editor and everything running on the Emacs OS �
● Mostly lisp, but some OS-dependent code
2015-11-08 Too Many Ports
128/132 029
xorg-macros, xproto ●◆△
● Were needed by libXpm, which is needed by XEmacs…
● Xorg-macros renamed to util-macros
2015-11-08 Too Many Ports
129/132 029
zeta ●◆▲
● Some obscure operating system I wrote stuff for a long long time ago in a galaxy far away…
2015-11-08 Too Many Ports
130/132 029
zsh ●◆▲
● Did the initial port to BeOS● Should probably try to use it someday �● “Oh My Zsh” seems to be quite nice…
2015-11-08 Too Many Ports
131/132 029
Now you're happy there are only 26 letters in the latin alphabet.
2015-11-08 Too Many Ports
132/132 029
Wanna Wanna Help?Help?
Questions?Questions?