Skip to content
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

Convert dependencies.txt files into dependencies.sh files #477

Open
postmodern opened this issue Dec 1, 2023 · 1 comment
Open

Convert dependencies.txt files into dependencies.sh files #477

postmodern opened this issue Dec 1, 2023 · 1 comment
Assignees
Milestone

Comments

@postmodern
Copy link
Owner

postmodern commented Dec 1, 2023

Replace the dependencies.txt file with shell script dependencies.sh files that better allow for dynamically defining package manager dependencies (ex: openssl@1.1 vs. openssl@3 or jemalloc).

Example Code

case "$package_manager" in
    apt)    dependencies=(...) ;;
    brew)
        dependencies=(...)
        
        case "$ruby_version" in
            2.*|3.0.*)    dependencies+=("openssl@1.1") ;;
            *)            dependencies+=("openssl@3") ;;
        esac
        ;;        
    ...
esac

The install_optional_deps and the fetch functions could also be removed. The load_dependencies function could be replaced with a simple source "$ruby/dependencies.sh" line.

@postmodern postmodern added this to the 0.10.0 milestone Dec 1, 2023
@postmodern postmodern self-assigned this Dec 1, 2023
@postmodern postmodern changed the title Convert dependencies.txt into dependencies.sh Convert dependencies.txt files into dependencies.sh files Dec 1, 2023
@ParadoxV5
Copy link

No need to install Bison to build Ruby from source code anymore.
https://github.com/ruby/ruby/blob/v3_3_0/NEWS.md#parser

Similarly for readline, but it’s probably still used by the default gem readline 0.0.4

We no longer need to install libraries like libreadline or libedit.
https://github.com/ruby/ruby/blob/v3_3_0/NEWS.md#stdlib-compatibility-issues

postmodern added a commit that referenced this issue Mar 7, 2024
…#477).

* This will allow for dynamic dependencies based on the ruby version or
  OS version.
* Added tests for `ruby_dependencies` for each package manager.
* Removed the `load_dependencies_from()` function.
* Removed the `fetch()` function.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants