<invultri>
Can I flatten a vector of strings to a single string?
guso78k has joined #openscad
<InPhase>
invultri: Yep, you can use join. :)
<guso78k>
teepee no i used the ./scripts/release_common.sh flow to create the openscad-2023.09.22 folder. no I tried with cmake/make/make install DESTDIR=../AppDir
<teepee>
guso78k: I'm not sure release common can do AppImages right now, I'd suggest using the commands I linked earlier that are used to build the official appimage
<invultri>
InPhase: so 3rd party lib?
<guso78k>
yep, will try get more exact ...
<InPhase>
invultri: Well not very 3rd, peeps[work] wrote that particular join.
<InPhase>
invultri: That was the "how do we make these new function features useful?" library we worked on 2 years ago.
<InPhase>
2? 4 years I guess. Time flies.
<InPhase>
invultri: Personally, I almost never include that library. But I do copy/paste out of it often.
<invultri>
hmm I do not know what a forf function is
<invultri>
for with a function?
<teepee>
guso78k: I guess it would make sense to move the build-appimage logic into release-common.sh
<guso78k>
yep, but before i'd like to get it working manually ;)
<teepee>
sure, also not saying you should do that, that was more a note to myself :)
<guso78k>
appreciate when others think "loud" ;)
mmu_man has joined #openscad
misterfish has quit [Ping timeout: 252 seconds]
<guso78k>
problem of the cmake/make/linuxdeply flow is: make install does not preserve all the external libraries during 'make install' . when accessing AppDir from within docker, libs like libboost... are not visible and available anymore.
<guso78k>
trying without docker image now
<guso78k>
hmm could not find plugin qt/ could not find plugin AppImage/ how to get these plugins for linuxdeploy ?
<InPhase>
invultri: Yeah, forf was my addition. Basically, it's a tool for iteration with a state vector. init() should return the starting vector, update(v) should return next_v, cond(v) should return true to continue, false to stop. Then func(v) if set will run on v each time. Basically, it's a re-expression of a for loop in terms of a pattern of function calls so that one can think of them as iterative
<InPhase>
operations on an arbitrary state vector.
<InPhase>
Currently the only role of "func" is for echo statements, but that's also a placeholder for module literals, which should work in that spot as soon as they are in place.
snaked has quit [Quit: Leaving]
<InPhase>
Basically, an experimental idea just to see how it helps with reasoning.
<invultri>
InPhase: I see, so to see if people would 'get it' without having to think in functional recursions?
<invultri>
... I think I should request a feature such that we can directly output (or at least echo) to a file
<teepee>
nope :)
<teepee>
if you need that, the feature will be available via the python stuff, openscad scripts are not going to write files via script functions
<invultri>
"the python stuff" seems like a thing that might be useful
<guso78k>
invultri, please watch the thread with william adams. he has just successfully realized such a function and its callable from openscad
buZz has quit [Quit: Reconnecting]
buZz has joined #openscad
<invultri>
if it is callable from openscad, it is in effect still from within the openscad?
guso78k has quit [Ping timeout: 245 seconds]
<guso78>
Nope. IT uses Python Extensions to so that.
<invultri>
guso78: does that matter to me as the user? I would still write "echoSomethingToFile(something)" in my scad file right?
teepee_ has joined #openscad
teepee has quit [Ping timeout: 252 seconds]
teepee_ is now known as teepee
J23k64 has quit [Quit: Client closed]
cart_ has quit [Ping timeout: 260 seconds]
J23k64 has joined #openscad
J23k64 has quit [Quit: Client closed]
J23k64 has joined #openscad
mmu_man has quit [Ping timeout: 260 seconds]
<guso78>
Yes, but you will need to install another OpenSCAD Version as the Python functionality IS Not mergee.
<guso78>
Fully ...
<teepee>
and flip the "it's dangerous to do that switch"
mmu_man has joined #openscad
<teepee>
openocd
<teepee>
ah, wrong window :)
mmu_man has quit [Ping timeout: 245 seconds]
cart_ has joined #openscad
<InPhase>
invultri: If unclear, writing to files is a security hazard for a 3D printing community made up of non-programmers accustomed to thinking of models as data, and not as general purpose programs requiring a security audit before running them.
<InPhase>
invultri: We are of course aware of other communities where general purpose code sharing is prolific, but one needs that to exist in a culture of a certain level of technical competence plus some established trust systems for accountability and for thinking about who one is receiving code from.
mmu_man has joined #openscad
<InPhase>
invultri: So there are some hard "no"s on certain features that we can't just slip into the scad language for convenience.
cart_ has quit [Ping timeout: 252 seconds]
<teepee>
also if we ever get full mutilprocessing, I would not want to talk about why the output of a for 1:10 gives random results
<kintel>
teepee Have you run OpenSCAD in any capacity on the CI box already?
<teepee>
no, I don't think so
<guso78k>
kintel , found out, that my brother got an old MAC which he can borrow for few weeks. lets see how complicated it is to create a DMG file.
<guso78k>
worked with xcode some time back
<kintel>
guso78k If you follow the README, it should be easy, but caveat is: How old Mac:)
<kintel>
We don't really use xcode for anything
<guso78k>
my brother always uses to own the bleeding edge mac. so 2nd generation is quite new, i believe
<guso78k>
hmm, believe i read xcode it somewhere, strange ...
<kintel>
technically, Apple ships the compiler as part of xcode command-line tools, so yes, you have to install something, but you don't need to use the IDE
<guso78k>
of course, i meantto use the command line programs of xcode. but you need to install xcode to have them
<guso78k>
did you refer to the README.MD right on the github frontpage and does it mean: i can try to compile on mac same as on linux ?
<kintel>
Yes, pretty much the same
<kintel>
We use ./scripts/release-common.sh to build DMGs
<guso78k>
sounds promising. i am curious where i will hit the caveats ...
<kintel>
..but I rarely build it locally; I rely on the CI server for that. Locally I just do cmake , make, ctest
<kintel>
caveats is installing the dependencies; it takes time, and if your mac is too old or too new, the script may not work 100%
<kintel>
I haven't dared update to macOS 13 yet, not until I can build OpenSCAD in a VM :(
<kintel>
but ideally it should just work.
<guso78k>
ahh, i see macdeployqt :)
<joseph_>
teepee kintel: One more note. I just created PR 4752, which is actually branched off of my other PR. GitHub therefore shows 4752 as adding all the commits from both branches. But if 4738 is merged to master, those older commits will no longer be shown on the newest PR, right?
<kintel>
teepee I wonder if the netcup server config can be tweaked to identify as a different CPU. Otherwise we may be out of luck for a while running openscad on it..
<teepee>
joseph_: yep, if the commits are identical (same hash)
<teepee>
kintel: there might be some llvm flags, or maybe even disabling it completely
<kintel>
..but I'm curious if the appimage binaries would run
<teepee>
I have not tried building x86 appimage yet. only ARM64 so far
<teepee>
the base image is already there, so it's easy to add the openscad build pipeline