882cae3
%global   use_release_branch  0
882cae3
882cae3
%if 0%{?use_release_branch} < 1
882cae3
# master
9aceedd
%global	gitdate		20230116
9aceedd
%global	gitcommit		959b7d5775242c84cbec866897676f366fe372b1
7238314
# New git commit with non-free part removed using "git filter-branch"
9aceedd
%global	gitcommit_free		ce0246a7c9d15dd96fb81c67b514485cf9e2b844
882cae3
%else
882cae3
# currently 41.0 branch
91506d3
%global	gitdate		20211117
d7ecad6
%global	gitcommit		2d776cc668bc5019452e25ecc330c88093e75c48
07ffe0e
# New git commit with non-free part using "git filter-branch"
f7f801f
%global	gitcommit_free		f995e33068c5959c1bab249cd04ed3776e9b2d96
882cae3
%endif
882cae3
882cae3
08375d5
%global	shortcommit	%(c=%{gitcommit}; echo ${c:0:7})
08375d5
%global	git_version	D%{gitdate}git%{shortcommit}
08375d5
9aceedd
%global	tarballdate	20230117
9aceedd
%global	tarballtime	1409
08375d5
8ca8a45
%global	use_release	0
8ca8a45
%global	use_gitbare	1
08375d5
08375d5
%if	0%{?use_gitbare} < 1
08375d5
# force
08375d5
%global	use_release	1
08375d5
%endif
08375d5
08375d5
%if	0%{?use_release} >= 1
08375d5
%global	GIT	true
08375d5
%else
08375d5
%global	GIT	git
08375d5
%endif
08375d5
a872106
%global	mainrel		2.1
08375d5
%undefine	prever
08375d5
08375d5
%if		0%{?use_release} >= 1
08375d5
%global	fedorarel		%{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}}
08375d5
%endif
08375d5
%if		0%{?use_gitbare} >= 1
08375d5
%global	fedorarel		%{mainrel}.%{git_version}
08375d5
%endif
08375d5
08375d5
524e7b2
Name:		ugene
524e7b2
Summary:	Integrated bioinformatics toolkit
524e7b2
94d2471
Version:	45.1
6f0c938
Release:	%{fedorarel}%{?dist}
524e7b2
Ivan Efremov 1bc2831
#The entire source code is GPLv2+ except:
Ivan Efremov 1bc2831
#file src/libs_3rdparty/qtbindings_core/src/qtscriptconcurrent.h which is GPLv2
Ivan Efremov 1bc2831
#files in src/plugins_3rdparty/script_debuger/src/qtscriptdebug/ which are GPLv2
524e7b2
License:	GPLv2+ and GPLv2
524e7b2
URL:		http://ugene.net
08375d5
%if	0%{?use_release} >= 1
4629890
#Source0:	https://github.com/ugeneunipro/ugene/archive/%{version}.tar.gz/#/%{name}-%{version}.tar.gz
4629890
# Removing non-free part
4629890
Source0:	%{name}-free-%{version}.tar.gz
4629890
# Source0 is created by # env VERSION=%%{version} source ./%{SOURCE1}
08375d5
%endif
08375d5
%if	0%{?use_gitbare} >= 1
ec5c12f
Source0:	%{name}-free-%{tarballdate}T%{tarballtime}.tar.gz
08375d5
%endif
4629890
Source1:	create-ugene-free-tarball.sh
ec5c12f
Source2:	create-%{name}-git-bare-tarball.sh
08375d5
# This is not installed
ec5c12f
Source10:	ugene.wrapper
4f79185
Patch1:	ugene-45.1-gcc13-header-inclusion.patch
524e7b2
# Currently distro-specific
515647b
Patch102:	ugene-44.x-libs_3rdparty-breakpad-sys_mmap_use_system_mmap.patch
524e7b2
Patch103:	ugene-40.1-libs_3rdparty-breakpad-unwind-nonsupported-arch.patch
e495f2b
Patch104:	ugene-42.0-plugins_3rdparty-hmm2-nosse-arch.patch
524e7b2
Patch105:	ugene-40.1-libs_3rdparty-breakpad-arch-port.patch
7820c9e
Patch106:	ugene-43.0-git-plgins-smith_waterman-nonsse2-arch.patch
524e7b2
Patch107:	ugene-40.1-qbswap-bigendian-workaround.patch
15e4458
Patch108:	ugene-43.x-wrong-elif-SendReportDialog.patch
524e7b2
524e7b2
BuildRequires:	make
524e7b2
BuildRequires:	gcc-c++
524e7b2
BuildRequires:	desktop-file-utils
524e7b2
08375d5
%if		0%{?use_gitbare} >= 1
08375d5
BuildRequires:	%{_bindir}/git
08375d5
%endif
08375d5
524e7b2
BuildRequires:	cmake(Qt5Core)
524e7b2
BuildRequires:	cmake(Qt5Gui)
524e7b2
BuildRequires:	cmake(Qt5Network)
524e7b2
BuildRequires:	cmake(Qt5PrintSupport)
524e7b2
BuildRequires:	cmake(Qt5Script)
524e7b2
BuildRequires:	cmake(Qt5ScriptTools)
524e7b2
BuildRequires:	cmake(Qt5Sql)
524e7b2
BuildRequires:	cmake(Qt5Svg)
524e7b2
BuildRequires:	cmake(Qt5Test)
524e7b2
BuildRequires:	cmake(Qt5Widgets)
524e7b2
BuildRequires:	cmake(Qt5Xml)
524e7b2
524e7b2
BuildRequires:	pkgconfig(gl)
524e7b2
BuildRequires:	pkgconfig(glu)
524e7b2
BuildRequires:	pkgconfig(sqlite3)
524e7b2
BuildRequires:	pkgconfig(xtst)
524e7b2
BuildRequires:	pkgconfig(zlib)
524e7b2
524e7b2
Provides:		bundled(samtools) = 0.1.18
Ivan Efremov 1bc2831
Ivan Efremov 1bc2831
%description
Ivan Efremov 1bc2831
Unipro UGENE is a cross-platform visual environment for DNA and protein
Ivan Efremov 1bc2831
sequence analysis. UGENE integrates the most important bioinformatics
Ivan Efremov 1bc2831
computational algorithms and provides an easy-to-use GUI for performing
Ivan Efremov 1bc2831
complex analysis of the genomic data. One of the main features of UGENE
Ivan Efremov 1bc2831
is a designer for custom bioinformatics workflows.
Ivan Efremov 1bc2831
Ivan Efremov 1bc2831
%prep
08375d5
%if		0%{?use_release} >= 1
Ivan Efremov 1bc2831
%setup -q
08375d5
# Umm...
08375d5
sed -i.desktop ugene.pri -e '\@desktop@s|etc/share/|etc/shared/|'
08375d5
%endif
08375d5
08375d5
%if		0%{?use_gitbare} >= 1
08375d5
%setup -q -c -T -a 0
08375d5
git clone ./%{name}.git/
08375d5
cd %{name}
08375d5
cp -a [A-Z]* ..
08375d5
07ffe0e
git checkout -b %{version}-fedora %{gitcommit_free}
08375d5
git config user.name "%{name} Fedora maintainer"
08375d5
git config user.email "%{name}-maintainers@fedoraproject.org"
08375d5
%endif
08375d5
4f79185
%patch1 -p1 -b .gcc13 -Z
4f79185
	%GIT commit -m "add missing header file" -a
4f79185
6070d06
%patch102 -p1 -b .sys_mmap -Z
08375d5
	%GIT commit -m "libs_3rdparty/breakpad: use C function instead of directly using syscall assemble code" -a
6070d06
%patch103 -p1 -b .unwind -Z
08375d5
	%GIT commit -m "libs_3rdparty/breakpad: workaround for arch not supporting unwind" -a
6070d06
%patch104 -p1 -b .sse -Z
08375d5
	%GIT commit -m "plugins_3rdparty/hmm2: support architecture not supporting SSE2" -a
6070d06
%patch105 -p1 -b .port -Z
08375d5
	%GIT commit -m "libs_3rdparty/breakpad: workaround for arch not ported by the upstream" -a
6070d06
%patch106 -p1 -b .sse_2 -Z
08375d5
	%GIT	commit -m "plugins/smith_waterman: support architecture not supporting SSE2" -a
6070d06
%patch107 -p1 -b .char_bigen -Z
08375d5
	%GIT	commit -m "src/corelibs/U2Core et al.: Workaround for Qt qbswap issue on Q_BIG_ENDIAN" -a
15e4458
%patch108 -p1 -b .elif -Z
15e4458
	%GIT commit -m "ugenem/src/SendReportDialog.cpp: fix wrong elif usage" -a
8e8ee86
07ffe0e
sed -i.nonfree CMakeLists.txt -e '\@add_subdirectory.*plugins_3rdparty/psipred@d'
07ffe0e
sed -i.nonfree ugene.pro -e '\@plugins_3rdparty/psipred@d'
07ffe0e
	%GIT commit -m "remove nonfree code" -a
07ffe0e
Ivan Efremov 1bc2831
%build
08375d5
%if		0%{?use_gitbare} >= 1
08375d5
cd %{name}
08375d5
%endif
Rex Dieter ec32882
%{qmake_qt5} -r \
08375d5
	PREFIX=%{_libdir}/%{name} \
524e7b2
	UGENE_EXCLUDE_LIST_ENABLED=1 \
08375d5
	UGENE_USE_SYSTEM_SQLITE=1 \
524e7b2
	UGENE_USE_BUNDLED_ZLIB=0 \
524e7b2
	UGENE_WITHOUT_NON_FREE=1 \
524e7b2
	%{nil}
524e7b2
524e7b2
%make_build -k
Ivan Efremov 1bc2831
Ivan Efremov 1bc2831
%install
08375d5
LIBAPPDIR=%{_libdir}/%{name}
08375d5
08375d5
%if		0%{?use_gitbare} >= 1
08375d5
cd %{name}
08375d5
%endif
524e7b2
make install \
524e7b2
	INSTALL_ROOT=%{buildroot} \
524e7b2
	INSTALL="install -p" \
524e7b2
	%{nil}
416e801
08375d5
# Some needed files are not installed.....
08375d5
mkdir -p %{buildroot}$LIBAPPDIR
08375d5
cp -a src/_release/* %{buildroot}$LIBAPPDIR
08375d5
rm -f %{buildroot}$LIBAPPDIR/*.a
08375d5
08375d5
# 1. manually move files...
08375d5
pushd %{buildroot}
08375d5
rm -f ./$LIBAPPDIR/LICENSE*
08375d5
08375d5
# 1-0 bindir
08375d5
mkdir -p ./%{_bindir}
ec5c12f
install -cpm 0755 %{SOURCE10} ./%{_bindir}/%{name}
08375d5
08375d5
# 1-1 data files
08375d5
mkdir -p ./%{_datadir}/%{name}/
08375d5
mv ./$LIBAPPDIR/data ./%{_datadir}/%{name}
08375d5
ln -sf ../../../%{_datadir}/%{name} ./$LIBAPPDIR/data
08375d5
08375d5
# 1-11 hicolor
24b3104
mkdir -p ./%{_datadir}/icons/hicolor/32x32/mimetypes/
24b3104
mv ./$LIBAPPDIR/application-x-ugene-ext.png ./%{_datadir}/icons/hicolor/32x32/mimetypes/
08375d5
08375d5
# 1-12 mime
08375d5
mkdir -p ./%{_datadir}/mime/packages
08375d5
mv ./$LIBAPPDIR/application-x-ugene.xml ./%{_datadir}/mime/packages
08375d5
08375d5
# 1-13 man file
08375d5
mkdir -p ./%{_mandir}/man1
08375d5
mv ./$LIBAPPDIR/%{name}.1* ./%{_mandir}/man1
08375d5
08375d5
# 1-14 desktop files
08375d5
mkdir -p ./%{_datadir}/applications/
08375d5
mv ./$LIBAPPDIR/%{name}.desktop ./%{_datadir}/applications/
08375d5
08375d5
# 1-15 icons
08375d5
mkdir -p ./%{_datadir}/pixmaps
08375d5
mv ./$LIBAPPDIR/%{name}.{png,xpm} ./%{_datadir}/pixmaps
08375d5
popd
08375d5
416e801
%check
416e801
desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop
Ivan Efremov 1bc2831
Ivan Efremov 1bc2831
%files
524e7b2
%license	LICENSE.txt
524e7b2
%license	LICENSE.3rd_party.txt
524e7b2
524e7b2
%{_bindir}/%{name}
524e7b2
524e7b2
%dir	%{_libdir}/%{name}/
524e7b2
%{_libdir}/%{name}/lib*.so
08375d5
08375d5
%dir	%{_libdir}/%{name}/plugins/
08375d5
%{_libdir}/%{name}/plugins/*.license
08375d5
%{_libdir}/%{name}/plugins/*.plugin
08375d5
%{_libdir}/%{name}/plugins/lib*.so
08375d5
08375d5
%{_libdir}/%{name}/%{name}
08375d5
%{_libdir}/%{name}/%{name}cl
08375d5
%{_libdir}/%{name}/%{name}m
08375d5
%{_libdir}/%{name}/%{name}ui
524e7b2
%{_libdir}/%{name}/plugins_checker
524e7b2
524e7b2
%dir	%{_datadir}/%{name}/
524e7b2
%{_datadir}/%{name}/data/
08375d5
%{_libdir}/%{name}/data
524e7b2
Rex Dieter ec32882
%{_datadir}/applications/%{name}.desktop
Rex Dieter ec32882
%{_datadir}/pixmaps/ugene.*
24b3104
%{_datadir}/icons/hicolor/32x32/mimetypes/application-x-ugene-ext.png
524e7b2
Rex Dieter ec32882
%{_datadir}/mime/packages/*.xml
524e7b2
%{_mandir}/man1/%{name}.1*
Ivan Efremov 1bc2831
Ivan Efremov 1bc2831
%changelog
4f79185
* Wed Jan 18 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 45.1-2
4f79185
- Header file inclusion fix for gcc13
4f79185
94d2471
* Sun Jan  1 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 45.1-1
94d2471
- A Happy New Year 45.1 release
94d2471
06a445c
* Tue Dec 20 2022 Florian Weimer <fweimer@redhat.com> - 45.0-2
06a445c
- Apply upstream patch to fix C99 compatibility issue
06a445c
a013fc9
* Sun Nov 20 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 45.0-1
a013fc9
- 45.0
a013fc9
a686200
* Sun Aug 21 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 44.0-1
a686200
- 44.0
a686200
a56a293
* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 43.0-2.1
a56a293
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
a56a293
5ae6847
* Mon Jun  6 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 43.0-1
5ae6847
- 43.0
5ae6847
6f0c938
* Wed Mar  9 2022 Mamoru TASAKA <mtasaka@fedoraproject.org> - 42.0-1
6f0c938
- 42.0
6f0c938
8dae920
* Sat Jan 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 41.0-1.1
8dae920
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
8dae920
bb8bfb7
* Sat Dec  4 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 41.0-1
bb8bfb7
- 41.0
bb8bfb7
bb8bfb7
* Wed Nov 17 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 40.1-2
4629890
- Surely remove nonfree code from tarball
4629890
bb8bfb7
* Tue Nov  9 2021 Mamoru TASAKA <mtasaka@fedoraproject.org> - 40.1-1
bb8bfb7
- 40.1
524e7b2
9bdcbcb
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 34.0-7
9bdcbcb
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
9bdcbcb
b451f9d
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 34.0-6
b451f9d
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
b451f9d
8944e80
* Mon Nov 23 07:55:33 CET 2020 Jan Grulich <jgrulich@redhat.com> - 34.0-5
8944e80
- rebuild (qt5)
8944e80
8d8abec
* Sun Oct 18 2020 Jeff Law <law@redhat.com> - 34.0-4
8d8abec
- Fix missing #includes for gcc-11
8d8abec
efaee79
* Fri Sep 11 2020 Jan Grulich <jgrulich@redhat.com> - 34.0-3
efaee79
- rebuild (qt5)
efaee79
0e36885
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 34.0-2
0e36885
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
0e36885
416e801
* Wed Apr 15 2020 Rex Dieter <rdieter@fedoraproject.org> - 34.0-1
416e801
- ugene-34.0
416e801
- update Source0 URL
416e801
- no longer uses qt5 private api (yay)
416e801
- use %%check
416e801
5259896
* Mon Apr 06 2020 Rex Dieter <rdieter@fedoraproject.org> - 33.0-13
5259896
- rebuild (qt5)
5259896
0caa750
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 33.0-12
0caa750
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
0caa750
71e917b
* Mon Dec 09 2019 Jan Grulich <jgrulich@redhat.com> - 33.0-11
71e917b
- rebuild (qt5)
71e917b
Yuliya Algaer f821391
* Sat Oct 05 2019 Yuliya Algaer <yalgaer@redhat.com> - 33.0-10
Yuliya Algaer 12ac616
- New release
Yuliya Algaer 12ac616
3a6006f
* Wed Sep 25 2019 Jan Grulich <jgrulich@redhat.com> - 1.31.1-7
3a6006f
- rebuild (qt5)
4cc3392
- workaround FTBFS using -fpermissive (#1736931)
3a6006f
48c2a53
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.31.1-6
48c2a53
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
48c2a53
dfeb2ce
* Mon Jun 17 2019 Jan Grulich <jgrulich@redhat.com> - 1.31.1-5
dfeb2ce
- rebuild (qt5)
dfeb2ce
93bf3a1
* Sun Mar 03 2019 Rex Dieter <rdieter@fedoraproject.org> - 1.31.1-4
93bf3a1
- rebuild (qt5)
93bf3a1
de72edd
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.31.1-3
de72edd
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
de72edd
d45930c
* Thu Dec 13 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.31.1-2
d45930c
- rebuild (qt5)
d45930c
Yuliya Algaer f2d955a
* Thu Oct 25 2018 Yuliya Algaer <yalgaer@fedoraproject.com> - 1.31.1-1
Yuliya Algaer f2d955a
- New upstream release
e1379a1
8e8ee86
* Fri Aug 24 2018 Yuliya Algaer <yalgaer@fedoraproject.org> - 1.31.0-6
Yuliya Algaer 93feb64
- New upstream release
Yuliya Algaer 93feb64
15cba8b
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.30.0-25
15cba8b
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
15cba8b
b3425bc
* Thu Jun 21 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.30.0-24
b3425bc
- rebuild (qt5)
b3425bc
Yuliya Algaer 259e331
* Mon Jun 11 2018 Yuliya Algaer <yalgaer@fedoraproject.org> - 1.30.0-23
Yuliya Algaer 0fe4be0
- New upstream release
Yuliya Algaer 220399d
2650026
* Sun May 27 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.29.0-7
2650026
- rebuild (qt5)
2650026
5dc3cb6
* Wed Feb 14 2018 Jan Grulich <jgrulich@redhat.com> - 1.29.0-6
5dc3cb6
- rebuild (qt5)
5dc3cb6
6a29583
* Fri Feb 09 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.29.0-5
6a29583
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
6a29583
a09ae65
* Thu Jan 18 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.29.0-4
a09ae65
- Remove obsolete scriptlets
a09ae65
Kevin Kofler 16ba124
* Tue Jan 02 2018 Kevin Kofler <Kevin@tigcc.ticalc.org> - 1.29.0-3
Kevin Kofler 16ba124
- Fix FTBFS with Qt 5.10
Kevin Kofler 16ba124
1088b10
* Mon Jan 01 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.29.0-2
1088b10
- rebuild (qt5)
1088b10
Yuliya Algaer 43452c4
* Sun Dec 31 2017 Yuliya Algaer <yalgaer@fedoraproject.org> - 1.29.0-1
Yuliya Algaer 43452c4
- New upstream release.
Yuliya Algaer 43452c4
c1ecdfc
* Wed Dec 20 2017 Jan Grulich <jgrulich@redhat.com> - 1.28.1-3
c1ecdfc
- rebuild (qt5)
c1ecdfc
98409e1
* Mon Nov 27 2017 Rex Dieter <rdieter@fedoraproject.org> - 1.28.1-2
98409e1
- rebuild (qt5)
98409e1
Yuliya Algaer 70c69d9
* Tue Nov 21 2017 Yuliya Algaer <yalgaer@fedoraproject.org> - 1.28.1-1
Yuliya Algaer 70c69d9
- New upstream release.
Yuliya Algaer 70c69d9
131e360
* Tue Oct 10 2017 Rex Dieter <rdieter@fedoraproject.org> - 1.27.0-8
131e360
- rebuild (qt5)
131e360
Yuliya Algaer ccc1421
* Mon Aug 28 2017 Yuliya Algaer <yalgaer@fedoraproject.org> - 1.27.0-7
Yuliya Algaer 194fabf
- New upstream release
Yuliya Algaer 194fabf
2836f70
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.26.3-4
2836f70
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild