You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For managarm to become fully self-hosting, the following ports are missing (incomplete list)
autoconf, blocked on a working perl port
automake, blocked on a working perl port
libtool
m4
patch, ported, seems to work
git, blocked on networking and /dev/null support
mercurial, blocked on networking and more python support
cmake
wget, ported, seems to work decently, blocked on further tcp changes for now
curl, ported, but needs more work
grub, to produce an image
subversion. as preliminary support for subversion is pending in xbstrap, and pcre will move to an subversion repo, this tool is needed to allow xbstrap to build pcre
bison, many build systems invoke bison at some point
flex, as said with bison, flex is used in some build systems
texinfo, if we want to be able to produce documentation, texinfo is a must. This is blocked on a working perl port
rsync, to copy the contents of the sysroot to the image, rsync is used
cpio, the initrd that managarm uses is compressed with cpio
Furthermore, the following ports need attention before self-hosting can be achieved (incomplete list)
ncurses, this really needs to produce shared libraries
bzip2, crashes due to missing utime() (this has been fixed in current mlibc master, just awaiting a small build fix)
xz-utils, crashes due to missing printf() specifier
gettext, if we ever want to handle localized messages in applications, gettext at build time is a must, furthermore, support for this in mlibc needs to be added. A basic port is available, but untested and unused at this time
For proper self-hosting, we also need some extra support in managarm itself (incomplete list)
Support for loopback devices, the current image generation process either uses libguestfs or loopback devices, the latter should be easier to implement then libguestfs
For managarm to become fully self-hosting, the following ports are missing (incomplete list)
autoconf, blocked on a workingperlportautomake, blocked on a workingperlportlibtoolm4patch, ported, seems to workgit, blocked on networking and/dev/nullsupportmercurial, blocked on networking and morepythonsupportcmakewget, ported, seems to work decently, blocked on further tcp changes for nowcurl, ported, but needs more workgrub, to produce an imagesubversion. as preliminary support forsubversionis pending inxbstrap, andpcrewill move to ansubversionrepo, this tool is needed to allowxbstrapto buildpcrebison, many build systems invokebisonat some pointflex, as said withbison,flexis used in some build systemstexinfo, if we want to be able to produce documentation,texinfois a must. This is blocked on a workingperlportrsync, to copy the contents of the sysroot to the image,rsyncis usedcpio, the initrd that managarm uses is compressed withcpioFurthermore, the following ports need attention before self-hosting can be achieved (incomplete list)
make, needs extensive testingperl, segfaults when running, a fix is in development for this (this has been fixed by disabling locale suppport. Now perl is awaiting pthread_atfork() unimplemented mlibc#101 and sigsetjmp() / siglongjmp() unimplemented mlibc#102). Basic Perl programs can now run.ncurses, this really needs to produce shared librariesbzip2, crashes due to missingutime()(this has been fixed in current mlibc master, just awaiting a small build fix)xz-utils, crashes due to missingprintf()specifiergettext, if we ever want to handle localized messages in applications,gettextat build time is a must, furthermore, support for this inmlibcneeds to be added. A basic port is available, but untested and unused at this timeFor proper self-hosting, we also need some extra support in managarm itself (incomplete list)
libguestfsor loopback devices, the latter should be easier to implement thenlibguestfsThis list is an addition upon #39 and #30