zeroc-ice/zeroc-ice.spec

463 lines
14 KiB
RPMSpec

%define majversion %(echo %version | cut -d. -f 1-2)
%define php_extensiondir %(php-config --extension-dir)
Name: zeroc-ice
Version: 3.7.10
Release: 1mamba
Summary: The Internet Communications Engine (Ice)
Group: System/Libraries
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://www.zeroc.com/
Source0: https://github.com/zeroc-ice/ice.git/v%{version}/ice-%{version}.tar.bz2
Source1: https://github.com/zeroc-ice/ice-packaging.git/v%{version}/ice-packaging-%{version}.tar.bz2
Source2: zeroc-ice.sysusers
License: GPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libbzip2-devel
BuildRequires: libedit-devel
BuildRequires: libexpat-devel
BuildRequires: libgcc
BuildRequires: liblmdb-devel
BuildRequires: libmcpp-devel
BuildRequires: libopenssl-devel
BuildRequires: libpython311-devel
BuildRequires: libruby-devel
BuildRequires: libstdc++6-devel
BuildRequires: libsystemd-devel
BuildRequires: libxcrypt-devel
## AUTOBUILDREQ-END
BuildRequires: openssl
BuildRequires: php-devel
BuildRequires: ruby-devel
BuildRequires: apache-ant
BuildRequires: apache-ant-nodeps
BuildRequires: ImageMagick
BuildRequires: javapackages
#BuildRequires: java-bdb48
BuildRequires: java-openjdk
#BuildRequires: java-proguard
#BuildRequires: jgoodies-common
BuildRequires: mono-devel
Provides: Ice
Obsoletes: ice < 3.7.10
Obsoletes: mono-Ice < 3.7.10
Obsoletes: mono-Ice-devel < 3.7.10
%description
The Internet Communications Engine (Ice) is a modern object-oriented middleware with support for C++, .NET, Java, Python, Objective-C, Ruby, and PHP. Ice is used in many mission-critical projects by companies all over the world.
Ice is easy to learn, yet provides a powerful network infrastructure and vast array of features for demanding technical applications.
Ice is free software, available with full source, and released under the terms of GNU General Public License (GPL). Commercial licenses are available for customers who wish to use Ice for closed-source software.
%package devel
Summary: Tools for developing Ice applications in C++
Group: Development/Tools
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Provides: Ice-devel
Obsoletes: ice-devel < 3.7.10
%description devel
The Internet Communications Engine (Ice).
This package contains tools for developing Ice applications in C++.
%package -n mono-Ice
Summary: The Ice runtime for C#
Group: Development/Tools
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: mono-core
%description -n mono-Ice
The Internet Communications Engine (Ice).
This package contains the Ice runtime for C#.
%package -n mono-Ice-devel
Summary: Tools for developing Ice applications in C#
Group: Development/Tools
Requires: mono-Ice = %{?epoch:%epoch:}%{version}-%{release}
%description -n mono-Ice-devel
The Internet Communications Engine (Ice).
This package contains tools for developing Ice applications in C#+.
%package -n icegrid-gui
Summary: IceGrid Admin Tool
Group: Development/Tools
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: java-Ice = %{?epoch:%epoch:}%{version}-%{release}
Requires: jgoodies-forms13
Requires: jgoodies-looks
Requires: jpackage-utils
%description -n icegrid-gui
The Internet Communications Engine (Ice).
This package contains graphical administration tool for IceGrid.
%package -n java-Ice
Summary: The Ice runtime for Java
Group: Development/Tools
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n java-Ice
The Internet Communications Engine (Ice).
This package contains the Ice runtime for Java.
%package -n php-Ice
Summary: The Ice runtime for Java
Group: Development/Tools
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: php
%description -n php-Ice
The Internet Communications Engine (Ice).
This package contains the Ice runtime for PHP applications.
%package -n python-Ice
Summary: The Ice runtime for Python applications
Group: Development/Tools
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: python
%description -n python-Ice
The Internet Communications Engine (Ice).
This package contains the Ice runtime for Python applications.
%package -n ruby-Ice
Summary: The Ice runtime for Ruby applications
Group: Development/Tools
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: ruby
%description -n ruby-Ice
The Internet Communications Engine (Ice).
This package contains the Ice runtime for Ruby applications.
%package servers
Summary: Ice services to run through systmed
Group: Development/Tools
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
Provides: Ice-servers
Obsoletes: ice-servers < 3.7.10
%description servers
The Internet Communications Engine (Ice).
This package contains Ice services to run through systemd.
%debug_package
%prep
%setup -q -n ice-%{version} -a1
#-D -T
#:<< _EOF
sed -i "s|icegridguiProguard = true|icegridguiProguard = false|" java/gradle.properties
#sed -i "s| test$||" csharp/Makefile
%build
#:<< _EOF
#export CFLAGS="%{optflags} -fPIC -Wno-error -lpthread"
%make \
OPTIMIZE="yes" \
USR_DIR_INSTALL="yes" \
prefix=%{_prefix} \
CONFIGS="shared cpp11-shared" \
CXXFLAGS="%{optflags} -fPIC -fvisibility=hidden -Wall -Wno-error -pthread" \
PYTHON="python3" \
LANGUAGES="cpp java python ruby php" \
srcs
#% make -C csharp
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall \
OPTIMIZE="yes" \
USR_DIR_INSTALL="yes" \
prefix=%{_prefix} \
CONFIGS="shared cpp11-shared" \
PYTHON="python3" \
LANGUAGES="cpp java python ruby php" \
install_rubydir=%{ruby_sitelib} \
install_rubylibdir=%{ruby_sitearch}
#% makeinstall -C csharp \
# OPTIMIZE="yes" USR_DIR_INSTALL="yes" \
# prefix=%{_prefix} \
# install_assembliesdir=%{_prefix}/lib/mono/Ice
#cp -a csharp/lib/pkgconfig %{buildroot}%{_libdir}/
#make prefix=%{buildroot} GACINSTALL=yes GAC_ROOT=%{buildroot}%{_libdir} embedded_runpath_prefix="" install
install -Dm644 ice-packaging-%{version}/ice/rpm/glacier2router.conf \
%{buildroot}%{_sysconfdir}/glacier2router.conf
install -Dm644 ice-packaging-%{version}/ice/rpm/icegridnode.conf \
%{buildroot}%{_sysconfdir}/icegridnode.conf
install -Dm644 ice-packaging-%{version}/ice/rpm/icegridregistry.conf \
%{buildroot}%{_sysconfdir}/icegridregistry.conf
install -Dm644 ice-packaging-%{version}/ice/rpm/glacier2router.service \
%{buildroot}%{_unitdir}/glacier2router.service
install -Dm644 ice-packaging-%{version}/ice/rpm/icegridnode.service \
%{buildroot}%{_unitdir}/icegridnode.service
install -Dm644 ice-packaging-%{version}/ice/rpm/icegridregistry.service \
%{buildroot}%{_unitdir}/icegridregistry.service
install -D -m0644 %{SOURCE2} %{buildroot}%{_sysusersdir}/zeroc-ice.conf
mkdir -p %{buildroot}/var/lib/ice/icegrid/{node1,registry}
%clean
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%post -n icegrid-gui
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache -q %{_datadir}/icons/hicolor
fi
:
%postun -n icegrid-gui
touch --no-create %{_datadir}/icons/hicolor
if [ -x /usr/bin/gtk-update-icon-cache ]; then
/usr/bin/gtk-update-icon-cache -q %{_datadir}/icons/hicolor
fi
:
%pre servers
%sysusers_create_package zeroc-ice %{SOURCE2}
:
%post servers
%systemd_post icegridregistry
%systemd_post icegridnode
%systemd_post glacier2router
:
%preun servers
%systemd_preun icegridregistry
%systemd_preun icegridnode
%systemd_preun glacier2router
:
%postun servers
%systemd_postun_with_restart icegridregistry
%systemd_postun_with_restart icegridnode
%systemd_postun_with_restart glacier2router
:
%files
%defattr(-,root,root)
%{_bindir}/glacier2router
%{_bindir}/icebox
%{_bindir}/iceboxadmin
%{_bindir}/icegridadmin
%{_bindir}/icegridnode
%{_bindir}/icegridregistry
%{_bindir}/icepatch2calc
%{_bindir}/icepatch2client
%{_bindir}/icepatch2server
%{_bindir}/icestormadmin
%{_bindir}/icebox++11
%{_bindir}/icebridge
%{_bindir}/icegriddb
%{_bindir}/icestormdb
%{_bindir}/slice2confluence
%{_bindir}/slice2cs
%{_bindir}/slice2js
%{_bindir}/slice2matlab
%{_bindir}/slice2objc
%{_bindir}/slice2rb
%{_bindir}/slice2swift
%{_bindir}/slice2html
%{_datadir}/ice/ICE_LICENSE
%{_datadir}/ice/LICENSE
%dir %{_datadir}/ice/slice/Glacier2
%{_datadir}/ice/slice/Glacier2/*.ice
%dir %{_datadir}/ice/slice/Ice*
%{_datadir}/ice/slice/Ice*/*.ice
%{_datadir}/ice/templates.xml
%{_libdir}/libGlacier2.so.*
%{_libdir}/libIce.so.*
%{_libdir}/libIceBox.so.*
%{_libdir}/libIceGrid.so.*
%{_libdir}/libIcePatch2.so.*
%{_libdir}/libIceSSL.so.*
%{_libdir}/libIceStorm.so.*
%{_libdir}/libIceStormService.so.*
%{_libdir}/libIceXML.so.*
%{_libdir}/libGlacier2++11.so.*
%{_libdir}/libIce++11.so.*
%{_libdir}/libGlacier2CryptPermissionsVerifier.so.*
%{_libdir}/libIceBox++11.so.*
%{_libdir}/libIceDB.so.*
%{_libdir}/libIceDiscovery++11.so.*
%{_libdir}/libIceDiscovery.so.*
%{_libdir}/libIceGrid++11.so.*
%{_libdir}/libIceLocatorDiscovery++11.so.*
%{_libdir}/libIceLocatorDiscovery.so.*
%{_libdir}/libIceSSL++11.so.*
%{_libdir}/libIceStorm++11.so.*
%{_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/slice2html.1*
%{_mandir}/man1/icebridge.1*
%{_mandir}/man1/icegriddb.1*
%{_mandir}/man1/icestormdb.1*
%{_mandir}/man1/slice2cs.1*
%{_mandir}/man1/slice2js.1*
%{_mandir}/man1/slice2matlab.1*
%{_mandir}/man1/slice2objc.1*
%{_mandir}/man1/slice2php.1*
%{_mandir}/man1/slice2rb.1*
%{_mandir}/man1/slice2swift.1*
%files devel
%defattr(-,root,root)
%{_bindir}/slice2cpp
%{_includedir}/Glacier2
%{_includedir}/Ice
%{_includedir}/IceBox
%{_includedir}/IceGrid
%{_includedir}/IcePatch2
%{_includedir}/IceSSL
%{_includedir}/IceStorm
%{_includedir}/IceUtil
%{_libdir}/libGlacier2.so
%{_libdir}/libIce.so
%{_libdir}/libIceBox.so
%{_libdir}/libIceGrid.so
%{_libdir}/libIcePatch2.so
%{_libdir}/libIceSSL.so
%{_libdir}/libIceStorm.so
%{_libdir}/libGlacier2++11.so
%{_libdir}/libIce++11.so
%{_libdir}/libIceBox++11.so
%{_libdir}/libIceDiscovery++11.so
%{_libdir}/libIceDiscovery.so
%{_libdir}/libIceGrid++11.so
%{_libdir}/libIceLocatorDiscovery++11.so
%{_libdir}/libIceLocatorDiscovery.so
%{_libdir}/libIceSSL++11.so
%{_libdir}/libIceStorm++11.so
%{_mandir}/man1/slice2cpp.1*
#%files -n mono-Ice
#%defattr(-,root,root)
#%dir %{_prefix}/lib/mono/Ice
#%{_prefix}/lib/mono/Ice/*
#%{_bindir}/iceboxnet.exe
#%{_mandir}/man1/iceboxnet.1*
#%files -n mono-Ice-devel
#%defattr(-,root,root)
#%{_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 icegrid-gui
#%defattr(-,root,root)
#%{_datadir}/Ice-%{version}/IceGridGUI.jar
#%attr(755,root,root) %{_bindir}/icegridgui
#%{_datadir}/applications/*
#%{_datadir}/icons/hicolor/48x48/apps/icegrid.png
#%{_datadir}/pixmaps/icegrid.png
#%doc %{_defaultdocdir}/Ice-%{version}/IceGridAdmin
#%{_mandir}/man1/icegridgui.1*
%files -n java-Ice
%defattr(-,root,root)
%{_bindir}/slice2java
%{_javadir}/*.jar
%{_javadir}/*.pom
%{_mandir}/man1/slice2java.1*
%files -n php-Ice
%defattr(-,root,root)
%{_bindir}/slice2php
%{php_extensiondir}/ice.so
%{_datadir}/php/Glacier2.php
%{_datadir}/php/Ice.php
%{_datadir}/php/IceBox.php
%{_datadir}/php/IceGrid.php
%{_datadir}/php/IcePatch2.php
%{_datadir}/php/IceStorm.php
%dir %{_datadir}/php/Glacier2
%{_datadir}/php/Glacier2/*.php
%dir %{_datadir}/php/Ice
%{_datadir}/php/Ice/*.php
%dir %{_datadir}/php/IceBox
%{_datadir}/php/IceBox/*.php
%dir %{_datadir}/php/IceGrid
%{_datadir}/php/IceGrid/*.php
%dir %{_datadir}/php/IcePatch2
%{_datadir}/php/IcePatch2/*.php
%dir %{_datadir}/php/IceStorm
%{_datadir}/php/IceStorm/*.php
%files -n python-Ice
%defattr(-,root,root)
%{_bindir}/slice2py
%{python3_sitelib}/*
%{_mandir}/man1/slice2py.1*
%files -n ruby-Ice
%defattr(-,root,root)
%{ruby_sitearch}/IceRuby.so
%{ruby_sitelib}/*
%files servers
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/icegridregistry.conf
%config(noreplace) %{_sysconfdir}/icegridnode.conf
%config(noreplace) %{_sysconfdir}/glacier2router.conf
%{_sysusersdir}/zeroc-ice.conf
%{_unitdir}/glacier2router.service
%{_unitdir}/icegridnode.service
%{_unitdir}/icegridregistry.service
%attr(0775,root,iceuser) %dir %{_localstatedir}/lib/ice
%attr(0775,root,iceuser) %dir %{_localstatedir}/lib/ice/icegrid
%attr(0775,root,iceuser) %dir %{_localstatedir}/lib/ice/icegrid/node1
%attr(0775,root,iceuser) %dir %{_localstatedir}/lib/ice/icegrid/registry
%changelog
* Wed Jan 31 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 3.7.10-1mamba
- update to 3.7.10
- source renamed from Ice to zeroc-ice
* Sun Aug 04 2019 Silvan Calarco <silvan.calarco@mambasoft.it> 3.6.5-1mamba
- update to 3.6.5
* Wed Jun 12 2013 Automatic Build System <autodist@mambasoft.it> 3.5.0-1mamba
- update to 3.5.0
* Tue Aug 07 2012 Automatic Build System <autodist@mambasoft.it> 3.4.2-1mamba
- update to 3.4.2
* Sun Aug 14 2011 Silvan Calarco <silvan.calarco@mambasoft.it> 3.4.0-3mamba
- replace java-bdb requirement with java-bdb48 and add make include flag
* Mon Jan 17 2011 gil <puntogil@libero.it> 3.4.0-2mamba
- rebuilt devel
* Sun Jun 20 2010 gil <puntogil@libero.it> 3.4.0-1mamba
- First build