ChanServ changed the topic of #haiku to: Open-source operating system that specifically targets personal computing. | https://haiku-os.org | Nightlies: https://download.haiku-os.org | Bugtracker: https://dev.haiku-os.org | SCM: https://git.haiku-os.org/ | Logs: https://oftc.irclog.whitequark.org/haiku | Matrix: #haiku:matrix.org | XMPP: #haiku%irc.oftc.net@irc.jabberfr.org
<matthewcroughan1> Competent build systems do fail early when their requirements aren't met, rather than finding out later that their requirements aren't met. That allows you to iterate on the requirements.
<matthewcroughan1> Incompetent build systems fail at random points without separating phases.
<matthewcroughan1> A lot of legacy stuff is like that though, I'm not blaming anyone.
<phschafft> on the top level picture it seems to do everything exactly the way I think is the worst. so my interest is if at all in a few details.
<nephele> The requirement is this package, and it can download it itself. It *has* to. Either you download it ahead of time, or you let the build download it. That you delete your cache isn't really a problem of the build...
<matthewcroughan1> Okay phschafft, I'm not here to argue with you really.
<matthewcroughan1> I'm here to learn about and use Haiku.
<phschafft> matthewcroughan1: no worries, I'm not offended and don't try to offend you. just wanting to give you context for my interest.
<matthewcroughan1> Okay, so can you confirm that there is no way to cause this build system to fail early, and that it will only tell me lazily later on in the build when it cannot access these files or the internet?
<phschafft> I mean no fun in you taking time to find something for me that I will not read anyway ;)
<matthewcroughan1> I'm happy if that's the case, just want to know it so I know I can stop searching for a way to turn it off.
<nephele> Provide the files yourself if you don't want it to connect to the internet. And No, i can't confirm that there is no way, because I don't know that there is no other way
<nephele> I only know this one way to make it not connect to the internet. But regardless, these files are required
<matthewcroughan1> Most build systems have ways of turning internet access off as part of the build, or telling you early that you don't have the necessary files, rather than 30 mins into building.
<matthewcroughan1> It is abnormal, in my experience to see things work this way.
<matthewcroughan1> I am 100% sure this causes issues in development flow in various ways that you can recall :)
<nephele> I haven't had problems with it myself, and it is not an issue for me really... since, well, either I have network and it suceeds. Or I don't have network and then i cant get the files somewhere else either...
<matthewcroughan1> nephele: How is it that you reproduce these files anyway? How come we have to download them?
<nephele> they are packages from haikuports
<matthewcroughan1> These are necessary only when compiling Haiku on Linux, because of a bootstrapping problem I guess?
<nephele> No, they are just neccesary
<matthewcroughan1> Can I not build the gcc_syslibs from Linux?
<nephele> No, see. those and other packages are ones you stuff into the final image
<matthewcroughan1> Okay, but I want to compile them from sources, are the sources not available, or are they impossible to build for some reason?
<nephele> i'm not sure what target you are building for but the normal target will build an iso image aswell, and it contains all these packages
<nephele> they are available on haikuports, but they require a haiku system to build on ;)
<matthewcroughan1> Yeah that's what I was referring to by bootstrapping problem
<nephele> hence, either this way, or the full bootstrap build
<matthewcroughan1> I would like to do a full bootstrap build, but that's only possible from haiku right?
<matthewcroughan1> I can't bootstrap haiku from linux?
<nephele> that is also possible but is very rarely done (usually for arch bringup), so you'd have to ask someone else how that works
<nephele> i don't know if it works from linux. I'd assume there is a way
<matthewcroughan1> Yeah this is the preferred way for me, to do a full bootstrap build, thereby not requiring any internet access as part of the build, only source code.
<matthewcroughan1> And this is the hidden bit that requires arcane haiku knowledge from the greyest beard
<nephele> maybe PulkoMandy or waddlesplash have pointers for how this bootstrap build stuff works. I have no clue
pabs has quit [Quit: Don't rest until all the world is paved in moss and greenery.]
pabs has joined #haiku
erysdren has joined #haiku
<matthewcroughan1> Yeah I'd really appreciate a pointer there, and I am happy to wait :D
dovsienko has quit [Quit: Leaving]
<nephele> Maybe writing to the dev mailing list would be a good idea then ;)
<phschafft> matthewcroughan1: let's assume that to software packages build and/or include and/or require exactly the same file. both are independent packages. will that be deduplicated on the filesystem?
<matthewcroughan1> They will both point to the same location by symlink
<phschafft> my problem is this:
<phschafft> page 141 of the linked PDF states: '(So strictly speaking, these paths can only be
<phschafft> considered “content-addressing” if the symbolic name is considered part of the content.)'
<phschafft> and my understanding is that if the file is provided by two different upstream packages, the 'name' will different.
<phschafft> see also the definition of makePath(h, name) on page 142
<matthewcroughan1> Oh yeah that's true, unless you're using content-addressed nix. Which is a mode of operation. It supports using both modes.
<matthewcroughan1> and a mixture of both.
<matthewcroughan1> So yes, you can have an inefficient mode free of bugs, and an efficient mode which took years to develop.
<phschafft> hm.
<phschafft> which is the default?
<matthewcroughan1> input-addressed, where the flaw you point out exists
<phschafft> hm.
<matthewcroughan1> but it's not a huge issue, IMO
<matthewcroughan1> I wouldn't even call it a flaw, just an inefficiency
<phschafft> I think opinions differ here.
<matthewcroughan1> I hope that's okay
<phschafft> is the second mode also in the PDF?
<matthewcroughan1> Yeah, poorly named "Intensional Model" and "Extensional Model"
<phschafft> hey, names are like the number one problem in CS ;)
<matthewcroughan1> Page 16 "The extensional model however has several downsides, in particular the inability to securely share a Nix store between multiple users. These problems are fixed in the more recent intensional model, described in Chapter 6, “The Intensional Model”."
<nekobot> [haikuports] threedeyes pushed 1 commit to branch master: https://github.com/haikuports/haikuports/compare/9827f85b2852...aeac7de11848
<nekobot> • threedeyes (aeac7de1): librewolf: bump version
<matthewcroughan1> And hey, I like 200k programs like StreamRadio too, Haiku is very impressive in some ways, but I don't really see Nix as massively inefficient either.
<matthewcroughan1> I have been using it to stream radio in my newly set up hackspace on a hp compaq nc6120, Haiku runs like crap on that machine because Haiku hasn't got great testing infra, and hasn't really kept old machines in mind, Linux and NixOS runs far better on it
<matthewcroughan1> But I am impressed by the programs sizes from the depot, as the machine sits alongside macintosh se/30 and lcIII
<nephele> I don't see how testing infra makes code slow? are you running the beta or the nightly?
<matthewcroughan1> It doesn't matter. Wifi stuff breaks because of a lack of testing, older releases run better. Stuff breaks and rots for old machines, whilst newer machines benefits, old machines suffer, because of a lack of testing of Haiku.
<nephele> I run haiku on a compaq nx6325, and apart from the battery beeing dead it runs very nicely (unlike ubuntu did, but that is hardly a fair comparison...)
<phschafft> I think considering this only a matter of efficiency is part of the problem.
<Viking667> just a quick question. I'm compiling sqlite3, and it wants something called tclConfig.sh (which is generally found in the source tree for tcl) - which I don't seem to have. Do I have to go install the source code to tcl as well? I've already installed tcl and tcl-devel, though not tcl-debuginfo.
<nephele> testing has nothing to do with it. If people don't use these machines they don't complain. You can't make a test for "good support". especially not for specific hardware, unless you have that specific hardware
<matthewcroughan1> What is it that you're considering it a matter of then? I'm open minded.
bbjimmy has quit [Remote host closed the connection]
<matthewcroughan1> "testing has nothing to do with it.". I can't agree. Testing is very important. Other distributions of software have extensive VM testing so they know when things begin to slow, or break.
<matthewcroughan1> And to quote http://www.infrastructures.org/papers/turing/turing.html, "Better system vendors undertake a rigorous and exhaustive series of unit, system, regression, application, stress, and performance testing on each build before release, knowing full well that no amount of testing is ever enough"
<nephele> You can't test for slowness on your particular machine without having your specific machine
<nephele> no ammount of vm testing will figure out hardware specific issues
<matthewcroughan1> I mean, I can tell you that older versions of Haiku work a lot better on this hardware. Something went wrong somewhere and it wasn't caught.
<matthewcroughan1> Not a big deal since Haiku is not a big time OS, but it smells to me like a lack of infra and testing.
<nephele> sounds like you did not report a bug?
<matthewcroughan1> It's not a specific bug, it's a bloating of the OS
<matthewcroughan1> And the fact that wifi breaks, works again, breaks, works again across releases indicates a lack of testing
<matthewcroughan1> I've been in this chat reporting it in the past, I'm not sure what hoops you want me to jump through. I'm just telling you my experiences.
<nephele> Same thing, you can't test a driver in a vm without the hardware
<nephele> and the drivers are ported from freebsd and openbsd. If you don't report bugs when they break for you they can't be fixed, nothing more to it
<matthewcroughan1> No, that's a separate issue from the bloating/slowdown of the OS over time, which can be caught by integration testing.
<Viking667> Is it something that could be bisected for?
<matthewcroughan1> Did you get the quote where it says "No amount of testing is ever enough" ?
<matthewcroughan1> I'm just trying to say that I don't think Haiku does much testing compared to peers
<nephele> No, I don't. You keep bringing up specific problems that can't be caught by vm testing, and then presenting it as a solution
<matthewcroughan1> And it could benefit greatly from testing infra.
<nephele> where the manual testing of hardware, which you apparently already did, you did not follow through with reporting a bug about it. So it can not be fixed
<nephele> that's not a problem of too little vm testing
* phschafft waits for a moment, to avoid interrupting.
<matthewcroughan1> Yes, testing can encompass hardware testing in a CI system. Or it can encompass performance/integration testing.
<matthewcroughan1> You can benefit from testing, of which I'm almost certain little of both is done.
<nephele> You can run the tests we already have if you want, I do on ocasion
<matthewcroughan1> It is an obvious thing I noticed, and I'm not surprised by it. I hope I'm not being too harsh, it's not my intent. It's just me reporting my thoughts on the OS.
<nephele> I don't run tests for code that wasn't changed however
<nephele> I don't think this is as obvious as you think it is. Haiku has not slowed down for me in any considerable fashion (other than the beta vs nightly stuff). Rather it has become faster and more responsive ... so i don't really share your view
<matthewcroughan1> I expected Haiku to work better on older hardware than it does, and I can only attribute that to a lack of testing, since older versions worked a lot better, degradation over time means something.
<nephele> It doesn't. Code doesn't do anything on it's own. The minimum requirements of haiku have *shrunk* in the last release compared to the previous one
<nephele> if your specific hardware is working badly you should probably report a bug, and not assume that every hardware behaves badly
<Viking667> Here's something to consider. Tests on older hardware (assuming you're bringing it up from cold on bare metal) rely on you still having the hardware. What hardware from "back then" survives this long?
erysdren has quit [Quit: Konversation terminated!]
<nephele> Viking667: That is an interesting argument indeed. For the moment 32bit hardware is still usefull, and still exists. I have one on my lap right now. I guess they are usefull up untill 2038 ;)
<phschafft> if it's 32 bit it's not old ;)
<phschafft> 'Wenn ich 32 bit intus habe, glaube ich auch alles zu koennen.'
<matthewcroughan1> The compaq nc6120 I guess :P
<matthewcroughan1> Somehow the best thing I've tried on old machines is 9front
<Viking667> pschafft: um, my German is not great, what's the English for that?
<nephele> let's see, this one has a amd turion 64bit 1,8ghz processor and 2gb of ram
<matthewcroughan1> that's pretty fast
<nephele> Viking667: "If i drink 32 bit (a kind of beer) I also think i can do everything"
<nephele> yes, it's not that slow
<matthewcroughan1> but what is that, 200-300 million times faster than the m68k running system 7?
<nephele> it's just the compaq machine i have right now
<matthewcroughan1> m68k being 8mhz and still somehow managing to have a full networking stack and usable user interface, web browser, document editors, more
<Viking667> heh. That's almost an extension of "I think, therefore I am."
<matthewcroughan1> 1.8ghz is so much.. my god
<nephele> the good old days when laptops still came with long manuals
<phschafft> Viking667: it's a old one when /the future/ was 32 bit.
<nephele> todays manuals are trash. Got a "digital" manual for my oled screen, it said the flickering is normal because of the fluorescent tubes in the backlight
<nephele> matthewcroughan1: still, this compaq has a comparably fast processor to the one you have
<nephele> I'm guessing yours should have a pentium M if i am reading this correctly
<matthewcroughan1> yeah that's right
<matthewcroughan1> it's wicked slow, but 9front is great on it, really mindblowingly great actually
<Viking667> I come from an era where I started with 8-bit (Apple IIe, ZX81, TRS-80) - the strongest computer I've been on had 128 CPUs with 128GB and dates from approximately 2000-ish.
<nephele> though then again this spec sheet sais it has 250MB Ram and a 40GB DVD??
<matthewcroughan1> I still think macintosh sys7 blows everything above out of the water in terms of usability on old hardware
<Viking667> nephele: ugh. I hate flickering.
<matthewcroughan1> sys7 can run on an esp32 via emulator, and to have a working network stack and gui on esp32 is like.. wat?
<nephele> Viking667: well, the monitor has no flickering, and no fluorescent tubes... the manual is just bad
<Viking667> Ah, so you got one of the "good" monitors then.
<nekobot> [haikuports] threedeyes pushed 1 commit to branch master: https://github.com/haikuports/haikuports/compare/aeac7de11848...614a4dafed8c
<nekobot> • threedeyes (614a4daf): librewolf_bin: bump version
<nephele> you have flickering issues on an oled screen?
<Viking667> I don't have an OLED screen. I rather wish I did.
<Viking667> I've got a VX2370
<nephele> matthewcroughan1: this website sais your laptop has an end of life in 2006
<nephele> so i guess that answers that :P
<matthewcroughan1> ;_;
<nephele> anyhow, if haiku is considerably slower than linux, maybe a bug report is in order, since on this amd one i can't reproduce that issue :/
<Viking667> mm. I have a laptop dating from 2000 - I wish the screen still worked on it.
<Viking667> Oooo. Now I wish that emacsclient worked across the network...
<matthewcroughan1> you were dating your laptop?
<Viking667> It was a really nice 15" 1024x768 screen. The rest of the laptop (a single-core Celeron) is crap in comparison to today's hardware, but that screen was definitely nice.
<nephele> now i wonder if the audio of this laptop works
<nephele> probably not since media addon server keeps crashing, but who knows
<phschafft> matthewcroughan1: my problem is that it alters the 'address' from one to three dimensions (as the name is two dimensional, at least in the examples).
<matthewcroughan1> media addon server is a thing in haiku?
<nephele> yes
<matthewcroughan1> If it's crashing, maybe that's something that can be tested in a VM? Why wouldn't it be reproduced in a VM? If there were a VM testing the addon server and it worked, you could confidently say it's definitely the hardware.
<nephele> how about looking at the debugger instead?
<matthewcroughan1> I mean, the above would prove something before you need to touch the debugger
<nephele> Uhh, no? the vm wouldn't have caught this issue
<phschafft> but if it is crashing for you... having a quick look at the debugger might result in a quick solution...
<nephele> honestly, some sort of automated testing would be nice. for example to allow rendering comparison tests to run (on request) for commits that change rendering stuff. But you aren't really making a great case for it by continuing to bring up hardware specific issues. That is the one thing you really can't test in a VM, because of the "V" part
<matthewcroughan1> VM tests allow you to identify whether something is happening for a reason other than hardware.
<matthewcroughan1> Because if it still failed in the VM in the same way, you'd know it's not your hardware.
<nephele> Not neccesarily
<matthewcroughan1> This saves a lot of time.
<matthewcroughan1> It's a really good piece of evidence.
<nephele> Not really. It really depends on the issue you have. Just looking at the debug report is much faster
<matthewcroughan1> If you can debug at the speed of Terry Davis this doesn't apply to you.
<nephele> you can only catch very specific crashes in a vm like this
<Viking667> heh. He's dead now, come to think of it.
* phschafft is not sure matthewcroughan1 noticed him. but hey.
<nephele> anyway, this specific bug has already been reported months ago. It wouldn't have been caught by a vm
<matthewcroughan1> I didn't understand the 3d vs 2d analogy you're making, so didn't know what to say
<matthewcroughan1> Even if it were true, I don't see why adding to a new dimension is an issue. You make it seem like it can't work, yet I'm using it without issue, it being a very popular distribution that even normal people are using now.
<phschafft> if it would be only about the content it would be 1d. but it seems implemented in a 3d model.
<phschafft> many things work. but doesn't mean they have don't have problems.
<matthewcroughan1> Yes, Haiku for example
<matthewcroughan1> ;)
<phschafft> I think nobody here claimed otherwise.
<matthewcroughan1> Well what specifically is the issue you're thinking of?
<matthewcroughan1> I don't see why dimensionality has any impact on like, performance, usability, or things that matter, what is it you're saying it impacts?
<phschafft> it means that you need to keep those extra dimensions around at all time. also one of those dimensions seems to be in a single non-globally unique namespace (resulting in collissions).
<phschafft> it also means that you increase requirements on your storage.
<phschafft> if you would for example skip those you could remove all need for directory support, symlinks, and hardlinks in one go.
vdamewood has quit [Quit: Textual IRC Client: www.textualapp.com]
vdamewood has joined #haiku
<matthewcroughan1> Okay, but I often produce images for NixOS that are pretty tiny in size, and that do quite a lot. So is this not constructive evidence that you're not correct about it requiring more storage to accomplish?
<phschafft> where have I claimed that it requires more storage?
<phschafft> that seems to be something you come up with all the time.
<matthewcroughan1> "It also means you increase requirements on your storage"
<matthewcroughan1> You just said that above?
<phschafft> requirements != size.
<matthewcroughan1> Oh so you mean on your filesystem features
<matthewcroughan1> Okay, but it's still better than let's say Docker
nephele_ has joined #haiku
nephele is now known as Guest12563
nephele_ is now known as nephele
<phschafft> so...?
<matthewcroughan1> Well have you got a real world practical example of something that doesn't have directory support, symlinks and hardlinks, and is useful and being used?
<matthewcroughan1> Because if you don't, you're just being academic?
<Viking667> Right. I may have asked this question before, quite a few months ago. Where's reallocarray found on a Haiku system, if it's around at all?
<matthewcroughan1> Are you talking about Micropython? Or forth?
<matthewcroughan1> Like some sort of purely block based thing
Guest12563 has quit [Ping timeout: 480 seconds]
<nephele> useful and beeing used? if you count haiku with bfs then you already have one example (no hardlinks)
<nephele> if you count no symlinks you have fat32
<phschafft> just a random reference here: https://en.wikipedia.org/wiki/Comparison_of_file_systems
<nephele> etc...
* phschafft nods to nephele.
<matthewcroughan1> Okay, but I don't understand what you're trying to convey.
<matthewcroughan1> You can have systems that work on less requirements, sure. The requirements as-is are pretty low. What are you trying to say?
<nephele> I don't get that. what does "pretty low" mean? if it could be done much simpler with no cost why would you choose the more complex route?
<phschafft> that is my point. plus there seems only questable value added. such as a collission-prone extra dimension.
<phschafft> collisions are just something one generally tries to avoid in filesystem context.
<matthewcroughan1> I think you're not being clear enough and giving any genuine non-academic and practical real world criticism.
<matthewcroughan1> Instead you're saying something vague about dimensionality, as if it practically matters to a computer user.
<matthewcroughan1> I have pointed out that NixOS happens to work better on the 32 bit machine, but somehow you're acting like this shouldn't be possible from an academic point of view. Please be more pratical in the discussion otherwise I can't follow it.
<nephele> practically matters? the nix store is incomprehensible to normal computer users...
<phschafft> I think that it does matter in the end. e.g. if you try to sync data over different sources. I mean exactly having one domain was what made torrents a big thing.
<matthewcroughan1> Most things are incomprehensible to normal users. These things are called "implementation details" to them, and they don't need to look at them.
<phschafft> matthewcroughan1: I hardly care for 32 bit machines. as might be hinted by my jokes above.
<nephele> No wonder the filesystem is littered with garbage on linux if it is an implementation detail
<matthewcroughan1> Oh so your beef is just with content-addressing? Did you not see the bit where content-addressing is supported?
<matthewcroughan1> It's even on the cutting edge with blake3 now
<matthewcroughan1> I don't really think you've used it, and so can't provide real valid criticisms.
<nephele> I don't think phschafft has any "beef"
<phschafft> nephele++
<matthewcroughan1> I can respond to some of the academic input you're giving, but it's a bit incoherent because you've not actually used it and understood it to have a valid viewpoint.
<matthewcroughan1> s/beef/point is just that it doesn't have/g
<phschafft> matthewcroughan1: first of I was asking questions to gain a better understanding. if that is unwanted, so maybe I should keep away from it.
<phschafft> second, I don't think that you need to use something to have a valid point of view.
<nephele> I used nix, and i don't like it. But i don't care to make acadamic critizism. Why would you need to use something to ask a question about it's inner workings or functionality?
<matthewcroughan1> Well if you have any questions, go ahead. But talking about 3d/2d I think is a bit hard to convey to me. I don't get it.
<Viking667> I'll lurk for a while, awaiting a response to my question about reallocarray(3)
<Viking667> (I'll be back in .... dunno. an hour, maybe?)
<nephele> Viking667: do you need to know where it is declared?
<phschafft> Viking667: reallocarray() is a nonstandard extension that first appeared in OpenBSD 5.6 and FreeBSD 11.0.
<phschafft> hm.
<phschafft> that is from my Debian manpage.
<nephele> Viking667: it's in posix/stdlib.h
<matthewcroughan1> If you spoke in more practical terms like "This concept is hard for people to understand" or "doing it this way takes up more disk space" instead of "collision-prone extra-dimension, 3d 2d", I think I'd have an easier time understanding what you're trying to tell me
<phschafft> nephele: ah, so it's supported?
<nephele> I don't know. I just know it is declared there. But it seems as extern only
<phschafft> matthewcroughan1: I try to find the good parts in it that I may care for. that is the quest I'm on.
<phschafft> but so far it *seems* to just add complexity.
<nephele> Oh, i've hit a bit of a snag. There are broken symlinks in my /system/develop/headers dir. And i can't use commandline tools to inspect them, since the specific ones i want don't have a dont follow symlinks option
<nephele> darn posix commandline
<Viking667> ugh. I've got a compile that's choking because it can't find a declaration: src/diff.c:1876:18: error: implicit declaration of function 'reallocarray' [-Werror=implicit-function-declaration]
<phschafft> nephele: should be declared as extern (but modern compiles assume the extern part, and with modern I mean all I have ever used ;).
<matthewcroughan1> Yes, everything that you don't understand seems to add complexity. That's cognitive dissonance.
<Viking667> (that's a tiny piece of the compile session - but I'll have to come back to this)
<phschafft> matthewcroughan1: and exactly that is why I ask questions.
<matthewcroughan1> In order to find the value you might have to actually use it instead of read about it.
<Viking667> I'm guessing that I'm missing an include
<matthewcroughan1> I can see the value in Haiku, and old Macintoshes because I've used them.
<matthewcroughan1> There's only so much reading will do.
<nephele> You don't need to use nix to see value in the implementation details
<matthewcroughan1> No, but you do need to use it to dispel initial wrong thoughts, like it taking up more disk space, or being slow/inefficient/complex
<nephele> as you said it's "just" a detail. It is interesting if you want to improve on such a system or do something similar
<matthewcroughan1> Because no amount of reading will debunk that.
<nephele> Well, i'm sure phschafft doesn't hold such assumptions...
<matthewcroughan1> There's plenty of assumptions you can make about things that will be immediately dispelled by actually using them.
<nephele> It doesn't matter, the question from phschafft was not ment to critique nix. But rather understand the *why* of why this was done more complexly than perhaps neccesary
<matthewcroughan1> For example, riding horses is not that scary once you're on the horse.
<nephele> if you don't know that is allright
<nephele> but the question was never about using nix
* phschafft wonders where he seems to have talked about more space, being slow, or inefficient. he only recalls talking about a seeming complexity, which he questioned.
<matthewcroughan1> Well I didn't really understand what you were pointing out with the dimensionality, and still don't, so you'll have to try to convey it to me differently if you care to
<matthewcroughan1> Since you are not describing it clearly to me, I can only make assumptions about what you're intending to say
<phschafft> my point is that there seems to be complexity that I have no idea what it is for.
<matthewcroughan1> Right, so the main criticism is that you do not understand it
<phschafft> and on a personal note that specific complexity seems to be counter what I'm told nix tries to do.
<matthewcroughan1> Yes, there is no way over this than to use it, really
<matthewcroughan1> Imagine only reading source code, and never using the tool
<phschafft> please show me where I define a /main criticism/.
<nephele> You're not making sense here. Using nix will not answer the question of what it is for
<matthewcroughan1> The only point you have made then, is that there "seems to be complexity that I have no idea what it is for"
<matthewcroughan1> s/criticism/point/g
<nephele> if you don't understand what phschafft means with dimensionality i'm sure he can explain again. but this doesn't really serve anything if you only want to defend nix, it's not about critiquing it.
<matthewcroughan1> If you don't understand something based on its academic paper, or source code, then the only way to understand the "complexity" is to use the product, rather than reading about it?
<phschafft> yes I made that point. and I think you, yourself, said above, that it's not needed (as there is a mode that avoids it, as per your answers).
<matthewcroughan1> If you're not going to make any other points, that is
<phschafft> so I think it's fair to ask what it's for if it's not needed.
<matthewcroughan1> Oh the input-addressed mode?
<phschafft> you said something about bug-freeness and time it took to get to some point. that is something I can accept.
<matthewcroughan1> Because content-addressing isn't easy, and a lot of implementations are imperfect. Input-addressed can be called "pragmatic mode", or "realistic mode".
<matthewcroughan1> You won't be able to point me to a perfect content-addressing system, because none exists and there's too many flaws for them to be usable.
<matthewcroughan1> They can't do what a package manager does at least, bittorrent is for very specific kinds of transfer, not for package management, and using it for that wouldn't be possible due to those flaws.
<phschafft> please point me to any perfect non-trivial software. ;)
<matthewcroughan1> blake3 is interesting for this reason, but implementations of code that makes use of it, are slim pickings.
<matthewcroughan1> ipfs blake3, and tvix blake3 is going to make things very different, but point still stands.
<phschafft> nephele: my point is that the name is composed of three parts that are orthogonal. that's all.
<matthewcroughan1> I feel like you are idealizing content-addressing too much, because reality is that you can't do the things you think you can do with it so easily
<phschafft> (or at least we assume they are very close to orthogonal)
<matthewcroughan1> all of the inputs are content-addressed in Nix, so all source code (inputs) to the system are content-addressed.
Nasina has quit []
<matthewcroughan1> But all of the outputs are not content-addressed. So it may even be that your point is not valid anymore, depending on exactly what you were thinking, but I'm not 100% sure of what you were thinking.
<nephele> this is all very vague
<matthewcroughan1> What do you mean vague?
<matthewcroughan1> Let me try to be more concrete.
<phschafft> IF you think such a 'realistic mode' is required for the real world, then I fail to see benefit, as other systems use a 'realistic mode' *and* clearly work.
<matthewcroughan1> If you write a nix expression like `fetchurl { url = "https://something"; hash = "sha256-iahwfeiuaewfh"; }` that is evidently content-addressed. It will occupy `/nix/store/<hash>-source` and it will never be duplicated anywhere.
<matthewcroughan1> How is that vague?
<matthewcroughan1> So all sources, inputs to the system that require network access, are content-addressed, and are stored once in /nix/store. This is not vague.
* phschafft wonders why there is a url parameter in that expression, but bites his tongue.
<phschafft> matthewcroughan1: what is the '-source' here?
<matthewcroughan1> a fixed name that doesn't change, because it would otherwise change the hash of anything depending on it
<matthewcroughan1> if there was no url parameter, how would fetchurl know where to tell curl to fetch the file from?
<matthewcroughan1> fetchurl is a function that downloads data from the internet. It must know where and how.
<matthewcroughan1> I implemented fetchtorrent which also takes a url argument like fetchtorrent { url = "magnet:?xt=urn:btih:a88fda5954e89178c372716a6a78b8180ed4dad3"; hash = "sha256..."; }
<phschafft> so, let us assume that file was generated some way. okay?
<phschafft> I hear nix people are generally interested in reproduceable builds, so this should be a easy one.
<matthewcroughan1> has the question been asked yet or am I awaiting it?
<phschafft> oh, I was waiting for an ack to my 'okay?'.
<phschafft> so. we assume the file was generated someway. so there is some whatever mean to generate it.
<phschafft> and whoever hosts the file has got the file somewhere else (mirror) or generated the file themself.
<phschafft> so.
<phschafft> if we would run whatever steps are required to generate the file on the local machine and add it to the store. would it get the same name?
<matthewcroughan1> Yes, but in this case it is not a "Fixed Output Derivation", as it has made no network access, it is not fetching data from the internet. But it would occupy a /nix/store path the same as anything else, and this /nix/store path would be like `/nix/store/<hash>-my-generated-stuff` where the `hash` is computed based on its inputs.
<matthewcroughan1> The steps required to generate the file, effect the hash.
<matthewcroughan1> For example, let's say you are using busybox 1.1 to build the file, vs busybox 1.2, that hash will be different now.
<phschafft> so from the perspective of the store, a locally generated file is always different from a remote generated file?
<matthewcroughan1> Correct, unless you use content-addressed mode.
<phschafft> okay.
<matthewcroughan1> But inputs, random crap you fetch from the internet, is always hashed and those are called "Fixed Output Derivations".
<matthewcroughan1> It is not possible to not hash an input from the internet.
<phschafft> so what is adding the hash in the filename for if it differs depending on the source and means the file was generated?
<matthewcroughan1> Well it allows you to identify that the output is not going to be the same, because the same input was not used.
<phschafft> and as given above, the hash is different as well (as the /name/ parameter is included in the hash).
<matthewcroughan1> If you're using busybox 1.1 vs busybox 1.2, the output could indeed vary.
<phschafft> but that is not my example.
<phschafft> my example is something that actually generates the same file.
<matthewcroughan1> Whether it generates the same file or not is irrelevant in this mode.
<matthewcroughan1> In this mode, we do not trust that it will generate the same file, as we're not validating that it is. Instead we just say it's not the same, because the inputs/tools used to make it are not the same.
<matthewcroughan1> In content-addressed mode we have the means to validate even this, and optimize if it is, and it's not so much an issue. But this is only an efficiency difference, and IMO is not much of a dealbreaker for using the thing.
<phschafft> that seems like a very strange answer.
<phschafft> when the filename only depends on the content, then there is simply no reason to trust anything.
<matthewcroughan1> I'm not sure what you mean by that
<phschafft> the generaton will result in a file. and that might be the right one or not. but if it's a different one it would still get the name for whatever it really is.
<phschafft> ok, let me ask a follow up question:
<matthewcroughan1> Yes, but because we've got build isolation, and we've verified the inputs, we're pretty confident with the model we've created.
nephele has quit [Quit: Vision[]: i've been blurred!]
<phschafft> how is the part of the filename after the initial dash found ('source' or 'my-generated-stuff' in your examples)?
<matthewcroughan1> If they do vary, it will be for reasons outside of control of this model, such as the time of day, or hardware failure, memory availability, etc.
<phschafft> I mean if you are confident, then there is no trust problem anyway. I mean being confident literally means to trust.
<matthewcroughan1> Oh, function calls usually have the caller provide a name like `fetchurl { url = ""; }` can also just be `fetchurl { name = "omgwtfbbq"; url = ""; } and take a `name` arg which means it'll be `/nix/store/<hash>-omgwtfbbq`
<matthewcroughan1> and the default name for fetchurl is source
<matthewcroughan1> What I'm trusting is less though, because we're validating the inputs.
<phschafft> so the name part is untrusted?
<matthewcroughan1> In what way is this untrusted?
<phschafft> I mean you just said you can give any value.
<matthewcroughan1> You're lacking context for how Nix is actually used, and are assuming things for sure
<phschafft> so is the source that contains that expression trusted?
<matthewcroughan1> This function call lives in a .nix file in a git repository called nixpkgs which contains 100,000+ instructions for building software from source. Like pkgsrc.
<matthewcroughan1> So yes, you're trusting the author of that nix expression, but the filenames have nothing to do with trust, as far as I know.
<phschafft> you said: ... we do not trust that it will generate the same file ...
<matthewcroughan1> Yes, we think that if inputs change, we may not get the same result, so the store output path changes
<phschafft> so you don't trust the hash and therefore added the name. that is what I understood from what you said above. and now you tell me that the name part can also not be trusted.
<matthewcroughan1> the name is part of the hash compute, so yes, it changes the output path of all things that depend on it
<phschafft> yes. but what is the name part for?
<matthewcroughan1> it's arbitrary
<matthewcroughan1> here's some examples of paths
<phschafft> you said that it's arbitrary already. but what is it /for/?
<matthewcroughan1> it's just a name to put a file on disk
<matthewcroughan1> not really understanding
<matthewcroughan1> it is the name the thing may have in `/nix/store/<hash>-name`, in this case `name` is arbitrary and doesn't matter, it's aesthetic
<phschafft> I mean someone added that feature, and I guess that person had some reason for doing so.
<matthewcroughan1> It's nice to be able to differentiate things with ls
<matthewcroughan1> for example if I ls /nix/store/*bittorrent* I can distinguish fetchtorrent calls from fetchurl calls which have source
<phschafft> bust you can't trust the result to be correct. someone could just give any random name and break that.
<phschafft> and you need to know it (as it is part of the hash) to access the file.
<phschafft> so the next question would be why it's part of the hash.
<matthewcroughan1> I don't know how to answer your question, there's a whole section dedicated to trust in the thesis, and I also don't think the name is of particular importance here
<phschafft> so it is about trust?
<matthewcroughan1> well the nix expression being different then would cause the hashes to change, so yeah
<matthewcroughan1> so even that is hashed, all inputs are hashed
<phschafft> Why?
<matthewcroughan1> I'm getting tired and need to go to bed
* phschafft nods.
<matthewcroughan1> You have the thesis
<matthewcroughan1> if you're interested, that is explained better than I can explain it, right in there
<phschafft> that might be true. sadly, I don't feel any more interested in reading it than before our chat. really tried to find something that resonates with me. which is the sole reason for my questions.
<phschafft> I still would like to thank you for your time.
erysdren has joined #haiku
OscarL has joined #haiku
<phschafft> mau erysdren.
<erysdren> mua!
<OscarL> With the caveat that I haven't yet read all the logs... matthewcroughan1: "./configure --no-downloads" might be of interest?
<erysdren> mau!
<phschafft> OscarL: I'm sorry for that text wall!
* phschafft offers erysdren a cookie.
* erysdren gladly takes and eats the cookie :3
* OscarL extends formal salutations to phschafft, erysdren, and the rest of usual suspects.
* phschafft nods to OscarL.
<matthewcroughan1> Great so now we have --no-downloads, but how do I then bootstrap and produce the stuff that's missing as a result of disabling those downloads?
<matthewcroughan1> I think the only difference now is that when it gets to this point in the build, it will fail immediately instead of timing out because of a lack of DNS in the build environment?
bbjimmy has joined #haiku
<OscarL> you wrote: "Most build systems have ways of turning internet access off as part of the build". I just pointed to how to accomplish that for Haiku's build. (told you I haven't fully read the logs yet :-P)
<bbjimmy> On the last couple of updates, the mouse seems to freeze randomly. pressing escape on the keyboard un-freezes the mouse. some input server issue?
mmu_man has quit [Ping timeout: 480 seconds]
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
* OscarL reached the "And the fact that wifi breaks, works again, breaks, works again across releases indicates a lack of testing " part of the log.
<OscarL> nah...
<OscarL> some drivers are just damn crazy.... like the idualwifi7260 (or whatever is called)...
<OscarL> either they work right away on one boot, or don't work for months (so I can't even update).
dby has joined #haiku
<OscarL> until one day they decide to work... just for a day or two, and then stops connecting again :-D
<Viking667> nephele: did you say that reallocarray is in posix/stdlib.h? I can't find reallocarray in the relevant spot
<Viking667> Actually, I can't find that anywhere in /boot/system/devel/headers/
dby has quit []
<phschafft> time for me to join my lionesses.
<phschafft> erysdren: maybe we find some time the next days?
<phschafft> other than that, everyone have a good night :)
<OscarL> sleep tight phschafft.
<Viking667> g'night phschafft
talos has quit [Quit: The Lounge - https://thelounge.chat]
FreeFull has quit []
<matthewcroughan1> Okay my last build failed like this missing stddef.h https://termbin.com/lgx3
<matthewcroughan1> now that I've set --no-downloads
<matthewcroughan1> Wondering where that is supposed to come from
* OscarL reached the "where's reallocarray?" part of the log, and thinks: Viking667 might make good use of this: https://grok.nikisoft.one/opengrok/search?project=haiku
linuxmaster has joined #haiku
<Viking667> hm. That's strange. It's in opengrok, but I don't see which include file I'm meant to find that in.
<Viking667> Is the source code for haiku installed along with the rest of the system, or is that a package I install from the Depot?
AlienSoldier has quit [Quit: Vision[]: i've been blurred!]
<OscarL> givne those grok results, I was expecting for reallocarray to be in libroot.so, but seems it doesn't? (at least on beta5)
<OscarL> well, it was added in 29-Oct-2024, so post beta5 :-D
<OscarL> let me check on a nightly.
<Viking667> Ohhhhh. I've got r5 installed
<OscarL> Viking667: in nightlies: it is in: /boot/system/develop/headers/posix/stdlib.h:46
<OscarL> and: /boot/system/lib/libroot.so:00000000000b5bf0 T reallocarray
<Viking667> Huh. So that's why I couldn't find it - I'm not currently running nightlies.
<Viking667> I'll go take a lookie see...
<Viking667> hrev57937+129
<Viking667> so yes, it's in libroot
<Viking667> ... to answer the question, I seem to not be on nightlies.
<OscarL> it is on hrev58783
<Viking667> right. How do I "change over" to installing the most recent _working_ nightly release?
<OscarL> yeah, hrev57937 is beta5 (and you are on the 129 patch over it)
<OscarL> Viking667: pretty easy, but lemme fetch you a proper link to docs.
Aedil has joined #haiku
<Viking667> thank you - I'll go feed that into my browser.
OscarL has quit [Read error: Connection reset by peer]
OscarL has joined #haiku
<matthewcroughan1> Is there a flag to use all the cores in the haiku build process? It seems not to do that by default
* OscarL reached the "riding horses is not that scary once you're on the horse." part of the logs, and thinks: boy... I guess you haven't met the same "mare from hell" I had to deal with in my youth :-) (other horses were cool though).
<matthewcroughan1> Yeah maybe I should have said bike not horse
<OscarL> matthewcroughan1: I always use: "jam -q -j 4 <target here>"
<matthewcroughan1> headers/posix/size_t.h:9:10: fatal error: stddef.h: No such file or directory is weird.. wonder if it's some 32/64 bit nonsense
<Viking667> I don't have a stddef.h here in /boot/system/develop/headers/
<OscarL> I have stddef.h in two locations (haiku beta5): /boot/system/develop/headers/gcc/include/stddef.h and /boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/13.3.0/include/stddef.h
<matthewcroughan1> This is when compiling haiku from linux that this happens
<Viking667> Ah.
<OscarL> second one provided by the package: gcc-13.3.0_2023_08_10-4-x86_64.hpkg
<OscarL> first one provided by: gcc_syslibs_devel-13.3.0_2023_08_10-4-x86_64.hpkg
<matthewcroughan1> I set --no-downloads so I guess that caused this
<matthewcroughan1> So how can I reproduce those hpkg, from linux?
<OscarL> so that's more likely the cause... you need that gcc_syslibs_devel package to be present.
<OscarL> no idea there, sorry, I'm just a lowly noisy user.
<matthewcroughan1> ah okay maybe I need to use gcc8
<Viking667> Right. Where do people _normally_ look for their header files? /Haiku/system/develop/headers ... or /boot/system/develop/headers?
<x512[m]> /boot is used when referencing headers.
<Viking667> Hm, okay - so I got it right.
<x512[m]> User can give OS partition a different name, so it is not necessary "Haiku".
<nekobot> [haikuports] threedeyes pushed 1 commit to branch master: https://github.com/haikuports/haikuports/compare/614a4dafed8c...4e7d1bb99331
<nekobot> • threedeyes (4e7d1bb9): icedove: bump version
<nekobot> [haikuports] threedeyes pushed 1 commit to branch master: https://github.com/haikuports/haikuports/compare/4e7d1bb99331...e76e9c420e0a
<nekobot> • threedeyes (e76e9c42): icedove_bin: bump version
<OscarL> Viking667: if you wanna be fancy, you can use `finddir B_SYSTEM_HEADERS_DIRECTORY` :-)
<OscarL> or the even fancier: `findpaths -c ":" B_FIND_PATH_HEADERS_DIRECTORY` :-D
talos has joined #haiku
<Viking667> what on earth is ... that? I've never seen that.
<Viking667> Also, how would I integrate that into a Makefile?
<erysdren> with a $(shell ...) directive perhaps
<erysdren> like $(shell finddir B_SYSTEM_HEADERS_DIRECTORY)
<Viking667> hm.
<Viking667> Then it sounds like it might be a job for autosetup instead so it can write out the correct Makefile for me instead.
<Viking667> ...only, I don't think this particular project uses autosetup. Fossil does, as does sqlite3, but I'm not sure about the libfossil tree.
<Viking667> hm - revert that - it does.
<OscarL> We sometimes make use of those finddir/findpats in HaikuPort's .recipe files. Examples: https://github.com/search?q=repo%3Ahaikuports%2Fhaikuports+finddir&type=code
<Viking667> hrm. Figures. That page doesn't work very well in eww (emacs web browser)
<OscarL> those utilities are based on BeOS' find_dir() and Haiku's find_paths() APIs. We sometimes patch ported software to use those functions instead of relying on hardcoded paths, for better integration.
<OscarL> in case grok works better in your browser: https://grok.nikisoft.one/opengrok/search?project=haikuports&full=finddir
<Viking667> I switched over to chrome. sigh.
<OscarL> in any case, don't go nuts over it, I was just trying to highlight one of the little cool things Haiku has.
<Viking667> I'm pretty new to the whole Haiku way of doing things - so recipes are also new to me, though they're a bit like some other things I've seen in the past.
<OscarL> .recipes are "run" via HaikuPorter, but their content is just bash code in the end (with lots of helpers/setup/etc provided by HaikuPorter tool).
<Begasus[m]> morning peeps
<Begasus[m]> Hola OscarL
<OscarL> Viking667: here's the recipe for fossil, for example: https://github.com/haikuports/haikuports/blob/master/dev-vcs/fossil/fossil-2.25.recipe
<erysdren> morning Begasus
<OscarL> Hola Begasus[m] :-)
<Begasus[m]> morning erysdren (@_oftc_erysdren:matrix.org)
<Begasus[m]> stupid static lib doesn't want to play nice ... Warning: POLICY ERROR: development library entry "/packaging/qt6_multimedia/lib/libQt6FFmpegMediaPluginImpl.a" should be placed in "develop/lib"
<OscarL> mmm. static libraries... I should try to remember to remove one last .a from Python 3.9 and 3.10 on their next updates.
<Begasus[m]> well, it's not a mutual shared/static one, so this one should stay
<Viking667> OscarL: I'm just looking at those recipes now - that's intriguing.
<Begasus[m]> hi Viking667 new to recipes from what I see?
<Viking667> As I said, I'm new to haiku recipes, though I'm not new to the concept.
<Begasus[m]> that's half of the work done :)
<OscarL> heck, I started from zero :-)
<Begasus[m]> I started from zero too, then bep files, then recipes :)
<Viking667> I'm here to evaluate how many people know anything about fossil on Haiku. I see recipes for sqlite3 and fossil but not libfossil or fnc (a ncurses front end to displaying information from fossil)
<Begasus[m]> no one tackled it yet?
<Viking667> And one of the other reasons I'm here is: if someone actually knows how to get certain things working under Haiku, I'd like to get their help to contribute directly to the libfossil project.
<Begasus[m]> OK, I have libQt6FFmpegMediaPluginImpl in prepareInstalledDevelLibs, why won't it move it ...
Aedil has quit [Quit: Restarting Debian…]
<Viking667> Begasus[m]: there is a recipe for fossil that's reasonably up to date. The sqlite3 recipe's not quite as up-to-date, but isn't that badly off.
<Viking667> ... so clearly someone's looking at them.
<Viking667> someone called Zakero
<Begasus[m]> repology only mentions 1 item for libfossil? is that part of fossil?
vdamewood has joined #haiku
<Begasus[m]> doesn't seem so, the recipe only provides the cmd
<OscarL> Darn storm... might loose power soon if wind keeps like this :-/ /me goes fetch some flahslight.
Aedil has joined #haiku
<Begasus[m]> lighting a candle isn't a good idea probably OscarL ? :)
<Viking667> libfossil is a library version of stuff available normally from the fossil command.
OscarL has quit [Remote host closed the connection]
<Viking667> It's normally supplied with some standalone applications that all call into libfossil. One of those is called fnc, and I can't compile that at all, as it's complaining STAILQ is entirely missing.
<Viking667> "repology"?
<Viking667> that's funny. I see a Begasus mentioned in relation to the sqlite3 recipe. Is that you?
<Begasus[m]> eeps: client/fnc/fnc.c:7853:1: error: control reaches end of non-void function [-Werror=return-type]
<Begasus[m]> probably me yes ;)
<Begasus[m]> so far there's only one me at haikuports :)
<Begasus[m]> repology is my number one place to check for things like this
<Viking667> relevant for alpine, but not as up-to-date as upstream. Not quite.
<Begasus[m]> and has a seperate one for fnc
<Begasus[m]> libfossil build
<Viking667> I'm more after getting fnc to work under Haiku. Linux is ... well, it works fine. Even most of the BSDs work to a large degree.
<Begasus[m]> there are tons of errors for fnc :/
<Viking667> I know.
<Viking667> And I lack the experience of _where_ to look to fix them. Something's definitely entirely missing when talking about TAILQ
<Begasus[m]> no idea about TAILQ here (mind you, not a dev myself) :)
<Viking667> I'll head back into Haiku and recompile, see what it says at the head.
<nekobot> • threedeyes (8b9f1824): icedove: update patchset
<nekobot> [haikuports] threedeyes pushed 1 commit to branch master: https://github.com/haikuports/haikuports/compare/e76e9c420e0a...8b9f1824439a
<Viking667> so far, if I set up libfossil to not compile fnc, and change destination path for install, that all works once I set up prefix and exec_prefix
<Viking667> It's only while trying to compile fnc that things go very pear-shaped, and not in a good shampoo way.
deneel has joined #haiku
<Begasus[m]> right, quick search around the errors only lead back to the source for fnc, so no real help there either
<Begasus[m]> out of my skills :(
<Viking667> first instance: 171: TAILQ_HEAD, that's something I've seen before, but I can't think which queue instance I found it in.
<Begasus[m]> so far never came across it
<Begasus[m]> mv $libDir/libQt6FFmpegMediaPluginImpl.* $developLibDir
<Begasus[m]> still throwing a error, and not doing the move :/
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
OscarL has joined #haiku
<erysdren> hola OscarL
<OscarL> Hello erysdren :-) (back from a power outage)
<Viking667> Begasus[m]: are you running that under bash? Tried breadcrumbing it? (i.e. print then single-step each instruction?)
talos has quit [Quit: Konversation terminated!]
<OscarL> Viking667: seems Haiku doesn't has sys/queue.h, you *might* be able to just steal the one from OpenBSD (seems to be a header-only queue implementation, if I'm reading it right), and copy it into fnc's sources, and see how far that takes you?
<Viking667> I wondered about that, wasn't sure how much luck I'd have.
<OscarL> Chimera linux has a "musl-bsd-header" package as a dependency for fnc: https://github.com/chimera-linux/cports/tree/master/main/musl-bsd-headers/files
<OscarL> assuming you have any luck, I guess we could create a .recipe for such header files (we have some header-only libs already)
<OscarL> (funny that Firefox autocompleted for me the url for fnc :-D)
OscarL has quit [Remote host closed the connection]
OscarL has joined #haiku
<Begasus[m]> Viking667 when trying something new I always check Terminal/bash builds first yes
* Begasus[m] is back to qt6multimedia ...
erysdren has quit [Quit: Konversation terminated!]
freddietilley has joined #haiku
<OscarL> mmm, MAME 0.276... I remember compiling BeMAME 0.32 and 0.36b (IIRC) back in BeOS days :-)
<Begasus[m]> long time ago :)
AlaskanEmily3 has quit [Read error: Connection reset by peer]
AlaskanEmily3 has joined #haiku
<Viking667> hm. That's weird. If I have multiple Terminals open, I can't figure out how to switch between the individual Terminal instances with Ctrl-Tab.
<Molnija> :O
<Viking667> Ah, found it. Alt-Tab.
erysdren has joined #haiku
<Begasus[m]> OscarL: good thing we got someone taking care of mame now :)
<OscarL> yeah. I remember BeMAME not being *that* difficult to compile, but it was WAY smaller back then :-D
<Begasus[m]> it's a monster now, even on descent HW
* OscarL tries to find more examples of IBM Basic 2.0 PLAY statement strings (to play music on the PC speaker). But those words are way too general and search engines are pretty trash nowadays.
KapiX has joined #haiku
<Begasus[m]> still playing with the beeps? :P
<OscarL> yeah :-D
<OscarL> just played: "Frosty the Snow Man". Sounds OK, no KDL. nice!
<Begasus[m]> heh
<Molnija> i have at times screwed around with FreeBSD's spkr device, to similar aims
<Viking667> what's "KDL"?
<erysdren> kernel debugging land!
<erysdren> welcome...
KapiX has quit [Quit: KapiX]
<Viking667> hm. Can't say I've done anything significant with the kernel debugger.
<erysdren> it's also shorthand for when Haiku kernel-panics
<Viking667> Ah.
<Viking667> anyhow, I"m out of here. I'm gettingg too twrired.
<erysdren> cya l8r
Viking667 has quit [Quit: *croak*]
<OscarL> Begasus[m]: good thing I keep testing. Got a KDL when trying a string a bit too long :-D
pvalue has joined #haiku
<OscarL> Molnija: I "borrowed" the playtune() functionality from the same source used for the different *BSD spkr drivers :-)
<Begasus[m]> lol
<OscarL> From BeOS Newsletters times... there's already a "pcspeaker" driver that could handle actual PCM audio (8 bits, 20 KHz). And BeOS itself had a "pc beeper" driver. Haiku has not. Terrible omission, IMO! :-P
<OscarL> s/not/none/
<OscarL> my "/bin/poke" replacement had a beep() function since its early days, just needed some love to turn it into a proper pc_beeper driver :-)
<Begasus[m]> if it scratches your nerves fix it? ;)
HaikuUser2 has joined #haiku
<Begasus[m]> ln -s $libDir/Qt6/$f $binDir/$f6
<OscarL> Begasus[m]: will probably do tomorrow, yes. Needed to work on something simple (so I have some chances of success), but also driver related, as I want to get back to driver hacking for a bit.
<Begasus[m]> doing something wrong here I thinnk ... doesn't take the 6 :(
grexe has joined #haiku
HaikuUser2 has quit []
<Begasus[m]> hi grexe
grexe has quit []
grexe has joined #haiku
* grexe has finally setup Vision correctly as outlined in the Haiku blog:)
pvalue has quit [Quit: Vision[]: i've been blurred!]
<Begasus[m]> lol
<Begasus[m]> shouldn't be that hard? ;)
<OscarL> At least for me, Vision's setup gui is not particularly intuitive.
<Begasus[m]> I don't think it's harder then any other IRC client?
<OscarL> maybe because you're used to it, and to other IRC clients, I would say.
<nekobot> • threedeyes (10014110): waterfox: bump version
<nekobot> [haikuports] threedeyes pushed 1 commit to branch master: https://github.com/haikuports/haikuports/compare/8b9f1824439a...100141104ba7
<nekobot> [haikuports] threedeyes pushed 1 commit to branch master: https://github.com/haikuports/haikuports/compare/100141104ba7...90505240f46b
<nekobot> • threedeyes (90505240): waterfox_bin: bump version
OscarL-64 has joined #haiku
OscarL-64 has quit [Remote host closed the connection]
<Begasus[m]> if you never used IRC I could imagine yes :)
<OscarL> Aaaand, I just crashed Vision by just looking at its setup window. LOL.
<OscarL> Exception (General protection fault) :-/
<OscarL> Damn BMenus: "BMenuField::~BMenuField() + 0xc"
<Begasus[m]> must say I don't use Vision as oft as I used to these days
<Begasus[m]> with matrix and the bridge I got all I need in one
<OscarL> The thing is... in vision you already "have to know" the proper "GUI steps". Other clients tend to make it more clear: "Add network"-> add details, add nick(s). connect.
<Begasus[m]> Vision already does that, you just enter as binky ...err HaikuUser :)
<OscarL> (Kind of like with Shortcuts... you *can* add shortcuts, but having to select a key from a loooong menu instead of just selecting the key by pressing it is counter-intuitive.)
<OscarL> Begasus[m]: yes, it already has defaults setup for you, that you may have no idea how to change. that's what I was aiming at.
<OscarL> Anyway... what's intuitive for ones, may be extremely awkward for others...
<Begasus[m]> already got that OscarL :)
<OscarL> like Icon-O-Matic. :-P
<Begasus[m]> heh
<Begasus[m]> still keep tripping in there
<OscarL> Add a circle... no problem. now try to make it bigger (piece of cake on any other vector program I've tried)... in I-O-M... makes me change hobbies :-D
<Begasus[m]> lol
<Begasus[m]> and not even started the drop shadow :P
* OscarL avoided tripping into KDL again by using "play ${song// }". Damn thing last waaay too long.
gouchi has joined #haiku
erysdren has quit [Quit: Konversation terminated!]
TMM has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM has joined #haiku
<OscarL> mmm, avoided the PANIC in the driver, but now it just freezes, LOL :-) (hoping to learn to avoid these common pitfalls in driver development, so I can move to more complex things)
gouchi has quit [Quit: Quitte]
<Begasus[m]> planning to destroy your hearing?
<OscarL> Meh... forgot that I listen to Carcass and Cradle of Filth? can't be much worse :-P
Chai-T-Rex has joined #haiku
dalme has joined #haiku
ChaiTRex has quit [Ping timeout: 480 seconds]
<Begasus[m]> ah right lol
Anarchos has joined #haiku
<Anarchos> hello
<OscarL> good day Anarchos.
<Anarchos> thanks OscarL
<OscarL> reminds me that I have a (very basic) OCaml Language Extension for Pe that I should try to "finish", before 2.5.0 gets released (if ever).
<Begasus[m]> Hi Anarchos
<Anarchos> hello Begasus[m]
<Anarchos> Begasus[m]: i had a hard weekend, and 0% of salary improvement for this year, so i am very sad today :/
mmu_man has joined #haiku
<OscarL> stagnant salaries suck :-/
<Begasus[m]> sorry to hear Anarchos :(
dru_satori has quit [Ping timeout: 480 seconds]
<matthewcroughan1> Changing from GCC 14 to GCC 8 to build Haiku changed the error from headers/posix/size_t.h:9:10: fatal error: stddef.h: No such file or directory to headers/posix/limits.h:12:10: fatal error: float.h: No such file or directory
<matthewcroughan1> I don't see great docs on the requirements to build, they don't for example specify that you should use gcc 8, for that you need to visit the forum and see build failures
<Begasus[m]> gcc14? (guess it's a nightly thing? although I haven't seen that yet)
<OscarL> I haven't even heard of anyone using gcc8 to build Haiku since I'm on this channel (2022).
HaikuUser2 has joined #haiku
<OscarL> but I haven't read/heard much about boostrap requirements either :-)
<OscarL> matthewcroughan1: maybe this has some info you can use? https://www.haiku-os.org/docs/develop/packages/Bootstrapping.html
<matthewcroughan1> Well the error does change depending on the version of gcc used, and there is nothing specified about which version to use, so that is an issue on its own
<matthewcroughan1> Is it possible to speed up the configure btw? jam is not invoked until way later in the build, the ./configure takes ages and hogs a single thread instead of multithreading.
<matthewcroughan1> ./configure seems to be a bit of a lie too, because it compiles various software for like 10 mins, it's not just configuring, it's compiling
<matthewcroughan1> The bootstrapping doc is gold though, thank you
<matthewcroughan1> I don't think the doc is talking about bootstrapping on a linux host though.
<matthewcroughan1> Ah, no it is. But why does it say "Boot the bootstrap Haiku (e.g. in a virtual machine), edit the file “/boot/home/haikuports/haikuports.config” – entering your email address in the “PACKAGER” field – and finally open a Terminal and build the third-party packages:"
freddietilley has quit [Ping timeout: 480 seconds]
HaikuUser2 is now known as sokon
<matthewcroughan1> Okay so haikuporter is a necessary program in bootstrapping haiku on Linux, is this correct? This was a missing piece for me if so :D
freddietilley has joined #haiku
<OscarL> ./configure for me just takes a fraction of a second, but build haiku on haiku, and without using buildtools.
pabs has quit [Ping timeout: 480 seconds]
sokon has quit [Quit: Vision[]: i've been blurred!]
<OscarL> I think that normally, "./configure ../../buildtools" (or similar) just builds the buildtools once (on 64 bits they are only neede to compile the 32 bits bootloader). Then you basically never re-build buildtools ever.
* Begasus[m] never crossbuild Haiku on linux
HaikuUser2 has joined #haiku
<Begasus[m]> buildtools are only rebuild on changes
HaikuUser2 is now known as sokon
<Begasus[m]> and those are slim
<Begasus[m]> biab
<OscarL> Begasus[m]: but matthewcroughan1 is using that nix thing, and that seems to always start from scratch (if I understood correctly)-
<matthewcroughan1> Correct, but ignore that for now. It may be that it's not possible to bootstrap Haiku without some dev cache preexisting on developers machines.
<matthewcroughan1> If I discovered that, it'd be pretty gruesome don't you think?
<OscarL> matthewcroughan1: re: "don't think the doc is talking about bootstrapping on a linux host though." From said doc: "So far the bootstrap build has only been tested on Linux."
<matthewcroughan1> Yes, I caught that bit, but then it says to continue at some step you need to boot the Haiku you have produced in a VM, and do some more work inside that VM
<matthewcroughan1> Which may be suitable, I was just thinking do I really need to do that?
<OscarL> if it needs to build things IN haiku...
<matthewcroughan1> Well, yes, I'm trying to do as much as possible not in Haiku, or a VM.
freddietilley has quit [Ping timeout: 480 seconds]
<matthewcroughan1> I'm trying to produce a Haiku, on Linux and then boot that, avoiding a VM until it's really necessary is preferable to me
<matthewcroughan1> It may be that this is the necessary time to boot Haiku in a VM, but I don't know if it's actually necessary at that time, other than what the docs tell me
freddietilley has joined #haiku
<matthewcroughan1> But I suspect that it might be possible to not use a VM, and build stuff on Linux, but that it's just easier to get into Haiku at that point
<OscarL> AFAIK, it its not necessary if you download the needed .hpkg it wants during build. If you want to create those files from sources... maybe that's where you end up having to do the full bootstrap + VM dance?
<OscarL> can't nix just download the needed packages as build dependencies? At least at first, so you can at least build Haiku from nix, and *then* tackle the rest?
<sokon> Hello everyone, sorry to butt into the conversation but i'm trying to build picotool for raspberry pi pico on haiku beta5, and i'm at loss, error looks like something coming from c++ libraries rather than the package itself
<sokon> [ 85%] Built target mbedtls
<sokon> [ 86%] Building CXX object errors/CMakeFiles/errors.dir/errors.cpp.o
<sokon> In file included from /boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/13.3.0/include/c++/bits/basic_string.h:4109,
<sokon> from /boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/13.3.0/include/c++/string:54,
<sokon> from /boot/home/picotool/errors/errors.h:8,
<sokon> from /boot/home/picotool/errors/errors.cpp:3:
<sokon> /boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/13.3.0/include/c++/ext/string_conversions.h: In function '_Ret __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...)':
<sokon> /boot/system/develop/tools/lib/gcc/x86_64-unknown-haiku/13.3.0/include/c++/ext/string_conversions.h:86:25: error: 'ERANGE' was not declared in this scope
<sokon> 86 | else if (errno == ERANGE
<sokon> | ^~~~~~
<sokon> make[2]: *** [errors/CMakeFiles/errors.dir/build.make:79: errors/CMakeFiles/errors.dir/errors.cpp.o] Error 1
<sokon> make[1]: *** [CMakeFiles/Makefile2:774: errors/CMakeFiles/errors.dir/all] Error 2
<sokon> make: *** [Makefile:136: all] Error 2
<sokon> anyone knows some kind of solution, or straight to bug report?
dqk has joined #haiku
dqk_ has quit [Ping timeout: 480 seconds]
<OscarL> sokon: no problems with "talking over others" (it is not unusual for 2 or 3 conversations to happen concurently :-D). Multi-line pastes, though... better use https://bpa.st or similar.
<sokon> sure thing, i'm not that familiar with irc etiquette
<OscarL> ERANGE seems to be defined in headers/os/support/Errors.h
<sokon> will remember for the future
<sokon> that is indeed true, yet it doesnt seem to be included in string_conversions.h
<OscarL> I'm just a cavemen, and not a proper dev, so I would just #include <Errors.h> at the top of that errors.cpp file and see if it helps :-D
<sokon> tried that, nothing :/
<OscarL> :-/
<sokon> as said, it seems to be an include missing in gcc library for some reason
<sokon> so straight to bug report i guess
diver1 has joined #haiku
diver has quit [Read error: Connection reset by peer]
<OscarL> on some ocassions I had some version missmatch bewteen the gcc and gcc_syslibs_devel packages. Not saying that's your case, but... "pkgman full-sync" would at least make sure all your packages are in order.
<sokon> welp, let me do that and see what comes out
sokon has quit [Quit: Vision[]: i've been blurred!]
HaikuUser2 has joined #haiku
HaikuUser2 is now known as sokon
<sokon> nope, same thing, only iceweasel updated
<OscarL> alright. if you open a ticket, make sure to mention your current hrev (uname -v | cut -d' ' -f1)
<sokon> sure thing!
<OscarL> mmm
<OscarL> sokon: not saying this is the case... but... now I remember a somewhat similar problem I had when compiling pycryptodomex...
<OscarL> turned up being that said package had a header file with a header guard that clashed with one from Haiku.
<OscarL> I'm seeing the same in picotool/errors/errors.h
<OscarL> it uses "#ifndef _ERRORS_H", and that is BAD, as non-system software should not use header guards starting with "_" (should leave those for the system provided headers).
<OscarL> In this case... it clashes with Haiku's Errors.h, as it uses "#ifndef _ERRORS_H" too.
<OscarL> sokon: TL;DR: change picotools/errors/errors.h header guard to something else (eg: PT_ERRORS_H), and try compiling again?
<OscarL> sokon: for reference, original issue at haikuports, and the issue I open at upstream to fix it: https://github.com/Legrandin/pycryptodome/issues/698
<OscarL> (forgot to past link to original issue: https://github.com/haikuports/haikuports/issues/4684)
<OscarL> those header guard clashes give really weird errors :-D
mmu_man has quit [Ping timeout: 480 seconds]
bjorkintosh has quit [Ping timeout: 480 seconds]
<Begasus[m]> ~> qmake6 -v
<Begasus[m]> QMake version 3.1
<Begasus[m]> Using Qt version 6.8.3 in /boot/system/lib
<Begasus[m]> not bad for me :)
bjorkintosh has joined #haiku
wicknix has joined #haiku
<waddlesplash> matthewcroughan1: 1. if you specify --build-cross-tools to configure then of course it doesn't just configure but also builds the cross tools. If you give it a path to pre built cross tools then it won't do this and just use those.
<waddlesplash> matthewcroughan1: 2. a complete from scratch Haiku bootstrap build does require HaikuPorter on Linux, and is a multistage process that requires manual intervention at multiple points at present. It's very annoying and rarely done, and making it work in Nix will require basically understanding all steps of the process because it needs hundreds or more source inputs because it has to build the entire bootstrap package set on the
<waddlesplash> host, then the entire base package set inside the bootstrapped Haiku in a VM. it is not a simple process
<waddlesplash> HaikuPorter already verifies checksums of source inputs anyway
wicknix_ has quit [Ping timeout: 480 seconds]
<ilzu[m]> wohoo! My Haiku native rss reader's experimental WebKit2 build was able to render the an article with Webkit2 WebView. https://0x0.st/828D.png
<ilzu[m]> zardshard: Update, I was able to embed WebKit2 WebView to my own program.
<OscarL> cool :-)
<zardshard> Oh nice! Thanks for the update :-)
<OscarL> ilzu[m]: you also played for a bit with possibly using litehtml as a "webview", or I miss-remember?
<Begasus[m]> nice ilzu !
<Begasus[m]> biab
* OscarL imagines being able to use a very light weight "webview" as renderer for remi (a python package that creates "HTML based guis").
<ilzu[m]> OscarL: I have branches for WebKit1, WebKit2 and Litehtml, all of them working more or less, WebKit1 is currently most usable.
<OscarL> https://github.com/rawpython/remi, for those curious. As we don't have a working tkinter... that would be a nice "substitute" (if it could could use litehtml, I mean).
<ilzu[m]> I am getting closer to make a public release, just finish few features and a lot's of code cleanup first.
HaikuUser2 has joined #haiku
HaikuUser2 has quit []
mmu_man has joined #haiku
grexe has quit [Quit: Vision[]: i've been blurred!]
AlaskanEmi has joined #haiku
<matthewcroughan1> <waddlesplash> "matthewcroughan: 1. if you..." <- It seems not to be the case that it will build these cross tools with multithreading, instead they're locked to a single thread. What I'm asking is how I can make that process multithreaded, as configure doesn't have a `-j0` like `jam` does.
<waddlesplash> you should read the --help texts
<waddlesplash> because configure clearly states that if you pass -jN it will forward this to the build jobs it runs
AlaskanEmily3 has quit [Ping timeout: 480 seconds]
* OscarL wonders if sokon was able to fix the build by changing the header guard.
nephele has joined #haiku
mmu_man has quit [Ping timeout: 480 seconds]
<nephele> Hi there
<nephele> ilzu[m]: very cool :)
* nephele is reminded to finish up the wk2 keyboard patches
mmu_man has joined #haiku
<ilzu[m]> nephele: Thanks.
<ilzu[m]> One of these days I'll probably experiment with porting WebPositive to use WebKit 2.
janking has joined #haiku
janking has quit []
<nephele> well, you can if you want. Currently I'm working on getting webkit2 more useable first :)
<sokon> OscarL: the #ifndef thing indeed worked when i changed it and attempted to compile, there is still more things fix, but so far it looks more application specific, thanks for help!
<nephele> I'd expect the current webpositive tabs code to be very badly integrateable with webkit2. I'd probably do proper tree tabs in the same run. Though maybe those can come before webkit2 aswell
pabs has joined #haiku
<OscarL> sokon: no problem :-). Those types of errors are a pain in the rear. You may want to open an issue on picotool, so they change the header guard upstream.
<nephele> I want to write a "proper" settings class for user settings now :3. Maybe someone has ideas what is required aswell? I'd currently want to have a BMessage, and include a spec inside of it that shows all defined keys and their allowed values
<nephele> then a gui settings "editor" can offer these values for editing
<nekobot> [haikuports] threedeyes pushed 1 commit to branch master: https://github.com/haikuports/haikuports/compare/90505240f46b...72d7b09753d2
<nekobot> • threedeyes (72d7b097): iceweasel_bin: fix audio buffer size
<ilzu[m]> nephele, I might try to fix things in WebKit2 too, but deep diving into that huge codebase will take time.
<nephele> if you want pointers I'm available, and probably zardshard aswell :)
<nephele> we have started some docs on the haiku wiki
<zardshard> Indeed, feel free to ask me questions :-)
<nephele> though these two pages (and more in the future) could be moved to internals instead probably
<OscarL> nephele: would it be too difficult to add functionality to Web+ that allows a user to call custom scripts/bins on a given link? (context: finally was able to use the "RunWith" extension on Firefox, and makes using yt-dlp just way easier :-D)
<nephele> do you need this in webkit or in the OS?
cp- has joined #haiku
<ilzu[m]> nephele: Thanks.
<nephele> but to answer your specific question, no it would not be hard, atleast in a "diy your fork" sort of way :)
<OscarL> on Web+ would be enough for my intended usage.
cp-- has quit [Ping timeout: 480 seconds]
<nephele> bbjimmy: regression?
<nephele> or was this the same in beta5?
<nephele> (on that hw)
<nephele> OscarL: funnily enough I used to have a xdg-open script on linux i wrote myself
<nephele> it would even cache stuff from youtube_dl :)
<nephele> err, FreeBSD.. not linux
<OscarL> I used to have a python script (invoked via keyboard shortcut) that read the URL from clipboard, being able to "right-click" on a link and select different actions from a context menu is just much smoother :-D
<matthewcroughan1> Bah matrix is being funny, did you see what I said?
<nephele> depends, was it recently?
<matthewcroughan1> > It seems not to be the case that it will build these cross tools with multithreading, instead they're locked to a single thread. What I'm asking is how I can make that process multithreaded, as configure doesn't have a `-j0` like `jam` does.
<matthewcroughan1> I'll repeat for waddlesplash
<nephele> you can check the channellog in the topic matthewcroughan1, it will reflect what irc received
<OscarL> matthewcroughan1: when in doubt, consult the logs: https://oftc.irclog.whitequark.org/haiku/2025-03-31
<nephele> OscarL: the context menu is external (as in in webkit). But i see no reason why we can't have a "Run with context specific programm" option for the context menu
<nephele> if you want i can dig out where the context menu is declared in webkit
<OscarL> no hurries, thanks, as I doubt I'll be able to work on it myself.
<nephele> We should be able to "just" pass this to urlwrapper, and it should then use the correct app
<OscarL> was curious about if that would be possible at all in Web+ (or webkit as you point out).
<nephele> if you can figure out how to extend urlwrapper properly to handle this
<nephele> I can add support to webkit so it calls it on urlwrapper
<Begasus[m]> easy peasy OscarL :)
<Begasus[m]> Hi nephele :)
<nephele> probably some kind of url matching facility that urlwrapper employs, similar to what android calls "android app links". Basically have some sort of config file that maps url schemes with host names to applications
<nephele> does that make sense so far OscarL?
<OscarL> yes, albeit sounds more involved than just right-click on a link, select a menu item (I'm thinking of each menu item being, say, a bash script that calls what ever you want on the passed URL).
<nephele> each item?
<OscarL> each item in a "RunWith" context menu.
<nephele> I'd deal with this in a "Use OS" fashion, so the interesting stuff happens in urlwrapper and webkit only passes it along
<nephele> do you need additional context? i.e do you have to have two different ways to open the same uri?
<OscarL> (so you can call different actions for any given link, I was thinking in populating said menu from files in a given "script folder")
<nephele> In any case, if you want that this is more involved, because I can't really add this to webkit for every app that may use it right. So we'd need some kind of communication that WebPositive registers these menu items with webkit
<OscarL> Having different scripts makes it way easier to have say... download this video in x y format, and other item that says, just download the audio from there, and another option that says, give me the best video+audio quality, etc.)
<nephele> sure, should be possible
<nephele> just a bit more involved
<OscarL> not all actions/scripts might make sense for all links of course, but hopefully the user that set those up knows what they're doing (or adds proper error handling on their scripts).
<nephele> It depends on how you'd set this up in webpositive anyhow
<OscarL> I think it would make it easier to have scripts that work for different sites (still thinking mostly on the yt-dlp case)
<nephele> I don't think this needs scripts at all as such. just a mapping of urls to commands
<nephele> if those commands are scripts you put somewhere that is fine too
<OscarL> same in the RunWith extension I'm using... I can just add the command directly, or call a script. using the latter feels easier for me.
<nephele> This seems like a lot of manual hacky labor for a user to do...
<OscarL> (that darn RunWith Firefox extension was a PITA to setup in Win10 :-D)
<OscarL> I don't think so... again, I was picturing that Web+ could monitor a "script" folder in particular, and just show those in a context menu when you click on a link.
<OscarL> preatty easy, IMO.
<nephele> user has to write a script or move that somewhere already fails the useability test
<OscarL> (from end-user point of view, I mean)
<OscarL> beats waiting for a more complex sistem
<nephele> It doesn't really :)
<bbjimmy> nephele regression
<OscarL> using scripts seems just more flexible to me, but... oh well.
<bbjimmy> beta 5 computer runs just fine.
<nephele> OscarL: i mean, kinda? but a well designed system allows you to do much more with much less labor for a user. If it's just you, sure, writing a couple of shell scripts is easier. But if we don't do the "proper" path that cost is something every user has to pay
<nephele> and each of these things makes haiku harder and slower to use, the cost to users is much higher if they have to hack their way around the desktop to work
pabs has quit [Read error: No route to host]
<nephele> and also, script hooks are uneccesary for this. You can "just" compile Web+ yourself to intercept the goto_url event and make it do fancy stuff if you want already, and then use that instead of the system provided one
pabs has joined #haiku
<nephele> I'd argue that "play this video in a proper mediaplayer" is not a nieshe usecase at all. but rather something severall people might like. I also play videos with qmplay2 right now. But even so there is already a app in haikudepot that will download the video from your clipboard and run it in mediaplayer. Neat but overcomplex and slow to use :)
<nephele> beeing able to click stuff in vision and renga aswell to open it with yt_dlp would be neat to play it in the native video player. Not only for webkit based stuff, for example
<nephele> or links in text documents, in stylededit, in documentation using markdown etc. etc.
<OscarL> as long as it works (without me having to compile things), and I can call custom commands without a clumsy UI, fine :-)
<nephele> well, you won't get around compiling stuff either way, unless you wait for someome else to do it
<OscarL> I mean that as in having to maintain a modified copy of Web+/webkit for my personal use (instead of having it just as a standard feature).
janking has joined #haiku
<ilzu[m]> Speaking of modified copies of Web+ and WebKit, nephele could you check and perhaps review my change request on Web+ on Gerrit. It's been waiting there for one and a half months for review. https://review.haiku-os.org/c/haiku/+/8859
<nephele> sure, give me a moment
<ilzu[m]> Thanks.
<janking> Good Evning all :)
<ilzu[m]> Good evening janking
<Begasus[m]> g'afternoon janking :)
<janking> :)
HaikuUser2 has joined #haiku
HaikuUser2 has quit []
<matthewcroughan1> There is no example of the path to haikuporter in the bootstrap guide
<matthewcroughan1> What does it want it to be? Does it want it to be a path to the binary? A path to the folder the binary is located in? A path to the /HaikuPorter path that is inside of the root of the HaikuPorter source? There's these three things it can be, but it's not mentioned which it is
<matthewcroughan1> giving it a path to the folder containing haikuporter does not work, so is it the path to the binary?
Anarchos has quit [Remote host closed the connection]
<ilzu[m]> matthewcroughan: it wants three paths. Path to haikuporter application, path to haikuports repository and path to haikuports.cross repository. Not sure of the order, but it is all mentioned in the output of configure --help
<matthewcroughan1> Yes, but it doesn't specify whether it wants a path to a folder which has haikuporter in it.
<matthewcroughan1> It should say "path to haikuporter binary" instead, because that seems to be what it wants
<nephele> ilzu[m]: done
<ilzu[m]> nephele: Thanks
<OscarL> matthewcroughan1: the doc states: " the paths to the checked out haikuporter script (eg. ../haikuporter/haikuporter)"
<OscarL> (the bootstrapping doc I linked earlier, I mean)
<ilzu[m]> nephele: I'll get back to that later today after I get a bit further with this feature I am working on fro the RSS reader. But as you were confused how it fixes the problem, currently Web+ doesn't open the previous session if it gets refs at all. After the patch it first loads the previous session, and then opens a new tab on a window on current workspace or a new window in current workspace if one doesn't exist and then loads the ref in there.
<ilzu[m]> Also it fixes my constant peeve with Safari on macOS (not remembering the window workspaces), and saves the window worskpaces to session, and opens them in the same workspace they were when exiting Web+.
<nephele> I would like (in general) if apps know on which workspace they are if they send a message to open a new app, and this would open on the same workspace
<nephele> not the current one, but the one i clicked to open the application
talos has joined #haiku
<nephele> ilzu[m]: well, if it foregoes opening the old session if it gets refs maybe it should. I just don't understand why the policy is set to StartNewSession in that case
<nephele> or i guess what the policy is even for if it needs to be second guessed ;)
<nephele> Most people have probably set their settings to resume previous session already, they wouldn't be confused why it clears the session otherwise
<ilzu[m]> If it doesn't have a window on the current workspace (where you clicked to open the app) it opens a new window on that workspace. Or if use previous session is disabled in settings.
<nephele> huh, but that seems correct? or does it check "no window open" and confirms that as true when the browser is closed?
<ilzu[m]> Web+ clears the session on close, so without this patch when you click a for example menuitem which opens a webpage when Web+ is not open, it opens a new session with only this page, and when you close the app without killing it, it clears the previous session.
freddietilley has quit [Quit: WeeChat 4.5.0]
<nephele> And If i just open it it will restore the session?
<nephele> anyhow, this code seems a bit convoluted, with your explanantion your patch appears to be correct, but this code could use some restructuring...
<nephele> (barring style issues though :)
<matthewcroughan1> Wondering how the include path is being mangled to have this happen
<matthewcroughan1> ah it wants to be compiled with gcc13 not 14 I guess
<nephele> it's compiling gcc13 itself. the cross tools themselves should be compileable with a newer gcc or clang
nipos has left #haiku [Disconnected: Received SIGTERM]
nipos has joined #haiku
<ilzu[m]> nephele: I'll check and clean up and do restructuring a bit later. Thanks for reviewing it though.
<matthewcroughan1> Yeah so how is it getting so far in the compilation and then failing to find the stdlib.h it has presumably been depending on beforehand?
<nephele> I don't think you need to do restructuring in your comit, it should be mergeable as is ilzu[m]
<nephele> restructuring can come later if you still want to :)
<matthewcroughan1> Ah okay it could be that the include path isn't set by the configure script
<matthewcroughan1> so it does make eveyrthing, but then the include path is not set when jam gets to it
<nephele> just a fyi, your multiline matrix comments are really badly readable. please use a pastebin instead
<nephele> (just not "the" pastebin dot com, that one is terrible xD)
<matthewcroughan1> at least this configurePhase only takes 4 mins now, instead of 30 mins since I figured out you actually can use -j32 on the configure script
<matthewcroughan1> you could have your bridge do that for you, but I'll keep it in mind
<nephele> it's your bridge. not mine.
<matthewcroughan1> I'm just using some random bridge
<nephele> Doesn't really matter to me, if you choose to use a foreign protocol and bridge then you will have to deal with whatever mangling it does :)
janking has quit [Quit: Vision[]: i've been blurred!]
<scanty> good morning.
<OscarL> hey there scanty :-)
<scanty> OscarL: good to see you!
<OscarL> same there, pal!
<scanty> i had 4 week updtime, then the fat driver crashed
<scanty> uptime*
* nephele still doesn't understand how a personal computer can have uptime > 24h
<scanty> OscarL: is it safe/worth it to update to nightly build?
<OscarL> scanty: mmm, Tracker has been acting up way too much for my taste.
<scanty> ah, i see.
<scanty> maybe i shouldn't poke the bear, and stick with what i have since it clearly works.
<scanty> nephele: because i never shut my computer off.
Rafaga2k has joined #haiku
<OscarL> yeah, unless you strictly needs some thing in nightly (I guess the updated fat driver in your case)... better to stay in beta5 for now I'd say :-)
<nephele> scanty: it doesn't matter. if the update gives you trouble just revert. But yes, nightly is unstable...
<scanty> OscarL: yeah, i agree. i just wanted your opinion :-)
<OscarL> but I guess that it also depends on your Tracker usage, scanty.
<scanty> i see.
<scanty> maybe i'll switch later
Rafaga2k has quit [Remote host closed the connection]
<OscarL> scanty: I have been playing with a pc speaker driver lately, KDL ensued, making my short uptimes even shorter :-P
<scanty> oh no!
<nephele> scanty: do you not turn it off because of some defect? i.e takes too long to boot? or just in general?
<scanty> going to try your peek/poke driver with my NES one of these days.
<nephele> I mean i don't "really" turn off my steam deck, but that has proper standby support
<scanty> nephele: just in general, i like to have certain windows open in certain workspaces and the only way to assure that is by keeping the computer on and booted
<nephele> ah, so a defect. That makes sense
<scanty> indeed :-)
<nephele> Haiku apps mostly already have support for archiving and unarchiving of their classes, witth a bit of instrumentalization the launch_roster should be able to, ideally, restore the session somewhat
<nephele> maybe not with every ui state (say, for vision restoring the chat view probably makes little sense) but for where it makes sense it should be possible
<OscarL> gtg. Have a good day, everyone. See you around!
janking has joined #haiku
OscarL has quit []
<scanty> hope to see you later OscarL
<scanty> ack, he left already.
<sokon> OscarL: i got picotool to compile, time to try and see if it actually works
<scanty> sokon: he left already
<sokon> oh he did, i didn't notice
<sokon> anyway i did get it to compile so hopefully we may be able to do some raspberry pi pico programming using haiku soon
<janking> wow rasberry pi :)
<janking> have you try Haiku on Radaxa x4?
<Begasus[m]> hi scanty :)
<janking> hi sokon have you try Haiku on Radxa x4?
<sokon> janking: i don't have it on hands, but i plan to buy it someday so i'll make sure to try
vdamewood has joined #haiku
<janking> ok sokon i wating for a Radxa x4 so ill try it to.
<scanty> hi Begasus[m]
<matthewcroughan1> Is there a particular way the jam include path can be appended to?
<matthewcroughan1> somehow the include path is not being set correctly after configuring
gouchi has joined #haiku
gouchi has quit [Remote host closed the connection]
sokon has quit [Quit: Vision[]: i've been blurred!]
janking has quit [Quit: Vision[]: i've been blurred!]
janking has joined #haiku
<waddlesplash> matthewcroughan1: if you are doing a bootstrap build, are you using the @bootstrap-raw target?
<waddlesplash> if you aren't then weird compile errors may happen
<matthewcroughan1> I am yes
<waddlesplash> well, you're probably going to have to do your own investigation here
<waddlesplash> the bootstrap builds are really "expert mode" and rarely done
<waddlesplash> it's expected at the moment that you'll have to do some steps manually, really. It would be nice to automate all this but for the moment it hasn't been necessary and it would be a lot of work
<waddlesplash> I last did an x86 bootstrap build last fall, which I did manage to get working in the end after much trial and error, so it is at least possible
<waddlesplash> matthewcroughan1: ^
<matthewcroughan1> "it's expected at the moment that you'll have to do some steps manually", which is totally fine as long as they are documented and not mysterious
<matthewcroughan1> You don't have to tell me it's hard though, or try to encourage me not to
<matthewcroughan1> I'm well aware of what building software entails
<waddlesplash> matthewcroughan1: well they aren't documented. This process was written originally as an internal implementation detail and it wasn't expected anyone but Haiku developers would need to use it.
deneel1 has joined #haiku
<matthewcroughan1> Hah
<waddlesplash> so, have fun figuring it out I guess
<matthewcroughan1> Okay, this is epic.
<matthewcroughan1> I wish you'd stop creating a non-existent class system of "developer" vs "user", if you aren't going to help by suggesting a variable needs to be set, or some genuine trivia that is going to assist me in bootstrapping, why say anything?
<matthewcroughan1> All you're doing is being discouraging, it's not productive!
deneel1 has quit []
deneel1 has joined #haiku
<matthewcroughan1> The Haiku devs are not some elite class, but your comments would make them appear this way. If there's something undocumented that you know, just let me know
<waddlesplash> I am telling you what bootstrapping is going to require and informing you that I don't think anyone will be able to actually walk you through the process and that you will likely have to figure some things out yourself
<matthewcroughan1> Unless you wish the bootstrapping to be shrouded in mystery
<waddlesplash> I don't, but the fact is that it currently is. It would be nice to fix this but it's such a low priority item that nobody is working on it
<matthewcroughan1> Yes, I'm posting about the roadblocks, and hoping I'll get a response that isn't "probably best not to do that because only devs know"
<waddlesplash> so, "patches accepted"
deneel has quit [Ping timeout: 480 seconds]
<matthewcroughan1> Yes, the ability to compile the OS from source is a low priority issue, lol
<matthewcroughan1> I don't know if I believe that it's that bad either, I'm not sure where you're getting the idea that it's genuinely unreproducible from
<waddlesplash> depends on what you mean by "from source"
<waddlesplash> most people who want to work on Haiku just want to work on one particular component
<matthewcroughan1> What else could I possibly mean other than bootstrap Haiku from source code?
<waddlesplash> because "Haiku" could mean the code that is in the Haiku repository, or it could also mean the dependencies?
<waddlesplash> most projects when you build them "from source" assume you get deps from a binary package manager
<matthewcroughan1> Bootstrap from source only ever means one thing. It means all the source code gets built by a compiler, without any random blobs being shoved in that have been built before.
janking has quit [Quit: Vision[]: i've been blurred!]
<waddlesplash> well, Haiku is no different, but since Haiku is an OS we have our own binary package manager
<waddlesplash> bootstrapping, sure
<waddlesplash> but you said "compile the OS from source", which could include deps or it could not
<matthewcroughan1> I mean, if what you were saying were true, it'd be pretty bad, because it means Haiku isn't able to be compiled from source by more than a few people, which is very very bad.
<waddlesplash> again, this is possible, but don't expect people to just point to some random documentation explaining how to do it
<matthewcroughan1> I don't think what you're saying is true either. Because if it were true, you'd know why it wasn't true, and be able to tell me.
<matthewcroughan1> I don't think I have any expectations. Which is why I'm chatting here and asking questions.
<waddlesplash> matthewcroughan1: Haiku isn't able to be compiled completely from source except by people who have deep build system knowledge (or are willing to whack computers until something works), yes.
<matthewcroughan1> Okay, and I have about 50% of it compiled from source, and it fails to find stdlib.h from its own ./configure when I do the jam build as the next step.
<matthewcroughan1> Are you interested in helping?
<waddlesplash> in practice this is probably "a few people". all the necessary tooling is available and public but "some assembly required", and that assembly requires a lot of expertise
<waddlesplash> no you do not
<waddlesplash> you have less than 20% I think based on your descriptions
<waddlesplash> the jam bootstrap build compiles dozens of packages with haikuporter as part of its run
<matthewcroughan1> Okay, whatever the percentage is, I have the cross-toolchain compiled, and a few objects built by that toolchain are being produced. Then some dependency on stdlib.h is unmet, because of some variable, or other thing, is not set properly.
<matthewcroughan1> Are you interested in helping?
<waddlesplash> including GCC again (this time for Haiku), coreutils, and so on
<waddlesplash> I am not really interested in figuring out problems that may be caused by your Nix setup
<matthewcroughan1> Okay, maybe it's best you don't comment on my endeavours and just ignore me instead of telling me it's hard, and not offering any help then.
<waddlesplash> if you want to try a bootstrap outside Nix, then sure I'll help, and then once that works you can go make it work inside nix on your own
<matthewcroughan1> Your prejudice is now on full display, and it's not productive, or welcoming.
<waddlesplash> once again: I will help, but not if you add extra requirements on top of the existing bootstrap process
<matthewcroughan1> Once again, don't bother. I'm not interested in conversing with someone with this amount of prejudice.
<matthewcroughan1> You do not need to help me.
<matthewcroughan1> I also do not think you know how to assist, as you've only told me it's hard so far without offering even one bit of input on the problem.
<waddlesplash> because your description of the problem is basically useless to do anything
<waddlesplash> you didn't post a pastebin with a full build log that failed
<matthewcroughan1> stdlib.h is missing. How is Jamfile/jam setting up the include path after the configure script is done?
<matthewcroughan1> Is the current working directory an input? Is it set? What sets it?
<waddlesplash> and I didn't encounter that before when I did a bootstrap
<waddlesplash> so, I have suspicions that this is somehow due to your setup
<matthewcroughan1> Okay, guess what. Diversity of distribution, of software, of packaging exists. And you seem disinterested in helping because it's not your system. Which shows you lack an understanding of the system
<waddlesplash> no
<matthewcroughan1> If you want a fragile monoculture, go ahead.
<matthewcroughan1> I will bootstrap this thing with or without you. I don't like your attitude of dangling a carrot in front of my face.
<waddlesplash> you seem to expect us to do your work for you
<matthewcroughan1> If you don't want to help, then simply do not. But don't be rude.
<matthewcroughan1> If I post an error, you do not have to reply to me.
<waddlesplash> anyway your description of the problem is still again useless
<matthewcroughan1> Ok. Thanks.
<waddlesplash> which stdlib.h is missing? there are at least 4 in the process I think
<waddlesplash> and due to how jam parallelizes there could be an error preceding that which caused this one too
<waddlesplash> so again... where's the full build log?
<waddlesplash> matthewcroughan1: I don't think there's anyone currently in this channel besides me who has completed a bootstrap build (there are others but they don't tend to hang out on IRC, just the mailing lists), so you can ask questions but if you aren't interested in my answers and requests then I don't think anyone else will be able to help you either
<matthewcroughan1> I noticed there were 4 stdlib.h's in the directory as part of the build, yes. Which is why I'm asking how the include path is set up by jam, and is the cwd an important input
<waddlesplash> the cwd should not matter
<waddlesplash> jam should always be run either from the root or preferably the generated directory
<waddlesplash> however, the PWD environ must be set to the actual cwd when jam is started
<waddlesplash> all shells take care of this automatically but if you are invoking Jam without a shell, then it may not be
<matthewcroughan1> Can you recommend a paste service for the log of 48k lines?
<PulkoMandy> waddlesplash: I ran into problems doing bootstraps from mksh. But bash was fine. Never found why that happened. So it may be a good idea to get it working on a "known good" setup
<matthewcroughan1> bash is what is being used
<waddlesplash> matthewcroughan1: there are lots of paste and file upload services, choose your favorite?
<waddlesplash> pastebin, GitHub gist, 0x0.st
<matthewcroughan1> Do you know of one with a higher limit than termbin.com?
<matthewcroughan1> and that you can interface with netcat?
<waddlesplash> 0x0.st has command line paste anyway
<matthewcroughan1> I can't just echo "hello" | nc 0x0.st 9999 ?
<matthewcroughan1> I can do that with termbin, which is why I like it
<waddlesplash> no you need to use a curl command
<waddlesplash> PulkoMandy: yes
<waddlesplash> which is why, as I said, I am disinterested in helping anybody bootstrap for the first time in a novel environment, because who knows what errors will be due to the environment rather than just user error
<matthewcroughan1> the log is 7.3M, I don't think any service will have this
<matthewcroughan1> do you have a magic-wormhole client?
<matthewcroughan1> You're not interested in bootstrapping in a different environment, and therefore increasing the strength of the project?
<matthewcroughan1> bootstrapping in only one environment is a great way to ensure only 2 people on earth can build it
<PulkoMandy> matthewcroughan1: That's not what waddlesplash said
<waddlesplash> indeed, it isn't
<PulkoMandy> The bootstrap process is fragile and not well tested, so first get it running on a known environment, and then you can try bringing it elsewhere
<waddlesplash> bootstrap for the first time on just regular Linux, and once you've done that successfully, then work on Nix
<waddlesplash> I will readily help with the first part, the second part I expect you would tackle more on your own once the first part works
<PulkoMandy> Trying it directly in an unusual setup, you will run into a lot of problems, in addition to the existing problems of the bootstrap, making it very hard to make any progress
<waddlesplash> yes
<matthewcroughan1> Yes I know. My goal is to get it working with Nix, if that's a problem and you do not want to assist, you're not obligated to help me.
<matthewcroughan1> You can keep saying it is hard til the cows come home, I'll still be around trying it.
<waddlesplash> why do you refuse to do it another way, before doing it with Nix?
<matthewcroughan1> Because if it just works, it won't teach me anything about how the build system is setting vars, or what it needs.
<PulkoMandy> It won't work
<PulkoMandy> That's what we're trying to say: fix it in its home environment that's already broken, before bringing it elsewhere
<matthewcroughan1> You also do not understand what you're asking for. How do you do something "without nix"? Do I have to install ubuntu and use apt to get a toolchain?
<matthewcroughan1> Not sure what you're even asking me to do, because you're focusing on something which is not relevant to building the software.
<PulkoMandy> probably Debian rather than Ubuntu, but yes, something like that. And on our side we should doa better job at documenting which linux flavors are tested and which are working (if any)
<PulkoMandy> And with which versions of Haiku and haikuports
<waddlesplash> having something "just work" isnt useless but will in fact teach a lot about how the process is supposed to go, and then when in another environment it doesn't work, one has a baseline to compare with
<matthewcroughan1> We have a toolchain. We have a cross-toolchain. We have a few objects being built, but a path is set wrong somewhere. So you're telling me to throw away everything I've built because there's a variable unset!
<waddlesplash> i have no idea if there's a variable unset or not
<waddlesplash> because I don't know what is actually causing the errors you are describing
janking has joined #haiku
<waddlesplash> because I still haven't seen them!
<matthewcroughan1> Do you know how the include path works with the setup you guys have then, or not?
<matthewcroughan1> I'm not sure what compiler is being invoked, or how its include path is set. It should be possible for you to describe how the compiler is invoked by jam, and how its environment is setup.
<waddlesplash> there are MULTIPLE WAYS the include path is set up depending on WHAT is being built
<waddlesplash> since I don't know what is being built and at what stage of the process, I don't know what could be going wrong further
<matthewcroughan1> Unless that is arcane knowledge that nobody knows anymore.
<nephele> "something somewhere goes wrong, fix it!" is not a good question
<waddlesplash> you can literally check the Jam rules, there are 3-5 rules that invoke the compiler to build a file (well actually 6-10 depending on how you count) and those have variables which control their execution which can make it behave totally differently in different contexts
<waddlesplash> so without knowing full context I again can't really do much
<matthewcroughan1> The configure script runs perfectly well. It produces output. So all of that stuff is working fine. jam -j32 -q @bootstrap-raw fails with https://termbin.com/0w6s
<matthewcroughan1> the configure script logs prove a stdlib.h is available, as the cross-toolchain is built successfully. Then jam fails to invoke the compiler with the appropriate include path for some reason.
<matthewcroughan1> Yes, I'm less familiar with jam, but I have been attempting to read the files to figure out what's going on.
<waddlesplash> matthewcroughan1: this is an unhelpful excerpt. The command at the beginning is not what produced this error at the end. Some other command further up is.
<waddlesplash> so either paste the whole log, or run jam with -j1 to get a fully intelligible output
<matthewcroughan1> Yes, sadly I lack a paste service that allows a 7MB log, and you haven't responded to whether you have a magic-wormhole client to receive this file.
<waddlesplash> 0x0.st does
<matthewcroughan1> It does seem to, yes https://0x0.st/82NA.txt
<matthewcroughan1> Also Haiku seems to depend upon the existence of .git inside of the build directory, which IMO is pretty bad, so I have to fake that at the beginning, so ignore those log lines.
<waddlesplash> it depends on .git because it needs to know the Haiku revision in order to set package versions at build t ime
nephele[m] has joined #haiku
<waddlesplash> you can specify one manually in an environ, but if you don't use the one the git checkout actually comes from you will get weird package version errors later
<waddlesplash> so, that may be related here
<matthewcroughan1> I can use the one from the git checkout, but git itself can't clone reproducibly the bytes on disk for a given revision
<waddlesplash> oh and look at that
<waddlesplash> BUILD FAILURE:
<waddlesplash> ...failed updating 2 target(s)...
<matthewcroughan1> which is why the .git gets removed in the context of nix, because you can't hash a directory that can't produce the same bytes on disk twice
<waddlesplash> the error you pasted is *neither* of the 2 failures
nephele[m] is now known as the
neoncortex has joined #haiku
<waddlesplash> failures in jam are always printed with "...failed"
<waddlesplash> matthewcroughan1: so, grep your own log for that. it appears in 2 places, and those are the real failures preventing build progress. they're further up than the bottom
<waddlesplash> ...failed DetermineHaikuRevision1
<waddlesplash> and ...failed BootstrapRepositoryFetchPackage1
<waddlesplash> the first has a very obvious error message just above
<matthewcroughan1> Not sure I follow, what is it you're highlighting as relevant?
<matthewcroughan1> Are you saying the reason it failed is not due to stdlib.h being not-found?
<waddlesplash> the second is a few lines up from the error but is easy to miss, it's this:
<waddlesplash> matthewcroughan1: correct. there's no ...failed <Target> after that
<waddlesplash> failed targets always get that printed
<waddlesplash> zlib_bootstrap_source-1.2.13-1-source.hpkg does not have a cross-devel package defined!
<matthewcroughan1> Right so failure to find stdlib.h is because of something very different
<waddlesplash> this is the other error
<waddlesplash> matthewcroughan1: no, actually in this context that error is "expected" and should just be ignored altogether
<matthewcroughan1> Okay, so how is it that I can manually set this rev? By var or --option?
<waddlesplash> jam didn't fail that target, see?
<waddlesplash> it just ignored the error
<waddlesplash> matthewcroughan1: did you read the part where I said you should read the logs yourself
<matthewcroughan1> I mean there's a lot of them, it helps to have a knowledge of Haiku and domain specific knowledge that you have, to be able to understand the relevance of those logs
<matthewcroughan1> which is why I asked at all in this chat for help
<waddlesplash> I literally explained how to read the logs
<matthewcroughan1> which you've now reluctantly given me?
<waddlesplash> grep for the "...failed" and read up
<waddlesplash> upwards
<matthewcroughan1> it's 48,000 lines, I think you are genuinely a bit out-of-touch in regards to telling me I need to read this without knowing what I'm reading, or expecting me to know how to read it.
<matthewcroughan1> and for an obscure build system like jam, which definitely only a few people know how it works.
<matthewcroughan1> Yes, I could read, understand, parse this, in a month or two.
<waddlesplash> if you are going to refuse to do something as simple as "grep for something and read upwards from there", you are going to wear out whatever remainder of welcome you still have
<waddlesplash> you only need to read like a dozen or two lines
<matthewcroughan1> Grep for what? How am I supposed to know this subtle thing about jam?
<waddlesplash> I literally said what to grep for
<nephele> "grep for the "...failed" and read up"
the is now known as grep
grep is now known as Guest12638
Anarchos has joined #haiku
<Anarchos> hello
<nephele> hi Anarchos
Guest12638 has left #haiku [User left]
FreeFull has joined #haiku
<matthewcroughan1> K, so all I need to do is make a haiku-revision file presumably containing a git revision on a single line, and that specific error should move on
<Anarchos> nephele are you fluent in Jamfiles ?
janking has quit [Quit: Vision[]: i've been blurred!]
<nephele> not really, i understand them a bit :P
<nephele> matthewcroughan1: you can set it in an enviroment variable
<nephele> the build also tells you this
<matthewcroughan1> I still fail to see where it tells you this
<matthewcroughan1> Will the file work? I'm happy with that
<waddlesplash> this file is an implementation detail, you should not write it directly
<waddlesplash> use the environ as the build error notes
<Anarchos> nephele cause the ticket i open dev.haiku-os.org/ticket/19502 is only a Jamfile to update but i don't know :)
<matthewcroughan1> I did make a file called haiku-revision with contents helloworld but that didn't seem to stop this from happening https://termbin.com/18gk
<matthewcroughan1> Ah okay, but I don't see where it is noted, I am grepping the logs
<matthewcroughan1> ah I see now
<nephele> Anarchos: what revision modified the files in quitest?
<matthewcroughan1> thanks
<nephele> question*
<Anarchos> nephele no idea, but some source files of hid_decode have been moved to hid_shared
<nephele> yes, but do you know when they were moved?
<Anarchos> no
<nephele> i guess your problem is that hid_decode does not build now?
<nephele> I can take a look later, sure
<Anarchos> nephele yes
<Anarchos> thanks
janking has joined #haiku
* Anarchos is idle: BRB
<nephele> Anarchos: hid_decode dir was last touched in 2014
erysdren has joined #haiku
<nephele> did you need this tool for something specific?
<Anarchos> nephele yes : i have a us keyboard misbehaving (usb report not the good size, or receiving a B_GET_KEYBOARD_ID ioctl which is not handled by the USB KeyboardProtocolHandler). I saw on other tickets that in this case, the developers asked for the hid_decode runned on the /tmp/usbXXXX.hid file
<nephele> you can "just" decode it with a web tool if you want
<nephele> it's not a haiku specific format but a usb specific one
<Anarchos> nephele sure but why not solved our own tool building ?
<nephele> I don't know if this still works after all this time anarchos. it probably requires more than just a jamfile fix
<Anarchos> nephele maybe, but i think it is worth the try if it is only a matter of Jamfile. And in the other case, why not delete an obsolete unbuilding tool in the source tree ?
janking has quit [Quit: Vision[]: i've been blurred!]
<JulesEnriquez[m]> nephele: Do you recall what Wacom drawing tablet models work in Haiku?
<JulesEnriquez[m]> Somebody's asking about drawing tablet support over in Haiku Community Discord.
erysdren has quit [Quit: Konversation terminated!]
<JulesEnriquez[m]> On a related note, I should prolly try my Wacom Intuos on Haiku soon again.
<JulesEnriquez[m]> Last time I tried it a year ago, it wasn't recognised.
<Anarchos> JulesEnriquez[m] did you look for 'wacom' in grok.nikisoft.one ?
<nephele> I know what tablets of mine work
<nephele> but if you want the proper answer the hid driver has some hardcoded devices it will attach to
<nephele> yeah if you want it to be recognized add it to the driver and try if that works :P
<JulesEnriquez[m]> Thanks, will look into that later.
<JulesEnriquez[m]> Guess I'll be learning how to do Haiku development in the very near future. :D
<nephele> the product id here refers to the usb product id
<nephele> you can check this with listusb
<JulesEnriquez[m]> nephele: Oh no, a switch statement! :(
<JulesEnriquez[m]> Kidding, it's not the end of the world.
nephele has quit [Remote host closed the connection]
nephele has joined #haiku
<JulesEnriquez[m]> But it just reminded me of a professor who was adamant about avoiding using switch statements.
<JulesEnriquez[m]> s/using//
<nephele> well, maybe not the end of the world. but it crashed my irc client. or maybe that was bad timing
<nephele> you can use ifelse if you really want to, but a switch statement can be optimized by the compiler
<nephele> anyhow, what this basically does is by the usb device id (assuming the vendor id was already accepted before somewhere) set the device up with a device specifc max x value and max y value, and the operation mode, i.e like which class of wacom device this operates
<nephele> i know for example that my wacom bamboo tablet works fine with pen input but touch does not work
<nephele> (if multi-touch is a thing on it, then it would be cool to be able to rotate the canvas in things like wonderbrush with it :D)
vdamewood has quit [Quit: Textual IRC Client: www.textualapp.com]
nephele has quit [Quit: Vision[]: i've been blurred!]
Anarchos has quit [Quit: Vision[]: i've been blurred!]
AlienSoldier has joined #haiku
erysdren has joined #haiku
Chai-T-Rex has quit [Remote host closed the connection]
Anarchos has joined #haiku
zardshard has left #haiku [Error from remote client]
Aedil has quit [Ping timeout: 480 seconds]
ChaiTRex has joined #haiku
HaikuUser2 has joined #haiku
FreeFull has quit [Quit: Lost terminal]
<nekobot> [haiku/haiku] waddlesplash pushed 1 commit to master [hrev58787] - https://git.haiku-os.org/haiku/log/?qt=range&q=2b5263a0d93d+%5Ec2aac2531946
<nekobot> [haiku/haiku] 2b5263a0d93d - drivers/framebuffer: do not attempt to map whole PCI BAR
HaikuUser2 has quit [Quit: Vision[]: i've been blurred!]
<scanty> Anarchos: i was bored and looking at bootman.S before. code looks good. was not expecting 16-bit. anyway, i have a really small optimisation you can add, if you're interested let me know, it's a really small change.
<Anarchos> scanty i prefer you to do a separate pull request, i am really not an export in bootman.S Moreover the MBR assembly code is present at 3 places in source code : bootman.S, stage1.nasm, and another i can't remember
<Anarchos> scanty the expert seems to have been axeld
<Anarchos> but long time since i saw him around haiku
<scanty> oh,l i see.
<scanty> maybe i can unify everything...
<scanty> i like working with assembly.
<Anarchos> scanty 16 bit code is mandatory since BIOS boots in 16 bits mode.
<nekobot> [haikuports] korli pushed 1 commit to branch master: https://github.com/haikuports/haikuports/compare/72d7b09753d2...0dbfcb58a49c
<nekobot> • al-popa (0dbfcb58): SBCL 2.5.3 (#12090)
<scanty> right.
<scanty> do you have a link for where it is in the tree?
<Anarchos> let me look,
HaikuUser2 has joined #haiku
HaikuUser2 has quit []
<scanty> thanks :-)
<scanty> ooh fun.
<scanty> i'm like in a candy store right now.
<scanty> i don't know what to look at first
<Anarchos> i never coded in ASM ... Just spotted this test/cmp mismatch while testing my multidrive boot code :)
<scanty> that's the code my fix is for.
<scanty> instead of doing
<scanty> cmp dl, 0
<scanty> you do
<scanty> or dl, dl
<scanty> it's cheaper
<Anarchos> cheaper for one instruction, when the new code is more obscure, i don't see that as an improvement. But just my 2 cents.
FreeFull has joined #haiku
<scanty> sure, but it's something you will run into with x86 code, so you should be familiar with it. you won't see any cmp reg, 0 in almost all code.
<scanty> i'm not trying to be a jerk about it
zardshard has joined #haiku
<Anarchos> scanty i know, don't worrry.
<Anarchos> but i am very scared that 'cmp' or 'or' won't change same bit flags....
Anarchos has quit [Quit: Vision[]: i've been blurred!]
dalme has quit []
higen5 has joined #haiku
higen has quit [Ping timeout: 480 seconds]
higen5 is now known as higen
janking has joined #haiku
janking has quit []
<nekobot> [haikuports] threedeyes pushed 1 commit to branch master: https://github.com/haikuports/haikuports/compare/0dbfcb58a49c...6293594e87f5
<nekobot> • threedeyes (6293594e): librewolf_bin: fix audio buffer size
nipos has left #haiku [#haiku]
nipos has joined #haiku
TMM has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM has joined #haiku
cptaffe has quit [Ping timeout: 480 seconds]
zeezie01 has joined #haiku
JakeSays1 has joined #haiku
JakeSays has quit [Ping timeout: 480 seconds]