diff --git a/.gitignore b/.gitignore index b897fd2..d9c6f38 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ SOURCES/libical-1.0.1.tar.gz +SOURCES/libical-3.0.3.tar.gz diff --git a/.libical.metadata b/.libical.metadata index e35eda6..542e7dc 100644 --- a/.libical.metadata +++ b/.libical.metadata @@ -1 +1,2 @@ 2e8ee822081dd7dd789256a38b073e8b24bdb776 SOURCES/libical-1.0.1.tar.gz +6667872622e54c4a9ad0c99622f0a56e713e255b SOURCES/libical-3.0.3.tar.gz diff --git a/SOURCES/libical-3.0.3-cmake-version.patch b/SOURCES/libical-3.0.3-cmake-version.patch new file mode 100644 index 0000000..68b4b39 --- /dev/null +++ b/SOURCES/libical-3.0.3-cmake-version.patch @@ -0,0 +1,24 @@ +diff -up libical-3.0.3/CMakeLists.txt.cmake-version libical-3.0.3/CMakeLists.txt +--- libical-3.0.3/CMakeLists.txt.cmake-version 2018-02-27 16:34:25.000000000 +0100 ++++ libical-3.0.3/CMakeLists.txt 2018-05-31 16:31:14.858002781 +0200 +@@ -70,7 +70,7 @@ + # Build with the thread sanitizer (requires gcc or clang) + # + +-cmake_minimum_required(VERSION 3.1.0) #first line, to shutup a cygwin warning ++cmake_minimum_required(VERSION 2.8.0) #first line, to shutup a cygwin warning + project(libical C CXX) + + cmake_policy(SET CMP0003 NEW) +diff -up libical-3.0.3/cmake/modules/GObjectIntrospectionMacros.cmake.cmake-version libical-3.0.3/cmake/modules/GObjectIntrospectionMacros.cmake +--- libical-3.0.3/cmake/modules/GObjectIntrospectionMacros.cmake.cmake-version 2018-05-31 16:59:07.730979648 +0200 ++++ libical-3.0.3/cmake/modules/GObjectIntrospectionMacros.cmake 2018-05-31 17:03:01.110976420 +0200 +@@ -50,7 +50,7 @@ macro(gir_add_introspections introspecti + set(_gir_libtool "--no-libtool") + + add_custom_command( +- COMMAND ${CMAKE_COMMAND} -E env "CC='${CMAKE_C_COMPILER}'" ++ COMMAND + ${GObjectIntrospection_SCANNER} + ${GObjectIntrospection_SCANNER_ARGS} + --namespace=${_gir_namespace} diff --git a/SPECS/libical.spec b/SPECS/libical.spec index 854f8bb..e6d961e 100644 --- a/SPECS/libical.spec +++ b/SPECS/libical.spec @@ -1,15 +1,32 @@ +%define compat_build_dir libical-1.0.1 + Summary: Reference implementation of the iCalendar data type and serialization format Name: libical -Version: 1.0.1 -Release: 1%{?dist} -License: LGPLv2 or MPLv1.1 -Group: System Environment/Libraries -URL: http://freeassociation.sourceforge.net/ +Version: 3.0.3 +Release: 2%{?dist} +License: LGPLv2 or MPLv2.0 +URL: https://libical.github.io/libical/ Source: https://github.com/%{name}/%{name}/archive/v%{version}/%{name}-%{version}.tar.gz +Source1: https://github.com/%{name}/%{name}/archive/v1.0.1/%{name}-1.0.1.tar.gz Patch0: libical-1.0-avoid-putenv.patch +Patch1: libical-3.0.3-cmake-version.patch -BuildRequires: bison, byacc, flex +# because 'Version:' in compat-libical subpackage overrides %%{version} value +%global gir_version %{version} + +BuildRequires: gcc +BuildRequires: gcc-c++ BuildRequires: cmake +BuildRequires: gtk-doc +BuildRequires: pkgconfig(gobject-2.0) +BuildRequires: pkgconfig(gobject-introspection-1.0) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(icu-i18n) +BuildRequires: pkgconfig(icu-uc) +BuildRequires: perl +#BuildRequires: python +#BuildRequires: python-gobject +BuildRequires: vala Requires: tzdata %description @@ -20,30 +37,113 @@ used in dozens of calendaring and scheduling products. Summary: Development files for libical Group: Development/Libraries Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: pkgconfig(icu-i18n) +Requires: pkgconfig(icu-uc) %description devel -The libical-devel package contains libraries and header files for developing +The libical-devel package contains libraries and header files for developing applications that use libical. +%package glib +Summary: GObject wrapper for libical library +Provides: libical-glib%{?_isa} = %{version}-%{release} +Obsoletes: libical-glib < 3.0.0 +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description glib +This package provides a GObject wrapper for libical library with support +of GObject Introspection. + +%package glib-doc +Summary: Documentation files for %{name}-glib +Group: Development/Libraries +Provides: libical-glib-doc = %{version}-%{release} +Obsoletes: libical-glib-doc < 3.0.0 +BuildArch: noarch + +%description glib-doc +This package contains developer documentation for %{name}-glib. + +%package glib-devel +Summary: Development files for building against %{name}-glib +Group: Development/Libraries +Provides: libical-glib-devel%{?_isa} = %{version}-%{release} +Obsoletes: libical-glib-devel < 3.0.0 +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-glib%{?_isa} = %{version}-%{release} +Requires: pkgconfig(glib-2.0) +Requires: pkgconfig(gobject-2.0) + +%description glib-devel +Development files needed for building things which link against %{name}-glib. + +%package -n compat-libical1 +Summary: Compat package with libical 1.0.1 libraries +Version: 1.0.1 +License: LGPLv2 or MPLv1.1 +# Explicitly conflict with older libical packages that ship libraries +# with the same soname as this compat package +Conflicts: libical < 3.0.0 + +%description -n compat-libical1 +Compatibility package with libical libraries ABI version 1. + %prep %setup -q +%patch1 -p1 -b .cmake-version + +%setup -T -D -a 1 + +pushd %{compat_build_dir} %patch0 -p1 -b .avoid-putenv +popd %build + +# the compat package first +pushd %{compat_build_dir} mkdir -p %{_target_platform} pushd %{_target_platform} %{cmake} .. popd - make %{?_smp_mflags} -C %{_target_platform} +popd + +mkdir -p %{_target_platform} +pushd %{_target_platform} +%{cmake} .. \ + -DUSE_INTEROPERABLE_VTIMEZONES:BOOL=true \ + -DICAL_ALLOW_EMPTY_PROPERTIES:BOOL=true \ + -DGOBJECT_INTROSPECTION:BOOL=true \ + -DICAL_GLIB:BOOL=true \ + -DICAL_GLIB_VAPI:BOOL=true \ + -DSHARED_ONLY:BOOL=true +popd + +make %{?_smp_mflags} -C %{_target_platform} -j1 %install -make install/fast DESTDIR=%{buildroot} -C %{_target_platform} +# the compat package first +pushd %{compat_build_dir} +make install/fast DESTDIR=%{buildroot} -C %{_target_platform} # omit static libs rm -fv %{buildroot}%{_libdir}/lib*.a +# Remove files that aren't needed for the compat package +rm -rf %{buildroot}%{_includedir} +rm -rf %{buildroot}%{_libdir}/*.so +rm -rf %{buildroot}%{_libdir}/cmake/ +rm -rf %{buildroot}%{_libdir}/pkgconfig/ +popd + +make install/fast DESTDIR=%{buildroot} -C %{_target_platform} %check +# the compat package first +pushd %{compat_build_dir} +make test ARGS="-V" -C %{_target_platform} +#popd + make test ARGS="-V" -C %{_target_platform} %post -p /sbin/ldconfig @@ -52,21 +152,53 @@ make test ARGS="-V" -C %{_target_platform} %files %doc LICENSE ReadMe.txt THANKS -%{_libdir}/libical.so.1* -%{_libdir}/libicalss.so.1* -%{_libdir}/libicalvcal.so.1* +%{_libdir}/libical.so.3* +%{_libdir}/libical_cxx.so.3* +%{_libdir}/libicalss.so.3* +%{_libdir}/libicalss_cxx.so.3* +%{_libdir}/libicalvcal.so.3* +%{_libdir}/girepository-1.0/libical-%{gir_version}.typelib +%{_datadir}/gir-1.0/libical-%{gir_version}.gir %files devel %doc doc/UsingLibical.txt -%{_includedir}/ical.h %{_libdir}/libical.so +%{_libdir}/libical_cxx.so %{_libdir}/libicalss.so +%{_libdir}/libicalss_cxx.so %{_libdir}/libicalvcal.so %{_libdir}/pkgconfig/libical.pc %{_libdir}/cmake/LibIcal/ %{_includedir}/libical/ +%files glib +%{_libdir}/libical-glib.so.3* +%{_libdir}/girepository-1.0/ICalGLib-3.0.typelib +%{_datadir}/gir-1.0/ICalGLib-3.0.gir + +%files glib-devel +%{_libdir}/libical-glib.so +%{_libdir}/pkgconfig/libical-glib.pc +%{_includedir}/libical-glib/ +%{_datadir}/vala/vapi/libical-glib.vapi + +%files glib-doc +%{_datadir}/gtk-doc/html/%{name}-glib + +%files -n compat-libical1 +%doc %{compat_build_dir}/LICENSE +%{_libdir}/libical.so.1* +%{_libdir}/libicalss.so.1* +%{_libdir}/libicalvcal.so.1* + %changelog +* Tue Jun 19 2018 Milan Crha - 3.0.3-2 +- Update Requires of libical-glib-devel + +* Thu May 31 2018 Milan Crha - 3.0.3-1 +- Update to 3.0.3 and build compat-libical1 subpackage +- Resolves: #1584655 + * Wed Jul 08 2015 Milan Crha - 1.0.1-1 - Update to 1.0.1 @@ -138,7 +270,7 @@ make test ARGS="-V" -C %{_target_platform} - Update makefile patch, remove the test part (already applied). - Package libical.pc, add Requires: pkgconfig to -devel. -* Tue Sep 03 2008 Debarshi Ray - 0.32-1 +* Tue Sep 02 2008 Debarshi Ray - 0.32-1 - Version bump to 0.32. - Parallel build problems fixed.