> [...] how/where you would fetch the gem package without the language based package manager, and how this is linked to system deps?
You unnecessarily constrain yourself too much. You don't need language
specific package manager at all for deployment. For building a binary
package you probably need it, but not connected to network. And then you
need it with network for downloading source tarballs to include in source
package (SRPM or similar). Note that the source package is an important step,
as you want to host all necessary code yourself, without relying on randomly
changing policies of package registries like NPM.
The sad part is that language specific package managers cram together
downloading, building, and installing, instead of providing them primarly as
three separate steps. (You usually can run each separately, but crippled in
some whay, e.g. you don't get proper dependency solving for download, or you
need to manually order building the dependencies.)
> [...] how [binary packages] is linked to system deps?
Normally. Your application requires libpq.so? You mention it in Depends: (or
allow the build scripts to detect that). You need sloccount? You mention it in
Depends:. You need crontab entries? You put them in /etc/cron.d and add cron
to Depends:.