File miraclecast.spec of Package miraclecast

#
# spec file for package miraclecast
#
# Copyright (c) 2024, 2025 Boian Berberov
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#

%bcond_without  mesonbuildsys



%global         gitdate  20250630
%global         gitrev   54c73b5
%global         gitcomm  54c73b506bb3243bc2ff2ec7cda46d9074a3e70d
%global         gitrel   git%{gitdate}.%{gitrev}



Name:           miraclecast
Version:        1.0+%{gitrel}
Release:        0%{?dist}
Group:          Productivity/Networking/Other
Summary:        Wifi-Display / Miracast Implementation
License:        LGPL-2.1-or-later and GPL-2.0-only
URL:            https://github.com/albfan/%{name}

%if %{defined gitcomm}
Source0:        %{url}/archive/%{gitcomm}.tar.gz
%endif

%if 0%{with mesonbuildsys}
BuildRequires:  meson
%else
BuildRequires:  automake
BuildRequires:  libtool
%endif

# BEGIN multibuild BuildRequires: GCC all
%if 0%{?is_opensuse}
	%if 0%{?sle_version}
		%if 0%{?sle_version} == 150600
BuildRequires:  gcc13
BuildRequires:  gcc13-c++
%global         multi_gcc  gcc-13
%global         multi_gpp  gcc-13 -E
%global         multi_gxx  g++-13
		%else
			%if 0%{?sle_version} == 150500
BuildRequires:  gcc12
BuildRequires:  gcc12-c++
%global         multi_gcc  gcc-12
%global         multi_gpp  gcc-12 -E
%global         multi_gxx  g++-12
			%else
BuildRequires:  gcc     >= 10
BuildRequires:  gcc-c++ >= 10
%global         multi_gcc  gcc
%global         multi_gpp  gcc -E
%global         multi_gxx  g++
			%endif
		%endif
	%else
BuildRequires:  gcc
BuildRequires:  gcc-c++
%global         multi_gcc  gcc
%global         multi_gpp  gcc -E
%global         multi_gxx  g++
	%endif
%else
BuildRequires:  gcc
BuildRequires:  gcc-c++
%global         multi_gcc  gcc
%global         multi_gpp  gcc -E
%global         multi_gxx  g++
%endif
# END   multibuild BuildRequires: GCC all

BuildRequires:  glib2-devel >= 2.38
# BUG readline < 8.3
# https://github.com/albfan/miraclecast/issues/540
BuildRequires:  readline-devel < 8.3
BuildRequires:  systemd-devel >= 221

%if 0%{?mageia}
	%ifarch x86_64
BuildRequires:  lib64udev-devel >= 221
	%else
BuildRequires:  libudev-devel >= 221
	%endif
%endif

Requires:       iproute2
Requires:       gstreamer-utils

%description
Wifi-Display / Miracast Implementation



%prep
%if %{defined gitcomm}
%setup -q -n %{name}-%{gitcomm}
%endif

%if 0%{without mesonbuildsys}
autoreconf -fiv

# Do not install miracle-omxplayer, it's deprecated
# See https://github.com/popcornmix/omxplayer
%__sed -i -e 's/miracle-omxplayer//' res/Makefile.am
%endif



%build
%if 0%{with mesonbuildsys}
%meson -Dip-binary=%{_bindir}/ip
%meson_build
%else
export IP_BINARY=%{_bindir}/ip
%configure
%make_build
%endif



%if 0%{without mesonbuildsys}
%check
%__make --keep-going check
%endif



%install
%if 0%{with mesonbuildsys}
%meson_install
%else
%make_install
%endif



%files
%license COPYING LICENSE_*
%doc     README.md

%dir    %{_sysconfdir}/dbus-1
%dir    %{_sysconfdir}/dbus-1/system.d
%config %{_sysconfdir}/dbus-1/system.d/org.freedesktop.miracle.conf

%{_bindir}/gstplayer
%{_bindir}/miracle-dhcp
%{_bindir}/miracle-gst
%{_bindir}/miracle-sinkctl
%{_bindir}/miracle-uibcctl
%{_bindir}/miracle-wifictl
%{_bindir}/miracle-wifid
%{_bindir}/miracled
%{_bindir}/uibc-viewer
%{_datadir}/bash-completion/completions/miracle-sinkctl
%{_datadir}/bash-completion/completions/miracle-wifictl
%{_datadir}/bash-completion/completions/miracle-wifid



%changelog

* Tue Jul 15 2025 Boian Berberov
- Added changelog for openSUSE Leap 16
openSUSE Build Service is sponsored by