Readd old mono for iFolder System

Package-Manager: portage-2.2.0_alpha166
RepoMan-Options: --force
This commit is contained in:
Mario Fetka 2013-04-20 08:04:03 +02:00
parent ffe9b06f82
commit 9835768392
8 changed files with 426 additions and 0 deletions

11
dev-lang/mono/ChangeLog Normal file
View File

@ -0,0 +1,11 @@
# ChangeLog for dev-lang/mono
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: $
*mono-2.6.7 (20 Apr 2013)
20 Apr 2013; Mario Fetka <mario.fetka@gmail.com>
+files/mono-2.2-libdir126.patch, +files/mono-2.2-ppc-threading.patch,
+files/mono-2.2-uselibdir.patch, +files/mono-2.6.4-require-glib.patch,
+metadata.xml, +mono-2.6.7.ebuild:
Readd old mono for iFolder System

8
dev-lang/mono/Manifest Normal file
View File

@ -0,0 +1,8 @@
AUX mono-2.2-libdir126.patch 2788 SHA256 2d3de73c7aa6fdc90ddec67fc814910f40d6d8ed52ec918397ca9f5ac219c6a1 SHA512 8b2ed6e0e218c0262455a250070207c736f9cde17467f14d1e5719de8e4a7e9251b292b546671a0f57ac295a7a9751757060a169c2247add57e91ceb39739ae5 WHIRLPOOL 1b819972cf3424bb03011577435a28866af5ddee6730ec5db5991ec17e77a17f4e4f39c36c17af49e203cd1456d0315b3d665ca4a43632bb568db7e6f0fdd061
AUX mono-2.2-ppc-threading.patch 563 SHA256 b2a708fc4ec8b886bf095c0d5eacbfdb8c08e1bc58442cfb6fd116f93de466a7 SHA512 c2773f9975397982d2cf794c255fdb13067f9246650c4e526f382a1a2662c5da05c1b0309791327520f482825c0f2521dc46ce6f80f683a2d40cb68f1923fdcd WHIRLPOOL f384d7f8983734754ada46c951aaee90b79695e4b2f4d4c4cdb3a11af91ecd5523de7b9b36e7df854bc94d4b5584137bf2e32717dac48a5fafcd5728f80b0e36
AUX mono-2.2-uselibdir.patch 714 SHA256 0d97639d48e9a40847f1053799d00827323df0af615fdf26254a03f069123b03 SHA512 9f80ee2956207339f0f5053bc68e660b6833d5952793ee5b06aea8d355ae3c689532654d2d24f14263757b6f51a06038445559ece9ad4fa27b647c1dd9240791 WHIRLPOOL fad1cea8c5add977c3e1c8031b65cdc4c56ed520b061ede3a83b0501a1c625f012ac049b06e48cbd488fb1adef32fb92fb9410c91cb70f7ff348119eae5cfd8d
AUX mono-2.6.4-require-glib.patch 458 SHA256 fc27512f901920a72c5e7744ecef134ed9081d2f2ff689e1af2f48f6fe9a6028 SHA512 fb246a195c9aedc80dfe32d78e4b6423dd8d92fc1abf9fcb2e214de8c6f503d3cf9e6fe6ffd744d9b64cd1cdaf4e05d8b6a37bb2c77cbf51e189da9b10216cd4 WHIRLPOOL af88ebeccc29e0a6e05b676599c903ef77dd0070ebc0825d8fbdaac0873e6ee9c99e104611d9a055fc24bbcf6b95b43b686157464d1e9a0548c4e623ac0ac9e0
DIST mono-2.6.7.tar.bz2 27921963 SHA256 ae21a997d72e2fb8ea88644c87ab52471e9c97117b937e205ea1835b5a028ce4 SHA512 e24be0229c0e0e91ef0c265c0267ae30ef84447c03a298b71a77123c06517ec081ba53ed6f0ca69deb079cb7843bc7daf6aa7aedb874da3c8924ef03cef388b3 WHIRLPOOL c676b542fa5f68c019cea1ff88be63295a06237f97b403e13d38df7bd6c5ded610788ad115d2da42494fa3b05b7740d1a4079ef9939a45db4e3a55d255fcd4ac
EBUILD mono-2.6.7.ebuild 7568 SHA256 de8f6706dafb948a5ec9c8571bc0e1492c8a0914427592e0be7f06841e51cbab SHA512 46a6434fbc34f7f6d37704b2c3b459b0d145a2360711a2420f755d9ab2879100f8560cded141423c1d159837641c4f7e295ac8f583f7344b44f1b558f4db969f WHIRLPOOL 7f106dfb0b7c7dac62114a62d591ab2f2dd9395858e59f72d765bd76614aff331c22c3b366e9a883b4291db8e61bf8951a4898e2643e84294f72df2679917e5b
MISC ChangeLog 410 SHA256 59aacc07e8238a9e262143d07b40f4cf17b3098d2be7749473587d42482c806d SHA512 67adbf1346af6327358fad1d4051edf4dd1ed753b02321c891f3df6d07a3d7828e041f36d5edcfc3cc2afd28ddb4cd17d44738008f4d10a4941cbbb45ab95183 WHIRLPOOL a85559631f39bc6c2a7a4ae4b9521160d1cefcc0fa9c368f7a9aa5323e7d6b2c449252a40550ded35e6b56022d8d9f3669ae89ad9cc9f86a26f3ef246fef4477
MISC metadata.xml 415 SHA256 43871c3a2a27121e41dcc79f262b0d921cce7aaea5e7df2435ecaf36591ca07a SHA512 c2cabe4163de25cebf65175d1f0bbcdf57a5bc3b5e3aa7f5eef3e0ebbbcd0d2526fc40fa1fd46adbf36d9cb11b8a7ff09043f604aabf7e1ae864212f958392f9 WHIRLPOOL fc387ee6030549688c230f4e304c841e3d1e41afedd66ba0ab72c8dd10669f1c960aef082cb29c89185b63094728f7d96ee87e5234197dbe2d81110d1118a5e9

View File

@ -0,0 +1,68 @@
# Allows us to use lib64/lib32 as path for GAC. Snatched from Fedora,
# altered to be easily sedded.
# Sed this file to have the proper libdir:
# sed -i -e "s:@MONOLIBDIR@:$(get_libdir):" FILENAME
# http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-libdir-126.patch?view=log
Index: mono-1.1.16/mcs/tools/cilc/res-Makefile
===================================================================
--- mono-1.1.16.orig/mcs/tools/cilc/res-Makefile
+++ mono-1.1.16/mcs/tools/cilc/res-Makefile
@@ -2,7 +2,7 @@ include defs.mk
LIBNAME = $(shell echo $(basename $(SONAME)) | sed -e 's/^lib//')
HTARGET = $(prefix)/include/$(LIBNAME)/
-LIBTARGET = $(prefix)/lib/
+LIBTARGET = $(libdir)
CFLAGS += -static -fpic $(shell pkg-config --cflags glib-2.0 gobject-2.0 mono) $(EXTRAINCLUDES) -I.
--- mono-1.1.16.1/mono/metadata/assembly.c.libdir 2006-08-17 17:52:42.000000000 +0200
+++ mono-1.1.16.1/mono/metadata/assembly.c 2006-08-17 17:56:21.000000000 +0200
@@ -521,7 +521,7 @@
}
config = g_build_filename (base, "etc", NULL);
- lib = g_build_filename (base, "lib", NULL);
+ lib = g_build_filename (base, "@MONOLIBDIR@", NULL);
mono = g_build_filename (lib, "mono/1.0", NULL);
if (stat (mono, &buf) == -1)
fallback ();
@@ -1844,7 +1844,7 @@
if (extra_gac_paths) {
paths = extra_gac_paths;
while (!res && *paths) {
- gacpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "lib", "mono", "gac", aname->name, NULL);
+ gacpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "@MONOLIBDIR@", "mono", "gac", aname->name, NULL);
res = probe_for_partial_name (gacpath, fullname, aname, status);
g_free (gacpath);
paths++;
@@ -1908,7 +1908,7 @@
paths = extra_gac_paths;
while (!image && *paths) {
fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths,
- "lib", "mono", "gac", subpath, NULL);
+ "@MONOLIBDIR@", "mono", "gac", subpath, NULL);
image = mono_image_open (fullpath, NULL);
g_free (fullpath);
paths++;
@@ -2058,7 +2058,7 @@
if (extra_gac_paths) {
paths = extra_gac_paths;
while (!result && *paths) {
- fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "lib", "mono", "gac", subpath, NULL);
+ fullpath = g_build_path (G_DIR_SEPARATOR_S, *paths, "@MONOLIBDIR@", "mono", "gac", subpath, NULL);
result = mono_assembly_open_full (fullpath, status, refonly);
g_free (fullpath);
paths++;
--- mono-1.1.16.1/mcs/tools/gacutil/driver.cs.libdir 2006-08-17 15:40:14.000000000 +0200
+++ mono-1.1.16.1/mcs/tools/gacutil/driver.cs 2006-08-17 15:40:19.000000000 +0200
@@ -667,7 +667,7 @@
private static string EnsureLib (string dir)
{
DirectoryInfo d = new DirectoryInfo (dir);
- if (d.Name == "lib")
+ if (d.Name == "lib" || d.Name == "@MONOLIBDIR@")
return dir;
return Path.Combine (dir, "lib");
}

View File

@ -0,0 +1,21 @@
#Binds ppc to use only one core to workaround threading problems for ppc.
http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-2.2-ppc-threading.patch?view=log
--- mono-2.2/mono/mini/main.c 2008-11-18 19:00:26.000000000 +0000
+++ mono-2.2/mono/mini/main-new.c 2008-11-18 19:16:11.000000000 +0000
@@ -26,10 +26,14 @@
}
#else
-
+#include <sched.h>
int
main (int argc, char* argv[])
{
+#ifdef __powerpc__
+ unsigned long mask = 1;
+ sched_setaffinity(0, sizeof(mask), &mask);
+#endif
mono_build_date = build_date;
return mono_main (argc, argv);
}

View File

@ -0,0 +1,18 @@
#Fixes problem with monodoc and libdir
http://cvs.fedoraproject.org/viewvc/rpms/mono/devel/mono-2.2-uselibdir.patch?view=log
--- mono-2.0/mcs/class/Microsoft.Build.Utilities/Mono.XBuild.Utilities/MonoLocationHelper.cs 2008-08-03 07:58:47.000000000 +0100
+++ mono-2.0/mcs/class/Microsoft.Build.Utilities/Mono.XBuild.Utilities/MonoLocationHelper-new.cs 2008-08-03 08:06:47.000000000 +0100
@@ -53,10 +53,10 @@
//xbuildDir = Path.Combine (t2.FullName, "xbuild");
// /usr/local/lib
t3 = t2.Parent;
+ libDir = t3.FullName;
// /usr/local
t4 = t3.Parent;
binDir = Path.Combine (t4.FullName, "bin");
- libDir = Path.Combine (t4.FullName, "lib");
}
internal static string GetBinDir ()

View File

@ -0,0 +1,12 @@
--- data/mono.pc.in 2010-04-22 09:37:47.000000000 -0600
+++ data/mono.pc.in 2010-05-10 09:30:04.000000000 -0600
@@ -7,8 +7,6 @@
Name: Mono
Description: Mono Runtime
Version: @VERSION@
-## Commented out because SLE hides devel files in the SLE SDK,
-## which not all customers will have.
-#Requires: glib-2.0 gthread-2.0
+Requires: glib-2.0 gthread-2.0
Libs: -L${libdir} @export_ldflags@ -lmono @libmono_ldflags@
Cflags: -I${includedir} @libmono_cflags@

View File

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<herd>dotnet</herd>
<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>

View File

@ -0,0 +1,279 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/mono/Attic/mono-2.6.7.ebuild,v 1.6 2011/07/04 11:27:20 pacho dead $
EAPI=2
inherit linux-info mono eutils flag-o-matic multilib go-mono pax-utils
DESCRIPTION="Mono runtime and class libraries, a C# compiler/interpreter"
HOMEPAGE="http://www.go-mono.com"
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 x86"
IUSE="hardened minimal moonlight profile4 xen"
#Bash requirement is for += operator
COMMONDEPEND="!<dev-dotnet/pnet-0.6.12
!dev-util/monodoc
>=dev-libs/glib-2.4:2
!minimal? ( =dev-dotnet/libgdiplus-${GO_MONO_REL_PV}* )
ia64? ( sys-libs/libunwind )"
RDEPEND="${COMMONDEPEND}
|| ( www-client/links www-client/lynx )"
DEPEND="${COMMONDEPEND}
sys-devel/bc
>=app-shells/bash-3.2
hardened? ( sys-apps/paxctl )"
MAKEOPTS="${MAKEOPTS} -j1"
RESTRICT="test"
PATCHES=(
"${WORKDIR}/mono-2.2-libdir126.patch"
"${FILESDIR}/mono-2.2-ppc-threading.patch"
"${FILESDIR}/mono-2.2-uselibdir.patch"
"${FILESDIR}/mono-2.6.4-require-glib.patch"
)
pkg_setup() {
if use kernel_linux
then
get_version
if linux_config_exists
then
if linux_chkconfig_present SYSVIPC
then
einfo "CONFIG_SYSVIPC is set, looking good."
else
eerror "If CONFIG_SYSVIPC is not set in your kernel .config, mono will hang while compiling."
eerror "See http://bugs.gentoo.org/261869 for more info."
die "Please set CONFIG_SYSVIPC in your kernel .config"
fi
else
ewarn "Was unable to determine your kernel .config"
ewarn "Please note that 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
}
src_prepare() {
sed -e "s:@MONOLIBDIR@:$(get_libdir):" \
< "${FILESDIR}"/mono-2.2-libdir126.patch \
> "${WORKDIR}"/mono-2.2-libdir126.patch ||
die "Sedding patch file failed"
go-mono_src_prepare
# we need to sed in the paxctl -m in the runtime/mono-wrapper.in so it don't
# get killed in the build proces when MPROTEC is enable. #286280
if use hardened ; then
ewarn "We are disabling MPROTECT on the mono binary."
sed '/exec/ i\paxctl -m "$r/@mono_runtime@"' -i "${S}"/runtime/mono-wrapper.in
fi
}
src_configure() {
# mono's build system is finiky, strip the flags
strip-flags
#Remove this at your own peril. Mono will barf in unexpected ways.
append-flags -fno-strict-aliasing
#NOTE: We need the static libs for now so mono-debugger works.
#See http://bugs.gentoo.org/show_bug.cgi?id=256264 for details
go-mono_src_configure \
--enable-static \
--disable-quiet-build \
--with-preview \
--with-glib=system \
$(use_with moonlight) \
--with-libgdiplus=$(use minimal && printf "no" || printf "installed" ) \
$(use_with xen xen_opt) \
--without-ikvm-native \
--with-jit \
--disable-dtrace \
$(use_with profile4)
}
src_test() {
echo ">>> Test phase [check]: ${CATEGORY}/${PF}"
export MONO_REGISTRY_PATH="${T}/registry"
export XDG_DATA_HOME="${T}/data"
export MONO_SHARED_DIR="${T}/shared"
export XDG_CONFIG_HOME="${T}/config"
export HOME="${T}/home"
emake -j1 check
}
src_install() {
go-mono_src_install
#Bug 255610
sed -i -e "s:mono/2.0/mod.exe:mono/1.0/mod.exe:" \
"${D}"/usr/bin/mod || die "Failed to fix mod."
find "${D}"/usr/ -name '*nunit-docs*' -exec rm -rf '{}' '+' || die "Removing nunit .docs failed"
# Remove Jay to avoid colliding with dev-util/jay, the internal
# version is only used to build mcs.
rm -r "${D}"/usr/share/jay "${D}"/usr/bin/jay "${D}"/usr/share/man/man1/jay.1*
}
#THINK!!!! Before touching postrm and postinst
#Reference phase order:
#pkg_preinst
#pkg_prerm
#pkg_postrm
#pkg_postinst
pkg_preinst() {
local symlink
local NUNIT_DIR="/usr/$(get_libdir)/mono/nunit"
local pv_atom
if [[ "$(readlink "${ROOT}"/${NUNIT_DIR})" == *"mono-nunit"* ]]
then
for pv_atom in 2.2{,-r1,-r2,-r3,-r4} '2.4_pre*' '2.4_rc*' 2.4
do
if has_version "=dev-lang/mono-${pv_atom}"
then
einfo "If you just received a file collision warning message,"
einfo "be advised that this is a known problem, which will now be fixed:"
ebegin "Found broken symlinks created by $(best_version dev-lang/mono), fixing"
for symlink in \
"${ROOT}/${NUNIT_DIR}" \
"${ROOT}/usr/$(get_libdir)/pkgconfig/nunit.pc" \
"${ROOT}/usr/bin/nunit-console" \
"${ROOT}/usr/bin/nunit-console2"
do
if [[ -L "${symlink}" ]]
then
rm -f "${symlink}" &> /dev/null
fi
done
eend 0
break
fi
done
fi
}
pkg_postinst() {
elog "PLEASE TAKE NOTE!"
elog ""
elog "Some of the namespaces supported by Mono require extra packages to be installed."
elog "Below is a list of namespaces and the corresponding package you must install:"
elog ""
elog ">=x11-libs/cairo-1.6.4"
elog " Mono.Cairo"
elog "Also read:"
elog "http://www.mono-project.com/Mono.Cairo"
elog ""
elog ">=dev-db/firebird-2.0.4.13130.1"
elog " FirebirdSql.Data.Firebird"
elog "Also read:"
elog "http://www.mono-project.com/Firebird_Interbase"
elog ""
elog "=dev-dotnet/gluezilla-${GO_MONO_REL_PV}*"
elog " Mono.Mozilla"
elog " Mono.Mozilla.WebBrowser"
elog " Mono.Mozilla.Widget"
elog " Interop.SHDocVw"
elog " AxInterop.SHDocVw"
elog " Interop.mshtml.dll"
elog " System.Windows.Forms.WebBrowser"
elog " Microsoft.IE"
elog "Also read:"
elog "http://www.mono-project.com/WebBrowser"
elog ""
elog "dev-db/sqlite:3"
elog " Mono.Data.Sqlite"
elog " Mono.Data.SqliteClient"
elog "Also read:"
elog "http://www.mono-project.com/SQLite"
elog ""
elog ">=dev-db/oracle-instantclient-basic-10.2"
elog " System.Data.OracleClient"
elog "Also read:"
elog "http://www.mono-project.com/Oracle"
elog ""
elog "Mono also has support for packages that are not included in portage:"
elog ""
elog "No ebuild available:"
elog " IBM.Data.DB2"
elog "Also read: http://www.mono-project.com/IBM_DB2"
elog ""
elog "No ebuild needed:"
elog " Mono.Data.SybaseClient"
elog "Also read: http://www.mono-project.com/Sybase"
}
# NOTICE: THE COPYRIGHT FILES IN THE TARBALL ARE UNCLEAR!
# WHENEVER YOU THINK SOMETHING IS GPL-2+, IT'S ONLY GPL-2
# UNLESS MIGUEL DE ICAZA HIMSELF SAYS OTHERWISE.
# mono
# The code we use is LGPL, but contributions must be made under the MIT/X11
# license, so Novell can serve its paying customers. Exception is mono/man.
# LICENSE="LGPL-2.1"
# mono/man
# LICENSE="MIT"
# mcs/mcs
# mcs/gmcs
# LICENSE="GPL-2 MIT"
# tests
# LICENSE="MIT"
# mcs/class
# Except the listed exceptions:
# LICENSE="MIT"
# mcs/class/ByteFX.Data
# mcs/class/Npgsql
# LICENSE="LGPL-2.1"
# mcs/class/FirebirdSql.Data.Firebird
# LICENSE="IDPL"
# mcs/class/ICSharpCode.SharpZipLib
# LICENSE="GPL-2-with-linking-exception"
# mcs/class/MicrosoftAjaxLibrary
# LICENSE="Ms-Pl"
# mcs/class/Microsoft.JScript/Microsoft.JScript/TokenStream.cs
# mcs/class/Microsoft.JScript/Microsoft.JScript/Token.cs
# mcs/class/Microsoft.JScript/Microsoft.JScript/Parser.cs
# mcs/class/Microsoft.JScript/Microsoft.JScript/Decompiler.cs
# LICENSE="|| ( NPL-1.1 GPL-2 )"
# mcs/jay
# LICENSE="BSD-4"
# mcs/tools
# Except the listed exceptions:
# LICENSE="MIT"
# mcs/tools/mdoc/Mono.Documentation/monodocs2html.cs
# LICENSE="GPL-2"
# mcs/tools/sqlsharp/SqlSharpCli.cs
# LICENSE="GPL-2"
# mcs/tools/csharp/repl.cs
# LICENSE="|| ( MIT GPL-2 )"
# mcs/tools/mono-win32-setup.nsi
# LICENSE="GPL-2"
# samples
# LICENSE="MIT"