diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2018-07-14 21:03:06 +0100 |
commit | 8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch) | |
tree | 7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-lang/erlang | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-lang/erlang')
-rw-r--r-- | dev-lang/erlang/Manifest | 33 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-19.1.ebuild | 155 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-19.3.ebuild | 157 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-20.2.ebuild | 158 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-20.3.2.ebuild | 226 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-20.3.8.ebuild | 226 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-20.3.ebuild | 171 | ||||
-rw-r--r-- | dev-lang/erlang/erlang-21.0.2.ebuild | 225 | ||||
-rw-r--r-- | dev-lang/erlang/files/18.2.1-wx3.0.patch | 113 | ||||
-rw-r--r-- | dev-lang/erlang/files/50erlang-gentoo.el | 5 | ||||
-rw-r--r-- | dev-lang/erlang/files/epmd.init | 19 | ||||
-rw-r--r-- | dev-lang/erlang/files/epmd.service | 9 | ||||
-rw-r--r-- | dev-lang/erlang/files/erlang-20.2-libressl-2.6.1.patch | 111 | ||||
-rw-r--r-- | dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch | 42 | ||||
-rw-r--r-- | dev-lang/erlang/metadata.xml | 17 |
15 files changed, 1667 insertions, 0 deletions
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest new file mode 100644 index 000000000000..a7e0c5161c43 --- /dev/null +++ b/dev-lang/erlang/Manifest @@ -0,0 +1,33 @@ +AUX 18.2.1-wx3.0.patch 3849 BLAKE2B 02912cf61094d8217eab7181a4cc35aead224df7872c412db0b40b072778cfb900bf18219baf52e29f609b72305d3a11ea1079b2e873cf56a0a3bd42e3303d2f SHA512 33d8b67542266ae224ffb2bc86fbf36fff6737252810cfb445662ecc418fb30b0b00cbddd2f706ca836f1a8809c505e61edfe221d29dbe91c78c371bff6cec15 +AUX 50erlang-gentoo.el 134 BLAKE2B df2da5c0c4be3e6855b51b820e3304f5c212a92d13ec48aa5d73ea3a0e801a8dddd371fd8894d49aa9d5573def56b3a864e463734d72fcf5356d39753dbda1ba SHA512 7a862e0ef1e96e88a484e80aeb92eb4465c7e8661efb0291c28abc13225eb3aa69442fe29417f5ad0d264e54399d645d9cd4713bc9869b48e87a91e50b9b2473 +AUX epmd.init 407 BLAKE2B 958698de3eb49ed66d59b3bd3435f64feec22ca8a9d7260ff9141b8d46e0afa40024fd11c6b84ff3cb5ae46f42a795355e594632300a096ca6a862b254994829 SHA512 9a9d1c0d512e31254170a601edb3a023c1f0abfa9c02656ea86cc04f38bfd4b3bffa131cef2c20ee81d3f62073036b0dcaa399736be7d413fcfa48e4001a5304 +AUX epmd.service 138 BLAKE2B f56c907ec51bb85c437235334cf01c6a43ccf2316be3b226ab557e3f71cab48baf59b5a9533a4dccb2cb61a4434e3a51d44eae06010718dbf9a732d605c40f73 SHA512 405740f8f9cd55d4ecd7420748399ab3f374b7cb09e53605f44ba49d0af86b70e4a1baf1fde05a703fb90c8a83dbcdd5cfbbf09185e9d7b58ff9612aefc2dd28 +AUX erlang-20.2-libressl-2.6.1.patch 4228 BLAKE2B 8c671d3aa8329562b274e6b9f233a3f93565f5a0f4491b83e7e57fb6881d0fbaaf955d7aa5537bdcfc85dbf4c979a3625aed2c203679eccaf9fcc4bd93133836 SHA512 66ff54153264d37d21822a19c07dc7d07fb4ed5c32234be7270821c060fcbd2673069dfd23a38512c7b0373fc97e6e44799f4b4280a1391b300f60f422ef6d69 +AUX erlang-20.3.2-dont-ignore-LDFLAGS.patch 1337 BLAKE2B 7272c96b1ee947a98f0a5b1f3bd1fce11e8d02f121348208196ae60af965dfde7fac15263ca0a58df96dff21785a1a63f4fc10f7e7e10c0f68a618e760e5ffd7 SHA512 59d39b1680ac3406e4c37f81a0207588208a873279920258235af54700f80bd67584c3e55c9278f893cd7813573bbec8b13195e47ba00101fc578d5a2b40fa34 +DIST erlang-20.3.2.tar.gz 53492641 BLAKE2B 2cdf78b6003801400d99949865a5b3e17d2209bf411bbe07dc12f749c84725710d12f85cb2559bc39ac04a7d6f7a9ae07b5f131a5524cf4ce3eb8559ca0259bc SHA512 060874cd4f72c1ecea178dd102f4b37a644485a810127092ad04fee76b52729ce199ee476335a2a40370bc718b7e03eb76869c3a48d457773856fd9f6d30a20b +DIST erlang-20.3.8.tar.gz 53499006 BLAKE2B 0c38fb739a9c4f4b79533faea8c533f85c30d680081b5de96e70722a243d53b9317a26c7138a24a78cadd938777bd48a515484fffef2fdfd720819ab12bb8c0c SHA512 2ada142b47fdd0d1807a179e7cd3067e001f94682011436d33e503219a8a93495a187f8192fa2ebcdac48409e489b7b310d538779447981e6ba033a6dde12e1c +DIST erlang-21.0.2.tar.gz 52835517 BLAKE2B bf7e2e166236a7c0a3e3411889f163dce0d938c1a854a6c264c137b601587c4cd4d62d58d9a87cf925406272d6e3d6547e4403927adc8e901716289ee2164162 SHA512 ff736a6df92ac7feec7b9ebb1b6523d511a533d48e536f36aee20fa21b5a1dc33791065d45f6900bbbaa48b4ba80b57a306b416801456a5ac33468786dfb00b7 +DIST erlang_doc_html_20.3.tar.gz 33594990 BLAKE2B 34db68a5c3ae56f097474cc0b776971853d96c57d3d2e058a5db8998aad9c8d498610979a46155e8e935022f363c944f407c10c650fd35174cf1f50697ddf1de SHA512 4b280228fb9cbd9eb62db12ff9d6fad67d6855d0cdbc780839bbc95302ffd907c5b410e6f8519207db8850b753964571a9bf9df9eca53749f5b01d1b27dbc6d4 +DIST erlang_doc_html_21.0.tar.gz 32501093 BLAKE2B 5c5bab831d4a86129cca41f8e82416d45a92e8ae29cd2223301633b46471783ee6bb8131d469cedcf0f655ea21879c475c61d0b9eefba9e12d78d0a803403a19 SHA512 8be300d9e502b7dcf8db4621d7c5c8981f47cbff851b30b33ef33871f737554eda73dacd179b64995fc45362c4dfd91e15ff659d2898f863465222176bfbff9f +DIST erlang_doc_man_20.3.tar.gz 1339710 BLAKE2B 00aba848940914b3d98f9500b8201b0679d7d63d066cee296c8fbb399f132340b989f3cdcdd6c45a46e432efdb7c40c39d8ab4f3dbd64570316d649efc9faed1 SHA512 22c398ce3b42c7ef8abec1db85745eeb4d8804bc679d40b6a786fdc40dc241e43b5551df5d1eccb3ca8d4a64b833bf6663e77044f4564bb49cf67c4b74c5ea25 +DIST erlang_doc_man_21.0.tar.gz 1311959 BLAKE2B 70b049c6d7b8bbbb3bf77f7588ccf0eb937d5fe511968d47e1325dd01b48e986ae82804ffc88b750f0f7e2fe0482c0506ad060a6a84892eea61264aa2b003dd9 SHA512 611ac0b7cb2c0bc0bb6cd194dffe4f9d2c95bf38da033aa8c43d386a9bedf6f7d6fa8a95d340dbb57da2698602599c8e0501cbbdd735d6e5d35110aa9087dc79 +DIST otp_doc_html_19.1.tar.gz 34624316 BLAKE2B e3a5edfe1645d58e4cbd6537c775190716eed7613610ddfa112692fdbace2077b1ccdf7df5987973d2ae4ef529e4ec45d44a240265157816e2a15dabe9232b83 SHA512 2c6448af0be4bf35427950aca82eac3aac7554575ba07a8ba8942c27e1eb668461fde00604c3be28fbaca8a1e28ee4861608e33a9c79bc951bb695f99b1c1ac8 +DIST otp_doc_html_19.3.tar.gz 35818689 BLAKE2B 30118276fbd817b803ef20700fe2e71a8457645d00f8949b6d3175d92cb5c84d306e4de9899e2f5e0c562d8040dc22db35e1a0f2e314cf1a783794573b3ece59 SHA512 a70d2c470fa1dc0594b20af73ba36ccb7702b4192960e6fc0296738175215a43450f9bf558637f7f5e40757f7a15dcf4f1ae8a88515e211cd3c0fae45c5e1858 +DIST otp_doc_html_20.2.tar.gz 33570484 BLAKE2B c47244a601ae780e5304aedbafbc84d514cb21852760c51384b197d8d37602d51448b7123f6205da9afd2c5d2158f518a122dd4d550ca2ff22d3425eb31b6cf7 SHA512 b481930066737cf0ae2496aa9bc0c865da46bd3985fe5ebcf51eb9383539a57ec364e1eed9d3916ba0953d837d0d5d37cfc129a995d4e2a9656846e75cda9397 +DIST otp_doc_html_20.3.tar.gz 33594990 BLAKE2B 34db68a5c3ae56f097474cc0b776971853d96c57d3d2e058a5db8998aad9c8d498610979a46155e8e935022f363c944f407c10c650fd35174cf1f50697ddf1de SHA512 4b280228fb9cbd9eb62db12ff9d6fad67d6855d0cdbc780839bbc95302ffd907c5b410e6f8519207db8850b753964571a9bf9df9eca53749f5b01d1b27dbc6d4 +DIST otp_doc_man_19.1.tar.gz 1405580 BLAKE2B 93b79b88f81a00d7cbb934dbac811c6ea0ec59413e073fe613038eab71087908ed4e4bcbb6c8ed2f0c5bdd03ab4a570f20c4460f233c040ae0c4238e1cfa097a SHA512 4ee35feeff70419ff5500e00dc17e34fdea8be21342d41cf1e255b84a1826b51057046be543ee1052153ae8c8cd215f4720cecae7d9fe1576cbd681dcf4b2334 +DIST otp_doc_man_19.3.tar.gz 1410781 BLAKE2B 78293aa498c2651be27d83f13e14007f25a1816b4dae499f463249f774256eddde3a4e31c435a30edd04fb6f41cee965c968b338de77330c3320f3df6087be92 SHA512 675a0d2d5972660a60de17c832e630f646f942d23815427eb0dec3a5ca1c44ed8fe35a9c30f8b608dedfd10f6fb1e47e958ea6e32e296b6f6809b1844b4da9a1 +DIST otp_doc_man_20.2.tar.gz 1337652 BLAKE2B 416e83c696e30981eabad1f5a7c89abfd0b9d48ff04c9bd86b13dc96302acc9f2b9a73906a2976888ce35c6bfb38b3c006a1e0a041dd1bd5e75908e53bb920c3 SHA512 a67bb975b613c74c4e2418406b6472764ac69dfb9f8a6f64c79c680b1f87edea719431c140b006f776b0088885d958a6f2718267cebaf73ed506eaff721400f4 +DIST otp_doc_man_20.3.tar.gz 1339710 BLAKE2B 00aba848940914b3d98f9500b8201b0679d7d63d066cee296c8fbb399f132340b989f3cdcdd6c45a46e432efdb7c40c39d8ab4f3dbd64570316d649efc9faed1 SHA512 22c398ce3b42c7ef8abec1db85745eeb4d8804bc679d40b6a786fdc40dc241e43b5551df5d1eccb3ca8d4a64b833bf6663e77044f4564bb49cf67c4b74c5ea25 +DIST otp_src_19.1.tar.gz 68103074 BLAKE2B 48e06ce5998929a8ca9804e51f07a4153e7fb1c8b1b4b1b60132e255c29c475534ce018a7902ed29b696b783a21daa73d1778435aada1a77064ab46e915af87d SHA512 bd1c243393c867c91768367613aedb40d56889add149390c81f22e022e76b716d6e9a4d5db7e6477ceb1216c26c18c962abdfd8215a87420758f5ef2063b9714 +DIST otp_src_19.3.tar.gz 68510871 BLAKE2B fc37c493f5fa3533aaa29f545ff751f5851b58d8952f6f21ef50fec433d661a1e3300139b30a41d9c1f16b3eeaf5d98450bf0a2408e7910712d9d98f3af19237 SHA512 6920eab6e1681a76ab44bdd0eeb9b012e601191f91ca06edf1f63ba2e261c555d6f8dddf7025b2e9c3c6459bd63ff78659010ec33967fb1952840fb451ec2de6 +DIST otp_src_20.2.tar.gz 87136848 BLAKE2B f83e652320b67b72cf42be3c23a9251806096fea4e255f73c8170bcb61ea1e008983f1da1c9dc7b46b76e1fd0d96f94097f5d629eb28c08eb424bb1e7a1cee28 SHA512 6c2cbef9fa67f4aa9d0c22bedf87f39b0067994614663afee88c57bb7789eec45cb1970dcbd930d163a27293b8d24b20a90cf6ed30ff1a14492a9ccdd5b59a65 +DIST otp_src_20.3.tar.gz 88170904 BLAKE2B 3f92641e4eb4079572c0cc1cbc6ba1f56977efd182efcef6c466a0ac6232e18d9481823624cdd49a866feb38e96db6150f40927f25f2daaa64fe4aafd02089b4 SHA512 4169e2e653055c62dd66e214dcab577b49cadb8328dcc43adb8a2d44850b12c02db8323992c21852409697c5a48493068316417be9d97519b039a8f1cde143da +EBUILD erlang-19.1.ebuild 4482 BLAKE2B 36a4249649473f50cce66f542c98dbefee41a56d57bd6327f911e6137d5d9bd5fc0656e3f5770f804ae425d428739530be8395a078cc6d930e6c4df2e44edc90 SHA512 26067ee69b78c63a40800b87fcd41f74f1b5a04fdc9e1103b2953f1c721195ec6dfb992474d442193c0673c548ed76a3e88938cc3f93bdbee9e26403164e5e60 +EBUILD erlang-19.3.ebuild 4535 BLAKE2B 248bcab46bc6830e6ffcc626d8170b99f5705c7955fd7184e2f8b8799e0ab4fc97c9741bf4ad9413da479c703b585589e2eae63c9fb298d7e36750fadcb1b56b SHA512 c1b60ca3420d5a3cb1561376c6622d346dbd483e8ff5965f2823a6b1e1e3b0146b32a805307d0a7563ae5171d005cfc27a6662ae2ba8fff0511c5db221851b14 +EBUILD erlang-20.2.ebuild 4586 BLAKE2B e3eed51b916285c87e212446047d07d47492410580464a2c800642be36426848f859573387204afd7ab67d72bbfaefec4189b973525f23829bed9f7a365d436b SHA512 80d5567d6233c7d9fcd53ca64814dd8cf188094decc6f8708563c22bef77b0b85bd23623df825f085f738547bf64b68fdde160b2ca9389b743a2c56259bf37b6 +EBUILD erlang-20.3.2.ebuild 6607 BLAKE2B d25ae5f93fc21e7304beeeecc99cd39516d52685d13003b5c9458272e1e6a9301a028009f746be53c20d20d1d896ec4177d9f06ed1d608ad4c466f1497226046 SHA512 dc6f1228f0f0b9a852f0d8cae149476b44f6069ec647340d259e8cb016a54c80265234e97e49686b33a3948cff485a2a30d276e03c1186749ecdc724e9cbefe2 +EBUILD erlang-20.3.8.ebuild 6650 BLAKE2B a6d808b56317da3fb65ccad9ef422bf602db0546729e8a61f70c233d4d4aa908b09acbb9c435ddcee6990d1372fb7f1dad5ab8a2ab4c8f21cb9ff0600996df9a SHA512 eca902776825efaf825183adbfdf158452bac38476ea6abea88ccdc8e15bf08f34921835acd9a81664b28216e909712dbae75e9b087587778aedae8c15fdf1dc +EBUILD erlang-20.3.ebuild 4694 BLAKE2B 5d66f16b192c72d5890dc656530a743fd4ffd1f5e7a4770e8a2dbd0f69b631ade821163bdda3dfdf579fbddaa723d10564a4990f0c2c272fcc0455c45277154d SHA512 f059ffc739cbe0026c50d1a9019aef3bd63b8da887d755b3cbf6673ee208f294125ff38d261ce27e6b7f884a9a8156ca3bfe57da3bf3794f149b592ea905ed2a +EBUILD erlang-21.0.2.ebuild 6648 BLAKE2B 3da97597dae434a2e35c0f2fb0682258b96f6d41e63760ec9f9acb458ae6db03e9189e346e3d644416f2082d5b13f15d6c0fc3a4d97d673dfedbe22b5c029dca SHA512 fbf641ce18a3c3ae2c3223f629bbd01c3ac0d63e5767c9576d31f9b009f45658adf8c5cbc32447882ebdbbaaf58952160eda1b8ebe4a1cf7c543e2287c8d6a86 +MISC metadata.xml 700 BLAKE2B f71879bdfc301ed27bd8212f074e5dbb176b29bcdab9edeb5ce0ba3dab3d8cb888977a140e91b0a50fbe35960799ab487afa3cd26a7b3b52d01909c678c1f30c SHA512 cada8e7cf719a6f0249c9f8538452d599e9ea938b2d57a9083e728c8f9d1c259871cc0f32c4f01c725692dd5e8270f0f67d84335593bdfe5ae31a54f117b1b84 diff --git a/dev-lang/erlang/erlang-19.1.ebuild b/dev-lang/erlang/erlang-19.1.ebuild new file mode 100644 index 000000000000..19224daf6a1d --- /dev/null +++ b/dev-lang/erlang/erlang-19.1.ebuild @@ -0,0 +1,155 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +WX_GTK_VER="3.0" + +inherit autotools elisp-common eutils java-pkg-opt-2 multilib systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="http://www.erlang.org/" +SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz + http://erlang.org/download/otp_doc_man_${PV}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" +IUSE="compat-ethread dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0 ) + libressl? ( dev-libs/libressl ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd )" +DEPEND="${RDEPEND} + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] virtual/glu ) + sctp? ( net-misc/lksctp-tools ) + tk? ( dev-lang/tk )" + +S="${WORKDIR}/otp_src_${PV}" + +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + epatch "${FILESDIR}"/18.2.1-wx3.0.patch + + use odbc || sed -i 's: odbc : :' lib/Makefile + + # bug 263129, don't ignore LDFLAGS, reported upstream + sed -e 's:LDFLAGS = \$(DED_LDFLAGS):LDFLAGS += \$(DED_LDFLAGS):' -i "${S}"/lib/megaco/src/flex/Makefile.in + + # don't ignore LDFLAGS, reported upstream + sed -e 's:LDFLAGS = \$(ODBC_LIB) \$(EI_LDFLAGS):LDFLAGS += \$(ODBC_LIB) \$(EI_LDFLAGS):' -i "${S}"/lib/odbc/c_src/Makefile.in + + if ! use wxwidgets; then + sed -i 's: wx : :' lib/Makefile + rm -rf lib/wx + fi + + # Nasty workaround, reported upstream + cp "${S}"/lib/configure.in.src "${S}"/lib/configure.in + + # bug 383697 + sed -i '1i#define OF(x) x' erts/emulator/drivers/common/gzio.c + + cd erts && mv configure.in configure.ac && eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + use java || export JAVAC=false + + econf \ + --enable-threads \ + $(use_enable sctp) \ + $(use_enable systemd) \ + $(use_enable hipe) \ + $(use_with ssl ssl "${EPREFIX}"/usr) \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable kpoll kernel-poll) \ + $(use_enable smp smp-support) \ + $(use compat-ethread && echo "--enable-ethread-pre-pentium4-compatibility") \ + $(use x64-macos && echo "--enable-darwin-64bit") \ + $(use_enable dirty-schedulers) +} + +src_compile() { + use java || export JAVAC=false + emake + + if use emacs ; then + pushd lib/tools/emacs + elisp-compile *.el + popd + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR=/usr/$(get_libdir)/erlang + local ERL_INTERFACE_VER=$(extract_version lib/erl_interface EI_VSN) + local ERL_ERTS_VER=$(extract_version erts VSN) + + emake INSTALL_PREFIX="${D}" install + dodoc AUTHORS README.md + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + use smp && dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" + + for i in "${WORKDIR}"/man/man* ; do + dodir "${ERL_LIBDIR}/${i##${WORKDIR}}" + done + for file in "${WORKDIR}"/man/man*/*.[1-9]; do + # doman sucks so we can't use it + cp ${file} "${ED}/${ERL_LIBDIR}"/man/man${file##*.}/ + done + # extend MANPATH, so the normal man command can find it + # see bug 189639 + dodir /etc/env.d/ + echo "MANPATH=\"${EPREFIX}${ERL_LIBDIR}/man\"" > "${ED}/etc/env.d/90erlang" + + if use doc ; then + dohtml -A README,erl,hrl,c,h,kwc,info -r \ + "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* + fi + + if use emacs ; then + pushd "${S}" + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}"/${SITEFILE} > "${T}"/${SITEFILE} + elisp-site-file-install "${T}"/${SITEFILE} + popd + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-19.3.ebuild b/dev-lang/erlang/erlang-19.3.ebuild new file mode 100644 index 000000000000..c18492150753 --- /dev/null +++ b/dev-lang/erlang/erlang-19.3.ebuild @@ -0,0 +1,157 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +WX_GTK_VER="3.0" + +inherit autotools elisp-common eutils java-pkg-opt-2 multilib systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="http://www.erlang.org/" +SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz + http://erlang.org/download/otp_doc_man_${PV}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ~ppc64 ~sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="compat-ethread dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0 ) + libressl? ( dev-libs/libressl ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd )" +DEPEND="${RDEPEND} + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] virtual/glu ) + sctp? ( net-misc/lksctp-tools ) + tk? ( dev-lang/tk )" + +S="${WORKDIR}/otp_src_${PV}" + +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + epatch "${FILESDIR}"/18.2.1-wx3.0.patch + + use odbc || sed -i 's: odbc : :' lib/Makefile + + # bug 263129, don't ignore LDFLAGS, reported upstream + sed -e 's:LDFLAGS = \$(DED_LDFLAGS):LDFLAGS += \$(DED_LDFLAGS):' -i "${S}"/lib/megaco/src/flex/Makefile.in + + # don't ignore LDFLAGS, reported upstream + sed -e 's:LDFLAGS = \$(ODBC_LIB) \$(EI_LDFLAGS):LDFLAGS += \$(ODBC_LIB) \$(EI_LDFLAGS):' -i "${S}"/lib/odbc/c_src/Makefile.in + + if ! use wxwidgets; then + sed -i 's: wx : :' lib/Makefile + rm -rf lib/wx + fi + + # Nasty workaround, reported upstream + cp "${S}"/lib/configure.in.src "${S}"/lib/configure.in + + # bug 383697 + sed -i '1i#define OF(x) x' erts/emulator/drivers/common/gzio.c + + cd erts && mv configure.in configure.ac && eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + use java || export JAVAC=false + + econf \ + --enable-threads \ + $(use_enable sctp) \ + $(use_enable systemd) \ + $(use_enable hipe) \ + $(use_with ssl ssl "${EPREFIX}"/usr) \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable kpoll kernel-poll) \ + $(use_enable smp smp-support) \ + $(use compat-ethread && echo "--enable-ethread-pre-pentium4-compatibility") \ + $(use x64-macos && echo "--enable-darwin-64bit") \ + $(use_enable dirty-schedulers) +} + +src_compile() { + use java || export JAVAC=false + emake + + if use emacs ; then + pushd lib/tools/emacs + elisp-compile *.el + popd + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR=/usr/$(get_libdir)/erlang + local ERL_INTERFACE_VER=$(extract_version lib/erl_interface EI_VSN) + local ERL_ERTS_VER=$(extract_version erts VSN) + + emake INSTALL_PREFIX="${D}" install + dodoc AUTHORS README.md + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + use smp && dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" + + for i in "${WORKDIR}"/man/man* ; do + dodir "${ERL_LIBDIR}/${i##${WORKDIR}}" + done + for file in "${WORKDIR}"/man/man*/*.[1-9]; do + # doman sucks so we can't use it + cp ${file} "${ED}/${ERL_LIBDIR}"/man/man${file##*.}/ + done + # extend MANPATH, so the normal man command can find it + # see bug 189639 + dodir /etc/env.d/ + echo "MANPATH=\"${EPREFIX}${ERL_LIBDIR}/man\"" > "${ED}/etc/env.d/90erlang" + + if use doc ; then + dohtml -A README,erl,hrl,c,h,kwc,info -r \ + "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* + fi + + if use emacs ; then + pushd "${S}" + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}"/${SITEFILE} > "${T}"/${SITEFILE} + elisp-site-file-install "${T}"/${SITEFILE} + popd + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-20.2.ebuild b/dev-lang/erlang/erlang-20.2.ebuild new file mode 100644 index 000000000000..f72b025e3ab4 --- /dev/null +++ b/dev-lang/erlang/erlang-20.2.ebuild @@ -0,0 +1,158 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 +WX_GTK_VER="3.0" + +inherit autotools elisp-common eutils java-pkg-opt-2 multilib systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="http://www.erlang.org/" +SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz + http://erlang.org/download/otp_doc_man_${PV}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="compat-ethread dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0 ) + libressl? ( dev-libs/libressl ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd )" +DEPEND="${RDEPEND} + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] virtual/glu ) + sctp? ( net-misc/lksctp-tools ) + tk? ( dev-lang/tk )" + +S="${WORKDIR}/otp_src_${PV}" + +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + epatch "${FILESDIR}"/18.2.1-wx3.0.patch + epatch "${FILESDIR}"/${P}-libressl-2.6.1.patch + + use odbc || sed -i 's: odbc : :' lib/Makefile + + # bug 263129, don't ignore LDFLAGS, reported upstream + sed -e 's:LDFLAGS = \$(DED_LDFLAGS):LDFLAGS += \$(DED_LDFLAGS):' -i "${S}"/lib/megaco/src/flex/Makefile.in + + # don't ignore LDFLAGS, reported upstream + sed -e 's:LDFLAGS = \$(ODBC_LIB) \$(EI_LDFLAGS):LDFLAGS += \$(ODBC_LIB) \$(EI_LDFLAGS):' -i "${S}"/lib/odbc/c_src/Makefile.in + + if ! use wxwidgets; then + sed -i 's: wx : :' lib/Makefile + rm -rf lib/wx + fi + + # Nasty workaround, reported upstream + cp "${S}"/lib/configure.in.src "${S}"/lib/configure.in + + # bug 383697 + sed -i '1i#define OF(x) x' erts/emulator/drivers/common/gzio.c + + cd erts && mv configure.in configure.ac && eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + use java || export JAVAC=false + + econf \ + --enable-threads \ + $(use_enable sctp) \ + $(use_enable systemd) \ + $(use_enable hipe) \ + $(use_with ssl ssl "${EPREFIX}"/usr) \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable kpoll kernel-poll) \ + $(use_enable smp smp-support) \ + $(use compat-ethread && echo "--enable-ethread-pre-pentium4-compatibility") \ + $(use x64-macos && echo "--enable-darwin-64bit") \ + $(use_enable dirty-schedulers) +} + +src_compile() { + use java || export JAVAC=false + emake + + if use emacs ; then + pushd lib/tools/emacs + elisp-compile *.el + popd + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR=/usr/$(get_libdir)/erlang + local ERL_INTERFACE_VER=$(extract_version lib/erl_interface EI_VSN) + local ERL_ERTS_VER=$(extract_version erts VSN) + + emake INSTALL_PREFIX="${D}" install + dodoc AUTHORS README.md + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + use smp && dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" + + for i in "${WORKDIR}"/man/man* ; do + dodir "${ERL_LIBDIR}/${i##${WORKDIR}}" + done + for file in "${WORKDIR}"/man/man*/*.[1-9]; do + # doman sucks so we can't use it + cp ${file} "${ED}/${ERL_LIBDIR}"/man/man${file##*.}/ + done + # extend MANPATH, so the normal man command can find it + # see bug 189639 + dodir /etc/env.d/ + echo "MANPATH=\"${EPREFIX}${ERL_LIBDIR}/man\"" > "${ED}/etc/env.d/90erlang" + + if use doc ; then + dohtml -A README,erl,hrl,c,h,kwc,info -r \ + "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* + fi + + if use emacs ; then + pushd "${S}" + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}"/${SITEFILE} > "${T}"/${SITEFILE} + elisp-site-file-install "${T}"/${SITEFILE} + popd + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-20.3.2.ebuild b/dev-lang/erlang/erlang-20.3.2.ebuild new file mode 100644 index 000000000000..d9828cad710b --- /dev/null +++ b/dev-lang/erlang/erlang-20.3.2.ebuild @@ -0,0 +1,226 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(get_version_component_range 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="http://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND} + dev-lang/perl + sctp? ( net-misc/lksctp-tools ) + sys-libs/zlib + tk? ( dev-lang/tk ) + x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] + virtual/glu +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + ) + +SITEFILE=50"${PN}"-gentoo.el + +# Taken from the upstream build script, build_otp +erlang_create_lib_configure_in() { + local bootstrap_apps="erts lib/asn1 lib/compiler lib/hipelib/ic lib/kernel + lib/parsetools lib/sasl lib/snmp lib/stdlib lib/syntax_tools" + local sdirs= + for lib_app in ${bootstrap_apps}; do + case "${lib_app}" in + lib/*) + if [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` + sdirs="${sdirs}test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" || die + fi;; + *) + ;; + esac + done + + local sed_bootstrap="s%@BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + sdirs= + for lib_app in lib/*; do + local is_bapp=false + for bapp in ${bootstrap_apps}; do + test "${bapp} != ${lib_app}" || { "${is_bapp}"=true; break; } + done + if [[ "${is_bapp}" = false ]] && [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` || die + sdirs="${sdirs} test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" + fi + done + + local sed_non_bootstrap="s%@NON_BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + rm -f lib/configure.in || die + sed "$sed_bootstrap;$sed_non_bootstrap" > lib/configure.ac < lib/configure.in.src || die "Failed to create lib/configure.ac" + +} + +# Taken from the upstream build script, build_otp +erlang_distribute_config_helpers() { + local aclocal_dirs=". ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" + local autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" + + local aclocal_master="./erts/aclocal.m4" + local install_sh_master="./erts/autoconf/install-sh" + local config_guess_master="./erts/autoconf/config.guess" + local config_sub_master="./erts/autoconf/config.sub" + + for dir in ${aclocal_dirs}; do + "${install_sh_master}" -m 644 -t "${dir}" "${aclocal_master}" || die + done + + for dir in ${autoconf_aux_dirs}; do + "${install_sh_master}" -d "${dir}" || die + "${install_sh_master}" -t "${dir}" "${install_sh_master}" || die + "${install_sh_master}" -t "${dir}" "${config_guess_master}" || die + "${install_sh_master}" -t "${dir}" "${config_sub_master}" || die + done +} + +src_prepare() { + default + + # Determines which directories to recurse into with autoconf + erlang_create_lib_configure_in + + # Move local autoconf files into the neccessary directories + erlang_distribute_config_helpers + + java-pkg-opt-2_src_prepare + + eautoreconf +} + +src_configure() { + need-wxwidgets unicode + + econf \ + --disable-builtin-zlib \ + $(use_enable dirty-schedulers) \ + $(use_enable hipe) \ + $(use_enable kpoll kernel-poll) \ + $(use_with java javac) \ + $(use_with odbc) \ + $(use_enable sctp) \ + $(use_enable smp smp-support) \ + $(use_with ssl) \ + $(use_with ssl ssl-rpath "no") \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable systemd) \ + --enable-threads +} + +src_compile() { + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR="/usr/$(get_libdir)/erlang" + local ERL_INTERFACE_VER="$(extract_version lib/erl_interface EI_VSN)" + local ERL_ERTS_VER="$(extract_version erts VSN)" + local MY_MANPATH="/usr/share/${PN}/man" + + [[ -z "${ERL_ERTS_VER}" ]] && die "Couldn't determine erts version" + [[ -z "${ERL_INTERFACE_VER}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${ED}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + fi + + einstalldocs + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + + if use smp; then + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + else + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + fi + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" || die + + insinto "${MY_MANPATH}" + + doins -r "${WORKDIR}"/man/* + + # extend MANPATH, so the normal man command can find it + # see bug 189639 + echo "MANPATH=\"${MY_MANPATH}\"" > "${T}/90erlang" || die + doenvd "${T}/90erlang" + + if use emacs ; then + pushd "${S}" &>/dev/null || die + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + popd &>/dev/null || die + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-20.3.8.ebuild b/dev-lang/erlang/erlang-20.3.8.ebuild new file mode 100644 index 000000000000..ed20da173d49 --- /dev/null +++ b/dev-lang/erlang/erlang-20.3.8.ebuild @@ -0,0 +1,226 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(get_version_component_range 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="http://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND} + dev-lang/perl + sctp? ( net-misc/lksctp-tools ) + sys-libs/zlib + tk? ( dev-lang/tk ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] + virtual/glu ) +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + ) + +SITEFILE=50"${PN}"-gentoo.el + +# Taken from the upstream build script, build_otp +erlang_create_lib_configure_in() { + local bootstrap_apps="erts lib/asn1 lib/compiler lib/hipelib/ic lib/kernel + lib/parsetools lib/sasl lib/snmp lib/stdlib lib/syntax_tools" + local sdirs= + for lib_app in ${bootstrap_apps}; do + case "${lib_app}" in + lib/*) + if [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` + sdirs="${sdirs}test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" || die + fi;; + *) + ;; + esac + done + + local sed_bootstrap="s%@BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + sdirs= + for lib_app in lib/*; do + local is_bapp=false + for bapp in ${bootstrap_apps}; do + test "${bapp} != ${lib_app}" || { "${is_bapp}"=true; break; } + done + if [[ "${is_bapp}" = false ]] && [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` || die + sdirs="${sdirs} test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" + fi + done + + local sed_non_bootstrap="s%@NON_BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + rm -f lib/configure.in || die + sed "$sed_bootstrap;$sed_non_bootstrap" > lib/configure.ac < lib/configure.in.src || die "Failed to create lib/configure.ac" + +} + +# Taken from the upstream build script, build_otp +erlang_distribute_config_helpers() { + local aclocal_dirs=". ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" + local autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" + + local aclocal_master="./erts/aclocal.m4" + local install_sh_master="./erts/autoconf/install-sh" + local config_guess_master="./erts/autoconf/config.guess" + local config_sub_master="./erts/autoconf/config.sub" + + for dir in ${aclocal_dirs}; do + "${install_sh_master}" -m 644 -t "${dir}" "${aclocal_master}" || die + done + + for dir in ${autoconf_aux_dirs}; do + "${install_sh_master}" -d "${dir}" || die + "${install_sh_master}" -t "${dir}" "${install_sh_master}" || die + "${install_sh_master}" -t "${dir}" "${config_guess_master}" || die + "${install_sh_master}" -t "${dir}" "${config_sub_master}" || die + done +} + +src_prepare() { + default + + # Determines which directories to recurse into with autoconf + erlang_create_lib_configure_in + + # Move local autoconf files into the neccessary directories + erlang_distribute_config_helpers + + java-pkg-opt-2_src_prepare + + eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + + econf \ + --disable-builtin-zlib \ + $(use_enable dirty-schedulers) \ + $(use_enable hipe) \ + $(use_enable kpoll kernel-poll) \ + $(use_with java javac) \ + $(use_with odbc) \ + $(use_enable sctp) \ + $(use_enable smp smp-support) \ + $(use_with ssl) \ + $(use_with ssl ssl-rpath "no") \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable systemd) \ + --enable-threads +} + +src_compile() { + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR="/usr/$(get_libdir)/erlang" + local ERL_INTERFACE_VER="$(extract_version lib/erl_interface EI_VSN)" + local ERL_ERTS_VER="$(extract_version erts VSN)" + local MY_MANPATH="/usr/share/${PN}/man" + + [[ -z "${ERL_ERTS_VER}" ]] && die "Couldn't determine erts version" + [[ -z "${ERL_INTERFACE_VER}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${ED}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + fi + + einstalldocs + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + + if use smp; then + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + else + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + fi + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" || die + + insinto "${MY_MANPATH}" + + doins -r "${WORKDIR}"/man/* + + # extend MANPATH, so the normal man command can find it + # see bug 189639 + echo "MANPATH=\"${MY_MANPATH}\"" > "${T}/90erlang" || die + doenvd "${T}/90erlang" + + if use emacs ; then + pushd "${S}" &>/dev/null || die + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + popd &>/dev/null || die + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-20.3.ebuild b/dev-lang/erlang/erlang-20.3.ebuild new file mode 100644 index 000000000000..80c077ee54b3 --- /dev/null +++ b/dev-lang/erlang/erlang-20.3.ebuild @@ -0,0 +1,171 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="http://www.erlang.org/" +SRC_URI="http://www.erlang.org/download/otp_src_${PV}.tar.gz + http://erlang.org/download/otp_doc_man_${PV}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${PV}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ppc64 sparc x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="compat-ethread dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +# False positives caused by nested configure scripts +QA_CONFIGURE_OPTIONS="--disable-silent-rules" + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND} + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] virtual/glu ) + sctp? ( net-misc/lksctp-tools ) + tk? ( dev-lang/tk ) +" + +S="${WORKDIR}/otp_src_${PV}" + +SITEFILE=50${PN}-gentoo.el + +src_prepare() { + default + + eapply "${FILESDIR}"/18.2.1-wx3.0.patch + + if ! use odbc; then + sed -i 's: odbc : :' lib/Makefile || die + rm -rf lib/odbc/ + fi + + # bug 263129, don't ignore LDFLAGS, reported upstream + sed -e 's:LDFLAGS = \$(DED_LDFLAGS):LDFLAGS += \$(DED_LDFLAGS):' -i "${S}"/lib/megaco/src/flex/Makefile.in + + # don't ignore LDFLAGS, reported upstream + use odbc && sed -e 's:LDFLAGS = \$(ODBC_LIB) \$(EI_LDFLAGS):LDFLAGS += \$(ODBC_LIB) \$(EI_LDFLAGS):' -i "${S}"/lib/odbc/c_src/Makefile.in + + if ! use wxwidgets; then + sed -i 's: wx : :' lib/Makefile + rm -rf lib/wx + fi + + # Nasty workaround, reported upstream + cp "${S}"/lib/configure.in.src "${S}"/lib/configure.in + + # bug 383697 + sed -i '1i#define OF(x) x' erts/emulator/drivers/common/gzio.c + + cd erts && mv configure.in configure.ac && eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + use java || export JAVAC=false + + econf \ + --enable-threads \ + $(use_enable sctp) \ + $(use_enable systemd) \ + $(use_enable hipe) \ + $(use_with ssl ssl "${EPREFIX}"/usr) \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable kpoll kernel-poll) \ + $(use_enable smp smp-support) \ + $(use compat-ethread && echo "--enable-ethread-pre-pentium4-compatibility") \ + $(use x64-macos && echo "--enable-darwin-64bit") \ + $(use_enable dirty-schedulers) +} + +src_compile() { + use java || export JAVAC=false + emake + + if use emacs ; then + pushd lib/tools/emacs + elisp-compile *.el + popd + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR=/usr/$(get_libdir)/erlang + local ERL_INTERFACE_VER=$(extract_version lib/erl_interface EI_VSN) + local ERL_ERTS_VER=$(extract_version erts VSN) + + emake INSTALL_PREFIX="${D}" install + einstalldocs + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + + if use smp; then + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + else + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + fi + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" + + for i in "${WORKDIR}"/man/man* ; do + dodir "${ERL_LIBDIR}/${i##${WORKDIR}}" + done + for file in "${WORKDIR}"/man/man*/*.[1-9]; do + # doman sucks so we can't use it + cp ${file} "${ED}/${ERL_LIBDIR}"/man/man${file##*.}/ + done + # extend MANPATH, so the normal man command can find it + # see bug 189639 + dodir /etc/env.d/ + echo "MANPATH=\"${EPREFIX}${ERL_LIBDIR}/man\"" > "${ED}/etc/env.d/90erlang" + + if use doc ; then + dohtml -A README,erl,hrl,c,h,kwc,info -r \ + "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-* + fi + + if use emacs ; then + pushd "${S}" + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}"/${SITEFILE} > "${T}"/${SITEFILE} + elisp-site-file-install "${T}"/${SITEFILE} + popd + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/erlang-21.0.2.ebuild b/dev-lang/erlang/erlang-21.0.2.ebuild new file mode 100644 index 000000000000..4d85955c4706 --- /dev/null +++ b/dev-lang/erlang/erlang-21.0.2.ebuild @@ -0,0 +1,225 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +WX_GTK_VER="3.0" + +inherit autotools elisp-common java-pkg-opt-2 systemd versionator wxwidgets + +# NOTE: If you need symlinks for binaries please tell maintainers or +# open up a bug to let it be created. + +UPSTREAM_V="$(get_version_component_range 1-2)" + +DESCRIPTION="Erlang programming language, runtime environment and libraries (OTP)" +HOMEPAGE="http://www.erlang.org/" +SRC_URI="https://github.com/erlang/otp/archive/OTP-${PV}.tar.gz -> ${P}.tar.gz + http://erlang.org/download/otp_doc_man_${UPSTREAM_V}.tar.gz -> ${PN}_doc_man_${UPSTREAM_V}.tar.gz + doc? ( http://erlang.org/download/otp_doc_html_${UPSTREAM_V}.tar.gz -> ${PN}_doc_html_${UPSTREAM_V}.tar.gz )" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris" + +IUSE="dirty-schedulers doc emacs hipe java kpoll libressl odbc smp sctp ssl systemd tk wxwidgets" +REQUIRED_USE="dirty-schedulers? ( smp )" #621610 + +RDEPEND=" + ssl? ( + !libressl? ( >=dev-libs/openssl-0.9.7d:0= ) + libressl? ( dev-libs/libressl:0= ) + ) + emacs? ( virtual/emacs ) + java? ( >=virtual/jdk-1.2:* ) + odbc? ( dev-db/unixODBC ) + systemd? ( sys-apps/systemd ) +" +DEPEND="${RDEPEND} + dev-lang/perl + sctp? ( net-misc/lksctp-tools ) + sys-libs/zlib + tk? ( dev-lang/tk ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X,opengl] virtual/glu ) +" + +S="${WORKDIR}/otp-OTP-${PV}" + +PATCHES=( + "${FILESDIR}/18.2.1-wx3.0.patch" + "${FILESDIR}/${PN}-20.3.2-dont-ignore-LDFLAGS.patch" + ) + +SITEFILE=50"${PN}"-gentoo.el + +# Taken from the upstream build script, build_otp +erlang_create_lib_configure_in() { + local bootstrap_apps="erts lib/asn1 lib/compiler lib/hipelib/ic lib/kernel + lib/parsetools lib/sasl lib/snmp lib/stdlib lib/syntax_tools" + local sdirs= + for lib_app in ${bootstrap_apps}; do + case "${lib_app}" in + lib/*) + if [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` + sdirs="${sdirs}test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" || die + fi;; + *) + ;; + esac + done + + local sed_bootstrap="s%@BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + sdirs= + for lib_app in lib/*; do + local is_bapp=false + for bapp in ${bootstrap_apps}; do + test "${bapp} != ${lib_app}" || { "${is_bapp}"=true; break; } + done + if [[ "${is_bapp}" = false ]] && [[ -f "${lib_app}/configure.in" ]]; then + mv "${lib_app}/configure.in" "${lib_app}/configure.ac" || die + app=`echo "${lib_app}" | sed "s|lib/\(.*\)|\1|"` || die + sdirs="${sdirs} test ! -f ${app}/configure || AC_CONFIG_SUBDIRS(${app}/.)\n" + fi + done + + local sed_non_bootstrap="s%@NON_BOOTSTRAP_CONFIGURE_APPS@%$sdirs%g" + + rm -f lib/configure.in || die + sed "$sed_bootstrap;$sed_non_bootstrap" > lib/configure.ac < lib/configure.in.src || die "Failed to create lib/configure.ac" + +} + +# Taken from the upstream build script, build_otp +erlang_distribute_config_helpers() { + local aclocal_dirs=". ./lib/erl_interface ./lib/odbc ./lib/wx ./lib/megaco" + local autoconf_aux_dirs="./lib/common_test/priv/auxdir ./lib/erl_interface/src/auxdir ./lib/common_test/test_server ./lib/wx/autoconf" + + local aclocal_master="./erts/aclocal.m4" + local install_sh_master="./erts/autoconf/install-sh" + local config_guess_master="./erts/autoconf/config.guess" + local config_sub_master="./erts/autoconf/config.sub" + + for dir in ${aclocal_dirs}; do + "${install_sh_master}" -m 644 -t "${dir}" "${aclocal_master}" || die + done + + for dir in ${autoconf_aux_dirs}; do + "${install_sh_master}" -d "${dir}" || die + "${install_sh_master}" -t "${dir}" "${install_sh_master}" || die + "${install_sh_master}" -t "${dir}" "${config_guess_master}" || die + "${install_sh_master}" -t "${dir}" "${config_sub_master}" || die + done +} + +src_prepare() { + default + + # Determines which directories to recurse into with autoconf + erlang_create_lib_configure_in + + # Move local autoconf files into the neccessary directories + erlang_distribute_config_helpers + + java-pkg-opt-2_src_prepare + + eautoreconf +} + +src_configure() { + use wxwidgets && need-wxwidgets unicode + + econf \ + --disable-builtin-zlib \ + $(use_enable dirty-schedulers) \ + $(use_enable hipe) \ + $(use_enable kpoll kernel-poll) \ + $(use_with java javac) \ + $(use_with odbc) \ + $(use_enable sctp) \ + $(use_enable smp smp-support) \ + $(use_with ssl) \ + $(use_with ssl ssl-rpath "no") \ + $(use_enable ssl dynamic-ssl-lib) \ + $(use_enable systemd) \ + --enable-threads +} + +src_compile() { + emake + + if use emacs ; then + pushd lib/tools/emacs &>/dev/null || die + elisp-compile *.el + popd &>/dev/null || die + fi +} + +extract_version() { + sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk" +} + +src_install() { + local ERL_LIBDIR="/usr/$(get_libdir)/erlang" + local ERL_INTERFACE_VER="$(extract_version lib/erl_interface EI_VSN)" + local ERL_ERTS_VER="$(extract_version erts VSN)" + local MY_MANPATH="/usr/share/${PN}/man" + + [[ -z "${ERL_ERTS_VER}" ]] && die "Couldn't determine erts version" + [[ -z "${ERL_INTERFACE_VER}" ]] && die "Couldn't determine interface version" + + emake INSTALL_PREFIX="${ED}" install + + if use doc ; then + local DOCS=( "AUTHORS" "HOWTO"/* "README.md" "CONTRIBUTING.md" "${WORKDIR}"/doc/. "${WORKDIR}"/lib/. "${WORKDIR}"/erts-* ) + docompress -x /usr/share/doc/${PF} + fi + + einstalldocs + + dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl + dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc + dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript + dosym \ + "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \ + /usr/bin/erl_call + + if use smp; then + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam.smp" /usr/bin/beam.smp + else + dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam + fi + + ## Clean up the no longer needed files + rm "${ED}/${ERL_LIBDIR}/Install" || die + + insinto "${MY_MANPATH}" + + doins -r "${WORKDIR}"/man/* + + # extend MANPATH, so the normal man command can find it + # see bug 189639 + echo "MANPATH=\"${MY_MANPATH}\"" > "${T}/90erlang" || die + doenvd "${T}/90erlang" + + if use emacs ; then + pushd "${S}" &>/dev/null || die + elisp-install erlang lib/tools/emacs/*.{el,elc} + sed -e "s:/usr/share:${EPREFIX}/usr/share:g" \ + "${FILESDIR}/${SITEFILE}" > "${T}/${SITEFILE}" || die + elisp-site-file-install "${T}/${SITEFILE}" + popd &>/dev/null || die + fi + + newinitd "${FILESDIR}"/epmd.init epmd + systemd_dounit "${FILESDIR}"/epmd.service +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-lang/erlang/files/18.2.1-wx3.0.patch b/dev-lang/erlang/files/18.2.1-wx3.0.patch new file mode 100644 index 000000000000..aada0d9eaa1e --- /dev/null +++ b/dev-lang/erlang/files/18.2.1-wx3.0.patch @@ -0,0 +1,113 @@ +Description: Fix constants for wxwidgets3.0 + The values of wx constants can change between stable release series (and + some have between 2.8 and 3.0), but erlang seems to hardcode these values. +Author: Olly Betts <olly@survex.com> +Bug-Debian: https://bugs.debian.org/766790 +Forwarded: no +Last-Update: 2014-11-25 + +--- a/lib/wx/include/wx.hrl ++++ b/lib/wx/include/wx.hrl +@@ -767,7 +767,7 @@ + % From "checkbox.h" + -define(wxCHK_ALLOW_3RD_STATE_FOR_USER, 8192). + -define(wxCHK_3STATE, 4096). +--define(wxCHK_2STATE, 0). ++-define(wxCHK_2STATE, 16384). + % From "checkbox.h": wxCheckBoxState + -define(wxCHK_UNCHECKED, 0). + -define(wxCHK_CHECKED, 1). +@@ -1014,10 +1014,10 @@ + -define(wxSIZE_AUTO_WIDTH, 1). + -define(wxSETUP, 131072). + -define(wxMORE, 65536). +--define(wxHELP, 32768). +--define(wxRESET, 16384). +--define(wxBACKWARD, 8192). +--define(wxFORWARD, 4096). ++-define(wxHELP, 4096). ++-define(wxRESET, 32768). ++-define(wxBACKWARD, 16384). ++-define(wxFORWARD, 8192). + -define(wxICON_MASK, (16#00000100 bor 16#00000200 bor 16#00000400 bor 16#00000800)). + -define(wxICON_ASTERISK, ?wxICON_INFORMATION). + -define(wxICON_STOP, ?wxICON_HAND). +@@ -1049,8 +1049,8 @@ + -define(wxTC_TOP, 0). + -define(wxTC_FIXEDWIDTH, 32). + -define(wxTC_RIGHTJUSTIFY, 16). +--define(wxSP_WRAP, 8192). +--define(wxSP_ARROW_KEYS, 4096). ++-define(wxSP_WRAP, 32768). ++-define(wxSP_ARROW_KEYS, 16384). + -define(wxSP_VERTICAL, ?wxVERTICAL). + -define(wxSP_HORIZONTAL, ?wxHORIZONTAL). + -define(wxSB_VERTICAL, ?wxVERTICAL). +@@ -1071,8 +1071,8 @@ + -define(wxCB_SIMPLE, 4). + -define(wxLB_INT_HEIGHT, 2048). + -define(wxLB_HSCROLL, ?wxHSCROLL). +--define(wxLB_ALWAYS_SB, 1024). +--define(wxLB_NEEDED_SB, 512). ++-define(wxLB_ALWAYS_SB, 512). ++-define(wxLB_NEEDED_SB, 0). + -define(wxLB_OWNERDRAW, 256). + -define(wxLB_EXTENDED, 128). + -define(wxLB_MULTIPLE, 64). +@@ -1548,7 +1548,7 @@ + -define(wxUPDATE_UI_FROMIDLE, 2). + % From "dialog.h" + -define(wxDEFAULT_DIALOG_STYLE, (?wxCAPTION bor ?wxSYSTEM_MENU bor ?wxCLOSE_BOX)). +--define(wxDIALOG_NO_PARENT, 1). ++-define(wxDIALOG_NO_PARENT, 32). + % From "dirctrlg.h" + -define(wxDIRCTRL_DIR_ONLY, 16). + -define(wxDIRCTRL_SELECT_FIRST, 32). +@@ -3728,7 +3728,7 @@ + -define(wxSTC_KEY_LEFT, 302). + -define(wxSTC_KEY_UP, 301). + -define(wxSTC_KEY_DOWN, 300). +--define(wxSTC_MODEVENTMASKALL, 8191). ++-define(wxSTC_MODEVENTMASKALL, 1048575). + -define(wxSTC_MULTILINEUNDOREDO, 4096). + -define(wxSTC_MOD_BEFOREDELETE, 2048). + -define(wxSTC_MOD_BEFOREINSERT, 1024). +@@ -3810,7 +3810,7 @@ + -define(wxSTC_INDIC_TT, 2). + -define(wxSTC_INDIC_SQUIGGLE, 1). + -define(wxSTC_INDIC_PLAIN, 0). +--define(wxSTC_INDIC_MAX, 7). ++-define(wxSTC_INDIC_MAX, 31). + -define(wxSTC_CASE_LOWER, 2). + -define(wxSTC_CASE_UPPER, 1). + -define(wxSTC_CASE_MIXED, 0). +@@ -3835,7 +3835,7 @@ + -define(wxSTC_CHARSET_BALTIC, 186). + -define(wxSTC_CHARSET_DEFAULT, 1). + -define(wxSTC_CHARSET_ANSI, 0). +--define(wxSTC_STYLE_MAX, 127). ++-define(wxSTC_STYLE_MAX, 255). + -define(wxSTC_STYLE_LASTPREDEFINED, 39). + -define(wxSTC_STYLE_CALLTIP, 38). + -define(wxSTC_STYLE_INDENTGUIDE, 37). +@@ -3934,9 +3934,9 @@ + -define(wxTE_PROCESS_TAB, 64). + -define(wxTE_MULTILINE, 32). + -define(wxTE_READONLY, 16). +--define(wxTE_AUTO_SCROLL, 8). ++-define(wxTE_AUTO_SCROLL, 0). + -define(wxTE_NO_VSCROLL, 2). +--define(wxHAS_TEXT_WINDOW_STREAM, 0). ++-define(wxHAS_TEXT_WINDOW_STREAM, 1). + % From "textctrl.h": wxTextAttrAlignment + -define(wxTEXT_ALIGNMENT_DEFAULT, 0). + -define(wxTEXT_ALIGNMENT_LEFT, 1). +@@ -3986,7 +3986,7 @@ + -define(wxDEFAULT_FRAME_STYLE, (?wxSYSTEM_MENU bor ?wxRESIZE_BORDER bor ?wxMINIMIZE_BOX bor ?wxMAXIMIZE_BOX bor ?wxCLOSE_BOX bor ?wxCAPTION bor ?wxCLIP_CHILDREN)). + -define(wxRESIZE_BORDER, 64). + -define(wxTINY_CAPTION_VERT, 128). +--define(wxTINY_CAPTION_HORIZ, 256). ++-define(wxTINY_CAPTION_HORIZ, 128). + -define(wxMAXIMIZE_BOX, 512). + -define(wxMINIMIZE_BOX, 1024). + -define(wxSYSTEM_MENU, 2048). diff --git a/dev-lang/erlang/files/50erlang-gentoo.el b/dev-lang/erlang/files/50erlang-gentoo.el new file mode 100644 index 000000000000..db1ae7636f1d --- /dev/null +++ b/dev-lang/erlang/files/50erlang-gentoo.el @@ -0,0 +1,5 @@ +;;; erlang site-lisp configuration + +(add-to-list 'load-path "@SITELISP@") +(require 'erlang-start) +(setq erlang-root-dir "/usr/share") diff --git a/dev-lang/erlang/files/epmd.init b/dev-lang/erlang/files/epmd.init new file mode 100644 index 000000000000..9b3b9e2ad72c --- /dev/null +++ b/dev-lang/erlang/files/epmd.init @@ -0,0 +1,19 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the Erlang Public License 1.1 + +depend() { + need net +} + +start() { + ebegin "Starting Erlang Port Mapper Daemon" + start-stop-daemon --start --quiet --user nobody --group nobody --exec /usr/bin/epmd -- -daemon + eend $? +} + +stop() { + ebegin "Stopping Erlang Port Mapper Daemon" + /usr/bin/epmd -kill >/dev/null + eend $? +} diff --git a/dev-lang/erlang/files/epmd.service b/dev-lang/erlang/files/epmd.service new file mode 100644 index 000000000000..57382ff36a40 --- /dev/null +++ b/dev-lang/erlang/files/epmd.service @@ -0,0 +1,9 @@ +[Unit] +Description=Erlang Portmapper Daemon +Wants=network.target + +[Service] +ExecStart=/usr/bin/epmd + +[Install] +WantedBy=multi-user.target diff --git a/dev-lang/erlang/files/erlang-20.2-libressl-2.6.1.patch b/dev-lang/erlang/files/erlang-20.2-libressl-2.6.1.patch new file mode 100644 index 000000000000..89f8fc8b323d --- /dev/null +++ b/dev-lang/erlang/files/erlang-20.2-libressl-2.6.1.patch @@ -0,0 +1,111 @@ +From b5b6c7695c5377b5aa474d8620df7c3e9a1ba629 Mon Sep 17 00:00:00 2001 +From: Hans Nilsson <hans@erlang.org> +Date: Thu, 11 Jan 2018 15:29:23 +0100 +Subject: [PATCH] crypto: Disable RSA sslv23 padding for LibreSSL >= 2.6.1 + +Not supported in newer LibreSSL. +--- + lib/crypto/c_src/crypto.c | 26 +++++++++++++++++++++++--- + 1 file changed, 23 insertions(+), 3 deletions(-) + +diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c +index 6957d25774..9a3ea07c97 100644 +--- a/lib/crypto/c_src/crypto.c ++++ b/lib/crypto/c_src/crypto.c +@@ -179,6 +179,12 @@ + # define HAVE_ECB_IVEC_BUG + #endif + ++#define HAVE_RSA_SSLV23_PADDING ++#if defined(HAS_LIBRESSL) \ ++ && LIBRESSL_VERSION_NUMBER >= PACKED_OPENSSL_VERSION_PLAIN(2,6,1) ++# undef HAVE_RSA_SSLV23_PADDING ++#endif ++ + #if defined(HAVE_CMAC) + #include <openssl/cmac.h> + #endif +@@ -659,7 +665,9 @@ static ERL_NIF_TERM atom_rsa_oaep_md; + static ERL_NIF_TERM atom_rsa_pad; /* backwards compatibility */ + static ERL_NIF_TERM atom_rsa_padding; + static ERL_NIF_TERM atom_rsa_pkcs1_pss_padding; ++#ifdef HAVE_RSA_SSLV23_PADDING + static ERL_NIF_TERM atom_rsa_sslv23_padding; ++#endif + static ERL_NIF_TERM atom_rsa_x931_padding; + static ERL_NIF_TERM atom_rsa_pss_saltlen; + static ERL_NIF_TERM atom_sha224; +@@ -1064,7 +1072,9 @@ static int initialize(ErlNifEnv* env, ERL_NIF_TERM load_info) + atom_rsa_pad = enif_make_atom(env,"rsa_pad"); /* backwards compatibility */ + atom_rsa_padding = enif_make_atom(env,"rsa_padding"); + atom_rsa_pkcs1_pss_padding = enif_make_atom(env,"rsa_pkcs1_pss_padding"); ++#ifdef HAVE_RSA_SSLV23_PADDING + atom_rsa_sslv23_padding = enif_make_atom(env,"rsa_sslv23_padding"); ++#endif + atom_rsa_x931_padding = enif_make_atom(env,"rsa_x931_padding"); + atom_rsa_pss_saltlen = enif_make_atom(env,"rsa_pss_saltlen"); + atom_sha224 = enif_make_atom(env,"sha224"); +@@ -4449,8 +4459,10 @@ static int get_pkey_crypt_options(ErlNifEnv *env, ERL_NIF_TERM algorithm, ERL_NI + opt->rsa_padding = RSA_PKCS1_PADDING; + } else if (tpl_terms[1] == atom_rsa_pkcs1_oaep_padding) { + opt->rsa_padding = RSA_PKCS1_OAEP_PADDING; ++#ifdef HAVE_RSA_SSLV23_PADDING + } else if (tpl_terms[1] == atom_rsa_sslv23_padding) { + opt->rsa_padding = RSA_SSLV23_PADDING; ++#endif + } else if (tpl_terms[1] == atom_rsa_x931_padding) { + opt->rsa_padding = RSA_X931_PADDING; + } else if (tpl_terms[1] == atom_rsa_no_padding) { +@@ -4516,7 +4528,10 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM + #endif + PKeyCryptOptions crypt_opt; + ErlNifBinary in_bin, out_bin, tmp_bin; +- size_t outlen, tmplen; ++ size_t outlen; ++#ifdef HAVE_RSA_SSLV23_PADDING ++ size_t tmplen; ++#endif + int is_private = (argv[4] == atom_true), + is_encrypt = (argv[5] == atom_true); + int algo_init = 0; +@@ -4596,6 +4611,7 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM + if (crypt_opt.signature_md != NULL + && EVP_PKEY_CTX_set_signature_md(ctx, crypt_opt.signature_md) <= 0) + goto badarg; ++#ifdef HAVE_RSA_SSLV23_PADDING + if (crypt_opt.rsa_padding == RSA_SSLV23_PADDING) { + if (is_encrypt) { + RSA *rsa = EVP_PKEY_get1_RSA(pkey); +@@ -4607,9 +4623,11 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM + in_bin = tmp_bin; + } + if (EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_NO_PADDING) <= 0) goto badarg; +- } else { ++ } else ++#endif ++ { + if (EVP_PKEY_CTX_set_rsa_padding(ctx, crypt_opt.rsa_padding) <= 0) goto badarg; +- } ++ } + #ifdef HAVE_RSA_OAEP_MD + if (crypt_opt.rsa_padding == RSA_PKCS1_OAEP_PADDING) { + if (crypt_opt.rsa_oaep_md != NULL +@@ -4728,6 +4746,7 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM + #endif + + if ((i > 0) && argv[0] == atom_rsa && !is_encrypt) { ++#ifdef HAVE_RSA_SSLV23_PADDING + if (crypt_opt.rsa_padding == RSA_SSLV23_PADDING) { + RSA *rsa = EVP_PKEY_get1_RSA(pkey); + unsigned char *p; +@@ -4745,6 +4764,7 @@ static ERL_NIF_TERM pkey_crypt_nif(ErlNifEnv *env, int argc, const ERL_NIF_TERM + i = 1; + } + } ++#endif + } + + if (tmp_bin.data != NULL) { +-- +2.16.0 + diff --git a/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch b/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch new file mode 100644 index 000000000000..32dd89e0d6c7 --- /dev/null +++ b/dev-lang/erlang/files/erlang-20.3.2-dont-ignore-LDFLAGS.patch @@ -0,0 +1,42 @@ +From 69043168302ec7c0bcfaa8b1fb56bfae500bd139 Mon Sep 17 00:00:00 2001 +From: Nick Sarnie <commendsarnex@gmail.com> +Date: Sun, 8 Apr 2018 16:11:55 -0400 +Subject: [PATCH] Don't ignore LDFLAGS + +Bug: https://bugs.gentoo.org/263129 + +Signed-off-by: Nick Sarnie <commendsarnex@gmail.com> +--- + lib/megaco/src/flex/Makefile.in | 2 +- + lib/odbc/c_src/Makefile.in | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lib/megaco/src/flex/Makefile.in b/lib/megaco/src/flex/Makefile.in +index c37ad4d702..400024ca0c 100644 +--- a/lib/megaco/src/flex/Makefile.in ++++ b/lib/megaco/src/flex/Makefile.in +@@ -66,7 +66,7 @@ endif + CC = $(DED_CC) + CFLAGS_MT = $(CFLAGS) $(DED_THR_DEFS) + LD = $(DED_LD) +-LDFLAGS = $(DED_LDFLAGS) ++LDFLAGS += $(DED_LDFLAGS) + LEX = @LEX@ + LEXLIB = @LEXLIB@ + PERL = @PERL@ +diff --git a/lib/odbc/c_src/Makefile.in b/lib/odbc/c_src/Makefile.in +index 784e73c47e..51c023f710 100644 +--- a/lib/odbc/c_src/Makefile.in ++++ b/lib/odbc/c_src/Makefile.in +@@ -82,7 +82,7 @@ CC = @CC@ + CFLAGS = $(TYPEFLAGS) @CFLAGS@ @THR_DEFS@ @DEFS@ + EI_LDFLAGS = -L$(EI_ROOT)/obj$(TYPEMARKER)/$(TARGET) + LD = @LD@ +-LDFLAGS = $(ODBC_LIB) $(EI_LDFLAGS) ++LDFLAGS += $(ODBC_LIB) $(EI_LDFLAGS) + LIBS = @LIBS@ @THR_LIBS@ $(EI_LIB) + INCLUDES = -I. $(ODBC_INCLUDE) $(EI_INCLUDE) + TARGET_FLAGS = @TARGET_FLAGS@ +-- +2.17.0 + diff --git a/dev-lang/erlang/metadata.xml b/dev-lang/erlang/metadata.xml new file mode 100644 index 000000000000..9da736baffef --- /dev/null +++ b/dev-lang/erlang/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <!-- maintainer-needed --> + <use> + <flag name="hipe">HIgh Performance Erlang extension</flag> + <flag name="kpoll">Enable kernel polling support</flag> + <flag name="compat-ethread">Enable compatibility with pre-pentium 4 CPUs in the ethread library.</flag> + <flag name="dirty-schedulers">Enable dirty schedulers</flag> + </use> +<longdescription> +Erlang is a programming language designed at the Ericsson +Computer Science Laboratory. Open-source Erlang is being +released to help encourage the spread of Erlang outside +Ericsson. +</longdescription> +</pkgmetadata> |