New [cad/solvespace] - 3.1
Hello Ports@, Solvespace is a 2D/3D parametric CAD software with GTK based GUI Interface. You can find further informations, tutorials and documentation at [0] After my previous attempts on solvespace 2.3 [1] I gave up for quite a time and I saw recently that Johannes was giving a try to new release [2] . We teamed up off-list to work out the things and we ended to a working version of 3.1 release This release comes with an external library bundle so we chose to keep only the necessary ones and to link against port's ones as far as possible. About memory management solvespace has chosen mimalloc as a dependency [3] so we went with secure build and override options Then, here is a description of our patches : cmake/FindCairo.cmake : cmake glue committed to upstream to fix FreeBSD build Create that one as well CMakeLists.txt : specifying commit reference for cmake - Cairo Detection fix skip spaceware and backtrace detection src/bsp.cpp,mesh.cpp : silence clang warning by directly calling arc4random() src/platform/guigtk.cpp : If Glib::get_charset() call fails (in a non fatal fashion) program exits . Avoid that src/resource.cpp : translation related warnings are buggy and not very relevant. silence them to see more relevant reports in the console src/textscreens.cpp,textwin.cpp : enforce use of snprintf() over sprintf() We tried to make the tests work but the testsuite itself is more or less broken and trying to use the cmake framework didn't work either. Our conclusion was that making tests work would require extensive patching, so we wondered if it would be worth the time ? Port built and tested on amd64 by Johannes and Me. portcheck and make port-lib-depends-check are happy Tests and comments are very appreciated. Kind regards, Jerome [0] https://solvespace.com/ [1] https://marc.info/?l=openbsd-ports&m=1 solvespace-3.1.tar.gz Description: application/gzip
Re: New [cad/solvespace] - 3.1
Jerome KASPER wrote (2023-05-11 16:41 CEST): > Solvespace is a 2D/3D parametric CAD software with GTK based > GUI Interface. You can find further informations, tutorials and > documentation at [0] > > After my previous attempts on solvespace 2.3 [1] I gave up for quite a > time and I saw recently that Johannes was giving a try to new release > [2] . We teamed up off-list to work out the things and we ended to a > working version of 3.1 release > > This release comes with an external library bundle so we chose to keep > only the necessary ones and to link against port's ones as far as > possible. About memory management solvespace has chosen mimalloc as a > dependency [3] so we went with secure build and override options > > [...] > > Tests and comments are very appreciated. The port sounds interesting. I enjoyed watching the tutorials. The first thing I tripped over was that math/eigen3 is required to build. So it needs to be a BDEP as well. Then it built fine, but... $ solvespace Segmentation fault I tried to build it with debug symbols. But the cmake build seems to ignore my "DEBUG=-g make". I haven't looked further. Best Regards, Stefan
Re: New [cad/solvespace] - 3.1
Hi Stefan, Thanks a lot for the feedback. > The first thing I tripped over was that math/eigen3 is required to > build. So it needs to be a BDEP as well. Nice catch, added. > Then it built fine, but... > > $ solvespace > Segmentation fault Sorry for that. After some testing we found out it was due to the MI_OVERRIDE compile option. Disabling it should fix the Segmentation fault. We are currently working on getting rid of the bundled mimalloc dependency, but for the time being the attached port should work just fine. > I tried to build it with debug symbols. But the cmake build seems to > ignore my "DEBUG=-g make". I haven't looked further. We will look into this too and give an update as soon as possible. Thanks again for the feedback. As always more testing and comments are appreciated. Kind regards, -- Johannes Thyssen Tishman https://thyssentishman.com solvespace.tar.gz Description: application/tar-gz
Re: New [cad/solvespace] - 3.1
Johannes Thyssen Tishman wrote (2023-05-14 23:40 CEST): > > $ solvespace > > Segmentation fault > > Sorry for that. After some testing we found out it was due to the > MI_OVERRIDE compile option. Disabling it should fix the Segmentation > fault. We are currently working on getting rid of the bundled mimalloc > dependency, but for the time being the attached port should work just > fine. I can confirm it's working now. > > I tried to build it with debug symbols. But the cmake build seems to > > ignore my "DEBUG=-g make". I haven't looked further. > > We will look into this too and give an update as soon as possible. > Thanks again for the feedback. I'm not too worried about it as long as the port works :-) Attached is the port again with some tweaks: * WANTLIB sorted * Some Makefile = fixes * Simplified post-extract * Copy FindCairo.cmake from FILESDIR instead of patching it in Reg. the patches: I prefer lines to be removed instead of commented. This makes the patch smaller and better readable. But it's a matter of taste, so I didn't change it. Reg. the rand() change. I saw the Github comment on your pull request: > Agree that we want determinism so the rand change is not useful here Please double check if you want arc4random here or srand_deterministic or not touch it at all. Best Regards, Stefan solvespace.tgz Description: application/tar-gz
Re: New [cad/solvespace] - 3.1
Hi Stefan, Thanks for the feedback. > I can confirm it's working now. Glad to hear that :) > Attached is the port again with some tweaks: > > * WANTLIB sorted > * Some Makefile = fixes > * Simplified post-extract > * Copy FindCairo.cmake from FILESDIR instead of patching it in Didn't know about the FILESDIR. It definitely makes more sense than the patch, thanks. > Reg. the patches: I prefer lines to be removed instead of commented. > This makes the patch smaller and better readable. But it's a matter > of taste, so I didn't change it. We had them commented as some of them had a explanation comment as well. I've now removed the lines instead and put the explanations at the top of the file as suggested by the porting guide. > Please double check if you want arc4random here or srand_deterministic > or not touch it at all. Yeah, seems like upstream want determinism so we dropped the patches. Some extra changes on the attached port: * Uncommented find_package(Backtrace) since it works just fine * Restored GETTEXT to XGETTEXT as the rename seems unnecessary * WANTLIB += execinfo as suggested by port-lib-depends-check Further comments, OK to import or more feedback welcome. Kind regards, -- Johannes Thyssen Tishman https://thyssentishman.com solvespace.tar.gz Description: application/tar-gz
Re: New [cad/solvespace] - 3.1
Johannes Thyssen Tishman wrote (2023-05-25 22:16 CEST): > > I can confirm it's working now. > > Glad to hear that :) > > > Attached is the port again with some tweaks: > > > > * WANTLIB sorted > > * Some Makefile = fixes > > * Simplified post-extract > > * Copy FindCairo.cmake from FILESDIR instead of patching it in > > Didn't know about the FILESDIR. It definitely makes more sense than the > patch, thanks. > > > Reg. the patches: I prefer lines to be removed instead of commented. > > This makes the patch smaller and better readable. But it's a matter > > of taste, so I didn't change it. > > We had them commented as some of them had a explanation comment as well. > I've now removed the lines instead and put the explanations at the top > of the file as suggested by the porting guide. > > > Please double check if you want arc4random here or srand_deterministic > > or not touch it at all. > > Yeah, seems like upstream want determinism so we dropped the patches. > > Some extra changes on the attached port: > > * Uncommented find_package(Backtrace) since it works just fine > * Restored GETTEXT to XGETTEXT as the rename seems unnecessary > * WANTLIB += execinfo as suggested by port-lib-depends-check > > Further comments, OK to import or more feedback welcome. Looks good now. OK for import sdk@
Re: New [cad/solvespace] - 3.1
Hi Stefan, > Looks good now. > > OK for import sdk@ Awesome, thanks for that. Please find attached the port with the following last minute tweaks: - Formated DESCR based on your suggestions - Updated DESCR to match description on solvespace's website - Dropped Jerome KASPER from MAINTAINER as per his request Thanks again :) Kind regards, -- Johannes Thyssen Tishman https://thyssentishman.com solvespace.tar.gz Description: application/tar-gz
Re: New [cad/solvespace] - 3.1
ping May 26, 2023 09:31:46 Johannes Thyssen Tishman : > Hi Stefan, > >> Looks good now. >> >> OK for import sdk@ > > Awesome, thanks for that. Please find attached the port with the > following last minute tweaks: > > - Formated DESCR based on your suggestions > - Updated DESCR to match description on solvespace's website > - Dropped Jerome KASPER from MAINTAINER as per his request > > Thanks again :) > > Kind regards, > > -- > Johannes Thyssen Tishman > https://thyssentishman.com
Re: New [cad/solvespace] - 3.1
- the Makefile comment about FindCairo.cmake is outdated/confusing - please drop those sprintf->snprintf patches, you can try sending them upstream if you like, there's not really a need for that in ports - BUILD_DEPENDS looks wrong; don't list extract dependencies there, that's handled by ports infrastructure. what is gtk+4 for in there? - don't hardcode CMAKE_BUILD_TYPE, that's handled by the cmale module - any reason why you don't have COMPILER=base-clang ports-gcc? On 2023/05/26 09:30, Johannes Thyssen Tishman wrote: > Hi Stefan, > > > Looks good now. > > > > OK for import sdk@ > > Awesome, thanks for that. Please find attached the port with the > following last minute tweaks: > > - Formated DESCR based on your suggestions > - Updated DESCR to match description on solvespace's website > - Dropped Jerome KASPER from MAINTAINER as per his request > > Thanks again :) > > Kind regards, > > -- > Johannes Thyssen Tishman > https://thyssentishman.com >
Re: New [cad/solvespace] - 3.1
Hi Stuart, > - the Makefile comment about FindCairo.cmake is outdated/confusing Updated thank you. While I was there I removed the other post-extract command as it was not really necessary. > - please drop those sprintf->snprintf patches, you can try sending > them upstream if you like, there's not really a need for that in ports Done! I have a pull request open already for upstream. > - BUILD_DEPENDS looks wrong; don't list extract dependencies there, > that's handled by ports infrastructure. what is gtk+4 for in there? Understood, thank you. Regarding gtk+4, nice catch I'm not sure how it landed there. portcheck wants x11/gtk+4,-guic so I probably confused something there. > - don't hardcode CMAKE_BUILD_TYPE, that's handled by the cmale module Got it :) > - any reason why you don't have COMPILER=base-clang ports-gcc? When compiling with gcc the build fails with undefined symbol errors. Not sure why, but this doesn't happen with clang. Please find attached an updated tarball. Thanks for the feedback :) Kind regards, Johannes > On 2023/05/26 09:30, Johannes Thyssen Tishman wrote: > > Hi Stefan, > > > > > Looks good now. > > > > > > OK for import sdk@ > > > > Awesome, thanks for that. Please find attached the port with the > > following last minute tweaks: > > > > - Formated DESCR based on your suggestions > > - Updated DESCR to match description on solvespace's website > > - Dropped Jerome KASPER from MAINTAINER as per his request > > > > Thanks again :) > > > > Kind regards, > > > > -- > > Johannes Thyssen Tishman > > https://thyssentishman.com > > solvespace.tar.gz Description: application/gzip
Re: New [cad/solvespace] - 3.1
ping Jun 11, 2023 21:43:17 Johannes Thyssen Tishman : > Hi Stuart, > >> - the Makefile comment about FindCairo.cmake is outdated/confusing > > Updated thank you. While I was there I removed the other post-extract > command as it was not really necessary. > >> - please drop those sprintf->snprintf patches, you can try sending >> them upstream if you like, there's not really a need for that in ports > > Done! I have a pull request open already for upstream. > >> - BUILD_DEPENDS looks wrong; don't list extract dependencies there, >> that's handled by ports infrastructure. what is gtk+4 for in there? > > Understood, thank you. Regarding gtk+4, nice catch I'm not sure how it > landed there. portcheck wants x11/gtk+4,-guic so I probably confused > something there. > >> - don't hardcode CMAKE_BUILD_TYPE, that's handled by the cmale module > > Got it :) > >> - any reason why you don't have COMPILER=base-clang ports-gcc? > > When compiling with gcc the build fails with undefined symbol errors. > Not sure why, but this doesn't happen with clang. > > Please find attached an updated tarball. Thanks for the feedback :) > > Kind regards, > Johannes > >> On 2023/05/26 09:30, Johannes Thyssen Tishman wrote: >>> Hi Stefan, >>> Looks good now. OK for import sdk@ >>> >>> Awesome, thanks for that. Please find attached the port with the >>> following last minute tweaks: >>> >>> - Formated DESCR based on your suggestions >>> - Updated DESCR to match description on solvespace's website >>> - Dropped Jerome KASPER from MAINTAINER as per his request >>> >>> Thanks again :) >>> >>> Kind regards, >>> >>> -- >>> Johannes Thyssen Tishman >>> https://thyssentishman.com>>>