ac26cee
%global _terminals gnome-terminal mate-terminal xfce4-terminal lxterminal qterminal qterminal-qt5 terminology yakuake fourterm roxterm lilyterm termit xterm mrxvt
a861d7b
%global repo deepin-terminal
a861d7b
%global libname terminalwidget5
ac26cee
7119fbf
Name:           deepin-terminal
fd33a42
Version:        5.4.13
8fdfb81
Release:        %autorelease
7119fbf
Summary:        Default terminal emulation application for Deepin
7119fbf
License:        GPLv3
a861d7b
URL:            https://github.com/linuxdeepin/%{repo}
7119fbf
Source0:        %{url}/archive/%{version}/%{name}-%{version}.tar.gz
7119fbf
7119fbf
BuildRequires:  cmake
50f4e7c
BuildRequires:  gcc-c++
a861d7b
BuildRequires:  pkgconfig(Qt5Core)
a861d7b
BuildRequires:  pkgconfig(dtkwidget)
a861d7b
BuildRequires:  pkgconfig(lxqt) >= 0.14.0
a861d7b
BuildRequires:  pkgconfig(gobject-2.0)
a861d7b
BuildRequires:  pkgconfig(atspi-2)
a861d7b
BuildRequires:  pkgconfig(dframeworkdbus)
b29de3d
BuildRequires:  pkgconfig(libsecret-1)
fd33a42
BuildRequires:  pkgconfig(xcb-ewmh)
9fd53c3
BuildRequires:  gtest-devel
9fd53c3
BuildRequires:  gmock-devel
a861d7b
BuildRequires:  qt5-qtbase-private-devel
a861d7b
%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
a861d7b
BuildRequires:  qt5-linguist
a861d7b
Requires:       deepin-qt5integration%{?_isa}
7119fbf
# right-click menu style
7119fbf
Requires:       deepin-menu
a861d7b
# subprocess command
7119fbf
Requires:       deepin-shortcut-viewer
7119fbf
Requires:       expect
7119fbf
Requires:       xdg-utils
7119fbf
Recommends:     deepin-manual
be4ee51
Recommends:     zssh
7119fbf
Requires:       %{name}-data = %{version}-%{release}
7119fbf
7119fbf
%description
d2706bd
%{summary}.
7119fbf
a861d7b
%package devel
a861d7b
Summary:        Development package for %{name}
a861d7b
Requires:       %{name}%{?_isa} = %{version}-%{release}
a861d7b
a861d7b
%description devel
a861d7b
Header files and libraries for %{name}.
a861d7b
7119fbf
%package data
7119fbf
Summary:        Data files of Deepin Terminal
7119fbf
BuildArch:      noarch
7119fbf
Requires:       hicolor-icon-theme
7119fbf
7119fbf
%description data
7119fbf
The %{name}-data package provides shared data for Deepin Terminal.
7119fbf
7119fbf
%prep
a861d7b
%autosetup -p1 -n %{repo}-%{version}
a861d7b
# don't hard code -fPIE
a861d7b
sed -i 's/-fPIE//' CMakeLists.txt
a861d7b
# fix error: 'QString::QString(const char*)' is private within this context
a861d7b
sed -i '/LXQtCompilerSettings/a remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII)' 3rdparty/terminalwidget/CMakeLists.txt
7119fbf
7119fbf
%build
a861d7b
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo
c2d5bc4
%cmake_build
7119fbf
7119fbf
%install
c2d5bc4
%cmake_install
a861d7b
chmod -v 755 %{buildroot}%{_bindir}/*
a861d7b
# delete a stale file
a861d7b
find %{buildroot} -name install_flag -delete
7119fbf
a861d7b
%check
a861d7b
# failing for now
a861d7b
desktop-file-validate %{buildroot}%{_datadir}/applications/%{repo}.desktop ||:
7119fbf
7119fbf
%preun
7119fbf
if [ $1 -eq 0 ]; then
7119fbf
  %{_sbindir}/alternatives --remove x-terminal-emulator %{_bindir}/%{name}
7119fbf
fi
7119fbf
7119fbf
%post
7119fbf
if [ $1 -ge 1 ]; then
7119fbf
  %{_sbindir}/alternatives --install %{_bindir}/x-terminal-emulator \
7119fbf
    x-terminal-emulator %{_bindir}/%{name} 20
7119fbf
fi
7119fbf
ac26cee
%triggerin -- konsole5 %_terminals
ac26cee
if [ $1 -ge 1 ]; then
ac26cee
  PRI=20
ac26cee
  for i in konsole %{_terminals}; do
ac26cee
    PRI=$((PRI-1))
ac26cee
    test -x %{_bindir}/$i && \
ac26cee
    %{_sbindir}/alternatives --install %{_bindir}/x-terminal-emulator \
ac26cee
      x-terminal-emulator %{_bindir}/$i $PRI &>/dev/null ||:
ac26cee
  done
ac26cee
fi
ac26cee
ac26cee
%triggerpostun -- konsole5 %_terminals
ac26cee
if [ $2 -eq 0 ]; then
ac26cee
  for i in konsole %{_terminals}; do
ac26cee
    test -x %{_bindir}/$i || \
ac26cee
    %{_sbindir}/alternatives --remove x-terminal-emulator %{_bindir}/$i &>/dev/null ||:
ac26cee
  done
ac26cee
fi
ac26cee
7119fbf
%files
7119fbf
%{_bindir}/%{name}
a861d7b
%{_libdir}/lib%{libname}.so.0*
a861d7b
%{_datadir}/applications/%{name}.desktop
7119fbf
a861d7b
%files devel
a861d7b
%{_includedir}/%{libname}/
a861d7b
%{_libdir}/lib%{libname}.so
a861d7b
%{_libdir}/pkgconfig/%{libname}.pc
a861d7b
%{_libdir}/cmake/%{libname}/
a861d7b
a861d7b
%files data
a861d7b
%doc README.md
a861d7b
%license LICENSE
7119fbf
%{_datadir}/%{name}/
a861d7b
%{_datadir}/%{libname}/
7119fbf
%{_datadir}/icons/hicolor/*/apps/%{name}*
e1584c1
%{_datadir}/deepin-manual/
7119fbf
7119fbf
%changelog
8fdfb81
%autochangelog