Skip to content

Update README for current toolchains and dead upstream links - #75

Open
tas50 wants to merge 1 commit into
chef:mainfrom
tas50:readme-2026-refresh
Open

Update README for current toolchains and dead upstream links#75
tas50 wants to merge 1 commit into
chef:mainfrom
tas50:readme-2026-refresh

Conversation

@tas50

@tas50 tas50 commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Description

The README had drifted a long way from reality, including several links that no longer resolve. Every link in the file was checked before editing.

Dead or moved links

Old Status Replacement
gecode.org Offline — apex returns 521, www is NXDOMAIN github.com/Gecode/gecode
downloads.chef.io/chef-dk/windows/ 404, ChefDK is EOL Removed
rubyinstaller.org/add-ons/devkit/ 404, standalone DevKit retired RubyInstaller2 + ridk install
opscode/dep-selector, opscode/omnibus-chef Org renamed chef/* equivalents

Requirements that were never documented

  • ext/libgecode3/extconf.rb shells out to libtoolize, aclocal, autoheader, automake, autoconf and autoupdate on non-Windows platforms, so autotools are a hard requirement and not just a C++ compiler. The README previously said nothing about this. Adds a per-platform install table.
  • Homebrew installs GNU libtool as glibtoolize to avoid colliding with Apple's unrelated libtool, but extconf.rb invokes bare libtoolize. A stock brew install libtool therefore still fails on macOS. Documents the libexec/gnubin PATH fix.
  • USE_SYSTEM_GECODE is close to unusable in practice now. Debian and Ubuntu ship Gecode 6.2.0 and Homebrew ships 6.4.0, while dep-selector needs 3.x, so the option is only realistic for someone who has built 3.7.3 themselves or is packaging inside a larger build such as Omnibus. Reframed accordingly rather than left as a generic "make sure it's version 3" warning.

Corrections

  • The concurrency claim said make -j was capped at 4. extconf.rb computes min(cores, 4) + 1, so it is up to five jobs.
  • The rake native example still referenced 1.3.0; the current version is 1.3.5.

Additions

  • A short "Project status" section explaining that being pinned to a 2012 release of Gecode is deliberate rather than neglect, and noting that the resulting wall of compiler warnings on modern GCC is expected.
  • A "Development" section covering how to build the gem and how to exercise the vendored Gecode compile locally.
  • CI and gem version badges.

Note that the Development section links to .github/workflows/ci.yml, which is added in a follow-up PR. That link will 404 until the CI PR lands.

Issues Resolved

None filed; this is documentation drift found while reading through the repo.

Check List

  • New functionality includes tests
  • All tests pass
  • All commits have been signed-off for the Developer Certificate of Origin.

Documentation-only change, so the test boxes do not apply. No code is touched.

The README had drifted badly from reality. Fixes:

- gecode.org is offline (apex returns 521, www is NXDOMAIN). Point at
  github.com/Gecode/gecode instead.
- ChefDK reached end of life; drop the download link, which 404s.
- The standalone RubyInstaller DevKit is retired and its page 404s.
  Modern RubyInstaller2 bundles MSYS2, so document `ridk install`.
- Windows 10 1803+ and Windows 11 ship bsdtar as System32\tar.exe, so
  the advice to go find a working tar is mostly obsolete.
- Update opscode/* links to their chef/* equivalents.

Also documents things that were never written down:

- The build shells out to libtoolize, aclocal, autoheader, automake,
  autoconf and autoupdate, so autotools are required and not just a
  compiler. Adds a per-platform install table.
- Homebrew installs GNU libtool as glibtoolize, but extconf.rb calls
  bare libtoolize, so a stock `brew install libtool` still fails on
  macOS. Documents the libexec/gnubin PATH fix.
- USE_SYSTEM_GECODE is close to unusable now: Debian and Ubuntu ship
  Gecode 6.2.0 and Homebrew ships 6.4.0, and dep-selector needs 3.x.

Two corrections: the concurrent job count is min(cores, 4) + 1, so up
to five and not four, and the `rake native` example still referenced
1.3.0 rather than the current 1.3.5.

Signed-off-by: Tim Smith <tsmith84@proton.me>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant