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