Repository: conda-forge/staged-recipes
Pull request #29636: Adding rb-bigdecimal.
Author: login: BIT-cypher
Labels: name: R
name: review-requested
name: ruby
Created: 2025-04-04T11:28:47Z | Merged: 2025-04-14T16:58:38Z

<!--
Thank you very much for putting in this recipe PR!

This repository is very active, so if you need help with a PR, please let the
right people know. There are language-specific teams for reviewing recipes.

| Language        | Name of review team           |
| --------------- | ----------------------------- |
| python          | `@conda-forge/help-python`    |
| python/c hybrid | `@conda-forge/help-python-c`  |
| r               | `@conda-forge/help-r`         |
| java            | `@conda-forge/help-java`      |
| nodejs          | `@conda-forge/help-nodejs`    |
| c/c++           | `@conda-forge/help-c-cpp`     |
| perl            | `@conda-forge/help-perl`      |
| Julia           | `@conda-forge/help-julia`     |
| ruby            | `@conda-forge/help-ruby`      |
| Rust            | `@conda-forge/help-rust`      |
| Go              | `@conda-forge/help-go`        |
| other           | `@conda-forge/staged-recipes` |

Once the PR is ready for review, please mention one of the teams above in a
new comment. i.e. `@conda-forge/help-some-language, ready for review!`
Then, a bot will label the PR as 'review-requested'.

Due to GitHub limitations, first time contributors to conda-forge are unable
to ping conda-forge teams directly, but you can [ask a bot to ping the team][1]
using a special command in a comment on the PR to get the attention of the
`staged-recipes` team. You can also consider asking on our [Zulip chat][2]
if your recipe isn't reviewed promptly.

[1]: https://conda-forge.org/docs/maintainer/infrastructure.html#conda-forge-admin-please-ping-team
[2]: https://conda-forge.zulipchat.com

All apologies in advance if your recipe PR does not receive prompt attention.
This is a high volume repository and the reviewers are volunteers. Review times
vary depending on the number of reviewers on a given language team and may be days
or weeks. We are always looking for more staged-recipe reviewers. If you are
interested in volunteering, please contact a member of @conda-forge/core.
We'd love to have the help!
-->

Checklist
- [x] Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
- [x] License file is packaged (see [here](https://github.com/conda-forge/staged-recipes/blob/5eddbd7fc9d1502169089da06c3688d9759be978/recipes/example/meta.yaml#L64-L73) for an example).
- [x] Source is from official source.
- [x] Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
- [x] If static libraries are linked in, the license of the static library is packaged.
- [x] Package does not ship static libraries. If static libraries are needed, [follow CFEP-18](https://github.com/conda-forge/cfep/blob/main/cfep-18.md).
- [x] Build number is 0.
- [x] A tarball (`url`) rather than a repo (e.g. `git_url`) is used in your recipe (see [here](https://conda-forge.org/docs/maintainer/adding_pkgs.html#build-from-tarballs-not-repos) for more details).
- [x] GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
- [x] When in trouble, please check our [knowledge base documentation](https://conda-forge.org/docs/maintainer/knowledge_base.html) before pinging a team.



Diff:
diff --git a/recipes/rb-bigdecimal/LICENSE b/recipes/rb-bigdecimal/LICENSE
new file mode 100644
index 0000000000000..f7f597fb570ec
--- /dev/null
+++ b/recipes/rb-bigdecimal/LICENSE
@@ -0,0 +1,56 @@
+Ruby is copyrighted free software by Yukihiro Matsumoto <matz@netlab.jp>.
+You can redistribute it and/or modify it under either the terms of the
+2-clause BSDL (see the file BSDL), or the conditions below:
+
+  1. You may make and give away verbatim copies of the source form of the
+     software without restriction, provided that you duplicate all of the
+     original copyright notices and associated disclaimers.
+
+  2. You may modify your copy of the software in any way, provided that
+     you do at least ONE of the following:
+
+       a) place your modifications in the Public Domain or otherwise
+          make them Freely Available, such as by posting said
+	  modifications to Usenet or an equivalent medium, or by allowing
+	  the author to include your modifications in the software.
+
+       b) use the modified software only within your corporation or
+          organization.
+
+       c) give non-standard binaries non-standard names, with
+          instructions on where to get the original software distribution.
+
+       d) make other distribution arrangements with the author.
+
+  3. You may distribute the software in object code or binary form,
+     provided that you do at least ONE of the following:
+
+       a) distribute the binaries and library files of the software,
+	  together with instructions (in the manual page or equivalent)
+	  on where to get the original distribution.
+
+       b) accompany the distribution with the machine-readable source of
+	  the software.
+
+       c) give non-standard binaries non-standard names, with
+          instructions on where to get the original software distribution.
+
+       d) make other distribution arrangements with the author.
+
+  4. You may modify and include the part of the software into any other
+     software (possibly commercial).  But some files in the distribution
+     are not written by the author, so that they are not under these terms.
+
+     For the list of those files and their copying conditions, see the
+     file LEGAL.
+
+  5. The scripts and library files supplied as input to or produced as 
+     output from the software do not automatically fall under the
+     copyright of the software, but belong to whomever generated them, 
+     and may be sold commercially, and may be aggregated with this
+     software.
+
+  6. THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
+     IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+     WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+     PURPOSE.
\ No newline at end of file
diff --git a/recipes/rb-bigdecimal/conda_build_config.yaml b/recipes/rb-bigdecimal/conda_build_config.yaml
new file mode 100644
index 0000000000000..1142cb4b696f8
--- /dev/null
+++ b/recipes/rb-bigdecimal/conda_build_config.yaml
@@ -0,0 +1,4 @@
+ruby:
+- 3.2
+- 3.3
+- 3.4
diff --git a/recipes/rb-bigdecimal/meta.yaml b/recipes/rb-bigdecimal/meta.yaml
new file mode 100644
index 0000000000000..4ad97e16dfc5e
--- /dev/null
+++ b/recipes/rb-bigdecimal/meta.yaml
@@ -0,0 +1,45 @@
+{% set name = "bigdecimal" %}
+{% set version = "3.1.9" %}
+
+package:
+  name: rb-{{ name|lower }}
+  version: {{ version }}
+
+source:
+  - url: https://rubygems.org/downloads/{{ name }}-{{ version }}.gem
+    sha256: 2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
+
+build:
+  number: 0
+  script:
+    - gem install -N -l -V --norc --ignore-dependencies {{ name }}-{{ version }}.gem
+    - gem unpack {{ name }}-{{ version }}.gem
+  skip: True  # [win]
+
+requirements:
+  build:
+      - {{ compiler('c') }}
+      - {{ stdlib('c') }}
+      - make
+  host:
+    - ruby
+  run:
+    - {{ pin_compatible('ruby', max_pin='x.x') }}
+
+test:
+  commands:
+    - ruby -r {{ name }} -e 'exit 0'
+
+
+about:
+  home: https://rubygems.org/gems/bigdecimal
+  license: BSD-2-Clause
+  license_family: BSD
+  license_file: LICENSE
+  summary: BigDecimal is a Ruby library for arbitrary-precision decimal arithmetic.
+  doc_url: http://www.rubydoc.info/gems/bigdecimal
+  dev_url: https://github.com/ruby/bigdecimal
+
+extra:
+  recipe-maintainers:
+    - BIT-cypher


Reviews:
user: login: jdmarques
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-07T09:27:34Z
user: login: jdmarques
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-10T22:19:47Z
user: login: BIT-cypher
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-04-11T08:24:00Z
user: login: ocefpaf
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-11T16:39:35Z
user: login: ocefpaf
state: COMMENTED
author_association: MEMBER
submitted_at: 2025-04-14T15:01:46Z

Review comments:
diff_hunk: @@ -0,0 +1,42 @@
+{% set name = "bigdecimal" %}
+{% set version = "3.1.9" %}
+
+package:
+  name: rb-{{ name|lower }}
+  version: {{ version }}
+
+source:
+  - url: https://rubygems.org/downloads/{{ name }}-{{ version }}.gem
+    sha256: 2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
+
+build:
+  noarch: generic
+  number: 0
+  script:
+    - gem install -N -l -V --norc --ignore-dependencies {{ name }}-{{ version }}.gem
+    - gem unpack {{ name }}-{{ version }}.gem
+
+requirements:
+  host:
+    - ruby
+  run:
+    - {{ pin_compatible('ruby', max_pin='x.x') }}
+
+test:
+  commands:
+    - ruby -r {{ name }} -e 'exit 0'
+
+
+about:
+  home: https://rubygems.org/gems/bigdecimal
+  license: BSD-2-Clause,
path: recipes/rb-bigdecimal/meta.yaml
user: login: jdmarques
body: ```suggestion
  license: BSD-2-Clause
```
created_at: 2025-04-07T09:27:34Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,46 @@
+{% set name = "bigdecimal" %}
+{% set version = "3.1.9" %}
+
+package:
+  name: rb-{{ name|lower }}
+  version: {{ version }}
+
+source:
+  - url: https://rubygems.org/downloads/{{ name }}-{{ version }}.gem
+    sha256: 2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
+
+build:
+  number: 0
+  script:
+    - gem install -N -l -V --norc --ignore-dependencies {{ name }}-{{ version }}.gem
+    - gem unpack {{ name }}-{{ version }}.gem
+  skip: {{ win }}
+
+requirements:
+  build:
+      - {{ compiler('c') }}         # [not win]
path: recipes/rb-bigdecimal/meta.yaml
user: login: jdmarques
body: why do you have  # [not win] here? If you are skipping windows you shouldn't need this
created_at: 2025-04-10T22:19:47Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,46 @@
+{% set name = "bigdecimal" %}
+{% set version = "3.1.9" %}
+
+package:
+  name: rb-{{ name|lower }}
+  version: {{ version }}
+
+source:
+  - url: https://rubygems.org/downloads/{{ name }}-{{ version }}.gem
+    sha256: 2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
+
+build:
+  number: 0
+  script:
+    - gem install -N -l -V --norc --ignore-dependencies {{ name }}-{{ version }}.gem
+    - gem unpack {{ name }}-{{ version }}.gem
+  skip: {{ win }}
+
+requirements:
+  build:
+      - {{ compiler('c') }}         # [not win]
path: recipes/rb-bigdecimal/meta.yaml
user: login: BIT-cypher
body: True, i will remove it.
created_at: 2025-04-11T08:24:00Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,46 @@
+{% set name = "bigdecimal" %}
+{% set version = "3.1.9" %}
+
+package:
+  name: rb-{{ name|lower }}
+  version: {{ version }}
+
+source:
+  - url: https://rubygems.org/downloads/{{ name }}-{{ version }}.gem
+    sha256: 2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
+
+build:
+  number: 0
+  script:
+    - gem install -N -l -V --norc --ignore-dependencies {{ name }}-{{ version }}.gem
+    - gem unpack {{ name }}-{{ version }}.gem
+  skip: {{ win }}
path: recipes/rb-bigdecimal/meta.yaml
user: login: ocefpaf
body: ```suggestion
  skip: True  # [win]
```
created_at: 2025-04-11T16:39:35Z
author_association: MEMBER
diff_hunk: @@ -0,0 +1,46 @@
+{% set name = "bigdecimal" %}
+{% set version = "3.1.9" %}
+
+package:
+  name: rb-{{ name|lower }}
+  version: {{ version }}
+
+source:
+  - url: https://rubygems.org/downloads/{{ name }}-{{ version }}.gem
+    sha256: 2ffc742031521ad69c2dfc815a98e426a230a3d22aeac1995826a75dabfad8cc
+
+build:
+  number: 0
+  script:
+    - gem install -N -l -V --norc --ignore-dependencies {{ name }}-{{ version }}.gem
+    - gem unpack {{ name }}-{{ version }}.gem
+  skip: True  # [win]
+
+requirements:
+  build:
+      - {{ compiler('c') }}
+      - {{ stdlib('c') }}
+      - make
+
path: recipes/rb-bigdecimal/meta.yaml
user: login: ocefpaf
body: ```suggestion
```
created_at: 2025-04-14T15:01:46Z
author_association: MEMBER

PR comments:
user: login: github-actions[bot]
created_at: 2025-04-04T11:30:02Z
body: Hi! This is the staged-recipes linter and your PR looks excellent! :rocket:


author_association: CONTRIBUTOR
user: login: conda-forge-admin
created_at: 2025-04-04T11:30:36Z
body: Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (```recipes/rb-bigdecimal/meta.yaml```) and found some lint.

Here's what I've got...


For **recipes/rb-bigdecimal/meta.yaml**:

 * ❌ There are 1 too many lines.  There should be one empty line at the end of the file.


<sub>This message was generated by GitHub Actions workflow run [https://github.com/conda-forge/conda-forge-webservices/actions/runs/14305703781](https://github.com/conda-forge/conda-forge-webservices/actions/runs/14305703781). Examine the logs at this URL for more detail.</sub>

author_association: CONTRIBUTOR
user: login: conda-forge-admin
created_at: 2025-04-07T09:48:20Z
body: Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (```recipes/rb-bigdecimal/meta.yaml```) and found it was in an excellent condition.

author_association: CONTRIBUTOR
user: login: conda-forge-admin
created_at: 2025-04-08T08:09:38Z
body: Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (```recipes/rb-bigdecimal/meta.yaml```) and found some lint.

Here's what I've got...


For **recipes/rb-bigdecimal/meta.yaml**:

 * ❌ This recipe is using a compiler, which now requires adding a build dependence on `{{ stdlib("c") }}` as well. Note that this rule applies to each output of the recipe using a compiler. For further details, please see https://github.com/conda-forge/conda-forge.github.io/issues/2102.


<sub>This message was generated by GitHub Actions workflow run [https://github.com/conda-forge/conda-forge-webservices/actions/runs/14328409826](https://github.com/conda-forge/conda-forge-webservices/actions/runs/14328409826). Examine the logs at this URL for more detail.</sub>

author_association: CONTRIBUTOR
user: login: conda-forge-admin
created_at: 2025-04-08T09:22:47Z
body: Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (```recipes/rb-bigdecimal/meta.yaml```) and found it was in an excellent condition.

author_association: CONTRIBUTOR
user: login: BIT-cypher
created_at: 2025-04-09T09:28:05Z
body: Hey [@conda-forge/help-ruby](https://github.com/orgs/conda-forge/teams/help-ruby), I want to cross compile for windows, linux and osx. Adding the c stdlib didn't solve the issue to fix the osx and linux builds, do i need to add specific os related dependencies in the 'meta.yaml' or 'conda_build_config.yaml' ? I really appreciate your help, thank you in advance.
author_association: CONTRIBUTOR
user: login: conda-forge-admin
created_at: 2025-04-09T15:05:15Z
body: Hi! This is the friendly automated conda-forge-linting service.

I wanted to let you know that I linted all conda-recipes in your PR (```recipes/rb-bigdecimal/meta.yaml```) and found some lint.

Here's what I've got...


For **recipes/rb-bigdecimal/meta.yaml**:

 * ❌ The requirements section contained an unexpected subsection name. skip is not a valid subsection name.
 * ❌ This recipe is using a compiler, which now requires adding a build dependence on `{{ stdlib("c") }}` as well. Note that this rule applies to each output of the recipe using a compiler. For further details, please see https://github.com/conda-forge/conda-forge.github.io/issues/2102.


<sub>This message was generated by GitHub Actions workflow run [https://github.com/conda-forge/conda-forge-webservices/actions/runs/14361269817](https://github.com/conda-forge/conda-forge-webservices/actions/runs/14361269817). Examine the logs at this URL for more detail.</sub>

author_association: CONTRIBUTOR
user: login: conda-forge-admin
created_at: 2025-04-09T15:52:24Z
body: Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (```recipes/rb-bigdecimal/meta.yaml```) and found it was in an excellent condition.

I do have some suggestions for making it better though...


For **recipes/rb-bigdecimal/meta.yaml**:

 * ℹ️ The recipe is not parsable by parser `conda-forge-tick (the bot)`. Your recipe  may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.
 * ℹ️ The recipe is not parsable by parser `conda-souschef (grayskull)`. This parser is not currently used by conda-forge, but may be in the future. We are collecting information to see which recipes are compatible with grayskull.


<sub>This message was generated by GitHub Actions workflow run [https://github.com/conda-forge/conda-forge-webservices/actions/runs/14362324176](https://github.com/conda-forge/conda-forge-webservices/actions/runs/14362324176). Examine the logs at this URL for more detail.</sub>

author_association: CONTRIBUTOR
user: login: conda-forge-admin
created_at: 2025-04-10T16:01:08Z
body: Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (```recipes/rb-bigdecimal/meta.yaml```) and found it was in an excellent condition.

author_association: CONTRIBUTOR
user: login: jdmarques
created_at: 2025-04-11T10:43:18Z
body: hello @ocefpaf can you review this PR? 
author_association: CONTRIBUTOR