Browse Source

initial package creation

Signed-off-by: Toshaan Bharvani <toshaan@powerel.org>
master
Toshaan Bharvani 6 months ago
commit
bfcc22f1d9
  1. 65
      SOURCES/macros.qt6
  2. 9
      SOURCES/macros.qt6-srpm
  3. 2
      SOURCES/qt6qml.attr
  4. 6
      SOURCES/qt6qml.prov
  5. 281
      SPECS/qt6.spec

65
SOURCES/macros.qt6

@ -0,0 +1,65 @@ @@ -0,0 +1,65 @@
# SPDX-License-Identifier: MIT

%_qt6_build_type RelWithDebInfo
%_qt6_build_tool ninja

%_qt6_prefix %{_prefix}
%_qt6_archdatadir %{_libdir}/qt6
%_qt6_bindir %{_libdir}/qt6/bin
%_qt6_datadir %{_datadir}/qt6
%_qt6_docdir %{_docdir}/qt6
%_qt6_examplesdir %{_qt6_archdatadir}/examples
%_qt6_headerdir %{_includedir}/qt6
%_qt6_includedir %{_includedir}/qt6
%_qt6_importdir %{_qt6_archdatadir}/imports
%_qt6_libdir %{_libdir}
%_qt6_libexecdir %{_qt6_archdatadir}/libexec
%_qt6_mkspecsdir %{_qt6_archdatadir}/mkspecs
%_qt6_plugindir %{_qt6_archdatadir}/plugins
%_qt6_qmldir %{_qt6_archdatadir}/qml
%_qt6_qmake @@QMAKE@@
%_qt6_settingsdir %{_sysconfdir}/xdg
%_qt6_sysconfdir %{_qt6_settingsdir}
%_qt6_translationdir %{_datadir}/qt6/translations

%_qt6_cflags %{nil}@@QT6_CFLAGS@@
%_qt6_cxxflags %{nil}@@QT6_CXXFLAGS@@
%_qt6_ldflags %{nil}%{?__global_ldflags} @@QT6_RPM_LD_FLAGS@@
%_qt6_optflags %{optflags} @@QT6_RPM_OPT_FLAGS@@

%_qt6_qmake_flags \\\
QMAKE_CFLAGS_DEBUG="${CFLAGS:-%{_qt6_optflags} %{?_qt6_cflags}}" \\\
QMAKE_CFLAGS_RELEASE="${CFLAGS:-%{_qt6_optflags} %{?_qt6_cflags}}" \\\
QMAKE_CXXFLAGS_DEBUG="${CXXFLAGS:-%{_qt6_optflags} %{?_qt6_cxxflags}}" \\\
QMAKE_CXXFLAGS_RELEASE="${CXXFLAGS:-%{_qt6_optflags} %{?_qt6_cxxflags}}" \\\
QMAKE_LFLAGS_DEBUG="${LDFLAGS:-%{_qt6_ldflags}}" \\\
QMAKE_LFLAGS_RELEASE="${LDFLAGS:-%{_qt6_ldflags}}" \\\
QMAKE_STRIP=

%qmake_qt6 %{_qt6_qmake} %{?_qt6_qmake_flags}

%qmake_qt6_wrapper @@QMAKE_QT6_WRAPPER@@

%cmake_qt6 \
%cmake -DCMAKE_BUILD_TYPE=%{_qt6_build_type} \\\
-DCMAKE_INSTALL_PREFIX=%{_qt6_prefix} \\\
%if "%_qt6_build_tool" == "ninja" \
-GNinja \\\
%else \
-G"Unix Makefiles" \\\
%endif \
-DCMAKE_INSTALL_PREFIX=%{_qt6_prefix} \\\
-DINSTALL_ARCHDATADIR=%{_qt6_archdatadir} \\\
-DINSTALL_BINDIR=%{_qt6_bindir} \\\
-DINSTALL_LIBDIR=%{_qt6_libdir} \\\
-DINSTALL_LIBEXECDIR=%{_qt6_libexecdir} \\\
-DINSTALL_DATADIR=%{_qt6_datadir} \\\
-DINSTALL_DOCDIR=%{_qt6_docdir} \\\
-DINSTALL_INCLUDEDIR=%{_qt6_headerdir} \\\
-DINSTALL_EXAMPLESDIR=%{_qt6_examplesdir} \\\
-DINSTALL_MKSPECSDIR=%{_qt6_mkspecsdir} \\\
-DINSTALL_PLUGINSDIR=%{_qt6_plugindir} \\\
-DINSTALL_QMLDIR=%{_qt6_qmldir} \\\
-DINSTALL_SYSCONFDIR=%{_qt6_sysconfdir} \\\
-DINSTALL_TRANSLATIONSDIR=%{_qt6_translationdir} \\\
-DQT_DISABLE_RPATH=TRUE

9
SOURCES/macros.qt6-srpm

@ -0,0 +1,9 @@ @@ -0,0 +1,9 @@

# # the architectures theoretically supported by the version of V8 used (#1298011)
# # You may need some minor patching to build on one of the secondary
# # architectures, e.g., to add to the Qt -> Chromium -> V8 arch translations.
# # If you cannot get this package to build on your secondary architecure, please:
# # * remove your architecture from this list AND
# # * put #1298011 onto your ExcludeArch tracker.
%qt6_qtwebengine_arches x86_64 aarch64

2
SOURCES/qt6qml.attr

@ -0,0 +1,2 @@ @@ -0,0 +1,2 @@
%__qt6qml_path ^%{_qt6_qmldir}(/[^/]+)+/qmldir$
%__qt6qml_provides %{_rpmconfigdir}/qt6qml.prov

6
SOURCES/qt6qml.prov

@ -0,0 +1,6 @@ @@ -0,0 +1,6 @@
#! /bin/sh

grep '/qt6/qml/.*/qmldir$' |
while read fn; do
sed -ne "s/^module \(.*\)/qt6qml(\1)/p" "${fn}"
done

281
SPECS/qt6.spec

@ -0,0 +1,281 @@ @@ -0,0 +1,281 @@

Name: qt6
Version: 6.6.2
Release: 1%{?dist}
Summary: Qt6 meta package
License: GPL-3.0-only
URL: https://getfedora.org/
Source0: macros.qt6
Source1: macros.qt6-srpm
Source2: qmake-qt6.sh
Source3: qt6qml.attr
Source4: qt6qml.prov
BuildArch: noarch

Requires: qt6-qt3d
Requires: qt6-qt5compat
Requires: qt6-qtbase
Requires: qt6-qtbase-gui
Requires: qt6-qtbase-mysql
Requires: qt6-qtbase-postgresql
Requires: qt6-qtcharts
Requires: qt6-qtconnectivity
Requires: qt6-qtdatavis3d
Requires: qt6-qtdeclarative
Requires: qt6-qtdoc
Requires: qt6-qtimageformats
Requires: qt6-qtlocation
Requires: qt6-qtlottie
Requires: qt6-qtmultimedia
Requires: qt6-qtnetworkauth
Requires: qt6-qtquick3d
Requires: qt6-qtquicktimeline
Requires: qt6-qtremoteobjects
Requires: qt6-qtscxml
Requires: qt6-qtsensors
Requires: qt6-qtserialbus
Requires: qt6-qtserialport
Requires: qt6-qtshadertools
Requires: qt6-qtsvg
Requires: qt6-qttools
Requires: qt6-qtvirtualkeyboard
Requires: qt6-qtwayland
Requires: qt6-qtwebchannel
Requires: qt6-qtwebsockets


%description
%{summary}.

%package devel
Summary: Qt6 meta devel package
Requires: qt6-designer
Requires: qt6-linguist
Requires: qt6-qdoc
Requires: qt6-qhelpgenerator
Requires: qt6-qt3d-devel
Requires: qt6-qt5compat-devel
Requires: qt6-qtbase-devel
Requires: qt6-qtbase-static
Requires: qt6-qtcharts-devel
Requires: qt6-qtconnectivity-devel
Requires: qt6-qtdatavis3d-devel
Requires: qt6-qtdeclarative-devel
Requires: qt6-qtdeclarative-static
Requires: qt6-qtimageformats-devel
Requires: qt6-qtlocation-devel
Requires: qt6-qtlottie-devel
Requires: qt6-qtmultimedia-devel
Requires: qt6-qtnetworkauth-devel
Requires: qt6-qtquick3d-devel
Requires: qt6-qtquicktimeline-devel
Requires: qt6-qtremoteobjects-devel
Requires: qt6-qtscxml-devel
Requires: qt6-qtsensors-devel
Requires: qt6-qtserialbus-devel
Requires: qt6-qtserialport-devel
Requires: qt6-qtshadertools-devel
Requires: qt6-qtsvg-devel
Requires: qt6-qttools-devel
Requires: qt6-qttools-static
Requires: qt6-qtvirtualkeyboard-devel
Requires: qt6-qtwayland-devel
Requires: qt6-qtwebchannel-devel
Requires: qt6-qtwebsockets-devel
Requires: qt6-rpm-macros

%description devel
%{summary}.

%package rpm-macros
Summary: RPM macros for building Qt6 and KDE Frameworks 5 packages
Requires: cmake >= 3
Requires: gcc-c++
%description rpm-macros
%{summary}.

%package srpm-macros
Summary: RPM macros for source Qt6 packages
%description srpm-macros
%{summary}.


%install
install -Dpm644 %{SOURCE0} %{buildroot}%{_rpmmacrodir}/macros.qt6
install -Dpm644 %{SOURCE1} %{buildroot}%{_rpmmacrodir}/macros.qt6-srpm
install -Dpm755 %{SOURCE2} %{buildroot}%{_bindir}/qmake-qt6.sh
install -Dpm644 %{SOURCE3} %{buildroot}%{_fileattrsdir}/qt6qml.attr
install -Dpm755 %{SOURCE4} %{buildroot}%{_rpmconfigdir}/qt6qml.prov
mkdir -p %{buildroot}%{_datadir}/qt6/wrappers
ln -s %{_bindir}/qmake-qt6.sh %{buildroot}%{_datadir}/qt6/wrappers/qmake-qt6
ln -s %{_bindir}/qmake-qt6.sh %{buildroot}%{_datadir}/qt6/wrappers/qmake

# substitute custom flags, and the path to binaries: binaries referenced from
# macros should not change if an application is built with a different prefix.
# %_libdir is left as /usr/%{_lib} (e.g.) so that the resulting macros are
# architecture independent, and don't hardcode /usr/lib or /usr/lib64.
sed -i \
-e "s|@@QT6_CFLAGS@@|%{?qt6_cflags}|g" \
-e "s|@@QT6_CXXFLAGS@@|%{?qt6_cxxflags}|g" \
-e "s|@@QT6_RPM_LD_FLAGS@@|%{?qt6_rpm_ld_flags}|g" \
-e "s|@@QT6_RPM_OPT_FLAGS@@|%{?qt6_rpm_opt_flags}|g" \
-e "s|@@QMAKE@@|%{_prefix}/%%{_lib}/qt6/bin/qmake|g" \
-e "s|@@QMAKE_QT6_WRAPPER@@|%{_bindir}/qmake-qt6.sh|g" \
%{buildroot}%{_rpmconfigdir}/macros.d/macros.qt6

%if 0%{?metapackage}
mkdir -p %{buildroot}%{_docdir}/qt6
mkdir -p %{buildroot}%{_docdir}/qt6-devel
echo "- Qt6 meta package" > %{buildroot}%{_docdir}/qt6/README
echo "- Qt6 devel meta package" > %{buildroot}%{_docdir}/qt6-devel/README

%files
%{_docdir}/qt6/README

%files devel
%{_docdir}/qt6-devel/README
%endif

%files rpm-macros
%{_fileattrsdir}/qt6qml.attr
%{_rpmconfigdir}/qt6qml.prov
%{_rpmmacrodir}/macros.qt6
%{_bindir}/qmake-qt6.sh
%{_datadir}/qt6/wrappers/

%files srpm-macros
%{_rpmmacrodir}/macros.qt6-srpm


%changelog
* Sun Jan 28 2024 Jan Grulich <jgrulich@redhat.com> - 6.6.2-1
- 6.6.2

* Fri Jan 26 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.1-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 6.6.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild

* Wed Jan 03 2024 Alessandro Astone <ales.astone@gmail.com> - 6.6.1-3
- Make qml dependency generator script executable

* Tue Dec 05 2023 Yaakov Selkowitz <yselkowitz@fedoraproject.org> - 6.6.1-2
- Auto-generate qt6qml() virtual provides

* Mon Nov 27 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.1-1
- 6.6.1

* Tue Oct 10 2023 Jan Grulich <jgrulich@redhat.com> - 6.6.0-1
- 6.6.0

* Sun Oct 01 2023 Justin Zobel <justin.zobel@gmail.com> - 6.5.3-1
- Update to 6.5.3

* Tue Sep 05 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 6.5.2-3
- Fix %%qt6_qtwebengine_arches

* Fri Jul 21 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.5.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild

* Fri Jul 21 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.2-1
- 6.5.2

* Mon May 22 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.1-1
- 6.5.1

* Mon Apr 03 2023 Jan Grulich <jgrulich@redhat.com> - 6.5.0-1
- 6.5.0

* Thu Mar 23 2023 Jan Grulich <jgrulich@redhat.com> - 6.4.2-4
- 6.4.3

* Tue Jan 31 2023 Jan Grulich <jgrulich@redhat.com> - 6.4.2-3
- migrated to SPDX license

* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 6.4.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild

* Mon Jan 16 2023 Jan Grulich <jgrulich@redhat.com> - 6.4.2-1
- 6.4.2

* Wed Nov 23 2022 Jan Grulich <jgrulich@redhat.com> - 6.4.1-1
- 6.4.1

* Mon Oct 31 2022 Jan Grulich <jgrulich@redhat.com> - 6.4.0-1
- 6.4.0

* Sat Jul 23 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.3.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild

* Wed Jul 13 2022 Jan Grulich <jgrulich@redhat.com> - 6.3.1-1
- 6.3.1

* Wed Apr 13 2022 Jan Grulich <jgrulich@redhat.com> - 6.3.0-1
- 6.3.0

* Mon Jan 31 2022 Jan Grulich <jgrulich@redhat.com> - 6.2.3-1
- 6.2.3

* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 6.2.2-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild

* Tue Dec 14 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.2-1
- 6.2.2

* Fri Oct 29 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.1-1
- 6.2.1

* Fri Oct 29 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.0-2
- 6.2.1

* Thu Sep 30 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.0-1
- 6.2.0

* Mon Sep 27 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.0~rc2-1
- 6.2.0 - rc2

* Tue Sep 21 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.0~rc-2
- Drop qt6-qtquickcontrols2 from required packages

* Sat Sep 18 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.0~rc-1
- 6.2.0 - rc

* Mon Sep 13 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.0~beta4-3
- Drop qt6_exclude_arch macro

* Mon Sep 13 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.0~beta4-2
- Add qt6_exclude_arch macro

* Fri Sep 10 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.0~beta4-1
- 6.2.0 - beta4

* Mon Aug 30 2021 Jan Grulich <jgrulich@redhat.com> - 6.2.0~beta3-1
- 6.2.0 - beta3

* Thu Aug 12 2021 Jan Grulich <jgrulich@redhat.com> - 6.1.2-1
- 6.1.2

* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.1.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild

* Mon Jun 07 2021 Jan Grulich <jgrulich@redhat.com> - 6.1.1-1
- 6.1.1

* Mon May 24 2021 Jan Grulich <jgrulich@redhat.com> - 6.1.0-2
- Fix path to libexecdir

* Thu May 06 2021 Jan Grulich <jgrulich@redhat.com> - 6.1.0-1
- 6.1.0

* Mon Apr 05 2021 Jan Grulich <jgrulich@redhat.com> - 6.0.3-1
- 6.0.3

* Thu Feb 04 2021 Jan Grulich <jgrulich@redhat.com> - 6.0.1-1
- 6.0.1

* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 6.0.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild

* Wed Jan 06 2021 Jan Grulich <jgrulich@redhat.com> - 6.0.0-1
- 6.0.0
Loading…
Cancel
Save