-
Notifications
You must be signed in to change notification settings - Fork 93
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Freebsd? #1113
Comments
Actually, i am able to build esy in FreeBSD by manually fixing the build. Right now, i am able to use esy command line and build the example project described in esy documentation. But i am not sure how to contribute, so esy can be installed by other folks in FreeBSD. |
@syaiful6 A good start would be to have it available in the CI, I don't expect it to be a any maintenance burden, publishing it is another problem, but if it is building and published it's already half of the problem https://github.com/esy/esy/blob/master/.ci/build-release.yml |
@syaiful6 Once esy is buildable via opam, we need to build the esy sourcetree with that binary. The binary you see on npm are built via esy itself. They are different are bit different from the binary built via opam. So it would be recommended that you build the source tree via the opam built binary and run Now, as you say, you had to make some patches to the source, raise a PR making sure all the above steps build. It doesn't have to be perfect, we can work on it together over at the PR. At the PR, we can add an additional FreeBSD image on to the pipeline setup and get it to build there (as Edurado suggested) The steps just described, would have to be a separate one time pipeline. Once a version of FreeBSD binary is on NPM (hope we dont hit limits there), we can deactivate and retain it the repo for future reference. cc @EduardoRFS |
Feel free to share the chain of commands you had to run to build esy with opam. That will help us come up with the one-time pipeline that looks like |
thanks @prometheansacrifice @EduardoRFS , first we need to make esy-solve-cudf to support FreeBSD, as we depends on it? that project is buildable via opam. If needed I can provide the executable as initial support, then we remove that.
change for postinstall.js switch (platform) {
case 'win32':
if (arch() !== 'x64') {
console.warn('error: x86 is currently not supported on Windows');
process.exit(1);
}
copyPlatformBinaries('win32');
console.log('Installing native compiler toolchain for Windows...');
cp.execSync(`npm install esy-bash@0.3.19 --prefix "${__dirname}"`);
console.log('Native compiler toolchain installed successfully.');
break;
case 'linux':
case 'darwin':
case 'freebsd':
copyPlatformBinaries(platform);
break;
default:
console.warn('error: no release built for the ' + platform + ' platform');
process.exit(1);
} |
You can depend on rely by pinning it in opam so if that's the only blocker to have it built we're in a good spot. |
thanks for tip @ulrikstrid! @prometheansacrifice @EduardoRFS now, i can make it build using dune/opam, by pinning:
other package also need to install with the version listed in esy.json. What's next to be done? |
Update Esy is now full buildable with opam. This will make it easier to package it for BSDs provided they have opam. Docker file with steps to build with opam: https://github.com/esy/esy/blob/master/Dockerfile |
I am trying to build recent esy using opam on FreeBSD 12, however, I am stuck at:
Any hints what are the "+dune" versions and where to get them? |
esy version: latestOperationg System: FreeBSD
Issue:
When trying to install esy, it fail in FreeBSD, i though it will try to install/build from source, but it didn't. I try to patch, but not able to fix it yet.
Actual behavior:
can install in FreeBSD. Fail without trying to build from source.
Tried.
esy-solve-cudf
with opam and dune: dune build && node postinstall.js. It successOcaml version:
4.05.0
4.08.0 (tried this version as well).
I will happy to contribute and make it work in FreeBSD. Please give me instruction how to do it. I expect it will work on FreeBSD, as I able to install bs-platform in my FreeBSD computer.
The text was updated successfully, but these errors were encountered: