diff options
author | 2013-07-13 11:42:20 +0000 | |
---|---|---|
committer | 2013-07-13 11:42:20 +0000 | |
commit | 8363a293ca082b2c516a81347630fdfbc10b424b (patch) | |
tree | d29b1434d1ab281f8c021ba89fe831da5c2fa3c5 /dev-lang/elixir | |
parent | initial import wrt #476288 (diff) | |
download | gentoo-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/ChangeLog | 10 | ||||
-rw-r--r-- | dev-lang/elixir/elixir-0.9.3.ebuild | 32 | ||||
-rw-r--r-- | dev-lang/elixir/files/elixir-0.9.3-makefile.patch | 170 | ||||
-rw-r--r-- | dev-lang/elixir/metadata.xml | 8 |
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> |