diff --git a/gnome-commander.spec b/gnome-commander.spec index 19979f7..4dbf06e 100644 --- a/gnome-commander.spec +++ b/gnome-commander.spec @@ -2,12 +2,15 @@ %undefine _strict_symbol_defs_build %global EXIV2_REQ 0.14 -%global GLIB_REQ 2.70.0 -%global LIBGSF_REQ 1.14.26 -%global POPPLER_REQ 0.18 +%global GLIB_REQ 2.44.0 +%global LIBGSF_REQ 1.12.0 +%global POPPLER_REQ 0.8 %global TAGLIB_REQ 1.4 -%global UNIQUE_REQ 0.9.3 +%global mimeedit_rev 1958 + +%global use_autotool 0 +%global update_po 0 %global if_pre 0 %global use_gcc_strict_sanitize 0 @@ -26,41 +29,51 @@ %endif %if 0%{?use_gitbare} -%global gittardate 20240721 -%global gittartime 1636 -%global gitbaredate 20240719 -%global git_rev 95c732e0bda821f4b1eb437d2bc175acd268c9c6 +%global gittardate 20220113 +%global gittartime 1526 +%global gitbaredate 20220109 +%global git_rev fed9ef1a44cd01b6c1dfb231795e07f5f067de57 %global git_short %(echo %{git_rev} | cut -c-8) -%global git_version %{gitbaredate}git%{git_short} +%global git_version D%{gitbaredate}git%{git_short} %global if_pre 1 -%global clamp_mtime_to_source_date_epoch 0 %endif -%global shortver 1.18 -%global fullver %{shortver}.4 +%global shortver 1.14 +%global fullver %{shortver}.3 +%global mainrel 1 %if 0%{?use_release} >= 1 -%global fedoraver %{fullver} +%global fedorarel %{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}} %endif %if 0%{?use_gitbare} >= 1 -%global fedoraver %{fullver}%{?if_pre:~}%{!?if_pre:^}%{git_version} +%global fedorarel %{mainrel}.%{git_version} %endif +%if 0%{?if_pre} > 0 +%global use_autotool 1 +%endif +%if 0%{?use_autotool} < 1 +%global update_po 0 +%endif + +# Patch1 updates configure.in +%global use_autotool 1 + +# Autotool seems still needed to avoid build failure +# under doc/ diretory, need investigating +%global use_autotool 1 + Name: gnome-commander # Downgrade 3 times, sorry... Epoch: 4 -Version: %{fedoraver} -Release: 1%{?dist}%{flagrel} +Version: %{fullver} +Release: %{fedorarel}%{flagrel}%{?dist} Summary: A nice and fast file manager for the GNOME desktop Summary(pl): Menadżer plików dla GNOME oparty o Norton Commander'a (TM) Summary(sv): GNOME Commander är en snabb och smidig filhanderare för GNOME -# Overall GPL-2.0-or-later -# data/org.gnome.gnome-commander.appdata.xml.in CC0-1.0 -# doc/C/legal.xml GFDL-1.1-or-later -# SPDX confirmed -License: GPL-2.0-or-later AND GFDL-1.1-or-later AND CC0-1.0 +License: GPLv2+ URL: http://gcmd.github.io/ %if 0%{?use_release} Source0: http://ftp.gnome.org/pub/GNOME/sources/%{name}/%{shortver}/%{name}-%{version}%{?extratag:-%extratag}.tar.xz @@ -71,6 +84,7 @@ Source0: %{name}-%{gittardate}T%{gittartime}.tar.gz Source1: gnome-commander.sh # Source0 is created from Source2 Source2: create-gcmd-git-bare-tarball.sh +Source10: mimeedit-svn%{mimeedit_rev}.sh Patch1: gnome-commander-1.6.0-path-fedora-specific.patch BuildRequires: gcc-c++ @@ -86,34 +100,36 @@ BuildRequires: intltool BuildRequires: pkgconfig(exiv2) >= %{EXIV2_REQ} BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(glib-2.0) -BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(gnome-vfs-2.0) BuildRequires: pkgconfig(libgsf-1) >= %{LIBGSF_REQ} BuildRequires: pkgconfig(poppler-glib) >= %{POPPLER_REQ} BuildRequires: pkgconfig(taglib) >= %{TAGLIB_REQ} -BuildRequires: pkgconfig(unique-1.0) >= %{UNIQUE_REQ} +BuildRequires: pkgconfig(unique-1.0) BuildRequires: libICE-devel BuildRequires: libSM-devel -BuildRequires: meson +BuildRequires: gnome-doc-utils +BuildRequires: perl(XML::Parser) + +%if %{use_autotool} +BuildRequires: automake BuildRequires: flex BuildRequires: intltool -BuildRequires: yelp-tools - -BuildRequires: /usr/bin/git -BuildRequires: /usr/bin/appstream-util +BuildRequires: libtool +BuildRequires: gnome-common +%endif +BuildRequires: make +BuildRequires: %{_bindir}/git +BuildRequires: %{_bindir}/appstream-util # %%check -BuildRequires: xorg-x11-server-Xvfb -BuildRequires: pkgconfig(gtest) +BuildRequires: gtest-devel +Requires: gnome-vfs2-smb Requires: meld Requires: gnome-icon-theme-legacy -%if 0%{?fedora} >= 41 -BuildRequires: gdk-pixbuf2-modules-extra -Requires: gdk-pixbuf2-modules-extra%{?_isa} -%endif %description GNOME Commander is a nice and fast file manager for the GNOME desktop. @@ -151,22 +167,11 @@ git init %endif %if 0%{?use_gitbare} -%setup -q -c -n %{name}-%{fullver}-%{git_version} -T -a 0 +%setup -q -c -T -a 0 git clone ./%{name}.git/ cd %{name} -git checkout -b %{fullver}-fedora %{git_rev} - -# Restore timestamps -set +x -echo "Restore timestamps" -git ls-tree -r --name-only HEAD | while read f -do - unixtime=$(git log -n 1 --pretty='%ct' -- $f) - touch -d "@${unixtime}" $f -done -set -x - +git checkout -b %{version}-fedora %{git_rev} cp -a [A-Z]* .. cp -a doc .. @@ -182,30 +187,46 @@ done %endif git config user.name "%{name} Fedora maintainer" -git config user.email "%{name}-maintainer@fedoraproject.org" +git config user.email "%{name}-owner@fedoraproject.org" %if 0%{?use_release} +cat > .gitignore < 0 +( export NOCONFIGURE=1 ; sh autogen.sh ) +%endif -# Don't install unneeded files -sed -i doc/meson.build \ - -e '\@install_data@,\@^)$@s|^\(.*\)$|# \1|' \ - %{nil} -git commit -m "Don't install header files, static archives, documentation" -a +%{__sed} -i.pylib \ + -e 's|\$PY_EXEC_PREFIX/lib|%{_libdir}|' \ + configure %if 0%{?use_gitbare} pushd .. @@ -214,11 +235,16 @@ pushd .. # gzip #gzip -9 ChangeLog-* +mkdir TMPBINDIR +cd TMPBINDIR +ln -sf /bin/true ./update-mime-database + %if 0%{?use_gitbare} popd %endif %build +export PATH=$(pwd)/TMPBINDIR:$PATH export BUILD_TOP_DIR=$(pwd) %set_build_flags @@ -233,27 +259,86 @@ pushd %{name} # Install wrapper script, and move binaries to # %%{_libexecdir}/%%{name} -%meson \ +mkdir _builddir || : + +# For debuginfo issue +find . -name \*.cc | while read f +do + dirn=$(dirname $f) + %{__cat} $f | %{__sed} -n -e 's|^#line.*[ \t][ \t]*\"\(.*\)"$|\1|p' | \ + sort | uniq | while read g + do + %{__mkdir_p} _builddir/$dirn + %{__cp} -p $dirn/$g _builddir/$dirn + done +done + +pushd _builddir + +ln -sf ../configure +%configure \ + --srcdir=$(pwd)/.. \ --bindir=%{_libexecdir}/%{name} \ + --disable-Werror \ + --disable-scrollkeeper \ %{nil} -%meson_build --ninja-args "-k 0" +%{__cp} -p README ${BUILD_TOP_DIR} + +%if %{update_po} +%{__make} -C po gnome-commander.pot update-po +%endif + +# First make po without _smp_mflags, so that messages +# won't be mixed up +# Second doc/, parallel make seems to fail +%{__make} -C po GMSGFMT="msgfmt --statistics" +%{__make} -C doc +%{__make} %{?_smp_mflags} -k + +popd # from _builddir %if 0%{?use_gitbare} popd %endif %install +%{__rm} -rf %{buildroot} + +export PATH=$(pwd)/TMPBINDIR:$PATH + %if 0%{?use_gitbare} pushd %{name} %endif -%meson_install +pushd _builddir +%{__make} \ + INSTALL="%{__install} -c -p" \ + DESTDIR=%{buildroot} \ + install +popd # from _builddir + +# Desktop file +desktop-file-install \ + --delete-original \ + --vendor '' \ + --remove-category Application \ + --dir %{buildroot}%{_datadir}/applications \ + %{buildroot}%{_datadir}/applications/org.gnome.%{name}.desktop # Install wrapper %{__mkdir_p} %{buildroot}%{_bindir} %{__install} -cpm 0755 %SOURCE1 %{buildroot}%{_bindir}/%{name} +# install gnome-file-types-properties (bug 458667) +%if 0 +%{__install} -cpm 0755 mimeedit.sh \ + %{buildroot}%{_libexecdir}/%{name}/gnome-file-types-properties +%endif + +%{__rm} -f %{buildroot}%{_libdir}/%{name}/*.{a,la} +%{__rm} -f %{buildroot}%{_libdir}/%{name}/*/*.{a,la} + %if 0%{?use_gitbare} popd %endif @@ -261,16 +346,15 @@ popd %find_lang %{name} %check -desktop-file-validate %{buildroot}%{_datadir}/applications/org.gnome.%{name}.desktop appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/org.gnome.%{name}.appdata.xml %if 0%{?use_gitbare} pushd %{name} %endif +pushd _builddir export ASAN_OPTIONS=detect_leaks=0 -xvfb-run sh -c \ - "%meson_test -v" +make check %if 0%{?use_gitbare} popd @@ -280,9 +364,10 @@ popd %defattr(-,root,root,-) %doc AUTHORS %doc BUGS -%license COPYING +%doc ChangeLog* +%doc COPYING %doc NEWS -%doc README.md +%doc README %doc TODO %doc doc/*.txt @@ -291,85 +376,17 @@ popd %{_libdir}/%{name}/ %{_mandir}/man1/%{name}.1* -%{_datadir}/glib-2.0/schemas/org.gnome.*xml -%dir %{_datadir}/%{name} -#%%{_datadir}/%{name}/*.txt -%{_datadir}/%{name}/icons/ - %{_datadir}/applications/org.gnome.%{name}.desktop %{_metainfodir}/org.gnome.%{name}.appdata.xml %{_datadir}/help/*/%{name}/ +%{_datadir}/glib-2.0/schemas/org.gnome.*xml -%{_datadir}/icons/hicolor/scalable/apps/%{name}*.svg +%{_datadir}/pixmaps/%{name}.svg %{_datadir}/pixmaps/%{name}/ %changelog -* Thu Oct 02 2025 Mamoru TASAKA - 4:1.18.4-1 -- 1.18.4 - -* Wed Jul 23 2025 Fedora Release Engineering - 4:1.18.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jun 26 2025 Mamoru TASAKA - 4:1.18.3-1 -- 1.18.3 - -* Mon Feb 10 2025 Mamoru TASAKA - 4:1.18.2-1 -- 1.18.2 - -* Thu Jan 16 2025 Fedora Release Engineering - 4:1.18.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sun Sep 15 2024 Mamoru TASAKA - 4:1.18.1-2 -- Require gdk-pixbuf2-modules-extra when available - -* Thu Aug 01 2024 Mamoru TASAKA - 4:1.18.1-1 -- 1.18.1 - -* Tue Jul 23 2024 Mamoru TASAKA - 4:1.18.0-2 -- Apply upstream PR for workaround for segfault with leaving tab pointing to - invalid directory - -* Mon Jul 22 2024 Mamoru TASAKA - 4:1.18.0-1 -- 0.18.0 - -* Thu Jul 18 2024 Fedora Release Engineering - 4:1.16.2-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jun 14 2024 Robert-André Mauchin - 4:1.16.2-2 -- Rebuilt for exiv2 0.28.2 - -* Mon May 20 2024 Mamoru TASAKA - 4:1.16.2-1 -- 1.16.2 - -* Thu Apr 18 2024 Mamoru TASAKA - 4:1.16.1-6 -- Fix double g_error_free call in remote_close_callback (bug 2271363) - -* Sun Jan 28 2024 Mamoru TASAKA - 4:1.16.1-5 -- SPDX migration - -* Wed Jan 24 2024 Fedora Release Engineering - 4:1.16.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 4:1.16.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jul 19 2023 Fedora Release Engineering - 4:1.16.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Mon Jul 10 2023 Mamoru TASAKA - 4:1.16.1-1 -- 1.16.1 - -* Wed Jan 25 2023 Mamoru TASAKA - 4:1.16.0-1 -- 1.16.0 - -* Thu Jan 19 2023 Fedora Release Engineering - 4:1.14.3-1.2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jul 27 2022 Mamoru TASAKA - 4:1.14.3-1.1 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - * Sun Jun 19 2022 Mamoru TASAKA - 4:1.14.3-1 - 1.14.3 diff --git a/noautobuild b/noautobuild new file mode 100644 index 0000000..02c8cc6 --- /dev/null +++ b/noautobuild @@ -0,0 +1 @@ +Check git later diff --git a/sources b/sources index d5cd8e1..b57f028 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gnome-commander-1.18.4.tar.xz) = 54966719e63a4ca6c9d24cbd1f69dbadd4ac0b7588c2cd1a34635deafcab5976d9e82fdcf6dbc0dc7f1098a25443c9eeaa2400db192b487b6d92d62f62ee23db +SHA512 (gnome-commander-1.14.3.tar.xz) = a3a89b922c23b49587d1b459760a263c886636735549c8dcd592b1ccb838838a3748ec83eb65ca8bbb62d82d4b588479a7673314d6924075b733b31318e52756