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