Sophie

Sophie

distrib > Mageia > 3 > i586 > media > core-release-src > by-pkgid > 14e365511e750b810494f0b35c0efae4 > files > 16

ice-3.4.2-3.mga3.src.rpm

%define major 34
%define libname %mklibname %{name} %{major}

Name:		ice
Version:	3.4.2
Release:	%mkrel 3
Summary:	The Ice base runtime and services

Group:		Networking/WWW
License:	GPLv2 with exceptions
URL:		http://www.zeroc.com/
Source0:	http://www.zeroc.com/download/Ice/%{version}/Ice-%{version}.tar.gz
# Extracted from http://zeroc.com/download/Ice/3.5/ice-3.5b-1.src.rpm
Source1:        Ice-rpmbuild-%{version}.tar.gz
# Man pages courtesy of Francisco Moya's Debian packages
Source2:        Ice-3.3.0-man-pages.tbz
Source8:        icegridgui
Source9:        IceGridAdmin.desktop
Source10:       Ice-README.Mandriva
# Don't build the demo or test directories
Patch0:         Ice-3.4.2-dont-build-demo-test.patch
# Don't put manifest in jar; don't build demo or test; use system jgoodies
Patch1:         Ice-3.5b-java-build.patch
# Remove reference to Windows L&F
Patch2:         Ice-3.3.1-jgoodies.patch
Patch3:		ice-3.4.2-gcc46.patch
Patch4:		ice-3.4.2-gcc47.patch
Patch5:		ice-3.4.2-java7.patch
Patch6:		ice-3.4.2-jgoodies.patch
Patch7:		ice-3.4.2-fix-str-fmt.patch
Patch9:		ice-3.4.2-php54.patch

# Fix redhat initscripts for mdv and change user in server scripts 
# from "ice" to "iceuser" to match the config
Patch8:		Ice-rpmbuild-3.3.1-fix-initscripts-for-mdv.patch

# Ice doesn't officially support ppc64 at all
# sparc64 doesnt have mono
ExcludeArch:    ppc64 sparc64

BuildRequires:	db4.8-devel
BuildRequires:	expat-devel
BuildRequires:	openssl-devel
BuildRequires:	bzip2-devel
BuildRequires:	ant
BuildRequires:	ant-nodeps
BuildRequires:	jpackage-utils
BuildRequires:	php
BuildRequires:	php-devel
BuildRequires:	ruby >= 1.8
BuildRequires:	ruby-devel >= 1.8
BuildRequires:	python-devel
BuildRequires:	mono
BuildRequires:	mono-devel
BuildRequires:	mcpp-devel >= 2.7.1
BuildRequires:	dos2unix

BuildRequires:  java-rpmbuild

BuildRequires:  jgoodies-forms
BuildRequires:	jgoodies-looks
BuildRequires:	jgoodies-common
BuildRequires:  imagemagick
BuildRequires:  desktop-file-utils

Requires:	%{libname} = %{version}-%{release}

%description
Ice is a modern alternative to object middleware such as CORBA or
COM/DCOM/COM+.  It is easy to learn, yet provides a powerful network
infrastructure for demanding technical applications. It features an
object-oriented specification language, easy to use C++, C#, Java,
Python, Ruby, PHP, and Visual Basic mappings, a highly efficient
protocol, asynchronous method invocation and dispatch, dynamic
transport plug-ins, TCP/IP and UDP/IP support, SSL-based security, a
firewall solution, and much more.

# All of the other Ice packages also get built by this SRPM.

%package -n %{libname}
Summary:	Ice shared libraries
Group:		System/Libraries

%description -n %{libname}
This package contains Ice shared libraries.

%package servers
Summary:	Ice services to run through /etc/rc.d/init.d
Group:		Development/Other
Requires:	%{name} = %{version}-%{release}
# Requirements for the users
Requires(pre):	shadow-utils
# Requirements for the init.d services
%description servers
Ice services to run through /etc/rc.d/init.d

%package devel
Summary:	Tools for developing Ice applications in C++
Group:		Development/C++
Provides:	ice-c++-devel = %{version}-%{release}
Requires:	%{libname} = %{version}-%{release}

%description devel
Tools for developing Ice applications in C++.

%package java
Summary:	The Ice runtime for Java
Group:		System/Libraries
Requires:	java >= 1.5.0
Requires:	db4.8
Requires:	%{libname} = %{version}-%{release}

%description java
The Ice runtime for Java

%package java-devel
Summary:	Tools for developing Ice applications in Java
Group:		Development/Java
Requires:	%{name}-java = %{version}-%{release}

%description java-devel
Tools for developing Ice applications in Java.

%package -n icegrid-gui
Summary:	IceGrid Admin Tool
Group:		Development/Other
Requires:	java
Requires:	%{name}-java = %{version}-%{release}
Requires:	%{libname} = %{version}-%{release}
Requires:	jgoodies-forms
Requires:	jgoodies-looks
Requires:	jpackage-utils

%description -n icegrid-gui
Graphical administration tool for IceGrid

%package csharp
Summary:	The Ice runtime for C#
Group:		System/Libraries
Provides:	ice-dotnet = %{version}-%{release}
Requires:	%{libname} = %{version}-%{release}
Requires:	mono >= 1.2.2
%description csharp
The Ice runtime for C#

%package csharp-devel
Summary:	Tools for developing Ice applications in C#
Group:		Development/C#
Requires:	%{name}-csharp = %{version}-%{release}
Requires:	pkgconfig
%description csharp-devel
Tools for developing Ice applications in C#.

%package ruby
Summary:	The Ice runtime for Ruby applications
Group:		Development/Ruby
Requires:	%{libname} = %{version}-%{release}
Requires:	ruby >= 1.8

%description ruby
The Ice runtime for Ruby applications.

%package ruby-devel
Summary:	Tools for developing Ice applications in Ruby
Group:		Development/Ruby
Requires:	%{name}-ruby = %{version}-%{release}

%description ruby-devel
Tools for developing Ice applications in Ruby.

%package -n python-%{name}
Summary:	The Ice runtime for Python applications
Group:		Development/Python
Requires:	%{libname} = %{version}-%{release}
Requires:	python >= 2.3.4
%description -n python-%{name}
The Ice runtime for Python applications.

%package -n python-%{name}-devel
Summary:	Tools for developing Ice applications in Python
Group:		Development/Python
Requires:	python-%{name} = %{version}-%{release}
%description -n python-%{name}-devel
Tools for developing Ice applications in Python.

%package -n php-%{name}
Summary:	The Ice runtime for PHP applications
Group:		System/Libraries
Requires:	%{libname} = %{version}-%{release}
Requires:	php

%description -n php-%{name}
The Ice runtime for PHP applications.

%prep
%setup -n Ice-%{version} -q
%patch0 -p1
#patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch9 -p1
%setup -q -n Ice-rpmbuild-%{version} -T -b 1
%patch8 -p1 -b .formdv
%setup -q -n Ice-3.3.0-man-pages -T -b 2

%build
# Set the CLASSPATH correctly for the Java compile
export CLASSPATH=`build-classpath db4.8 jgoodies-forms jgoodies-looks`

# Set JAVA_HOME
export JAVA_HOME=%{java_home}

# Compile the main Ice runtime
cd %{_builddir}/Ice-%{version}
make CXXFLAGS="%{optflags} -fPIC" CFLAGS="%{optflags} -fPIC" embedded_runpath_prefix="" DB_FLAGS="-I%{_includedir}/db4"

# Rebuild the Java ImportKey class
cd %{_builddir}/Ice-%{version}/cpp/src/ca
rm *.class
javac ImportKey.java

# Create the IceGrid icon
cd %{_builddir}/Ice-%{version}/java
cd resources/icons
convert icegrid.ico temp.png
#mv temp-8.png icegrid.png
rm temp*.png


%install
mkdir -p %{buildroot}

# Do the basic "make install"
cd %{_builddir}/Ice-%{version}
make prefix=%{buildroot} GACINSTALL=yes GAC_ROOT=%{buildroot}%{_libdir} embedded_runpath_prefix="" install

# Move Java stuff where it should be
mkdir -p %{buildroot}%{_javadir}
mv %{buildroot}/lib/ant-ice.jar %{buildroot}%{_javadir}/ant-ice-%{version}.jar
ln -s ant-ice-%{version}.jar %{buildroot}%{_javadir}/ant-ice.jar
mv %{buildroot}/lib/Ice.jar %{buildroot}%{_javadir}/Ice-%{version}.jar
ln -s Ice-%{version}.jar %{buildroot}%{_javadir}/Ice.jar


# Install the IceGrid GUI
mkdir -p %{buildroot}%{_datadir}/%{name}
mv %{buildroot}/lib/IceGridGUI.jar %{buildroot}%{_datadir}/%{name}
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/
mkdir -p %{buildroot}%{_bindir}
cp -p %{SOURCE8} %{buildroot}%{_bindir}
sed -i -e "s#DIR#%{_datadir}/%{name}#" %{buildroot}%{_bindir}/icegridgui
desktop-file-install \
        --dir=%{buildroot}%{_datadir}/applications \
        %{SOURCE9}

# Move other rpm-specific files into the right place (README, service stuff)
mkdir -p %{buildroot}%{_defaultdocdir}/%{name}
cp -p %{SOURCE10} %{buildroot}/%{_defaultdocdir}/%{name}/README.Mandriva
cp -p %{_builddir}/Ice-rpmbuild-%{version}/ice.ini %{buildroot}/ice.ini

# Install the servers
mkdir -p %{buildroot}%{_sysconfdir}
cp -p %{_builddir}/Ice-rpmbuild-%{version}/*.conf %{buildroot}%{_sysconfdir}
mkdir -p %{buildroot}%{_initrddir}
for i in icegridregistry icegridnode glacier2router
do
    cp -p %{_builddir}/Ice-rpmbuild-%{version}/$i.redhat %{buildroot}%{_initrddir}/$i
done
mkdir -p %{buildroot}%{_localstatedir}/lib/icegrid

# "make install" assumes it's going into a directory under /opt.
# Move things to where they should be in an RPM setting (adapted from
# the original ZeroC srpm).
mkdir -p %{buildroot}%{_bindir}
mv %{buildroot}/bin/* %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_includedir}
mv %{buildroot}/include/* %{buildroot}%{_includedir}
mkdir -p %{buildroot}%{_libdir}
# There are a couple of files that end up installed in /lib, not %{_libdir},
# so we try this move too.
mv %{buildroot}/%{_lib}/* %{buildroot}%{_libdir}
mv %{buildroot}/lib/* %{buildroot}%{_libdir} || true
mkdir -p %{buildroot}%{_defaultdocdir}/icegrid-gui
mv %{buildroot}/help/IceGridAdmin %{buildroot}%{_defaultdocdir}/icegrid-gui

# Copy the man pages into the correct directory
mkdir -p %{buildroot}%{_mandir}/man1
cp -p %{_builddir}/Ice-3.3.0-man-pages/*.1 %{buildroot}%{_mandir}/man1

# Fix the encoding and line-endings of all the IceGridAdmin documentation files
cd %{buildroot}%{_defaultdocdir}/icegrid-gui/IceGridAdmin
chmod a-x *
for f in *.js *.css;
do
    dos2unix $f
done
for f in helpman_topicinit.js icegridadmin_navigation.js \
    IceGridAdmin_popup_html.js zoom_pageinfo.js;
do
    iconv -f ISO88591 -t UTF8 $f -o $f.tmp
    mv $f.tmp $f
done

# .NET spec files (for csharp-devel) -- convert the paths
for f in IceGrid Glacier2 IceBox Ice IceStorm IcePatch2;
do 
    sed -i -e "s#/lib/#%{_libdir}/#" %{buildroot}%{_libdir}/pkgconfig/$f.pc
    sed -i -e "s#mono_root}/usr#mono_root}#" %{buildroot}%{_libdir}/pkgconfig/$f.pc
done

# Put the PHP stuff into the right place
mkdir -p %{buildroot}%{_sysconfdir}/php.d
mv %{buildroot}/ice.ini %{buildroot}%{_sysconfdir}/php.d
mkdir -p %{buildroot}%{_libdir}/php/extensions/
mv %{buildroot}/php/IcePHP.so %{buildroot}%{_libdir}/php/extensions/

# Also Ruby and Python -- remove all shebang lines while we're at it
for f in %{buildroot}/python/Ice.py %{buildroot}/ruby/*.rb;
do
    grep -v '/usr/bin/env' $f > $f.tmp
    mv $f.tmp $f
done
mkdir -p %{buildroot}%{ruby_sitearchdir}
mv %{buildroot}/ruby/* %{buildroot}%{ruby_sitearchdir}
mkdir -p %{buildroot}%{python_sitearch}/Ice
mv %{buildroot}/python/* %{buildroot}%{python_sitearch}/Ice
cp -p %{_builddir}/Ice-rpmbuild-%{version}/ice.pth %{buildroot}%{python_sitearch}

mkdir -p %{buildroot}%{_datadir}/%{name}
mv %{buildroot}/config/* %{buildroot}%{_datadir}/%{name}
mv %{buildroot}/slice %{buildroot}%{_datadir}/%{name}
# Somehow, some files under "slice" end up with executable permissions -- ??
find %{buildroot}%{_datadir}/%{name} -name "*.ice" | xargs chmod a-x

# Move the ImportKey.class file -- it'll be in %{_libdir} because of the moves earlier
mkdir -p %{buildroot}%{_datadir}/%{name}
mv %{buildroot}%{_libdir}/ImportKey.class %{buildroot}%{_datadir}/%{name}

# Put the license files in as documentation
mkdir -p %{buildroot}%{_defaultdocdir}/%{name}
mv %{buildroot}/ICE_LICENSE %{buildroot}%{_defaultdocdir}/%{name}/ICE_LICENSE
mv %{buildroot}/LICENSE %{buildroot}%{_defaultdocdir}/%{name}/LICENSE

rm -fr %{buildroot}/php

%pre servers
%_pre_useradd iceuser %{_localstatedir}/lib/icegrid /bin/sh

%post servers
%_post_service icegridregistry
%_post_service icegridnode
%_post_service glacier2router

%preun servers
if [ $1 = 0 ]; then
        %_preun_service icegridregistry
        %_preun_service icegridnode
        %_preun_service glacier2router
fi

%postun servers
if [ "$1" -ge "1" ]; then
        /sbin/service icegridregistry condrestart >/dev/null 2>&1 || :
        /sbin/service icegridnode condrestart >/dev/null 2>&1 || :
        /sbin/service glacier2router condrestart >/dev/null 2>&1 || :
fi

%files
%{_defaultdocdir}/%{name}
%{_bindir}/*.xml
%{_bindir}/dumpdb
%{_bindir}/glacier2router
%{_bindir}/icebox
%{_bindir}/iceboxadmin
%{_bindir}/iceca
%{_bindir}/icegridadmin
%{_bindir}/icegridnode
%{_bindir}/icegridregistry
%{_bindir}/icepatch2calc
%{_bindir}/icepatch2client
%{_bindir}/icepatch2server
%{_bindir}/icestormadmin
%{_bindir}/icestormmigrate
%{_bindir}/slice2html
%{_bindir}/transformdb
%{_datadir}/%{name}
# Exclude the stuff that's in IceGrid
%exclude %{_datadir}/%{name}/IceGridGUI.jar
%{_mandir}/man1/dumpdb.1.*
%{_mandir}/man1/glacier2router.1.*
%{_mandir}/man1/icebox.1.*
%{_mandir}/man1/iceboxadmin.1.*
%{_mandir}/man1/icegridadmin.1.*
%{_mandir}/man1/icegridnode.1.*
%{_mandir}/man1/icegridregistry.1.*
%{_mandir}/man1/icepatch2calc.1.*
%{_mandir}/man1/icepatch2client.1.*
%{_mandir}/man1/icepatch2server.1.*
%{_mandir}/man1/icestormadmin.1.*
%{_mandir}/man1/slice2docbook.1.*
%{_mandir}/man1/slice2html.1.*
%{_mandir}/man1/transformdb.1.*

%files -n %{libname}
%{_libdir}/*.so.%{version}
%{_libdir}/*.so.%{major}

%files servers
%{_initrddir}/icegridregistry
%{_initrddir}/icegridnode
%{_initrddir}/glacier2router
%config(noreplace) %{_sysconfdir}/icegridregistry.conf
%config(noreplace) %{_sysconfdir}/icegridnode.conf
%config(noreplace) %{_sysconfdir}/glacier2router.conf
%dir %{_localstatedir}/lib/icegrid

%files devel
%{_bindir}/slice2cpp
%{_bindir}/slice2freeze
%{_includedir}/Freeze
%{_includedir}/Glacier2
%{_includedir}/Ice
%{_includedir}/IceBox
%{_includedir}/IceGrid
%{_includedir}/IcePatch2
%{_includedir}/IceSSL
%{_includedir}/IceStorm
%{_includedir}/IceUtil
%{_includedir}/IceXML
%{_includedir}/Slice
%{_libdir}/*.so
%{_mandir}/man1/slice2cpp.1.*
%{_mandir}/man1/slice2freeze.1.*

%files java
%{_libdir}/Freeze.jar
%{_javadir}/Ice-%{version}.jar
%{_javadir}/Ice.jar

%files -n icegrid-gui
%attr(755,root,root) %{_bindir}/icegridgui
%{_datadir}/%{name}/IceGridGUI.jar
%{_datadir}/applications/IceGridAdmin.desktop
#%{_datadir}/icons/hicolor/48x48/apps/icegrid.png
%{_defaultdocdir}/icegrid-gui
%{_mandir}/man1/icegridgui.1.*

%files java-devel
%{_bindir}/slice2java
%{_bindir}/slice2freezej
%{_javadir}/ant-ice-%{version}.jar
%{_javadir}/ant-ice.jar
%{_mandir}/man1/slice2java.1.*
%{_mandir}/man1/slice2freezej.1.*

%files csharp
%{_libdir}/mono/Glacier2/
%{_libdir}/mono/Ice/
%{_libdir}/mono/IceBox/
%{_libdir}/mono/IceGrid/
%{_libdir}/mono/IcePatch2/
%{_libdir}/mono/IceStorm/

%{_libdir}/mono/gac/Glacier2
%{_libdir}/mono/gac/Ice
%{_libdir}/mono/gac/IceBox
%{_libdir}/mono/gac/IceGrid
%{_libdir}/mono/gac/IcePatch2
%{_libdir}/mono/gac/IceStorm

%{_libdir}/mono/gac/policy*

%{_bindir}/iceboxnet.exe
%{_mandir}/man1/iceboxnet.exe.1.*

%files csharp-devel
%{_bindir}/slice2cs
%{_libdir}/pkgconfig/Glacier2.pc
%{_libdir}/pkgconfig/Ice.pc
%{_libdir}/pkgconfig/IceBox.pc
%{_libdir}/pkgconfig/IceGrid.pc
%{_libdir}/pkgconfig/IcePatch2.pc
%{_libdir}/pkgconfig/IceStorm.pc
%{_mandir}/man1/slice2cs.1.*

%files -n python-%{name}
%{python_sitearch}/Ice/
%{python_sitearch}/%{name}.pth

%files -n python-%{name}-devel
%{_bindir}/slice2py
%{_mandir}/man1/slice2py.1.*

%files ruby
%{ruby_sitearchdir}/*

%files ruby-devel
%{_bindir}/slice2rb
%{_mandir}/man1/slice2rb.1.*

%files -n php-%{name}
%{_bindir}/slice2php
%{_libdir}/php/extensions/IcePHP.so
%config(noreplace) %{_sysconfdir}/php.d/ice.ini


%changelog

* Sat Jan 12 2013 umeabot <umeabot> 3.4.2-3.mga3
+ Revision: 354115
- Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild

* Sun Dec 16 2012 fwang <fwang> 3.4.2-2.mga3
+ Revision: 331637
- fix requires of ruby binding

* Sun Dec 16 2012 fwang <fwang> 3.4.2-1.mga3
+ Revision: 331619
- update file list
- update file list
- update file list
- update file list
- requires dbjava
- update file list
- more str fmt fix
- build with php 5.4
- fix str fmt
- build with system jgoodies
- fix build with recent java
- use db4.8
- use db4.8
- br db 4.8
- br db 4.8
- fix build with recent gcc
- rediff some patches
- new version 3.4.2
- add includedir
- cleanup spec
- fix build
- rediff some patches
- new version 3.5b
- more patch
- fix patch
- more patch on building
- br db 5.2

  + malo <malo>
    - update RPM group

  + stormi <stormi>
    - rebuild for new glibc

* Mon Mar 19 2012 fwang <fwang> 3.3.1-5.mga2
+ Revision: 224290
- more patches
- more patch
- fix build
- fix build with new gcc

* Thu Mar 24 2011 boklm <boklm> 3.3.1-4.mga1
+ Revision: 76158
- rebuild for bug #497

* Wed Mar 09 2011 ennael <ennael> 3.3.1-3.mga1
+ Revision: 67193
- remove unexisting image
- clean spec file
- imported package ice