From f5936ddc0f739e50545692e3b67955b412ef170f Mon Sep 17 00:00:00 2001 From: guibuilder_pel7x64builder0 Date: Tue, 11 Feb 2020 12:21:00 +0100 Subject: [PATCH] llvm/mesa update Signed-off-by: guibuilder_pel7x64builder0 --- ...0001-Don-t-set-rpath-when-installing.patch | 24 ++ SOURCES/0001-Fix-CMake-include-patch.patch | 14 +- ...01-glx-fix-shared-memory-leak-in-X11.patch | 31 ++ SOURCES/fix-llvmpipe-remote-shm.patch | 68 ++++ SOURCES/mesa-10.2-evergreen-big-endian.patch | 74 ++-- SPECS/llvm.spec | 24 +- SPECS/mesa.spec | 343 ++++++++++++++---- SPECS/nextcloud-client.spec | 128 ++++--- 8 files changed, 529 insertions(+), 177 deletions(-) create mode 100644 SOURCES/0001-Don-t-set-rpath-when-installing.patch create mode 100644 SOURCES/0001-glx-fix-shared-memory-leak-in-X11.patch create mode 100644 SOURCES/fix-llvmpipe-remote-shm.patch diff --git a/SOURCES/0001-Don-t-set-rpath-when-installing.patch b/SOURCES/0001-Don-t-set-rpath-when-installing.patch new file mode 100644 index 0000000..d92a387 --- /dev/null +++ b/SOURCES/0001-Don-t-set-rpath-when-installing.patch @@ -0,0 +1,24 @@ +From e67ace2ecb42c24e124f1738dc67b22055a22500 Mon Sep 17 00:00:00 2001 +From: Tom Stellard +Date: Thu, 13 Sep 2018 10:10:08 -0700 +Subject: [PATCH] Don't set rpath when installing + +--- + cmake/modules/AddLLVM.cmake | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/cmake/modules/AddLLVM.cmake b/cmake/modules/AddLLVM.cmake +index ce2057f..de309b5 100644 +--- a/cmake/modules/AddLLVM.cmake ++++ b/cmake/modules/AddLLVM.cmake +@@ -1621,6 +1621,7 @@ function(llvm_codesign name) + endfunction() + + function(llvm_setup_rpath name) ++ return() + if(CMAKE_INSTALL_RPATH) + return() + endif() +-- +1.8.3.1 + diff --git a/SOURCES/0001-Fix-CMake-include-patch.patch b/SOURCES/0001-Fix-CMake-include-patch.patch index ed60a3d..04fd948 100644 --- a/SOURCES/0001-Fix-CMake-include-patch.patch +++ b/SOURCES/0001-Fix-CMake-include-patch.patch @@ -1,4 +1,4 @@ -From f8dac15efe0c2330e1d24bcac89b1d01d9c794b9 Mon Sep 17 00:00:00 2001 +From 21b9ac9a713657e794c6b1f57e8e94fd9ac970cb Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Mon, 2 Oct 2017 18:42:32 -0700 Subject: [PATCH] Fix CMake include patch @@ -8,10 +8,10 @@ Subject: [PATCH] Fix CMake include patch 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt -index 160f3b0..2fd3a27 100644 +index 63122c4..6ddc261 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -303,6 +303,7 @@ else() +@@ -295,6 +295,7 @@ else() endif() # Each of them corresponds to llvm-config's. @@ -19,7 +19,7 @@ index 160f3b0..2fd3a27 100644 set(LLVM_TOOLS_BINARY_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) # --bindir set(LLVM_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) # --libdir set(LLVM_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} ) # --src-root -@@ -768,6 +769,11 @@ set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/bin ) +@@ -789,6 +790,11 @@ set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/bin ) set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} ) set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} ) @@ -31,7 +31,7 @@ index 160f3b0..2fd3a27 100644 if(APPLE AND DARWIN_LTO_LIBRARY) set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-lto_library -Wl,${DARWIN_LTO_LIBRARY}") -@@ -949,7 +955,7 @@ add_subdirectory(cmake/modules) +@@ -966,7 +972,7 @@ endif() if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) install(DIRECTORY include/llvm include/llvm-c @@ -40,10 +40,10 @@ index 160f3b0..2fd3a27 100644 COMPONENT llvm-headers FILES_MATCHING PATTERN "*.def" -@@ -961,7 +967,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) +@@ -978,7 +984,7 @@ if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY) ) - install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm + install(DIRECTORY ${LLVM_INCLUDE_DIR}/llvm ${LLVM_INCLUDE_DIR}/llvm-c - DESTINATION include + DESTINATION "${INCLUDE_INSTALL_DIR}" COMPONENT llvm-headers diff --git a/SOURCES/0001-glx-fix-shared-memory-leak-in-X11.patch b/SOURCES/0001-glx-fix-shared-memory-leak-in-X11.patch new file mode 100644 index 0000000..4cb6895 --- /dev/null +++ b/SOURCES/0001-glx-fix-shared-memory-leak-in-X11.patch @@ -0,0 +1,31 @@ +From b344e32cdf7064a1f2ff7ef37027edda6589404f Mon Sep 17 00:00:00 2001 +From: Ray Zhang +Date: Wed, 27 Feb 2019 06:54:05 +0000 +Subject: [PATCH] glx: fix shared memory leak in X11 + +call XShmDetach to allow X server to free shared memory + +Fixes: bcd80be49a8260c2233d "drisw/glx: use XShm if possible" +Signed-off-by: Ray Zhang +Reviewed-by: Dave Airlie +--- + src/glx/drisw_glx.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c +index 00c7fa100ab..48c03ca42e0 100644 +--- a/src/glx/drisw_glx.c ++++ b/src/glx/drisw_glx.c +@@ -147,6 +147,9 @@ XDestroyDrawable(struct drisw_drawable * pdp, Display * dpy, XID drawable) + if (pdp->ximage) + XDestroyImage(pdp->ximage); + ++ if (pdp->shminfo.shmid > 0) ++ XShmDetach(dpy, &pdp->shminfo); ++ + free(pdp->visinfo); + + XFreeGC(dpy, pdp->gc); +-- +2.20.1 + diff --git a/SOURCES/fix-llvmpipe-remote-shm.patch b/SOURCES/fix-llvmpipe-remote-shm.patch new file mode 100644 index 0000000..b03ae67 --- /dev/null +++ b/SOURCES/fix-llvmpipe-remote-shm.patch @@ -0,0 +1,68 @@ +From 607a59f2922b1261920bae94efe4dc87da18d576 Mon Sep 17 00:00:00 2001 +From: Adam Jackson +Date: Tue, 5 Mar 2019 15:31:51 -0500 +Subject: [PATCH] drisw: Try harder to probe whether MIT-SHM works + +XQueryExtension merely tells you whether the extension exists, it +doesn't tell you whether you're local enough for it to work. +XShmQueryVersion is not enough to discover this either, you need to +provoke the server to do actual work, and if it thinks you're remote it +will throw BadRequest at you. So send an invalid ShmDetach and use the +error code to distinguish local from remote. + +Signed-off-by: Adam Jackson +--- + src/glx/drisw_glx.c | 26 ++++++++++++++++++++++---- + 1 file changed, 22 insertions(+), 4 deletions(-) + +diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c +index c63b097a71a..67698d1c450 100644 +--- a/src/glx/drisw_glx.c ++++ b/src/glx/drisw_glx.c +@@ -73,11 +73,10 @@ handle_xerror(Display *dpy, XErrorEvent *event) + (void) dpy; + + assert(xshm_opcode != -1); +- if (event->request_code != xshm_opcode || +- event->minor_code != X_ShmAttach) ++ if (event->request_code != xshm_opcode) + return 0; + +- xshm_error = 1; ++ xshm_error = event->error_code; + return 0; + } + +@@ -826,9 +825,28 @@ driswBindExtensions(struct drisw_screen *psc, const __DRIextension **extensions) + static int + check_xshm(Display *dpy) + { ++ int (*old_handler)(Display *, XErrorEvent *); ++ + int ignore; ++ XShmSegmentInfo info = { 0, }; ++ ++ if (!XQueryExtension(dpy, "MIT-SHM", &xshm_opcode, &ignore, &ignore)) ++ return False; ++ ++ old_handler = XSetErrorHandler(handle_xerror); ++ XShmDetach(dpy, &info); ++ XSync(dpy, False); ++ (void) XSetErrorHandler(old_handler); + +- return XQueryExtension(dpy, "MIT-SHM", &xshm_opcode, &ignore, &ignore); ++ /* BadRequest means we're a remote client. If we were local we'd ++ * expect BadValue since 'info' has an invalid segment name. ++ */ ++ if (xshm_error == BadRequest) ++ return False; ++ ++ /* reset this as others read it later */ ++ xshm_error = 0; ++ return True; + } + + static struct glx_screen * +-- +2.20.1 + diff --git a/SOURCES/mesa-10.2-evergreen-big-endian.patch b/SOURCES/mesa-10.2-evergreen-big-endian.patch index 33a4970..ab67078 100644 --- a/SOURCES/mesa-10.2-evergreen-big-endian.patch +++ b/SOURCES/mesa-10.2-evergreen-big-endian.patch @@ -1,8 +1,7 @@ -diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c -index f0d4503..c617425 100644 ---- a/src/gallium/drivers/r600/evergreen_state.c -+++ b/src/gallium/drivers/r600/evergreen_state.c -@@ -219,7 +219,7 @@ static bool r600_is_sampler_format_supported(struct pipe_screen *screen, enum pi +diff -up mesa-20160225/src/gallium/drivers/r600/evergreen_state.c.egbe mesa-20160225/src/gallium/drivers/r600/evergreen_state.c +--- mesa-20160225/src/gallium/drivers/r600/evergreen_state.c.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/r600/evergreen_state.c 2016-02-25 13:06:47.351154059 +1000 +@@ -219,7 +219,7 @@ static bool r600_is_sampler_format_suppo static bool r600_is_colorbuffer_format_supported(enum chip_class chip, enum pipe_format format) { return r600_translate_colorformat(chip, format) != ~0U && @@ -11,7 +10,7 @@ index f0d4503..c617425 100644 } static bool r600_is_zs_format_supported(enum pipe_format format) -@@ -918,7 +918,8 @@ void evergreen_init_color_surface_rat(struct r600_context *rctx, +@@ -982,7 +982,8 @@ void evergreen_init_color_surface_rat(st unsigned format = r600_translate_colorformat(rctx->b.chip_class, surf->base.format); unsigned endian = r600_colorformat_endian_swap(format); @@ -21,7 +20,7 @@ index f0d4503..c617425 100644 unsigned block_size = align(util_format_get_blocksize(pipe_buffer->format), 4); unsigned pitch_alignment = -@@ -1078,7 +1079,7 @@ void evergreen_init_color_surface(struct r600_context *rctx, +@@ -1143,7 +1144,7 @@ void evergreen_init_color_surface(struct format = r600_translate_colorformat(rctx->b.chip_class, surf->base.format); assert(format != ~0); @@ -30,11 +29,10 @@ index f0d4503..c617425 100644 assert(swap != ~0); if (rtex->resource.b.b.usage == PIPE_USAGE_STAGING) { -diff --git a/src/gallium/drivers/r600/r600_state.c b/src/gallium/drivers/r600/r600_state.c -index dd2e423..190fdfc 100644 ---- a/src/gallium/drivers/r600/r600_state.c -+++ b/src/gallium/drivers/r600/r600_state.c -@@ -149,7 +149,7 @@ static bool r600_is_sampler_format_supported(struct pipe_screen *screen, enum pi +diff -up mesa-20160225/src/gallium/drivers/r600/r600_state.c.egbe mesa-20160225/src/gallium/drivers/r600/r600_state.c +--- mesa-20160225/src/gallium/drivers/r600/r600_state.c.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/r600/r600_state.c 2016-02-25 13:06:47.351154059 +1000 +@@ -149,7 +149,7 @@ static bool r600_is_sampler_format_suppo static bool r600_is_colorbuffer_format_supported(enum chip_class chip, enum pipe_format format) { return r600_translate_colorformat(chip, format) != ~0U && @@ -43,7 +41,7 @@ index dd2e423..190fdfc 100644 } static bool r600_is_zs_format_supported(enum pipe_format format) -@@ -899,7 +899,7 @@ static void r600_init_color_surface(struct r600_context *rctx, +@@ -927,7 +927,7 @@ static void r600_init_color_surface(stru format = r600_translate_colorformat(rctx->b.chip_class, surf->base.format); assert(format != ~0); @@ -52,11 +50,10 @@ index dd2e423..190fdfc 100644 assert(swap != ~0); if (rtex->resource.b.b.usage == PIPE_USAGE_STAGING) { -diff --git a/src/gallium/drivers/r600/r600_state_common.c b/src/gallium/drivers/r600/r600_state_common.c -index fabc52c..c276016 100644 ---- a/src/gallium/drivers/r600/r600_state_common.c -+++ b/src/gallium/drivers/r600/r600_state_common.c -@@ -2258,7 +2258,7 @@ uint32_t r600_translate_colorformat(enum chip_class chip, enum pipe_format forma +diff -up mesa-20160225/src/gallium/drivers/r600/r600_state_common.c.egbe mesa-20160225/src/gallium/drivers/r600/r600_state_common.c +--- mesa-20160225/src/gallium/drivers/r600/r600_state_common.c.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/r600/r600_state_common.c 2016-02-25 13:06:47.352154086 +1000 +@@ -2704,7 +2704,7 @@ uint32_t r600_translate_colorformat(enum uint32_t r600_colorformat_endian_swap(uint32_t colorformat) { @@ -65,11 +62,10 @@ index fabc52c..c276016 100644 switch(colorformat) { /* 8-bit buffers. */ case V_0280A0_COLOR_4_4: -diff --git a/src/gallium/drivers/radeon/r600_pipe_common.h b/src/gallium/drivers/radeon/r600_pipe_common.h -index e7f410d..9bb471a 100644 ---- a/src/gallium/drivers/radeon/r600_pipe_common.h -+++ b/src/gallium/drivers/radeon/r600_pipe_common.h -@@ -457,7 +457,7 @@ struct pipe_surface *r600_create_surface_custom(struct pipe_context *pipe, +diff -up mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h.egbe mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h +--- mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h 2016-02-25 13:06:47.352154086 +1000 +@@ -576,7 +576,7 @@ struct pipe_surface *r600_create_surface struct pipe_resource *texture, const struct pipe_surface *templ, unsigned width, unsigned height); @@ -78,11 +74,10 @@ index e7f410d..9bb471a 100644 void evergreen_do_fast_color_clear(struct r600_common_context *rctx, struct pipe_framebuffer_state *fb, struct r600_atom *fb_state, -diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c -index 9a46c53..5022666 100644 ---- a/src/gallium/drivers/radeon/r600_texture.c -+++ b/src/gallium/drivers/radeon/r600_texture.c -@@ -1157,10 +1157,215 @@ static void r600_surface_destroy(struct pipe_context *pipe, +diff -up mesa-20160225/src/gallium/drivers/radeon/r600_texture.c.egbe mesa-20160225/src/gallium/drivers/radeon/r600_texture.c +--- mesa-20160225/src/gallium/drivers/radeon/r600_texture.c.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/radeon/r600_texture.c 2016-02-25 13:07:22.903127421 +1000 +@@ -1252,10 +1252,215 @@ static void r600_surface_destroy(struct FREE(surface); } @@ -299,22 +294,21 @@ index 9a46c53..5022666 100644 #define HAS_SWIZZLE(chan,swz) (desc->swizzle[chan] == UTIL_FORMAT_SWIZZLE_##swz) if (format == PIPE_FORMAT_R11G11B10_FLOAT) /* isn't plain */ -@@ -1238,6 +1443,10 @@ void evergreen_do_fast_color_clear(struct r600_common_context *rctx, - { - int i; +@@ -1411,6 +1616,10 @@ void evergreen_do_fast_color_clear(struc + if (rctx->render_cond) + return; +#ifdef PIPE_ARCH_BIG_ENDIAN + return false; /* broken; overkill to just disable them, but */ +#endif + - if (rctx->current_render_cond) - return; - -diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c -index 7f65c47..f3976eb 100644 ---- a/src/gallium/drivers/radeonsi/si_state.c -+++ b/src/gallium/drivers/radeonsi/si_state.c -@@ -1447,7 +1447,7 @@ static bool si_is_vertex_format_supported(struct pipe_screen *screen, enum pipe_ + for (i = 0; i < fb->nr_cbufs; i++) { + struct r600_texture *tex; + unsigned clear_bit = PIPE_CLEAR_COLOR0 << i; +diff -up mesa-20160225/src/gallium/drivers/radeonsi/si_state.c.egbe mesa-20160225/src/gallium/drivers/radeonsi/si_state.c +--- mesa-20160225/src/gallium/drivers/radeonsi/si_state.c.egbe 2016-02-22 21:42:41.000000000 +1000 ++++ mesa-20160225/src/gallium/drivers/radeonsi/si_state.c 2016-02-25 13:06:47.353154114 +1000 +@@ -1966,7 +1966,7 @@ static bool si_is_vertex_format_supporte static bool si_is_colorbuffer_format_supported(enum pipe_format format) { return si_translate_colorformat(format) != V_028C70_COLOR_INVALID && @@ -323,7 +317,7 @@ index 7f65c47..f3976eb 100644 } static bool si_is_zs_format_supported(enum pipe_format format) -@@ -1615,7 +1615,7 @@ static void si_initialize_color_surface(struct si_context *sctx, +@@ -2249,7 +2249,7 @@ static void si_initialize_color_surface( R600_ERR("Invalid CB format: %d, disabling CB.\n", surf->base.format); } assert(format != V_028C70_COLOR_INVALID); diff --git a/SPECS/llvm.spec b/SPECS/llvm.spec index 2102ba6..c3d4fb7 100644 --- a/SPECS/llvm.spec +++ b/SPECS/llvm.spec @@ -1,4 +1,4 @@ -%global maj_ver 6 +%global maj_ver 7 %global min_ver 0 %global patch_ver 1 @@ -39,11 +39,11 @@ ExcludeArch: ppc s390 %{?rhel6:s390x} %global amdgpu ;AMDGPU %endif -%global llvm_lib_suffix pel +%global llvm_lib_suffix rhel Name: llvm-private Version: %{maj_ver}.%{min_ver}.%{patch_ver} -Release: 2%{?dist} +Release: 1%{?dist} Summary: llvm engine for Mesa Group: System Environment/Libraries @@ -55,9 +55,8 @@ Source2: http://llvm.org/releases/%{version}/cfe-%{version}%{?rc_ver:rc%{rc_ver} Source100: llvm-config.h Source101: clang-config.h +Patch0: 0001-Don-t-set-rpath-when-installing.patch Patch1: 0001-Fix-CMake-include-patch.patch -Patch5: 0001-Export-LLVM_DYLIB_COMPONENTS-in-LLVMConfig.cmake.patch -Patch6: 0001-Don-t-run-BV-DAG-Combine-before-legalization-if-it-a.patch BuildRequires: cmake BuildRequires: zlib-devel @@ -86,9 +85,12 @@ support in Mesa. tar xf %{SOURCE1} +%patch0 -p1 -b .rpath %patch1 -p1 -b .fixinc -%patch5 -p1 -b .cmake-fix -%patch6 -p1 -b .p9-fix + +%ifarch %{arm} +find ../cfe-%{version}%{?rc_ver:rc%{rc_ver}}.src -name illegal-UTF8.m -delete +%endif %build @@ -155,7 +157,6 @@ export PATH=$BUILD_DIR/bin:$PATH make %{?_smp_mflags} VERBOSE=1 LLVM llvm-config FileCheck not count gtest gtest_main - # Build clang separately, because we need to build with # -DBUILD_SHARED_LIBS:BOOL=ON for clang, but we don't want # this for LLVM. @@ -171,7 +172,7 @@ cd _build -DCLANG_ENABLE_ARCMT:BOOL=ON \ -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \ -DCLANG_INCLUDE_DOCS:BOOL=OFF \ - -DCLANG_INCLUDE_TESTS:BOOL=OFF \ + -DCLANG_INCLUDE_TESTS:BOOL=ON \ -DCLANG_PLUGIN_SUPPORT:BOOL=ON \ -DENABLE_LINKER_BUILD_ID:BOOL=ON \ \ @@ -249,7 +250,7 @@ make %{?_smp_mflags} check-all %files %doc LICENSE.TXT -%{_libdir}/libLLVM-%{maj_ver}.%{min_ver}*-%{llvm_lib_suffix}.so +%{_libdir}/libLLVM-%{maj_ver}*-%{llvm_lib_suffix}.so %{_libdir}/clang-private/libclang*.so* %files devel @@ -262,6 +263,9 @@ make %{?_smp_mflags} check-all %{_libdir}/clang/%{version}/include %changelog +* Mon Jan 14 2019 Tom Stellard - 7.0.1-1 +- 7.0.1 Release + * Thu Jul 19 2018 Tom Stellard - 6.0.1-2 - Fix crash on power9 - Resolves: rhbz#1595996 diff --git a/SPECS/mesa.spec b/SPECS/mesa.spec index 7ad8c48..bce7557 100644 --- a/SPECS/mesa.spec +++ b/SPECS/mesa.spec @@ -2,15 +2,16 @@ %define with_private_llvm 1 %else %define with_private_llvm 0 +%endif + %define with_vdpau 1 %define with_wayland 1 -%endif %ifnarch ppc %define with_radeonsi 1 %endif -%ifarch %{arm} +%ifarch %{arm} aarch64 %define with_freedreno 1 %endif @@ -21,7 +22,7 @@ %define with_llvm 1 %endif -%ifarch s390 s390x aarch64 +%ifarch s390 s390x %define with_hardware 0 %ifarch s390 %define base_drivers swrast @@ -29,32 +30,44 @@ %else %define with_hardware 1 %define base_drivers nouveau,radeon,r200 +%define base_vulkan_drivers radeon %ifarch %{ix86} x86_64 %define platform_drivers ,i915,i965 %define with_vmware 1 +%define platform_vulkan_drivers ,intel %endif %ifarch ppc %define platform_drivers ,swrast %endif %endif +%ifarch %{ix86} x86_64 ppc64le ppc64 +%define with_vulkan 1 +%else +%define with_vulkan 0 +%endif + %define dri_drivers --with-dri-drivers=%{?base_drivers}%{?platform_drivers} +%if 0%{?with_vulkan} +%define vulkan_drivers --with-vulkan-drivers=%{?base_vulkan_drivers}%{?platform_vulkan_drivers} +%endif + %define _default_patch_fuzz 2 -%define gitdate 20150824 +#define gitdate 20180530 #% define snapshot Summary: Mesa graphics libraries Name: mesa -Version: 10.6.5 -Release: 3.%{gitdate}%{?dist} +Version: 18.3.4 +Release: 5%{?dist} License: MIT Group: System Environment/Libraries URL: http://www.mesa3d.org -# Source0: MesaLib-%{version}.tar.xz -Source0: %{name}-%{gitdate}.tar.xz +Source0: mesa-%{version}.tar.xz +#Source0: %{name}-%{gitdate}.tar.xz Source1: sanitize-tarball.sh Source2: make-release-tarball.sh Source3: make-git-snapshot.sh @@ -65,19 +78,27 @@ Source3: make-git-snapshot.sh Source4: Mesa-MLAA-License-Clarification-Email.txt Patch1: nv50-fix-build.patch -Patch9: mesa-8.0-llvmpipe-shmget.patch + +# fix some timeout mismatch warnings (backport from upstream) +Patch3: fix-timeout-warnings.patch + +# Fix dri shm leak +Patch4: 0001-glx-fix-shared-memory-leak-in-X11.patch +# fix remove shm +Patch5: fix-llvmpipe-remote-shm.patch + Patch12: mesa-8.0.1-fix-16bpp.patch Patch15: mesa-9.2-hardware-float.patch Patch20: mesa-10.2-evergreen-big-endian.patch -Patch25: mesa-10.6-llvmpipe-imm-fix-power.patch -Patch26: mesa-10.6-fix-texcompress-big-endian.patch +Patch21: 0001-pkgconfig-Fix-gl.pc-when-glvnd-is-enabled.patch BuildRequires: pkgconfig autoconf automake libtool %if %{with_hardware} BuildRequires: kernel-headers BuildRequires: xorg-x11-server-devel %endif -BuildRequires: libdrm-devel >= 2.4.60 +BuildRequires: libatomic +BuildRequires: libdrm-devel >= 2.4.83 BuildRequires: libXxf86vm-devel BuildRequires: expat-devel BuildRequires: xorg-x11-proto-devel @@ -88,6 +109,7 @@ BuildRequires: libXfixes-devel BuildRequires: libXdamage-devel BuildRequires: libXi-devel BuildRequires: libXmu-devel +BuildRequires: libXrandr-devel BuildRequires: libxshmfence-devel BuildRequires: elfutils BuildRequires: python @@ -95,7 +117,7 @@ BuildRequires: python-mako BuildRequires: gettext %if 0%{?with_llvm} %if 0%{?with_private_llvm} -BuildRequires: mesa-private-llvm-devel >= 3.6 +BuildRequires: llvm-private-devel >= 6.0 %else BuildRequires: llvm-devel >= 3.0 %endif @@ -104,15 +126,17 @@ BuildRequires: elfutils-libelf-devel BuildRequires: libxml2-python BuildRequires: libudev-devel BuildRequires: bison flex -%if !0%{?rhel} -BuildRequires: pkgconfig(wayland-client) >= %{min_wayland_version} -BuildRequires: pkgconfig(wayland-server) >= %{min_wayland_version} +%if %{with wayland} +BuildRequires: pkgconfig(wayland-client) >= 1.11 +BuildRequires: pkgconfig(wayland-server) >= 1.11 +BuildRequires: pkgconfig(wayland-protocols) >= 1.8.0 %endif -BuildRequires: mesa-libGL-devel +# BuildRequires: mesa-libGL-devel %if 0%{?with_vdpau} BuildRequires: libvdpau-devel %endif BuildRequires: zlib-devel +BuildRequires: libglvnd-devel %description Mesa @@ -122,6 +146,8 @@ Summary: Mesa libGL runtime libraries and DRI drivers Group: System Environment/Libraries Provides: libGL Requires: mesa-libglapi = %{version}-%{release} +Requires: libdrm >= 2.4.83 +Requires: libglvnd-glx%{?_isa} >= 1:1.0.1-0.7 %description libGL Mesa libGL runtime library. @@ -130,6 +156,7 @@ Mesa libGL runtime library. Summary: Mesa libEGL runtime libraries Group: System Environment/Libraries Requires: mesa-libgbm = %{version}-%{release} +Requires: libglvnd-egl%{?_isa} %description libEGL Mesa libEGL runtime libraries @@ -138,6 +165,7 @@ Mesa libEGL runtime libraries Summary: Mesa libGLES runtime libraries Group: System Environment/Libraries Requires: mesa-libglapi = %{version}-%{release} +Requires: libglvnd-gles%{?_isa} %description libGLES Mesa GLES runtime libraries @@ -150,10 +178,16 @@ Obsoletes: mesa-dri-filesystem < %{version}-%{release} %description filesystem Mesa driver filesystem +%package khr-devel +Summary: Mesa Khronos development headers +%description khr-devel +%{summary} + %package dri-drivers Summary: Mesa-based DRI drivers Group: User Interface/X Hardware Support Requires: mesa-filesystem%{?_isa} +Requires: libdrm >= 2.4.83 Obsoletes: mesa-dri1-drivers < 7.12 Obsoletes: mesa-dri-llvmcore <= 7.12 %description dri-drivers @@ -173,6 +207,8 @@ Summary: Mesa libGL development package Group: Development/Libraries Requires: mesa-libGL = %{version}-%{release} Requires: gl-manpages +Requires: libglvnd-devel%{?_isa} +Requires: %{name}-khr-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Provides: libGL-devel %description libGL-devel @@ -182,6 +218,8 @@ Mesa libGL development package Summary: Mesa libEGL development package Group: Development/Libraries Requires: mesa-libEGL = %{version}-%{release} +Requires: libglvnd-devel%{?_isa} +Requires: %{name}-khr-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} Provides: khrplatform-devel = %{version}-%{release} Obsoletes: khrplatform-devel < %{version}-%{release} @@ -192,6 +230,8 @@ Mesa libEGL development package Summary: Mesa libGLES development package Group: Development/Libraries Requires: mesa-libGLES = %{version}-%{release} +Requires: %{name}-khr-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: libglvnd-devel%{?_isa} %description libGLES-devel Mesa libGLES development package @@ -220,6 +260,7 @@ Mesa offscreen rendering development package Summary: Mesa gbm library Group: System Environment/Libraries Provides: libgbm +Requires: libdrm >= 2.4.83 Requires: mesa-libglapi = %{version}-%{release} %description libgbm @@ -236,7 +277,7 @@ Provides: libgbm-devel Mesa libgbm development package -%if !0%{?rhel} +%if %{with wayland} %package libwayland-egl Summary: Mesa libwayland-egl library Group: System Environment/Libraries @@ -283,32 +324,34 @@ Group: System Environment/Libraries %description libglapi Mesa shared glapi +%if 0%{?with_vulkan} +%package vulkan-drivers +Summary: Mesa Vulkan drivers +Requires: vulkan%{_isa} + +%description vulkan-drivers +The drivers with support for the Vulkan API. +%endif + %prep -#setup -q -n Mesa-%{version}%{?snapshot} -%setup -q -n mesa-%{gitdate} +%setup -q -n mesa-%{version}%{?snapshot} +#setup -q -n mesa-%{gitdate} # make sure you run sanitize-tarball.sh on mesa source tarball or next line will exit grep -q ^/ src/gallium/auxiliary/vl/vl_decoder.c && exit 1 %patch1 -p1 -b .nv50rtti +%patch3 -p1 -b .timeout +%patch4 -p1 -b .shmleak +%patch5 -p1 -b .shmremote -# this fastpath is: -# - broken with swrast classic -# - broken on 24bpp -# - not a huge win anyway -# - ABI-broken wrt upstream -# - eventually obsoleted by vgem -# -# dear ajax: fix this one way or the other -#patch9 -p1 -b .shmget #patch12 -p1 -b .16bpp %patch15 -p1 -b .hwfloat -%patch20 -p1 -b .egbe -%patch25 -p1 -b .llvmimm -%patch26 -p1 -b .texcmprs +#patch20 -p1 -b .egbe +#%patch21 -p1 -b .glpc %if 0%{with_private_llvm} -sed -i 's/\[llvm-config\]/\[mesa-private-llvm-config-%{__isa_bits}\]/g' configure.ac -sed -i 's/`$LLVM_CONFIG --version`/$LLVM_VERSION_MAJOR.$LLVM_VERSION_MINOR-mesa/' configure.ac +sed -i 's/\[llvm-config\]/\[llvm-private-config-%{__isa_bits}\]/g' configure.ac +sed -i 's/`$LLVM_CONFIG --version`/$LLVM_VERSION_MAJOR.$LLVM_VERSION_MINOR-pel/' configure.ac %endif # need to use libdrm_nouveau2 on F17 @@ -338,6 +381,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS -fno-rtti -fno-exceptions" %configure \ %{?asm_flags} \ + --enable-libglvnd \ --enable-selinux \ --enable-osmesa \ --with-dri-driverdir=%{_libdir}/dri \ @@ -352,20 +396,19 @@ export CXXFLAGS="$RPM_OPT_FLAGS -fno-rtti -fno-exceptions" --disable-opencl \ --enable-glx-tls \ --enable-texture-float=yes \ +%if %{with_vulkan} + %{?vulkan_drivers} \ +%endif %{?with_llvm:--enable-gallium-llvm} \ - %{?with_llvm:--with-llvm-shared-libs} \ --enable-dri \ %if %{with_hardware} %{?with_vmware:--enable-xa} \ - --with-gallium-drivers=%{?with_vmware:svga,}%{?with_radeonsi:radeonsi,}%{?with_llvm:swrast,r600,}%{?with_freedreno:freedreno,}r300,nouveau \ + --with-gallium-drivers=%{?with_vmware:svga,}%{?with_radeonsi:radeonsi,}%{?with_llvm:swrast,r600,r300,}%{?with_freedreno:freedreno,}nouveau,virgl \ %else --with-gallium-drivers=%{?with_llvm:swrast} \ %endif %{?dri_drivers} -# this seems to be neccessary for s390 -make -C src/mesa/drivers/dri/common/xmlpool/ - make %{?_smp_mflags} MKDEP=/bin/true %install @@ -376,6 +419,8 @@ make install DESTDIR=$RPM_BUILD_ROOT %if 0%{?rhel} # remove pre-DX9 drivers rm -f $RPM_BUILD_ROOT%{_libdir}/dri/{radeon,r200,nouveau_vieux}_dri.* +# remove r300 vdpau +rm -f $RPM_BUILD_ROOT%{_libdir}/vdpau/libvdpau_r300.* %endif %if !%{with_hardware} @@ -384,12 +429,25 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/drirc # libvdpau opens the versioned name, don't bother including the unversioned rm -f $RPM_BUILD_ROOT%{_libdir}/vdpau/*.so +# likewise glvnd +rm -f %{buildroot}%{_libdir}/libGLX_mesa.so +rm -f %{buildroot}%{_libdir}/libEGL_mesa.so +# XXX can we just not build this +rm -f %{buildroot}%{_libdir}/libGLES* + +# XXX wayland-egl? + +# glvnd needs a default provider for indirect rendering where it cannot +# determine the vendor +ln -s %{_libdir}/libGLX_mesa.so.0 %{buildroot}%{_libdir}/libGLX_system.so.0 # strip out useless headers rm -f $RPM_BUILD_ROOT%{_includedir}/GL/w*.h rm -rf $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/ +rm -f $RPM_BUILD_ROOT%{_includedir}/vulkan/vulkan_intel.h + # remove .la files find $RPM_BUILD_ROOT -name \*.la | xargs rm -f @@ -417,36 +475,32 @@ rm -rf $RPM_BUILD_ROOT %postun libglapi -p /sbin/ldconfig %post libgbm -p /sbin/ldconfig %postun libgbm -p /sbin/ldconfig -%if !0%{?rhel} -%post libwayland-egl -p /sbin/ldconfig -%postun libwayland-egl -p /sbin/ldconfig -%endif %if 0%{?with_vmware} %post libxatracker -p /sbin/ldconfig %postun libxatracker -p /sbin/ldconfig %endif +%files khr-devel +%dir %{_includedir}/KHR +%{_includedir}/KHR/khrplatform.h + %files libGL %defattr(-,root,root,-) -%doc docs/COPYING -%{_libdir}/libGL.so.1 -%{_libdir}/libGL.so.1.* +%{_libdir}/libGLX_mesa.so.0* +%{_libdir}/libGLX_system.so.0* %files libEGL %defattr(-,root,root,-) -%doc docs/COPYING -%{_libdir}/libEGL.so.1 -%{_libdir}/libEGL.so.1.* +%{_datadir}/glvnd/egl_vendor.d/50_mesa.json +%{_libdir}/libEGL_mesa.so.0* %files libGLES %defattr(-,root,root,-) -%doc docs/COPYING -%{_libdir}/libGLESv2.so.2 -%{_libdir}/libGLESv2.so.2.* +# no files, all provided by libglvnd %files filesystem %defattr(-,root,root,-) -%doc docs/COPYING docs/Mesa-MLAA-License-Clarification-Email.txt +%doc docs/Mesa-MLAA-License-Clarification-Email.txt %dir %{_libdir}/dri %if %{with_hardware} %if 0%{?with_vdpau} @@ -460,18 +514,21 @@ rm -rf $RPM_BUILD_ROOT %files dri-drivers %defattr(-,root,root,-) +%dir %{_datadir}/drirc.d +%{_datadir}/drirc.d/00-mesa-defaults.conf %if %{with_hardware} -%config(noreplace) %{_sysconfdir}/drirc %if !0%{?rhel} %{_libdir}/dri/radeon_dri.so %{_libdir}/dri/r200_dri.so %{_libdir}/dri/nouveau_vieux_dri.so %endif -%{_libdir}/dri/r300_dri.so %if 0%{?with_llvm} +%{_libdir}/dri/r300_dri.so %{_libdir}/dri/r600_dri.so +%{_libdir}/dri/r600_drv_video.so %if 0%{?with_radeonsi} %{_libdir}/dri/radeonsi_dri.so +%{_libdir}/dri/radeonsi_drv_video.so %endif %endif %ifarch %{ix86} x86_64 @@ -480,8 +537,11 @@ rm -rf $RPM_BUILD_ROOT %endif %if 0%{?with_freedreno} %{_libdir}/dri/kgsl_dri.so +%{_libdir}/dri/msm_dri.so %endif %{_libdir}/dri/nouveau_dri.so +%{_libdir}/dri/nouveau_drv_video.so +%{_libdir}/dri/virtio_gpu_dri.so %if 0%{?with_vmware} %{_libdir}/dri/vmwgfx_dri.so %endif @@ -519,7 +579,6 @@ rm -rf $RPM_BUILD_ROOT %dir %{_includedir}/GL/internal %{_includedir}/GL/internal/dri_interface.h %{_libdir}/pkgconfig/dri.pc -%{_libdir}/libGL.so %{_libdir}/libglapi.so %{_libdir}/pkgconfig/gl.pc @@ -531,27 +590,24 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/EGL/eglmesaext.h %{_includedir}/EGL/eglextchromium.h %{_includedir}/EGL/eglplatform.h -%dir %{_includedir}/KHR -%{_includedir}/KHR/khrplatform.h %{_libdir}/pkgconfig/egl.pc -%{_libdir}/libEGL.so %files libGLES-devel %defattr(-,root,root,-) %dir %{_includedir}/GLES2 +%dir %{_includedir}/GLES3 %{_includedir}/GLES2/gl2platform.h %{_includedir}/GLES2/gl2.h %{_includedir}/GLES2/gl2ext.h %{_includedir}/GLES3/gl3platform.h %{_includedir}/GLES3/gl3.h %{_includedir}/GLES3/gl31.h +%{_includedir}/GLES3/gl32.h %{_includedir}/GLES3/gl3ext.h %{_libdir}/pkgconfig/glesv2.pc -%{_libdir}/libGLESv2.so %files libOSMesa %defattr(-,root,root,-) -%doc docs/COPYING %{_libdir}/libOSMesa.so.8* %files libOSMesa-devel @@ -563,7 +619,6 @@ rm -rf $RPM_BUILD_ROOT %files libgbm %defattr(-,root,root,-) -%doc docs/COPYING %{_libdir}/libgbm.so.1 %{_libdir}/libgbm.so.1.* @@ -573,23 +628,9 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/gbm.h %{_libdir}/pkgconfig/gbm.pc -%if !0%{?rhel} -%files libwayland-egl -%defattr(-,root,root,-) -%doc docs/COPYING -%{_libdir}/libwayland-egl.so.1 -%{_libdir}/libwayland-egl.so.1.* - -%files libwayland-egl-devel -%defattr(-,root,root,-) -%{_libdir}/libwayland-egl.so -%{_libdir}/pkgconfig/wayland-egl.pc -%endif - %if 0%{?with_vmware} %files libxatracker %defattr(-,root,root,-) -%doc docs/COPYING %if %{with_hardware} %{_libdir}/libxatracker.so.2 %{_libdir}/libxatracker.so.2.* @@ -606,7 +647,157 @@ rm -rf $RPM_BUILD_ROOT %endif %endif +%if 0%{?with_vulkan} +%files vulkan-drivers +%ifarch %{ix86} x86_64 +%{_libdir}/libvulkan_intel.so +%endif +%{_libdir}/libvulkan_radeon.so +%ifarch x86_64 +%{_datadir}/vulkan/icd.d/intel_icd.x86_64.json +%{_datadir}/vulkan/icd.d/radeon_icd.x86_64.json +%endif +%ifarch %{ix86} +%{_datadir}/vulkan/icd.d/intel_icd.i686.json +%{_datadir}/vulkan/icd.d/radeon_icd.i686.json +%endif +%ifarch ppc64le +%{_datadir}/vulkan/icd.d/radeon_icd.powerpc64le.json +%endif +%endif + %changelog +* Thu Apr 04 2019 Dave Airlie - 18.3.4-5 +- fix remote shm patch + +* Wed Mar 27 2019 Dave Airlie - 18.3.4-4 +- Enable i686 vulkan drivers for 32-bit apps + +* Tue Mar 26 2019 Dave Airlie - 18.3.4-3 +- fix remote shm + +* Fri Mar 01 2019 Dave Airlie - 18.3.4-2 +- add shm fix + +* Tue Feb 19 2019 Dave Airlie - 18.3.4-1 +- mesa 18.3.4 + +* Wed Feb 13 2019 Dave Airlie - 18.3.3-2 +- Add khr-devel to fix buildroot GL/EGL devel (#1676392) + +* Wed Feb 06 2019 Dave Airlie - 18.3.3-1 +- mesa 18.3.3 + +* Thu Jan 31 2019 Dave Airlie - 18.3.2-1 +- mesa 18.3.2 + +* Sat Dec 15 2018 Dave Airlie - 18.0.5-4 +- disable shm put/get for now it caused regressions + +* Tue Jul 24 2018 Dave Airlie - 18.0.5-3 +- rename fedora to system in glvnd fallback + +* Thu Jul 19 2018 Dave Airlie - 18.0.5-2 +- Fix timeout overflow warnings (backport from upstream + virgl) + +* Wed Jun 20 2018 Adam Jackson - 18.0.5-1 +- Mesa 18.0.5 + +* Wed May 30 2018 Dave Airlie - 18.0.3-5.20180508 +- Fix gl.pc when using glvnd +- Fix subpackage dependencies for glvnd + +* Fri May 25 2018 Adam Jackson - 18.0.3-2.20180508 +- Use glvnd + +* Tue May 08 2018 Dave Airlie 18.0.3-1.20180508 +- rebase to 18.0.3 + +* Wed Apr 18 2018 Adam Jackson - 17.2.3-9 +- Rebuild for new llvm + +* Mon Jan 15 2018 Dave Airlie - 17.2.3-8.20171019 +- Add missing Intel CFL ids. + +* Thu Nov 30 2017 Lyude Paul - 17.2.3-7.20171019 +- Add patches to fix cache lines with DRI_PRIME + amdgpu (#1503861) + +* Fri Nov 17 2017 Dave Airlie - 17.2.3-6.20171019 +- fix libgbm/dri-drivers requires on libdrm + +* Wed Oct 25 2017 Yaakov Selkowitz - 17.2.3-5.20171019 +- Enable hardware drivers on aarch64 (#1358444) + +* Tue Oct 24 2017 Dave Airlie - 17.2.3-4.20171019 +- Update gitdate and clean out sources. + +* Tue Oct 24 2017 Dave Airlie - 17.2.3-3.20171019 +- Add final 17.2.3 patch. + +* Thu Oct 19 2017 Tom Stellard - 17.2.3-2.20171019 +- Switch to llvm-private + +* Thu Oct 19 2017 Dave Airlie - 17.2.3-1.20171019 +- rebase to 17.2.3 + +* Thu Oct 05 2017 Dave Airlie - 17.2.2-1.20171005 +- rebase to 17.2.2 final release + s3tc support + +* Thu Sep 28 2017 Olivier Fourdan - 17.2.0-2.20170911 +- Enable wayland-egl, add dependencies on wayland-protocols (#1481412) + +* Mon Sep 11 2017 Dave Airlie - 17.2.0-1.20170911 +- rebase to 17.2.0 final release + +* Tue Aug 15 2017 Dave Airlie - 17.2.0-0.1.20170815 +- rebase to 17.2-rc4 + +* Thu May 11 2017 Dave Airlie - 17.0.1-6.20170307 +- enable VDPAU drivers (#1297276) + +* Tue May 09 2017 Tom Stellard - 17.0.1-5.20170307 +- Use correct datalayout for llvmpipe (#1445423) + +* Fri May 05 2017 Adam Jackson - 17.0.1-4.20170307 +- Add ppc64le vulkan build + +* Wed May 03 2017 Lyude Paul - 17.0.1-3.20170307 +- Add temporary revert for #1438891 + +* Tue Mar 28 2017 Dave Airlie - 17.0.1-2.20170307 +- Allow compat shaders override. (#1429813) + +* Tue Mar 07 2017 Dave Airlie - 17.0.1-1.20170307 +- mesa 17.0.1 release + +* Tue Feb 28 2017 Dave Airlie - 17.0.0-2.20170215 +- enable more drivers on aarch64 + vulkan drivers (#1358444) + +* Wed Feb 15 2017 Dave Airlie - 17.0.0-1.20170215 +- mesa 17.0.0 release + +* Mon Feb 06 2017 Adam Jackson - 17.0.0-0.2.20170123 +- Rebuild against (and BuildRequire) mesa-private-llvm >= 3.9 + +* Mon Jan 23 2017 Dave Airlie - 17.0.0-0.1.20170123 +- mesa 17.0.0-rc1 + +* Tue Aug 09 2016 Rob Clark - 11.2.2-2.20160614 +- update kbl pci ids. + +* Tue Jun 14 2016 Dave Airlie - 11.2.2-1.20160614 +- mesa 11.2.2 release + +* Tue Apr 05 2016 Dave Airlie 11.2.0-1.20160405 +- mesa 11.2.0 final release + +* Thu Mar 10 2016 Dave Airlie 11.2.0-0.2.20160310 +- mesa 11.2.0-rc2 release + enable virgl + * Thu Sep 17 2015 Oded Gabbay 10.6.5-3.20150824 - Fix texture compression for big-endian (#1250168) diff --git a/SPECS/nextcloud-client.spec b/SPECS/nextcloud-client.spec index 2e69d11..019598f 100644 --- a/SPECS/nextcloud-client.spec +++ b/SPECS/nextcloud-client.spec @@ -1,30 +1,33 @@ %global _hardened_build 1 Name: nextcloud-client -Version: 2.3.3 +Version: 2.6.1 Release: 1%{?dist} Summary: The Nextcloud Client # -libs are LGPLv2+, rest GPLv2 License: LGPLv2+ and GPLv2 Url: https://nextcloud.com/install/#install-clients -##Source0: https://github.com/nextcloud/client_theming/archive/v%{version}.tar.gz -# 2.3.3 Nextcloud theme not yet available -Source0: https://github.com/nextcloud/client_theming/archive/v2.3.2.tar.gz -Source1: https://download.owncloud.com/desktop/stable/owncloudclient-%{version}.tar.xz -Source2: nextcloud.appdata.xml -Patch0: %{name}-%{version}-syslibs.patch -## patch 1 solves https://bugzilla.redhat.com/show_bug.cgi?id=1409252 -Patch1: %{name}-icon.patch +Source0: https://github.com/nextcloud/desktop/archive/desktop-%{version}.tar.gz +Source1: nextcloud.appdata.xml +# The patch does 3 things: +# - Depends on system lib for QtSingleApplication and QtLockedFile +# - Remove the extraneous namespace when calling QtSingleApplication +# - Fix a mismatch in the QtSingleApplication::messageReceived signal and the +# Application::slotParseMessage slot +# These fix are needed because the system wide QtSingleApplication is slightly +# different from the bundled one. +#Patch0: %%{name}-%%{version}-syslibs.patch BuildRequires: check BuildRequires: cmake BuildRequires: desktop-file-utils BuildRequires: doxygen +BuildRequires: pkgconfig(gio-2.0) BuildRequires: libappstream-glib BuildRequires: neon-devel BuildRequires: openssl-devel -BuildRequires: python-sphinx +BuildRequires: python3-sphinx BuildRequires: qtlockedfile-qt5-devel BuildRequires: qtkeychain-qt5-devel >= 0.7.0 BuildRequires: qtsingleapplication-qt5-devel @@ -34,6 +37,8 @@ BuildRequires: qt5-qtbase-gui BuildRequires: qt5-qtwebkit-devel BuildRequires: qt5-qtxmlpatterns-devel BuildRequires: qt5-qttools qt5-qttools-devel +BuildRequires: qt5-qtwebengine-devel +BuildRequires: qt5-qtsvg-devel BuildRequires: extra-cmake-modules # Plasma 5 Dolphin integration %if 0%{?fedora} >= 24 || 0%{?rhel} > 7 @@ -47,6 +52,9 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release} Provides: mirall = %{version}-%{release} Obsoletes: mirall < 1.8.0 +# Read https://bugzilla.redhat.com/show_bug.cgi?id=1651261 +ExcludeArch: ppc64 ppc64le s390x + %description Nextcloud-client enables you to connect to your private Nextcloud Server. With it you can create folders in your home directory, and keep the contents @@ -105,7 +113,7 @@ in the nemo file manager. %package caja Summary: Caja overlay icons Requires: caja -Requires: python-caja +Requires: python3-caja Requires: %{name}%{?_isa} = %{version}-%{release} %description caja @@ -124,24 +132,16 @@ The nextcloud desktop client dolphin extension. %endif %prep -# 2.3.2 Nextcloud theme not yet available -%setup -q -n client_theming-2.3.2 -%setup -T -D -a 1 -n client_theming-2.3.2 -##%setup -q -n client_theming-%{version} -##%setup -T -D -a 1 -n client_theming-%{version} -rm -Rf client -mv owncloudclient-%{version} client -cd client -%patch0 -p1 -cd - -%patch1 -p1 -rm -rf src/3rdparty/qtlockedfile src/3rdparty/qtsingleapplication +%setup -q -n desktop-%{version} +#rm -rf src/3rdparty/qtlockedfile src/3rdparty/qtsingleapplication +sed 's/OpenSSL 1.1/OpenSSL 1.0/g' -i CMakeLists.txt %build mkdir build pushd build -%cmake3 .. -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" -D OEM_THEME_DIR=`pwd`/../nextcloudtheme ../client +### ### ### %cmake_kf5 .. -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" +%cmake3 .. -DCMAKE_SHARED_LINKER_FLAGS="-Wl,--as-needed" make %{?_smp_mflags} popd @@ -152,7 +152,7 @@ make install DESTDIR=%{buildroot} popd %find_lang client --with-qt mkdir -p %{buildroot}%{_datadir}/appdata/ -install -m 644 %{SOURCE2} %{buildroot}%{_datadir}/appdata/nextcloud.appdata.xml +install -m 644 %{SOURCE1} %{buildroot}%{_datadir}/appdata/nextcloud.appdata.xml # for distros that do not have KDE Plasma 5 @@ -163,33 +163,20 @@ rm -f %{buildroot}%{_qt5_plugindir}/nextclouddolphinactionplugin.so rm -f %{buildroot}%{_kf5_datadir}/kservices5/nextclouddolphinactionplugin.desktop %endif + # Only Fedora has Mate, so there is no need for Caja extension on EPEL %if 0%{?rhel} rm -rf %{buildroot}%{_datadir}/caja-python/ %endif + %check appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/nextcloud.appdata.xml - -%post -touch --no-create %{_datadir}/icons/hicolor &> /dev/null || : - -%posttrans -gtk-update-icon-cache -f %{_datadir}/icons/hicolor &>/dev/null || : - -%postun -if [ $1 -eq 0 ] ; then - touch --no-create %{_datadir}/icons/hicolor &> /dev/null - gtk-update-icon-cache -f %{_datadir}/icons/hicolor &> /dev/null || : -fi - -%post libs -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig +%ldconfig_scriptlets libs %if 0%{?fedora} >= 24 || 0%{?rhel} > 7 -%post dolphin -p /sbin/ldconfig -%postun dolphin -p /sbin/ldconfig +%ldconfig_scriptlets dolphin %endif %files -f client.lang @@ -201,10 +188,9 @@ fi %files libs %{_libdir}/libnextcloudsync.so.0 -%{_libdir}/libnextcloudsync.so.%{version} +%{_libdir}/libnextcloudsync.so.%%{version} %{_libdir}/nextcloud/libocsync.so.* %doc README.md -%license client/COPYING %config %{_sysconfdir}/Nextcloud/sync-exclude.lst %dir %{_sysconfdir}/Nextcloud @@ -234,6 +220,60 @@ fi %endif %changelog +* Wed Nov 06 2019 Germano Massullo - 2.6.1-1 +- 2.6.1 release +- Replaced Requires:python-caja with Requires:python3-caja in caja subpackage + +* Fri Oct 04 2019 Germano Massullo - 2.6.0-1 +- 2.6.0 release + +* Sun Sep 08 2019 Germano Massullo - 2.6.0.rc1-0.1 +- 2.6.0 RC1 + +* Wed Aug 28 2019 Germano Massullo - 2.5.3-1 +- 2.5.3 release +- drop the icon patch because it has been fixed upstream. + +* Thu Jul 25 2019 Fedora Release Engineering - 2.5.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri May 10 2019 Germano Massullo - 2.5.2-2 +- added issue_1000.patch + +* Thu Apr 11 2019 Germano Massullo - 2.5.2-1 +- 2.5.2 release +- Changed python2-sphinx requirement to python3-sphinx + +* Fri Feb 01 2019 Fedora Release Engineering - 2.5.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jan 09 2019 Germano Massullo - 2.5.1-1 +- 2.5.1 release + +* Mon Nov 19 2018 Germano Massullo - 2.5.0-2 +- added ExcludeArch: ppc64, ppc64le, s390. Read https://bugzilla.redhat.com/show_bug.cgi?id=1651261 + +* Thu Nov 15 2018 Germano Massullo - 2.5.0-1 +- 2.5.0 release + +* Wed Aug 15 2018 Germano Massullo - 2.5.0-0.1 +- 2.5.0 beta 1 + +* Fri Jul 13 2018 Fedora Release Engineering - 2.4.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Tue Feb 13 2018 Germano Massullo - 2.4.0-1 +- 2.4.0 release +- Updated syslibs patch, thanks to Robert-André Mauchin +- Added comment to syslibs patch, thanks to Robert-André Mauchin +- updated nextcloud client theming to 2.3.3 + +* Thu Feb 08 2018 Fedora Release Engineering - 2.3.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Mon Sep 18 2017 Nick Bebout - 2.3.3-2 +- Change to BR python2-sphinx instead of python-sphinx + * Mon Sep 11 2017 Nick Bebout - 2.3.3-1 - update to 2.3.3