Add Reactive Extensions as installed libs, take 2 (with fixed rpmspec this time).
authorAtsushi Eno <atsushieno@veritas-vos-liberabit.com>
Tue, 11 Dec 2012 06:34:19 +0000 (15:34 +0900)
committerAtsushi Eno <atsushieno@veritas-vos-liberabit.com>
Tue, 11 Dec 2012 06:34:19 +0000 (15:34 +0900)
16 files changed:
data/Makefile.am
data/reactive.pc.in [new file with mode: 0644]
mcs/class/Makefile
mcs/class/Mono.Reactive.Testing/Makefile
mcs/class/System.Reactive.Core/Makefile
mcs/class/System.Reactive.Debugger/Makefile
mcs/class/System.Reactive.Experimental/Makefile
mcs/class/System.Reactive.Interfaces/Makefile
mcs/class/System.Reactive.Linq/Makefile
mcs/class/System.Reactive.PlatformServices/Makefile
mcs/class/System.Reactive.Providers/Makefile
mcs/class/System.Reactive.Runtime.Remoting/Makefile
mcs/class/System.Reactive.Windows.Forms/Makefile
mcs/class/System.Reactive.Windows.Threading/Makefile
mcs/class/build-rx-dll-sources.sh
mono-core.spec.in

index 3688d2692d78dc01485640bf785778fad88e73ff..601b4dab269b6c22fb5caea6349ae7db3347b2a3 100644 (file)
@@ -12,7 +12,7 @@ EXTRA_DIST =          \
        mono.pc.in mono-2.pc.in monosgen-2.pc.in mint.pc.in dotnet.pc.in dotnet35.pc.in wcf.pc.in monodoc.pc.in \
        mono-nunit.pc.in mono-cairo.pc.in mono-options.pc.in cecil.pc.in \
        mono-lineeditor.pc.in system.web.extensions_1.0.pc.in system.web.extensions.design_1.0.pc.in\
-       dtrace-prelink.sh mono.web.pc.in system.web.mvc.pc.in system.web.mvc2.pc.in system.web.mvc3.pc.in aspnetwebstack.pc.in \
+       dtrace-prelink.sh mono.web.pc.in system.web.mvc.pc.in system.web.mvc2.pc.in system.web.mvc3.pc.in aspnetwebstack.pc.in reactive.pc.in \
        net_1_1/machine.config \
        gdb/mono-gdb.py \
        gdb/gdb-python.diff
@@ -28,17 +28,17 @@ endif
 if JIT_SUPPORTED
 if INTERP_SUPPORTED
 pkgconfig_DATA= mono.pc mono-2.pc mint.pc dotnet.pc dotnet35.pc wcf.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc system.web.extensions_1.0.pc \
-               system.web.extensions.design_1.0.pc mono.web.pc system.web.mvc.pc system.web.mvc2.pc system.web.mvc3.pc aspnetwebstack.pc $(SGENPCFILE)
+               system.web.extensions.design_1.0.pc mono.web.pc system.web.mvc.pc system.web.mvc2.pc system.web.mvc3.pc aspnetwebstack.pc reactive.pc $(SGENPCFILE)
 else
 pkgconfig_DATA= mono.pc mono-2.pc dotnet.pc dotnet35.pc wcf.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc system.web.extensions_1.0.pc \
-               system.web.extensions.design_1.0.pc mono.web.pc system.web.mvc.pc system.web.mvc2.pc system.web.mvc3.pc aspnetwebstack.pc $(SGENPCFILE)
+               system.web.extensions.design_1.0.pc mono.web.pc system.web.mvc.pc system.web.mvc2.pc system.web.mvc3.pc aspnetwebstack.pc reactive.pc $(SGENPCFILE)
 endif
 else
 pkgconfig_DATA= mint.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc
 endif
 
 DISTCLEANFILES= mono-2.pc mono.pc mint.pc dotnet.pc dotnet35.pc wcf.pc mono-nunit.pc mono-cairo.pc mono-options.pc cecil.pc monodoc.pc mono-lineeditor.pc system.web.extensions_1.0.pc \
-               system.web.extensions.design_1.0.pc mono.web.pc system.web.mvc.pc system.web.mvc2.pc system.web.mvc3.pc aspnetwebstack.pc $(SGENPCFILE) mono-sgen-gdb.py
+               system.web.extensions.design_1.0.pc mono.web.pc system.web.mvc.pc system.web.mvc2.pc system.web.mvc3.pc aspnetwebstack.pc reactive.pc $(SGENPCFILE) mono-sgen-gdb.py
 
 mono_DATA =  config \
             browscap.ini
diff --git a/data/reactive.pc.in b/data/reactive.pc.in
new file mode 100644 (file)
index 0000000..2640151
--- /dev/null
@@ -0,0 +1,12 @@
+Name: Reactive Extensions
+Description: Reactive Extensions
+Version: @VERSION@
+Libs: 
+-r:@prefix@/lib/mono/4.5/System.Reactive.Interfaces.dll
+-r:@prefix@/lib/mono/4.5/System.Reactive.Core.dll
+-r:@prefix@/lib/mono/4.5/System.Reactive.Linq.dll
+-r:@prefix@/lib/mono/4.5/System.Reactive.PlatformServices.dll
+-r:@prefix@/lib/mono/4.5/System.Reactive.Providers.dll
+-r:@prefix@/lib/mono/4.5/System.Reactive.Debugger.dll
+-r:@prefix@/lib/mono/4.5/System.Reactive.Experimental.dll
+-r:@prefix@/lib/mono/4.5/System.Reactive.Runtime.Remoting.dll
index a7af39076b0e73e16aaf8e5b59eafbd222bc7129..59e8d219c28fdcef701760b9f1806e988235bfec 100644 (file)
@@ -216,6 +216,11 @@ net_4_0_dirs := \
        System.Windows.Forms.DataVisualization  \
        System.Xaml \
        WindowsBase \
+       System.ServiceModel.Routing \
+       System.ServiceModel.Discovery \
+       System.Runtime.Caching \
+       System.Runtime.DurableInstancing \
+       Mono.Parallel \
        System.Reactive.Interfaces \
        System.Reactive.Core \
        System.Reactive.Linq \
@@ -226,11 +231,6 @@ net_4_0_dirs := \
        System.Reactive.Windows.Threading \
        System.Reactive.Experimental \
        System.Reactive.Debugger \
-       System.ServiceModel.Routing \
-       System.ServiceModel.Discovery \
-       System.Runtime.Caching \
-       System.Runtime.DurableInstancing \
-       Mono.Parallel \
        Microsoft.Web.Infrastructure \
        WebMatrix.Data \
        System.Data.Services.Client     \
index c02117a6ddfff63514ab1995939e04f71b4f23fb..5f1854131d138ea5abb5a167e09195355670c93a 100644 (file)
@@ -36,13 +36,13 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618
 
 EXTRA_DISTFILES = more_build_args
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.Mono.Reactive.Testing.dll
-NO_INSTALL = yes
 NO_TEST = yes
 endif
 
+NO_INSTALL = yes
 NO_SIGN_ASSEMBLY = yes
 
 include ../../build/library.make
index 1a09fb54bc4818541fdce5aa40f7130d78cdfc66..e6395385c1b41aa8798c4dcdece97d44cc3746fd 100644 (file)
@@ -35,13 +35,17 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = more_build_args $(RESX_RESOURCES:.resources=.resx) $(PREBUILT)
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter monotouch monodroid net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.System.Reactive.Core.dll
 NO_SIGN_ASSEMBLY = yes
 endif
 
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
+ifndef INSTALL_PROFILE
 NO_INSTALL = yes
+endif
+
 NO_TEST = yes
 
 include ../../build/library.make
index 24d6fa753aab98ef9e84cc90e18945dd6580c1b8..65d30c049ba6fdb0d50cc4d9083fc485f588f5b9 100644 (file)
@@ -24,13 +24,17 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = more_build_args
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter monotouch monodroid net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.System.Reactive.Debugger.dll
 NO_SIGN_ASSEMBLY = yes
 endif
 
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
+ifndef INSTALL_PROFILE
 NO_INSTALL = yes
+endif
+
 NO_TEST = yes
 
 include ../../build/library.make
index effbc887c81cc6e9c72b50a6860abf0b5d748c3f..966b95daff9a43e63db6640e93b20e32d99ba172 100644 (file)
@@ -24,13 +24,17 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = more_build_args
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter monotouch monodroid net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.System.Reactive.Experimental.dll
 NO_SIGN_ASSEMBLY = yes
 endif
 
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
+ifndef INSTALL_PROFILE
 NO_INSTALL = yes
+endif
+
 NO_TEST = yes
 
 include ../../build/library.make
index 79ccee23fd4e5addf6b8a7528a2c2e6c60eb3dd2..b001529523d0f4a1cf51c57746625c794b3c4585 100644 (file)
@@ -21,13 +21,17 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = more_build_args
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter monotouch monodroid net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.System.Reactive.Interfaces.dll
 NO_SIGN_ASSEMBLY = yes
 endif
 
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
+ifndef INSTALL_PROFILE
 NO_INSTALL = yes
+endif
+
 NO_TEST = yes
 
 include ../../build/library.make
index 853d222a4fb418b3d8f4fc0281f03896e9448c87..690aa82dbc5e38df7fc53a798e2baf3d511d469e 100644 (file)
@@ -36,13 +36,17 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = more_build_args $(RESX_RESOURCES:.resources=.resx) $(PREBUILT)
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter monotouch monodroid net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.System.Reactive.Linq.dll
 NO_SIGN_ASSEMBLY = yes
 endif
 
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
+ifndef INSTALL_PROFILE
 NO_INSTALL = yes
+endif
+
 NO_TEST = yes
 
 include ../../build/library.make
index 05f493f33c7b2ca75aee4fe7a574e814e2c1146f..e8b78f2d3bba873857f86db5c98ffdfd4fad0b8e 100644 (file)
@@ -42,13 +42,17 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -r:Mono.Reactive.Tests.dll
 
 EXTRA_DISTFILES = more_build_args $(RESX_RESOURCES:.resources=.resx) $(PREBUILT)
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter monotouch monodroid net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.System.Reactive.PlatformServices.dll
 NO_SIGN_ASSEMBLY = yes
 endif
 
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
+ifndef INSTALL_PROFILE
 NO_INSTALL = yes
+endif
+
 NO_TEST = yes
 
 include ../../build/library.make
index 7ce54a26b5118aac0679928b340f02c6ec1cd147..44088a17101c830f8e70d80864bbd4bd9ba46de2 100644 (file)
@@ -37,13 +37,17 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = more_build_args $(RESX_RESOURCES:.resources=.resx) $(PREBUILT)
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter monodroid net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.System.Reactive.Providers.dll
 NO_SIGN_ASSEMBLY = yes
 endif
 
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
+ifndef INSTALL_PROFILE
 NO_INSTALL = yes
+endif
+
 NO_TEST = yes
 
 include ../../build/library.make
index 948dcef4f1b8760df1f61df1e261808b341ec02d..deaf483c32776a66c99eb9a5ea0c47bca18ac18e 100644 (file)
@@ -24,13 +24,17 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = more_build_args
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.System.Reactive.Runtime.Remoting.dll
 NO_SIGN_ASSEMBLY = yes
 endif
 
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
+ifndef INSTALL_PROFILE
 NO_INSTALL = yes
+endif
+
 NO_TEST = yes
 
 include ../../build/library.make
index 7fb7d8fbf04fa0587616da7ac31b89cb3f773f27..63b3fe0f4a529541c664f7111fd81fbb45896f7a 100644 (file)
@@ -25,13 +25,17 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = more_build_args
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.System.Reactive.Windows.Forms.dll
 NO_SIGN_ASSEMBLY = yes
 endif
 
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
+ifndef INSTALL_PROFILE
 NO_INSTALL = yes
+endif
+
 NO_TEST = yes
 
 include ../../build/library.make
index ba111236f8605ae3ee5b43179948a1d5892adae4..8e1641a8cb5793371b6bb28fe38a255c74a1979f 100644 (file)
@@ -38,13 +38,17 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 EXTRA_DISTFILES = more_build_args $(RESX_RESOURCES:.resources=.resx) $(PREBUILT)
 
-VALID_PROFILE := $(filter 2 4, $(FRAMEWORK_VERSION_MAJOR))
+VALID_PROFILE := $(filter net_4_0 net_4_5, $(PROFILE))
 ifndef VALID_PROFILE
 LIBRARY_NAME = dummy-System.System.Reactive.Windows.Threading.dll
 NO_SIGN_ASSEMBLY = yes
 endif
 
+INSTALL_PROFILE := $(filter net_4_5, $(PROFILE))
+ifndef INSTALL_PROFILE
 NO_INSTALL = yes
+endif
+
 NO_TEST = yes
 
 include ../../build/library.make
index e12f2be893eaf7426bc5ed5d07c90eecd1b70c2f..2ebd3f5817d228952da259d9602615adce5e0d0d 100644 (file)
@@ -42,14 +42,29 @@ foreach (var ass in asses) {
        var pathPrefix = ass == "Tests.System.Reactive" ? "../../" : "../";
 
        // tests are built under Mono.Reactive.Testing directory.
+       
        var sources =
                monoass == "Tests.System.Reactive" ?
                Path.Combine ("Mono.Reactive.Testing", "Mono.Reactive.Testing_test.dll.sources") :
                Path.Combine (monoass, monoass + ".dll.sources");
 
+       var assdir = Path.Combine (monoass, "Assembly");
+       var assinfo = Path.Combine (monoass, "Assembly", "AssemblyInfo.cs");
+
+       if (monoass != "Tests.System.Reactive") {
+               if (!Directory.Exists (assdir))
+                       Directory.CreateDirectory (assdir);
+               using (var tw = File.CreateText (assinfo)) {
+                       tw.WriteLine ("// Due to InternalsVisibleTo issue we don't add versions so far...");
+                       tw.WriteLine ("// [assembly:System.Reflection.AssemblyVersion (\"0.0.0.0\")]");
+               }
+       }
+
        var doc = XDocument.Load (csproj);
        var rootNS = doc.XPathSelectElement ("//*[local-name()='RootNamespace']").Value;
        using (var tw = File.CreateText (sources)) {
+               //if (monoass != "Tests.System.Reactive")
+               //      tw.WriteLine ("Assembly/AssemblyInfo.cs");
                foreach (var path in doc.XPathSelectElements ("//*[local-name()='Compile']")
                        .Select (el => el.Attribute ("Include").Value)
                        .Select (s => s.Replace ("\\", "/")))
index 751e6efc371615e9f7f89d781d529942222a5ac8..47a713fb26e3b7626a34bdc4f8d622d395010cb4 100644 (file)
@@ -1021,6 +1021,68 @@ Database connectivity for Mono.
 %_prefix/lib/mono/4.5/Npgsql.dll
 %_prefix/lib/mono/gac/Npgsql
 
+%package -n mono-rx-core
+License:        MIT License (or similar) ; Apache License 2.0
+Summary:        Reactive Extensions for Mono core libraries
+Group:          Development/Languages/Mono
+Requires:       mono-core == %version-%release
+Provides:       mono(System.Reactive.Interfaces) = 1.0.5000.0
+
+%description -n mono-rx-core
+The Mono Project is an open development initiative that is working to
+develop an open source, Unix version of the .NET development platform.
+Its objective is to enable Unix developers to build and deploy
+cross-platform .NET applications. The project will implement various
+technologies that have been submitted to the ECMA for standardization.
+
+Reactive Extensions for Mono, core packages, which don't depend on
+desktop-specific features.
+
+%files -n mono-rx-core
+%defattr(-, root, root)
+%_libdir/pkgconfig/reactive.core.pc
+%_prefix/lib/mono/4.5/System.Reactive.Core.dll
+%_prefix/lib/mono/4.5/System.Reactive.Debugger.dll
+%_prefix/lib/mono/4.5/System.Reactive.Experimental.dll
+%_prefix/lib/mono/4.5/System.Reactive.Interfaces.dll
+%_prefix/lib/mono/4.5/System.Reactive.Linq.dll
+%_prefix/lib/mono/4.5/System.Reactive.PlatformServices.dll
+%_prefix/lib/mono/4.5/System.Reactive.Providers.dll
+%_prefix/lib/mono/4.5/System.Reactive.Runtime.Remoting.dll
+%_prefix/lib/mono/gac/System.Reactive.Core
+%_prefix/lib/mono/gac/System.Reactive.Debugger
+%_prefix/lib/mono/gac/System.Reactive.Experimental
+%_prefix/lib/mono/gac/System.Reactive.Interfaces
+%_prefix/lib/mono/gac/System.Reactive.Linq
+%_prefix/lib/mono/gac/System.Reactive.PlatformServices
+%_prefix/lib/mono/gac/System.Reactive.Providers
+%_prefix/lib/mono/gac/System.Reactive.Runtime.Remoting
+
+%package -n mono-rx-desktop
+License:        MIT License (or similar) ; Apache License 2.0
+Summary:        Reactive Extensions for Mono desktop-specific libraries
+Group:          Development/Languages/Mono
+Requires:       mono-core == %version-%release
+Requires:       mono-rx-core == %version-%release
+Provides:       mono(System.Reactive.Interfaces) = 1.0.5000.0
+
+%description -n mono-rx-desktop
+The Mono Project is an open development initiative that is working to
+develop an open source, Unix version of the .NET development platform.
+Its objective is to enable Unix developers to build and deploy
+cross-platform .NET applications. The project will implement various
+technologies that have been submitted to the ECMA for standardization.
+
+Reactive Extensions for Mono, desktop-specific packages (winforms,
+windows threading).
+
+%files -n mono-rx-desktop
+%defattr(-, root, root)
+%_prefix/lib/mono/4.5/System.Reactive.Windows.Forms.dll
+%_prefix/lib/mono/4.5/System.Reactive.Windows.Threading.dll
+%_prefix/lib/mono/gac/System.Reactive.Windows.Forms
+%_prefix/lib/mono/gac/System.Reactive.Windows.Threading
+
 %package -n mono-nunit
 License:        LGPL v2.1 only
 Summary:        NUnit Testing Framework