Fixes for Kernel >= 4.14 | libcdio-1.0.0

This commit is contained in:
layman
2017-11-26 21:44:02 +01:00
parent 9ecf863008
commit 49378e8b72
20 changed files with 927 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
AUX gvfs-1.30.2-sysmacros.patch 525 SHA256 fff2f64e7c5c7f2f10e0ff54dc240ee8f06d9be98252c115661b67a67a9ab777 SHA512 9b06683ed3b8ceea1b330e86308c396581ab4c85aa22199ce92acad915bb28f0fed8997558c08b18cb9c5f1bab45e46a1365831acaf1c194e7134e185849dba2 WHIRLPOOL 7a161c9a22dc35f4cb451bbbe1c50f11d0ecf4ee2a604f3e7cd0dea454d0e424f9ee9017a20c348bd18eaefb50d8e51363f83ab08d589bfac30195a57372a1a4
AUX gvfs-1.32.1-libcdio-1.0.0.patch 3013 SHA256 0f79d9797fc5b00054b92b8f3e2b0c3e546d1800ad6215d73b8a570e4bfd6754 SHA512 df49037ee06a61b7d248a96c05e30353254df8be942aa46fa5bd130f0041701cae6c5fe1fa8ff1550002db093180e34cb44e5d56a249c1caa8a42e9e37bf8a5f WHIRLPOOL ff2ba17103b333e9b07c889862135d57120a5d0acb3486fe5a53306c5b8b44eb1ee248cb3a866d1d21d2913698d4d1eb1b6b441350f5aac9ef5c69dbf3e63b7b
DIST gvfs-1.32.1.tar.xz 1813212 SHA256 d0b6c9edab09d52472355657a2f0a14831b2e6c58caba395f721ab683f836ade SHA512 7bd4d137437c1704faf6a9c2712bddcc327284e752c552c2cc18c64beb5e6d291af321e92d02d4f09b619762121129cee82c13ec2a4ca39d045196ebeeb28dd8 WHIRLPOOL 490fab2906896131711e5d8acc9c1a15bbd160b6b02c0472201ff5cc4cdc28c1be83e3603717b038c93e9d1406108aefe2afe1d06e194cf6db5466a8ff77f3b9
EBUILD gvfs-1.32.1.ebuild 3661 SHA256 30a3d81813f90b1f315c4e5820360e57dfa8c96d76953699e3a449afd417d3f8 SHA512 f7977d11c8e6b6c135d6763b2ee8a9975013aa453d771df7c379574eecc5375cea4fca7442ea9d7906e9bac1e5933a549020d8c2ddbf21d35138c73f957bed12 WHIRLPOOL 0b18c721f315661e956b9c7865f39d41873861021ba7b5bbfd59bd6c9f8d0819de026a4d1dbe3169b0ea3d57eac868bf9fa84603e1571bfc5b13b5d47a859fcc
MISC metadata.xml 1542 SHA256 0f1cf1d46c6573378489147f87117ec280c31ba1f35ec49dbe6b4de4c80711d2 SHA512 f6576dfac41a515f2bf1918979e9f7927aea32f7cbd552c6f4f550e573556315eeda16f52262994ffe0ee305545f51845f101e7538e7a5e0f5745f3cc75201b9 WHIRLPOOL 2fd2253dadc101dbeeed35785c8b1db7f66500dd52c6597a81d094dbfb6a376782d37bb69c245e2dc4a16ebe3b882b4562a889cbdb765ab80907db0616f9d3ea
@@ -0,0 +1,21 @@
https://bugzilla.gnome.org/show_bug.cgi?id=776532
https://bugs.gentoo.org/580234
--- a/metadata/meta-daemon.c
+++ b/metadata/meta-daemon.c
@@ -27,6 +27,7 @@
#include <glib/gstdio.h>
#include <locale.h>
#include <stdlib.h>
+#include <sys/sysmacros.h>
#include "metatree.h"
#include "gvfsdaemonprotocol.h"
#include "metadata-dbus.h"
--- a/metadata/metatree.c
+++ b/metadata/metatree.c
@@ -1,4 +1,5 @@
#include "config.h"
+#include <sys/sysmacros.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/mman.h>
@@ -0,0 +1,69 @@
--- ./daemon/gvfsbackendcdda.c.old 2017-11-23 11:36:19.478546401 -0800
+++ ./daemon/gvfsbackendcdda.c 2017-11-23 11:56:19.734810497 -0800
@@ -142,11 +142,11 @@ release_metadata (GVfsBackendCdda *cdda_
cdda_backend->genre = NULL;
g_list_free_full (cdda_backend->tracks, (GDestroyNotify) track_free);
cdda_backend->tracks = NULL;
}
-#if LIBCDIO_VERSION_NUM < 84
+#if LIBCDIO_VERSION_NUM < 84 && LIBCDIO_VERSION_NUM != 1
static char *
cdtext_string_to_utf8 (const char *string)
{
if (string == NULL)
return NULL;
@@ -165,45 +165,45 @@ fetch_metadata (GVfsBackendCdda *cdda_ba
cdio = cdio_open (cdda_backend->device_path, DRIVER_UNKNOWN);
if (!cdio)
return;
-#if LIBCDIO_VERSION_NUM >= 84
+#if LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1
cdtext = cdio_get_cdtext (cdio);
#else
cdtext = cdio_get_cdtext (cdio, 0);
-#endif /* LIBCDIO_VERSION_NUM >= 84 */
+#endif /* LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1 */
if (cdtext) {
-#if LIBCDIO_VERSION_NUM >= 84
+#if LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1
cdda_backend->album_title = g_strdup (cdtext_get_const (cdtext, CDTEXT_FIELD_TITLE, 0));
cdda_backend->album_artist = g_strdup (cdtext_get_const (cdtext, CDTEXT_FIELD_PERFORMER, 0));
cdda_backend->genre = g_strdup (cdtext_get_const (cdtext, CDTEXT_FIELD_GENRE, 0));
#else
cdda_backend->album_title = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_TITLE, cdtext));
cdda_backend->album_artist = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_PERFORMER, cdtext));
cdda_backend->genre = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_GENRE, cdtext));
-#endif /* LIBCDIO_VERSION_NUM >= 84 */
+#endif /* LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1 */
}
cdtrack = cdio_get_first_track_num(cdio);
last_cdtrack = cdtrack + cdio_get_num_tracks(cdio);
for ( ; cdtrack < last_cdtrack; cdtrack++ ) {
GVfsBackendCddaTrack *track;
track = g_new0 (GVfsBackendCddaTrack, 1);
-#if LIBCDIO_VERSION_NUM < 84
+#if LIBCDIO_VERSION_NUM < 84 && LIBCDIO_VERSION_NUM != 1
cdtext = cdio_get_cdtext (cdio, cdtrack);
-#endif /* LIBCDIO_VERSION_NUM < 84 */
+#endif /* LIBCDIO_VERSION_NUM < 84 && LIBCDIO_VERSION_NUM != 1 */
if (cdtext) {
-#if LIBCDIO_VERSION_NUM >= 84
+#if LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1
track->title = g_strdup (cdtext_get_const (cdtext, CDTEXT_FIELD_TITLE, cdtrack));
track->artist = g_strdup (cdtext_get_const (cdtext, CDTEXT_FIELD_PERFORMER, cdtrack));
#else
track->title = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_TITLE, cdtext));
track->artist = cdtext_string_to_utf8 (cdtext_get_const (CDTEXT_PERFORMER, cdtext));
-#endif /* LIBCDIO_VERSION_NUM >= 84 */
+#endif /* LIBCDIO_VERSION_NUM >= 84 || LIBCDIO_VERSION_NUM == 1 */
}
track->duration = cdio_get_track_sec_count (cdio, cdtrack) / CDIO_CD_FRAMES_PER_SEC;
cdda_backend->tracks = g_list_append (cdda_backend->tracks, track);
}
+132
View File
@@ -0,0 +1,132 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
GNOME2_LA_PUNT="yes"
inherit autotools gnome2 systemd
DESCRIPTION="Virtual filesystem implementation for gio"
HOMEPAGE="https://wiki.gnome.org/Projects/gvfs"
LICENSE="LGPL-2+"
SLOT="0"
IUSE="afp archive bluray cdda fuse google gnome-keyring gnome-online-accounts gphoto2 gtk +http ios mtp nfs policykit samba systemd test +udev udisks zeroconf"
REQUIRED_USE="
cdda? ( udev )
google? ( gnome-online-accounts )
mtp? ( udev )
udisks? ( udev )
systemd? ( udisks )
"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x86-solaris"
RDEPEND="
app-crypt/gcr:=
>=dev-libs/glib-2.51:2
dev-libs/libxml2:2
net-misc/openssh
afp? ( >=dev-libs/libgcrypt-1.2.2:0= )
archive? ( app-arch/libarchive:= )
bluray? ( media-libs/libbluray:= )
fuse? ( >=sys-fs/fuse-2.8.0:0 )
gnome-keyring? ( app-crypt/libsecret )
gnome-online-accounts? ( >=net-libs/gnome-online-accounts-3.7.1:= )
google? (
>=dev-libs/libgdata-0.17.7:=[crypt,gnome-online-accounts]
>=net-libs/gnome-online-accounts-3.17.1:= )
gphoto2? ( >=media-libs/libgphoto2-2.5.0:= )
gtk? ( >=x11-libs/gtk+-3.0:3 )
http? ( >=net-libs/libsoup-2.42:2.4 )
ios? (
>=app-pda/libimobiledevice-1.2:=
>=app-pda/libplist-1:= )
mtp? (
>=dev-libs/libusb-1.0.21
>=media-libs/libmtp-1.1.12 )
nfs? ( >=net-fs/libnfs-1.9.8 )
policykit? (
sys-auth/polkit
sys-libs/libcap )
samba? ( >=net-fs/samba-4[client] )
systemd? ( >=sys-apps/systemd-206:0= )
udev? (
cdda? ( dev-libs/libcdio-paranoia )
>=virtual/libgudev-147:=
virtual/libudev:= )
udisks? ( >=sys-fs/udisks-1.97:2 )
zeroconf? ( >=net-dns/avahi-0.6 )
"
DEPEND="${RDEPEND}
app-text/docbook-xsl-stylesheets
dev-libs/libxslt
>=sys-devel/gettext-0.19.4
virtual/pkgconfig
dev-util/gdbus-codegen
dev-util/gtk-doc-am
test? (
>=dev-python/twisted-core-12.3.0
|| (
net-analyzer/netcat
net-analyzer/netcat6 ) )
!udev? ( >=dev-libs/libgcrypt-1.2.2:0 )
"
# libgcrypt.m4, provided by libgcrypt, needed for eautoreconf, bug #399043
# test dependencies needed per https://bugzilla.gnome.org/700162
# Tests with multiple failures, this is being handled upstream at:
# https://bugzilla.gnome.org/700162
RESTRICT="test"
PATCHES=(
"${FILESDIR}"/${PN}-1.30.2-sysmacros.patch #580234
"${FILESDIR}"/${P}-libcdio-1.0.0.patch
)
src_prepare() {
if ! use udev; then
sed -e 's/gvfsd-burn/ /' \
-e 's/burn.mount.in/ /' \
-e 's/burn.mount/ /' \
-i daemon/Makefile.am || die
# Uncomment when eautoreconf stops being needed always
eautoreconf
fi
gnome2_src_prepare
}
src_configure() {
# --enable-documentation installs man pages
# --disable-obexftp, upstream bug #729945
gnome2_src_configure \
--disable-gdu \
--enable-documentation \
--enable-gcr \
--with-dbus-service-dir="${EPREFIX}"/usr/share/dbus-1/services \
--with-systemduserunitdir="$(systemd_get_userunitdir)" \
$(use_enable afp) \
$(use_enable archive) \
$(use_enable bluray) \
$(use_enable cdda) \
$(use_enable fuse) \
$(use_enable gnome-keyring keyring) \
$(use_enable gnome-online-accounts goa) \
$(use_enable google) \
$(use_enable gphoto2) \
$(use_enable gtk) \
$(use_enable http) \
$(use_enable ios afc) \
$(use_enable mtp libmtp) \
$(use_enable mtp libusb) \
$(use_enable nfs) \
$(use_enable policykit admin) \
$(use_enable samba) \
$(use_enable systemd libsystemd-login) \
$(use_enable udev gudev) \
$(use_enable udev) \
$(use_enable udisks udisks2) \
$(use_enable zeroconf avahi)
}
+26
View File
@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>gnome@gentoo.org</email>
<name>Gentoo GNOME Desktop</name>
</maintainer>
<longdescription lang="en">
gvfs is a userspace virtual filesystem designed to work with the i/o
abstractions of gio (a library availible in glib &gt;= 2.15.1). It
installs several modules that are automatically used by applications
using the APIs of libgio. There is also fuse support that allows
applications not using gio to access the gvfs filesystems.
</longdescription>
<use>
<flag name="afp">Enables support for accessing AFP (Apple Filing Protocol) network shares</flag>
<flag name="archive">Enables support for accessing files in archives transparently via <pkg>app-arch/libarchive</pkg></flag>
<flag name="bluray">Enable playback of Blu-ray filesystems using <pkg>media-libs/libbluray</pkg></flag>
<flag name="fuse">Enables fuse mount points in $HOME/.gvfs for legacy application access</flag>
<flag name="gnome-online-accounts">Enable configuration panel for <pkg>net-libs/gnome-online-accounts</pkg> accounts</flag>
<flag name="google">Enables support for accessing Google accounts via <pkg>dev-libs/libgdata</pkg></flag>
<flag name="http">Enable the HTTP/DAV backend using <pkg>net-libs/libsoup</pkg></flag>
<flag name="nfs">Enable NFS client support via <pkg>net-fs/libnfs</pkg>.</flag>
<flag name="udev">Enable udev base replacement code for cdda feature</flag>
</use>
</pkgmetadata>