Группа :: Графические оболочки/Прочее
Пакет: dtkwidget
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
%def_disable clang
%def_enable docs
Name: dtkwidget
Version: 5.6.8
Release: alt1
Summary: Deepin tool kit widget modules
License: LGPL-3.0+ and GPL-3.0+
Group: Graphical desktop/Other
Url: https://github.com/linuxdeepin/dtkwidget
Packager: Leontiy Volodin <lvol at altlinux.org>
Source: %url/archive/%version/%name-%version.tar.gz
Patch1: dtkwidget-5.6.2-alt-fix-missing-icon-on-titlebar-button.patch
%if_enabled clang
BuildRequires(pre): clang-devel
%endif
BuildRequires(pre): rpm-build-ninja
BuildRequires: cmake
BuildRequires: qt5-linguist
BuildRequires: qt5-base-devel-static
BuildRequires: qt5-tools-devel
BuildRequires: qt5-svg-devel
BuildRequires: qt5-x11extras-devel
BuildRequires: dtk5-core-devel
BuildRequires: dtk5-gui-devel
BuildRequires: dtk5-common-devel
BuildRequires: gsettings-qt-devel
BuildRequires: deepin-qt-dbus-factory-devel
BuildRequires: libudev-devel
BuildRequires: librsvg-devel
BuildRequires: libstartup-notification-devel
BuildRequires: libXi-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: libxcbutil-devel
BuildRequires: libxkbcommon-devel
BuildRequires: libXrender-devel
BuildRequires: libcups-devel
BuildRequires: libgtest-devel
BuildRequires: doxygen qt5-tools qt5-base-doc
# libQt5Gui.so.5(Qt_5_PRIVATE_API) needed by dtkwidget
BuildRequires: libqt5-gui
%description
DtkWidget is Deepin graphical user interface for deepin desktop development.
%package -n libdtk5-widget
Summary: Libraries for %name
Group: System/Libraries
%description -n libdtk5-widget
DtkWidget is Deepin graphical user interface for deepin desktop development.
Libraries for %name.
%package -n dtk5-widget-configs
Summary: Configs for %name
Group: System/Configuration/Other
BuildArch: noarch
Requires: libdtk5-widget
%description -n dtk5-widget-configs
The package provides configs for %name.
%package -n dtk5-widget-devel
Summary: Development package for %name
Group: Development/KDE and QT
%description -n dtk5-widget-devel
Header files and libraries for %name.
%package -n dtk5-widget-examples
Summary: Examples for %name
Group: Development/KDE and QT
%description -n dtk5-widget-examples
DtkWidget is Deepin graphical user interface for deepin desktop development.
Examples for %name.
%if_enabled docs
%package -n dtk5-widget-doc
Summary: %name documantation
Group: Documentation
BuildArch: noarch
%description -n dtk5-widget-doc
This package provides %name documantation.
%endif
%prep
%setup
%autopatch -p1
sed -i "s|'/lib'|'/%_lib'|" conanfile.py
sed -i 's|CMAKE_INSTALLL_PREFIX|CMAKE_INSTALL_PREFIX|' \
docs/CMakeLists.txt
# Fix broken configs.
sed -i '/libdir=/s/${prefix}//' \
misc/dtkwidget.pc.in
sed -i -e '/.tools/s/ at CMAKE_INSTALL_PREFIX at //; /.libs/s/ at CMAKE_INSTALL_PREFIX at //;' \
misc/qt_lib_dtkwidget.pri.in
%build
%if_enabled clang
export CC="clang"
export CXX="clang++"
export AR="llvm-ar"
export NM="llvm-nm"
export READELF="llvm-readelf"
%endif
export PATH=%_qt5_bindir:$PATH
%cmake \
-GNinja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DMKSPECS_INSTALL_DIR=%_qt5_archdatadir/mkspecs/modules/ \
%if_enabled docs
-DBUILD_DOCS=ON \
-DQCH_INSTALL_DESTINATION=%_qt5_docdir \
%else
-DBUILD_DOCS=OFF \
%endif
-DCMAKE_INSTALL_PREFIX=%_prefix \
-DCMAKE_INSTALL_LIBDIR=%_libdir \
-DDTK_VERSION=%version \
-DVERSION=%version \
-DLIB_INSTALL_DIR=%_libdir \
#
cmake --build %_cmake__builddir -j%__nprocs
%install
%cmake_install
%files -n libdtk5-widget
%doc README.md LICENSE
%_libdir/lib%name.so.5*
%dir %_libdir/dtk5/
%dir %_libdir/dtk5/DWidget/
%_libdir/dtk5/DWidget/bin/
%dir %_datadir/dtk5/
%_datadir/dtk5/DWidget/
%files -n dtk5-widget-configs
%dir %_datadir/dsg/
%dir %_datadir/dsg/configs/
%_datadir/dsg/configs/org.deepin.dtkwidget.feature-display.json
%files -n dtk5-widget-devel
%dir %_includedir/dtk5/
%_includedir/dtk5/DWidget/
%_qt5_archdatadir/mkspecs/modules/*.pri
%_libdir/cmake/DtkWidget/
%_pkgconfigdir/%name.pc
%_libdir/lib%name.so
%files -n dtk5-widget-examples
%dir %_libdir/dtk5/DWidget/
%_libdir/dtk5/DWidget/examples/
%dir %_datadir/dsg/
%dir %_datadir/dsg/configs/
%dir %_datadir/dsg/configs/overrides/
%dir %_datadir/dsg/configs/overrides/dtk-example/
%dir %_datadir/dsg/configs/overrides/dtk-example/org.deepin.dtkwidget.feature-display/
%_datadir/dsg/configs/overrides/dtk-example/org.deepin.dtkwidget*/*.json
%files -n dtk5-widget-doc
%_qt5_docdir/dtkwidget.qch
%changelog
…
Полный changelog можно просмотреть здесь
%def_enable docs
Name: dtkwidget
Version: 5.6.8
Release: alt1
Summary: Deepin tool kit widget modules
License: LGPL-3.0+ and GPL-3.0+
Group: Graphical desktop/Other
Url: https://github.com/linuxdeepin/dtkwidget
Packager: Leontiy Volodin <lvol at altlinux.org>
Source: %url/archive/%version/%name-%version.tar.gz
Patch1: dtkwidget-5.6.2-alt-fix-missing-icon-on-titlebar-button.patch
%if_enabled clang
BuildRequires(pre): clang-devel
%endif
BuildRequires(pre): rpm-build-ninja
BuildRequires: cmake
BuildRequires: qt5-linguist
BuildRequires: qt5-base-devel-static
BuildRequires: qt5-tools-devel
BuildRequires: qt5-svg-devel
BuildRequires: qt5-x11extras-devel
BuildRequires: dtk5-core-devel
BuildRequires: dtk5-gui-devel
BuildRequires: dtk5-common-devel
BuildRequires: gsettings-qt-devel
BuildRequires: deepin-qt-dbus-factory-devel
BuildRequires: libudev-devel
BuildRequires: librsvg-devel
BuildRequires: libstartup-notification-devel
BuildRequires: libXi-devel
BuildRequires: libX11-devel
BuildRequires: libXext-devel
BuildRequires: libxcbutil-devel
BuildRequires: libxkbcommon-devel
BuildRequires: libXrender-devel
BuildRequires: libcups-devel
BuildRequires: libgtest-devel
BuildRequires: doxygen qt5-tools qt5-base-doc
# libQt5Gui.so.5(Qt_5_PRIVATE_API) needed by dtkwidget
BuildRequires: libqt5-gui
%description
DtkWidget is Deepin graphical user interface for deepin desktop development.
%package -n libdtk5-widget
Summary: Libraries for %name
Group: System/Libraries
%description -n libdtk5-widget
DtkWidget is Deepin graphical user interface for deepin desktop development.
Libraries for %name.
%package -n dtk5-widget-configs
Summary: Configs for %name
Group: System/Configuration/Other
BuildArch: noarch
Requires: libdtk5-widget
%description -n dtk5-widget-configs
The package provides configs for %name.
%package -n dtk5-widget-devel
Summary: Development package for %name
Group: Development/KDE and QT
%description -n dtk5-widget-devel
Header files and libraries for %name.
%package -n dtk5-widget-examples
Summary: Examples for %name
Group: Development/KDE and QT
%description -n dtk5-widget-examples
DtkWidget is Deepin graphical user interface for deepin desktop development.
Examples for %name.
%if_enabled docs
%package -n dtk5-widget-doc
Summary: %name documantation
Group: Documentation
BuildArch: noarch
%description -n dtk5-widget-doc
This package provides %name documantation.
%endif
%prep
%setup
%autopatch -p1
sed -i "s|'/lib'|'/%_lib'|" conanfile.py
sed -i 's|CMAKE_INSTALLL_PREFIX|CMAKE_INSTALL_PREFIX|' \
docs/CMakeLists.txt
# Fix broken configs.
sed -i '/libdir=/s/${prefix}//' \
misc/dtkwidget.pc.in
sed -i -e '/.tools/s/ at CMAKE_INSTALL_PREFIX at //; /.libs/s/ at CMAKE_INSTALL_PREFIX at //;' \
misc/qt_lib_dtkwidget.pri.in
%build
%if_enabled clang
export CC="clang"
export CXX="clang++"
export AR="llvm-ar"
export NM="llvm-nm"
export READELF="llvm-readelf"
%endif
export PATH=%_qt5_bindir:$PATH
%cmake \
-GNinja \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DMKSPECS_INSTALL_DIR=%_qt5_archdatadir/mkspecs/modules/ \
%if_enabled docs
-DBUILD_DOCS=ON \
-DQCH_INSTALL_DESTINATION=%_qt5_docdir \
%else
-DBUILD_DOCS=OFF \
%endif
-DCMAKE_INSTALL_PREFIX=%_prefix \
-DCMAKE_INSTALL_LIBDIR=%_libdir \
-DDTK_VERSION=%version \
-DVERSION=%version \
-DLIB_INSTALL_DIR=%_libdir \
#
cmake --build %_cmake__builddir -j%__nprocs
%install
%cmake_install
%files -n libdtk5-widget
%doc README.md LICENSE
%_libdir/lib%name.so.5*
%dir %_libdir/dtk5/
%dir %_libdir/dtk5/DWidget/
%_libdir/dtk5/DWidget/bin/
%dir %_datadir/dtk5/
%_datadir/dtk5/DWidget/
%files -n dtk5-widget-configs
%dir %_datadir/dsg/
%dir %_datadir/dsg/configs/
%_datadir/dsg/configs/org.deepin.dtkwidget.feature-display.json
%files -n dtk5-widget-devel
%dir %_includedir/dtk5/
%_includedir/dtk5/DWidget/
%_qt5_archdatadir/mkspecs/modules/*.pri
%_libdir/cmake/DtkWidget/
%_pkgconfigdir/%name.pc
%_libdir/lib%name.so
%files -n dtk5-widget-examples
%dir %_libdir/dtk5/DWidget/
%_libdir/dtk5/DWidget/examples/
%dir %_datadir/dsg/
%dir %_datadir/dsg/configs/
%dir %_datadir/dsg/configs/overrides/
%dir %_datadir/dsg/configs/overrides/dtk-example/
%dir %_datadir/dsg/configs/overrides/dtk-example/org.deepin.dtkwidget.feature-display/
%_datadir/dsg/configs/overrides/dtk-example/org.deepin.dtkwidget*/*.json
%files -n dtk5-widget-doc
%_qt5_docdir/dtkwidget.qch
%changelog
…
Полный changelog можно просмотреть здесь