summaryrefslogtreecommitdiff
path: root/python-qt-binding.spec
blob: fbd82464de2d2ba1e42bba24996ae43f3cde6767 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
%bcond_with tests
%bcond_without weak_deps

%define ros_distro      humble

%global debug_package %{nil}
%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g')
%global __provides_exclude_from ^/opt/ros/%{ros_distro}/.*$
%global __requires_exclude_from ^/opt/ros/%{ros_distro}/.*$

%define RosPkgName      python-qt-binding

Name:           ros-%{ros_distro}-%{RosPkgName}
Version:        1.1.3
Release:        1%{?dist}%{?release_suffix}
Summary:        ROS python-qt-binding package

Url:            http://ros.org/wiki/python_qt_binding
License:        BSD
Source0:        %{RosPkgName}-%{version}.tar.gz
Patch0: 0-python-qt-binding-fix-license-key.patch

Requires: python3-qt5-devel
Requires: ros-%{ros_distro}-ros-workspace

BuildRequires: qt5-qtbase-devel
BuildRequires: python3-qt5-devel
BuildRequires: ros-%{ros_distro}-ament-cmake
BuildRequires: ros-%{ros_distro}-ros-workspace

%if 0%{?with_tests}
BuildRequires: ros-%{ros_distro}-ament-cmake-pytest
BuildRequires: ros-%{ros_distro}-ament-lint-auto
BuildRequires: ros-%{ros_distro}-ament-lint-common
%endif

Provides:       %{name}-devel = %{version}-%{release}
Provides:       %{name}-doc = %{version}-%{release}
Provides:       %{name}-runtime = %{version}-%{release}

%description
This stack provides Python bindings for Qt.
    There are two providers: pyside and pyqt.  PySide2 is available under
    the GPL, LGPL and a commercial license.  PyQt is released under the GPL.

    Both the bindings and tools to build bindings are included from each
    available provider.  For PySide, it is called "Shiboken".  For PyQt,
    this is called "SIP".

    Also provided is adapter code to make the user's Python code
    independent of which binding provider was actually used which makes
    it very easy to switch between these.

%prep
%autosetup -n python-qt-binding-1.1.3
# Flatten tarball subdirectory to build dir root
if [ -d %{RosPkgName}-%{version} ]; then
  mv %{RosPkgName}-%{version}/* . 2>/dev/null || true
  mv %{RosPkgName}-%{version}/.* . 2>/dev/null || true
  rmdir %{RosPkgName}-%{version} 2>/dev/null || true
fi

%build
# Needed to bootstrap since the ros_workspace package does not yet exist.
export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages

# In case we're installing to a non-standard location, look for a setup.sh
# in the install tree and source it.  It will set things like
# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH.
if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi
mkdir -p .obj-%{_target_platform} && cd .obj-%{_target_platform}
%cmake3 \
    -UINCLUDE_INSTALL_DIR \
    -ULIB_INSTALL_DIR \
    -USYSCONF_INSTALL_DIR \
    -USHARE_INSTALL_PREFIX \
    -ULIB_SUFFIX \
    -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \
    -DAMENT_PREFIX_PATH="/opt/ros/%{ros_distro}" \
    -DCMAKE_PREFIX_PATH="/opt/ros/%{ros_distro}" \
    -DSETUPTOOLS_DEB_LAYOUT=OFF \
%if !0%{?with_tests}
    -DBUILD_TESTING=OFF \
%endif
    ..

%make_build

%install
# Needed to bootstrap since the ros_workspace package does not yet exist.
export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages

# In case we're installing to a non-standard location, look for a setup.sh
# in the install tree and source it.  It will set things like
# CMAKE_PREFIX_PATH, PKG_CONFIG_PATH, and PYTHONPATH.
if [ -f "/opt/ros/%{ros_distro}/setup.sh" ]; then . "/opt/ros/%{ros_distro}/setup.sh"; fi
%make_install -C .obj-%{_target_platform}

%files
/opt/ros/%{ros_distro}

%changelog
* Sat Oct 24 2026 kuyan_kubuds <kuyan@kubuds.cn> - 1.1.3-1
- Sync python-qt-binding 1.1.3 from humble branch to master

* Mon Sep 21 2026 Wanming Hu <huwanming@huawei.com> - 1.1.3-1
- Upgrade python-qt-binding from 1.1.1 to 1.1.3 for ROS 2 Humble.

* Thu May 04 2023 Shane Loretz sloretz@openrobotics.org - 1.1.1-1
- Autogenerated by ros-porting-tools

* Wed Jan 10 2024 Claire Wang clairewang@openrobotics.org - 0.4.4-1
- Autogenerated by ros-porting-tools