Subir un paquete a Hackage
¿Qué es Hackage?
Hackage es la central de paquetes de la comunidad de Haskell para projectos de código abierto. En el sitio Web oficial puedes encontrar tanto librerías como programas desarrollados por la comunidad de Haskell.
Primer paso - Crear una cuenta en Hackage
Primero ve al sitio de registro e ingresa el nombre con el cual te conocerán en Hackage, tu nombre de usuario para ingresar al sistema y tu dirección de correo electrónico. Da clic en el botón para solicitar una cuenta (Request Account).
Recibirás un correo para la verificación de la creación de la cuenta:
Debes dar clic en el enlace que te llevará Hackage, para que establezcas tu contraseña:
Luego de establecer tu contraseña y dar clic en crear cuenta (Create Account). Serás rediridigo a la página de bienvenida:
Segundo paso - Crear tu paquete
Obviamente, el motivo para crear una cuenta es subir un paquete a Hackage.
Para la creación de un paquete puedes utilizar stack
- yo utilizaré esta herramienta -;
o también otras herramientas, por ejemplo hi.
Por supuesto, también puedes utilizar cabal
;
de hecho, utilizaré cabal
para comprobar que la estructura e información de mi
proyecto esté correcta.
Primero, tienes que crear el nuevo paquete:
$ stack new [package-name]
Y editamos el archivo [package-name].cabal
, colocando toda la información que
corresponda, por ejemplo, la dirección del código fuente, la licencia, el autor
del paquete, etc.
Verificamos si tiene la información necesaria y si está correctamente
estructurado utilizando cabal
.
$ cabal check
No errors or warnings could be found in the package.
NOTA: Si el comando anterior falla, no podrás subir tu paquete a Hackage, ya que será automáticamente descartado.
Tercer paso - Subir tu paquete
Finalmente, para subir tu paquete a Hackage, tienes que crear una distribución del
código fuente (source distribution). Yo utilizaré stack
, pero también puedes hacerlo
con cabal
.
$ stack sdist
Getting file list for /home/user/repos/[package-name]/
Building sdist tarball for /home/user/repos/[package-name]/
Checking package '[package-name]' for common mistakes
Wrote sdist tarball to /home/user/repos/[package-name]/.stack-work/dist/x86_64-linux/Cabal-1.22.5.0/[package-name]-0.1.0.0.tar.gz
El comando anterior generará un archivo comprimido:
.stack-work/dist/x86_64-linux/Cabal-1.22.5.0/[package-name]-0.1.0.0.tar.gz
.
El cual deberás subir a Hackage, yendo al siguiente enlace.
Cuando intentes subir el paquete te pedirá que ingreses tus credenciales con las
cuales hayas creado tu cuenta en Hackage. Las ingresas y ¡está listo! Podras ver
tu paquete en la lista de paquetes candidatos.
Espero que te haya gustado, cualquier comentario, sugerencia o preguta la puedes
hacer en los comentarios de Disqus. Te aseguro que contestaré tan rápido como pueda. >:-D
ByE!