Comments (9)
The issue will be solved not by trying every HTTP client possible, but by using Guile bundled with GNU Make 4 and only running wget on fallback. So it will be the same code for all platforms and will just keep compatibility with what we had so far until we phase out GNU Make 3.
from erlang.mk.
@essen Using a bundled Guile HTTP client is reasonable in the future. But from what I see, the latest OSX still ships with GNU Make 3.81, so that solution still wouldn't support a fresh OSX installation.
from erlang.mk.
I'm not in a hurry.
from erlang.mk.
I think that wget+curl covers 99% of all people (outside windows) so it's not about trying every possible client just not forcing users into exactly one.
OS X is a quite prominent system for developers so supporting it does not seem that bad of a idea.
from erlang.mk.
I got told version 4 is available in homebrew, that's good enough support for me.
The dependencies for erlang.mk will become over time gnu-make4, erlang and openssl (yes, openssl is already an erlang dep on some platforms). It will be the same for all platforms. Some of them will simply have an easier initial setup than others. All platforms have some kind of initial setup which will all be documented (some with other people's help of course). That initial setup will be easier for everyone, including OSX, and will make erlang.mk more stable because it will be the same code for all platforms.
Note that make isn't part of the fresh OSX install either. So it's not like anyone can just use erlang.mk without any initial setup. The only difference is that instead of that 8 years old version you need this more recent version, and the README will explain where it can be obtained, and trying to use erlang.mk without guile support will also trigger a warning.
from erlang.mk.
@essen Thank you for expanding on the reasons behind your decision, and giving us a glimpse of your future plans for the project. It makes it a lot easier to accept your decision, and see that you are being perfectly reasonable in limiting external dependencies.
I'll at least open a new Pull Request that complains if there's no wget
in the $PATH
. Currently on OSX, without wget
, running make
fails with a cryptic error about the missing .erlang.mk.packages.v1
file. No indication that a missing wget
is the cause for failure.
EDIT: Sorry, it does also complain about missing wget. Didn't notice last time. /bin/sh: wget: command not found
from erlang.mk.
Probably a good idea to make the fallback use Erlang directly.
from erlang.mk.
If anyone wants to add a fallback that uses Erlang to download the file, please do!
from erlang.mk.
We now have a fallback that uses "erl" for downloading the file. Enjoy!
from erlang.mk.
Related Issues (20)
- Release fails to build if top folder name is different from app name HOT 4
- system deps are not included in release anymore HOT 4
- Release package saved into a wrong output dir? HOT 3
- make RELOAD=1 does not work HOT 2
- Feature: Additional template modifiers HOT 1
- is Getting started instruction correct? HOT 1
- OTP26 dialyzer support: `--no_native` flag is gone HOT 1
- Feature: Compilation of Elixir projects
- autopatching is overly verbose (missing $(verbose)) HOT 3
- Add advice on project directory naming rule on `creating_a_folder_for_your_project` tutorial HOT 2
- Failed to eval: application:load(rebar) HOT 7
- Problem building NIF on Mac M1 HOT 2
- erlang.mk tutorial release build failure HOT 4
- Windows 11(OTP-26) release build : system cannot find the file path to \hello_rel_release\erts-14.0\bin\werl.exe.
- relx can't find app HOT 3
- Failing on Mac Sonoma 14 M2 HOT 1
- Crash release when `Erlang.mk` project has dependency builded and use `SemVer` VSN HOT 2
- Make failed, argument list too long HOT 4
- Build failure on OTP-27
- Allows apps dir to contain symlinks
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from erlang.mk.