Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Nov 2018 21:25:21 +0000 (UTC)
From:      Niclas Zeising <zeising@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r486065 - in head/graphics/libdrm: . files
Message-ID:  <201811272125.wARLPLmp090348@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: zeising
Date: Tue Nov 27 21:25:21 2018
New Revision: 486065
URL: https://svnweb.freebsd.org/changeset/ports/486065

Log:
  graphics/libdrm: Update to 2.4.96
  
  Rework local patches a bit because of upstream changes.
  
  Changelog:
  https://lists.freedesktop.org/archives/dri-devel/2018-August/187286.html
  https://lists.x.org/archives/xorg-announce/2018-October/002920.html
  https://lists.x.org/archives/xorg-announce/2018-October/002925.html
  
  PR:		231607
  Submitted by:	voidanix (original version)
  Obtained from:	https://github.com/FreeBSDDesktop/freebsd-ports/tree/feature/libdrm

Modified:
  head/graphics/libdrm/Makefile
  head/graphics/libdrm/distinfo
  head/graphics/libdrm/files/patch-xf86drm.c
  head/graphics/libdrm/files/patch-xf86drmMode.c
  head/graphics/libdrm/pkg-plist

Modified: head/graphics/libdrm/Makefile
==============================================================================
--- head/graphics/libdrm/Makefile	Tue Nov 27 21:20:04 2018	(r486064)
+++ head/graphics/libdrm/Makefile	Tue Nov 27 21:25:21 2018	(r486065)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	libdrm
-PORTVERSION=	2.4.93
+PORTVERSION=	2.4.96
 PORTEPOCH=	1
 CATEGORIES=	graphics x11
 MASTER_SITES=	http://dri.freedesktop.org/libdrm/

Modified: head/graphics/libdrm/distinfo
==============================================================================
--- head/graphics/libdrm/distinfo	Tue Nov 27 21:20:04 2018	(r486064)
+++ head/graphics/libdrm/distinfo	Tue Nov 27 21:25:21 2018	(r486065)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1533240104
-SHA256 (libdrm-2.4.93.tar.bz2) = 6e84d1dc9548a76f20b59a85cf80a0b230cd8196084f5243469d9e65354fcd3c
-SIZE (libdrm-2.4.93.tar.bz2) = 826579
+TIMESTAMP = 1539797646
+SHA256 (libdrm-2.4.96.tar.bz2) = 0d561acf7bb4cc59dc82415100e6c1a44860e8c380e00f9592923e3cd08db393
+SIZE (libdrm-2.4.96.tar.bz2) = 829518

Modified: head/graphics/libdrm/files/patch-xf86drm.c
==============================================================================
--- head/graphics/libdrm/files/patch-xf86drm.c	Tue Nov 27 21:20:04 2018	(r486064)
+++ head/graphics/libdrm/files/patch-xf86drm.c	Tue Nov 27 21:25:21 2018	(r486065)
@@ -1,4 +1,4 @@
---- xf86drm.c.orig	2018-08-02 20:12:58 UTC
+--- xf86drm.c.orig	2018-11-26 18:52:00 UTC
 +++ xf86drm.c
 @@ -46,6 +46,9 @@
  #include <signal.h>
@@ -41,16 +41,16 @@
  #endif
  
  #ifdef __NetBSD__
-@@ -177,7 +174,7 @@ void drmFree(void *pt)
+@@ -177,7 +174,7 @@ drm_public void drmFree(void *pt)
  }
  
  /**
 - * Call ioctl, restarting if it is interupted
 + * Call ioctl, restarting if it is interrupted
   */
- int
+ drm_public int
  drmIoctl(int fd, unsigned long request, void *arg)
-@@ -220,6 +217,89 @@ drmHashEntry *drmGetEntry(int fd)
+@@ -220,6 +217,89 @@ drm_public drmHashEntry *drmGetEntry(int fd)
      return entry;
  }
  
@@ -222,7 +222,7 @@
      if ((fd = open(buf, O_RDWR | O_CLOEXEC, 0)) >= 0)
          return fd;
      return -errno;
-@@ -514,51 +580,6 @@ int drmAvailable(void)
+@@ -514,51 +580,6 @@ drm_public int drmAvailable(void)
      return retval;
  }
  
@@ -274,9 +274,9 @@
  /**
   * Open the device by bus ID.
   *
-@@ -2737,33 +2758,40 @@ int drmDropMaster(int fd)
+@@ -2743,28 +2764,22 @@ drm_public int drmDropMaster(int fd)
  
- char *drmGetDeviceNameFromFd(int fd)
+ drm_public char *drmGetDeviceNameFromFd(int fd)
  {
 -    char name[128];
 -    struct stat sbuf;
@@ -308,7 +308,17 @@
 +    return NULL;
  }
  
- int drmGetNodeTypeFromFd(int fd)
+ static bool drmNodeIsDRM(int maj, int min)
+@@ -2777,13 +2792,26 @@ static bool drmNodeIsDRM(int maj, int min)
+              maj, min);
+     return stat(path, &sbuf) == 0;
+ #else
+-    return maj == DRM_MAJOR;
++    return !DRM_MAJOR || maj == DRM_MAJOR;
+ #endif
+ }
+ 
+ drm_public int drmGetNodeTypeFromFd(int fd)
  {
 -    struct stat sbuf;
 +#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__)
@@ -328,15 +338,15 @@
      int maj, min, type;
  
      if (fstat(fd, &sbuf))
-@@ -2781,6 +2809,7 @@ int drmGetNodeTypeFromFd(int fd)
+@@ -2801,6 +2829,7 @@ drm_public int drmGetNodeTypeFromFd(int fd)
      if (type == -1)
          errno = ENODEV;
      return type;
 +#endif
  }
  
- int drmPrimeHandleToFD(int fd, uint32_t handle, uint32_t flags, int *prime_fd)
-@@ -2820,7 +2849,7 @@ static char *drmGetMinorNameForFD(int fd, int type)
+ drm_public int drmPrimeHandleToFD(int fd, uint32_t handle, uint32_t flags,
+@@ -2841,7 +2870,7 @@ static char *drmGetMinorNameForFD(int fd, int type)
  #ifdef __linux__
      DIR *sysdir;
      struct dirent *ent;
@@ -345,7 +355,7 @@
      const char *name = drmGetMinorName(type);
      int len;
      char dev_name[64], buf[64];
-@@ -2858,13 +2887,35 @@ static char *drmGetMinorNameForFD(int fd, int type)
+@@ -2879,13 +2908,35 @@ static char *drmGetMinorNameForFD(int fd, int type)
  
      closedir(sysdir);
      return NULL;
@@ -384,8 +394,8 @@
      if (fstat(fd, &sbuf))
          return NULL;
  
-@@ -2874,20 +2925,6 @@ static char *drmGetMinorNameForFD(int fd, int type)
-     if (maj != DRM_MAJOR || !S_ISCHR(sbuf.st_mode))
+@@ -2895,20 +2946,6 @@ static char *drmGetMinorNameForFD(int fd, int type)
+     if (!drmNodeIsDRM(maj, min) || !S_ISCHR(sbuf.st_mode))
          return NULL;
  
 -    switch (type) {
@@ -405,7 +415,7 @@
      base = drmGetMinorBase(type);
      if (base < 0)
          return NULL;
-@@ -2990,7 +3027,7 @@ static int drmParseSubsystemType(int maj, int min)
+@@ -3011,7 +3048,7 @@ static int drmParseSubsystemType(int maj, int min)
          return DRM_BUS_VIRTIO;
  
      return -EINVAL;
@@ -414,8 +424,8 @@
      return DRM_BUS_PCI;
  #else
  #warning "Missing implementation of drmParseSubsystemType"
-@@ -3014,7 +3051,8 @@ get_real_pci_path(int maj, int min, char *real_path)
-     return real_path;
+@@ -3035,7 +3072,8 @@ get_pci_path(int maj, int min, char *pci_path)
+         *term = 0;
  }
  
 -static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info)
@@ -424,7 +434,7 @@
  {
  #ifdef __linux__
      unsigned int domain, bus, dev, func;
-@@ -3064,6 +3102,60 @@ static int drmParsePciBusInfo(int maj, int min, drmPci
+@@ -3084,6 +3122,60 @@ static int drmParsePciBusInfo(int maj, int min, drmPci
      info->func = pinfo.func;
  
      return 0;
@@ -485,7 +495,7 @@
  #else
  #warning "Missing implementation of drmParsePciBusInfo"
      return -EINVAL;
-@@ -3098,32 +3190,6 @@ int drmDevicesEqual(drmDevicePtr a, drmDevicePtr b)
+@@ -3118,32 +3210,6 @@ drm_public int drmDevicesEqual(drmDevicePtr a, drmDevi
      return 0;
  }
  
@@ -518,7 +528,7 @@
  #ifdef __linux__
  static int parse_separate_sysfs_files(int maj, int min,
                                        drmPciDeviceInfoPtr device,
-@@ -3198,6 +3264,7 @@ static int parse_config_sysfs_file(int maj, int min,
+@@ -3216,6 +3282,7 @@ static int parse_config_sysfs_file(int maj, int min,
  #endif
  
  static int drmParsePciDeviceInfo(int maj, int min,
@@ -526,7 +536,7 @@
                                   drmPciDeviceInfoPtr device,
                                   uint32_t flags)
  {
-@@ -3234,6 +3301,43 @@ static int drmParsePciDeviceInfo(int maj, int min,
+@@ -3252,6 +3319,43 @@ static int drmParsePciDeviceInfo(int maj, int min,
      device->subdevice_id = pinfo.subdevice_id;
  
      return 0;
@@ -570,7 +580,7 @@
  #else
  #warning "Missing implementation of drmParsePciDeviceInfo"
      return -EINVAL;
-@@ -3314,7 +3418,7 @@ static drmDevicePtr drmDeviceAlloc(unsigned int type, 
+@@ -3332,7 +3436,7 @@ static drmDevicePtr drmDeviceAlloc(unsigned int type, 
      unsigned int i;
      char *ptr;
  
@@ -579,7 +589,7 @@
      extra = DRM_NODE_MAX * (sizeof(void *) + max_node_length);
  
      size = sizeof(*device) + extra + bus_size + device_size;
-@@ -3360,7 +3464,7 @@ static int drmProcessPciDevice(drmDevicePtr *device,
+@@ -3378,7 +3482,7 @@ static int drmProcessPciDevice(drmDevicePtr *device,
  
      dev->businfo.pci = (drmPciBusInfoPtr)addr;
  
@@ -588,7 +598,7 @@
      if (ret)
          goto free_device;
  
-@@ -3369,7 +3473,7 @@ static int drmProcessPciDevice(drmDevicePtr *device,
+@@ -3387,7 +3491,7 @@ static int drmProcessPciDevice(drmDevicePtr *device,
          addr += sizeof(drmPciBusInfo);
          dev->deviceinfo.pci = (drmPciDeviceInfoPtr)addr;
  
@@ -597,7 +607,7 @@
          if (ret)
              goto free_device;
      }
-@@ -3709,8 +3813,8 @@ process_device(drmDevicePtr *device, const char *d_nam
+@@ -3727,8 +3831,8 @@ process_device(drmDevicePtr *device, const char *d_nam
                 int req_subsystem_type,
                 bool fetch_deviceinfo, uint32_t flags)
  {
@@ -608,7 +618,7 @@
      int node_type, subsystem_type;
      unsigned int maj, min;
  
-@@ -3718,14 +3822,14 @@ process_device(drmDevicePtr *device, const char *d_nam
+@@ -3736,7 +3840,7 @@ process_device(drmDevicePtr *device, const char *d_nam
      if (node_type < 0)
          return -1;
  
@@ -617,15 +627,7 @@
      if (stat(node, &sbuf))
          return -1;
  
-     maj = major(sbuf.st_rdev);
-     min = minor(sbuf.st_rdev);
- 
--    if (maj != DRM_MAJOR || !S_ISCHR(sbuf.st_mode))
-+    if (DRM_MAJOR && maj != DRM_MAJOR || !S_ISCHR(sbuf.st_mode))
-         return -1;
- 
-     subsystem_type = drmParseSubsystemType(maj, min);
-@@ -3766,7 +3870,7 @@ static void drmFoldDuplicatedDevices(drmDevicePtr loca
+@@ -3784,7 +3888,7 @@ static void drmFoldDuplicatedDevices(drmDevicePtr loca
                  local_devices[i]->available_nodes |= local_devices[j]->available_nodes;
                  node_type = log2(local_devices[j]->available_nodes);
                  memcpy(local_devices[i]->nodes[node_type],
@@ -634,7 +636,7 @@
                  drmFreeDevice(&local_devices[j]);
              }
          }
-@@ -3806,7 +3910,7 @@ drm_device_has_rdev(drmDevicePtr device, dev_t find_rd
+@@ -3824,7 +3928,7 @@ drm_device_has_rdev(drmDevicePtr device, dev_t find_rd
   * Get information about the opened drm device
   *
   * \param fd file descriptor of the drm device
@@ -643,7 +645,7 @@
   * \param device the address of a drmDevicePtr where the information
   *               will be allocated in stored
   *
-@@ -3824,8 +3928,8 @@ int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr
+@@ -3842,8 +3946,8 @@ drm_public int drmGetDevice2(int fd, uint32_t flags, d
       * Avoid stat'ing all of /dev needlessly by implementing this custom path.
       */
      drmDevicePtr     d;
@@ -654,7 +656,7 @@
      const char      *dev_name;
      int              node_type, subsystem_type;
      int              maj, min, n, ret, base;
-@@ -3846,26 +3950,16 @@ int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr
+@@ -3864,26 +3968,16 @@ drm_public int drmGetDevice2(int fd, uint32_t flags, d
      if (node_type == -1)
          return -ENODEV;
  
@@ -685,16 +687,7 @@
        return -errno;
      if (stat(node, &sbuf))
          return -EINVAL;
-@@ -3905,7 +3999,7 @@ int drmGetDevice2(int fd, uint32_t flags, drmDevicePtr
-     maj = major(sbuf.st_rdev);
-     min = minor(sbuf.st_rdev);
- 
--    if (maj != DRM_MAJOR || !S_ISCHR(sbuf.st_mode))
-+    if ((DRM_MAJOR && maj != DRM_MAJOR) || !S_ISCHR(sbuf.st_mode))
-         return -EINVAL;
- 
-     subsystem_type = drmParseSubsystemType(maj, min);
-@@ -3971,7 +4065,7 @@ int drmGetDevice(int fd, drmDevicePtr *device)
+@@ -3989,7 +4083,7 @@ drm_public int drmGetDevice(int fd, drmDevicePtr *devi
  /**
   * Get drm devices on the system
   *
@@ -703,8 +696,8 @@
   * \param devices the array of devices with drmDevicePtr elements
   *                can be NULL to get the device number first
   * \param max_devices the maximum number of devices for the array
-@@ -4055,7 +4149,7 @@ int drmGetDevices(drmDevicePtr devices[], int max_devi
- char *drmGetDeviceNameFromFd2(int fd)
+@@ -4074,7 +4168,7 @@ drm_public int drmGetDevices(drmDevicePtr devices[], i
+ drm_public char *drmGetDeviceNameFromFd2(int fd)
  {
  #ifdef __linux__
 -    struct stat sbuf;
@@ -712,7 +705,7 @@
      char path[PATH_MAX + 1], *value;
      unsigned int maj, min;
  
-@@ -4078,9 +4172,26 @@ char *drmGetDeviceNameFromFd2(int fd)
+@@ -4097,9 +4191,26 @@ drm_public char *drmGetDeviceNameFromFd2(int fd)
      free(value);
  
      return strdup(path);
@@ -741,7 +734,7 @@
      const char      *dev_name;
      int              node_type;
      int              maj, min, n, base;
-@@ -4098,26 +4209,16 @@ char *drmGetDeviceNameFromFd2(int fd)
+@@ -4117,26 +4228,16 @@ drm_public char *drmGetDeviceNameFromFd2(int fd)
      if (node_type == -1)
          return NULL;
  

Modified: head/graphics/libdrm/files/patch-xf86drmMode.c
==============================================================================
--- head/graphics/libdrm/files/patch-xf86drmMode.c	Tue Nov 27 21:20:04 2018	(r486064)
+++ head/graphics/libdrm/files/patch-xf86drmMode.c	Tue Nov 27 21:25:21 2018	(r486065)
@@ -1,4 +1,4 @@
---- xf86drmMode.c.orig	2018-05-13 10:01:15 UTC
+--- xf86drmMode.c.orig	2018-10-04 14:50:03 UTC
 +++ xf86drmMode.c
 @@ -43,6 +43,7 @@
  #include <stdlib.h>
@@ -8,7 +8,7 @@
  #include <sys/sysctl.h>
  #endif
  #include <stdio.h>
-@@ -792,41 +793,59 @@ int drmCheckModesettingSupported(const char *busid)
+@@ -799,41 +800,59 @@ drm_public int drmCheckModesettingSupported(const char
  	closedir(sysdir);
  	if (found)
  		return 0;

Modified: head/graphics/libdrm/pkg-plist
==============================================================================
--- head/graphics/libdrm/pkg-plist	Tue Nov 27 21:20:04 2018	(r486064)
+++ head/graphics/libdrm/pkg-plist	Tue Nov 27 21:25:21 2018	(r486065)
@@ -19,6 +19,7 @@ include/libdrm/i915_drm.h
 %%INTEL_DRIVER%%include/libdrm/intel_debug.h
 include/libdrm/mach64_drm.h
 include/libdrm/mga_drm.h
+include/libdrm/msm_drm.h
 %%NOUVEAU_DRIVER%%include/libdrm/nouveau/nouveau.h
 %%NOUVEAU_DRIVER%%include/libdrm/nouveau/nvif/cl0080.h
 %%NOUVEAU_DRIVER%%include/libdrm/nouveau/nvif/cl9097.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201811272125.wARLPLmp090348>