Package Details: miraclecast-git 326.f3debd5-1

Git Clone URL: https://aur.archlinux.org/miraclecast-git.git (read-only, click to copy)
Package Base: miraclecast-git
Description: MiracleCast provides software to connect external monitors to your system via Wifi. It is compatible to Miracast. Link-management works, everything else is still being worked on. Replaces openwfd. Contribute on https://github.com/albfan/aur-miraclecast
Upstream URL: https://github.com/albfan/miraclecast
Licenses: GPL
Conflicts: miraclecast
Provides: miraclecast
Submitter: albfan
Maintainer: albfan
Last Packager: albfan
Votes: 54
Popularity: 0.014236
First Submitted: 2017-09-01 01:25 (UTC)
Last Updated: 2023-02-15 11:50 (UTC)

Required by (1)

Sources (1)

Latest Comments

1 2 3 4 Next › Last »

dreieck commented on 2023-04-11 12:16 (UTC)

Just an information for those interested in a variant working on systems without systemd:

I have made a package ↗ miraclecast-nosystemd-git.

Regards!

dreieck commented on 2023-04-11 11:55 (UTC) (edited on 2023-04-11 12:01 (UTC) by dreieck)

Upstream's COPYING file says that the license is LGPL. But in your PKGBUILD you say it is GPL.

This are different licenses.

If several licenses apply, you could put all of them in an array, and for clarification install the license terms into /usr/share/licenses/${pkgname}/.

Please fix. Thanks for maintaining!

dreieck commented on 2023-04-11 11:51 (UTC)

With namcap, I get the following complaints about missing dependencies:

miraclecast-nosystemd-git E: Dependency gobject-introspection-runtime detected and not included (python modules ['gi.repository.GObject', 'gi.repository.GLib'] needed in files ['usr/bin/gstplayer'])
miraclecast-nosystemd-git E: Dependency gst-plugins-base-libs detected and not included (python modules ['gi.repository.GstVideo'] needed in files ['usr/bin/gstplayer'])
miraclecast-nosystemd-git E: Dependency gstreamer detected and not included (python modules ['gi.repository.Gst'] needed in files ['usr/bin/gstplayer'])
miraclecast-nosystemd-git E: Dependency gtk3 detected and not included (python modules ['gi.repository.Gtk', 'gi.repository.Gdk', 'gi.repository.GdkX11'] needed in files ['usr/bin/gstplayer'])
miraclecast-nosystemd-git E: Dependency python-gobject detected and not included (python modules ['gi.repository.Gtk', 'gi.repository.Gdk', 'gi.repository.GObject', 'gi.repository.Gst', 'gi.repository.GstVideo', 'gi.repository.GdkX11', 'gi.repository.GLib', 'gi'] needed in files ['usr/bin/gstplayer'])

gstreamer, gtk3, gst-plugins-base-libs and python-gobject need to be added to the depends array. (gobject-introspection-runtime would then be satisfied by python-gobject.)

Also, readline is needed, but also implicitly satisfied.

Thanks for maintaining!

dreieck commented on 2023-04-11 11:06 (UTC) (edited on 2023-04-11 11:07 (UTC) by dreieck)

Gstreamer is a dependency according to upstream's README.md. If it really is, it needs to be added to the depends array. wpa_supplicant as well.

dreieck commented on 2023-04-11 11:01 (UTC)

I see that upstream provides "real" version numbers, currently 1.0.

So I propose also retrieving this in $kgver(), and then you can even add =${pkgver} to the provides entry.

A pkgver() could look like:

pkgver() {
  cd "${srcdir}/${_name}"

  _ver="$(git describe --tags | sed -E -e 's|^[vV]||' -e 's|\-g[0-9a-f]*$||' | tr '-' '+')"
  _rev="$(git rev-list --count HEAD)"
  _date="$(git log -1 --date=format:"%Y%m%d" --format="%ad")"
  _hash="$(git rev-parse --short HEAD)"

  if [ -z "${_ver}" ]; then
    error "Could not determine version."
    return 1
  else
    printf '%s' "${_ver}.r${_rev}.${_date}.${_hash}"
  fi
}

which currently yields 1.0+139.r327.20230216.850a1c6.

Regards!

dreieck commented on 2023-04-11 10:56 (UTC)

Dependency python3 should be changed to python>=3, or if you need it more restrictive, python>=3 python<4. Thanks for maintaining!

dreieck commented on 2023-04-11 10:55 (UTC)

Dependency git should be moved to makedepends.

albfan commented on 2022-10-20 05:39 (UTC)

No, elogind is optional and no the default

tfl5034 commented on 2022-10-20 01:13 (UTC)

It looks like the latest version of the package requires libelogind as a dependency

Xyne commented on 2021-11-19 11:52 (UTC) (edited on 2021-11-19 11:53 (UTC) by Xyne)

The "provides" array is a way to indicate to pacman which additional dependencies a package can satisfy. It should never contain $pkgname because it is already implicit that all packages satisfy dependencies on themselves. In the case of VCS packages, you should include the package name without the VCS suffix ("miraclecast" in this case) because the VCS package is normally functionally equivalent to the non-VCS version for dependency resolution. In general, for "foo-git", "provides=(foo)" and "conflicts=(foo)" mean that "foo-git" can be used in place of "foo" but not alongside it, usually due to conflicting files.

The "replaces" array should also be removed. That is reserved for packages that supersede other packages (e.g. for name changes). VCS packages provide alternatives, but they do not supersede their non-VCS counterparts.

This has always been our policy. You do not need to remove the $_name variable. It's common practice to define it and then use it throughout the PKGBUILD. Please see my suggestion below.

As for the package version, it should be updated automatically when you build the package due to the pkgver function. Whenever that's updated, you can reset the pkgrel to 1. The only time you would need to bump the pkgrel is if you update the PKGBUILD without changing the pkgver, which may happen if upstream is not very active.

# Maintainer: Alberto Fanjul <albertofanjul@gmail.com>
_name=miraclecast
pkgname=$_name-git
pkgver=221.36be37e
pkgrel=2
pkgdesc="MiracleCast provides software to connect external monitors to your system via Wifi. It is compatible to Miracast. Link-management works, everything else is still being worked on. Replaces openwfd. Contribute on https://github.com/albfan/aur-miraclecast"
arch=('i686' 'x86_64' 'armv6h' 'armv7h')
url="https://github.com/albfan/$_name"
license=('GPL')
depends=(git "systemd>=221" "python3" "glib2")
provides=("$_name")
conflicts=("$_name")
backup=(etc/dbus-1/system.d/org.freedesktop.miracle.conf)
source=("$_name::git+https://github.com/albfan/miraclecast.git#branch=master")
md5sums=('SKIP')

build() {
  cd "$srcdir/$_name"
  ./autogen.sh
  ./configure --prefix=/usr --sysconfdir=/etc
  make
}

check() {
  cd "$srcdir/$_name"
  make -k check
}

package() {
  cd "$srcdir/$_name"
  make DESTDIR="$pkgdir/" install
}

pkgver() {
  cd "$srcdir/$_name"
  echo $(git rev-list --count HEAD).$(git rev-parse --short HEAD)
}