* coolcoder613_mac
wonders how hard it would be to port GNUSTEP
<Al2O3>
its already ported.
<Al2O3>
many times over.
<Al2O3>
:)
<Al2O3>
look at the implementations of GNUStep in OSX, and you will find a path to how to do it.
<Al2O3>
windows, linux, osx, its done.
<Al2O3>
and commercially used in some cases.
<Al2O3>
check out Redstone Software, and then the tool/automation set called Eggplant, and finally the owner of it now is TestPlant or some other company that bought them out, Insight?
<Al2O3>
they basically used a bunch of GNUstep to do their migration 10 years ago to linux and windows.
<Al2O3>
had 2-3 developers on it part time or fulltime at times working on it and turning back contributions.
<coolcoder613_mac>
I mean to Haiku
coolcoder613_mac has quit [Remote host closed the connection]
coolcoder613_mac has joined #haiku
<Al2O3>
right, so those are some references on how a company for over a decade has done so to 3 platforms, maybe even qnx
<Al2O3>
coolcoder613[m]: dig, and you shall find
<Al2O3>
gold, goldstep
<coolcoder613_mac>
I want to make a fantasy computer, and I am looking for a CPU
<coolcoder613_mac>
Should be register-based
<coolcoder613_mac>
and either 16 or 32 bit
<Al2O3>
why limit yourself, go with a 4404 or maybe an 8 bit of historical value.
<coolcoder613_mac>
I'd prefer something that is written in Rust or has Rust bindings
<coolcoder613_mac>
And I want something that i can actually write assembly for
<coolcoder613_mac>
Or a compiler
mmu_man has quit [Ping timeout: 480 seconds]
mmu_man has joined #haiku
dcatt has joined #haiku
x10z has joined #haiku
v_harkonnen has joined #haiku
scanty has quit [Remote host closed the connection]
Maturi0n has joined #haiku
AlaskanEmily has quit [Remote host closed the connection]
<Al2O3>
you can do forth, asm primatives, and even high level libraries with the TIL model of coding, and many forth implementations allow integration with C, or even some with C++, along with being proven on 4, 8 and 16 bit processors.
walkingdisaster has joined #haiku
<Al2O3>
I'm confident at least one, maybe two or more FORTH impelementations will run on Haiku. Many are in ANSI C, even one in bash and a revision of that bash impelementation.
v_harkonnen has quit [Ping timeout: 480 seconds]
v_harkonnen has joined #haiku
mr_lou has joined #haiku
walkingdisaster has quit [Ping timeout: 480 seconds]
tmtfx has joined #haiku
v_harkonnen has quit [Ping timeout: 480 seconds]
coolcoder613_mac has quit [Ping timeout: 480 seconds]
coolcoder613_mac has joined #haiku
erysdren has quit [Quit: Konversation terminated!]
coolcoder613_mac has quit [Ping timeout: 480 seconds]
AlaskanEmily has quit [Remote host closed the connection]
coolcoder613_mac has joined #haiku
coolcoder613_mac has quit [Ping timeout: 480 seconds]
coolcoder613_mac has joined #haiku
coolcoder613_mac has quit [Ping timeout: 480 seconds]
coolcoder613_mac has joined #haiku
Begasus has joined #haiku
<Begasus>
g'morning peeps
HaikuUser has joined #haiku
HaikuUser has quit []
managatang has joined #haiku
managatang has quit [Ping timeout: 480 seconds]
coolcoder613_mac has quit [Ping timeout: 480 seconds]
coolcoder613_mac has joined #haiku
<coolcoder613_mac>
Hi Begasus
Begasus has quit [Ping timeout: 480 seconds]
Begasus has joined #haiku
jmairboeck has joined #haiku
Ellenor has quit [Ping timeout: 480 seconds]
HaikuUser has joined #haiku
HaikuUser is now known as Begas_VM
Begas_VM has quit []
x10z has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<x512[m]>
Also about package dependencies: is it possible to add information about pkg-config package exports, for example pkgconfig:libGL?
<x512[m]>
Make new policy that all *.pc files should be declared in package provides section.
<Begasus>
only one I encountered on that was hydrogen the other day, those are only used by cmake I guess?
<x512[m]>
*.pc are also used by Meson.
<x512[m]>
It is de-facto standard of declaring C/C++ libraries on UNIX-like systems.
<Begasus>
yeah, but so far things just work (here) without fidling with anything (ps that was tenacity)
<andreasdr[m]>
Hi Begasus, Hi x512
<Begasus>
and even then, upstream had already included something for other OS's there
<Begasus>
if it fixes then maybe add it, as long as it doesn't break anything :)
<x512[m]>
Declaring *.pc files in HPKG provides will help a low when building software from source. You can install dependency packages using pkg-config name, the same name as used in source code.
<x512[m]>
a low -> a lot
<Begasus>
something that's not always being cared for is declaring the devel packages in REQUIRES_devel, fbrosson was pretty good there
<Begasus>
x512[m], what about cmake builds, not all provide *.pc files there
<x512[m]>
"cmake:" provides prefix I suppose.
HaikuUser has joined #haiku
<x512[m]>
Package names are not good for identifying because it depends on system distribution.
<x512[m]>
Debian/Fedora/Arch/Haiku use different package names fro the same software, but pkg-config name should be the same.
<Begasus>
those are provided by the source itself as foo.pc.in? so names should be the same (or I am wrong here)
<phschafft>
the very idea behind pkg-config is to get over all the difference between distros and operating systems.
<Begasus>
they should just not always hardcode $includeDir :)
<PulkoMandy>
x512[m]: one annoying thing is all the provides for all packages end up in the repository description file, which is already quite big now, several megabytes (this is what allows pkgman to know which package to download). So it's a good idea to try to minimize what we add there. Will pkgconfig:xxx be very different from devel:xxx ?
<PulkoMandy>
Begasus: for dependencies between devel packages, often they should not be needed, if the .h from the depended packages are not used. But sometimes they are. It's a bit difficult to check for that automatically
<x512[m]>
PulkoMandy: Yes, pkgconfig: is very different from devel: because devel: is Haiku-specific name and pkgconfig: is universal name that is directly referenced by software source code build system.
<x512[m]>
It is troublesome to guess each time how each package is called.
<PulkoMandy>
devel: has the name of the library, that isn't really haiku specific (it is different from _devel which is the haiku specific package name)
<x512[m]>
If pkgconfig: provides will be added, it will be possible to auto-install dependencies of software that used pkg-config.
<x512[m]>
Library name and pkgconfig name are different.
<x512[m]>
For many libraries -l<libname> is not enough. This is why pkg-config is needed.
<PulkoMandy>
They can be, yes, but is it very common? If it's not so common, maybe we cun have both in devel: (that means we are already almost done, we just need to add some more devel: entries to package where the lib and pkgconfig filenames don't match)
<PulkoMandy>
It will give the same benefit and save a lot of work and a bit of size of the repository description file
<x512[m]>
Every my proposal is being rejected <cry emoji>
<PulkoMandy>
Why rejected?
<Begasus>
PulkoMandy, playing around these last weeks I encountered several times some package being declared as not found because of a "subpackage" with cmake
<PulkoMandy>
I'm just trying to figure out if we can optimize it a little or if my idea of saving space is stupid
AD_MOS has joined #haiku
<x512[m]>
About saving space: I thing that it should not be downloaded on each pkgconfig call. At least some version/checksum check can be added.
<andreasdr[m]>
Coool. Never digged pkg-config. Does it also provide include paths?
<phschafft>
andreasdr[m]: yes. it provides everything you need. can also provide you special paths e.g. if your application needs storage of some type of static files.
<x512[m]>
Yes, pkg-config declares everything needed to use some library: include/library paths, -l<libname>, preprocessor definitions etc.
<PulkoMandy>
There is already a check, using http headers to know if the filedate changed. But, since it changes everytime the builder finishes a buildrun, the repository changes very often
<andreasdr[m]>
Thats so handy. Will update my build processes. Thank you Begasus and x512 for that hint.
<phschafft>
PulkoMandy: what is the schema for devel? does it include 'lib' for libraries?
<andreasdr[m]>
phschafft: Thank you.
<Begasus>
andreasdr[m], it's common knowlidge (even for a noob like me) :)
<PulkoMandy>
Maybe a solution for that is updating the repository less often? What would be a good period? Or figuring out a way to send diffs instead of redownloading the whole fil ?
<andreasdr[m]>
I did read about it from time to time, but was to lazy to adapt.
<andreasdr[m]>
But If we are at build systems. Which is the most easy right now. And most cross platform? I usually just use (g)make
<phschafft>
andreasdr[m]: generally it's good fun as you only need to work with it once and then you have all the data for all your packages always at your fingertips. :)
<andreasdr[m]>
Ok.
<phschafft>
(as it unifies the way to query for stuff. *inlcuding* version requirements :)
<phschafft>
*including
<andreasdr[m]>
Nice.
<PulkoMandy>
phschafft: there is a lib:libxxx provide in the main package for the library in …/lib, and a matching devel:libxxx provide in the develop package for the …/develop/lib , they both include the soname version info
<Begasus>
andreasdr[m] build systems like autotools and the like?
<andreasdr[m]>
Yes. And No. CMAKE e.g. is handy as f**k but seems to be too complicated.
<Begasus>
plenty around there (autotools, meson, cmake ...)
<andreasdr[m]>
I mean replacements for make, gmake, cmake....
<Begasus>
ninja
<phschafft>
PulkoMandy: I see. basically even if the same info is included it's important it is included in the same format OR queries need to be different.
<andreasdr[m]>
Meson/Ninja:. Need to check.
<Begasus>
but I mostly use make
<andreasdr[m]>
Thank you. Yes I mosty also use make.
<PulkoMandy>
x512[m]: besides the filesize, I wonder if we will someday reach limitations of libsolv on handling too many provides and requires. But I think we don't see that yet, so, maybe I just worry too much
<x512[m]>
pkg-config can be called directly if needed.
<andreasdr[m]>
Yes.
<PulkoMandy>
And also for the filesize, maybe this will compress very well and not make a big impact afterall
<x512[m]>
PulkoMandy: Currently there are no symptoms that package dependency resolution takes too much time. There are much more complex dependencies in Linux systems.
<PulkoMandy>
Yes, it is a nonexisting problem for now
AD_MOS has quit [Ping timeout: 480 seconds]
<PulkoMandy>
So it seems fine to add pkgconfig entries then. I guess we need a linter rule in haikuporter checking for .pc files like we have one for .so?
FreeFull has quit [Remote host closed the connection]
<x512[m]>
Yes, it can be handled in a similar way to devel/lib/*.so -> devel_lib:
<x512[m]>
Also cmake. cmake and pkg-config definitions are usually mutally-exclusive.
<x512[m]>
Meson can handle both as dependencies, but produce only pkg-config.
x10z has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
FreeFull has joined #haiku
FreeFull has quit [Remote host closed the connection]
v_harkonnen has joined #haiku
<PulkoMandy>
Cmake can also use pkgconfig files. I don't know why they also developped their own module format
<phschafft>
because people love to NOT just use the standard.
<Begasus>
whoohoo :D ;)
<phschafft>
words spoken in an alternative OS channel.
<andreasdr[m]>
I had so much fun exploring BeOS and PowerPC with a G3@750MHZ and before with a 603e
<Begasus>
never owned a PowerPC, so can't tell there :)
FreeFull has joined #haiku
FreeFull has quit []
v_harkonnen has joined #haiku
<Al2O3>
BeOS on PPC and Intel PP 200 (quad) was a fun time for sure.
<Al2O3>
sadly, just never got developes.
v_harkonnen has quit [Ping timeout: 480 seconds]
<x512[m]>
PowerPC was a bad decision because it was an Apple territory. Apple is aggressive and have closed ecosystem.
<x512[m]>
Apple attached Mac clone market.
<Al2O3>
right, I would agree, but the PPC was the choice for BeOS, and it was the logical step made to easily get the BeOS over to new hardware.
<Al2O3>
and of course, migrating to Intel was a disaster as well, M$ and their power over PC makers.
<Al2O3>
we know the history, we know the story, we know the pain and suffering.
<x512[m]>
Intel hardware is less closed than Mac.
<Al2O3>
more about M$haft screwing over Be Inc.
<Al2O3>
basically threatening manufactures to not allow Be to be an option of install.
<Al2O3>
it was pathetic, for such a small market share, but they did it.
<x512[m]>
Yes, MS can ban preinstalled OSes, but it can't ban manufacturing compatible Intel-based PCs and install any OS.
<x512[m]>
Unlike Mac, PC have fully open specifications.
<Al2O3>
correctomundo
<Al2O3>
for the most part :)
<Al2O3>
anyway, always good to see 296 users on Haiku.
<x512[m]>
It seems there are still no Mac emulator that can run BeOS PPC.
<Al2O3>
would be neat to see 1000+
<Al2O3>
for now that may be true, not sure.
WahidShaikh[m] has joined #haiku
FreeFull has joined #haiku
<WahidShaikh[m]>
Hello there everyone, I'm Wahid. Have been looking around for other kinds of operating systems and flavors of linux when I stumbled upon haiku OS. I've been using arch linux myself, and this project has piqued my interest. Looking forward to help and contribute to this project
bbjimmy_laptop has joined #haiku
<Al2O3>
cool
<Al2O3>
invite others as well, the more users, developers, and noobs the better.
<Al2O3>
Today, I'm going to recommend Haiku to 10 friends, and ask them to do the same.
<WahidShaikh[m]>
sure lol, sounds fun
v_harkonnen has joined #haiku
<Begasus>
Welcome to the chan WahidShaikh[m], we can always use some help in various areas :)
<WahidShaikh[m]>
Sure, just let me know and I'll try my best :)
mmu_man has quit [Ping timeout: 480 seconds]
<Begasus>
we're all volenteers, so it depends on your interest
mmu_man has joined #haiku
bbjimmy_laptop has quit [Remote host closed the connection]
<Begasus>
nogo for agregator, find_package(ECM 5.102.0 NO_MODULE)