Discussion
Loading...

Post

  • About
  • Code of conduct
  • Privacy
  • Users
  • Instances
  • About Bonfire
dch :flantifa: :flan_hacker:
@dch@bsd.network  ·  activity timestamp 2 days ago

My #FreeBSD #ports builder is testing a new version of LavinMQ, an AMQP-compliant message broker.

To build it we have a comical chain of history and languages:

- needs crystal which …
- needs ruby
- needs python
- needs rust
- needs perl
- needs docbook
- needs expat and libxml
- needs cmake
- needs lua53 and lua54
- needs autoconf and automake
- needs gmake and libtool
- needs git
- needs pkgconf
- needs meson
- needs ninja
- needs m4
- needs curl
- needs llvm14 and llvm20
- needs yaml

I started off with a nice formatted tree but it soon devolved into a complex graph of inter-twined dependencies... it's a wonder we can build software at all, when so many of these requirements can change at any time.

  • Copy link
  • Flag this post
  • Block
Michael Dexter
@dexter@bsd.network replied  ·  activity timestamp yesterday

@dch The combined Python/Perl dependency always gets me.

Some day it will be Python/Perl/Go/Rust/Zig. Plus Lisp/Scheme/Lua if you’re lucky.

  • Copy link
  • Flag this comment
  • Block
matthew green
@mrgtwentythree@mastodon.sdf.org replied  ·  activity timestamp 2 days ago

@dch i marvel at packaging people.

  • Copy link
  • Flag this comment
  • Block
dch :flantifa: :flan_hacker:
@dch@bsd.network replied  ·  activity timestamp 2 days ago

@mrgtwentythree I would bet most packagers have mild to severe OCD or similar neurospicey patterns

  • Copy link
  • Flag this comment
  • Block
David Chisnall (*Now with 50% more sarcasm!*)
@david_chisnall@infosec.exchange replied  ·  activity timestamp 2 days ago

@dch

I have a theory that Basel was designed to make it easy to mount supply-chain attacks. I can think of no other reason why a build tool would depend on both Python and Java.

  • Copy link
  • Flag this comment
  • Block
*sigh*Ber nard
@brnrd@bsd.network replied  ·  activity timestamp 2 days ago

@dch just *one* more programming language...

  • Copy link
  • Flag this comment
  • Block
dch :flantifa: :flan_hacker:
@dch@bsd.network replied  ·  activity timestamp 2 days ago

@brnrd yeah I really should get some nodejs in there too

  • Copy link
  • Flag this comment
  • Block
Piotr Smyrak
@piero@bsd.network replied  ·  activity timestamp 2 days ago

@dch @brnrd If you have polkit in the dependencies, then it depends on either spidermonkey or duktape.

  • Copy link
  • Flag this comment
  • Block
JP Mens
@jpmens@mastodon.social replied  ·  activity timestamp 2 days ago

@dch thinking alike? https://mastodon.social/@jpmens/115576607268538052

  • Copy link
  • Flag this comment
  • Block
kit
@hypostase@bsd.network replied  ·  activity timestamp 2 days ago

@dch Every time I go to build a port, I think I need to dig into exactly what it needs and why. I never actually do, and the closest I've got is to playing a little with ports-mgmt/portgraph but I have come to understand that everybody used poudriere anyway, if only to avoid as much as they can of the problem.

  • Copy link
  • Flag this comment
  • Block
dch :flantifa: :flan_hacker:
@dch@bsd.network replied  ·  activity timestamp 2 days ago

@hypostase I didn’t know about portgraph going to give that a look.

I usually use make build-depends and make lib-depends to see what’s required but that only shows leaf dependencies not the full chain.

I suspect with port options it’s not possible to calculate it without traversing everything.

  • Copy link
  • Flag this comment
  • Block
kit
@hypostase@bsd.network replied  ·  activity timestamp 2 days ago

@dch I'm not sure that portgraph necessarily does it either. As I recall I had hope, but ended up thinking I needed to build and parse the output to get what I wanted, but then got distracted. I get distracted.

And there is still the issue of which library / dependency you need depending on what else you have on your system.

  • Copy link
  • Flag this comment
  • Block
Log in

bonfire.cafe

A space for Bonfire maintainers and contributors to communicate

bonfire.cafe: About · Code of conduct · Privacy · Users · Instances
Bonfire social · 1.0.0 no JS en
Automatic federation enabled
  • Explore
  • About
  • Members
  • Code of Conduct
Home
Login