January 2025 #73
elydre
announced in
Retrospective
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
January 2025
Here's the first monthly news for profanOS. At the start of each month, you'll find a list of new releases, ports and features that have been implemented! January has been a busy month for profan with the porting of python 3.11 and GNU make, cool user space features and an increasingly complete libc.
About the python port
I was surprised to see that once well configured python was not so complex to cross compile for non linux based systems. I tried cross compiling after porting perl very easily last month. The python executable (without
-gand non-strip) is around5 MBwhich is not so heavy for such a complete programming language. The bulky python installation is mainly due to the large number of standard modules.The port works incredibly well, the first launch of python is quite slow, since it creates the
.pycof the modules, this step is normally done during the installation but the installer was not very cooperative for a cross compilation :)Python is one of my favorite high-level languages and seeing it in profan makes me happy. I don't think I'll use it as the default sripting language (at least for now) due to its large size, but it offers a lot of possibilities for mini-games/tools that can run in profanOS without being compiled or modified.
It would be really cool to have additional python modules like pygame or tkinter to make GUIs or small games. Porting pygame is conceivable, since it's a kind of SDL2 interface, and sdl is already ported to profan (thanks to asqel). On the other hand, tkinter is likely to be much more complex, as it's based on tcl/tk, which looks really hard to port.
About the make port
I'm not really a fan of makefiles (profanOS uses python to compile). However, for a few months now I've been wanting to have a
makeimplementation in profan so that I can compile various projects found on GitHub directly into the OS without having to do any cross-compilation.I chose the GNU implementation because it's very widespread and compatible with a lot of makefiles, and strangely, porting it was easy (enough to revise my prejudices about GNU? - no). Now we can directly compile programs in profanOS like lua, or lcc (there's an incomplete list of programs that can easily be compiled in profan here).
A demo of GNU-make on the lua source code
It's always hard to choose between porting something or doing it myself. For profan, I'm just wondering if the OS is normally usable without it. If that's the case, I'll do a port (downloadable precompiled files during disk construction) otherwise I'll implement it myself. That's probably why I wouldn't use X11 as a window system.
Change log
Command line
R_386_COPYresolution indeluge.readelf -Rto display dynamic relocations in a file.rim.strings -nto display strings in a file.rm.mkdir -p.Olivine
set ++ varadds1to thevarvarible.-dto execute file with some debug.-sto stop olivine at the first error.libc.so(2.6)locale.h(partial function implementation).signal.h(empty functions).wchar.h(withmbsrtowcs,wcrtomb,wcschr,wcscmp,wcscpy,wcscspn,wcsftime,wcslen,wcsnlen,wcsncpy,wcsrchr,wcsrtombs,wmemchrandwmemsetimplemented).wctype.h(empty functions).sys/select.h(emptyselectfunction).time.handclock_gettimefunction.stdint.h,limits.handfloat.hfor compilers that don't integrate definitions such as__INT8_TYPE__or__FLT_MANT_DIG__.profan_nimpl- inprofan.h(see wiki).profan_path_path(see wiki).%lsinprintf(&co) to displaywchar_t *.fcntl(F_DUPFD).run_ifexist_fullfunction.fdopen,realpath,ctermid,execvpe,lstat,mbstowcs,wcstombsandstrcoll.Miscellaneous
libpthread.so(functions not implemented) - required for compiling python./dev/urandomcalling the same function as/dev/random./zada/lua) are no longer in the main repo but are downloaded duringmake addons.Ports
You can test profanOS from your web browser without installing anything right here.
Thank you xx
Beta Was this translation helpful? Give feedback.
All reactions