From ada9b7b8848c8cfd91ade813f0d1c4bf6d8eecc1 Mon Sep 17 00:00:00 2001 From: "Matthew Schultz (mschultz)" Date: Sat, 2 Jul 2011 17:54:44 +0000 Subject: [PATCH] dev-libs/librets: Replaced the dotnet patch with an upstream patch to allow passing a strong name key file to the configure script so the mono dotnet dll can be signed. svn path=/sunrise/; revision=12196 --- dev-libs/librets/ChangeLog | 5 ++ dev-libs/librets/Manifest | 6 +- dev-libs/librets/files/dotnet.mk.patch | 33 -------- dev-libs/librets/files/dotnet.patch | 101 +++++++++++++++++++++++++ dev-libs/librets/librets-1.5.2.ebuild | 9 +-- 5 files changed, 113 insertions(+), 41 deletions(-) delete mode 100644 dev-libs/librets/files/dotnet.mk.patch create mode 100644 dev-libs/librets/files/dotnet.patch diff --git a/dev-libs/librets/ChangeLog b/dev-libs/librets/ChangeLog index 70268fe20..39ea79627 100644 --- a/dev-libs/librets/ChangeLog +++ b/dev-libs/librets/ChangeLog @@ -2,6 +2,11 @@ # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 02 Jul 2011; Matthew Schultz (mschultz) + librets-1.5.2.ebuild, -files/dotnet.mk.patch, +files/dotnet.patch: + Replaced the dotnet patch with an upstream patch to allow passing a strong + name key file to the configure script so the mono dotnet dll can be signed. + 29 Jun 2011; Matthew Schultz (mschultz) librets-1.5.2.ebuild, +files/dotnet.mk.patch, +files/librets.snk, +files/swig.m4.patch, metadata.xml: diff --git a/dev-libs/librets/Manifest b/dev-libs/librets/Manifest index 3144c68e2..df9e02cc4 100644 --- a/dev-libs/librets/Manifest +++ b/dev-libs/librets/Manifest @@ -1,10 +1,10 @@ -AUX dotnet.mk.patch 1263 RMD160 2ca443a2a1befe84e724c712f7077f2d8e49dc88 SHA1 7e61d0e29ae084f64149e34074e2067cd0b114ab SHA256 740bd93ff50aa372388f807b8713e20b4fab0b93150463ff2a9302b0b5dc340b +AUX dotnet.patch 3455 RMD160 1aa58621db217a576427c13dc6b18d31bb330b71 SHA1 727980aec242d70f9c8caf8309d11dd41be9de53 SHA256 8ead4f481df2ef5f0b0dbe7b235bf2d09dfef2de8090611122a9606062028f9e AUX java.mk.patch 783 RMD160 1ba38cbea393c1646f1517665c515402a3834135 SHA1 049e24d2240fe8b3c22325f4e476afa4f901b063 SHA256 9709b787b2c55c9c390a22677fbe15d821beb588e6ccedb48e1277fff47345de AUX librets.snk 596 RMD160 437c0db04bccb0da482d0e6c9dc38f21757ce17b SHA1 aec4dcf1e29aa0f8519e710f19a5bac308566bfd SHA256 6bf3c8c92df3bda29091d32608e402132516553b1591c9665f234305ed4f6d6f AUX perl.mk.patch 1088 RMD160 7054d8bb712814434e3978c69c36ff267c102a5a SHA1 660fa197034f316aa7523a17c2a0ea065876e975 SHA256 200c4fa5f034478b406892fbac17156655be49164f46dcaba094e13745993198 AUX python.mk.patch 501 RMD160 611578ad08ee095d4364e538e6b69e4f5727d401 SHA1 803f4678b974d87008e772115d09034fb31bb8fe SHA256 8ba69a842499dcfeaaba25ac8fb9f4723d7243293b7fba7734510bca47eb89cb AUX swig.m4.patch 462 RMD160 d0e5b1f14b78d514a7bcee9e052e433645a02162 SHA1 6003ea54742da9aff9b9a320643819ad34f1cf7b SHA256 aa217a9442f967196027ef589e114eeca2d5583506b69eeae72dd9107f8594d1 DIST librets-1.5.2.tar.gz 1157546 RMD160 154a4fff9bbf994b739a1d30b3bb5eed9ecdd5d3 SHA1 cc856a41bc8120865937d199c918542bf3d82a95 SHA256 5d9c32eefd1a20b90c58ef117010768d8161c56ee0138efa4dd8b1ab82a433ce -EBUILD librets-1.5.2.ebuild 7793 RMD160 fe85e6e6a26022700066d742197a359ac6550c5d SHA1 1856e5554300608820251c828172ce6dd842001e SHA256 6c13847d3b67e5a9bce1776f460db6bb5311a78bec1e58fddf870b303782f668 -MISC ChangeLog 987 RMD160 6ee178431b8dd2e3514d63eea35f6c50faa766d9 SHA1 3d3f784e9046a2fa707774b2ea668bbbd74ba9bf SHA256 40a74f092c64bbf4252934e43360e94ee3ee91f43bb03eb24e65583bc6b92df4 +EBUILD librets-1.5.2.ebuild 7866 RMD160 1e4f5fb7fe43fd72a4200f66adbe8252aa0fd453 SHA1 b1baa3a89f76ff250c6a448a952fc1743fcb1b96 SHA256 f7058ed0cab46b606c934b210e7908acf81271e68a435ac46a8e02b2aa21c6fe +MISC ChangeLog 1274 RMD160 7241f5e57008683e89f696e5e9a4a001e7b66842 SHA1 7f6639a211f5af6c3fe1ada49768a5da79b5945a SHA256 530a45f2e15f4d5428c3e16ce260f384e6c0d6ffe97b23f988f7d8e7cd004042 MISC metadata.xml 853 RMD160 ed63f9597114e696a3c5a40812f4aab838ff6b37 SHA1 1b72b0eb34f6bbfff554cb73217a4a950b40d550 SHA256 f4037036447d4657b2c235437ed5403b80ef67469080bb98e5dddf7088bf96a9 diff --git a/dev-libs/librets/files/dotnet.mk.patch b/dev-libs/librets/files/dotnet.mk.patch deleted file mode 100644 index 11b616d4b..000000000 --- a/dev-libs/librets/files/dotnet.mk.patch +++ /dev/null @@ -1,33 +0,0 @@ -Index: project/build/dotnet.mk -=================================================================== ---- project/build/dotnet.mk (revision 1523) -+++ project/build/dotnet.mk (working copy) -@@ -6,7 +6,11 @@ - ${DOTNET_UNMANAGED_DLL} \ - ${DOTNET_DEMO_EXE} - -+ifeq (${SWIG_OSNAME}, linux) -+DOTNET_BUILD = ${DOTNET_WRAP} -+else - DOTNET_BUILD = ${DOTNET_WRAP} ${DOTNET_ALL} -+endif - DOTNET_CXX_FLAGS = -fPIC `${SWIG_LIBRETS_CONFIG} --cflags` - DOTNET_DEMO_EXE = ${DOTNET_GETOBJECT_EXE} \ - ${DOTNET_INTERLEAVED_EXE} \ -@@ -68,6 +72,7 @@ - DOTNET_UPDATE_EXE = ${DOTNET_OBJ_DIR}/Update.exe - DOTNET_UPDATE_SRC = ${DOTNET_DIR}/Update.cs ${DOTNET_DIR}/Options.cs - DOTNET_WRAP = ${DOTNET_OBJ_DIR}/librets_wrap.cpp -+DOTNET_KEYFILE = ${DOTNET_DIR}/librets.snk - - - ${DOTNET_WRAP}: ${SWIG_FILES} -@@ -91,7 +96,7 @@ - # - - ${DOTNET_MANAGED_DLL}: ${DOTNET_UNMANAGED_DLL} ${DOTNET_MANAGED_SRC} -- ${MCS} -target:library -out:${DOTNET_MANAGED_DLL} ${DOTNET_PLATFORM} ${DOTNET_MANAGED_SRC} -+ ${MCS} -target:library -keyfile:${DOTNET_KEYFILE} -out:${DOTNET_MANAGED_DLL} ${DOTNET_PLATFORM} ${DOTNET_MANAGED_SRC} - - ${DOTNET_GETOBJECT_EXE}: ${DOTNET_GETOBJECT_SRC} - ${MCS} -r:${DOTNET_MANAGED_DLL} ${DOTNET_PLATFORM} -out:${DOTNET_GETOBJECT_EXE} ${DOTNET_GETOBJECT_SRC} diff --git a/dev-libs/librets/files/dotnet.patch b/dev-libs/librets/files/dotnet.patch new file mode 100644 index 000000000..882db8b0c --- /dev/null +++ b/dev-libs/librets/files/dotnet.patch @@ -0,0 +1,101 @@ +Index: Makefile.in +=================================================================== +--- Makefile.in (revision 1523) ++++ Makefile.in (revision 1524) +@@ -44,6 +44,7 @@ + HAVE_DOTNET=@HAVE_DOTNET@ + CSC=@CSC@ + MCS=@MCS@ ++SNK_FILE=@SNK_FILE@ + HAVE_PERL=@HAVE_PERL@ + PERL=@PERL@ + HAVE_PHP=@HAVE_PHP@ +Index: project/build/ac-macros/swig.m4 +=================================================================== +--- project/build/ac-macros/swig.m4 (revision 1523) ++++ project/build/ac-macros/swig.m4 (revision 1524) +@@ -21,6 +21,7 @@ + HAVE_RUBY=0 + JAVA_INCLUDES= + USE_SWIG_BINDINGS= ++ SNK_FILE= + my_have_java=no + my_have_dotnet=no + my_have_perl=no +@@ -63,6 +64,14 @@ + AC_CHECK_PROG(MCS, mcs, mcs, no) + AC_CHECK_PROG(GMCS, gmcs, gmcs, no) + AC_CHECK_PROG(CSC, csc, csc, no) ++ AC_ARG_WITH([snk-file], ++ AC_HELP_STRING( ++ [--with-snk-file=PATH], ++ [strong name key file to sign the .NET dll. ++ ]), ++ SNK_FILE="$withval", ++ SNK_FILE="") ++ + generics=`expr \ + $ver_major \> 1 \| \ + $ver_major \= 1 \& \ +@@ -236,6 +245,7 @@ + AC_SUBST(HAVE_DOTNET) + AC_SUBST(CSC) + AC_SUBST(MCS) ++ AC_SUBST(SNK_FILE) + AC_SUBST(HAVE_PERL) + AC_SUBST(HAVE_PHP) + AC_SUBST(PHP) +Index: project/build/dotnet.mk +=================================================================== +--- project/build/dotnet.mk (revision 1523) ++++ project/build/dotnet.mk (revision 1524) +@@ -6,7 +6,11 @@ + ${DOTNET_UNMANAGED_DLL} \ + ${DOTNET_DEMO_EXE} + +-DOTNET_BUILD = ${DOTNET_WRAP} ${DOTNET_ALL} ++ifeq (${SWIG_OSNAME}, linux) ++DOTNET_BUILD = ${DOTNET_WRAP} ++else ++DOTNET_BUILD = ${DOTNET_WRAP} ${DOTNET_ALL} ++endif + DOTNET_CXX_FLAGS = -fPIC `${SWIG_LIBRETS_CONFIG} --cflags` + DOTNET_DEMO_EXE = ${DOTNET_GETOBJECT_EXE} \ + ${DOTNET_INTERLEAVED_EXE} \ +@@ -90,8 +94,14 @@ + # Not Windows/MinGW + # + ++ ++ifeq (${strip ${SNK_FILE}},) + ${DOTNET_MANAGED_DLL}: ${DOTNET_UNMANAGED_DLL} ${DOTNET_MANAGED_SRC} + ${MCS} -target:library -out:${DOTNET_MANAGED_DLL} ${DOTNET_PLATFORM} ${DOTNET_MANAGED_SRC} ++else ++${DOTNET_MANAGED_DLL}: ${DOTNET_UNMANAGED_DLL} ${DOTNET_MANAGED_SRC} ++ ${MCS} -target:library -keyfile:${SNK_FILE} -out:${DOTNET_MANAGED_DLL} ${DOTNET_PLATFORM} ${DOTNET_MANAGED_SRC} ++endif + + ${DOTNET_GETOBJECT_EXE}: ${DOTNET_GETOBJECT_SRC} + ${MCS} -r:${DOTNET_MANAGED_DLL} ${DOTNET_PLATFORM} -out:${DOTNET_GETOBJECT_EXE} ${DOTNET_GETOBJECT_SRC} +@@ -126,12 +136,21 @@ + # Windows/MinGW + # + ++ifeq (${strip ${SNK_FILE}},) + ${DOTNET_MANAGED_DLL}: ${DOTNET_UNMANAGED_DLL} ${DOTNET_MANAGED_SRC} + ${CSC} -target:library \ + -platform:${TARGET_CPU} \ + -out:${shell echo ${DOTNET_MANAGED_DLL} | ${BACKSLASH}} \ + ${shell echo ${DOTNET_PLATFORM} | ${BACKSLASH}} \ + ${shell echo ${DOTNET_MANAGED_SRC} | ${BACKSLASH}} ++else ++${DOTNET_MANAGED_DLL}: ${DOTNET_UNMANAGED_DLL} ${DOTNET_MANAGED_SRC} ++ ${CSC} -target:library -keyfile:${SNK_FILE} \ ++ -platform:${TARGET_CPU} \ ++ -out:${shell echo ${DOTNET_MANAGED_DLL} | ${BACKSLASH}} \ ++ ${shell echo ${DOTNET_PLATFORM} | ${BACKSLASH}} \ ++ ${shell echo ${DOTNET_MANAGED_SRC} | ${BACKSLASH}} ++endif + + ${DOTNET_GETOBJECT_EXE}: ${DOTNET_GETOBJECT_SRC} + ${CSC} -r:${shell echo ${DOTNET_MANAGED_DLL} | ${BACKSLASH}} \ diff --git a/dev-libs/librets/librets-1.5.2.ebuild b/dev-libs/librets/librets-1.5.2.ebuild index b36f445ae..06f753255 100644 --- a/dev-libs/librets/librets-1.5.2.ebuild +++ b/dev-libs/librets/librets-1.5.2.ebuild @@ -15,8 +15,6 @@ PYTHON_MODNAME="librets.py" USE_RUBY="ree18 ruby18 ruby19" RUBY_OPTIONAL="yes" -LIBOPTIONS="-m755" - inherit distutils eutils java-pkg-opt-2 mono perl-module php-ext-source-r2 ruby-ng DESCRIPTION="A library that implements the RETS 1.7, RETS 1.5 and 1.0 standards" @@ -111,8 +109,8 @@ src_prepare() { epatch "${FILESDIR}"/python.mk.patch # Upstream patch to allow dotnet binding to build epatch "${FILESDIR}"/swig.m4.patch - # Patch to allow dotnet binding to build - epatch "${FILESDIR}"/dotnet.mk.patch + # Patch to allow dotnet binding to build and set snk key file + epatch "${FILESDIR}"/dotnet.patch eautoreconf use php && php-ext-source-r2_src_prepare } @@ -164,6 +162,7 @@ src_configure() { --disable-examples \ $(use_enable debug) \ $(use_enable sql-compiler) \ + $(use_with mono "snk-file" "${FILESDIR}"/${PN}.snk) \ ${myconf} } @@ -245,7 +244,7 @@ src_install() { if use java; then java-pkg_dojar "${S}"/build/swig/java/${PN}.jar || die - java-pkg_doso "${S}"/build/swig/java/${PN}.so || die + LIBOPTIONS="-m755" java-pkg_doso "${S}"/build/swig/java/${PN}.so || die fi use ruby && ruby-ng_src_install -- 2.43.2