Date: Wednesday, March 14, 2018 @ 21:01:00 Author: heftig Revision: 319136
archrelease: copy trunk to testing-x86_64 Added: nvidia/repos/testing-x86_64/4.15-FS57305.patch (from rev 319135, nvidia/trunk/4.15-FS57305.patch) nvidia/repos/testing-x86_64/PKGBUILD (from rev 319135, nvidia/trunk/PKGBUILD) nvidia/repos/testing-x86_64/fix-abi.patch (from rev 319135, nvidia/trunk/fix-abi.patch) Deleted: nvidia/repos/testing-x86_64/4.15-FS57305.patch nvidia/repos/testing-x86_64/PKGBUILD nvidia/repos/testing-x86_64/fix-abi.patch --------------------+ 4.15-FS57305.patch | 362 +++++++++++++++++++++++++-------------------------- PKGBUILD | 170 +++++++++++------------ fix-abi.patch | 24 +-- 3 files changed, 278 insertions(+), 278 deletions(-) Deleted: 4.15-FS57305.patch =================================================================== --- 4.15-FS57305.patch 2018-03-14 20:58:04 UTC (rev 319135) +++ 4.15-FS57305.patch 2018-03-14 21:01:00 UTC (rev 319136) @@ -1,181 +0,0 @@ -diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh -index 292d7da..5f254e1 100755 ---- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh -+++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh -@@ -2123,6 +2123,7 @@ compile_test() { - #endif - #include <drm/drm_atomic.h> - #include <drm/drm_atomic_helper.h> -+ #include <linux/version.h> - #if !defined(CONFIG_DRM) && !defined(CONFIG_DRM_MODULE) - #error DRM not enabled - #endif -@@ -2146,8 +2147,12 @@ compile_test() { - /* 2014-12-18 88a48e297b3a3bac6022c03babfb038f1a886cea */ - i = DRIVER_ATOMIC; - -+ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - /* 2015-04-10 df63b9994eaf942afcdb946d27a28661d7dfbf2a */ - for_each_crtc_in_state(s, c, cs, i) { } -+ #else -+ for_each_new_crtc_in_state(s, c, cs, i) {} -+ #endif - - /* 2015-05-18 036ef5733ba433760a3512bb5f7a155946e2df05 */ - a = offsetof(struct drm_mode_config_funcs, atomic_state_alloc); -diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c -index cf16b6f..a66ae5a 100644 ---- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c -+++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c -@@ -33,6 +33,7 @@ - - #include <drm/drm_atomic.h> - #include <drm/drm_atomic_helper.h> -+#include <linux/version.h> - - static void nv_drm_connector_destroy(struct drm_connector *connector) - { -@@ -87,7 +88,11 @@ static enum drm_connector_status __nv_drm_connector_detect_internal( - break; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - encoder = drm_encoder_find(dev, connector->encoder_ids[i]); -+#else -+ encoder = drm_encoder_find(dev, NULL, connector->encoder_ids[i]); -+#endif - - if (encoder == NULL) { - BUG_ON(encoder != NULL); -diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c -index b54128a..d820dc2 100644 ---- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c -+++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c -@@ -37,6 +37,7 @@ - - #include <drm/drm_atomic.h> - #include <drm/drm_atomic_helper.h> -+#include <linux/version.h> - - static const u32 nv_default_supported_plane_drm_formats[] = { - DRM_FORMAT_ARGB1555, -@@ -141,7 +142,11 @@ static int nv_drm_plane_atomic_check(struct drm_plane *plane, - goto done; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - for_each_crtc_in_state(plane_state->state, crtc, crtc_state, i) { -+#else -+ for_each_new_crtc_in_state(plane_state->state, crtc, crtc_state, i) { -+#endif - struct nv_drm_crtc_state *nv_crtc_state = to_nv_crtc_state(crtc_state); - struct NvKmsKapiHeadRequestedConfig *head_req_config = - &nv_crtc_state->req_config; -@@ -365,7 +370,11 @@ static int nv_drm_crtc_atomic_check(struct drm_crtc *crtc, - - req_config->flags.displaysChanged = NV_TRUE; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - for_each_connector_in_state(crtc_state->state, -+#else -+ for_each_new_connector_in_state(crtc_state->state, -+#endif - connector, connector_state, j) { - if (connector_state->crtc != crtc) { - continue; -@@ -613,7 +622,11 @@ int nv_drm_get_crtc_crc32_ioctl(struct drm_device *dev, - goto done; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - crtc = drm_crtc_find(dev, params->crtc_id); -+#else -+ crtc = drm_crtc_find(dev, NULL, params->crtc_id); -+#endif - if (!crtc) { - ret = -ENOENT; - goto done; -diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c -index da15d89..91f64ea 100644 ---- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c -+++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c -@@ -33,6 +33,7 @@ - #include <drm/drm_atomic.h> - #include <drm/drm_atomic_helper.h> - #include <drm/drm_crtc.h> -+#include <linux/version.h> - - struct nv_drm_atomic_state { - struct NvKmsKapiRequestedModeSetConfig config; -@@ -110,7 +111,11 @@ nv_drm_atomic_apply_modeset_config(struct drm_device *dev, - memset(requested_config, 0, sizeof(*requested_config)); - - /* Loop over affected crtcs and construct NvKmsKapiRequestedModeSetConfig */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - for_each_crtc_in_state(state, crtc, crtc_state, i) { -+#else -+ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { -+#endif - /* - * When commiting a state, the new state is already stored in - * crtc->state. When checking a proposed state, the proposed state is -@@ -178,7 +183,11 @@ void nv_drm_atomic_helper_commit_tail(struct drm_atomic_state *state) - nv_drm_write_combine_flush(); - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - for_each_crtc_in_state(state, crtc, crtc_state, i) { -+#else -+ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { -+#endif - struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc); - struct nv_drm_crtc_state *nv_crtc_state = to_nv_crtc_state(crtc->state); - struct nv_drm_flip *nv_flip = nv_crtc_state->nv_flip; -@@ -282,7 +291,11 @@ static void nv_drm_atomic_commit_task_callback(struct work_struct *work) - ret); - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - for_each_crtc_in_state(state, crtc, crtc_state, i) { -+#else -+ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { -+#endif - struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc); - - if (wait_event_timeout( -@@ -351,7 +364,11 @@ static int nv_drm_atomic_commit_internal( - * condition between two/more nvKms->applyModeSetConfig() on single - * crtc and generate flip events in correct order. - */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - for_each_crtc_in_state(state, crtc, crtc_state, i) { -+#else -+ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { -+#endif - struct nv_drm_device *nv_dev = to_nv_device(dev); - struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc); - -@@ -372,7 +389,11 @@ static int nv_drm_atomic_commit_internal( - } - } - } else { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - for_each_crtc_in_state(state, crtc, crtc_state, i) { -+#else -+ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { -+#endif - struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc); - - if (atomic_read(&nv_crtc->has_pending_commit) || -@@ -388,7 +409,11 @@ static int nv_drm_atomic_commit_internal( - * flip events. - */ - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) - for_each_crtc_in_state(state, crtc, crtc_state, i) { -+#else -+ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { -+#endif - struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc); - - atomic_set(&nv_crtc->has_pending_commit, true); Copied: nvidia/repos/testing-x86_64/4.15-FS57305.patch (from rev 319135, nvidia/trunk/4.15-FS57305.patch) =================================================================== --- 4.15-FS57305.patch (rev 0) +++ 4.15-FS57305.patch 2018-03-14 21:01:00 UTC (rev 319136) @@ -0,0 +1,181 @@ +diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh +index 292d7da..5f254e1 100755 +--- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh ++++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/conftest.sh +@@ -2123,6 +2123,7 @@ compile_test() { + #endif + #include <drm/drm_atomic.h> + #include <drm/drm_atomic_helper.h> ++ #include <linux/version.h> + #if !defined(CONFIG_DRM) && !defined(CONFIG_DRM_MODULE) + #error DRM not enabled + #endif +@@ -2146,8 +2147,12 @@ compile_test() { + /* 2014-12-18 88a48e297b3a3bac6022c03babfb038f1a886cea */ + i = DRIVER_ATOMIC; + ++ #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + /* 2015-04-10 df63b9994eaf942afcdb946d27a28661d7dfbf2a */ + for_each_crtc_in_state(s, c, cs, i) { } ++ #else ++ for_each_new_crtc_in_state(s, c, cs, i) {} ++ #endif + + /* 2015-05-18 036ef5733ba433760a3512bb5f7a155946e2df05 */ + a = offsetof(struct drm_mode_config_funcs, atomic_state_alloc); +diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c +index cf16b6f..a66ae5a 100644 +--- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c ++++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-connector.c +@@ -33,6 +33,7 @@ + + #include <drm/drm_atomic.h> + #include <drm/drm_atomic_helper.h> ++#include <linux/version.h> + + static void nv_drm_connector_destroy(struct drm_connector *connector) + { +@@ -87,7 +88,11 @@ static enum drm_connector_status __nv_drm_connector_detect_internal( + break; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + encoder = drm_encoder_find(dev, connector->encoder_ids[i]); ++#else ++ encoder = drm_encoder_find(dev, NULL, connector->encoder_ids[i]); ++#endif + + if (encoder == NULL) { + BUG_ON(encoder != NULL); +diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c +index b54128a..d820dc2 100644 +--- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c ++++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-crtc.c +@@ -37,6 +37,7 @@ + + #include <drm/drm_atomic.h> + #include <drm/drm_atomic_helper.h> ++#include <linux/version.h> + + static const u32 nv_default_supported_plane_drm_formats[] = { + DRM_FORMAT_ARGB1555, +@@ -141,7 +142,11 @@ static int nv_drm_plane_atomic_check(struct drm_plane *plane, + goto done; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + for_each_crtc_in_state(plane_state->state, crtc, crtc_state, i) { ++#else ++ for_each_new_crtc_in_state(plane_state->state, crtc, crtc_state, i) { ++#endif + struct nv_drm_crtc_state *nv_crtc_state = to_nv_crtc_state(crtc_state); + struct NvKmsKapiHeadRequestedConfig *head_req_config = + &nv_crtc_state->req_config; +@@ -365,7 +370,11 @@ static int nv_drm_crtc_atomic_check(struct drm_crtc *crtc, + + req_config->flags.displaysChanged = NV_TRUE; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + for_each_connector_in_state(crtc_state->state, ++#else ++ for_each_new_connector_in_state(crtc_state->state, ++#endif + connector, connector_state, j) { + if (connector_state->crtc != crtc) { + continue; +@@ -613,7 +622,11 @@ int nv_drm_get_crtc_crc32_ioctl(struct drm_device *dev, + goto done; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + crtc = drm_crtc_find(dev, params->crtc_id); ++#else ++ crtc = drm_crtc_find(dev, NULL, params->crtc_id); ++#endif + if (!crtc) { + ret = -ENOENT; + goto done; +diff --git a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c +index da15d89..91f64ea 100644 +--- a/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c ++++ b/NVIDIA-Linux-x86_64-390.25-no-compat32/kernel/nvidia-drm/nvidia-drm-modeset.c +@@ -33,6 +33,7 @@ + #include <drm/drm_atomic.h> + #include <drm/drm_atomic_helper.h> + #include <drm/drm_crtc.h> ++#include <linux/version.h> + + struct nv_drm_atomic_state { + struct NvKmsKapiRequestedModeSetConfig config; +@@ -110,7 +111,11 @@ nv_drm_atomic_apply_modeset_config(struct drm_device *dev, + memset(requested_config, 0, sizeof(*requested_config)); + + /* Loop over affected crtcs and construct NvKmsKapiRequestedModeSetConfig */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + for_each_crtc_in_state(state, crtc, crtc_state, i) { ++#else ++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { ++#endif + /* + * When commiting a state, the new state is already stored in + * crtc->state. When checking a proposed state, the proposed state is +@@ -178,7 +183,11 @@ void nv_drm_atomic_helper_commit_tail(struct drm_atomic_state *state) + nv_drm_write_combine_flush(); + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + for_each_crtc_in_state(state, crtc, crtc_state, i) { ++#else ++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { ++#endif + struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc); + struct nv_drm_crtc_state *nv_crtc_state = to_nv_crtc_state(crtc->state); + struct nv_drm_flip *nv_flip = nv_crtc_state->nv_flip; +@@ -282,7 +291,11 @@ static void nv_drm_atomic_commit_task_callback(struct work_struct *work) + ret); + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + for_each_crtc_in_state(state, crtc, crtc_state, i) { ++#else ++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { ++#endif + struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc); + + if (wait_event_timeout( +@@ -351,7 +364,11 @@ static int nv_drm_atomic_commit_internal( + * condition between two/more nvKms->applyModeSetConfig() on single + * crtc and generate flip events in correct order. + */ ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + for_each_crtc_in_state(state, crtc, crtc_state, i) { ++#else ++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { ++#endif + struct nv_drm_device *nv_dev = to_nv_device(dev); + struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc); + +@@ -372,7 +389,11 @@ static int nv_drm_atomic_commit_internal( + } + } + } else { ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + for_each_crtc_in_state(state, crtc, crtc_state, i) { ++#else ++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { ++#endif + struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc); + + if (atomic_read(&nv_crtc->has_pending_commit) || +@@ -388,7 +409,11 @@ static int nv_drm_atomic_commit_internal( + * flip events. + */ + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0) + for_each_crtc_in_state(state, crtc, crtc_state, i) { ++#else ++ for_each_new_crtc_in_state(state, crtc, crtc_state, i) { ++#endif + struct nv_drm_crtc *nv_crtc = to_nv_crtc(crtc); + + atomic_set(&nv_crtc->has_pending_commit, true); Deleted: PKGBUILD =================================================================== --- PKGBUILD 2018-03-14 20:58:04 UTC (rev 319135) +++ PKGBUILD 2018-03-14 21:01:00 UTC (rev 319136) @@ -1,85 +0,0 @@ -# $Id$ -# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> -# Maintainer: Felix Yan <felixonm...@archlinux.org> -# Contributor: Thomas Baechler <tho...@archlinux.org> - -pkgbase=nvidia -pkgname=(nvidia nvidia-dkms) -pkgver=390.25 -_extramodules=extramodules-4.15-ARCH -pkgrel=17 -pkgdesc="NVIDIA drivers for linux" -arch=('x86_64') -url="http://www.nvidia.com/" -makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux' 'linux-headers>=4.15' 'linux-headers<4.16') -license=('custom') -options=('!strip') -source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run" - 4.15-FS57305.patch) -sha256sums=('02263bc81b66e68fc8224447b249f4f0ca4ae201c467e236d917be2fe187f3d6' - '145d436f117455a1a8315b31dc2c9fce3c90c135d8c530b8b8da0e70548f48d9') - -_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32" - -prepare() { - sh "${_pkg}.run" --extract-only - cd "${_pkg}" - - patch -Np2 -i "${srcdir}"/4.15-FS57305.patch - - cp -a kernel kernel-dkms - cd kernel-dkms - sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf - sed -i 's/__JOBS/`nproc`/' dkms.conf - sed -i 's/__DKMS_MODULES//' dkms.conf - sed -i '$iBUILT_MODULE_NAME[0]="nvidia"\ -DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\ -BUILT_MODULE_NAME[1]="nvidia-uvm"\ -DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\ -BUILT_MODULE_NAME[2]="nvidia-modeset"\ -DEST_MODULE_LOCATION[2]="/kernel/drivers/video"\ -BUILT_MODULE_NAME[3]="nvidia-drm"\ -DEST_MODULE_LOCATION[3]="/kernel/drivers/video"' dkms.conf - - # Gift for linux-rt guys - sed -i 's/NV_EXCLUDE_BUILD_MODULES/IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES/' dkms.conf -} - -build() { - _kernver="$(cat /usr/lib/modules/${_extramodules}/version)" - cd "${_pkg}"/kernel - make SYSSRC=/usr/lib/modules/"${_kernver}/build" module -} - -package_nvidia() { - pkgdesc="NVIDIA drivers for linux" - depends=('linux>=4.15' 'linux<4.16' "nvidia-utils=${pkgver}" 'libgl') - - install -Dt "${pkgdir}/usr/lib/modules/${_extramodules}" -m644 \ - "${srcdir}/${_pkg}/kernel"/nvidia{,-modeset,-drm,-uvm}.ko - - find "${pkgdir}" -name '*.ko' -exec gzip -n {} + - - echo "blacklist nouveau" | - install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf" - - install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE" -} - -package_nvidia-dkms() { - pkgdesc="NVIDIA driver sources for linux" - depends=('dkms' "nvidia-utils=$pkgver" 'libgl') - optdepends=('linux-headers: Build the module for Arch kernel' - 'linux-lts-headers: Build the module for LTS Arch kernel') - conflicts+=('nvidia') - - cd ${_pkg} - - install -dm 755 "${pkgdir}"/usr/src - cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}/usr/src/nvidia-${pkgver}" - - echo "blacklist nouveau" | - install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf" - - install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE" -} Copied: nvidia/repos/testing-x86_64/PKGBUILD (from rev 319135, nvidia/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2018-03-14 21:01:00 UTC (rev 319136) @@ -0,0 +1,85 @@ +# $Id$ +# Maintainer: Sven-Hendrik Haase <s...@lutzhaase.com> +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Thomas Baechler <tho...@archlinux.org> + +pkgbase=nvidia +pkgname=(nvidia nvidia-dkms) +pkgver=390.42 +_extramodules=extramodules-4.15-ARCH +pkgrel=2 +pkgdesc="NVIDIA drivers for linux" +arch=('x86_64') +url="http://www.nvidia.com/" +makedepends=('nvidia-libgl' "nvidia-utils=${pkgver}" 'linux' 'linux-headers>=4.15' 'linux-headers<4.16') +license=('custom') +options=('!strip') +source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run" + 4.15-FS57305.patch) +sha256sums=('5f242cf0f7f4dcc45759eee3b4973191114842fe7c146c5ae7a12a2ebea394aa' + '145d436f117455a1a8315b31dc2c9fce3c90c135d8c530b8b8da0e70548f48d9') + +_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32" + +prepare() { + sh "${_pkg}.run" --extract-only + cd "${_pkg}" + + patch -Np2 -i "${srcdir}"/4.15-FS57305.patch + + cp -a kernel kernel-dkms + cd kernel-dkms + sed -i "s/__VERSION_STRING/${pkgver}/" dkms.conf + sed -i 's/__JOBS/`nproc`/' dkms.conf + sed -i 's/__DKMS_MODULES//' dkms.conf + sed -i '$iBUILT_MODULE_NAME[0]="nvidia"\ +DEST_MODULE_LOCATION[0]="/kernel/drivers/video"\ +BUILT_MODULE_NAME[1]="nvidia-uvm"\ +DEST_MODULE_LOCATION[1]="/kernel/drivers/video"\ +BUILT_MODULE_NAME[2]="nvidia-modeset"\ +DEST_MODULE_LOCATION[2]="/kernel/drivers/video"\ +BUILT_MODULE_NAME[3]="nvidia-drm"\ +DEST_MODULE_LOCATION[3]="/kernel/drivers/video"' dkms.conf + + # Gift for linux-rt guys + sed -i 's/NV_EXCLUDE_BUILD_MODULES/IGNORE_PREEMPT_RT_PRESENCE=1 NV_EXCLUDE_BUILD_MODULES/' dkms.conf +} + +build() { + _kernver="$(cat /usr/lib/modules/${_extramodules}/version)" + cd "${_pkg}"/kernel + make SYSSRC=/usr/lib/modules/"${_kernver}/build" module +} + +package_nvidia() { + pkgdesc="NVIDIA drivers for linux" + depends=('linux>=4.15' 'linux<4.16' "nvidia-utils=${pkgver}" 'libgl') + + install -Dt "${pkgdir}/usr/lib/modules/${_extramodules}" -m644 \ + "${srcdir}/${_pkg}/kernel"/nvidia{,-modeset,-drm,-uvm}.ko + + find "${pkgdir}" -name '*.ko' -exec gzip -n {} + + + echo "blacklist nouveau" | + install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf" + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE" +} + +package_nvidia-dkms() { + pkgdesc="NVIDIA driver sources for linux" + depends=('dkms' "nvidia-utils=$pkgver" 'libgl') + optdepends=('linux-headers: Build the module for Arch kernel' + 'linux-lts-headers: Build the module for LTS Arch kernel') + conflicts+=('nvidia') + + cd ${_pkg} + + install -dm 755 "${pkgdir}"/usr/src + cp -dr --no-preserve='ownership' kernel-dkms "${pkgdir}/usr/src/nvidia-${pkgver}" + + echo "blacklist nouveau" | + install -Dm644 /dev/stdin "${pkgdir}/usr/lib/modprobe.d/${pkgname}.conf" + + install -Dt "${pkgdir}/usr/share/licenses/${pkgname}" -m644 "${srcdir}/${_pkg}/LICENSE" +} Deleted: fix-abi.patch =================================================================== --- fix-abi.patch 2018-03-14 20:58:04 UTC (rev 319135) +++ fix-abi.patch 2018-03-14 21:01:00 UTC (rev 319136) @@ -1,12 +0,0 @@ -diff -u -r kernel/nvidia-drm/nvidia-drm-fence.c kernel-patched/nvidia-drm/nvidia-drm-fence.c ---- kernel/nvidia-drm/nvidia-drm-fence.c 2016-08-09 01:43:19.000000000 +0200 -+++ kernel-patched/nvidia-drm/nvidia-drm-fence.c 2016-08-25 14:31:34.419655564 +0200 -@@ -325,7 +325,7 @@ - struct nvidia_drm_gem_object *nv_gem; - }; - --static void nvidia_drm_gem_prime_soft_fence_event -+static void NVKMS_KAPI_CALL nvidia_drm_gem_prime_soft_fence_event - ( - void *dataPtr, - NvU32 dataU32 Copied: nvidia/repos/testing-x86_64/fix-abi.patch (from rev 319135, nvidia/trunk/fix-abi.patch) =================================================================== --- fix-abi.patch (rev 0) +++ fix-abi.patch 2018-03-14 21:01:00 UTC (rev 319136) @@ -0,0 +1,12 @@ +diff -u -r kernel/nvidia-drm/nvidia-drm-fence.c kernel-patched/nvidia-drm/nvidia-drm-fence.c +--- kernel/nvidia-drm/nvidia-drm-fence.c 2016-08-09 01:43:19.000000000 +0200 ++++ kernel-patched/nvidia-drm/nvidia-drm-fence.c 2016-08-25 14:31:34.419655564 +0200 +@@ -325,7 +325,7 @@ + struct nvidia_drm_gem_object *nv_gem; + }; + +-static void nvidia_drm_gem_prime_soft_fence_event ++static void NVKMS_KAPI_CALL nvidia_drm_gem_prime_soft_fence_event + ( + void *dataPtr, + NvU32 dataU32