summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Ospald <hasufell@gentoo.org>2013-07-13 11:42:20 +0000
committerJulian Ospald <hasufell@gentoo.org>2013-07-13 11:42:20 +0000
commit8363a293ca082b2c516a81347630fdfbc10b424b (patch)
treed29b1434d1ab281f8c021ba89fe831da5c2fa3c5 /dev-lang/elixir
parentinitial import wrt #476288 (diff)
downloadgentoo-2-8363a293ca082b2c516a81347630fdfbc10b424b.tar.gz
gentoo-2-8363a293ca082b2c516a81347630fdfbc10b424b.tar.bz2
gentoo-2-8363a293ca082b2c516a81347630fdfbc10b424b.zip
initial import wrt #476288
(Portage version: 2.2.0_alpha188/cvs/Linux x86_64, signed Manifest commit with key E73C35B3)
Diffstat (limited to 'dev-lang/elixir')
-rw-r--r--dev-lang/elixir/ChangeLog10
-rw-r--r--dev-lang/elixir/elixir-0.9.3.ebuild32
-rw-r--r--dev-lang/elixir/files/elixir-0.9.3-makefile.patch170
-rw-r--r--dev-lang/elixir/metadata.xml8
4 files changed, 220 insertions, 0 deletions
diff --git a/dev-lang/elixir/ChangeLog b/dev-lang/elixir/ChangeLog
new file mode 100644
index 000000000000..ef2b908c5010
--- /dev/null
+++ b/dev-lang/elixir/ChangeLog
@@ -0,0 +1,10 @@
+# ChangeLog for dev-lang/elixir
+# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/elixir/ChangeLog,v 1.1 2013/07/13 11:42:19 hasufell Exp $
+
+*elixir-0.9.3 (13 Jul 2013)
+
+ 13 Jul 2013; Julian Ospald <hasufell@gentoo.org> +elixir-0.9.3.ebuild,
+ +files/elixir-0.9.3-makefile.patch, +metadata.xml:
+ initial import wrt #476288
+
diff --git a/dev-lang/elixir/elixir-0.9.3.ebuild b/dev-lang/elixir/elixir-0.9.3.ebuild
new file mode 100644
index 000000000000..f26a7c928184
--- /dev/null
+++ b/dev-lang/elixir/elixir-0.9.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/elixir/elixir-0.9.3.ebuild,v 1.1 2013/07/13 11:42:19 hasufell Exp $
+
+EAPI=5
+
+inherit eutils multilib
+
+DESCRIPTION="Elixir programming language"
+HOMEPAGE="http://elixir-lang.org"
+SRC_URI="https://github.com/elixir-lang/elixir/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="Apache-2.0 ErlPL-1.1"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND=">=dev-lang/erlang-16"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ epatch "${FILESDIR}"/${P}-makefile.patch
+}
+
+src_compile() {
+ emake Q=""
+}
+
+src_install() {
+ emake DESTDIR="${D}" LIBDIR="$(get_libdir)" PREFIX="/usr" install
+ dodoc README.md CHANGELOG.md CONTRIBUTING.md
+}
diff --git a/dev-lang/elixir/files/elixir-0.9.3-makefile.patch b/dev-lang/elixir/files/elixir-0.9.3-makefile.patch
new file mode 100644
index 000000000000..173a38dbd718
--- /dev/null
+++ b/dev-lang/elixir/files/elixir-0.9.3-makefile.patch
@@ -0,0 +1,170 @@
+https://github.com/elixir-lang/elixir/pull/1407
+
+diff --git a/Makefile b/Makefile
+index 1e7fa98..82c40b5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -3,7 +3,14 @@ ELIXIRC := bin/elixirc --ignore-module-conflict $(ELIXIRC_OPTS)
+ ERLC := erlc -I lib/elixir/include
+ ERL := erl -I lib/elixir/include -noshell -pa lib/elixir/ebin
+ VERSION := $(strip $(shell cat VERSION))
+-INSTALL_PATH := /usr/local
++Q := @
++PREFIX := /usr/local
++LIBDIR := lib
++INSTALL = install
++INSTALL_DIR = $(INSTALL) -m755 -d
++INSTALL_DATA = $(INSTALL) -m644
++INSTALL_PROGRAM = $(INSTALL) -m755
++
+
+ .PHONY: install compile erlang elixir dialyze test clean docs release_docs release_zip release_erl
+ .NOTPARALLEL: compile
+@@ -14,15 +21,15 @@ define APP_TEMPLATE
+ $(1): lib/$(1)/ebin/Elixir.$(2).beam lib/$(1)/ebin/$(1).app
+
+ lib/$(1)/ebin/$(1).app:
+- @ cd lib/$(1) && ../../bin/elixir -e "Mix.Server.start_link(:dev)" -r mix.exs -e "Mix.Task.run('compile.app')"
++ $(Q) cd lib/$(1) && ../../bin/elixir -e "Mix.Server.start_link(:dev)" -r mix.exs -e "Mix.Task.run('compile.app')"
+
+ lib/$(1)/ebin/Elixir.$(2).beam: $(wildcard lib/$(1)/lib/*.ex) $(wildcard lib/$(1)/lib/*/*.ex) $(wildcard lib/$(1)/lib/*/*/*.ex)
+ @ echo "==> $(1) (compile)"
+- @ $$(ELIXIRC) "lib/$(1)/lib/**/*.ex" -o lib/$(1)/ebin
++ $(Q) $$(ELIXIRC) "lib/$(1)/lib/**/*.ex" -o lib/$(1)/ebin
+
+ test_$(1): $(1)
+ @ echo "==> $(1) (exunit)"
+- @ cd lib/$(1) && ../../bin/elixir -r "test/test_helper.exs" -pr "test/**/*_test.exs";
++ $(Q) cd lib/$(1) && ../../bin/elixir -r "test/test_helper.exs" -pr "test/**/*_test.exs";
+ endef
+
+ #==> Compilation tasks
+@@ -35,11 +42,11 @@ default: compile
+ compile: lib/elixir/src/elixir.app.src erlang elixir
+
+ lib/elixir/src/elixir.app.src: src/elixir.app.src
+- @ rm -rf lib/elixir/src/elixir.app.src
+- @ cp src/elixir.app.src lib/elixir/src/elixir.app.src
++ $(Q) rm -rf lib/elixir/src/elixir.app.src
++ $(Q) cp src/elixir.app.src lib/elixir/src/elixir.app.src
+
+ erlang:
+- @ cd lib/elixir && $(REBAR) compile
++ $(Q) cd lib/elixir && $(REBAR) compile
+
+ # Since Mix depends on EEx and EEx depends on
+ # Mix, we first compile EEx without the .app
+@@ -48,21 +55,21 @@ elixir: kernel lib/eex/ebin/Elixir.EEx.beam mix ex_unit eex iex
+
+ kernel: $(KERNEL) VERSION
+ $(KERNEL): lib/elixir/lib/*.ex lib/elixir/lib/*/*.ex
+- @ if [ ! -f $(KERNEL) ]; then \
++ $(Q) if [ ! -f $(KERNEL) ]; then \
+ echo "==> bootstrap (compile)"; \
+ $(ERL) -s elixir_compiler core -s erlang halt; \
+ fi
+ @ echo "==> kernel (compile)";
+- @ $(ELIXIRC) "lib/elixir/lib/**/*.ex" -o lib/elixir/ebin;
+- @ $(MAKE) unicode
+- @ rm -rf lib/elixir/ebin/elixir.app
+- @ cd lib/elixir && $(REBAR) compile
++ $(Q) $(ELIXIRC) "lib/elixir/lib/**/*.ex" -o lib/elixir/ebin;
++ $(Q) $(MAKE) unicode
++ $(Q) rm -rf lib/elixir/ebin/elixir.app
++ $(Q) cd lib/elixir && $(REBAR) compile
+
+ unicode: $(UNICODE)
+ $(UNICODE): lib/elixir/priv/unicode.ex lib/elixir/priv/UnicodeData.txt lib/elixir/priv/NamedSequences.txt
+ @ echo "==> unicode (compile)";
+ @ echo "This step can take up to a minute to compile in order to embed the Unicode database"
+- @ $(ELIXIRC) lib/elixir/priv/unicode.ex -o lib/elixir/ebin;
++ $(Q) $(ELIXIRC) lib/elixir/priv/unicode.ex -o lib/elixir/ebin;
+
+ $(eval $(call APP_TEMPLATE,ex_unit,ExUnit))
+ $(eval $(call APP_TEMPLATE,eex,EEx))
+@@ -72,16 +79,18 @@ $(eval $(call APP_TEMPLATE,iex,IEx))
+ install: compile
+ @ echo "==> elixir (install)"
+ for dir in lib/*; do \
+- install -m755 -d $(INSTALL_PATH)/lib/elixir/$$dir/ebin; \
+- install -m644 $$dir/ebin/* $(INSTALL_PATH)/lib/elixir/$$dir/ebin; \
++ $(INSTALL_DIR) "$(DESTDIR)$(PREFIX)/$(LIBDIR)/elixir/$$dir/ebin"; \
++ $(INSTALL_DATA) $$dir/ebin/* "$(DESTDIR)$(PREFIX)/$(LIBDIR)/elixir/$$dir/ebin"; \
++ done
++ $(INSTALL_DIR) "$(DESTDIR)$(PREFIX)/$(LIBDIR)/elixir/bin"
++ $(INSTALL_PROGRAM) $(filter-out %.bat, $(wildcard bin/*)) "$(DESTDIR)$(PREFIX)/$(LIBDIR)/elixir/bin"
++ $(INSTALL_DIR) "$(DESTDIR)$(PREFIX)/bin"
++ for file in "$(DESTDIR)$(PREFIX)"/$(LIBDIR)/elixir/bin/* ; do \
++ ln -sf "../$(LIBDIR)/elixir/bin/$${file##*/}" "$(DESTDIR)$(PREFIX)/bin/" ; \
+ done
+- install -m755 -d $(INSTALL_PATH)/lib/elixir/bin
+- install -m755 $(filter-out %.bat, $(wildcard bin/*)) $(INSTALL_PATH)/lib/elixir/bin
+- install -m755 -d $(INSTALL_PATH)/bin
+- ln -sf $(INSTALL_PATH)/lib/elixir/bin/* $(INSTALL_PATH)/bin
+
+ clean:
+- @ cd lib/elixir && $(REBAR) clean
++ $(Q) cd lib/elixir && $(REBAR) clean
+ rm -rf ebin
+ rm -rf lib/*/ebin
+ rm -rf lib/*/test/tmp
+@@ -93,7 +102,7 @@ clean:
+ rm -rf lib/elixir/test/ebin
+
+ clean_exbeam:
+- @ rm -f lib/*/ebin/Elixir.*.beam
++ $(Q) rm -f lib/*/ebin/Elixir.*.beam
+
+ #==> Release tasks
+
+@@ -120,8 +129,8 @@ release_docs: docs
+ mv docs ../elixir-lang.github.com/docs/master
+
+ release_erl: compile
+- @ rm -rf rel/elixir
+- @ cd rel && ../rebar generate
++ $(Q) rm -rf rel/elixir
++ $(Q) cd rel && ../rebar generate
+
+ #==> Tests tasks
+
+@@ -129,29 +138,29 @@ test: test_erlang test_elixir
+
+ test_erlang: compile
+ @ echo "==> elixir (eunit)"
+- @ mkdir -p lib/elixir/test/ebin
+- @ $(ERLC) -pa lib/elixir/ebin -o lib/elixir/test/ebin lib/elixir/test/erlang/*.erl
+- @ $(ERL) -pa lib/elixir/test/ebin -s test_helper test -s erlang halt;
++ $(Q) mkdir -p lib/elixir/test/ebin
++ $(Q) $(ERLC) -pa lib/elixir/ebin -o lib/elixir/test/ebin lib/elixir/test/erlang/*.erl
++ $(Q) $(ERL) -pa lib/elixir/test/ebin -s test_helper test -s erlang halt;
+ @ echo
+
+ test_elixir: test_kernel test_ex_unit test_doc_test test_mix test_eex test_iex
+
+ test_doc_test: compile
+ @ echo "==> doctest (exunit)"
+- @ cd lib/elixir && ../../bin/elixir -r "test/doc_test.exs";
++ $(Q) cd lib/elixir && ../../bin/elixir -r "test/doc_test.exs";
+
+ test_kernel: compile
+ @ echo "==> kernel (exunit)"
+- @ cd lib/elixir && ../../bin/elixir -r "test/elixir/test_helper.exs" -pr "test/elixir/**/*_test.exs";
++ $(Q) cd lib/elixir && ../../bin/elixir -r "test/elixir/test_helper.exs" -pr "test/elixir/**/*_test.exs";
+
+ .dialyzer.base_plt:
+ @ echo "==> Adding Erlang/OTP basic applications to a new base PLT"
+- @ dialyzer --output_plt .dialyzer.base_plt --build_plt --apps erts kernel stdlib compiler syntax_tools inets crypto ssl
++ $(Q) dialyzer --output_plt .dialyzer.base_plt --build_plt --apps erts kernel stdlib compiler syntax_tools inets crypto ssl
+
+ dialyze: .dialyzer.base_plt
+- @ rm -f .dialyzer_plt
+- @ cp .dialyzer.base_plt .dialyzer_plt
++ $(Q) rm -f .dialyzer_plt
++ $(Q) cp .dialyzer.base_plt .dialyzer_plt
+ @ echo "==> Adding Elixir to PLT..."
+- @ dialyzer --plt .dialyzer_plt --add_to_plt -r lib/elixir/ebin lib/ex_unit/ebin lib/mix/ebin lib/iex/ebin lib/eex/ebin
++ $(Q) dialyzer --plt .dialyzer_plt --add_to_plt -r lib/elixir/ebin lib/ex_unit/ebin lib/mix/ebin lib/iex/ebin lib/eex/ebin
+ @ echo "==> Dialyzing Elixir..."
+- @ dialyzer --plt .dialyzer_plt -r lib/elixir/ebin lib/ex_unit/ebin lib/mix/ebin lib/iex/ebin lib/eex/ebin
++ $(Q) dialyzer --plt .dialyzer_plt -r lib/elixir/ebin lib/ex_unit/ebin lib/mix/ebin lib/iex/ebin lib/eex/ebin
diff --git a/dev-lang/elixir/metadata.xml b/dev-lang/elixir/metadata.xml
new file mode 100644
index 000000000000..a309a9b4706a
--- /dev/null
+++ b/dev-lang/elixir/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer>
+ <email>hasufell@gentoo.org</email>
+ <name>Julian Ospald</name>
+ </maintainer>
+</pkgmetadata>