La version 1.9.3-p0 du langage Ruby est sortie il y a peu et elle a été rapidement intégrée à testing. Donc, un coup de pacman -S ruby me l'a installée et il fonctionne très bien.
J'ai voulu l'installer "à la main" sur ma machine Arch non testing en utilisant le triplet habituel "./configure && make && make install" mais le make se plante sur un problème d'encodage mystérieux :
Code : Tout sélectionner
linking miniruby
./tool/mkconfig.rb:11:in `require': incompatible character encodings: ASCII-8BIT and US-ASCII (Encoding::CompatibilityError)
from ./tool/mkconfig.rb:11:in `<main>'
make: *** [.rbconfig.time] Erreur 1
J'ai donc regardé le PKGBUILD du paquetage de testing et il n'y a rien de particulier dedans. J'ai même poussé le vice jusqu'à exporter les variables pkgbase,
pkgname et pkgver et à installer doxygen afin de faire à la main tout ce que semble faire le PKGBUILD (ce sont ces variables que j'ai utilisées pour télécharger le tarball -- la seule chose que j'ai fait en plus a été de désarchiver le tarball avec tar).
Bien entendu, j'ai installé les modules adéquats pour les dépendances (openssl, libffi, libyaml).
Ensuite, j'ai copié/collé la commande exacte de PKGBUILD pour lancer ./configure avec le même environnement et les mêmes options. Mais, boum, le make échoue quand même

Comme je ne comprend pas pourquoi le paquetage a pu être créé avec ce PKGBUILD alors que je n'arrive pas à le compiler avec les mêmes commandes, je me dis qu'il manque peut-être un détail important à ma compréhension du mécanisme de création des paquetages...
Pour info, les lignes pertinentes du PKGBUILD :
Code : Tout sélectionner
pkgbase=ruby
pkgname=('ruby' 'ruby-docs')
pkgver=1.9.3_p0
pkgrel=1
pkgdesc="An object-oriented language for quick and easy programming"
arch=('i686' 'x86_64')
url="http://www.ruby-lang.org/en/"
license=('BSD' 'custom')
makedepends=('openssl' 'tk' 'libffi' 'doxygen' 'graphviz' 'libyaml')
options=('!emptydirs' '!makeflags')
source=(ftp://ftp.ruby-lang.org/pub/${pkgbase}/${pkgver%.*}/${pkgbase}-${pkgver//_/-}.tar.bz2)
sha1sums=('f63c116411b981ef54c2caeefb9ccc4d71a5d2cf')
build() {
cd "${srcdir}/${pkgbase}-${pkgver//_/-}"
DOXYGEN=/usr/bin/doxygen PKG_CONFIG=/usr/bin/pkg-config ./configure --prefix=/usr --sysconfdir=/etc \
--enable-shared --enable-pthread --disable-rpath
make
}