Ruby Gem package guidelines
For libraries, use
ruby-$gemname. For applications, use the program name. In either case, the name should be entirely lowercase.
ruby- prefix even if
$gemname already starts with word
ruby. It is needed to avoid future name clashes in case if a gem with shorter name appear. It also makes names more easily parseble by tools (think about PKGBUILD generators/version or dependency checkers, etc...). Examples: AUR.
If you need to add a versioned package then use
ruby-builder-3.2.1. So rubygem dependency
builder=3.2.1 will turn into
ruby-builder-3.2.1 Arch package.
In case if you need to resolve "approximately greater" dependency
~> then package should use version without the last part, e.g. rubygem dependency
builder~>3.2.1 will turn into
ruby-builder-3.2. An exception for this rule is when "approximately greater" dependency matches the latest version of the gem - in this case avoid introducing a new versioned package and use just
ruby-$gemname instead (the HEAD version).
Another problem with versioned packages is that it can conflict with other versions, e.g. because the packages install the same files in /usr/bin. One solution for this problem is that versioned packages should not install such files - only HEAD version package can do this.
For examples, please seeAUR AUR AUR.
--verbose to gem arguments to receive additional information in case of troubles.
--no-user-installgem argument is mandatory since latest Ruby versions (See FS#28681 for details).
An example PKGBUILD can be found at
/usr/share/pacman/PKGBUILD-rubygem.proto, which is in the package.
There is alsoAUR tools which aid in automating the process of creating a ruby gem PKGBUILD. Make sure to manually check the PKGBUILD after generation.