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/mono | |
parent | 30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff) |
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-lang/mono')
-rw-r--r-- | dev-lang/mono/Manifest | 21 | ||||
-rw-r--r-- | dev-lang/mono/files/mono-4.4.1.0-x86_32.patch | 20 | ||||
-rw-r--r-- | dev-lang/mono/files/mono-4.8.0.371-makedev.patch | 34 | ||||
-rw-r--r-- | dev-lang/mono/files/mono-4.8.0.371-x86_32.patch | 27 | ||||
-rw-r--r-- | dev-lang/mono/files/mono-5.0.1.1-x86_32.patch | 21 | ||||
-rw-r--r-- | dev-lang/mono/files/mono-5.12-try-catch.patch | 31 | ||||
-rw-r--r-- | dev-lang/mono/metadata.xml | 12 | ||||
-rw-r--r-- | dev-lang/mono/mono-4.4.1.0.ebuild | 114 | ||||
-rw-r--r-- | dev-lang/mono/mono-4.6.1.5-r1.ebuild | 117 | ||||
-rw-r--r-- | dev-lang/mono/mono-4.6.1.5.ebuild | 112 | ||||
-rw-r--r-- | dev-lang/mono/mono-4.8.0.425.ebuild | 110 | ||||
-rw-r--r-- | dev-lang/mono/mono-4.8.0.495.ebuild | 110 | ||||
-rw-r--r-- | dev-lang/mono/mono-4.8.0.524.ebuild | 110 | ||||
-rw-r--r-- | dev-lang/mono/mono-5.12.0.226.ebuild | 108 | ||||
-rw-r--r-- | dev-lang/mono/mono-5.4.1.6.ebuild | 109 |
15 files changed, 1056 insertions, 0 deletions
diff --git a/dev-lang/mono/Manifest b/dev-lang/mono/Manifest new file mode 100644 index 000000000000..c9fc7187cd8c --- /dev/null +++ b/dev-lang/mono/Manifest @@ -0,0 +1,21 @@ +AUX mono-4.4.1.0-x86_32.patch 839 BLAKE2B bd0fc2ff2bc16cb0aa260e94f2f0a304348bf80e34ac9f3b7b4350661fa5f0f4095f26647d1ff88bce1c3d33b5a6a4f2803639c57ed4f42988ce46edff5ecd2d SHA512 af72d2f89d34e05e94cb02b6bb5a9238b6bb0d9056e520c863271d1dad9d999d1bf2478bfd8766fbb40714f4a2641e1844bddf3997fe6cb779ab6d97ea800867 +AUX mono-4.8.0.371-makedev.patch 900 BLAKE2B 9e79240ce38a06c375674123d8182f9b9db646f85b2140b1420ac465b19639b910674a1d6e5ce0cb1e9e74d099d338cf3395e95015de4bdf1c4a0dd1ccf63f68 SHA512 afdcb69c2de195bcc6d0a47cc5bad6b6679de6d1c8f0577f8a2f5716610f131e71a327540ba7e23353f35dfe7c552f16b98c9e88c3ecf91f2225a68a6d034971 +AUX mono-4.8.0.371-x86_32.patch 1033 BLAKE2B cfcd8163180de91aec85841ce6c129faba242aa54db0d99b45195b8474e83ce96da4c5111fbb28cf0cb23d2a9a4be6a3856a18ef8bfda35fd7365f87c88509ae SHA512 f12ffda9eddb8fbd51844a6cc7bd3d4d147a97ddde9e4a4435051da88eb72603303ba7d21124747ab23033eacb70ae75ee8e96bc5887d898cc21ac1904c36aab +AUX mono-5.0.1.1-x86_32.patch 751 BLAKE2B 1a19219c5667715a9afb7dc74ba9714893eea684a0c48945bcb70bdd83e34138a77ca029bcc8341b58af93617b4eab3251885affb3d129e8bf072a0279b8d29b SHA512 8c3d3a65f9d9a9a51c4a01dfd14e32e01bcc7cb98bd4f6a196a2a166968521ff859ccb1efd689c612c8bab5d6a384b148039de5033235a2c0552bc455dd636b7 +AUX mono-5.12-try-catch.patch 1267 BLAKE2B e33836d53fd4c9a4e64614d3f309058b2009487a853aee48fae99cd0326095b6dc26e7fbdd178e25f9fc3901f74f937ce5e9d3bb4322ca50e139d13f66c209a5 SHA512 3a82d4bed31b212e23fe24647fc5b9c4788be5f4966377a3bef9f92a51d16181e77e19ca1ec4736792da6a18206986bbb54d967499e2ca7e224201cf811f91b5 +DIST mono-4.4.1.0.tar.bz2 85897587 BLAKE2B 79651189e696aa7352704e1ac659302423b1212c88337da8d522aad8e8a49855b74c43020f506b3455ce1a99566e96ae464fecced584b14470d0c8dfe605c5b6 SHA512 d9b6c57c2d9327ea551083b81a2e6cc222ded9a04862056b0dfded1c5df56efbfc4960097df034595012231fe50d172174ab7b3e3f2d8c4c6953ab2106b1cb6a +DIST mono-4.6.1.5.tar.bz2 83174665 BLAKE2B ce4586af882c6592d1615156d009e496b8405dcf3a2b59e53bb58d1949c33d68645506378eab272a6ef340194582333c515b38f635e961edc64767078905a2df SHA512 1d0c1ec2930ecea3faf1be572bc045300ef4a90d3fe7519f2a9c797be79298c61528d83baa5a24a57143a35be80f78297196556c33cd0f345d9907a973fe625a +DIST mono-4.8.0.425.tar.bz2 87955541 BLAKE2B dd3c7d26d9818c0512ddbbea6c0980ce5411904c93d5aff8aef581016268594ea1a887dc51332afc225db25d735ef3ef379a5f7b72acd95892e9efe399fb9df9 SHA512 7bab64adbebc277d3fc10301fa6af6cd64ea0836e2d74dfdd9b59684d9402689f9a4e397f3d36f519c7a892c14dcf8f8867d40a5119891874dfd10f9bbce2ac4 +DIST mono-4.8.0.495.tar.bz2 87540431 BLAKE2B c067054c27e61fbd46cae962876afdf65fa4660db41482a7931436009d986ffd25cd9120f9d61f1db5e16b95423fb6cb81abf6be8eada408a9ed2e812f112e6d SHA512 0052b7b04ae25e7cb5970d742369b74c83a10c6c82da591e8d26ad9e13e8b2590a1cde27ca99e43aebc622c7a2a590b9e6c7ce519ac4185b0b6cf7134527cc9d +DIST mono-4.8.0.524.tar.bz2 87392723 BLAKE2B ac17c3da6d6c08c4cb72c4fa300ded92625bd8c14c1e45ea9539efa42c8d085759f7bb298fe5df57bd41f18abf83f293d26a9e6272944933fcff0a3c16a7e4f3 SHA512 eb77b768a4a26e6a2a872f4845769cdc83f01af3377ecd6d932437d2a1b54bfd1ce727563906146195a54997b4b624fb75449a6f0bcfe818cbc4e6544841bf2b +DIST mono-5.12.0.226.tar.bz2 213373240 BLAKE2B 6aa8d9962aa51d6a7f8f6106835cef6a4eb626d7af56a09ca185736db2535dbaffd5d97d5d0eef39001b11d41d868706be4788496c8d0036bdbad24c5f6fcc46 SHA512 f4ab3066c9a3545ace0c4af50ddbe58cf5d9ffe4895cc546669f329b91988fcfebab91a070ea46b27536040823a3bbc1bd7e5552a49769988e8271d52662c583 +DIST mono-5.4.1.6.tar.bz2 204934321 BLAKE2B 7aa3450a9bc4033f8084c4271b215af636e0df72d6349c97e0acd110d91e276d22b735d19bac2fb1e995ec34fa9e041831358a01d5c098b9c5e8b567d98350fe SHA512 d3618e9f127bc95b15feba5bf73317574872208770d83b8b545a9888df81a629e6fb14160db8a38526ffeb005f682e8dd9b8ced84bdb0cbb36dc9e7b28c240a4 +EBUILD mono-4.4.1.0.ebuild 3384 BLAKE2B fd16089b151c1666ceda7d05285fa8a10143a4157e46b75a3412b42dec80c0929f9ba8d9523ac65b64fb827ea8d1ad88fbe98a5e7d0d12423b970912d0ae50e4 SHA512 6c9c9ce5e19a33e4dbc1b0cdb2d17804a67eed5061e422358c971de5a2eb95b2848c4515312a4b082087c50040c1e7f9c687a134ca30354d8f4bde796432b126 +EBUILD mono-4.6.1.5-r1.ebuild 3486 BLAKE2B 6f041f91dce9157a3df0805760355d2b2e2025fdd3b99a2f3413e232aa109d311605fa389a282cb62de7aafebb47a52b6a789957ae965ed42d2e85e6ab3f2e27 SHA512 a242a3a79ba0b671dd77d1b607583c0ea30977d6b5753b55015b5caed6a2754469a9deae115f0a3a4c0e3632bddf7fd0859c2b2712cfd1059a26c5262bfe234f +EBUILD mono-4.6.1.5.ebuild 3346 BLAKE2B 014dd6acd44c7ae53a919e3c7efc39b782705e8c750927e061dd0ffe3e9854164524acd0d7012c43b1439b8cc315816544f79e3518797e2daa31c8417bf585b4 SHA512 7b3e03978f8845d103defa5e1db87a5a73458601d255bd0cbc4a708e3da23e73277c35be934a3c8807c45ef1a0533824b98c5a8aa7a75fd813d9c3ad145d2145 +EBUILD mono-4.8.0.425.ebuild 3019 BLAKE2B af5ceb5808209e42126f3f2ad6062c19a33f352456d4e623694b730215a8add8030907a0632da4390042c7816e7454ae02890827b157b4e748c032cde8ceecb2 SHA512 e3b31207d8e42509b0a8a3711f9b2d9c97cbeac4807e109ed9be11254cd8cc87948f91e647e6c73133448ad5c7a8f140943de62d95e6fe1505f9b7165b8683af +EBUILD mono-4.8.0.495.ebuild 3019 BLAKE2B af5ceb5808209e42126f3f2ad6062c19a33f352456d4e623694b730215a8add8030907a0632da4390042c7816e7454ae02890827b157b4e748c032cde8ceecb2 SHA512 e3b31207d8e42509b0a8a3711f9b2d9c97cbeac4807e109ed9be11254cd8cc87948f91e647e6c73133448ad5c7a8f140943de62d95e6fe1505f9b7165b8683af +EBUILD mono-4.8.0.524.ebuild 3023 BLAKE2B 8b23acde97ed8ebe05eb7e4c3fab9f1c9b43ee775a460629a122eba13c56120d139c8732267c1fb2cb7ba9d96c3a9943a03c1c9894286205392dac8fd19a467c SHA512 0a229fdcbb0051e96e227f1a2bc2c85eea55f2277b549e866744c650a0c42172f5727abe2b1cf38660254757201b8f577401fb072814d266012058da3a2418ab +EBUILD mono-5.12.0.226.ebuild 2966 BLAKE2B abf2eaf01a1aa04bf1d7c30ba61ccf4fb0126163ebb1290cd5a1a9f7b60c277a85e3b05542cfa98483a0d04d1b82c2488ba7dfbd001f64af393d215a748fb865 SHA512 2e7264375e88eba1cb081ad024701d0adde4d10cfa506cfee2c0d9126f573041d49040fe09ab504ffde118f803863fb403c923dcd25dd018525d3f42d4ae6c87 +EBUILD mono-5.4.1.6.ebuild 2981 BLAKE2B 0fa2e8a0574502869542c87491575b084e1a14eeb3eedc635e2c7f103f492086bf61f6bf4f9fe25d7d5abd80070bbdc6f742dd823c393fa6fb96f6c7a341cd93 SHA512 211b45145d9e37a302b0d0afcfbdc5676be2cbc3e39f5c51d171a3614de96bde1ea29658a95ef6d45da7c2a5d189da90c6f84a52eec20222a5dbb3428b050d02 +MISC metadata.xml 507 BLAKE2B 91655de22fc1ff309c36ecef9d77aa8cada0b8f13ae30677665de837e99b7b43622a1dc0c677b0f5455c06b8e8a295c3c4f39753f66e749163a4f002ee481016 SHA512 e072a1abbf66276b0d139c3e918593010312c2059a0c6feba7b324689cdf90efe28bef0286ad9888125acfdd1fed2dee3e05e79a0aeb7f9ec1809bd128cf8a20 diff --git a/dev-lang/mono/files/mono-4.4.1.0-x86_32.patch b/dev-lang/mono/files/mono-4.4.1.0-x86_32.patch new file mode 100644 index 000000000000..751c057e6ce4 --- /dev/null +++ b/dev-lang/mono/files/mono-4.4.1.0-x86_32.patch @@ -0,0 +1,20 @@ +Native toolchain can default to different ABI (amd64 in bug case). +Set target to i386. +https://bugs.gentoo.org/600664 +diff -Naur a/mono/mini/aot-compiler.c b/mono/mini/aot-compiler.c +--- a/mono/mini/aot-compiler.c 2016-06-22 04:31:58.000000000 -0500 ++++ b/mono/mini/aot-compiler.c 2017-12-08 14:25:35.338251941 -0600 +@@ -9438,7 +9438,12 @@ + const char *tool_prefix = acfg->aot_opts.tool_prefix ? acfg->aot_opts.tool_prefix : ""; + char *ld_flags = acfg->aot_opts.ld_flags ? acfg->aot_opts.ld_flags : g_strdup(""); + +-#if defined(TARGET_AMD64) && !defined(TARGET_MACH) ++#if defined(TARGET_X86) ++#define LD_OPTIONS "-m elf_i386" ++#if !defined(TARGET_MACH) ++#define AS_OPTIONS "--32" ++#endif ++#elif defined(TARGET_AMD64) && !defined(TARGET_MACH) + #define AS_OPTIONS "--64" + #elif defined(TARGET_POWERPC64) + #define AS_OPTIONS "-a64 -mppc64" diff --git a/dev-lang/mono/files/mono-4.8.0.371-makedev.patch b/dev-lang/mono/files/mono-4.8.0.371-makedev.patch new file mode 100644 index 000000000000..7a4a44b3e72d --- /dev/null +++ b/dev-lang/mono/files/mono-4.8.0.371-makedev.patch @@ -0,0 +1,34 @@ +https://bugs.gentoo.org/575232 +diff --git a/configure.ac b/configure.ac +index fa5977b..2832c69 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -416,6 +416,10 @@ AC_HEADER_STDC + AC_LIBTOOL_WIN32_DLL + # This causes monodis to not link correctly + #AC_DISABLE_FAST_INSTALL ++ ++#lookup makedev() header ++AC_HEADER_MAJOR ++ + AM_PROG_LIBTOOL + # Use dolt (http://dolt.freedesktop.org/) instead of libtool for building. + DOLT +diff --git a/mono/io-layer/processes.c b/mono/io-layer/processes.c +index 53c271a..7ff8d03 100644 +--- a/mono/io-layer/processes.c ++++ b/mono/io-layer/processes.c +@@ -45,6 +45,13 @@ + #include <utime.h> + #endif + ++/* makedev() macro */ ++#ifdef MAJOR_IN_MKDEV ++#include <sys/mkdev.h> ++#elif defined MAJOR_IN_SYSMACROS ++#include <sys/sysmacros.h> ++#endif ++ + /* sys/resource.h (for rusage) is required when using osx 10.3 (but not 10.4) */ + #ifdef __APPLE__ + #include <TargetConditionals.h> diff --git a/dev-lang/mono/files/mono-4.8.0.371-x86_32.patch b/dev-lang/mono/files/mono-4.8.0.371-x86_32.patch new file mode 100644 index 000000000000..063ea634fa4c --- /dev/null +++ b/dev-lang/mono/files/mono-4.8.0.371-x86_32.patch @@ -0,0 +1,27 @@ +Native toolchain can default to different ABI (amd64 in bug case). +Set target to i386. +https://bugs.gentoo.org/600664 +diff --git a/mono/mini/aot-compiler.c b/mono/mini/aot-compiler.c +index a1c359f..beaaf76 100644 +--- a/mono/mini/aot-compiler.c ++++ b/mono/mini/aot-compiler.c +@@ -9842,7 +9842,9 @@ compile_asm (MonoAotCompile *acfg) + const char *tool_prefix = acfg->aot_opts.tool_prefix ? acfg->aot_opts.tool_prefix : ""; + char *ld_flags = acfg->aot_opts.ld_flags ? acfg->aot_opts.ld_flags : g_strdup(""); + +-#if defined(TARGET_AMD64) && !defined(TARGET_MACH) ++#if defined(TARGET_X86) && !defined(TARGET_MACH) ++#define AS_OPTIONS "--32" ++#elif defined(TARGET_AMD64) && !defined(TARGET_MACH) + #define AS_OPTIONS "--64" + #elif defined(TARGET_POWERPC64) + #define AS_OPTIONS "-a64 -mppc64" +@@ -9886,6 +9888,8 @@ compile_asm (MonoAotCompile *acfg) + #define LD_OPTIONS "--shared" + #elif defined(TARGET_POWERPC64) + #define LD_OPTIONS "-m elf64ppc" ++#elif defined(TARGET_X86) ++#define LD_OPTIONS "-m elf_i386" + #endif + + #ifndef LD_OPTIONS diff --git a/dev-lang/mono/files/mono-5.0.1.1-x86_32.patch b/dev-lang/mono/files/mono-5.0.1.1-x86_32.patch new file mode 100644 index 000000000000..08d443a22038 --- /dev/null +++ b/dev-lang/mono/files/mono-5.0.1.1-x86_32.patch @@ -0,0 +1,21 @@ +Native toolchain can default to different ABI (amd64 in bug case). +Set target to i386. +https://bugs.gentoo.org/600664 +diff --git a/mono/mini/aot-compiler.c b/mono/mini/aot-compiler.c +index 0656a57..690c96b 100644 +--- a/mono/mini/aot-compiler.c ++++ b/mono/mini/aot-compiler.c +@@ -9926,4 +9926,6 @@ compile_asm (MonoAotCompile *acfg) + #ifdef TARGET_WIN32_MSVC + #define AS_OPTIONS "-c -x assembler" ++#elif defined(TARGET_X86) && !defined(TARGET_MACH) ++#define AS_OPTIONS "--32" + #elif defined(TARGET_AMD64) && !defined(TARGET_MACH) + #define AS_OPTIONS "--64" +@@ -9981,4 +9983,6 @@ compile_asm (MonoAotCompile *acfg) + #elif defined(TARGET_POWERPC64) + #define LD_OPTIONS "-m elf64ppc" ++#elif defined(TARGET_X86) ++#define LD_OPTIONS "-m elf_i386" + #endif + diff --git a/dev-lang/mono/files/mono-5.12-try-catch.patch b/dev-lang/mono/files/mono-5.12-try-catch.patch new file mode 100644 index 000000000000..051c72be6859 --- /dev/null +++ b/dev-lang/mono/files/mono-5.12-try-catch.patch @@ -0,0 +1,31 @@ +diff -ur mono-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs mono-patched-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs +--- mono-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs 2017-11-17 18:12:57.000000000 +0300 ++++ mono-patched-5.9.0.398/mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs 2017-12-06 06:24:45.067519852 +0300 +@@ -2810,14 +2810,21 @@ + + internal override object ClipboardRetrieve(IntPtr handle, int type, XplatUI.ClipboardToObject converter) + { +- XConvertSelection(DisplayHandle, handle, (IntPtr)type, (IntPtr)type, FosterParent, IntPtr.Zero); ++ try ++ { ++ XConvertSelection(DisplayHandle, handle, (IntPtr)type, (IntPtr)type, FosterParent, IntPtr.Zero); + +- Clipboard.Retrieving = true; +- while (Clipboard.Retrieving) { +- UpdateMessageQueue(null, false); +- } ++ Clipboard.Retrieving = true; ++ while (Clipboard.Retrieving) { ++ UpdateMessageQueue(null, false); ++ } + +- return Clipboard.Item; ++ return Clipboard.Item; ++ } ++ catch (Exception ex) ++ { ++ return null; ++ } + } + + internal override void ClipboardStore (IntPtr handle, object obj, int type, XplatUI.ObjectToClipboard converter, bool copy) diff --git a/dev-lang/mono/metadata.xml b/dev-lang/mono/metadata.xml new file mode 100644 index 000000000000..537ed12badec --- /dev/null +++ b/dev-lang/mono/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer type="project"> + <email>dotnet@gentoo.org</email> + <name>Gentoo Dotnet Project</name> +</maintainer> +<use> + <flag name="pax_kernel">Enable if the user plans to run the package under a pax enabled hardened kernel</flag> + <flag name="xen">Make mono generate code that is considerably faster on xen VMs but slightly slower on for normal systems.</flag> +</use> +</pkgmetadata> diff --git a/dev-lang/mono/mono-4.4.1.0.ebuild b/dev-lang/mono/mono-4.4.1.0.ebuild new file mode 100644 index 000000000000..ed7f9c382979 --- /dev/null +++ b/dev-lang/mono/mono-4.4.1.0.ebuild @@ -0,0 +1,114 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal + +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" +HOMEPAGE="https://www.mono-project.com/Main_Page" +SRC_URI="https://download.mono-project.com/sources/${PN}/${P}.tar.bz2" + +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" +SLOT="0" + +KEYWORDS="amd64 ppc ~ppc64 x86 ~amd64-linux" + +IUSE="nls minimal pax_kernel xen doc" + +COMMONDEPEND=" + !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) + ia64? ( sys-libs/libunwind ) + nls? ( sys-devel/gettext ) +" +RDEPEND="${COMMONDEPEND} + || ( www-client/links www-client/lynx ) +" +DEPEND="${COMMONDEPEND} + sys-devel/bc + virtual/yacc + pax_kernel? ( sys-apps/elfix ) +" + +S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)" + +pkg_pretend() { + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 + # If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling. + # See http://bugs.gentoo.org/261869 for more info." + CONFIG_CHECK="SYSVIPC" + use kernel_linux && check_extra_config +} + +pkg_setup() { + linux-info_pkg_setup + mono-env_pkg_setup +} + +src_prepare() { + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't + # get killed in the build proces when MPROTECT is enable. #286280 + # RANDMMAP kill the build proces to #347365 + # use paxmark.sh to get PT/XT logic #532244 + if use pax_kernel ; then + ewarn "We are disabling MPROTECT on the mono binary." + + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" + fi + + # mono build system can fail otherwise + strip-flags + + # Fix VB targets + # http://osdir.com/ml/general/2015-05/msg20808.html + #eapply "${FILESDIR}/add_missing_vb_portable_targets.patch" + + # Fix build when sgen disabled + # https://bugzilla.xamarin.com/show_bug.cgi?id=32015 + #eapply "${FILESDIR}/${PN}-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch" + + # TODO: update patch + # Fix atomic_add_i4 support for 32-bit ppc + # https://github.com/mono/mono/compare/f967c79926900343f399c75624deedaba460e544^...8f379f0c8f98493180b508b9e68b9aa76c0c5bdf + #epatch "${FILESDIR}/${PN}-4.0.2.5-fix-ppc-atomic-add-i4.patch" + + # TODO: update patch + #epatch "${FILESDIR}/systemweb3.patch" + #epatch "${FILESDIR}/fix-for-GitExtensions-issue-2710-another-resolution.patch" + #epatch "${FILESDIR}/fix-for-bug36724.patch" + + epatch "${FILESDIR}/${P}-x86_32.patch" + + default + #eapply_user + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + --disable-silent-rules + $(use_with xen xen_opt) + --without-ikvm-native + --disable-dtrace + $(use_with doc mcs-docs) + $(use_enable nls) + ) + + econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd mcs/tests || die + emake check +} + +multilib_src_install() { + default_src_install + + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora + # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html + # for reference. + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die +} diff --git a/dev-lang/mono/mono-4.6.1.5-r1.ebuild b/dev-lang/mono/mono-4.6.1.5-r1.ebuild new file mode 100644 index 000000000000..3ed76fb6a64a --- /dev/null +++ b/dev-lang/mono/mono-4.6.1.5-r1.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal + +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" +HOMEPAGE="https://www.mono-project.com/Main_Page" +SRC_URI="https://download.mono-project.com/sources/${PN}/${P}.tar.bz2" + +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" +SLOT="0" + +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux" + +IUSE="nls minimal pax_kernel xen doc" + +COMMONDEPEND=" + !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) + ia64? ( sys-libs/libunwind ) + nls? ( sys-devel/gettext ) +" +RDEPEND="${COMMONDEPEND} + || ( www-client/links www-client/lynx ) +" +DEPEND="${COMMONDEPEND} + sys-devel/bc + virtual/yacc + pax_kernel? ( sys-apps/elfix ) +" + +S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)" + +pkg_pretend() { + linux-info_pkg_setup + if use kernel_linux; then + if linux_config_exists; then + linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel" + else + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 + ewarn "kernel config not found" + ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling." + ewarn "See http://bugs.gentoo.org/261869 for more info." + fi + fi +} + +pkg_setup() { + mono-env_pkg_setup +} + +src_prepare() { + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't + # get killed in the build proces when MPROTECT is enable. #286280 + # RANDMMAP kill the build proces to #347365 + # use paxmark.sh to get PT/XT logic #532244 + if use pax_kernel ; then + ewarn "We are disabling MPROTECT on the mono binary." + + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" + fi + + # mono build system can fail otherwise + strip-flags + + # Fix VB targets + # http://osdir.com/ml/general/2015-05/msg20808.html + #eapply "${FILESDIR}/add_missing_vb_portable_targets.patch" + + # Fix build when sgen disabled + # https://bugzilla.xamarin.com/show_bug.cgi?id=32015 + #eapply "${FILESDIR}/${PN}-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch" + + # TODO: update patch + # Fix atomic_add_i4 support for 32-bit ppc + # https://github.com/mono/mono/compare/f967c79926900343f399c75624deedaba460e544^...8f379f0c8f98493180b508b9e68b9aa76c0c5bdf + #epatch "${FILESDIR}/${PN}-4.0.2.5-fix-ppc-atomic-add-i4.patch" + + # TODO: update patch + #epatch "${FILESDIR}/systemweb3.patch" + #epatch "${FILESDIR}/fix-for-GitExtensions-issue-2710-another-resolution.patch" + #epatch "${FILESDIR}/fix-for-bug36724.patch" + + default + #eapply_user + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + --disable-silent-rules + $(use_with xen xen_opt) + --without-ikvm-native + --disable-dtrace + $(use_with doc mcs-docs) + $(use_enable nls) + ) + + econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd mcs/tests || die + emake check +} + +multilib_src_install() { + default_src_install + + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora + # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html + # for reference. + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die +} diff --git a/dev-lang/mono/mono-4.6.1.5.ebuild b/dev-lang/mono/mono-4.6.1.5.ebuild new file mode 100644 index 000000000000..414d13c15d9a --- /dev/null +++ b/dev-lang/mono/mono-4.6.1.5.ebuild @@ -0,0 +1,112 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal + +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" +HOMEPAGE="https://www.mono-project.com/Main_Page" +SRC_URI="https://download.mono-project.com/sources/${PN}/${P}.tar.bz2" + +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" +SLOT="0" + +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux" + +IUSE="nls minimal pax_kernel xen doc" + +COMMONDEPEND=" + !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) + ia64? ( sys-libs/libunwind ) + nls? ( sys-devel/gettext ) +" +RDEPEND="${COMMONDEPEND} + || ( www-client/links www-client/lynx ) +" +DEPEND="${COMMONDEPEND} + sys-devel/bc + virtual/yacc + pax_kernel? ( sys-apps/elfix ) +" + +S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)" + +pkg_pretend() { + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 + # If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling. + # See http://bugs.gentoo.org/261869 for more info." + CONFIG_CHECK="SYSVIPC" + use kernel_linux && check_extra_config +} + +pkg_setup() { + linux-info_pkg_setup + mono-env_pkg_setup +} + +src_prepare() { + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't + # get killed in the build proces when MPROTECT is enable. #286280 + # RANDMMAP kill the build proces to #347365 + # use paxmark.sh to get PT/XT logic #532244 + if use pax_kernel ; then + ewarn "We are disabling MPROTECT on the mono binary." + + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" + fi + + # mono build system can fail otherwise + strip-flags + + # Fix VB targets + # http://osdir.com/ml/general/2015-05/msg20808.html + #eapply "${FILESDIR}/add_missing_vb_portable_targets.patch" + + # Fix build when sgen disabled + # https://bugzilla.xamarin.com/show_bug.cgi?id=32015 + #eapply "${FILESDIR}/${PN}-4.0.2.5-fix-mono-dis-makefile-am-when-without-sgen.patch" + + # TODO: update patch + # Fix atomic_add_i4 support for 32-bit ppc + # https://github.com/mono/mono/compare/f967c79926900343f399c75624deedaba460e544^...8f379f0c8f98493180b508b9e68b9aa76c0c5bdf + #epatch "${FILESDIR}/${PN}-4.0.2.5-fix-ppc-atomic-add-i4.patch" + + # TODO: update patch + #epatch "${FILESDIR}/systemweb3.patch" + #epatch "${FILESDIR}/fix-for-GitExtensions-issue-2710-another-resolution.patch" + #epatch "${FILESDIR}/fix-for-bug36724.patch" + + default + #eapply_user + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + --disable-silent-rules + $(use_with xen xen_opt) + --without-ikvm-native + --disable-dtrace + $(use_with doc mcs-docs) + $(use_enable nls) + ) + + econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd mcs/tests || die + emake check +} + +multilib_src_install() { + default_src_install + + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora + # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html + # for reference. + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die +} diff --git a/dev-lang/mono/mono-4.8.0.425.ebuild b/dev-lang/mono/mono-4.8.0.425.ebuild new file mode 100644 index 000000000000..51f9e5d52aed --- /dev/null +++ b/dev-lang/mono/mono-4.8.0.425.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal + +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" +HOMEPAGE="https://www.mono-project.com/Main_Page" +SRC_URI="https://download.mono-project.com/sources/${PN}/${P}.tar.bz2" + +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" +SLOT="0" + +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux" + +IUSE="nls minimal pax_kernel xen doc" + +COMMONDEPEND=" + !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) + ia64? ( sys-libs/libunwind ) + nls? ( sys-devel/gettext ) +" +RDEPEND="${COMMONDEPEND} + || ( www-client/links www-client/lynx ) +" +DEPEND="${COMMONDEPEND} + sys-devel/bc + virtual/yacc + pax_kernel? ( sys-apps/elfix ) + dev-util/cmake +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.8.0.371-makedev.patch + "${FILESDIR}"/${PN}-4.8.0.371-x86_32.patch +) + +S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)" + +pkg_pretend() { + linux-info_pkg_setup + if use kernel_linux; then + if linux_config_exists; then + linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel" + else + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 + ewarn "kernel config not found" + ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling." + ewarn "See http://bugs.gentoo.org/261869 for more info." + fi + fi +} + +pkg_setup() { + mono-env_pkg_setup +} + +src_prepare() { + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't + # get killed in the build proces when MPROTECT is enable. #286280 + # RANDMMAP kill the build proces to #347365 + # use paxmark.sh to get PT/XT logic #532244 + if use pax_kernel ; then + ewarn "We are disabling MPROTECT on the mono binary." + + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" + fi + + # mono build system can fail otherwise + strip-flags + + #TODO: resolve problem with newer binutils + #bug: https://bugs.gentoo.org/show_bug.cgi?id=600664 + #append-flags -fPIC + + default + # PATCHES contains configure.ac patch + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + --disable-silent-rules + $(use_with xen xen_opt) + --without-ikvm-native + --disable-dtrace + $(use_with doc mcs-docs) + $(use_enable nls) + ) + + econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd mcs/tests || die + emake check +} + +multilib_src_install() { + default_src_install + + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora + # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html + # for reference. + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die +} diff --git a/dev-lang/mono/mono-4.8.0.495.ebuild b/dev-lang/mono/mono-4.8.0.495.ebuild new file mode 100644 index 000000000000..51f9e5d52aed --- /dev/null +++ b/dev-lang/mono/mono-4.8.0.495.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal + +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" +HOMEPAGE="https://www.mono-project.com/Main_Page" +SRC_URI="https://download.mono-project.com/sources/${PN}/${P}.tar.bz2" + +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" +SLOT="0" + +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux" + +IUSE="nls minimal pax_kernel xen doc" + +COMMONDEPEND=" + !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) + ia64? ( sys-libs/libunwind ) + nls? ( sys-devel/gettext ) +" +RDEPEND="${COMMONDEPEND} + || ( www-client/links www-client/lynx ) +" +DEPEND="${COMMONDEPEND} + sys-devel/bc + virtual/yacc + pax_kernel? ( sys-apps/elfix ) + dev-util/cmake +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.8.0.371-makedev.patch + "${FILESDIR}"/${PN}-4.8.0.371-x86_32.patch +) + +S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)" + +pkg_pretend() { + linux-info_pkg_setup + if use kernel_linux; then + if linux_config_exists; then + linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel" + else + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 + ewarn "kernel config not found" + ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling." + ewarn "See http://bugs.gentoo.org/261869 for more info." + fi + fi +} + +pkg_setup() { + mono-env_pkg_setup +} + +src_prepare() { + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't + # get killed in the build proces when MPROTECT is enable. #286280 + # RANDMMAP kill the build proces to #347365 + # use paxmark.sh to get PT/XT logic #532244 + if use pax_kernel ; then + ewarn "We are disabling MPROTECT on the mono binary." + + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" + fi + + # mono build system can fail otherwise + strip-flags + + #TODO: resolve problem with newer binutils + #bug: https://bugs.gentoo.org/show_bug.cgi?id=600664 + #append-flags -fPIC + + default + # PATCHES contains configure.ac patch + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + --disable-silent-rules + $(use_with xen xen_opt) + --without-ikvm-native + --disable-dtrace + $(use_with doc mcs-docs) + $(use_enable nls) + ) + + econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd mcs/tests || die + emake check +} + +multilib_src_install() { + default_src_install + + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora + # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html + # for reference. + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die +} diff --git a/dev-lang/mono/mono-4.8.0.524.ebuild b/dev-lang/mono/mono-4.8.0.524.ebuild new file mode 100644 index 000000000000..2e12a8843385 --- /dev/null +++ b/dev-lang/mono/mono-4.8.0.524.ebuild @@ -0,0 +1,110 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal + +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" +HOMEPAGE="https://www.mono-project.com/Main_Page" +SRC_URI="https://download.mono-project.com/sources/${PN}/${P}.tar.bz2" + +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" +SLOT="0" + +KEYWORDS="amd64 ~arm64 ppc ~ppc64 x86 ~amd64-linux" + +IUSE="nls minimal pax_kernel xen doc" + +COMMONDEPEND=" + !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) + ia64? ( sys-libs/libunwind ) + nls? ( sys-devel/gettext ) +" +RDEPEND="${COMMONDEPEND} + || ( www-client/links www-client/lynx ) +" +DEPEND="${COMMONDEPEND} + sys-devel/bc + virtual/yacc + pax_kernel? ( sys-apps/elfix ) + dev-util/cmake +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.8.0.371-makedev.patch + "${FILESDIR}"/${PN}-4.8.0.371-x86_32.patch +) + +S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)" + +pkg_pretend() { + linux-info_pkg_setup + if use kernel_linux; then + if linux_config_exists; then + linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel" + else + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 + ewarn "kernel config not found" + ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling." + ewarn "See http://bugs.gentoo.org/261869 for more info." + fi + fi +} + +pkg_setup() { + mono-env_pkg_setup +} + +src_prepare() { + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't + # get killed in the build proces when MPROTECT is enable. #286280 + # RANDMMAP kill the build proces to #347365 + # use paxmark.sh to get PT/XT logic #532244 + if use pax_kernel ; then + ewarn "We are disabling MPROTECT on the mono binary." + + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" + fi + + # mono build system can fail otherwise + strip-flags + + #TODO: resolve problem with newer binutils + #bug: https://bugs.gentoo.org/show_bug.cgi?id=600664 + #append-flags -fPIC + + default + # PATCHES contains configure.ac patch + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + --disable-silent-rules + $(use_with xen xen_opt) + --without-ikvm-native + --disable-dtrace + $(use_with doc mcs-docs) + $(use_enable nls) + ) + + econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd mcs/tests || die + emake check +} + +multilib_src_install() { + default_src_install + + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora + # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html + # for reference. + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die +} diff --git a/dev-lang/mono/mono-5.12.0.226.ebuild b/dev-lang/mono/mono-5.12.0.226.ebuild new file mode 100644 index 000000000000..4d520080eb69 --- /dev/null +++ b/dev-lang/mono/mono-5.12.0.226.ebuild @@ -0,0 +1,108 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~arm64" +RESTRICT="mirror" +SLOT="0" + +IUSE="nls minimal pax_kernel xen doc" + +inherit autotools eutils linux-info mono-env flag-o-matic pax-utils multilib-minimal + +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" +HOMEPAGE="http://www.mono-project.com/Main_Page" +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" + +SRC_URI="http://download.mono-project.com/sources/mono/${P}.tar.bz2" + +COMMONDEPEND=" + !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) + ia64? ( sys-libs/libunwind ) + nls? ( sys-devel/gettext ) +" +RDEPEND="${COMMONDEPEND} + || ( www-client/links www-client/lynx ) +" +DEPEND="${COMMONDEPEND} + sys-devel/bc + virtual/yacc + pax_kernel? ( sys-apps/elfix ) + dev-util/cmake +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.0.1.1-x86_32.patch + "${FILESDIR}"/mono-5.12-try-catch.patch +) + +pkg_pretend() { + linux-info_pkg_setup + if use kernel_linux; then + if linux_config_exists; then + linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel" + else + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 + ewarn "kernel config not found" + ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling." + ewarn "See https://bugs.gentoo.org/261869 for more info." + fi + fi +} + +pkg_setup() { + mono-env_pkg_setup +} + +src_prepare() { + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't + # get killed in the build proces when MPROTECT is enable. #286280 + # RANDMMAP kill the build proces to #347365 + # use paxmark.sh to get PT/XT logic #532244 + if use pax_kernel ; then + ewarn "We are disabling MPROTECT on the mono binary." + + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" + fi + + # mono build system can fail otherwise + strip-flags + + #TODO: resolve problem with newer binutils + #bug: https://bugs.gentoo.org/show_bug.cgi?id=600664 + #append-flags -fPIC + + default + # PATCHES contains configure.ac patch + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + --disable-silent-rules + $(use_with xen xen_opt) + --without-ikvm-native + --disable-dtrace + $(use_with doc mcs-docs) + $(use_enable nls) + ) + + econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd mcs/tests || die + emake check +} + +multilib_src_install() { + default_src_install + + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora + # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html + # for reference. + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die +} diff --git a/dev-lang/mono/mono-5.4.1.6.ebuild b/dev-lang/mono/mono-5.4.1.6.ebuild new file mode 100644 index 000000000000..22de8a7240e6 --- /dev/null +++ b/dev-lang/mono/mono-5.4.1.6.ebuild @@ -0,0 +1,109 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit autotools eutils linux-info mono-env flag-o-matic pax-utils versionator multilib-minimal + +DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter" +HOMEPAGE="https://www.mono-project.com/Main_Page" +SRC_URI="https://download.mono-project.com/sources/${PN}/${P}.tar.bz2" + +LICENSE="MIT LGPL-2.1 GPL-2 BSD-4 NPL-1.1 Ms-PL GPL-2-with-linking-exception IDPL" +SLOT="0" + +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~amd64-linux ~arm64" + +IUSE="nls minimal pax_kernel xen doc" + +COMMONDEPEND=" + !minimal? ( >=dev-dotnet/libgdiplus-2.10 ) + ia64? ( sys-libs/libunwind ) + nls? ( sys-devel/gettext ) +" +RDEPEND="${COMMONDEPEND} + || ( www-client/links www-client/lynx ) +" +DEPEND="${COMMONDEPEND} + sys-devel/bc + virtual/yacc + pax_kernel? ( sys-apps/elfix ) + dev-util/cmake +" + +PATCHES=( + "${FILESDIR}"/${PN}-5.0.1.1-x86_32.patch +) + +#S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)" + +pkg_pretend() { + linux-info_pkg_setup + if use kernel_linux; then + if linux_config_exists; then + linux_chkconfig_builtin SYSVIPC || die "SYSVIPC not enabled in the kernel" + else + # https://github.com/gentoo/gentoo/blob/f200e625bda8de696a28338318c9005b69e34710/eclass/linux-info.eclass#L686 + ewarn "kernel config not found" + ewarn "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling." + ewarn "See https://bugs.gentoo.org/261869 for more info." + fi + fi +} + +pkg_setup() { + mono-env_pkg_setup +} + +src_prepare() { + # we need to sed in the paxctl-ng -mr in the runtime/mono-wrapper.in so it don't + # get killed in the build proces when MPROTECT is enable. #286280 + # RANDMMAP kill the build proces to #347365 + # use paxmark.sh to get PT/XT logic #532244 + if use pax_kernel ; then + ewarn "We are disabling MPROTECT on the mono binary." + + # issue 9 : https://github.com/Heather/gentoo-dotnet/issues/9 + sed '/exec "/ i\paxmark.sh -mr "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in || die "Failed to sed mono-wrapper.in" + fi + + # mono build system can fail otherwise + strip-flags + + #TODO: resolve problem with newer binutils + #bug: https://bugs.gentoo.org/show_bug.cgi?id=600664 + #append-flags -fPIC + + default + # PATCHES contains configure.ac patch + eautoreconf + multilib_copy_sources +} + +multilib_src_configure() { + local myeconfargs=( + --disable-silent-rules + $(use_with xen xen_opt) + --without-ikvm-native + --disable-dtrace + $(use_with doc mcs-docs) + $(use_enable nls) + ) + + econf "${myeconfargs[@]}" +} + +multilib_src_test() { + cd mcs/tests || die + emake check +} + +multilib_src_install() { + default_src_install + + # Remove files not respecting LDFLAGS and that we are not supposed to provide, see Fedora + # mono.spec and http://www.mail-archive.com/mono-devel-list@lists.ximian.com/msg24870.html + # for reference. + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mscorlib.dll.so || die + rm -f "${ED}"/usr/lib/mono/{2.0,4.5}/mcs.exe.so || die +} |