Blob Blame History Raw
%global commit 88e927d2302966993724f06d57e89cc4bf6d5e35
%global shortcommit %(c=%{commit}; echo ${c:0:7})
%global tz_ver 2022g

Name:          libzonedetect
Version:       0~git%{shortcommit}
Release:       7%{?snap}%{?dist}
Summary:       Find the timezone for a given latitude and longitude

# The library is BSD-3, timezone-boundary-builder is MIT, the built database is ODbL-1.0
License:       BSD-3-Clause AND MIT AND ODbL-1.0
URL:           https://github.com/BertoldVdb/ZoneDetect
Source0:       https://github.com/BertoldVdb/ZoneDetect/archive/%{commit}/ZoneDetect-%{shortcommit}.tar.gz
Source1:       CMakeLists.txt
# For building DB
Source2:       https://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_0_countries_lakes.zip
Source3:       https://github.com/evansiroky/timezone-boundary-builder/releases/download/%{tz_ver}/timezones-with-oceans.shapefile.zip
Source4:       README.data

# Don't download DB source files, use local copies
Patch1:        ZoneDetect_builddb.patch
# Improve help of sample program, fix memory leak
Patch2:        ZoneDetect_demo.patch
# Add missing cstdint include
Patch3:        ZoneDetect_cstdint.patch

BuildRequires: gcc-c++
BuildRequires: cmake
# For building DB
BuildRequires: shapelib-devel

BuildRequires: mingw32-filesystem
BuildRequires: mingw32-gcc

BuildRequires: mingw64-filesystem
BuildRequires: mingw64-gcc


%description
Find the timezone for a given latitude and longitude.

%package devel
Summary:       Development files for %{name}

%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.


%package -n mingw32-%{name}
Summary:       MinGW Windows %{name} library
BuildArch:     noarch

%description -n mingw32-%{name}
MinGW Windows %{name} library.


%package -n mingw64-%{name}
Summary:       MinGW Windows %{name} library
BuildArch:     noarch

%description -n mingw64-%{name}
MinGW Windows %{name} library.


%{?mingw_debug_package}


%prep
%autosetup -p1 -n ZoneDetect-%{commit}
cp -a %{SOURCE1} .

# Prepare for DB build
mkdir -p database/builder/{naturalearth,timezone}
cp -a %{SOURCE2} database/builder/naturalearth/ne.zip
cp -a %{SOURCE3} database/builder/timezone/tz.zip
find database/builder/


%build
# Build DB
(cd database/builder/ && ./makedb.sh)

# Native build
%cmake
%cmake_build

# MinGW build
%mingw_cmake
%mingw_make_build


%install
# Native build
%cmake_install

# MinGW build
%mingw_make_install

mkdir -p %{buildroot}%{_datadir}/ZoneDetect/
cp -a database/builder/out_v1/* %{buildroot}%{_datadir}/ZoneDetect/
cp -a %{SOURCE4} %{buildroot}%{_datadir}/ZoneDetect/


%mingw_debug_install_post


%files
%doc README.md
%license LICENSE
%{_bindir}/ZoneDetect
%{_libdir}/libzonedetect.so.0*
%{_datadir}/ZoneDetect/


%files devel
%{_libdir}/libzonedetect.so
%{_includedir}/zonedetect.h

%files -n mingw32-%{name}
%license LICENSE
%{mingw32_bindir}/ZoneDetect.exe
%{mingw32_bindir}/libzonedetect-0.dll
%{mingw32_includedir}/zonedetect.h
%{mingw32_libdir}/libzonedetect.dll.a

%files -n mingw64-%{name}
%license LICENSE
%{mingw64_bindir}/ZoneDetect.exe
%{mingw64_bindir}/libzonedetect-0.dll
%{mingw64_includedir}/zonedetect.h
%{mingw64_libdir}/libzonedetect.dll.a


%changelog
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0~git88e927d-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0~git88e927d-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0~git88e927d-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Thu Jan 19 2023 Sandro Mani <manisandro@gmail.com> - 0~git.88e927d-4
- Update to git 88e927d

* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0~gitc65bc88-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Wed Dec 21 2022 Sandro Mani <manisandro@gmail.com> - 0~gitc65bc88-2
- Fix pkgname -> name
- List ODbL-1.0 in License

* Fri Dec 16 2022 Sandro Mani <manisandro@gmail.com> - 0~gitc65bc88-1
- Initial package