From d015d86919746aadcf0fb86d02548936f3f8e900 Mon Sep 17 00:00:00 2001 From: Andrew Savchenko Date: Mon, 22 Feb 2016 12:00:43 +0300 Subject: [PATCH] media-libs/svgalib: fix bug 557052 Add support for file_inode() appeared in 3.9.0. In 4.0 f_dentry struct was removed, so this call is the only way to go. Patch is based on Diego Moimas proposal from bug 557052. Package-Manager: portage-2.2.27 Signed-off-by: Andrew Savchenko --- .../files/svgalib-1.9.25-linux3.9.patch | 27 +++++++++++++++++++ media-libs/svgalib/svgalib-1.9.25-r4.ebuild | 3 ++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 media-libs/svgalib/files/svgalib-1.9.25-linux3.9.patch diff --git a/media-libs/svgalib/files/svgalib-1.9.25-linux3.9.patch b/media-libs/svgalib/files/svgalib-1.9.25-linux3.9.patch new file mode 100644 index 0000000000000..be10e394707ac --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.25-linux3.9.patch @@ -0,0 +1,27 @@ +--- svgalib-1.9.25/kernel/svgalib_helper/main.c.orig 2016-02-22 11:10:25.000000000 +0300 ++++ svgalib-1.9.25/kernel/svgalib_helper/main.c 2016-02-22 11:17:16.223529679 +0300 +@@ -170,8 +170,12 @@ + #else + static int svgalib_helper_ioctl(struct file *filp, + unsigned int cmd, unsigned long arg) { ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) ++ struct inode *inode=file_inode(filp); ++#else + struct inode *inode=filp->f_dentry->d_inode; + #endif ++#endif + + io_t iov, *user_iov=(io_t *)arg; + pcic_t pciv, *user_pciv=(pcic_t *)arg; +@@ -586,7 +590,11 @@ + static int svgalib_helper_mmap(struct file *filp, struct vm_area_struct *vma) { + unsigned long start=vma->vm_start; + unsigned long end=vma->vm_end; ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,9,0) ++ unsigned long minor = my_minor(file_inode(filp)->i_rdev); ++#else + unsigned long minor = my_minor(filp->f_dentry->d_inode->i_rdev); ++#endif + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0) + unsigned long ofs=vma->vm_pgoff*PAGE_SIZE; + #else diff --git a/media-libs/svgalib/svgalib-1.9.25-r4.ebuild b/media-libs/svgalib/svgalib-1.9.25-r4.ebuild index 2f7f0b82733f7..b68e30fc7ea41 100644 --- a/media-libs/svgalib/svgalib-1.9.25-r4.ebuild +++ b/media-libs/svgalib/svgalib-1.9.25-r4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2012 Gentoo Foundation +# Copyright 1999-2016 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Id$ @@ -37,6 +37,7 @@ src_prepare() { epatch "${FILESDIR}"/${PN}-1.9.25-build2.patch epatch "${FILESDIR}"/${PN}-1.9.25-qa.patch epatch "${FILESDIR}"/${PN}-1.9.25-kernel3.4.patch + epatch "${FILESDIR}"/${PN}-1.9.25-linux3.9.patch sed -i -e '/linux\/smp_lock.h/d' kernel/svgalib_helper/main.c || die }