Browse Source

llvm/mesa update

Signed-off-by: guibuilder_pel7x64builder0 <guibuilder@powerel.org>
master
guibuilder_pel7x64builder0 4 years ago
parent
commit
f5936ddc0f
  1. 24
      SOURCES/0001-Don-t-set-rpath-when-installing.patch
  2. 14
      SOURCES/0001-Fix-CMake-include-patch.patch
  3. 31
      SOURCES/0001-glx-fix-shared-memory-leak-in-X11.patch
  4. 68
      SOURCES/fix-llvmpipe-remote-shm.patch
  5. 74
      SOURCES/mesa-10.2-evergreen-big-endian.patch
  6. 24
      SPECS/llvm.spec
  7. 343
      SPECS/mesa.spec
  8. 128
      SPECS/nextcloud-client.spec

24
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 <tstellar@redhat.com>
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

14
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 <tstellar@redhat.com> From: Tom Stellard <tstellar@redhat.com>
Date: Mon, 2 Oct 2017 18:42:32 -0700 Date: Mon, 2 Oct 2017 18:42:32 -0700
Subject: [PATCH] Fix CMake include patch Subject: [PATCH] Fix CMake include patch
@ -8,10 +8,10 @@ Subject: [PATCH] Fix CMake include patch
1 file changed, 8 insertions(+), 2 deletions(-) 1 file changed, 8 insertions(+), 2 deletions(-)


diff --git a/CMakeLists.txt b/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt
index 160f3b0..2fd3a27 100644 index 63122c4..6ddc261 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -303,6 +303,7 @@ else() @@ -295,6 +295,7 @@ else()
endif() endif()
# Each of them corresponds to llvm-config's. # 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_TOOLS_BINARY_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR}) # --bindir
set(LLVM_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) # --libdir set(LLVM_LIBRARY_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR}) # --libdir
set(LLVM_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} ) # --src-root 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_LIBRARY_OUTPUT_DIRECTORY ${LLVM_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
set( CMAKE_ARCHIVE_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) if(APPLE AND DARWIN_LTO_LIBRARY)
set(CMAKE_EXE_LINKER_FLAGS set(CMAKE_EXE_LINKER_FLAGS
"${CMAKE_EXE_LINKER_FLAGS} -Wl,-lto_library -Wl,${DARWIN_LTO_LIBRARY}") "${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) if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
install(DIRECTORY include/llvm include/llvm-c install(DIRECTORY include/llvm include/llvm-c
@ -40,10 +40,10 @@ index 160f3b0..2fd3a27 100644
COMPONENT llvm-headers COMPONENT llvm-headers
FILES_MATCHING FILES_MATCHING
PATTERN "*.def" 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
+ DESTINATION "${INCLUDE_INSTALL_DIR}" + DESTINATION "${INCLUDE_INSTALL_DIR}"
COMPONENT llvm-headers COMPONENT llvm-headers

31
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 <zhanglei002@gmail.com>
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 <zhanglei002@gmail.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
---
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

68
SOURCES/fix-llvmpipe-remote-shm.patch

@ -0,0 +1,68 @@
From 607a59f2922b1261920bae94efe4dc87da18d576 Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
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 <ajax@redhat.com>
---
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

74
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 diff -up mesa-20160225/src/gallium/drivers/r600/evergreen_state.c.egbe mesa-20160225/src/gallium/drivers/r600/evergreen_state.c
index f0d4503..c617425 100644 --- mesa-20160225/src/gallium/drivers/r600/evergreen_state.c.egbe 2016-02-22 21:42:41.000000000 +1000
--- a/src/gallium/drivers/r600/evergreen_state.c +++ mesa-20160225/src/gallium/drivers/r600/evergreen_state.c 2016-02-25 13:06:47.351154059 +1000
+++ b/src/gallium/drivers/r600/evergreen_state.c @@ -219,7 +219,7 @@ static bool r600_is_sampler_format_suppo
@@ -219,7 +219,7 @@ static bool r600_is_sampler_format_supported(struct pipe_screen *screen, enum pi
static bool r600_is_colorbuffer_format_supported(enum chip_class chip, enum pipe_format format) static bool r600_is_colorbuffer_format_supported(enum chip_class chip, enum pipe_format format)
{ {
return r600_translate_colorformat(chip, format) != ~0U && 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) 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, unsigned format = r600_translate_colorformat(rctx->b.chip_class,
surf->base.format); surf->base.format);
unsigned endian = r600_colorformat_endian_swap(format); unsigned endian = r600_colorformat_endian_swap(format);
@ -21,7 +20,7 @@ index f0d4503..c617425 100644
unsigned block_size = unsigned block_size =
align(util_format_get_blocksize(pipe_buffer->format), 4); align(util_format_get_blocksize(pipe_buffer->format), 4);
unsigned pitch_alignment = 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); format = r600_translate_colorformat(rctx->b.chip_class, surf->base.format);
assert(format != ~0); assert(format != ~0);
@ -30,11 +29,10 @@ index f0d4503..c617425 100644
assert(swap != ~0); assert(swap != ~0);
if (rtex->resource.b.b.usage == PIPE_USAGE_STAGING) { 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 diff -up mesa-20160225/src/gallium/drivers/r600/r600_state.c.egbe mesa-20160225/src/gallium/drivers/r600/r600_state.c
index dd2e423..190fdfc 100644 --- mesa-20160225/src/gallium/drivers/r600/r600_state.c.egbe 2016-02-22 21:42:41.000000000 +1000
--- a/src/gallium/drivers/r600/r600_state.c +++ mesa-20160225/src/gallium/drivers/r600/r600_state.c 2016-02-25 13:06:47.351154059 +1000
+++ b/src/gallium/drivers/r600/r600_state.c @@ -149,7 +149,7 @@ static bool r600_is_sampler_format_suppo
@@ -149,7 +149,7 @@ static bool r600_is_sampler_format_supported(struct pipe_screen *screen, enum pi
static bool r600_is_colorbuffer_format_supported(enum chip_class chip, enum pipe_format format) static bool r600_is_colorbuffer_format_supported(enum chip_class chip, enum pipe_format format)
{ {
return r600_translate_colorformat(chip, format) != ~0U && 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) 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); format = r600_translate_colorformat(rctx->b.chip_class, surf->base.format);
assert(format != ~0); assert(format != ~0);
@ -52,11 +50,10 @@ index dd2e423..190fdfc 100644
assert(swap != ~0); assert(swap != ~0);
if (rtex->resource.b.b.usage == PIPE_USAGE_STAGING) { 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 diff -up mesa-20160225/src/gallium/drivers/r600/r600_state_common.c.egbe mesa-20160225/src/gallium/drivers/r600/r600_state_common.c
index fabc52c..c276016 100644 --- mesa-20160225/src/gallium/drivers/r600/r600_state_common.c.egbe 2016-02-22 21:42:41.000000000 +1000
--- a/src/gallium/drivers/r600/r600_state_common.c +++ mesa-20160225/src/gallium/drivers/r600/r600_state_common.c 2016-02-25 13:06:47.352154086 +1000
+++ b/src/gallium/drivers/r600/r600_state_common.c @@ -2704,7 +2704,7 @@ uint32_t r600_translate_colorformat(enum
@@ -2258,7 +2258,7 @@ uint32_t r600_translate_colorformat(enum chip_class chip, enum pipe_format forma
uint32_t r600_colorformat_endian_swap(uint32_t colorformat) uint32_t r600_colorformat_endian_swap(uint32_t colorformat)
{ {
@ -65,11 +62,10 @@ index fabc52c..c276016 100644
switch(colorformat) { switch(colorformat) {
/* 8-bit buffers. */ /* 8-bit buffers. */
case V_0280A0_COLOR_4_4: 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 diff -up mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h.egbe mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h
index e7f410d..9bb471a 100644 --- mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h.egbe 2016-02-22 21:42:41.000000000 +1000
--- a/src/gallium/drivers/radeon/r600_pipe_common.h +++ mesa-20160225/src/gallium/drivers/radeon/r600_pipe_common.h 2016-02-25 13:06:47.352154086 +1000
+++ b/src/gallium/drivers/radeon/r600_pipe_common.h @@ -576,7 +576,7 @@ struct pipe_surface *r600_create_surface
@@ -457,7 +457,7 @@ struct pipe_surface *r600_create_surface_custom(struct pipe_context *pipe,
struct pipe_resource *texture, struct pipe_resource *texture,
const struct pipe_surface *templ, const struct pipe_surface *templ,
unsigned width, unsigned height); unsigned width, unsigned height);
@ -78,11 +74,10 @@ index e7f410d..9bb471a 100644
void evergreen_do_fast_color_clear(struct r600_common_context *rctx, void evergreen_do_fast_color_clear(struct r600_common_context *rctx,
struct pipe_framebuffer_state *fb, struct pipe_framebuffer_state *fb,
struct r600_atom *fb_state, struct r600_atom *fb_state,
diff --git a/src/gallium/drivers/radeon/r600_texture.c b/src/gallium/drivers/radeon/r600_texture.c diff -up mesa-20160225/src/gallium/drivers/radeon/r600_texture.c.egbe mesa-20160225/src/gallium/drivers/radeon/r600_texture.c
index 9a46c53..5022666 100644 --- mesa-20160225/src/gallium/drivers/radeon/r600_texture.c.egbe 2016-02-22 21:42:41.000000000 +1000
--- a/src/gallium/drivers/radeon/r600_texture.c +++ mesa-20160225/src/gallium/drivers/radeon/r600_texture.c 2016-02-25 13:07:22.903127421 +1000
+++ b/src/gallium/drivers/radeon/r600_texture.c @@ -1252,10 +1252,215 @@ static void r600_surface_destroy(struct
@@ -1157,10 +1157,215 @@ static void r600_surface_destroy(struct pipe_context *pipe,
FREE(surface); FREE(surface);
} }
@ -299,22 +294,21 @@ index 9a46c53..5022666 100644
#define HAS_SWIZZLE(chan,swz) (desc->swizzle[chan] == UTIL_FORMAT_SWIZZLE_##swz) #define HAS_SWIZZLE(chan,swz) (desc->swizzle[chan] == UTIL_FORMAT_SWIZZLE_##swz)
if (format == PIPE_FORMAT_R11G11B10_FLOAT) /* isn't plain */ if (format == PIPE_FORMAT_R11G11B10_FLOAT) /* isn't plain */
@@ -1238,6 +1443,10 @@ void evergreen_do_fast_color_clear(struct r600_common_context *rctx, @@ -1411,6 +1616,10 @@ void evergreen_do_fast_color_clear(struc
{ if (rctx->render_cond)
int i; return;
+#ifdef PIPE_ARCH_BIG_ENDIAN +#ifdef PIPE_ARCH_BIG_ENDIAN
+ return false; /* broken; overkill to just disable them, but */ + return false; /* broken; overkill to just disable them, but */
+#endif +#endif
+ +
if (rctx->current_render_cond) for (i = 0; i < fb->nr_cbufs; i++) {
return; struct r600_texture *tex;

unsigned clear_bit = PIPE_CLEAR_COLOR0 << i;
diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c diff -up mesa-20160225/src/gallium/drivers/radeonsi/si_state.c.egbe mesa-20160225/src/gallium/drivers/radeonsi/si_state.c
index 7f65c47..f3976eb 100644 --- mesa-20160225/src/gallium/drivers/radeonsi/si_state.c.egbe 2016-02-22 21:42:41.000000000 +1000
--- a/src/gallium/drivers/radeonsi/si_state.c +++ mesa-20160225/src/gallium/drivers/radeonsi/si_state.c 2016-02-25 13:06:47.353154114 +1000
+++ b/src/gallium/drivers/radeonsi/si_state.c @@ -1966,7 +1966,7 @@ static bool si_is_vertex_format_supporte
@@ -1447,7 +1447,7 @@ static bool si_is_vertex_format_supported(struct pipe_screen *screen, enum pipe_
static bool si_is_colorbuffer_format_supported(enum pipe_format format) static bool si_is_colorbuffer_format_supported(enum pipe_format format)
{ {
return si_translate_colorformat(format) != V_028C70_COLOR_INVALID && 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) 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); R600_ERR("Invalid CB format: %d, disabling CB.\n", surf->base.format);
} }
assert(format != V_028C70_COLOR_INVALID); assert(format != V_028C70_COLOR_INVALID);

24
SPECS/llvm.spec

@ -1,4 +1,4 @@
%global maj_ver 6 %global maj_ver 7
%global min_ver 0 %global min_ver 0
%global patch_ver 1 %global patch_ver 1


@ -39,11 +39,11 @@ ExcludeArch: ppc s390 %{?rhel6:s390x}
%global amdgpu ;AMDGPU %global amdgpu ;AMDGPU
%endif %endif


%global llvm_lib_suffix pel %global llvm_lib_suffix rhel


Name: llvm-private Name: llvm-private
Version: %{maj_ver}.%{min_ver}.%{patch_ver} Version: %{maj_ver}.%{min_ver}.%{patch_ver}
Release: 2%{?dist} Release: 1%{?dist}
Summary: llvm engine for Mesa Summary: llvm engine for Mesa


Group: System Environment/Libraries 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 Source100: llvm-config.h
Source101: clang-config.h Source101: clang-config.h


Patch0: 0001-Don-t-set-rpath-when-installing.patch
Patch1: 0001-Fix-CMake-include-patch.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: cmake
BuildRequires: zlib-devel BuildRequires: zlib-devel
@ -86,9 +85,12 @@ support in Mesa.


tar xf %{SOURCE1} tar xf %{SOURCE1}


%patch0 -p1 -b .rpath
%patch1 -p1 -b .fixinc %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 %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 make %{?_smp_mflags} VERBOSE=1 LLVM llvm-config FileCheck not count gtest gtest_main



# Build clang separately, because we need to build with # Build clang separately, because we need to build with
# -DBUILD_SHARED_LIBS:BOOL=ON for clang, but we don't want # -DBUILD_SHARED_LIBS:BOOL=ON for clang, but we don't want
# this for LLVM. # this for LLVM.
@ -171,7 +172,7 @@ cd _build
-DCLANG_ENABLE_ARCMT:BOOL=ON \ -DCLANG_ENABLE_ARCMT:BOOL=ON \
-DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \ -DCLANG_ENABLE_STATIC_ANALYZER:BOOL=ON \
-DCLANG_INCLUDE_DOCS:BOOL=OFF \ -DCLANG_INCLUDE_DOCS:BOOL=OFF \
-DCLANG_INCLUDE_TESTS:BOOL=OFF \ -DCLANG_INCLUDE_TESTS:BOOL=ON \
-DCLANG_PLUGIN_SUPPORT:BOOL=ON \ -DCLANG_PLUGIN_SUPPORT:BOOL=ON \
-DENABLE_LINKER_BUILD_ID:BOOL=ON \ -DENABLE_LINKER_BUILD_ID:BOOL=ON \
\ \
@ -249,7 +250,7 @@ make %{?_smp_mflags} check-all


%files %files
%doc LICENSE.TXT %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* %{_libdir}/clang-private/libclang*.so*


%files devel %files devel
@ -262,6 +263,9 @@ make %{?_smp_mflags} check-all
%{_libdir}/clang/%{version}/include %{_libdir}/clang/%{version}/include


%changelog %changelog
* Mon Jan 14 2019 Tom Stellard <tstellar@redhat.com> - 7.0.1-1
- 7.0.1 Release

* Thu Jul 19 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-2 * Thu Jul 19 2018 Tom Stellard <tstellar@redhat.com> - 6.0.1-2
- Fix crash on power9 - Fix crash on power9
- Resolves: rhbz#1595996 - Resolves: rhbz#1595996

343
SPECS/mesa.spec

@ -2,15 +2,16 @@
%define with_private_llvm 1 %define with_private_llvm 1
%else %else
%define with_private_llvm 0 %define with_private_llvm 0
%endif

%define with_vdpau 1 %define with_vdpau 1
%define with_wayland 1 %define with_wayland 1
%endif


%ifnarch ppc %ifnarch ppc
%define with_radeonsi 1 %define with_radeonsi 1
%endif %endif


%ifarch %{arm} %ifarch %{arm} aarch64
%define with_freedreno 1 %define with_freedreno 1
%endif %endif


@ -21,7 +22,7 @@
%define with_llvm 1 %define with_llvm 1
%endif %endif


%ifarch s390 s390x aarch64 %ifarch s390 s390x
%define with_hardware 0 %define with_hardware 0
%ifarch s390 %ifarch s390
%define base_drivers swrast %define base_drivers swrast
@ -29,32 +30,44 @@
%else %else
%define with_hardware 1 %define with_hardware 1
%define base_drivers nouveau,radeon,r200 %define base_drivers nouveau,radeon,r200
%define base_vulkan_drivers radeon
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
%define platform_drivers ,i915,i965 %define platform_drivers ,i915,i965
%define with_vmware 1 %define with_vmware 1
%define platform_vulkan_drivers ,intel
%endif %endif
%ifarch ppc %ifarch ppc
%define platform_drivers ,swrast %define platform_drivers ,swrast
%endif %endif
%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} %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 _default_patch_fuzz 2


%define gitdate 20150824 #define gitdate 20180530
#% define snapshot #% define snapshot


Summary: Mesa graphics libraries Summary: Mesa graphics libraries
Name: mesa Name: mesa
Version: 10.6.5 Version: 18.3.4
Release: 3.%{gitdate}%{?dist} Release: 5%{?dist}
License: MIT License: MIT
Group: System Environment/Libraries Group: System Environment/Libraries
URL: http://www.mesa3d.org URL: http://www.mesa3d.org


# Source0: MesaLib-%{version}.tar.xz Source0: mesa-%{version}.tar.xz
Source0: %{name}-%{gitdate}.tar.xz #Source0: %{name}-%{gitdate}.tar.xz
Source1: sanitize-tarball.sh Source1: sanitize-tarball.sh
Source2: make-release-tarball.sh Source2: make-release-tarball.sh
Source3: make-git-snapshot.sh Source3: make-git-snapshot.sh
@ -65,19 +78,27 @@ Source3: make-git-snapshot.sh
Source4: Mesa-MLAA-License-Clarification-Email.txt Source4: Mesa-MLAA-License-Clarification-Email.txt


Patch1: nv50-fix-build.patch 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 Patch12: mesa-8.0.1-fix-16bpp.patch
Patch15: mesa-9.2-hardware-float.patch Patch15: mesa-9.2-hardware-float.patch
Patch20: mesa-10.2-evergreen-big-endian.patch Patch20: mesa-10.2-evergreen-big-endian.patch
Patch25: mesa-10.6-llvmpipe-imm-fix-power.patch Patch21: 0001-pkgconfig-Fix-gl.pc-when-glvnd-is-enabled.patch
Patch26: mesa-10.6-fix-texcompress-big-endian.patch


BuildRequires: pkgconfig autoconf automake libtool BuildRequires: pkgconfig autoconf automake libtool
%if %{with_hardware} %if %{with_hardware}
BuildRequires: kernel-headers BuildRequires: kernel-headers
BuildRequires: xorg-x11-server-devel BuildRequires: xorg-x11-server-devel
%endif %endif
BuildRequires: libdrm-devel >= 2.4.60 BuildRequires: libatomic
BuildRequires: libdrm-devel >= 2.4.83
BuildRequires: libXxf86vm-devel BuildRequires: libXxf86vm-devel
BuildRequires: expat-devel BuildRequires: expat-devel
BuildRequires: xorg-x11-proto-devel BuildRequires: xorg-x11-proto-devel
@ -88,6 +109,7 @@ BuildRequires: libXfixes-devel
BuildRequires: libXdamage-devel BuildRequires: libXdamage-devel
BuildRequires: libXi-devel BuildRequires: libXi-devel
BuildRequires: libXmu-devel BuildRequires: libXmu-devel
BuildRequires: libXrandr-devel
BuildRequires: libxshmfence-devel BuildRequires: libxshmfence-devel
BuildRequires: elfutils BuildRequires: elfutils
BuildRequires: python BuildRequires: python
@ -95,7 +117,7 @@ BuildRequires: python-mako
BuildRequires: gettext BuildRequires: gettext
%if 0%{?with_llvm} %if 0%{?with_llvm}
%if 0%{?with_private_llvm} %if 0%{?with_private_llvm}
BuildRequires: mesa-private-llvm-devel >= 3.6 BuildRequires: llvm-private-devel >= 6.0
%else %else
BuildRequires: llvm-devel >= 3.0 BuildRequires: llvm-devel >= 3.0
%endif %endif
@ -104,15 +126,17 @@ BuildRequires: elfutils-libelf-devel
BuildRequires: libxml2-python BuildRequires: libxml2-python
BuildRequires: libudev-devel BuildRequires: libudev-devel
BuildRequires: bison flex BuildRequires: bison flex
%if !0%{?rhel} %if %{with wayland}
BuildRequires: pkgconfig(wayland-client) >= %{min_wayland_version} BuildRequires: pkgconfig(wayland-client) >= 1.11
BuildRequires: pkgconfig(wayland-server) >= %{min_wayland_version} BuildRequires: pkgconfig(wayland-server) >= 1.11
BuildRequires: pkgconfig(wayland-protocols) >= 1.8.0
%endif %endif
BuildRequires: mesa-libGL-devel # BuildRequires: mesa-libGL-devel
%if 0%{?with_vdpau} %if 0%{?with_vdpau}
BuildRequires: libvdpau-devel BuildRequires: libvdpau-devel
%endif %endif
BuildRequires: zlib-devel BuildRequires: zlib-devel
BuildRequires: libglvnd-devel


%description %description
Mesa Mesa
@ -122,6 +146,8 @@ Summary: Mesa libGL runtime libraries and DRI drivers
Group: System Environment/Libraries Group: System Environment/Libraries
Provides: libGL Provides: libGL
Requires: mesa-libglapi = %{version}-%{release} Requires: mesa-libglapi = %{version}-%{release}
Requires: libdrm >= 2.4.83
Requires: libglvnd-glx%{?_isa} >= 1:1.0.1-0.7


%description libGL %description libGL
Mesa libGL runtime library. Mesa libGL runtime library.
@ -130,6 +156,7 @@ Mesa libGL runtime library.
Summary: Mesa libEGL runtime libraries Summary: Mesa libEGL runtime libraries
Group: System Environment/Libraries Group: System Environment/Libraries
Requires: mesa-libgbm = %{version}-%{release} Requires: mesa-libgbm = %{version}-%{release}
Requires: libglvnd-egl%{?_isa}


%description libEGL %description libEGL
Mesa libEGL runtime libraries Mesa libEGL runtime libraries
@ -138,6 +165,7 @@ Mesa libEGL runtime libraries
Summary: Mesa libGLES runtime libraries Summary: Mesa libGLES runtime libraries
Group: System Environment/Libraries Group: System Environment/Libraries
Requires: mesa-libglapi = %{version}-%{release} Requires: mesa-libglapi = %{version}-%{release}
Requires: libglvnd-gles%{?_isa}


%description libGLES %description libGLES
Mesa GLES runtime libraries Mesa GLES runtime libraries
@ -150,10 +178,16 @@ Obsoletes: mesa-dri-filesystem < %{version}-%{release}
%description filesystem %description filesystem
Mesa driver filesystem Mesa driver filesystem


%package khr-devel
Summary: Mesa Khronos development headers
%description khr-devel
%{summary}

%package dri-drivers %package dri-drivers
Summary: Mesa-based DRI drivers Summary: Mesa-based DRI drivers
Group: User Interface/X Hardware Support Group: User Interface/X Hardware Support
Requires: mesa-filesystem%{?_isa} Requires: mesa-filesystem%{?_isa}
Requires: libdrm >= 2.4.83
Obsoletes: mesa-dri1-drivers < 7.12 Obsoletes: mesa-dri1-drivers < 7.12
Obsoletes: mesa-dri-llvmcore <= 7.12 Obsoletes: mesa-dri-llvmcore <= 7.12
%description dri-drivers %description dri-drivers
@ -173,6 +207,8 @@ Summary: Mesa libGL development package
Group: Development/Libraries Group: Development/Libraries
Requires: mesa-libGL = %{version}-%{release} Requires: mesa-libGL = %{version}-%{release}
Requires: gl-manpages Requires: gl-manpages
Requires: libglvnd-devel%{?_isa}
Requires: %{name}-khr-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: libGL-devel Provides: libGL-devel


%description libGL-devel %description libGL-devel
@ -182,6 +218,8 @@ Mesa libGL development package
Summary: Mesa libEGL development package Summary: Mesa libEGL development package
Group: Development/Libraries Group: Development/Libraries
Requires: mesa-libEGL = %{version}-%{release} Requires: mesa-libEGL = %{version}-%{release}
Requires: libglvnd-devel%{?_isa}
Requires: %{name}-khr-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Provides: khrplatform-devel = %{version}-%{release} Provides: khrplatform-devel = %{version}-%{release}
Obsoletes: khrplatform-devel < %{version}-%{release} Obsoletes: khrplatform-devel < %{version}-%{release}


@ -192,6 +230,8 @@ Mesa libEGL development package
Summary: Mesa libGLES development package Summary: Mesa libGLES development package
Group: Development/Libraries Group: Development/Libraries
Requires: mesa-libGLES = %{version}-%{release} Requires: mesa-libGLES = %{version}-%{release}
Requires: %{name}-khr-devel%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
Requires: libglvnd-devel%{?_isa}


%description libGLES-devel %description libGLES-devel
Mesa libGLES development package Mesa libGLES development package
@ -220,6 +260,7 @@ Mesa offscreen rendering development package
Summary: Mesa gbm library Summary: Mesa gbm library
Group: System Environment/Libraries Group: System Environment/Libraries
Provides: libgbm Provides: libgbm
Requires: libdrm >= 2.4.83
Requires: mesa-libglapi = %{version}-%{release} Requires: mesa-libglapi = %{version}-%{release}


%description libgbm %description libgbm
@ -236,7 +277,7 @@ Provides: libgbm-devel
Mesa libgbm development package Mesa libgbm development package




%if !0%{?rhel} %if %{with wayland}
%package libwayland-egl %package libwayland-egl
Summary: Mesa libwayland-egl library Summary: Mesa libwayland-egl library
Group: System Environment/Libraries Group: System Environment/Libraries
@ -283,32 +324,34 @@ Group: System Environment/Libraries
%description libglapi %description libglapi
Mesa shared glapi 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 %prep
#setup -q -n Mesa-%{version}%{?snapshot} %setup -q -n mesa-%{version}%{?snapshot}
%setup -q -n mesa-%{gitdate} #setup -q -n mesa-%{gitdate}
# make sure you run sanitize-tarball.sh on mesa source tarball or next line will exit # 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 grep -q ^/ src/gallium/auxiliary/vl/vl_decoder.c && exit 1
%patch1 -p1 -b .nv50rtti %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 #patch12 -p1 -b .16bpp


%patch15 -p1 -b .hwfloat %patch15 -p1 -b .hwfloat
%patch20 -p1 -b .egbe #patch20 -p1 -b .egbe
%patch25 -p1 -b .llvmimm #%patch21 -p1 -b .glpc
%patch26 -p1 -b .texcmprs


%if 0%{with_private_llvm} %if 0%{with_private_llvm}
sed -i 's/\[llvm-config\]/\[mesa-private-llvm-config-%{__isa_bits}\]/g' 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-mesa/' configure.ac sed -i 's/`$LLVM_CONFIG --version`/$LLVM_VERSION_MAJOR.$LLVM_VERSION_MINOR-pel/' configure.ac
%endif %endif


# need to use libdrm_nouveau2 on F17 # need to use libdrm_nouveau2 on F17
@ -338,6 +381,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS -fno-rtti -fno-exceptions"


%configure \ %configure \
%{?asm_flags} \ %{?asm_flags} \
--enable-libglvnd \
--enable-selinux \ --enable-selinux \
--enable-osmesa \ --enable-osmesa \
--with-dri-driverdir=%{_libdir}/dri \ --with-dri-driverdir=%{_libdir}/dri \
@ -352,20 +396,19 @@ export CXXFLAGS="$RPM_OPT_FLAGS -fno-rtti -fno-exceptions"
--disable-opencl \ --disable-opencl \
--enable-glx-tls \ --enable-glx-tls \
--enable-texture-float=yes \ --enable-texture-float=yes \
%if %{with_vulkan}
%{?vulkan_drivers} \
%endif
%{?with_llvm:--enable-gallium-llvm} \ %{?with_llvm:--enable-gallium-llvm} \
%{?with_llvm:--with-llvm-shared-libs} \
--enable-dri \ --enable-dri \
%if %{with_hardware} %if %{with_hardware}
%{?with_vmware:--enable-xa} \ %{?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 %else
--with-gallium-drivers=%{?with_llvm:swrast} \ --with-gallium-drivers=%{?with_llvm:swrast} \
%endif %endif
%{?dri_drivers} %{?dri_drivers}


# this seems to be neccessary for s390
make -C src/mesa/drivers/dri/common/xmlpool/

make %{?_smp_mflags} MKDEP=/bin/true make %{?_smp_mflags} MKDEP=/bin/true


%install %install
@ -376,6 +419,8 @@ make install DESTDIR=$RPM_BUILD_ROOT
%if 0%{?rhel} %if 0%{?rhel}
# remove pre-DX9 drivers # remove pre-DX9 drivers
rm -f $RPM_BUILD_ROOT%{_libdir}/dri/{radeon,r200,nouveau_vieux}_dri.* 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 %endif


%if !%{with_hardware} %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 # libvdpau opens the versioned name, don't bother including the unversioned
rm -f $RPM_BUILD_ROOT%{_libdir}/vdpau/*.so 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 # strip out useless headers
rm -f $RPM_BUILD_ROOT%{_includedir}/GL/w*.h rm -f $RPM_BUILD_ROOT%{_includedir}/GL/w*.h


rm -rf $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/ rm -rf $RPM_BUILD_ROOT%{_libdir}/gallium-pipe/


rm -f $RPM_BUILD_ROOT%{_includedir}/vulkan/vulkan_intel.h

# remove .la files # remove .la files
find $RPM_BUILD_ROOT -name \*.la | xargs rm -f find $RPM_BUILD_ROOT -name \*.la | xargs rm -f


@ -417,36 +475,32 @@ rm -rf $RPM_BUILD_ROOT
%postun libglapi -p /sbin/ldconfig %postun libglapi -p /sbin/ldconfig
%post libgbm -p /sbin/ldconfig %post libgbm -p /sbin/ldconfig
%postun 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} %if 0%{?with_vmware}
%post libxatracker -p /sbin/ldconfig %post libxatracker -p /sbin/ldconfig
%postun libxatracker -p /sbin/ldconfig %postun libxatracker -p /sbin/ldconfig
%endif %endif


%files khr-devel
%dir %{_includedir}/KHR
%{_includedir}/KHR/khrplatform.h

%files libGL %files libGL
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc docs/COPYING %{_libdir}/libGLX_mesa.so.0*
%{_libdir}/libGL.so.1 %{_libdir}/libGLX_system.so.0*
%{_libdir}/libGL.so.1.*


%files libEGL %files libEGL
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc docs/COPYING %{_datadir}/glvnd/egl_vendor.d/50_mesa.json
%{_libdir}/libEGL.so.1 %{_libdir}/libEGL_mesa.so.0*
%{_libdir}/libEGL.so.1.*


%files libGLES %files libGLES
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc docs/COPYING # no files, all provided by libglvnd
%{_libdir}/libGLESv2.so.2
%{_libdir}/libGLESv2.so.2.*


%files filesystem %files filesystem
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc docs/COPYING docs/Mesa-MLAA-License-Clarification-Email.txt %doc docs/Mesa-MLAA-License-Clarification-Email.txt
%dir %{_libdir}/dri %dir %{_libdir}/dri
%if %{with_hardware} %if %{with_hardware}
%if 0%{?with_vdpau} %if 0%{?with_vdpau}
@ -460,18 +514,21 @@ rm -rf $RPM_BUILD_ROOT


%files dri-drivers %files dri-drivers
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_datadir}/drirc.d
%{_datadir}/drirc.d/00-mesa-defaults.conf
%if %{with_hardware} %if %{with_hardware}
%config(noreplace) %{_sysconfdir}/drirc
%if !0%{?rhel} %if !0%{?rhel}
%{_libdir}/dri/radeon_dri.so %{_libdir}/dri/radeon_dri.so
%{_libdir}/dri/r200_dri.so %{_libdir}/dri/r200_dri.so
%{_libdir}/dri/nouveau_vieux_dri.so %{_libdir}/dri/nouveau_vieux_dri.so
%endif %endif
%{_libdir}/dri/r300_dri.so
%if 0%{?with_llvm} %if 0%{?with_llvm}
%{_libdir}/dri/r300_dri.so
%{_libdir}/dri/r600_dri.so %{_libdir}/dri/r600_dri.so
%{_libdir}/dri/r600_drv_video.so
%if 0%{?with_radeonsi} %if 0%{?with_radeonsi}
%{_libdir}/dri/radeonsi_dri.so %{_libdir}/dri/radeonsi_dri.so
%{_libdir}/dri/radeonsi_drv_video.so
%endif %endif
%endif %endif
%ifarch %{ix86} x86_64 %ifarch %{ix86} x86_64
@ -480,8 +537,11 @@ rm -rf $RPM_BUILD_ROOT
%endif %endif
%if 0%{?with_freedreno} %if 0%{?with_freedreno}
%{_libdir}/dri/kgsl_dri.so %{_libdir}/dri/kgsl_dri.so
%{_libdir}/dri/msm_dri.so
%endif %endif
%{_libdir}/dri/nouveau_dri.so %{_libdir}/dri/nouveau_dri.so
%{_libdir}/dri/nouveau_drv_video.so
%{_libdir}/dri/virtio_gpu_dri.so
%if 0%{?with_vmware} %if 0%{?with_vmware}
%{_libdir}/dri/vmwgfx_dri.so %{_libdir}/dri/vmwgfx_dri.so
%endif %endif
@ -519,7 +579,6 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_includedir}/GL/internal %dir %{_includedir}/GL/internal
%{_includedir}/GL/internal/dri_interface.h %{_includedir}/GL/internal/dri_interface.h
%{_libdir}/pkgconfig/dri.pc %{_libdir}/pkgconfig/dri.pc
%{_libdir}/libGL.so
%{_libdir}/libglapi.so %{_libdir}/libglapi.so
%{_libdir}/pkgconfig/gl.pc %{_libdir}/pkgconfig/gl.pc


@ -531,27 +590,24 @@ rm -rf $RPM_BUILD_ROOT
%{_includedir}/EGL/eglmesaext.h %{_includedir}/EGL/eglmesaext.h
%{_includedir}/EGL/eglextchromium.h %{_includedir}/EGL/eglextchromium.h
%{_includedir}/EGL/eglplatform.h %{_includedir}/EGL/eglplatform.h
%dir %{_includedir}/KHR
%{_includedir}/KHR/khrplatform.h
%{_libdir}/pkgconfig/egl.pc %{_libdir}/pkgconfig/egl.pc
%{_libdir}/libEGL.so


%files libGLES-devel %files libGLES-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_includedir}/GLES2 %dir %{_includedir}/GLES2
%dir %{_includedir}/GLES3
%{_includedir}/GLES2/gl2platform.h %{_includedir}/GLES2/gl2platform.h
%{_includedir}/GLES2/gl2.h %{_includedir}/GLES2/gl2.h
%{_includedir}/GLES2/gl2ext.h %{_includedir}/GLES2/gl2ext.h
%{_includedir}/GLES3/gl3platform.h %{_includedir}/GLES3/gl3platform.h
%{_includedir}/GLES3/gl3.h %{_includedir}/GLES3/gl3.h
%{_includedir}/GLES3/gl31.h %{_includedir}/GLES3/gl31.h
%{_includedir}/GLES3/gl32.h
%{_includedir}/GLES3/gl3ext.h %{_includedir}/GLES3/gl3ext.h
%{_libdir}/pkgconfig/glesv2.pc %{_libdir}/pkgconfig/glesv2.pc
%{_libdir}/libGLESv2.so


%files libOSMesa %files libOSMesa
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc docs/COPYING
%{_libdir}/libOSMesa.so.8* %{_libdir}/libOSMesa.so.8*


%files libOSMesa-devel %files libOSMesa-devel
@ -563,7 +619,6 @@ rm -rf $RPM_BUILD_ROOT


%files libgbm %files libgbm
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc docs/COPYING
%{_libdir}/libgbm.so.1 %{_libdir}/libgbm.so.1
%{_libdir}/libgbm.so.1.* %{_libdir}/libgbm.so.1.*


@ -573,23 +628,9 @@ rm -rf $RPM_BUILD_ROOT
%{_includedir}/gbm.h %{_includedir}/gbm.h
%{_libdir}/pkgconfig/gbm.pc %{_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} %if 0%{?with_vmware}
%files libxatracker %files libxatracker
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc docs/COPYING
%if %{with_hardware} %if %{with_hardware}
%{_libdir}/libxatracker.so.2 %{_libdir}/libxatracker.so.2
%{_libdir}/libxatracker.so.2.* %{_libdir}/libxatracker.so.2.*
@ -606,7 +647,157 @@ rm -rf $RPM_BUILD_ROOT
%endif %endif
%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 %changelog
* Thu Apr 04 2019 Dave Airlie <airlied@redhat.com> - 18.3.4-5
- fix remote shm patch

* Wed Mar 27 2019 Dave Airlie <airlied@redhat.com> - 18.3.4-4
- Enable i686 vulkan drivers for 32-bit apps

* Tue Mar 26 2019 Dave Airlie <airlied@redhat.com> - 18.3.4-3
- fix remote shm

* Fri Mar 01 2019 Dave Airlie <airlied@redhat.com> - 18.3.4-2
- add shm fix

* Tue Feb 19 2019 Dave Airlie <airlied@redhat.com> - 18.3.4-1
- mesa 18.3.4

* Wed Feb 13 2019 Dave Airlie <airlied@redhat.com> - 18.3.3-2
- Add khr-devel to fix buildroot GL/EGL devel (#1676392)

* Wed Feb 06 2019 Dave Airlie <airlied@redhat.com> - 18.3.3-1
- mesa 18.3.3

* Thu Jan 31 2019 Dave Airlie <airlied@redhat.com> - 18.3.2-1
- mesa 18.3.2

* Sat Dec 15 2018 Dave Airlie <airlied@redhat.com> - 18.0.5-4
- disable shm put/get for now it caused regressions

* Tue Jul 24 2018 Dave Airlie <airlied@redhat.com> - 18.0.5-3
- rename fedora to system in glvnd fallback

* Thu Jul 19 2018 Dave Airlie <airlied@redhat.com> - 18.0.5-2
- Fix timeout overflow warnings (backport from upstream + virgl)

* Wed Jun 20 2018 Adam Jackson <ajax@redhat.com> - 18.0.5-1
- Mesa 18.0.5

* Wed May 30 2018 Dave Airlie <airlied@redhat.com - 18.0.4-1.20180530
- rebase to 18.0.4
- backport shm put/get image for improved sw renderers (esp under qxl)

* Tue May 29 2018 Adam Jackson <ajax@redhat.com> - 18.0.3-5.20180508
- Fix gl.pc when using glvnd
- Fix subpackage dependencies for glvnd

* Fri May 25 2018 Adam Jackson <ajax@redhat.com> - 18.0.3-2.20180508
- Use glvnd

* Tue May 08 2018 Dave Airlie <airlied@redhat.com> 18.0.3-1.20180508
- rebase to 18.0.3

* Wed Apr 18 2018 Adam Jackson <ajax@redhat.com> - 17.2.3-9
- Rebuild for new llvm

* Mon Jan 15 2018 Dave Airlie <airlied@redhat.com> - 17.2.3-8.20171019
- Add missing Intel CFL ids.

* Thu Nov 30 2017 Lyude Paul <lyude@redhat.com> - 17.2.3-7.20171019
- Add patches to fix cache lines with DRI_PRIME + amdgpu (#1503861)

* Fri Nov 17 2017 Dave Airlie <airlied@redhat.com> - 17.2.3-6.20171019
- fix libgbm/dri-drivers requires on libdrm

* Wed Oct 25 2017 Yaakov Selkowitz <yselkowi@redhat.com> - 17.2.3-5.20171019
- Enable hardware drivers on aarch64 (#1358444)

* Tue Oct 24 2017 Dave Airlie <airlied@redhat.com> - 17.2.3-4.20171019
- Update gitdate and clean out sources.

* Tue Oct 24 2017 Dave Airlie <airlied@redhat.com> - 17.2.3-3.20171019
- Add final 17.2.3 patch.

* Thu Oct 19 2017 Tom Stellard <tstellar@redhat.com> - 17.2.3-2.20171019
- Switch to llvm-private

* Thu Oct 19 2017 Dave Airlie <airlied@redhat.com> - 17.2.3-1.20171019
- rebase to 17.2.3

* Thu Oct 05 2017 Dave Airlie <airlied@redhat.com> - 17.2.2-1.20171005
- rebase to 17.2.2 final release + s3tc support

* Thu Sep 28 2017 Olivier Fourdan <ofourdan@redhat.com> - 17.2.0-2.20170911
- Enable wayland-egl, add dependencies on wayland-protocols (#1481412)

* Mon Sep 11 2017 Dave Airlie <airlied@redhat.com> - 17.2.0-1.20170911
- rebase to 17.2.0 final release

* Tue Aug 15 2017 Dave Airlie <airlied@redhat.com> - 17.2.0-0.1.20170815
- rebase to 17.2-rc4

* Thu May 11 2017 Dave Airlie <airlied@redhat.com> - 17.0.1-6.20170307
- enable VDPAU drivers (#1297276)

* Tue May 09 2017 Tom Stellard <tstellar@redhat.com> - 17.0.1-5.20170307
- Use correct datalayout for llvmpipe (#1445423)

* Fri May 05 2017 Adam Jackson <ajax@redhat.com> - 17.0.1-4.20170307
- Add ppc64le vulkan build

* Wed May 03 2017 Lyude Paul <lyude@redhat.com> - 17.0.1-3.20170307
- Add temporary revert for #1438891

* Tue Mar 28 2017 Dave Airlie <airlied@redhat.com> - 17.0.1-2.20170307
- Allow compat shaders override. (#1429813)

* Tue Mar 07 2017 Dave Airlie <airlied@redhat.com> - 17.0.1-1.20170307
- mesa 17.0.1 release

* Tue Feb 28 2017 Dave Airlie <airlied@redhat.com> - 17.0.0-2.20170215
- enable more drivers on aarch64 + vulkan drivers (#1358444)

* Wed Feb 15 2017 Dave Airlie <airlied@redhat.com> - 17.0.0-1.20170215
- mesa 17.0.0 release

* Mon Feb 06 2017 Adam Jackson <ajax@redhat.com> - 17.0.0-0.2.20170123
- Rebuild against (and BuildRequire) mesa-private-llvm >= 3.9

* Mon Jan 23 2017 Dave Airlie <airlied@redhat.com> - 17.0.0-0.1.20170123
- mesa 17.0.0-rc1

* Tue Aug 09 2016 Rob Clark <rclark@redhat.com> - 11.2.2-2.20160614
- update kbl pci ids.

* Tue Jun 14 2016 Dave Airlie <airlied@redhat.com> - 11.2.2-1.20160614
- mesa 11.2.2 release

* Tue Apr 05 2016 Dave Airlie <airlied@redhat.com> 11.2.0-1.20160405
- mesa 11.2.0 final release

* Thu Mar 10 2016 Dave Airlie <airlied@redhat.com> 11.2.0-0.2.20160310
- mesa 11.2.0-rc2 release + enable virgl

* Thu Sep 17 2015 Oded Gabbay <oded.gabbay@redhat.com> 10.6.5-3.20150824 * Thu Sep 17 2015 Oded Gabbay <oded.gabbay@redhat.com> 10.6.5-3.20150824
- Fix texture compression for big-endian (#1250168) - Fix texture compression for big-endian (#1250168)



128
SPECS/nextcloud-client.spec

@ -1,30 +1,33 @@
%global _hardened_build 1 %global _hardened_build 1


Name: nextcloud-client Name: nextcloud-client
Version: 2.3.3 Version: 2.6.1
Release: 1%{?dist} Release: 1%{?dist}
Summary: The Nextcloud Client Summary: The Nextcloud Client


# -libs are LGPLv2+, rest GPLv2 # -libs are LGPLv2+, rest GPLv2
License: LGPLv2+ and GPLv2 License: LGPLv2+ and GPLv2
Url: https://nextcloud.com/install/#install-clients Url: https://nextcloud.com/install/#install-clients
##Source0: https://github.com/nextcloud/client_theming/archive/v%{version}.tar.gz Source0: https://github.com/nextcloud/desktop/archive/desktop-%{version}.tar.gz
# 2.3.3 Nextcloud theme not yet available Source1: nextcloud.appdata.xml
Source0: https://github.com/nextcloud/client_theming/archive/v2.3.2.tar.gz # The patch does 3 things:
Source1: https://download.owncloud.com/desktop/stable/owncloudclient-%{version}.tar.xz # - Depends on system lib for QtSingleApplication and QtLockedFile
Source2: nextcloud.appdata.xml # - Remove the extraneous namespace when calling QtSingleApplication
Patch0: %{name}-%{version}-syslibs.patch # - Fix a mismatch in the QtSingleApplication::messageReceived signal and the
## patch 1 solves https://bugzilla.redhat.com/show_bug.cgi?id=1409252 # Application::slotParseMessage slot
Patch1: %{name}-icon.patch # These fix are needed because the system wide QtSingleApplication is slightly
# different from the bundled one.
#Patch0: %%{name}-%%{version}-syslibs.patch


BuildRequires: check BuildRequires: check
BuildRequires: cmake BuildRequires: cmake
BuildRequires: desktop-file-utils BuildRequires: desktop-file-utils
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: libappstream-glib BuildRequires: libappstream-glib
BuildRequires: neon-devel BuildRequires: neon-devel
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: python-sphinx BuildRequires: python3-sphinx
BuildRequires: qtlockedfile-qt5-devel BuildRequires: qtlockedfile-qt5-devel
BuildRequires: qtkeychain-qt5-devel >= 0.7.0 BuildRequires: qtkeychain-qt5-devel >= 0.7.0
BuildRequires: qtsingleapplication-qt5-devel BuildRequires: qtsingleapplication-qt5-devel
@ -34,6 +37,8 @@ BuildRequires: qt5-qtbase-gui
BuildRequires: qt5-qtwebkit-devel BuildRequires: qt5-qtwebkit-devel
BuildRequires: qt5-qtxmlpatterns-devel BuildRequires: qt5-qtxmlpatterns-devel
BuildRequires: qt5-qttools qt5-qttools-devel BuildRequires: qt5-qttools qt5-qttools-devel
BuildRequires: qt5-qtwebengine-devel
BuildRequires: qt5-qtsvg-devel
BuildRequires: extra-cmake-modules BuildRequires: extra-cmake-modules
# Plasma 5 Dolphin integration # Plasma 5 Dolphin integration
%if 0%{?fedora} >= 24 || 0%{?rhel} > 7 %if 0%{?fedora} >= 24 || 0%{?rhel} > 7
@ -47,6 +52,9 @@ Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Provides: mirall = %{version}-%{release} Provides: mirall = %{version}-%{release}
Obsoletes: mirall < 1.8.0 Obsoletes: mirall < 1.8.0


# Read https://bugzilla.redhat.com/show_bug.cgi?id=1651261
ExcludeArch: ppc64 ppc64le s390x

%description %description
Nextcloud-client enables you to connect to your private Nextcloud Server. 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 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 %package caja
Summary: Caja overlay icons Summary: Caja overlay icons
Requires: caja Requires: caja
Requires: python-caja Requires: python3-caja
Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release}


%description caja %description caja
@ -124,24 +132,16 @@ The nextcloud desktop client dolphin extension.
%endif %endif


%prep %prep
# 2.3.2 Nextcloud theme not yet available %setup -q -n desktop-%{version}
%setup -q -n client_theming-2.3.2 #rm -rf src/3rdparty/qtlockedfile src/3rdparty/qtsingleapplication
%setup -T -D -a 1 -n client_theming-2.3.2 sed 's/OpenSSL 1.1/OpenSSL 1.0/g' -i CMakeLists.txt
##%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




%build %build
mkdir build mkdir build
pushd 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} make %{?_smp_mflags}
popd popd


@ -152,7 +152,7 @@ make install DESTDIR=%{buildroot}
popd popd
%find_lang client --with-qt %find_lang client --with-qt
mkdir -p %{buildroot}%{_datadir}/appdata/ 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 # 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 rm -f %{buildroot}%{_kf5_datadir}/kservices5/nextclouddolphinactionplugin.desktop
%endif %endif



# Only Fedora has Mate, so there is no need for Caja extension on EPEL # Only Fedora has Mate, so there is no need for Caja extension on EPEL
%if 0%{?rhel} %if 0%{?rhel}
rm -rf %{buildroot}%{_datadir}/caja-python/ rm -rf %{buildroot}%{_datadir}/caja-python/
%endif %endif



%check %check
appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/nextcloud.appdata.xml appstream-util validate-relax --nonet %{buildroot}%{_datadir}/appdata/nextcloud.appdata.xml



%ldconfig_scriptlets libs
%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


%if 0%{?fedora} >= 24 || 0%{?rhel} > 7 %if 0%{?fedora} >= 24 || 0%{?rhel} > 7
%post dolphin -p /sbin/ldconfig %ldconfig_scriptlets dolphin
%postun dolphin -p /sbin/ldconfig
%endif %endif


%files -f client.lang %files -f client.lang
@ -201,10 +188,9 @@ fi


%files libs %files libs
%{_libdir}/libnextcloudsync.so.0 %{_libdir}/libnextcloudsync.so.0
%{_libdir}/libnextcloudsync.so.%{version} %{_libdir}/libnextcloudsync.so.%%{version}
%{_libdir}/nextcloud/libocsync.so.* %{_libdir}/nextcloud/libocsync.so.*
%doc README.md %doc README.md
%license client/COPYING
%config %{_sysconfdir}/Nextcloud/sync-exclude.lst %config %{_sysconfdir}/Nextcloud/sync-exclude.lst
%dir %{_sysconfdir}/Nextcloud %dir %{_sysconfdir}/Nextcloud


@ -234,6 +220,60 @@ fi
%endif %endif


%changelog %changelog
* Wed Nov 06 2019 Germano Massullo <germano.massullo@gmail.com> - 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 <germano.massullo@gmail.com> - 2.6.0-1
- 2.6.0 release

* Sun Sep 08 2019 Germano Massullo <germano.massullo@gmail.com> - 2.6.0.rc1-0.1
- 2.6.0 RC1

* Wed Aug 28 2019 Germano Massullo <germano.massullo@gmail.com> - 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 <releng@fedoraproject.org> - 2.5.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild

* Fri May 10 2019 Germano Massullo <germano.massullo@gmail.com> - 2.5.2-2
- added issue_1000.patch

* Thu Apr 11 2019 Germano Massullo <germano.massullo@gmail.com> - 2.5.2-1
- 2.5.2 release
- Changed python2-sphinx requirement to python3-sphinx

* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.5.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

* Wed Jan 09 2019 Germano Massullo <germano@germanomassullo.org> - 2.5.1-1
- 2.5.1 release

* Mon Nov 19 2018 Germano Massullo <germano@germanomassullo.org> - 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 <germano@germanomassullo.org> - 2.5.0-1
- 2.5.0 release

* Wed Aug 15 2018 Germano Massullo <germano.massullo@gmail.com> - 2.5.0-0.1
- 2.5.0 beta 1

* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.0-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild

* Tue Feb 13 2018 Germano Massullo <germano.massullo@gmail.com> - 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 <releng@fedoraproject.org> - 2.3.3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild

* Mon Sep 18 2017 Nick Bebout <nb@fedoraproject.org> - 2.3.3-2
- Change to BR python2-sphinx instead of python-sphinx

* Mon Sep 11 2017 Nick Bebout <nb@fedoraproject.org> - 2.3.3-1 * Mon Sep 11 2017 Nick Bebout <nb@fedoraproject.org> - 2.3.3-1
- update to 2.3.3 - update to 2.3.3



Loading…
Cancel
Save