Skip to content

Commit

Permalink
dev-lang/crystal: Introduce new package
Browse files Browse the repository at this point in the history
The Crystal Programming Language
  • Loading branch information
longlene authored and Ian Delaney committed Oct 9, 2015
1 parent 7c974e3 commit cd98a9d
Show file tree
Hide file tree
Showing 7 changed files with 197 additions and 0 deletions.
6 changes: 6 additions & 0 deletions dev-lang/crystal/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
DIST crystal-0.7.7-1-linux-i686.tar.gz 11289486 SHA256 7a1ccdce29c1437da1cbaafa3fefd5ebc3c4b84b885964a6d4eaf8bfc5922831
DIST crystal-0.7.7-1-linux-x86_64.tar.gz 10907197 SHA256 433acbe8e88fe0c3df67ad64bd436349a6bcfc146284f0a690283ebefb93b5e6
DIST crystal-0.7.7.tar.gz 709692 SHA256 5506f69ed59592666aa667a33ba90b07f1de2cc1ebeee25e771715f8521065f8
DIST crystal-0.8.0-1-linux-i686.tar.gz 11465702 SHA256 47b96c790458daa4179a777ba9356959e597f38cfda535a3f9069d46b362579d
DIST crystal-0.8.0-1-linux-x86_64.tar.gz 11004413 SHA256 6a0414b903cd99bfed8ebe2a447dc0c85f4fbc31e493064e44d37770e95a4b0e
DIST crystal-0.8.0.tar.gz 731304 SHA256 986a000bb2eded22e446fd55c543062770ec4000e28791f0b07f63fcee37b245
70 changes: 70 additions & 0 deletions dev-lang/crystal/crystal-0.7.7.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

inherit multilib

BV=${PV}-1
BV_AMD64=${BV}-linux-x86_64
BV_X86=${BV}-linux-i686

DESCRIPTION="The Crystal Programming Language"
HOMEPAGE="http://crystal-lang.org"
SRC_URI="https://github.com/manastech/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz
amd64? ( https://github.com/manastech/crystal/releases/download/${PV}/crystal-${BV_AMD64}.tar.gz )
x86? ( https://github.com/manastech/crystal/releases/download/${PV}/crystal-${BV_X86}.tar.gz )"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc examples +xml +yaml"

# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382
DEPEND="
<sys-devel/llvm-3.7.0
dev-libs/boehm-gc[static-libs]
dev-libs/libatomic_ops
dev-libs/libevent
dev-libs/libpcre
sys-libs/libunwind
dev-libs/pcl
dev-libs/gmp:0
"
RDEPEND="${DEPEND}
xml? ( dev-libs/libxml2 )
yaml? ( dev-libs/libyaml )
"

src_compile() {
emake \
release=1 \
PATH="${PATH}":"${WORKDIR}"/${PN}-${BV}/bin \
CRYSTAL_PATH=src \
CRYSTAL_CONFIG_VERSION=${PV} \
CRYSTAL_CONFIG_PATH="libs:/usr/$(get_libdir)/crystal"
use doc && emake doc
}

src_test() {
emake spec \
CRYSTAL_PATH=src \
CRYSTAL_CONFIG_VERSION=${PV}
}

src_install() {
insinto /usr/$(get_libdir)/crystal
doins -r src/.
dobin .build/crystal

insinto /usr/share/zsh/site-functions
newins etc/completion.zsh _crystal

use examples && dodoc -r samples

if use doc ; then
docinto api
dodoc -r doc/.
fi
}
70 changes: 70 additions & 0 deletions dev-lang/crystal/crystal-0.8.0.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

inherit multilib

BV=${PV}-1
BV_AMD64=${BV}-linux-x86_64
BV_X86=${BV}-linux-i686

DESCRIPTION="The Crystal Programming Language"
HOMEPAGE="http://crystal-lang.org"
SRC_URI="https://github.com/manastech/crystal/archive/${PV}.tar.gz -> ${P}.tar.gz
amd64? ( https://github.com/manastech/crystal/releases/download/${PV}/crystal-${BV_AMD64}.tar.gz )
x86? ( https://github.com/manastech/crystal/releases/download/${PV}/crystal-${BV_X86}.tar.gz )"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="doc examples +xml +yaml"

# dev-libs/boehm-gc[static-libs] dependency problem, check the issue: https://github.com/manastech/crystal/issues/1382
DEPEND="
<sys-devel/llvm-3.7.0
dev-libs/boehm-gc[static-libs]
dev-libs/libatomic_ops
dev-libs/libevent
dev-libs/libpcre
sys-libs/libunwind
dev-libs/pcl
dev-libs/gmp:0
"
RDEPEND="${DEPEND}
xml? ( dev-libs/libxml2 )
yaml? ( dev-libs/libyaml )
"

src_compile() {
emake \
release=1 \
PATH="${PATH}":"${WORKDIR}"/${PN}-${BV}/bin \
CRYSTAL_PATH=src \
CRYSTAL_CONFIG_VERSION=${PV} \
CRYSTAL_CONFIG_PATH="libs:/usr/$(get_libdir)/crystal"
use doc && emake doc
}

src_test() {
emake spec \
CRYSTAL_PATH=src \
CRYSTAL_CONFIG_VERSION=${PV}
}

src_install() {
insinto /usr/$(get_libdir)/crystal
doins -r src/.
dobin .build/crystal

insinto /usr/share/zsh/site-functions
newins etc/completion.zsh _crystal

use examples && dodoc -r samples

if use doc ; then
docinto api
dodoc -r doc/.
fi
}
24 changes: 24 additions & 0 deletions dev-lang/crystal/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>proxy-maintainers</herd>
<maintainer>
<email>[email protected]</email>
<name>Lixiao Chen</name>
</maintainer>
<longdescription lang="en">
Crystal is a programming language that resembles Ruby but compiles to
native code and tries to be much more efficient, at the cost of
disallowing certain dynamic aspects of Ruby.
</longdescription>
<use>
<flag name="yaml">
Use the <pkg>dev-libs/libyaml</pkg> library to enable Crystal yaml
module
</flag>
<flag name="xml">
Use the <pkg>dev-libs/libxml2</pkg> library to enable Crystal xml
module
</flag>
</use>
</pkgmetadata>
1 change: 1 addition & 0 deletions dev-libs/pcl/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DIST pcl-1.12.tar.gz 384986 SHA256 e7b30546765011575d54ae6b44f9d52f138f5809221270c815d2478273319e1a
13 changes: 13 additions & 0 deletions dev-libs/pcl/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>proxy-maintainers</herd>
<maintainer>
<email>[email protected]</email>
<name>Lixiao Chen</name>
</maintainer>
<longdescription lang="en">
The Portable Coroutine Library (PCL) implements the low level
functionality for coroutines
</longdescription>
</pkgmetadata>
13 changes: 13 additions & 0 deletions dev-libs/pcl/pcl-1.12.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5

DESCRIPTION="Portable Coroutine Library"
HOMEPAGE="http://xmailserver.org/libpcl.html"
SRC_URI="http://xmailserver.org/${P}.tar.gz"

LICENSE="GPL-2"
SLOT="0/1"
KEYWORDS="~amd64 ~arm ~x86"

0 comments on commit cd98a9d

Please sign in to comment.