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 @@ @@ -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 @@ @@ -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>
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 @@ -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 @@ -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 @@ -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 @@ -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

31
SOURCES/0001-glx-fix-shared-memory-leak-in-X11.patch

@ -0,0 +1,31 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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);

24
SPECS/llvm.spec

@ -1,4 +1,4 @@ @@ -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} @@ -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} @@ -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. @@ -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 @@ -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 @@ -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 @@ -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 @@ -262,6 +263,9 @@ make %{?_smp_mflags} check-all
%{_libdir}/clang/%{version}/include

%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
- Fix crash on power9
- Resolves: rhbz#1595996

343
SPECS/mesa.spec

@ -2,15 +2,16 @@ @@ -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 @@ @@ -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 @@ @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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. @@ -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 @@ -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} @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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" @@ -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" @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 @@ -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 <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
- Fix texture compression for big-endian (#1250168)


128
SPECS/nextcloud-client.spec

@ -1,30 +1,33 @@ @@ -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 @@ -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} @@ -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. @@ -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. @@ -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} @@ -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 @@ -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 @@ -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 @@ -234,6 +220,60 @@ fi
%endif

%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
- update to 2.3.3


Loading…
Cancel
Save