lang/ferrumc: new port 0.3.0#31786
Conversation
|
Thanks for this contribution, @tomymartingrinberg-cpu. Some comments below: |
|
Thank you for the review, @herbygillot! I've updated the Portfile to use the Please let me know if there's anything else that needs to be adjusted. Happy to make further changes. |
|
Thank you for the detailed feedback, @herbygillot! I've updated the Portfile to address all your comments:
Please let me know if anything else needs adjusting. Thanks again for the review! |
|
The fetch is failing - this may need to be adjusted via Secondly, this project does not seem to have any logic to install |
|
@tomymartingrinberg-cpu I made a patch you can add onto your working branch to build things from source. You might need to create a new branch (which starts from e89b9c6) in order for it to apply. Tested on macOS 15.6.1. https://gist.github.com/commitmaniac/d09df29e820f77dfc9e55d7531f1f1ad (For future readers, it's likely the link has already expired or otherwise been removed) |
There was a problem hiding this comment.
Thank you for your interest in contributing…
But I want to make sure other reviewers take note that you are the developer of Ferrum and according to the project's readme you are 11 years old. You only joined GitHub six months ago and you created the Ferrum git repository only three days ago.
Ferrum is allegedly a systems programming language but at age 11 you are unlikely to have the requisite experience to know how to do systems programming.
The readme also says the software was created with AI. I don't trust software written with AI and I don't trust that you have the necessary experience to be able to review AI-generated code for correctness.
There are other established projects with the names ferrum and ferrumc. There's even already another ferrum programming language built over Rust and a ferrum library that gives Rust-like features in JavaScript. Your project is also described as having Rust-like features. The name was presumably chosen because ferrum is Latin for iron and iron rusts.
This all makes me question whether including this software in MacPorts is warranted.
I see that you are also submitting Ferrum to other package managers:
- flathub/flathub#8185 (didn't follow guidelines)
- flathub/flathub#8186 (classified as AI slop)
- gentoo/gentoo#45999 (didn't follow guidelines)
- getsolus/packages#8296 (didn't follow guidelines)
- void-linux/void-packages#59545 (project too new and was submitted by its developer)
- alpinelinux/aports#12201 (described as vibe-coded crap)
- DragonFlyBSD/DPorts#264
- freebsd/freebsd-ports#499
- microsoft/winget-pkgs#351339
- NixOS/nixpkgs#502892
- https://marc.info/?l=openbsd-ports&m=177436871128029&w=2 (they asked if this was a sad AI joke, and also noted the name clash with existing projects)
- https://community.chocolatey.org/packages/ferrumc/
- https://snapcraft.io/ferrumc
| sha256 3a6f76e2c3a9cbb6b89910fca1d5d5c09f8074da2bbb233299e91c022e2f26d6 \ | ||
| size 94231 | ||
|
|
||
| set llvm_version 18 |
There was a problem hiding this comment.
Any particular reason why it needs exactly llvm 18 and not any earlier or later version?
The readme and CMakeLists.txt say it needs C++20 so the Portfile should contain:
compiler.cxx_standard 2020
|
|
||
| # CMakeLists.txt only declares CXX but configure checks also need C | ||
| post-patch { | ||
| reinplace "s|LANGUAGES CXX|LANGUAGES C CXX|" ${worksrcpath}/CMakeLists.txt |
There was a problem hiding this comment.
You are the developer of this software but it looks like you haven't made this change in the project's repository.
New port: lang/ferrumc — Ferrum-language compiler 0.3.0
Ferrum-language is a systems programming language with C syntax and compile-time memory safety via a borrow checker and ownership model, compiled to native code through LLVM 18.
SHA256:
dd299666b2f859ff1f07fc7494d8dffe4b9f568e132168531ab5636b9011f520bc22feaf923829d4c8f18ff2b69ab4ed369b52b2d84244301167be4801c5082f