diff --git a/sources b/sources index e17d906..71fc8d4 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ugene-free-53.1.tar.gz) = 5d2a1d9fac81a14fd7916c33223704aaaedfc29bd39086561202766f87cebbc7739775eccabe6a789a2381e14384bd7f8f4f7a9dfde334811190fe47dbbcc455 +SHA512 (ugene-free-52.1.tar.gz) = 649318573922d989b1c689c8d8dbf7936500f136254e7c05ae0ef361a645b1df10e6593129a0203f79321257f90aa53da9c6974ec8d23206fcbd96e9f41e601a diff --git a/ugene-47.x-has-sse-i686.patch b/ugene-47.x-has-sse-i686.patch new file mode 100644 index 0000000..e65a89d --- /dev/null +++ b/ugene-47.x-has-sse-i686.patch @@ -0,0 +1,10 @@ +--- ugene-47.x/src/ugene_globals.pri.i386 2023-07-20 19:37:10.106204731 +0900 ++++ ugene-47.x/src/ugene_globals.pri 2023-07-20 22:31:43.266627766 +0900 +@@ -168,6 +168,7 @@ defineTest( target_platform_has_sse ) { + contains(QMAKE_TARGET.arch, x86_64) : return (true) + # This check works on Linux & Mac. + contains(QMAKE_HOST.arch, x86_64) : return (true) ++ contains(QMAKE_HOST.arch, i686) : return (true) + return (false) + } + diff --git a/ugene-51.0-c23-function-proto.patch b/ugene-51.0-c23-function-proto.patch new file mode 100644 index 0000000..8eece07 --- /dev/null +++ b/ugene-51.0-c23-function-proto.patch @@ -0,0 +1,11 @@ +--- ugene-51.0/src/plugins_3rdparty/primer3/src/primer3_core/read_boulder.c.debug 2024-09-22 03:28:25.000000000 +0900 ++++ ugene-51.0/src/plugins_3rdparty/primer3/src/primer3_core/read_boulder.c 2025-01-17 18:49:24.635201074 +0900 +@@ -104,7 +104,7 @@ static const char *pr_program_name = "TM + * undeclared functions; only those with non-int return types.) + */ + #ifndef __cplusplus +-extern double strtod(); ++extern double strtod(const char *, char **); + #endif + + /* diff --git a/ugene-52.1.x-QObject-connect-overload.patch b/ugene-52.1.x-QObject-connect-overload.patch deleted file mode 100644 index 683949c..0000000 --- a/ugene-52.1.x-QObject-connect-overload.patch +++ /dev/null @@ -1,26 +0,0 @@ -diff --git a/src/corelibs/U2Gui/src/util/RegionSelectorController.cpp b/src/corelibs/U2Gui/src/util/RegionSelectorController.cpp -index 0b7076cf5..d5f6b7304 100644 ---- a/src/corelibs/U2Gui/src/util/RegionSelectorController.cpp -+++ b/src/corelibs/U2Gui/src/util/RegionSelectorController.cpp -@@ -337,7 +337,7 @@ void RegionSelectorController::connectSlots() { - - connect(gui.startLineEdit, &QLineEdit::textEdited, this, &RegionSelectorController::sl_onRegionChanged); - connect(gui.endLineEdit, &QLineEdit::textEdited, this, &RegionSelectorController::sl_onRegionChanged); -- connect(gui.presetsComboBox, &QComboBox::activated, this, &RegionSelectorController::sl_onPresetChanged); -+ connect(gui.presetsComboBox, QOverload::of(&QComboBox::activated), this, &RegionSelectorController::sl_onPresetChanged); - - if (settings.selection != nullptr) { - connect(settings.selection, SIGNAL(si_onSelectionChanged(GSelection*)), SLOT(sl_onSelectionChanged(GSelection*))); -diff --git a/src/corelibs/U2View/src/ov_sequence/find_pattern/FindPatternWidget.cpp b/src/corelibs/U2View/src/ov_sequence/find_pattern/FindPatternWidget.cpp -index 531d21d1d..89a2314b4 100644 ---- a/src/corelibs/U2View/src/ov_sequence/find_pattern/FindPatternWidget.cpp -+++ b/src/corelibs/U2View/src/ov_sequence/find_pattern/FindPatternWidget.cpp -@@ -485,7 +485,7 @@ void FindPatternWidget::connectSlots() { - connect(annotatedDnaView->getActiveSequenceContext()->getSequenceObject(), SIGNAL(si_sequenceChanged()), this, SLOT(sl_onSequenceModified())); - - connect(loadFromFileToolButton, SIGNAL(clicked()), SLOT(sl_onFileSelectorClicked())); -- connect(patternSelectorBG, &QButtonGroup::buttonToggled, this, &FindPatternWidget::sl_onFileSelectorToggled); -+ connect(patternSelectorBG, QOverload::of(&QButtonGroup::buttonToggled), this, &FindPatternWidget::sl_onFileSelectorToggled); - - usePatternFromTextEditRadioButton->setChecked(true); - updatePatternSourceControlsUiState(); diff --git a/ugene-52.x-s390x-platform-macro.patch b/ugene-52.x-s390x-platform-macro.patch deleted file mode 100644 index 72ca2de..0000000 --- a/ugene-52.x-s390x-platform-macro.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/src/libs_3rdparty/qtscript/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h b/src/libs_3rdparty/qtscript/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h -index a4695a261..ec063f1ee 100644 ---- a/src/libs_3rdparty/qtscript/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h -+++ b/src/libs_3rdparty/qtscript/3rdparty/javascriptcore/JavaScriptCore/wtf/Platform.h -@@ -407,6 +407,13 @@ - #define WTF_CPU_RISCV32 1 - #endif - -+/* CPU(IBM z system) */ -+#if defined(__s390x__) || defined(__s390__) -+#define WTF_CPU_S390X 1 -+#define WTF_CPU_BIG_ENDIAN 1 -+#endif -+ -+ - /* ==== OS() - underlying operating system; only to be used for mandated low-level services like - virtual memory, not to choose a GUI toolkit ==== */ - -@@ -960,6 +967,8 @@ - #if !defined(WTF_USE_JSVALUE64) && !defined(WTF_USE_JSVALUE32) && !defined(WTF_USE_JSVALUE32_64) - #if (CPU(X86_64) && !CPU(X32) && (OS(UNIX) || OS(WINDOWS) || OS(SOLARIS) || OS(HPUX))) || (CPU(IA64) && !CPU(IA64_32)) || CPU(ALPHA) || CPU(AIX64) || CPU(SPARC64) || CPU(MIPS64) || CPU(AARCH64) || CPU(RISCV64) - #define WTF_USE_JSVALUE64 1 -+#elif (CPU(S390X)) -+#define WTF_USE_JSVALUE64 1 - #elif CPU(ARM) || CPU(PPC64) || CPU(RISCV32) - #define WTF_USE_JSVALUE32 1 - #elif OS(WINDOWS) && COMPILER(MINGW) diff --git a/ugene.spec b/ugene.spec index 7332607..ff43dd7 100644 --- a/ugene.spec +++ b/ugene.spec @@ -2,10 +2,10 @@ %if 0%{?use_release_branch} < 1 # master -%global gitdate 20260228 -%global gitcommit 77338a76808d0e1b36461a94d16f0a45c83b64e9 +%global gitdate 20250428 +%global gitcommit ea4503585b90105e7e938557122cbc43bcd8c815 # New git commit with non-free part removed using "git filter-branch" -%global gitcommit_free 6812b00935495786e28ebe901bfb8304dbee457c +%global gitcommit_free 6efa8bdfb69a0a945d7f434a81d24f9c97a658e7 %else # currently 41.0 branch %global gitdate 20250313 @@ -18,8 +18,8 @@ %global shortcommit %(c=%{gitcommit}; echo ${c:0:7}) %global git_version %{gitdate}git%{shortcommit} -%global tarballdate 20260301 -%global tarballtime 1637 +%global tarballdate 20250430 +%global tarballtime 1705 %global use_release 1 %global use_gitbare 0 @@ -35,7 +35,7 @@ %global GIT git %endif -%global mainver 53.1 +%global mainver 52.1 %undefine prever %if 0%{?use_release} >= 1 @@ -72,7 +72,7 @@ Source2: create-%{name}-git-bare-tarball.sh # This is not installed Source10: ugene.wrapper Patch1: ugene-49.1-narrowing-for-unsigned-char.patch -Patch3: ugene-52.1.x-QObject-connect-overload.patch +Patch2: ugene-51.0-c23-function-proto.patch # Currently distro-specific Patch102: ugene-44.x-libs_3rdparty-breakpad-sys_mmap_use_system_mmap.patch Patch103: ugene-40.1-libs_3rdparty-breakpad-unwind-nonsupported-arch.patch @@ -80,8 +80,8 @@ Patch104: ugene-47.x-plugins_3rdparty-hmm2-nosse-arch.patch Patch105: ugene-40.1-libs_3rdparty-breakpad-arch-port.patch Patch106: ugene-47.x-git-plgins-smith_waterman-nonsse2-arch.patch Patch107: ugene-40.1-qbswap-bigendian-workaround.patch +Patch108: ugene-47.x-has-sse-i686.patch Patch109: ugene-50.x-aarch64-neon-impl-not-yet.patch -Patch110: ugene-52.x-s390x-platform-macro.patch BuildRequires: make BuildRequires: gcc-c++ @@ -93,7 +93,6 @@ BuildRequires: %{_bindir}/git BuildRequires: cmake(Qt5Core) BuildRequires: cmake(Qt5Gui) -BuildRequires: cmake(Qt5LinguistTools) BuildRequires: cmake(Qt5Network) BuildRequires: cmake(Qt5NetworkAuth) BuildRequires: cmake(Qt5PrintSupport) @@ -124,6 +123,8 @@ is a designer for custom bioinformatics workflows. %prep %if 0%{?use_release} >= 1 %setup -q +# Umm... +sed -i.desktop ugene.pri -e '\@desktop@s|etc/share/|etc/shared/|' %endif %if 0%{?use_gitbare} >= 1 @@ -138,8 +139,8 @@ git config user.email "%{name}-maintainers@fedoraproject.org" %endif %patch -P1 -p1 -b .narrow %GIT commit -m "Fix narrowing on arch where default char is unsigned" -a -%patch -P3 -p1 -b .include - %GIT commit -m "RegionSelectorController: specify overloaded function" -a +%patch -P2 -p1 -b .c23 + %GIT commit -m "Fix for C23 strict function prototype" -a %patch -P102 -p1 -b .sys_mmap -Z %GIT commit -m "libs_3rdparty/breakpad: use C function instead of directly using syscall assemble code" -a %patch -P103 -p1 -b .unwind -Z @@ -152,111 +153,85 @@ git config user.email "%{name}-maintainers@fedoraproject.org" %GIT commit -m "plugins/smith_waterman: support architecture not supporting SSE2" -a %patch -P107 -p1 -b .char_bigen -Z %GIT commit -m "src/corelibs/U2Core et al.: Workaround for Qt qbswap issue on Q_BIG_ENDIAN" -a +%patch -P108 -p1 -b .sse_i686 -Z + %GIT commit -m "ugene_globals.pri: tell sse2 available also on i686" -a %if 1 %patch -P109 -p1 -b .neon -Z %GIT commit -m "neon impl not yet available" -a %endif -%patch -P110 -p1 -b .s390x_macro -Z - %GIT commit -m "define s390x related macro" -a - -# Kill system-provided 3rd-party libs -sed -i CMakeLists.txt \ - -e '\@add_subdirectory.*libs_3rdparty/sqlite3@d' \ - -e '\@add_subdirectory.*libs_3rdparty/zlib@d' \ - %{nil} -rm -rf src/libs_3rdparty/{sqlite3,zlib} -rm -rf src/include/3rdparty/{sqlite3,zlib} - %GIT rm -r -f src/libs_3rdparty/{sqlite3,zlib} || true - %GIT rm -r -f src/include/3rdparty/{sqlite3,zlib} || true - %GIT commit -m "kill system-provided 3rd-party libs" -a -grep -rl --exclude-dir=.git 3rdparty/zlib/zlib.h . | \ - xargs sed -i 's|3rdparty/zlib/zlib.h|zlib.h|' -grep -rl --exclude-dir=.git 3rdparty/sqlite3/sqlite3.h . | \ - xargs sed -i 's|3rdparty/sqlite3/sqlite3.h|sqlite3.h|' -find . -name CMakeLists.txt | \ - xargs sed -i \ - -e 's|zlib|z|' \ - -e 's|ugenedb|sqlite3|' \ - %{nil} - %GIT commit -m "fix system provided header path" -a sed -i.nonfree CMakeLists.txt -e '\@add_subdirectory.*plugins_3rdparty/psipred@d' +sed -i.nonfree ugene.pro -e '\@plugins_3rdparty/psipred@d' %GIT commit -m "remove nonfree code" -a -# Remove -Werror -sed -i CMakeLists.txt -e '\@" -Werror=@d' - %GIT commit -m "remove -Werror" -a - -# Enable some deprecated API -sed -i CMakeLists.txt -e '\@QT_DISABLE_DEPRECATED_BEFORE=@s|0x050F00|0x050000|' - %GIT commit -m "enable some deprecated API" -a +# Workaround +sed -i src/ugene_globals.pri \ + -e '\@DEFINES.=UGENE_VERSION=@i DEFINES+=U2_APP_VERSION=\$\${UGENE_VERSION}' + %GIT commit -m "set U2_APP_VERSION as a workaround" -a %build %if 0%{?use_gitbare} >= 1 cd %{name} %endif -export QT_DIR=%{_libdir}/qt5 -export LD_LIBRARY_PATH=$(pwd)/%{_vpath_builddir}/dist - -%cmake \ - -DCMAKE_SKIP_RPATH=TRUE \ +%{qmake_qt5} -r \ + PREFIX=%{_libdir}/%{name} \ + UGENE_EXCLUDE_LIST_ENABLED=1 \ + UGENE_USE_SYSTEM_SQLITE=1 \ + UGENE_USE_BUNDLED_ZLIB=0 \ + UGENE_WITHOUT_NON_FREE=1 \ %{nil} -%cmake_build + +%make_build -k %install +LIBAPPDIR=%{_libdir}/%{name} + %if 0%{?use_gitbare} >= 1 cd %{name} %endif +make install \ + INSTALL_ROOT=%{buildroot} \ + INSTALL="install -p" \ + %{nil} -%cmake_install +# Some needed files are not installed..... +mkdir -p %{buildroot}$LIBAPPDIR +cp -a src/_release/* %{buildroot}$LIBAPPDIR +rm -f %{buildroot}$LIBAPPDIR/*.a -# Install all files manually... -# 0. Documents -cp -a \ - LICENSE.3rd_party.txt \ - LICENSE.txt \ - .. - -pushd %_vpath_builddir +# 1. manually move files... +pushd %{buildroot} +rm -f ./$LIBAPPDIR/LICENSE* # 1-0 bindir -mkdir -p %{buildroot}%{_bindir} -install -cpm 0755 %{SOURCE10} %{buildroot}%{_bindir}/%{name} +mkdir -p ./%{_bindir} +install -cpm 0755 %{SOURCE10} ./%{_bindir}/%{name} -# 1-1 libraries -mkdir -p %{buildroot}%{_libdir}/%{name} -cp -a dist/* %{buildroot}%{_libdir}/%{name}/ -rm -f %{buildroot}%{_libdir}/%{name}/*.a +# 1-1 data files +mkdir -p ./%{_datadir}/%{name}/ +mv ./$LIBAPPDIR/data ./%{_datadir}/%{name} +ln -sf ../../..%{_datadir}/%{name}/data ./$LIBAPPDIR/data -# Back to the top directory -popd - -# 1-2 data files -mkdir -p %{buildroot}%{_datadir}/%{name}/ -cp -a data %{buildroot}%{_datadir}/%{name} -ln -sf ../../../%{_datadir}/%{name}/data %{buildroot}%{_libdir}/%{name}/data - -pushd ./etc/shared # 1-11 hicolor -mkdir -p %{buildroot}%{_datadir}/icons/hicolor/32x32/mimetypes/ -cp -p application-x-ugene-ext.png %{buildroot}/%{_datadir}/icons/hicolor/32x32/mimetypes/ +mkdir -p ./%{_datadir}/icons/hicolor/32x32/mimetypes/ +mv ./$LIBAPPDIR/application-x-ugene-ext.png ./%{_datadir}/icons/hicolor/32x32/mimetypes/ # 1-12 mime -mkdir -p %{buildroot}%{_datadir}/mime/packages -cp -p application-x-ugene.xml %{buildroot}/%{_datadir}/mime/packages +mkdir -p ./%{_datadir}/mime/packages +mv ./$LIBAPPDIR/application-x-ugene.xml ./%{_datadir}/mime/packages # 1-13 man file -mkdir -p %{buildroot}%{_mandir}/man1 -cp -p %{name}.1* %{buildroot}/%{_mandir}/man1 +mkdir -p ./%{_mandir}/man1 +mv ./$LIBAPPDIR/%{name}.1* ./%{_mandir}/man1 # 1-14 desktop files -mkdir -p %{buildroot}%{_datadir}/applications/ -cp -p %{name}.desktop %{buildroot}/%{_datadir}/applications/ +mkdir -p ./%{_datadir}/applications/ +mv ./$LIBAPPDIR/%{name}.desktop ./%{_datadir}/applications/ # 1-15 icons -mkdir -p %{buildroot}%{_datadir}/pixmaps -cp -p %{name}.{png,xpm} %{buildroot}%{_datadir}/pixmaps +mkdir -p ./%{_datadir}/pixmaps +mv ./$LIBAPPDIR/%{name}.{png,xpm} ./%{_datadir}/pixmaps popd %check @@ -276,8 +251,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_libdir}/%{name}/plugins/*.plugin %{_libdir}/%{name}/plugins/lib*.so -%{_libdir}/%{name}/transl_*.qm - %{_libdir}/%{name}/%{name} %{_libdir}/%{name}/%{name}cl %{_libdir}/%{name}/%{name}m @@ -296,21 +269,6 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/%{name}.desktop %{_mandir}/man1/%{name}.1* %changelog -* Fri Jul 17 2026 Fedora Release Engineering - 53.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild - -* Wed Mar 04 2026 Mamoru TASAKA - 53.1-1 -- 53.1 - -* Tue Jan 20 2026 Fedora Release Engineering - 53.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild - -* Sun Nov 30 2025 Mamoru TASAKA - 53.0-1 -- 53.0 - -* Fri Jul 25 2025 Fedora Release Engineering - 52.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - * Fri Jul 18 2025 Mamoru TASAKA - 52.1-2 - Fix data files symlink