Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:aevseev
transmission
transmission.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File transmission.spec of Package transmission
%define realname transmission %define realver 4.0.5 %define srcext tar.xz %bcond_with gtk # Systems with Qt 5.x %define qt_ver 5.6 %bcond_without qt %bcond_without ninja # Common info Name: %{realname}-daemon Version: %{realver} Release: wiz%{?extraver:0.}1%{?dist} License: GPL-2.0 or GPL-3.0 and MIT Group: Productivity/Networking/File-Sharing URL: https://www.transmissionbt.com/ Summary: BitTorrent client daemon with web-interface # Install-time parameters Requires: systemd # Build-time parameters # Build Tools BuildRequires: cmake >= 3.12 %if %{with ninja} BuildRequires: ninja %endif BuildRequires: gcc-c++ pkg-config >= 0.9.0 intltool >= 0.35.0 gettext # Base requirements BuildRequires: pkgconfig(miniupnpc) >= 1.9 BuildRequires: pkgconfig(libcurl) >= 7.28.0 BuildRequires: pkgconfig(libevent) >= 2.1.0 BuildRequires: pkgconfig(openssl) >= 0.9.7 BuildRequires: zlib-devel >= 1.2.3 # Requirements for GTK-client %if %{with gtk} BuildRequires: pkgconfig(gtkmm-4.0) >= 3.24.0 BuildRequires: pkgconfig(glibmm-2.68) >= 2.60.0 BuildRequires: pkgconfig(giomm-2.68) >= 2.26.0 %endif # Requirements for QT-client %if %{with qt} BuildRequires: pkgconfig(Qt5Core) >= %{qt_ver} BuildRequires: pkgconfig(Qt5Gui) >= %{qt_ver} pkgconfig(Qt5Widgets) >= %{qt_ver} BuildRequires: pkgconfig(Qt5Network) >= %{qt_ver} BuildRequires: pkgconfig(Qt5Svg) >= %{qt_ver} BuildRequires: pkgconfig(Qt5DBus) >= %{qt_ver} %if 0%{?suse_version} BuildRequires: libqt5-linguist-devel >= %{qt_ver} %else BuildRequires: qt5-linguist >= %{qt_ver} %endif %endif # Requirements for web BuildRequires: npm >= 8.1.307 %if 0%{?suse_version} BuildRequires: update-desktop-files %endif BuildRequires: systemd-devel BuildRoot: %{_tmppath}/%{name}-root Source0: https://github.com/transmission/transmission/releases/download/%{realver}/%{realname}-%{realver}%{?extraver}.%{srcext} Source11: node_modules.tar.xz %description Transmission is a fast, easy, and free BitTorrent client. This package contains daemon verion with web interface. %package -n %{realname}-cli Group: Productivity/Networking/File-Sharing Summary: BitTorrent command-line client %description -n %{realname}-cli Transmission is a fast, easy, and free BitTorrent client. This package contains command-line client. %package -n %{realname}-utils Group: Productivity/Networking/File-Sharing Summary: Command-line utilities for dealing with torrent-files %description -n %{realname}-utils Transmission is a fast, easy, and free BitTorrent client. This package contains command-line utilities for dealing with torrent-files: * transmission-create - command-line utility to create .torrent files * transmission-show - command-line utility to show .torrent file metadata * transmission-edit - command-line utility to modify .torrent files' announce URLs %if %{with gtk} %package -n %{realname}-gtk Group: Productivity/Networking/File-Sharing Summary: BitTorrent client with GTK2 interface %description -n %{realname}-gtk Transmission is a fast, easy, and free BitTorrent client. This package contains GTK2 client. %package -n %{realname}-gtk-lang Group: System/Localization Summary: Languages for package %{realname}-gtk # RH builds all packages for that architecture %if 0%{?suse_version} BuildArch: noarch %endif %description -n %{realname}-gtk-lang Provides translations to the package %{realname}-gtk %endif %if %{with qt} %package -n %{realname}-qt Group: Productivity/Networking/File-Sharing Summary: BitTorrent client with Qt4 interface %description -n %{realname}-qt Transmission is a fast, easy, and free BitTorrent client. This package contains Qt4 client. %endif # Preparation step (unpackung and patching if necessary) %prep %setup -q -n %{realname}-%{realver}%{?extraver} -a11 %{__sed} -i '/pt_PT/d' po/CMakeLists.txt %{__sed} -i '/qt5_add_translation/d' cmake/TrMacros.cmake %{__sed} -i '/TorrentModel.h/ a#include <cassert>' qt/TorrentModel.cc %{__sed} -i '/COMMAND/ s/ ci / i /' web/CMakeLists.txt %build _CFLAGS='%{optflags} %{?gcc_lto}' _CXXFLAGS='%{optflags} %{?gcc_lto}' _LDFLAGS='-Wl,--as-needed -Wl,--strip-all -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-z,now -Wl,-z,relro %{?gcc_lto}' mkdir -p build/web mv web/node_modules build/web/ cmake -S . -B build \ %if %{with ninja} -G Ninja \ %endif -DCMAKE_INSTALL_PREFIX=%{_prefix} \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_C_FLAGS_RELEASE="$_CFLAGS" \ -DCMAKE_CXX_FLAGS_RELEASE="$_CXXFLAGS" \ -DCMAKE_EXE_LINKER_FLAGS_RELEASE="$_LDFLAGS" \ -DCMAKE_MODULE_LINKER_FLAGS_RELEASE="$_LDFLAGS" \ -DCMAKE_SHARED_LINKER_FLAGS_RELEASE="$_LDFLAGS" \ -DCMAKE_VERBOSE_MAKEFILE=YES \ \ %if %{with gtk} -DENABLE_GTK=YES \ %endif %if %{with qt} -DENABLE_QT=YES \ -DENABLE_NLS=YES \ %endif -DWITH_SYSTEMD=YES \ -DENABLE_CLI=YES \ -DENABLE_TESTS=NO \ \ -DUSE_SYSTEM_EVENT2=YES \ -DUSE_SYSTEM_MINIUPNPC=YES %if %{with ninja} ninja -v -C build %{?_smp_mflags} %else %{__make} -C build %{?_smp_mflags} %endif %install %if %{with ninja} DESTDIR=%{buildroot} ninja -v -C build install %else %{__make} -C build install DESTDIR=%{buildroot} %endif MIME_TYPES='application/x-bittorrent;application/x-torrent;x-scheme-handler/magnet;' # Daemon unit file %{__install} -D -m644 daemon/transmission-daemon.service %{buildroot}%{_unitdir}/transmission-daemon.service # GTK stuff %if %{with gtk} %{__sed} -ri "/^MimeType=/ s|=.+$|=$MIME_TYPES|" %{buildroot}%{_datadir}/applications/transmission-gtk.desktop %find_lang transmission-gtk %if 0%{?suse_version} %suse_update_desktop_file transmission-gtk Network FileTransfer P2P %endif %endif # Qt stuff %if %{with qt} %{__sed} -ri "/^MimeType=/ s|=.+$|=$MIME_TYPES|" %{buildroot}%{_datadir}/applications/transmission-qt.desktop %{__sed} -ri "/^Icon=/ s|=.+|=transmission-qt|" %{buildroot}%{_datadir}/applications/transmission-qt.desktop # Translations cd qt/translations %{__install} -d -m0755 %{buildroot}%{_datadir}/transmission/translations/ for TS in *.ts; do QM=${TS%.ts}.qm lrelease-qt5 $TS $QM %{__install} -m0644 $QM %{buildroot}%{_datadir}/transmission/translations/$QM done cd - %{__install} -D -m0644 qt/icons/transmission.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/transmission.svg %find_lang transmission --with-qt %if 0%{?suse_version} %suse_update_desktop_file transmission-qt Network FileTransfer P2P %endif %endif %clean [ "%{buildroot}" != "/" ] && %{__rm} -rf %{buildroot} %files %defattr(-,root,root) %{_bindir}/transmission-daemon %{_bindir}/transmission-remote %dir %{_datadir}/transmission %{_datadir}/transmission/public_html/ %{_unitdir}/transmission-daemon.service %doc %{_mandir}/man1/transmission-daemon* %doc %{_mandir}/man1/transmission-remote* %exclude %{_datadir}/doc %files -n %{realname}-cli %defattr(-,root,root) %{_bindir}/transmission-cli %doc %{_mandir}/man1/transmission-cli* %files -n %{realname}-utils %defattr(-,root,root) %{_bindir}/transmission-create %{_bindir}/transmission-edit %{_bindir}/transmission-show %doc %{_mandir}/man1/transmission-create* %doc %{_mandir}/man1/transmission-edit* %doc %{_mandir}/man1/transmission-show* %if %{with gtk} %files -n %{realname}-gtk %defattr(-,root,root) %{_bindir}/transmission-gtk %{_datadir}/appdata/transmission-gtk.appdata.xml %{_datadir}/applications/transmission-gtk.desktop %{_datadir}/icons/hicolor/*/apps/transmission.* %{_datadir}/icons/hicolor/scalable/apps/transmission-devel.svg %{_datadir}/icons/hicolor/symbolic/apps/transmission-symbolic.svg %doc %{_mandir}/man1/transmission-gtk* %files -n %{realname}-gtk-lang -f %{realname}-gtk.lang %defattr(-,root,root) %endif %if %{with qt} %files -n %{realname}-qt -f %{realname}.lang %defattr(-,root,root) %doc qt/README.txt %{_bindir}/transmission-qt %{_datadir}/applications/transmission-qt.desktop %dir %{_datadir}/icons/hicolor/scalable/apps %dir %{_datadir}/icons/hicolor/scalable %{_datadir}/icons/hicolor/*/apps/transmission.* %dir %{_datadir}/transmission/translations %dir %{_datadir}/transmission %doc %{_mandir}/man1/transmission-qt* %endif %if 0%{?suse_version} %pre %{service_add_pre %{name}.service} %post %{service_add_post %{name}.service} %preun %{service_del_preun %{name}.service} %postun %{service_del_postun %{name}.service} %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor