From fc4f13bde8483ae0542902633a6fea659e04e2ff Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Thu, 5 Jul 2018 14:18:42 +0300 Subject: gnu: openscenegraph: Update to 3.6.2. * gnu/packages/graphics.scm (openscenegraph): Update to 3.6.2. [source]: Use the new url and 'git-fetch' method. [properties]: Add 'upstream-name'. [native-inputs]: Add 'pkg-config'. [inputs]: Add 'libxrandr'. * gnu/packages/patches/openscenegraph-ffmpeg3.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/packages/patches/openscenegraph-ffmpeg3.patch | 156 ---------------------- 1 file changed, 156 deletions(-) delete mode 100644 gnu/packages/patches/openscenegraph-ffmpeg3.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/openscenegraph-ffmpeg3.patch b/gnu/packages/patches/openscenegraph-ffmpeg3.patch deleted file mode 100644 index 02c04a5583..0000000000 --- a/gnu/packages/patches/openscenegraph-ffmpeg3.patch +++ /dev/null @@ -1,156 +0,0 @@ -Description: Replace deprecated FFmpeg API -Author: Andreas Cadhalpun -See . ---- a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp -+++ b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.cpp -@@ -71,7 +71,7 @@ void FFmpegDecoderVideo::open(AVStream * - findAspectRatio(); - - // Find out whether we support Alpha channel -- m_alpha_channel = (m_context->pix_fmt == PIX_FMT_YUVA420P); -+ m_alpha_channel = (m_context->pix_fmt == AV_PIX_FMT_YUVA420P); - - // Find out the framerate - m_frame_rate = av_q2d(stream->avg_frame_rate); -@@ -91,20 +91,19 @@ void FFmpegDecoderVideo::open(AVStream * - throw std::runtime_error("avcodec_open() failed"); - - // Allocate video frame -- m_frame.reset(avcodec_alloc_frame()); -+ m_frame.reset(av_frame_alloc()); - - // Allocate converted RGB frame -- m_frame_rgba.reset(avcodec_alloc_frame()); -- m_buffer_rgba[0].resize(avpicture_get_size(PIX_FMT_RGB24, width(), height())); -+ m_frame_rgba.reset(av_frame_alloc()); -+ m_buffer_rgba[0].resize(avpicture_get_size(AV_PIX_FMT_RGB24, width(), height())); - m_buffer_rgba[1].resize(m_buffer_rgba[0].size()); - - // Assign appropriate parts of the buffer to image planes in m_frame_rgba -- avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], PIX_FMT_RGB24, width(), height()); -+ avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[0])[0], AV_PIX_FMT_RGB24, width(), height()); - - // Override get_buffer()/release_buffer() from codec context in order to retrieve the PTS of each frame. - m_context->opaque = this; -- m_context->get_buffer = getBuffer; -- m_context->release_buffer = releaseBuffer; -+ m_context->get_buffer2 = getBuffer; - } - - -@@ -263,8 +262,8 @@ int FFmpegDecoderVideo::convert(AVPictur - #ifdef USE_SWSCALE - if (m_swscale_ctx==0) - { -- m_swscale_ctx = sws_getContext(src_width, src_height, (PixelFormat) src_pix_fmt, -- src_width, src_height, (PixelFormat) dst_pix_fmt, -+ m_swscale_ctx = sws_getContext(src_width, src_height, (AVPixelFormat) src_pix_fmt, -+ src_width, src_height, (AVPixelFormat) dst_pix_fmt, - /*SWS_BILINEAR*/ SWS_BICUBIC, NULL, NULL, NULL); - } - -@@ -311,14 +310,14 @@ void FFmpegDecoderVideo::publishFrame(co - AVPicture * const dst = (AVPicture *) m_frame_rgba.get(); - - // Assign appropriate parts of the buffer to image planes in m_frame_rgba -- avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], PIX_FMT_RGB24, width(), height()); -+ avpicture_fill((AVPicture *) (m_frame_rgba).get(), &(m_buffer_rgba[m_writeBuffer])[0], AV_PIX_FMT_RGB24, width(), height()); - - // Convert YUVA420p (i.e. YUV420p plus alpha channel) using our own routine - -- if (m_context->pix_fmt == PIX_FMT_YUVA420P) -+ if (m_context->pix_fmt == AV_PIX_FMT_YUVA420P) - yuva420pToRgba(dst, src, width(), height()); - else -- convert(dst, PIX_FMT_RGB24, src, m_context->pix_fmt, width(), height()); -+ convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width(), height()); - - // Wait 'delay' seconds before publishing the picture. - int i_delay = static_cast(delay * 1000000 + 0.5); -@@ -345,7 +344,7 @@ void FFmpegDecoderVideo::publishFrame(co - - void FFmpegDecoderVideo::yuva420pToRgba(AVPicture * const dst, AVPicture * const src, int width, int height) - { -- convert(dst, PIX_FMT_RGB24, src, m_context->pix_fmt, width, height); -+ convert(dst, AV_PIX_FMT_RGB24, src, m_context->pix_fmt, width, height); - - const size_t bpp = 4; - -@@ -363,31 +362,28 @@ void FFmpegDecoderVideo::yuva420pToRgba( - } - } - -- -- --int FFmpegDecoderVideo::getBuffer(AVCodecContext * const context, AVFrame * const picture) -+int FFmpegDecoderVideo::getBuffer(AVCodecContext * const context, AVFrame * const picture, int flags) - { -+ AVBufferRef *ref; - const FFmpegDecoderVideo * const this_ = reinterpret_cast(context->opaque); - -- const int result = avcodec_default_get_buffer(context, picture); -+ const int result = avcodec_default_get_buffer2(context, picture, flags); - int64_t * p_pts = reinterpret_cast( av_malloc(sizeof(int64_t)) ); - - *p_pts = this_->m_packet_pts; - picture->opaque = p_pts; - -+ ref = av_buffer_create((uint8_t *)picture->opaque, sizeof(int64_t), FFmpegDecoderVideo::freeBuffer, picture->buf[0], flags); -+ picture->buf[0] = ref; -+ - return result; - } - -- -- --void FFmpegDecoderVideo::releaseBuffer(AVCodecContext * const context, AVFrame * const picture) -+void FFmpegDecoderVideo::freeBuffer(void *opaque, uint8_t *data) - { -- if (picture != 0) -- av_freep(&picture->opaque); -- -- avcodec_default_release_buffer(context, picture); -+ AVBufferRef *ref = (AVBufferRef *)opaque; -+ av_buffer_unref(&ref); -+ av_free(data); - } - -- -- - } // namespace osgFFmpeg ---- a/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp -+++ b/src/osgPlugins/ffmpeg/FFmpegDecoderVideo.hpp -@@ -94,8 +94,8 @@ private: - int src_pix_fmt, int src_width, int src_height); - - -- static int getBuffer(AVCodecContext * context, AVFrame * picture); -- static void releaseBuffer(AVCodecContext * context, AVFrame * picture); -+ static int getBuffer(AVCodecContext * context, AVFrame * picture, int flags); -+ static void freeBuffer(void * opaque, uint8_t *data); - - PacketQueue & m_packets; - FFmpegClocks & m_clocks; ---- a/src/osgPlugins/ffmpeg/FFmpegParameters.cpp -+++ b/src/osgPlugins/ffmpeg/FFmpegParameters.cpp -@@ -19,7 +19,7 @@ extern "C" - #include - } - --inline PixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); } -+inline AVPixelFormat osg_av_get_pix_fmt(const char *name) { return av_get_pix_fmt(name); } - - - namespace osgFFmpeg { ---- a/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp 2016-02-18 21:25:39.627923629 +0000 -+++ b/src/osgPlugins/ffmpeg/FFmpegDecoderAudio.cpp 2016-02-18 21:26:17.071140100 +0000 -@@ -227,8 +227,7 @@ - if (avcodec_open2(m_context, p_codec, NULL) < 0) - throw std::runtime_error("avcodec_open() failed"); - -- m_context->get_buffer = avcodec_default_get_buffer; -- m_context->release_buffer = avcodec_default_release_buffer; -+ m_context->get_buffer2 = avcodec_default_get_buffer2; - - } - -- cgit v1.2.3 From b47b2d32084ae689ff73ebb6403f1cc145131ea3 Mon Sep 17 00:00:00 2001 From: Nikolai Merinov Date: Wed, 4 Jul 2018 16:27:11 +0200 Subject: gnu: rust: Support build with glibc-2.27; update to 1.26.2. * gnu/packages/rust.scm (rust-source): Add "patches" argument. (rust-bootstrapped-package): Add "patches" argument. (rust-1.19)[arguments]<#:phases>[patch-tests]: Modify. [arguments]<#:phases>[patch-aarch64-test]: New phase. [arguments]<#:phases>[use-readelf-for-tests]: New phase. [arguments]<#:phases>[remove-unsupported-tests]: New phase. (rust-1.23): Disable "run-pass/out-of-stack.rs" test. (rust-1.24)[arguments]<#:phases>[patch-aarch64-test]: Replace. (rust-1.25)[inputs]: Switch to LLVM 6.0. (rust-1.25)[arguments]<#:phases>[enable-codegen-tests]: New variable. (rust): New variable. * gnu/packages/patches/rust-coresimd-doctest.patch: New file. --- gnu/packages/patches/rust-coresimd-doctest.patch | 21 +++ gnu/packages/rust.scm | 168 +++++++++++++++-------- 2 files changed, 130 insertions(+), 59 deletions(-) create mode 100644 gnu/packages/patches/rust-coresimd-doctest.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/rust-coresimd-doctest.patch b/gnu/packages/patches/rust-coresimd-doctest.patch new file mode 100644 index 0000000000..bfa0ab224b --- /dev/null +++ b/gnu/packages/patches/rust-coresimd-doctest.patch @@ -0,0 +1,21 @@ +Doctest coresimd::x86::__m256 failed on processors withouth "avx" feature. +Backported patch with changes from https://github.com/rust-lang-nursery/stdsimd/issues/481 + +--- rustc-1.26.2-src-orig/src/stdsimd/coresimd/x86/mod.rs 1970-01-01 05:00:00.000000000 +0500 ++++ rustc-1.26.2-src/src/stdsimd/coresimd/x86/mod.rs 2018-06-22 00:01:55.142026720 +0500 +@@ -293,13 +293,13 @@ + /// use std::arch::x86_64::*; + /// + /// # fn main() { +- /// # #[target_feature(enable = "sse")] ++ /// # #[target_feature(enable = "avx")] + /// # unsafe fn foo() { + /// let eight_zeros = _mm256_setzero_ps(); + /// let eight_ones = _mm256_set1_ps(1.0); + /// let eight_floats = _mm256_set_ps(1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0); + /// # } +- /// # if is_x86_feature_detected!("sse") { unsafe { foo() } } ++ /// # if is_x86_feature_detected!("avx") { unsafe { foo() } } + /// # } + /// ``` + pub struct __m256(f32, f32, f32, f32, f32, f32, f32, f32); diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 7fcc795b6f..6d3554a3a7 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -157,14 +157,15 @@ (define rust-bootstrap (license license:asl2.0))) -(define (rust-source version hash) +(define* (rust-source version hash #:key (patches '())) (origin (method url-fetch) (uri (string-append "https://static.rust-lang.org/dist/" "rustc-" version "-src.tar.gz")) (sha256 (base32 hash)) (modules '((guix build utils))) - (snippet '(begin (delete-file-recursively "src/llvm") #t)))) + (snippet '(begin (delete-file-recursively "src/llvm") #t)) + (patches (map search-patch patches)))) (define-public rust-1.19 (package @@ -203,20 +204,29 @@ (define-public rust-1.19 (("fn test_process_mask") "#[allow(unused_attributes)] #[ignore] fn test_process_mask")) - ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. - ;; - (delete-file-recursively "src/test/run-make/linker-output-non-utf8") - (substitute* "src/librustc_back/dynamic_lib.rs" - ;; This test is known to fail on aarch64 and powerpc64le: - ;; https://github.com/rust-lang/rust/issues/45410 - (("fn test_loading_cosine") "#[ignore]\nfn test_loading_cosine")) - ;; nm doesn't recognize the file format because of the - ;; nonstandard sections used by the Rust compiler, but readelf - ;; ignores them. - (substitute* "src/test/run-make/atomic-lock-free/Makefile" - (("\tnm ") - "\treadelf -c ")) #t))) + (add-after 'patch-tests 'patch-aarch64-test + (lambda* _ + (substitute* "src/librustc_back/dynamic_lib.rs" + ;; This test is known to fail on aarch64 and powerpc64le: + ;; https://github.com/rust-lang/rust/issues/45410 + (("fn test_loading_cosine") "#[ignore]\nfn test_loading_cosine")) + #t)) + (add-after 'patch-tests 'use-readelf-for-tests + (lambda* _ + ;; nm doesn't recognize the file format because of the + ;; nonstandard sections used by the Rust compiler, but readelf + ;; ignores them. + (substitute* "src/test/run-make/atomic-lock-free/Makefile" + (("\tnm ") + "\treadelf -c ")) + #t)) + (add-after 'patch-tests 'remove-unsupported-tests + (lambda* _ + ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. + ;; + (delete-file-recursively "src/test/run-make/linker-output-non-utf8") + #t)) (add-after 'patch-source-shebangs 'patch-cargo-checksums (lambda* _ (substitute* "src/Cargo.lock" @@ -279,13 +289,14 @@ (define-public rust-1.19 ;; Dual licensed. (license (list license:asl2.0 license:expat)))) -(define (rust-bootstrapped-package base-rust version checksum) - "Bootstrap rust VERSION with source checksum CHECKSUM using BASE-RUST." +(define* (rust-bootstrapped-package base-rust version checksum + #:key (patches '())) + "Bootstrap rust VERSION with source checksum CHECKSUM patched with PATCHES using BASE-RUST." (package (inherit base-rust) (version version) (source - (rust-source version checksum)) + (rust-source version checksum #:patches patches)) (native-inputs (alist-replace "cargo-bootstrap" (list base-rust "cargo") (alist-replace "rustc-bootstrap" (list base-rust) @@ -410,7 +421,12 @@ (define-public rust-1.23 (substitute* "src/tools/cargo/tests/test.rs" (("fn cargo_test_env") "#[ignore]\nfn cargo_test_env")) #t)) - (add-after 'patch-cargo-tests 'fix-mtime-bug + (add-after 'patch-cargo-tests 'ignore-glibc-2.27-incompatible-test + ;; https://github.com/rust-lang/rust/issues/47863 + (lambda _ + (substitute* "src/test/run-pass/out-of-stack.rs" + (("// ignore-android") "// ignore-test\n// ignore-android")))) + (add-after 'ignore-glibc-2.27-incompatible-test 'fix-mtime-bug (lambda* _ (substitute* "src/build_helper/lib.rs" ;; Bug in Rust code. @@ -452,10 +468,10 @@ (define-public rust-1.23 default-linker = \"" gcc "/bin/gcc" "\" channel = \"stable\" rpath = true -# There is 2 failed codegen tests: -# codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs -# This tests required patched LLVM -codegen-tests = false +" ;; There are 2 failed codegen tests: + ;; codegen/mainsubprogram.rs and codegen/mainsubprogramstart.rs + ;; These tests require a patched LLVM +"codegen-tests = false [target." ,(nix-system->gnu-triplet-for-rust) "] llvm-config = \"" llvm "/bin/llvm-config" "\" cc = \"" gcc "/bin/gcc" "\" @@ -513,45 +529,26 @@ (define-public rust-1.24 (substitute-keyword-arguments (package-arguments base-rust) ((#:phases phases) `(modify-phases ,phases - (replace 'patch-tests - (lambda* (#:key inputs #:allow-other-keys) - (let ((bash (assoc-ref inputs "bash"))) - (substitute* "src/libstd/process.rs" - ;; The newline is intentional. - ;; There's a line length "tidy" check in Rust which would - ;; fail otherwise. - (("\"/bin/sh\"") (string-append "\n\"" bash "/bin/sh\""))) - (substitute* "src/libstd/net/tcp.rs" - ;; There is no network in build environment - (("fn connect_timeout_unroutable") - "#[ignore]\nfn connect_timeout_unroutable")) - ;; - (substitute* "src/libstd/sys/unix/process/process_common.rs" - (("fn test_process_mask") "#[allow(unused_attributes)] - #[ignore] - fn test_process_mask")) - ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. - ;; - (delete-file-recursively "src/test/run-make/linker-output-non-utf8") - (substitute* "src/librustc_metadata/dynamic_lib.rs" - ;; This test is known to fail on aarch64 and powerpc64le: - ;; https://github.com/rust-lang/rust/issues/45410 - (("fn test_loading_cosine") "#[ignore]\nfn test_loading_cosine")) - #t))) + (delete 'use-readelf-for-tests) + (replace 'patch-aarch64-test + (lambda* _ + (substitute* "src/librustc_metadata/dynamic_lib.rs" + ;; This test is known to fail on aarch64 and powerpc64le: + ;; https://github.com/rust-lang/rust/issues/45410 + (("fn test_loading_cosine") "#[ignore]\nfn test_loading_cosine")) + #t)) (delete 'fix-mtime-bug)))))))) -(define-public rust - (let ((base-rust rust-1.24)) +(define-public rust-1.25 + (let ((base-rust + (rust-bootstrapped-package rust-1.24 "1.25.0" + "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf"))) (package (inherit base-rust) - (version "1.25.0") - (source - (rust-source version - "0baxjr99311lvwdq0s38bipbnj72pn6fgbk6lcq7j555xq53mxpf")) - (native-inputs - (alist-replace "cargo-bootstrap" (list base-rust "cargo") - (alist-replace "rustc-bootstrap" (list base-rust) - (package-native-inputs base-rust)))) + (inputs + ;; Use LLVM 6.0 + (alist-replace "llvm" (list llvm) + (package-inputs base-rust))) (arguments (substitute-keyword-arguments (package-arguments base-rust) ((#:phases phases) @@ -560,4 +557,57 @@ (define-public rust (lambda* _ (substitute* "src/tools/cargo/tests/generate-lockfile.rs" ;; This test wants to update the crate index. - (("fn no_index_update") "#[ignore]\nfn no_index_update"))))))))))) + (("fn no_index_update") "#[ignore]\nfn no_index_update")))) + (add-after 'configure 'enable-codegen-tests + (lambda* _ + (substitute* "config.toml" + (("codegen-tests = false") "")))) + (delete 'ignore-glibc-2.27-incompatible-test)))))))) + +(define-public rust + (let ((base-rust + (rust-bootstrapped-package rust-1.25 "1.26.2" + "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv" + #:patches '("rust-coresimd-doctest.patch")))) + (package + (inherit base-rust) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) + `(modify-phases ,phases + ;; binaryen was replaced with LLD project from LLVM + (delete 'dont-build-native) + (replace 'remove-unsupported-tests + (lambda* _ + ;; Our ld-wrapper cannot process non-UTF8 bytes in LIBRARY_PATH. + ;; + (delete-file-recursively "src/test/run-make-fulldeps/linker-output-non-utf8") + #t)) + (replace 'patch-cargo-tests + (lambda* _ + (substitute* "src/tools/cargo/tests/testsuite/build.rs" + (("/usr/bin/env") (which "env")) + ;; Guix llvm is compiled without asmjs-unknown-emscripten. + (("fn wasm32_final_outputs") "#[ignore]\nfn wasm32_final_outputs")) + (substitute* "src/tools/cargo/tests/testsuite/death.rs" + ;; This is stuck when built in container. + (("fn ctrl_c_kills_everyone") "#[ignore]\nfn ctrl_c_kills_everyone")) + ;; Prints test output in the wrong order when built on + ;; i686-linux. + (substitute* "src/tools/cargo/tests/testsuite/test.rs" + (("fn cargo_test_env") "#[ignore]\nfn cargo_test_env")) + #t)) + (add-after 'patch-cargo-tests 'disable-cargo-test-for-nightly-channel + (lambda* _ + ;; This test failed to work on "nightly" channel builds + ;; https://github.com/rust-lang/cargo/issues/5648 + (substitute* "src/tools/cargo/tests/testsuite/resolve.rs" + (("fn test_resolving_minimum_version_with_transitive_deps") + "#[ignore]\nfn test_resolving_minimum_version_with_transitive_deps")) + #t)) + (replace 'patch-cargo-index-update + (lambda* _ + (substitute* "src/tools/cargo/tests/testsuite/generate_lockfile.rs" + ;; This test wants to update the crate index. + (("fn no_index_update") "#[ignore]\nfn no_index_update")) + #t))))))))) -- cgit v1.2.3 From f510a2b93b75ee02e4a17816d2808a37c7b84c3a Mon Sep 17 00:00:00 2001 From: Nikolai Merinov Date: Sat, 30 Jun 2018 14:34:49 +0500 Subject: gnu: rust: Update to 1.27.0. * gnu/packages/rust.scm (rust): Rename to... (rust-1.26): ...this. (rust): New variable. * gnu/packages/patches/rust-bootstrap-stage0-test.patch: New file. --- .../patches/rust-bootstrap-stage0-test.patch | 55 ++++++++++++++++++++++ gnu/packages/rust.scm | 23 ++++++++- 2 files changed, 77 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/rust-bootstrap-stage0-test.patch (limited to 'gnu/packages/patches') diff --git a/gnu/packages/patches/rust-bootstrap-stage0-test.patch b/gnu/packages/patches/rust-bootstrap-stage0-test.patch new file mode 100644 index 0000000000..e8484903e5 --- /dev/null +++ b/gnu/packages/patches/rust-bootstrap-stage0-test.patch @@ -0,0 +1,55 @@ +Bootstrap tests failed with local stage0 cargo and rustc +Backported changes from https://github.com/rust-lang/rust/pull/51977 + +From 0834d9d771e912f51deca6c25699e44734624546 Mon Sep 17 00:00:00 2001 +From: Nikolai Merinov +Date: Mon, 2 Jul 2018 01:45:35 +0500 +Subject: [PATCH] bootstrap: tests should use rustc from config.toml + +Tests should always use "rustc" and "cargo" from config.toml instead +of assuming that stage0 binaries was downloaded to build directory. +--- + src/bootstrap/bootstrap.py | 2 ++ + src/bootstrap/config.rs | 6 ++---- + 2 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/src/bootstrap/bootstrap.py b/src/bootstrap/bootstrap.py +index 487440becf..1701f7b83a 100644 +--- a/src/bootstrap/bootstrap.py ++++ b/src/bootstrap/bootstrap.py +@@ -788,6 +788,8 @@ def bootstrap(help_triggered): + env["BOOTSTRAP_PARENT_ID"] = str(os.getpid()) + env["BOOTSTRAP_PYTHON"] = sys.executable + env["BUILD_DIR"] = build.build_dir ++ env["CARGO"] = build.cargo() ++ env["RUSTC"] = build.rustc() + run(args, env=env, verbose=build.verbose) + + +diff --git a/src/bootstrap/config.rs b/src/bootstrap/config.rs +index 6dd6291be2..d1a0deb583 100644 +--- a/src/bootstrap/config.rs ++++ b/src/bootstrap/config.rs +@@ -23,7 +23,6 @@ use std::cmp; + + use num_cpus; + use toml; +-use util::exe; + use cache::{INTERNER, Interned}; + use flags::Flags; + pub use flags::Subcommand; +@@ -362,9 +361,8 @@ impl Config { + config.src = Config::path_from_python("SRC"); + config.out = Config::path_from_python("BUILD_DIR"); + +- let stage0_root = config.out.join(&config.build).join("stage0/bin"); +- config.initial_rustc = stage0_root.join(exe("rustc", &config.build)); +- config.initial_cargo = stage0_root.join(exe("cargo", &config.build)); ++ config.initial_rustc = Config::path_from_python("RUSTC"); ++ config.initial_cargo = Config::path_from_python("CARGO"); + + config + } +-- +2.17.1 + diff --git a/gnu/packages/rust.scm b/gnu/packages/rust.scm index 6d3554a3a7..bb6fea99a0 100644 --- a/gnu/packages/rust.scm +++ b/gnu/packages/rust.scm @@ -564,7 +564,7 @@ (define-public rust-1.25 (("codegen-tests = false") "")))) (delete 'ignore-glibc-2.27-incompatible-test)))))))) -(define-public rust +(define-public rust-1.26 (let ((base-rust (rust-bootstrapped-package rust-1.25 "1.26.2" "0047ais0fvmqvngqkdsxgrzhb0kljg8wy85b01kbbjc88hqcz7pv" @@ -611,3 +611,24 @@ (define-public rust ;; This test wants to update the crate index. (("fn no_index_update") "#[ignore]\nfn no_index_update")) #t))))))))) + +(define-public rust + (let ((base-rust + (rust-bootstrapped-package rust-1.26 "1.27.0" + "089d7rhw55zpvnw71dj8vil6qrylvl4xjr4m8bywjj83d4zq1f9c" + #:patches + '("rust-coresimd-doctest.patch" + "rust-bootstrap-stage0-test.patch")))) + (package + (inherit base-rust) + (arguments + (substitute-keyword-arguments (package-arguments base-rust) + ((#:phases phases) + `(modify-phases ,phases + (add-before 'install 'mkdir-prefix-paths + (lambda* (#:key outputs #:allow-other-keys) + ;; As result of https://github.com/rust-lang/rust/issues/36989 + ;; `prefix' directory should exist before `install' call + (mkdir-p (assoc-ref outputs "out")) + (mkdir-p (assoc-ref outputs "cargo")) + #t))))))))) -- cgit v1.2.3 From fd115bee31d04f1277560b82bb982e6aa19fc977 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Thu, 12 Jul 2018 11:23:24 -0400 Subject: gnu: Syncthing: Fix a crash bug. * gnu/packages/patches/syncthing-fix-crash.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/syncthing.scm (syncthing)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/patches/syncthing-fix-crash.patch | 72 ++++++++++++++++++++++++++ gnu/packages/syncthing.scm | 2 + 3 files changed, 75 insertions(+) create mode 100644 gnu/packages/patches/syncthing-fix-crash.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 8ec1f161ed..72a489210b 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1138,6 +1138,7 @@ dist_patch_DATA = \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/swish-e-search.patch \ %D%/packages/patches/swish-e-format-security.patch \ + %D%/packages/patches/syncthing-fix-crash.patch \ %D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \ diff --git a/gnu/packages/patches/syncthing-fix-crash.patch b/gnu/packages/patches/syncthing-fix-crash.patch new file mode 100644 index 0000000000..d27e543982 --- /dev/null +++ b/gnu/packages/patches/syncthing-fix-crash.patch @@ -0,0 +1,72 @@ +Avoid a crash: + +https://github.com/syncthing/syncthing/issues/5002 + +Patch copied from upstream source repository: + +https://github.com/syncthing/syncthing/commit/35a75a95dc6383b2d73ab645f1407f7907ec1a2c + +From 35a75a95dc6383b2d73ab645f1407f7907ec1a2c Mon Sep 17 00:00:00 2001 +From: Jakob Borg +Date: Wed, 13 Jun 2018 19:07:52 +0200 +Subject: [PATCH] lib/model: Don't panic when rechecking file (fixes #5002) + (#5003) + +--- + lib/model/model.go | 2 +- + lib/model/model_test.go | 26 ++++++++++++++++++++++++++ + 2 files changed, 27 insertions(+), 1 deletion(-) + +diff --git a/lib/model/model.go b/lib/model/model.go +index 5a9146e0..302f06c5 100644 +--- a/lib/model/model.go ++++ b/lib/model/model.go +@@ -1373,7 +1373,7 @@ func (m *Model) recheckFile(deviceID protocol.DeviceID, folderFs fs.Filesystem, + return + } + +- if blockIndex > len(cf.Blocks) { ++ if blockIndex >= len(cf.Blocks) { + l.Debugf("%v recheckFile: %s: %q / %q i=%d: block index too far", m, deviceID, folder, name, blockIndex) + return + } +diff --git a/lib/model/model_test.go b/lib/model/model_test.go +index 295eafc1..456bbc4a 100644 +--- a/lib/model/model_test.go ++++ b/lib/model/model_test.go +@@ -3608,6 +3608,32 @@ func TestIssue4903(t *testing.T) { + } + } + ++func TestIssue5002(t *testing.T) { ++ // recheckFile should not panic when given an index equal to the number of blocks ++ ++ db := db.OpenMemory() ++ m := NewModel(defaultCfgWrapper, protocol.LocalDeviceID, "syncthing", "dev", db, nil) ++ m.AddFolder(defaultFolderConfig) ++ m.StartFolder("default") ++ ++ m.ServeBackground() ++ defer m.Stop() ++ ++ if err := m.ScanFolder("default"); err != nil { ++ t.Error(err) ++ } ++ ++ file, ok := m.CurrentFolderFile("default", "foo") ++ if !ok { ++ t.Fatal("test file should exist") ++ } ++ nBlocks := len(file.Blocks) ++ ++ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks-1, []byte{1, 2, 3, 4}) ++ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks, []byte{1, 2, 3, 4}) // panic ++ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks+1, []byte{1, 2, 3, 4}) ++} ++ + func addFakeConn(m *Model, dev protocol.DeviceID) *fakeConnection { + fc := &fakeConnection{id: dev, model: m} + m.AddConnection(fc, protocol.HelloResult{}) +-- +2.18.0 + diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index 14e83b5861..4c0bceedf6 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -24,6 +24,7 @@ (define-module (gnu packages syncthing) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix licenses) + #:use-module (gnu packages) #:use-module (gnu packages golang)) (define-public syncthing @@ -35,6 +36,7 @@ (define-public syncthing (uri (string-append "https://github.com/syncthing/syncthing" "/releases/download/v" version "/syncthing-source-v" version ".tar.gz")) + (patches (search-patches "syncthing-fix-crash.patch")) (sha256 (base32 "0bxkm5jlj6l4gai23bg0y31brr80r9qllh1rdg29pahjn0c2b4ml")) -- cgit v1.2.3 From 7519dc95c7628ceeb5ed616604e8c432723a0a50 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Thu, 12 Jul 2018 19:54:48 +0200 Subject: gnu: xapian: Fix notmuch test failure. * gnu/packages/patches/xapian-revert-5489fb2f8.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/search.scm (xapian)[source](patches): Use it. --- gnu/local.mk | 1 + gnu/packages/patches/xapian-revert-5489fb2f8.patch | 23 ++++++++++++++++++++++ gnu/packages/search.scm | 1 + 3 files changed, 25 insertions(+) create mode 100644 gnu/packages/patches/xapian-revert-5489fb2f8.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 72a489210b..c33bf38494 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1214,6 +1214,7 @@ dist_patch_DATA = \ %D%/packages/patches/wpa-supplicant-krack-followups.patch \ %D%/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch \ %D%/packages/patches/x265-fix-ppc64le-build.patch \ + %D%/packages/patches/xapian-revert-5489fb2f8.patch \ %D%/packages/patches/xboing-CVE-2004-0149.patch \ %D%/packages/patches/xdotool-fix-makefile.patch \ %D%/packages/patches/xf86-video-ark-remove-mibstore.patch \ diff --git a/gnu/packages/patches/xapian-revert-5489fb2f8.patch b/gnu/packages/patches/xapian-revert-5489fb2f8.patch new file mode 100644 index 0000000000..7b78e2abb5 --- /dev/null +++ b/gnu/packages/patches/xapian-revert-5489fb2f8.patch @@ -0,0 +1,23 @@ +Revert this upstream commit which breaks a test case in "notmuch": + +https://git.xapian.org/?p=xapian;a=commitdiff;h=5489fb2f838c0f0b0a593b4c17df282a93a1fe5a + +See the notmuch FAQ entry: + +https://notmuchmail.org/faq/#index12h2 + +This should be fixed for later releases. + +diff --git a/backends/glass/glass_postlist.cc b/xapian-core/backends/glass/glass_postlist.cc +index 80e578b85..a47f14a68 100644 +--- a/backends/glass/glass_postlist.cc ++++ b/backends/glass/glass_postlist.cc +@@ -759,7 +759,7 @@ GlassPostList::open_nearby_postlist(const std::string & term_, + (void)need_pos; + if (term_.empty()) + RETURN(NULL); +- if (!this_db.get() || this_db->postlist_table.is_modified()) ++ if (!this_db.get() || this_db->postlist_table.is_writable()) + RETURN(NULL); + RETURN(new GlassPostList(this_db, term_, cursor->clone())); + } diff --git a/gnu/packages/search.scm b/gnu/packages/search.scm index a728f0a314..386092b358 100644 --- a/gnu/packages/search.scm +++ b/gnu/packages/search.scm @@ -52,6 +52,7 @@ (define-public xapian (method url-fetch) (uri (string-append "https://oligarchy.co.uk/xapian/" version "/xapian-core-" version ".tar.xz")) + (patches (search-patches "xapian-revert-5489fb2f8.patch")) (sha256 (base32 "166qpfq7pvyrj2w2x07v31ypvqg6c2xyvds5sms9h4g2sg0z23hy")))) (build-system gnu-build-system) -- cgit v1.2.3 From e3ebfe6ca0dbf7b82169c9333dc31935e8c36226 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Fri, 13 Jul 2018 14:59:54 +0200 Subject: gnu: bind: Update to 9.12.2. * gnu/packages/dns.scm (bind): Update to 9.12.2. * gnu/packages/patches/bind-CVE-2018-5738.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/dns.scm | 5 +- gnu/packages/patches/bind-CVE-2018-5738.patch | 100 -------------------------- 3 files changed, 2 insertions(+), 104 deletions(-) delete mode 100644 gnu/packages/patches/bind-CVE-2018-5738.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 979c3b4b93..9e875263ac 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -584,7 +584,6 @@ dist_patch_DATA = \ %D%/packages/patches/bash-completion-directories.patch \ %D%/packages/patches/bazaar-CVE-2017-14176.patch \ %D%/packages/patches/beignet-correct-file-names.patch \ - %D%/packages/patches/bind-CVE-2018-5738.patch \ %D%/packages/patches/binutils-aarch64-symbol-relocation.patch \ %D%/packages/patches/binutils-loongson-workaround.patch \ %D%/packages/patches/blast+-fix-makefile.patch \ diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm index 9d728c3464..086012e88e 100644 --- a/gnu/packages/dns.scm +++ b/gnu/packages/dns.scm @@ -99,16 +99,15 @@ (define-public dnsmasq (define-public isc-bind (package (name "bind") - (version "9.12.1-P2") + (version "9.12.2") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.isc.org/isc/bind9/" version "/" name "-" version ".tar.gz")) - (patches (search-patches "bind-CVE-2018-5738.patch")) (sha256 (base32 - "0a9dvyg1dk7vpqn9gz7p5jas3bz7z22bjd66b98g1qk16i2w7rqd")))) + "0ll46igs9xfq2qclc5wzqsnj3zv7ssga0544gm24s1m7765lqslz")))) (build-system gnu-build-system) (outputs `("out" "utils")) (inputs diff --git a/gnu/packages/patches/bind-CVE-2018-5738.patch b/gnu/packages/patches/bind-CVE-2018-5738.patch deleted file mode 100644 index ddef014651..0000000000 --- a/gnu/packages/patches/bind-CVE-2018-5738.patch +++ /dev/null @@ -1,100 +0,0 @@ -Fix CVE-2018-5738: - -https://kb.isc.org/article/AA-01616/0/CVE-2018-5738 -https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-5738 - -diff --git a/bin/named/server.c b/bin/named/server.c -index f63554e..847c4ff 100644 ---- a/bin/named/server.c -+++ b/bin/named/server.c -@@ -3725,10 +3725,6 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, - CHECKM(named_config_getport(config, &port), "port"); - dns_view_setdstport(view, port); - -- CHECK(configure_view_acl(vconfig, config, named_g_config, -- "allow-query", NULL, actx, -- named_g_mctx, &view->queryacl)); -- - /* - * Make the list of response policy zone names for a view that - * is used for real lookups and so cares about hints. -@@ -4692,21 +4688,35 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, - "allow-query-cache-on", NULL, actx, - named_g_mctx, &view->cacheonacl)); - /* -- * Set "allow-query-cache", "allow-recursion", and -- * "allow-recursion-on" acls if configured in named.conf. -- * (Ignore the global defaults for now, because these ACLs -- * can inherit from each other when only some of them set at -- * the options/view level.) -+ * Set the "allow-query", "allow-query-cache", "allow-recursion", -+ * and "allow-recursion-on" ACLs if configured in named.conf, but -+ * NOT from the global defaults. This is done by leaving the third -+ * argument to configure_view_acl() NULL. -+ * -+ * We ignore the global defaults here because these ACLs -+ * can inherit from each other. If any are still unset after -+ * applying the inheritance rules, we'll look up the defaults at -+ * that time. - */ -- CHECK(configure_view_acl(vconfig, config, NULL, "allow-query-cache", -- NULL, actx, named_g_mctx, &view->cacheacl)); -+ -+ /* named.conf only */ -+ CHECK(configure_view_acl(vconfig, config, NULL, -+ "allow-query", NULL, actx, -+ named_g_mctx, &view->queryacl)); -+ -+ /* named.conf only */ -+ CHECK(configure_view_acl(vconfig, config, NULL, -+ "allow-query-cache", NULL, actx, -+ named_g_mctx, &view->cacheacl)); - - if (strcmp(view->name, "_bind") != 0 && - view->rdclass != dns_rdataclass_chaos) - { -+ /* named.conf only */ - CHECK(configure_view_acl(vconfig, config, NULL, - "allow-recursion", NULL, actx, - named_g_mctx, &view->recursionacl)); -+ /* named.conf only */ - CHECK(configure_view_acl(vconfig, config, NULL, - "allow-recursion-on", NULL, actx, - named_g_mctx, &view->recursiononacl)); -@@ -4744,18 +4754,21 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, - * the global config. - */ - if (view->recursionacl == NULL) { -+ /* global default only */ - CHECK(configure_view_acl(NULL, NULL, named_g_config, - "allow-recursion", NULL, - actx, named_g_mctx, - &view->recursionacl)); - } - if (view->recursiononacl == NULL) { -+ /* global default only */ - CHECK(configure_view_acl(NULL, NULL, named_g_config, - "allow-recursion-on", NULL, - actx, named_g_mctx, - &view->recursiononacl)); - } - if (view->cacheacl == NULL) { -+ /* global default only */ - CHECK(configure_view_acl(NULL, NULL, named_g_config, - "allow-query-cache", NULL, - actx, named_g_mctx, -@@ -4769,6 +4782,14 @@ configure_view(dns_view_t *view, dns_viewlist_t *viewlist, - CHECK(dns_acl_none(mctx, &view->cacheacl)); - } - -+ if (view->queryacl == NULL) { -+ /* global default only */ -+ CHECK(configure_view_acl(NULL, NULL, named_g_config, -+ "allow-query", NULL, -+ actx, named_g_mctx, -+ &view->queryacl)); -+ } -+ - /* - * Ignore case when compressing responses to the specified - * clients. This causes case not always to be preserved, -- cgit v1.2.3 From 0728f60074e407a014d028d36d7cb891a35c597f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 15 Jul 2018 11:04:10 +0300 Subject: gnu: fltk: Update to 1.3.4-2. * gnu/packages/fltk.scm (fltk): Update to 1.3.4-2. [source]: Remove patches. [inputs]: Switch from libjpeg-8 to libjpeg. * gnu/packages/patches/fltk-shared-lib-defines.patch, gnu/packages/patches/fltk-xfont-on-demand.patch: Remove files. * gnu/local.mk (dist_patch_DATA): Remove them. --- gnu/local.mk | 2 - gnu/packages/fltk.scm | 26 +++++------ gnu/packages/patches/fltk-shared-lib-defines.patch | 51 ---------------------- gnu/packages/patches/fltk-xfont-on-demand.patch | 45 ------------------- 4 files changed, 13 insertions(+), 111 deletions(-) delete mode 100644 gnu/packages/patches/fltk-shared-lib-defines.patch delete mode 100644 gnu/packages/patches/fltk-xfont-on-demand.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 9e875263ac..f349eded50 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -676,8 +676,6 @@ dist_patch_DATA = \ %D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ %D%/packages/patches/flint-ldconfig.patch \ - %D%/packages/patches/fltk-shared-lib-defines.patch \ - %D%/packages/patches/fltk-xfont-on-demand.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch \ %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch \ %D%/packages/patches/freeimage-CVE-2015-0852.patch \ diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm index e4eb2fcad0..a3c088c2e8 100644 --- a/gnu/packages/fltk.scm +++ b/gnu/packages/fltk.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2015, 2018 Ricardo Wurmus ;;; Copyright © 2016 Kei Kebreau ;;; Copyright © 2018 Mark H Weaver +;;; Copyright © 2018 Efraim Flashner ;;; ;;; This file is part of GNU Guix. ;;; @@ -34,27 +35,27 @@ (define-module (gnu packages fltk) #:use-module (guix download) #:use-module (guix git-download) #:use-module (guix build-system gnu) - #:use-module (guix build-system waf)) + #:use-module (guix build-system waf) + #:use-module (srfi srfi-1)) (define-public fltk (package (name "fltk") - (version "1.3.3") + (version "1.3.4-2") (source (origin (method url-fetch) - (uri (string-append "http://fltk.org/pub/fltk/" version + (uri (string-append "http://fltk.org/pub/fltk/" + (first (string-split version #\-)) "/fltk-" version "-source.tar.gz")) (sha256 (base32 - "15qd7lkz5d5ynz70xhxhigpz3wns39v9xcf7ggkl0792syc8sfgq")) - (patches (search-patches "fltk-shared-lib-defines.patch" - "fltk-xfont-on-demand.patch")))) + "0459rm1gl5x3famiqma7ja7k6hvan8p5l8lgshvqfl4rik0lklr5")))) (build-system gnu-build-system) (native-inputs `(("pkg-config" ,pkg-config))) (inputs - `(("libjpeg" ,libjpeg-8) ;jpeg_read_header argument error in libjpeg-9 + `(("libjpeg" ,libjpeg) ("libpng" ,libpng) ("libx11" ,libx11) ("libxft" ,libxft) @@ -76,12 +77,11 @@ (define-public fltk ;; Provide -L flags for image libraries when querying fltk-config to ;; avoid propagating inputs. (lambda* (#:key inputs outputs #:allow-other-keys) - (use-modules (srfi srfi-26)) - (let* ((conf (string-append (assoc-ref outputs "out") - "/bin/fltk-config")) - (jpeg (assoc-ref inputs "libjpeg")) - (png (assoc-ref inputs "libpng")) - (zlib (assoc-ref inputs "zlib"))) + (let ((conf (string-append (assoc-ref outputs "out") + "/bin/fltk-config")) + (jpeg (assoc-ref inputs "libjpeg")) + (png (assoc-ref inputs "libpng")) + (zlib (assoc-ref inputs "zlib"))) (substitute* conf (("-ljpeg") (string-append "-L" jpeg "/lib -ljpeg")) (("-lpng") (string-append "-L" png "/lib -lpng")) diff --git a/gnu/packages/patches/fltk-shared-lib-defines.patch b/gnu/packages/patches/fltk-shared-lib-defines.patch deleted file mode 100644 index d36a50ff5e..0000000000 --- a/gnu/packages/patches/fltk-shared-lib-defines.patch +++ /dev/null @@ -1,51 +0,0 @@ -This patch from upstream revision 10588. - ---- fltk-1.3.3/src/Xutf8.h -+++ fltk-1.3.3/src/Xutf8.h -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - - typedef struct { - int nb_font; -@@ -98,8 +99,8 @@ - XUtf8FontStruct *font_set, - unsigned int ucs); - --int --XGetUtf8FontAndGlyph( -+FL_EXPORT int -+fl_XGetUtf8FontAndGlyph( - XUtf8FontStruct *font_set, - unsigned int ucs, - XFontStruct **fnt, ---- fltk-1.3.3/src/gl_draw.cxx -+++ fltk-1.3.3/src/gl_draw.cxx -@@ -114,7 +114,7 @@ - for (int i = 0; i < 0x400; i++) { - XFontStruct *font = NULL; - unsigned short id; -- XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id); -+ fl_XGetUtf8FontAndGlyph(gl_fontsize->font, ii, &font, &id); - if (font) glXUseXFont(font->fid, id, 1, gl_fontsize->listbase+ii); - ii++; - } ---- fltk-1.3.3/src/xutf8/utf8Wrap.c -+++ fltk-1.3.3/src/xutf8/utf8Wrap.c -@@ -816,10 +816,10 @@ - /** get the X font and glyph ID of a UCS char **/ - /*****************************************************************************/ - int --XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set, -- unsigned int ucs, -- XFontStruct **fnt, -- unsigned short *id) { -+fl_XGetUtf8FontAndGlyph(XUtf8FontStruct *font_set, -+ unsigned int ucs, -+ XFontStruct **fnt, -+ unsigned short *id) { - - /* int x; */ - int *encodings; /* encodings array */ diff --git a/gnu/packages/patches/fltk-xfont-on-demand.patch b/gnu/packages/patches/fltk-xfont-on-demand.patch deleted file mode 100644 index cdcdd9af05..0000000000 --- a/gnu/packages/patches/fltk-xfont-on-demand.patch +++ /dev/null @@ -1,45 +0,0 @@ -Fixes undefined reference to `Fl_XFont_On_Demand::value()'. -From . - -Index: src/fl_font.cxx -=================================================================== ---- fltk-1.3.3/src/fl_font.cxx (revision 10503) -+++ fltk-1.3.3/src/fl_font.cxx (revision 10504) -@@ -55,6 +55,12 @@ - # include "fl_font_x.cxx" - #endif // WIN32 - -+#if ! (defined(WIN32) || defined(__APPLE__)) -+XFontStruct *fl_X_core_font() -+{ -+ return fl_xfont.value(); -+} -+#endif - - double fl_width(const char* c) { - if (c) return fl_width(c, (int) strlen(c)); -Index: src/gl_draw.cxx -=================================================================== ---- fltk-1.3.3/src/gl_draw.cxx (revision 10503) -+++ fltk-1.3.3/src/gl_draw.cxx (revision 10504) -@@ -81,7 +81,7 @@ - * then sorting through them at draw time (for normal X rendering) to find which one can - * render the current glyph... But for now, just use the first font in the list for GL... - */ -- XFontStruct *font = fl_xfont; -+ XFontStruct *font = fl_X_core_font(); - int base = font->min_char_or_byte2; - int count = font->max_char_or_byte2-base+1; - fl_fontsize->listbase = glGenLists(256); -Index: FL/x.H -=================================================================== ---- fltk-1.3.3/FL/x.H (revision 10503) -+++ fltk-1.3.3/FL/x.H (revision 10504) -@@ -132,6 +132,7 @@ - XFontStruct *ptr; - }; - extern FL_EXPORT Fl_XFont_On_Demand fl_xfont; -+extern FL_EXPORT XFontStruct* fl_X_core_font(); - - // this object contains all X-specific stuff about a window: - // Warning: this object is highly subject to change! -- cgit v1.2.3 From 0a551443aeb2563f894494477ad809555244de68 Mon Sep 17 00:00:00 2001 From: Theodoros Foradis Date: Sun, 8 Jul 2018 20:39:26 +0300 Subject: gnu: monero: Update to 0.12.3.0. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/monero-use-system-miniupnpc.patch: New file. * gnu/local.mk: Add it. * gnu/packages/finance.scm (monero): Update to 0.12.3.0. [source]: Add patch. Remove snippet because miniupnpc, rapidjson and unbound are no longer bundled in-tree. [inputs]: Add zeromq, cppzmq, libsodium. Use monero-miniupnpc. [arguments]: Change build-type to "release". Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + gnu/packages/finance.scm | 29 +++--- .../patches/monero-use-system-miniupnpc.patch | 111 +++++++++++++++++++++ 3 files changed, 126 insertions(+), 15 deletions(-) create mode 100644 gnu/packages/patches/monero-use-system-miniupnpc.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index f349eded50..d273b1c743 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -940,6 +940,7 @@ dist_patch_DATA = \ %D%/packages/patches/mingw-w64-5.0rc2-gcc-4.9.3.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ %D%/packages/patches/module-init-tools-moduledir.patch \ + %D%/packages/patches/monero-use-system-miniupnpc.patch \ %D%/packages/patches/mongodb-support-unknown-linux-distributions.patch \ %D%/packages/patches/mozjs17-aarch64-support.patch \ %D%/packages/patches/mozjs24-aarch64-support.patch \ diff --git a/gnu/packages/finance.scm b/gnu/packages/finance.scm index 29bf3040ed..333fe6531a 100644 --- a/gnu/packages/finance.scm +++ b/gnu/packages/finance.scm @@ -39,6 +39,7 @@ (define-module (gnu packages finance) #:use-module (gnu packages base) #:use-module (gnu packages boost) #:use-module (gnu packages check) + #:use-module (gnu packages crypto) #:use-module (gnu packages databases) #:use-module (gnu packages documentation) #:use-module (gnu packages dns) @@ -51,6 +52,7 @@ (define-module (gnu packages finance) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages networking) #:use-module (gnu packages pkg-config) #:use-module (gnu packages protobuf) #:use-module (gnu packages python) @@ -367,25 +369,18 @@ (define-public monero ;; the system's dynamically linked library. (package (name "monero") - (version "0.11.1.0") + (version "0.12.3.0") (source (origin - (method url-fetch) - (uri (string-append "https://github.com/monero-project/monero/archive/v" - version ".tar.gz")) + (method git-fetch) + (uri (git-reference + (url "https://github.com/monero-project/monero") + (commit (string-append "v" version)))) (file-name (string-append name "-" version ".tar.gz")) - (modules '((guix build utils))) - (snippet - '(begin - ;; Delete bundled dependencies. - (for-each - delete-file-recursively - '("external/miniupnpc" "external/rapidjson" - "external/unbound")) - #t)) + (patches (search-patches "monero-use-system-miniupnpc.patch")) (sha256 (base32 - "16shd834025jyzy68h3gag1sz8vbk875hy4j97hrki8pacz8vd5m")))) + "14db9kgjm2ha93c2x5fjdw01xaqshn756qr3x2cnzyyjh7caz5qd")))) (build-system cmake-build-system) (native-inputs `(("doxygen" ,doxygen) @@ -395,15 +390,19 @@ (define-public monero (inputs `(("bind" ,isc-bind) ("boost" ,boost) + ("zeromq" ,zeromq) + ("cppzmq" ,cppzmq) ("expat" ,expat) + ("libsodium" ,libsodium) ("libunwind" ,libunwind) ("lmdb" ,lmdb) - ("miniupnpc" ,miniupnpc) + ("miniupnpc" ,monero-miniupnpc) ("openssl" ,openssl) ("rapidjson" ,rapidjson) ("unbound" ,unbound))) (arguments `(#:out-of-source? #t + #:build-type "release" #:configure-flags '("-DBUILD_TESTS=ON" ,@(if (string=? "aarch64-linux" (%current-system)) '("-DARCH=armv8-a") diff --git a/gnu/packages/patches/monero-use-system-miniupnpc.patch b/gnu/packages/patches/monero-use-system-miniupnpc.patch new file mode 100644 index 0000000000..6bc825d121 --- /dev/null +++ b/gnu/packages/patches/monero-use-system-miniupnpc.patch @@ -0,0 +1,111 @@ +This reverts commit 1e20d705e7c64d2b17c031f345057d1e8850fafa, so that it's possible to use our own +miniupnpc, instead of a git submodule. +--- + CMakeLists.txt | 8 ++++++++ + external/CMakeLists.txt | 41 +++++++++++++++++++++++++++++++---------- + src/p2p/net_node.inl | 13 ++++++++++--- + 3 files changed, 49 insertions(+), 13 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3b93988e..ef948885 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -430,6 +430,14 @@ include_directories("${CMAKE_CURRENT_BINARY_DIR}/translations") + + add_subdirectory(external) + ++# Final setup for miniupnpc ++if(UPNP_STATIC OR IOS) ++ add_definitions("-DUPNP_STATIC") ++else() ++ add_definitions("-DUPNP_DYNAMIC") ++ include_directories(${UPNP_INCLUDE}) ++endif() ++ + # Final setup for libunbound + include_directories(${UNBOUND_INCLUDE}) + link_directories(${UNBOUND_LIBRARY_DIRS}) +diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt +index 1fc4d64c..b4f712ee 100644 +--- a/external/CMakeLists.txt ++++ b/external/CMakeLists.txt +@@ -34,21 +34,42 @@ + # We always compile if we are building statically to reduce static dependency issues... + # ...except for FreeBSD, because FreeBSD is a special case that doesn't play well with + # others. ++if(NOT IOS) ++ find_package(Miniupnpc QUIET) ++endif() + +-find_package(Miniupnpc REQUIRED) ++# If we have the correct shared version and we're not building static, use it ++if(STATIC OR IOS) ++ set(USE_SHARED_MINIUPNPC false) ++elseif(MINIUPNP_FOUND AND MINIUPNPC_VERSION_1_7_OR_HIGHER) ++ set(USE_SHARED_MINIUPNPC true) ++endif() + +-message(STATUS "Using in-tree miniupnpc") ++if(USE_SHARED_MINIUPNPC) ++ message(STATUS "Using shared miniupnpc found at ${MINIUPNP_INCLUDE_DIR}") + +-add_subdirectory(miniupnp/miniupnpc) ++ set(UPNP_STATIC false PARENT_SCOPE) ++ set(UPNP_INCLUDE ${MINIUPNP_INCLUDE_DIR} PARENT_SCOPE) ++ set(UPNP_LIBRARIES ${MINIUPNP_LIBRARY} PARENT_SCOPE) ++else() ++ if(STATIC) ++ message(STATUS "Using miniupnpc from local source tree for static build") ++ else() ++ message(STATUS "Using miniupnpc from local source tree (/external/miniupnp/miniupnpc)") ++ endif() + +-set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") +-if(MSVC) +- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") +-elseif(NOT MSVC) +- set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") +-endif() ++ add_subdirectory(miniupnp/miniupnpc) ++ ++ set_property(TARGET libminiupnpc-static PROPERTY FOLDER "external") ++ if(MSVC) ++ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -wd4244 -wd4267") ++ elseif(NOT MSVC) ++ set_property(TARGET libminiupnpc-static APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-undef -Wno-unused-result -Wno-unused-value") ++ endif() + +-set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) ++ set(UPNP_STATIC true PARENT_SCOPE) ++ set(UPNP_LIBRARIES "libminiupnpc-static" PARENT_SCOPE) ++endif() + + find_package(Unbound) + +diff --git a/src/p2p/net_node.inl b/src/p2p/net_node.inl +index 9b21705e..76340a22 100644 +--- a/src/p2p/net_node.inl ++++ b/src/p2p/net_node.inl +@@ -49,9 +49,16 @@ + #include "storages/levin_abstract_invoke2.h" + #include "cryptonote_core/cryptonote_core.h" + +-#include +-#include +-#include ++// We have to look for miniupnpc headers in different places, dependent on if its compiled or external ++#ifdef UPNP_STATIC ++ #include ++ #include ++ #include ++#else ++ #include "miniupnpc.h" ++ #include "upnpcommands.h" ++ #include "upnperrors.h" ++#endif + + #undef MONERO_DEFAULT_LOG_CATEGORY + #define MONERO_DEFAULT_LOG_CATEGORY "net.p2p" +-- +2.16.2 + -- cgit v1.2.3 From 36bbac734f2b7adda39bbda4ff8f5498347adfd3 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 14:24:59 -0400 Subject: gnu: Remove leftover patch. * gnu/packages/patches/file-CVE-2017-1000249.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it.patch'. --- gnu/local.mk | 1 - gnu/packages/patches/file-CVE-2017-1000249.patch | 27 ------------------------ 2 files changed, 28 deletions(-) delete mode 100644 gnu/packages/patches/file-CVE-2017-1000249.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index d273b1c743..64e71a84f8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -671,7 +671,6 @@ dist_patch_DATA = \ %D%/packages/patches/fcgi-2.4.0-poll.patch \ %D%/packages/patches/fifo-map-fix-flags-for-gcc.patch \ %D%/packages/patches/fifo-map-remove-catch.hpp.patch \ - %D%/packages/patches/file-CVE-2017-1000249.patch \ %D%/packages/patches/findutils-localstatedir.patch \ %D%/packages/patches/findutils-test-xargs.patch \ %D%/packages/patches/flann-cmake-3.11.patch \ diff --git a/gnu/packages/patches/file-CVE-2017-1000249.patch b/gnu/packages/patches/file-CVE-2017-1000249.patch deleted file mode 100644 index 505acf1592..0000000000 --- a/gnu/packages/patches/file-CVE-2017-1000249.patch +++ /dev/null @@ -1,27 +0,0 @@ -https://github.com/file/file/commit/35c94dc6acc418f1ad7f6241a6680e5327495793.patch -http://openwall.com/lists/oss-security/2017/09/05/3 - -The patch is minorly modified to apply to file-5.30 - -From 35c94dc6acc418f1ad7f6241a6680e5327495793 Mon Sep 17 00:00:00 2001 -From: Christos Zoulas -Date: Sun, 27 Aug 2017 07:55:02 +0000 -Subject: [PATCH] Fix always true condition (Thomas Jarosch) - ---- - src/readelf.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/src/readelf.c b/src/readelf.c -index 81451827..5f425c97 100644 ---- a/src/readelf.c -+++ b/src/readelf.c -@@ -511,7 +511,7 @@ do_bid_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type, - size_t noff, size_t doff, int *flags) - { - if (namesz == 4 && strcmp((char *)&nbuf[noff], "GNU") == 0 && -- type == NT_GNU_BUILD_ID && (descsz >= 4 || descsz <= 20)) { -+ type == NT_GNU_BUILD_ID && (descsz >= 4 && descsz <= 20)) { - uint8_t desc[20]; - const char *btype; - uint32_t i; -- cgit v1.2.3 From a545090ce5e6b9da1f473f558dabda69f317e461 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic Date: Mon, 16 Jul 2018 23:48:24 +0200 Subject: gnu: python-cairocffi: Fix loading of shared libraries. Fixes . * gnu/packages/patches/python-cairocffi-dlopen-path.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/python.scm (python-cairocffi)[inputs]: Add glib, gtk+, pango. [native-inputs]: Add python-pytest. [arguments]: Enable tests. [arguments]<#:phases>[patch-paths]: New phase. --- gnu/local.mk | 1 + .../patches/python-cairocffi-dlopen-path.patch | 10 ++++++ gnu/packages/python.scm | 38 +++++++++++++++++++--- 3 files changed, 45 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/python-cairocffi-dlopen-path.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 64e71a84f8..d40b1963db 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1057,6 +1057,7 @@ dist_patch_DATA = \ %D%/packages/patches/python-3-search-paths.patch \ %D%/packages/patches/python-3-fix-tests.patch \ %D%/packages/patches/python-axolotl-AES-fix.patch \ + %D%/packages/patches/python-cairocffi-dlopen-path.patch \ %D%/packages/patches/python-dendropy-fix-tests.patch \ %D%/packages/patches/python-fix-tests.patch \ %D%/packages/patches/python-genshi-add-support-for-python-3.4-AST.patch \ diff --git a/gnu/packages/patches/python-cairocffi-dlopen-path.patch b/gnu/packages/patches/python-cairocffi-dlopen-path.patch new file mode 100644 index 0000000000..e7a7fe3737 --- /dev/null +++ b/gnu/packages/patches/python-cairocffi-dlopen-path.patch @@ -0,0 +1,10 @@ +--- cairocffi-0.8.0/cairocffi/__init__.py.orig 2018-07-16 11:00:59.075664158 +0200 ++++ cairocffi-0.8.0/cairocffi/__init__.py 2018-07-16 17:09:42.471958015 +0200 +@@ -35,6 +35,7 @@ + return lib + except OSError: + pass ++ return ffi.dlopen(name) + raise OSError("dlopen() failed to load a library: %s" % ' / '.join(names)) + + diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index ebf02af22e..fc1ef3eb2a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -4210,23 +4210,53 @@ (define-public python-cairocffi (file-name (string-append name "-" version ".tar.gz")) (sha256 (base32 - "1rk2dvy3fxrga6bvvxc2fi5lbaynm5h4a0w0aaxyn3bc77rszjg9")))) + "1rk2dvy3fxrga6bvvxc2fi5lbaynm5h4a0w0aaxyn3bc77rszjg9")) + (patches (search-patches "python-cairocffi-dlopen-path.patch")))) (build-system python-build-system) (outputs '("out" "doc")) (inputs - `(("gdk-pixbuf" ,gdk-pixbuf) - ("cairo" ,cairo))) + `(("glib" ,glib) + ("gtk+" ,gtk+) + ("gdk-pixbuf" ,gdk-pixbuf) + ("cairo" ,cairo) + ("pango" ,pango))) (native-inputs `(("pkg-config" ,pkg-config) + ("python-pytest" ,python-pytest) ("python-sphinx" ,python-sphinx) ("python-docutils" ,python-docutils))) (propagated-inputs `(("python-xcffib" ,python-xcffib))) ; used at run time (arguments `(;; FIXME: Tests cannot find 'libcairo.so.2'. - #:tests? #f + #:tests? #t #:phases (modify-phases %standard-phases + (add-after 'unpack 'patch-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + (substitute* (find-files "." "\\.py$") + (("dlopen\\(ffi, 'cairo'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "cairo") + "/lib/libcairo.so.2'")) + (("dlopen\\(ffi, 'gdk-3'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "gtk+") + "/lib/libgtk-3.so.0'")) + (("dlopen\\(ffi, 'gdk_pixbuf-2.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "gdk-pixbuf") + "/lib/libgdk_pixbuf-2.0.so.0'")) + (("dlopen\\(ffi, 'glib-2.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "glib") + "/lib/libglib-2.0.so.0'")) + (("dlopen\\(ffi, 'gobject-2.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "glib") + "/lib/libgobject-2.0.so.0'")) + (("dlopen\\(ffi, 'pangocairo-1.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "pango") + "/lib/libpangocairo-1.0.so.0'")) + (("dlopen\\(ffi, 'pango-1.0'") + (string-append "dlopen(ffi, '" (assoc-ref inputs "pango") + "/lib/libpango-1.0.so.0'"))) + #t)) (add-after 'install 'install-doc (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((data (string-append (assoc-ref outputs "doc") "/share")) -- cgit v1.2.3 From 4fa335949a7d8b45dc4e8906166de0bd6e41d808 Mon Sep 17 00:00:00 2001 From: "Jovany Leandro G.C" Date: Fri, 13 Jul 2018 10:27:52 -0500 Subject: gnu: twinkle: Add missing headers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/patches/twinkle-include-qregexpvalidator-explicity.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/telephony.scm (twinkle)[source]: Use it. Signed-off-by: Ludovic Courtès --- gnu/local.mk | 1 + .../patches/twinkle-include-qregexpvalidator.patch | 123 +++++++++++++++++++++ gnu/packages/telephony.scm | 2 + 3 files changed, 126 insertions(+) create mode 100755 gnu/packages/patches/twinkle-include-qregexpvalidator.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index d40b1963db..be435c5288 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1162,6 +1162,7 @@ dist_patch_DATA = \ %D%/packages/patches/tophat-build-with-later-seqan.patch \ %D%/packages/patches/totem-meson-easy-codec.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \ + %D%/packages/patches/twinkle-include-qregexpvalidator.patch \ %D%/packages/patches/unrtf-CVE-2016-10091.patch \ %D%/packages/patches/unzip-CVE-2014-8139.patch \ %D%/packages/patches/unzip-CVE-2014-8140.patch \ diff --git a/gnu/packages/patches/twinkle-include-qregexpvalidator.patch b/gnu/packages/patches/twinkle-include-qregexpvalidator.patch new file mode 100755 index 0000000000..4096cc8712 --- /dev/null +++ b/gnu/packages/patches/twinkle-include-qregexpvalidator.patch @@ -0,0 +1,123 @@ +Copied from upstream: + +https://github.com/LubosD/twinkle/commit/4b42755619011c117a76bdf98e417ebedc47e319 + +From 4b42755619011c117a76bdf98e417ebedc47e319 Mon Sep 17 00:00:00 2001 +From: Michal Kubecek +Date: Wed, 6 Jun 2018 10:07:21 +0200 +Subject: [PATCH] Include explicitly + +Since Qt 5.11, generated ui_getprofilename.h no longer includes QHeaderView +which breaks the chain that included qvalidator.h in getprofilename.cpp. +As it feels rather fragile to rely on such indirect includes, let's include + explicitly in each file using QRegExpValidator class. +--- + src/gui/diamondcardprofileform.cpp | 1 + + src/gui/getprofilenameform.cpp | 2 +- + src/gui/inviteform.cpp | 1 + + src/gui/mphoneform.cpp | 1 + + src/gui/numberconversionform.cpp | 1 + + src/gui/syssettingsform.cpp | 1 + + src/gui/userprofileform.cpp | 1 + + src/gui/wizardform.cpp | 1 + + 8 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/src/gui/diamondcardprofileform.cpp b/src/gui/diamondcardprofileform.cpp +index 6656909..517180b 100644 +--- a/src/gui/diamondcardprofileform.cpp ++++ b/src/gui/diamondcardprofileform.cpp +@@ -21,6 +21,7 @@ + + #include + #include ++#include + #include "gui.h" + #include "diamondcard.h" + #include "getprofilenameform.h" +diff --git a/src/gui/getprofilenameform.cpp b/src/gui/getprofilenameform.cpp +index 1319e1d..89c715e 100644 +--- a/src/gui/getprofilenameform.cpp ++++ b/src/gui/getprofilenameform.cpp +@@ -1,7 +1,7 @@ + #include "getprofilenameform.h" +- + #include + #include ++#include + #include "user.h" + #include "protocol.h" + +diff --git a/src/gui/inviteform.cpp b/src/gui/inviteform.cpp +index 433fb22..2a5b68d 100644 +--- a/src/gui/inviteform.cpp ++++ b/src/gui/inviteform.cpp +@@ -7,6 +7,7 @@ + #include "sys_settings.h" + #include + #include ++#include + + /* + Copyright (C) 2005-2009 Michel de Boer +diff --git a/src/gui/mphoneform.cpp b/src/gui/mphoneform.cpp +index 260fda7..c4e3c1d 100644 +--- a/src/gui/mphoneform.cpp ++++ b/src/gui/mphoneform.cpp +@@ -54,6 +54,7 @@ + #include + #include + #include ++#include + #include "buddyform.h" + #include "diamondcardprofileform.h" + #include "osd.h" +diff --git a/src/gui/numberconversionform.cpp b/src/gui/numberconversionform.cpp +index f8ae64c..8481a9b 100644 +--- a/src/gui/numberconversionform.cpp ++++ b/src/gui/numberconversionform.cpp +@@ -1,5 +1,6 @@ + #include "numberconversionform.h" + ++#include + #include "gui.h" + + /* +diff --git a/src/gui/syssettingsform.cpp b/src/gui/syssettingsform.cpp +index 216af54..355df59 100644 +--- a/src/gui/syssettingsform.cpp ++++ b/src/gui/syssettingsform.cpp +@@ -28,6 +28,7 @@ + #include "twinkle_config.h" + #include + #include ++#include + #include "syssettingsform.h" + /* + * Constructs a SysSettingsForm as a child of 'parent', with the +diff --git a/src/gui/userprofileform.cpp b/src/gui/userprofileform.cpp +index 28700a6..9ed9209 100644 +--- a/src/gui/userprofileform.cpp ++++ b/src/gui/userprofileform.cpp +@@ -31,6 +31,7 @@ + #include + #include "twinkle_config.h" + #include ++#include + #include "numberconversionform.h" + #include "util.h" + #include "userprofileform.h" +diff --git a/src/gui/wizardform.cpp b/src/gui/wizardform.cpp +index 777aa12..f925875 100644 +--- a/src/gui/wizardform.cpp ++++ b/src/gui/wizardform.cpp +@@ -23,6 +23,7 @@ + #include + #include "gui.h" + #include ++#include + #include "wizardform.h" + + #define PROV_NONE QT_TRANSLATE_NOOP("WizardForm", "None (direct IP to IP calls)") +-- +2.17.0 + diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 246d85901c..2055034117 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -485,6 +485,8 @@ (define-public twinkle (uri (git-reference (url "https://github.com/LubosD/twinkle") (commit commit))) + (patches + (search-patches "twinkle-include-qregexpvalidator.patch")) (file-name (git-file-name name version)) (sha256 (base32 -- cgit v1.2.3 From a1e3da63cb4b9a9151849d1d4360c2a8415becb5 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Mon, 16 Jul 2018 23:09:37 -0400 Subject: gnu: ghostscript: Fix CVE-2018-10194. * gnu/packages/ghostscript.scm (ghostscript)[replacement]: New field. (ghostscript/fixed): New variable. * gnu/packages/patches/ghostscript-CVE-2018-10194.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/ghostscript.scm | 11 +++++ .../patches/ghostscript-CVE-2018-10194.patch | 52 ++++++++++++++++++++++ 3 files changed, 64 insertions(+) create mode 100644 gnu/packages/patches/ghostscript-CVE-2018-10194.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 6a731ea0e9..e55c2bf3ba 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -714,6 +714,7 @@ dist_patch_DATA = \ %D%/packages/patches/geoclue-config.patch \ %D%/packages/patches/ghc-8.0-fall-back-to-madv_dontneed.patch \ %D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \ + %D%/packages/patches/ghostscript-CVE-2018-10194.patch \ %D%/packages/patches/ghostscript-no-header-id.patch \ %D%/packages/patches/ghostscript-no-header-uuid.patch \ %D%/packages/patches/ghostscript-no-header-creationdate.patch \ diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 0a6043ba65..1240b1dc16 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -132,6 +132,7 @@ (define-public psutils (define-public ghostscript (package (name "ghostscript") + (replacement ghostscript/fixed) (version "9.23") (source (origin @@ -250,6 +251,16 @@ (define-public ghostscript (home-page "https://www.ghostscript.com/") (license license:agpl3+))) +(define-public ghostscript/fixed + (hidden-package + (package + (inherit ghostscript) + (source + (origin + (inherit (package-source ghostscript)) + (patches (append (origin-patches (package-source ghostscript)) + (search-patches "ghostscript-CVE-2018-10194.patch")))))))) + (define-public ghostscript/x (package/inherit ghostscript (name (string-append (package-name ghostscript) "-with-x")) diff --git a/gnu/packages/patches/ghostscript-CVE-2018-10194.patch b/gnu/packages/patches/ghostscript-CVE-2018-10194.patch new file mode 100644 index 0000000000..242e57c27c --- /dev/null +++ b/gnu/packages/patches/ghostscript-CVE-2018-10194.patch @@ -0,0 +1,52 @@ +Fix CVE-2018-10194: + +https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-10194 +https://bugs.ghostscript.com/show_bug.cgi?id=699255 + +Patch copied from upstream source repository: + +https://git.ghostscript.com/?p=ghostpdl.git;a=commit;h=39b1e54b2968620723bf32e96764c88797714879 + +From 39b1e54b2968620723bf32e96764c88797714879 Mon Sep 17 00:00:00 2001 +From: Ken Sharp +Date: Wed, 18 Apr 2018 15:46:32 +0100 +Subject: [PATCH] pdfwrite - Guard against trying to output an infinite number + +Bug #699255 " Buffer overflow on pprintg1 due to mishandle postscript file data to pdf" + +The file uses an enormous parameter to xyxhow, causing an overflow in +the calculation of text positioning (value > 1e39). + +Since this is basically a nonsense value, and PostScript only supports +real values up to 1e38, this patch follows the same approach as for +a degenerate CTM, and treats it as 0. + +Adobe Acrobat Distiller throws a limitcheck error, so we could do that +instead if this approach proves to be a problem. +--- + devices/vector/gdevpdts.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/devices/vector/gdevpdts.c b/devices/vector/gdevpdts.c +index 848ad781f..172fe6bc3 100644 +--- a/devices/vector/gdevpdts.c ++++ b/devices/vector/gdevpdts.c +@@ -103,9 +103,14 @@ append_text_move(pdf_text_state_t *pts, double dw) + static int + set_text_distance(gs_point *pdist, double dx, double dy, const gs_matrix *pmat) + { +- int code = gs_distance_transform_inverse(dx, dy, pmat, pdist); ++ int code; + double rounded; + ++ if (dx > 1e38 || dy > 1e38) ++ code = gs_error_undefinedresult; ++ else ++ code = gs_distance_transform_inverse(dx, dy, pmat, pdist); ++ + if (code == gs_error_undefinedresult) { + /* The CTM is degenerate. + Can't know the distance in user space. +-- +2.18.0 + -- cgit v1.2.3 From eb5ece73a84439d21219a802c0dcb88d54046371 Mon Sep 17 00:00:00 2001 From: Kei Kebreau Date: Sat, 21 Jul 2018 12:47:34 -0400 Subject: gnu: openbabel: Fix crash when opening NWChem output files. * gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/chemistry.scm (openbabel)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/chemistry.scm | 4 ++- .../openbabel-fix-crash-on-nwchem-output.patch | 34 ++++++++++++++++++++++ 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index e55c2bf3ba..8ad81e6935 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -979,6 +979,7 @@ dist_patch_DATA = \ %D%/packages/patches/ocaml-graph-honor-source-date-epoch.patch \ %D%/packages/patches/omake-fix-non-determinism.patch \ %D%/packages/patches/ola-readdir-r.patch \ + %D%/packages/patches/openbabel-fix-crash-on-nwchem-output.patch \ %D%/packages/patches/opencascade-oce-glibc-2.26.patch \ %D%/packages/patches/openblas-fix-tests-i686.patch \ %D%/packages/patches/openexr-missing-samples.patch \ diff --git a/gnu/packages/chemistry.scm b/gnu/packages/chemistry.scm index a81c14b43c..418b4be2f4 100644 --- a/gnu/packages/chemistry.scm +++ b/gnu/packages/chemistry.scm @@ -213,7 +213,9 @@ (define-public openbabel version "/" name "-" version ".tar.gz")) (sha256 (base32 - "1z3d6xm70dpfikhwdnbzc66j2l49vq105ch041wivrfz5ic3ch90")))) + "1z3d6xm70dpfikhwdnbzc66j2l49vq105ch041wivrfz5ic3ch90")) + (patches + (search-patches "openbabel-fix-crash-on-nwchem-output.patch")))) (build-system cmake-build-system) (arguments `(#:configure-flags diff --git a/gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch b/gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch new file mode 100644 index 0000000000..879df026a1 --- /dev/null +++ b/gnu/packages/patches/openbabel-fix-crash-on-nwchem-output.patch @@ -0,0 +1,34 @@ +From 52cea818bf68f8a2d3c48d55d00c2f8b7da25e4c Mon Sep 17 00:00:00 2001 +From: Daniel Hogan +Date: Tue, 28 Mar 2017 22:21:18 -0600 +Subject: [PATCH] Remove delete statement. + +When from_scratch is true, coordinates is not allocated. A separate if +statement was added to handle the case when from_scratch is true that +does not try to free coordinates. +--- + src/formats/nwchemformat.cpp | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/src/formats/nwchemformat.cpp b/src/formats/nwchemformat.cpp +index 6f625ad5b..79298555f 100644 +--- a/src/formats/nwchemformat.cpp ++++ b/src/formats/nwchemformat.cpp +@@ -232,11 +232,14 @@ static const char* OPTIMIZATION_END_PATTERN = " Optimization converged"; + break; + tokenize(vs,buffer); + } +- if ((from_scratch)||(i != natoms)) +- { ++ if (from_scratch) ++ { ++ return; ++ } ++ if (i != natoms) { + delete[] coordinates; + return; +- } ++ } + molecule->AddConformer(coordinates); + } + -- cgit v1.2.3 From 706a6ff1544f2fc4baa1d4d2e1cd093a41411906 Mon Sep 17 00:00:00 2001 From: Stefan Stefanović Date: Sat, 21 Jul 2018 18:52:33 +0200 Subject: gnu: sddm: Update to 0.18.0. * gnu/packages/display-managers.scm (sddm): Update to 0.18.0. * gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch: Remove file. * gnu/local.mk (dist_patch_DATA): Remove it. Signed-off-by: Marius Bakke --- gnu/local.mk | 2 +- gnu/packages/display-managers.scm | 5 ++-- .../patches/sddm-fix-build-with-qt-5.11-1024.patch | 28 ---------------------- 3 files changed, 3 insertions(+), 32 deletions(-) delete mode 100644 gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 8ad81e6935..16521e8e0d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -18,6 +18,7 @@ # Copyright © 2017, 2018 Gábor Boskovits # Copyright © 2018 Amirouche Boubekki # Copyright © 2018 Oleg Pykhalov +# Copyright © 2018 Stefan Stefanović # # This file is part of GNU Guix. # @@ -1124,7 +1125,6 @@ dist_patch_DATA = \ %D%/packages/patches/scotch-build-parallelism.patch \ %D%/packages/patches/scotch-graph-diam-64.patch \ %D%/packages/patches/scotch-graph-induce-type-64.patch \ - %D%/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index b0ad3df788..a4ed601ec8 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -135,7 +135,7 @@ (define-public greenisland (define-public sddm (package (name "sddm") - (version "0.17.0") + (version "0.18.0") (source (origin (method url-fetch) (uri (string-append @@ -144,8 +144,7 @@ (define-public sddm "sddm-" version ".tar.xz")) (sha256 (base32 - "0ch6rdppgy2vbzw0c2x9a4c6ry46vx7p6b76d8xbh2nvxh23xv0k")) - (patches (search-patches "sddm-fix-build-with-qt-5.11-1024.patch")))) + "0icyi9nqgbp2v6dwh3n3jzff9jv2xy8d4rbsz89hd65x7c3hrv87")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch b/gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch deleted file mode 100644 index 53c184230a..0000000000 --- a/gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2efc649..8903b52 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -93,7 +95,7 @@ - find_package(XKB REQUIRED) - - # Qt 5 --find_package(Qt5 5.6.0 CONFIG REQUIRED Core DBus Gui Qml Quick LinguistTools) -+find_package(Qt5 5.8.0 CONFIG REQUIRED Core DBus Gui Qml Quick LinguistTools Test) - - # find qt5 imports dir - get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION) -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index c9d935a..bb85ddd 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -2,9 +2,8 @@ - - include_directories(../src/common) - -- - set(ConfigurationTest_SRCS ConfigurationTest.cpp ../src/common/ConfigReader.cpp) - add_executable(ConfigurationTest ${ConfigurationTest_SRCS}) - add_test(NAME Configuration COMMAND ConfigurationTest) - --qt5_use_modules(ConfigurationTest Test) -+target_link_libraries(ConfigurationTest Qt5::Core Qt5::Test) -- cgit v1.2.3 From 2338755afae1b54504f4cc410a41c1ccc8493fdf Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Sun, 22 Jul 2018 14:40:29 +0300 Subject: gnu: python-pyqt: Don't use private sip file. * gnu/packages/qt.scm (python-sip)[arguments]: Don't use '--sip-module' flag in custom 'configure phase. (python-pyqt)[sources]: Add patch. * gnu/packages/patches/pyqt-public-sip.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. --- gnu/local.mk | 1 + gnu/packages/patches/pyqt-public-sip.patch | 55 ++++++++++++++++++++++++++++++ gnu/packages/qt.scm | 4 +-- 3 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/pyqt-public-sip.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 9e875263ac..5ae074dad2 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1050,6 +1050,7 @@ dist_patch_DATA = \ %D%/packages/patches/pybugz-stty.patch \ %D%/packages/patches/pygpgme-disable-problematic-tests.patch \ %D%/packages/patches/pyqt-configure.patch \ + %D%/packages/patches/pyqt-public-sip.patch \ %D%/packages/patches/python-2-deterministic-build-info.patch \ %D%/packages/patches/python-2.7-adjust-tests.patch \ %D%/packages/patches/python-2.7-search-paths.patch \ diff --git a/gnu/packages/patches/pyqt-public-sip.patch b/gnu/packages/patches/pyqt-public-sip.patch new file mode 100644 index 0000000000..5ec45f032b --- /dev/null +++ b/gnu/packages/patches/pyqt-public-sip.patch @@ -0,0 +1,55 @@ +https://sources.debian.org/data/main/p/pyqt5/5.11.2+dfsg-1/debian/patches/public_sip.diff + +From: Dmitry Shachnev +Date: Tue, 3 Jul 2018 09:46:42 +0300 +Subject: Use the public version of sip module + +Per https://www.debian.org/doc/debian-policy/#convenience-copies-of-code. +--- + configure.py | 19 +------------------ + 1 file changed, 1 insertion(+), 18 deletions(-) + +diff --git a/configure.py b/configure.py +index 7c48136..ca23f93 100644 +--- a/configure.py ++++ b/configure.py +@@ -642,15 +642,6 @@ class TargetConfiguration: + "Unable to import enum. Please install the enum34 " + "package from PyPI.") + +- # Check there is a private copy of the sip module already installed. +- try: +- from PyQt5 import sip +- except ImportError: +- error( +- "Unable to import PyQt5.sip. Make sure you have " +- "configured SIP to create a private copy of the sip " +- "module.") +- + # Get the details of the Python interpreter library. + py_major = self.py_version >> 16 + py_minor = (self.py_version >> 8) & 0x0ff +@@ -2438,7 +2429,7 @@ def get_sip_flags(target_config): + the target configuration. + """ + +- sip_flags = ['-n', 'PyQt5.sip'] ++ sip_flags = ['-n', 'sip'] + + # If we don't check for signed interpreters, we exclude the 'VendorID' + # feature +@@ -2914,14 +2905,6 @@ def check_sip(target_config): + target_config is the target configuration. + """ + +- # Check there is a private copy of the sip module already installed. +- try: +- from PyQt5 import sip +- except ImportError: +- error( +- "Unable to import PyQt5.sip. Make sure you have configured " +- "SIP to create a private copy of the sip module.") +- + if target_config.sip is None: + error( + "Make sure you have a working sip on your PATH or use the " diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 9e02cdccf5..20543fe837 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -1632,7 +1632,6 @@ (define-public python-sip python-major+minor "/site-packages"))) (invoke "python" "configure.py" - "--sip-module" "PyQt5.sip" ; for python-pyqt "--bindir" bin "--destdir" lib "--incdir" include))))))) @@ -1671,7 +1670,8 @@ (define-public python-pyqt (sha256 (base32 "00wn9svgyp0fsrkc4ma15zcxg31pw4gsgaz6nwb3fhy3al8miakw")) - (patches (search-patches "pyqt-configure.patch")))) + (patches (search-patches "pyqt-configure.patch" + "pyqt-public-sip.patch")))) (build-system gnu-build-system) (native-inputs `(("qtbase" ,qtbase))) ; for qmake -- cgit v1.2.3 From 68f50cfdd34670f7cbc922398e9117de27f964c9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Jul 2018 10:18:14 +0200 Subject: gnu: xorg-server: Apply patch to fix screen rotation on KMS. Fixes . * gnu/packages/patches/xorg-server-rotate-fb.patch: New file. * gnu/packages/xorg.scm (xorg-server)[source]: Use it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/patches/xorg-server-rotate-fb.patch | 35 ++++++++++++++++++++++++ gnu/packages/xorg.scm | 3 +- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/xorg-server-rotate-fb.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 16521e8e0d..ea906b83e7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1234,6 +1234,7 @@ dist_patch_DATA = \ %D%/packages/patches/xinetd-fix-fd-leak.patch \ %D%/packages/patches/xinetd-CVE-2013-4342.patch \ %D%/packages/patches/xmodmap-asprintf.patch \ + %D%/packages/patches/xorg-server-rotate-fb.patch \ %D%/packages/patches/zathura-pdf-mupdf-link-to-jpeg-libraries.patch \ %D%/packages/patches/zathura-plugindir-environment-variable.patch \ %D%/packages/patches/zstd-fix-stdin-list-without-tty.patch \ diff --git a/gnu/packages/patches/xorg-server-rotate-fb.patch b/gnu/packages/patches/xorg-server-rotate-fb.patch new file mode 100644 index 0000000000..f47036b2a7 --- /dev/null +++ b/gnu/packages/patches/xorg-server-rotate-fb.patch @@ -0,0 +1,35 @@ +commit a85e94a50c94b07574c8701a3ff3c1243f4257f4 +Author: Olivier Fourdan +Date: Fri Jun 15 08:57:12 2018 +0200 + + modesetting: use drmmode_bo_import() for rotate_fb + + drmmode_shadow_allocate() still uses drmModeAddFB() which may fail if + the format is not as expected, preventing from using a rotated output. + + Change it to use the new function drmmode_bo_import() which takes care + of calling the drmModeAddFB2() API. + + Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106715 + Signed-off-by: Olivier Fourdan + Tested-by: Tomas Pelka + Reviewed-by: Lyude Paul + +diff --git a/hw/xfree86/drivers/modesetting/drmmode_display.c b/hw/xfree86/drivers/modesetting/drmmode_display.c +index 859a21a9d..ec11b3f56 100644 +--- a/hw/xfree86/drivers/modesetting/drmmode_display.c ++++ b/hw/xfree86/drivers/modesetting/drmmode_display.c +@@ -1794,11 +1794,8 @@ drmmode_shadow_allocate(xf86CrtcPtr crtc, int width, int height) + return NULL; + } + +- ret = drmModeAddFB(drmmode->fd, width, height, crtc->scrn->depth, +- drmmode->kbpp, +- drmmode_bo_get_pitch(&drmmode_crtc->rotate_bo), +- drmmode_bo_get_handle(&drmmode_crtc->rotate_bo), +- &drmmode_crtc->rotate_fb_id); ++ ret = drmmode_bo_import(drmmode, &drmmode_crtc->rotate_bo, ++ &drmmode_crtc->rotate_fb_id); + + if (ret) { + ErrorF("failed to add rotate fb\n"); diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 0d362669b7..b238ea4aad 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -5093,7 +5093,8 @@ (define-public xorg-server (sha256 (base32 "0mm70y058r8s9y9jiv7q2myv0ycnaw3iqzm7d274410s0ik38w7q")) - (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")))))) + (file-name "xorg-server-use-intel-only-on-pre-gen4.diff")) + (search-patch "xorg-server-rotate-fb.patch"))))) (build-system gnu-build-system) (propagated-inputs `(("libpciaccess" ,libpciaccess) -- cgit v1.2.3 From 02062f42e66234fbb414c35abd75123f0ad2146d Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 24 Jul 2018 22:38:03 +0300 Subject: Revert "gnu: sddm: Fix CMake build." This reverts commit 8674abb1dda0278f81b5965985e6b78497aab386. This is no longer necessary after the upgrade to Qt-5.11.1. --- gnu/local.mk | 1 - gnu/packages/display-managers.scm | 4 +--- .../patches/sddm-fix-build-with-qt-5.11-1024.patch | 28 ---------------------- 3 files changed, 1 insertion(+), 32 deletions(-) delete mode 100644 gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 5ae074dad2..bb333a6611 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1123,7 +1123,6 @@ dist_patch_DATA = \ %D%/packages/patches/scotch-build-parallelism.patch \ %D%/packages/patches/scotch-graph-diam-64.patch \ %D%/packages/patches/scotch-graph-induce-type-64.patch \ - %D%/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch \ %D%/packages/patches/sdl-libx11-1.6.patch \ %D%/packages/patches/seq24-rename-mutex.patch \ %D%/packages/patches/sharutils-CVE-2018-1000097.patch \ diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm index b0ad3df788..6e3d4912de 100644 --- a/gnu/packages/display-managers.scm +++ b/gnu/packages/display-managers.scm @@ -6,7 +6,6 @@ ;;; Copyright © 2017 Sou Bunnbu ;;; Copyright © 2017 Marius Bakke ;;; Copyright © 2017 Tobias Geerinckx-Rice -;;; Copyright © 2018 Stefan Stefanović ;;; ;;; This file is part of GNU Guix. ;;; @@ -144,8 +143,7 @@ (define-public sddm "sddm-" version ".tar.xz")) (sha256 (base32 - "0ch6rdppgy2vbzw0c2x9a4c6ry46vx7p6b76d8xbh2nvxh23xv0k")) - (patches (search-patches "sddm-fix-build-with-qt-5.11-1024.patch")))) + "0ch6rdppgy2vbzw0c2x9a4c6ry46vx7p6b76d8xbh2nvxh23xv0k")))) (build-system cmake-build-system) (native-inputs `(("extra-cmake-modules" ,extra-cmake-modules) diff --git a/gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch b/gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch deleted file mode 100644 index 53c184230a..0000000000 --- a/gnu/packages/patches/sddm-fix-build-with-qt-5.11-1024.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 2efc649..8903b52 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -93,7 +95,7 @@ - find_package(XKB REQUIRED) - - # Qt 5 --find_package(Qt5 5.6.0 CONFIG REQUIRED Core DBus Gui Qml Quick LinguistTools) -+find_package(Qt5 5.8.0 CONFIG REQUIRED Core DBus Gui Qml Quick LinguistTools Test) - - # find qt5 imports dir - get_target_property(QMAKE_EXECUTABLE Qt5::qmake LOCATION) -diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt -index c9d935a..bb85ddd 100644 ---- a/test/CMakeLists.txt -+++ b/test/CMakeLists.txt -@@ -2,9 +2,8 @@ - - include_directories(../src/common) - -- - set(ConfigurationTest_SRCS ConfigurationTest.cpp ../src/common/ConfigReader.cpp) - add_executable(ConfigurationTest ${ConfigurationTest_SRCS}) - add_test(NAME Configuration COMMAND ConfigurationTest) - --qt5_use_modules(ConfigurationTest Test) -+target_link_libraries(ConfigurationTest Qt5::Core Qt5::Test) -- cgit v1.2.3 From 39a57afc42d473517f6e62c2d6a5d3c75eee3e89 Mon Sep 17 00:00:00 2001 From: Leo Famulari Date: Tue, 12 Jun 2018 15:14:43 -0400 Subject: gnu: syncthing: Update to 0.14.49. * gnu/packages/syncthing.scm (syncthing): Update to 0.14.49. [source]: Remove obsolete patch. [inputs]: Remove go-github-com-kardianos-osext. * gnu/packages/patches/syncthing-fix-crash.patch: Delete file. * gnu/local.mk (dist_patch_DATA): Remove it. --- gnu/local.mk | 1 - gnu/packages/patches/syncthing-fix-crash.patch | 72 -------------------------- gnu/packages/syncthing.scm | 6 +-- 3 files changed, 2 insertions(+), 77 deletions(-) delete mode 100644 gnu/packages/patches/syncthing-fix-crash.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index ea906b83e7..fa859d5bb0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1139,7 +1139,6 @@ dist_patch_DATA = \ %D%/packages/patches/superlu-dist-scotchmetis.patch \ %D%/packages/patches/swish-e-search.patch \ %D%/packages/patches/swish-e-format-security.patch \ - %D%/packages/patches/syncthing-fix-crash.patch \ %D%/packages/patches/synfigstudio-fix-ui-with-gtk3.patch \ %D%/packages/patches/t1lib-CVE-2010-2642.patch \ %D%/packages/patches/t1lib-CVE-2011-0764.patch \ diff --git a/gnu/packages/patches/syncthing-fix-crash.patch b/gnu/packages/patches/syncthing-fix-crash.patch deleted file mode 100644 index d27e543982..0000000000 --- a/gnu/packages/patches/syncthing-fix-crash.patch +++ /dev/null @@ -1,72 +0,0 @@ -Avoid a crash: - -https://github.com/syncthing/syncthing/issues/5002 - -Patch copied from upstream source repository: - -https://github.com/syncthing/syncthing/commit/35a75a95dc6383b2d73ab645f1407f7907ec1a2c - -From 35a75a95dc6383b2d73ab645f1407f7907ec1a2c Mon Sep 17 00:00:00 2001 -From: Jakob Borg -Date: Wed, 13 Jun 2018 19:07:52 +0200 -Subject: [PATCH] lib/model: Don't panic when rechecking file (fixes #5002) - (#5003) - ---- - lib/model/model.go | 2 +- - lib/model/model_test.go | 26 ++++++++++++++++++++++++++ - 2 files changed, 27 insertions(+), 1 deletion(-) - -diff --git a/lib/model/model.go b/lib/model/model.go -index 5a9146e0..302f06c5 100644 ---- a/lib/model/model.go -+++ b/lib/model/model.go -@@ -1373,7 +1373,7 @@ func (m *Model) recheckFile(deviceID protocol.DeviceID, folderFs fs.Filesystem, - return - } - -- if blockIndex > len(cf.Blocks) { -+ if blockIndex >= len(cf.Blocks) { - l.Debugf("%v recheckFile: %s: %q / %q i=%d: block index too far", m, deviceID, folder, name, blockIndex) - return - } -diff --git a/lib/model/model_test.go b/lib/model/model_test.go -index 295eafc1..456bbc4a 100644 ---- a/lib/model/model_test.go -+++ b/lib/model/model_test.go -@@ -3608,6 +3608,32 @@ func TestIssue4903(t *testing.T) { - } - } - -+func TestIssue5002(t *testing.T) { -+ // recheckFile should not panic when given an index equal to the number of blocks -+ -+ db := db.OpenMemory() -+ m := NewModel(defaultCfgWrapper, protocol.LocalDeviceID, "syncthing", "dev", db, nil) -+ m.AddFolder(defaultFolderConfig) -+ m.StartFolder("default") -+ -+ m.ServeBackground() -+ defer m.Stop() -+ -+ if err := m.ScanFolder("default"); err != nil { -+ t.Error(err) -+ } -+ -+ file, ok := m.CurrentFolderFile("default", "foo") -+ if !ok { -+ t.Fatal("test file should exist") -+ } -+ nBlocks := len(file.Blocks) -+ -+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks-1, []byte{1, 2, 3, 4}) -+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks, []byte{1, 2, 3, 4}) // panic -+ m.recheckFile(protocol.LocalDeviceID, defaultFolderConfig.Filesystem(), "default", "foo", nBlocks+1, []byte{1, 2, 3, 4}) -+} -+ - func addFakeConn(m *Model, dev protocol.DeviceID) *fakeConnection { - fc := &fakeConnection{id: dev, model: m} - m.AddConnection(fc, protocol.HelloResult{}) --- -2.18.0 - diff --git a/gnu/packages/syncthing.scm b/gnu/packages/syncthing.scm index c9313e7d94..58e3f02db8 100644 --- a/gnu/packages/syncthing.scm +++ b/gnu/packages/syncthing.scm @@ -30,16 +30,15 @@ (define-module (gnu packages syncthing) (define-public syncthing (package (name "syncthing") - (version "0.14.48") + (version "0.14.49") (source (origin (method url-fetch) (uri (string-append "https://github.com/syncthing/syncthing" "/releases/download/v" version "/syncthing-source-v" version ".tar.gz")) - (patches (search-patches "syncthing-fix-crash.patch")) (sha256 (base32 - "0bxkm5jlj6l4gai23bg0y31brr80r9qllh1rdg29pahjn0c2b4ml")) + "06mzzj5iwgqw3yva7azrsqs9zpl84srbamza4gm03grp7v9gf3sj")) (modules '((guix build utils))) ;; Delete bundled ("vendored") free software source code. (snippet '(begin @@ -130,7 +129,6 @@ (define-public syncthing ("go-github-com-golang-groupcache-lru" ,go-github-com-golang-groupcache-lru) ("go-github-com-jackpal-gateway" ,go-github-com-jackpal-gateway) - ("go-github-com-kardianos-osext" ,go-github-com-kardianos-osext) ("go-github-com-kballard-go-shellquote" ,go-github-com-kballard-go-shellquote) ("go-github-com-lib-pq" ,go-github-com-lib-pq) -- cgit v1.2.3 From f88c8624ccc59d5e5f5c674c0331a7de44e6e351 Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 24 Jul 2018 22:54:54 +0300 Subject: Revert "gnu: quassel: Fix building with Qt 5.11." This reverts commit 68ddfb2e8d43de248a64a9baf34ff7002053ede6. This is no longer necessary after the update to Qt-5.11.1. --- gnu/local.mk | 1 - gnu/packages/irc.scm | 1 - gnu/packages/patches/quassel-qt-5.11.patch | 72 ------------------------------ 3 files changed, 74 deletions(-) delete mode 100644 gnu/packages/patches/quassel-qt-5.11.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index bb333a6611..ea066aa718 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1093,7 +1093,6 @@ dist_patch_DATA = \ %D%/packages/patches/qtoctave-qt-5.11-fix.patch \ %D%/packages/patches/qtscript-disable-tests.patch \ %D%/packages/patches/quagga-reproducible-build.patch \ - %D%/packages/patches/quassel-qt-5.11.patch \ %D%/packages/patches/quickswitch-fix-dmenu-check.patch \ %D%/packages/patches/rapicorn-isnan.patch \ %D%/packages/patches/raptor2-heap-overflow.patch \ diff --git a/gnu/packages/irc.scm b/gnu/packages/irc.scm index 5a1df6d600..4f4e494ee5 100644 --- a/gnu/packages/irc.scm +++ b/gnu/packages/irc.scm @@ -74,7 +74,6 @@ (define-public quassel (sha256 (base32 "1qkl3sb4ijx4k17m0c42j2p5bc4jymypwhmplm942rbrzm6mg50q")) - (patches (search-patches "quassel-qt-5.11.patch")) (modules '((guix build utils))) ;; We don't want to install the bundled scripts. (snippet diff --git a/gnu/packages/patches/quassel-qt-5.11.patch b/gnu/packages/patches/quassel-qt-5.11.patch deleted file mode 100644 index 545f8b7610..0000000000 --- a/gnu/packages/patches/quassel-qt-5.11.patch +++ /dev/null @@ -1,72 +0,0 @@ -https://github.com/quassel/quassel/commit/92f4dca367c3a6f0536a1e0f3fbb44bb6ed4da62.patch -This can be removed after quassel 0.12.5. - -From 92f4dca367c3a6f0536a1e0f3fbb44bb6ed4da62 Mon Sep 17 00:00:00 2001 -From: Manuel Nickschas -Date: Thu, 3 May 2018 23:19:34 +0200 -Subject: [PATCH] cmake: Fix build with Qt 5.11 - -Qt 5.11 removes the qt5_use_modules function, so add a copy. If -present, the Qt-provided function will be used instead. - -Closes GH-355. ---- - cmake/QuasselMacros.cmake | 38 ++++++++++++++++++++++++++++++++++++++ - 1 file changed, 38 insertions(+) - -diff --git a/cmake/QuasselMacros.cmake b/cmake/QuasselMacros.cmake -index 652c0042d..d77ba1cfb 100644 ---- a/cmake/QuasselMacros.cmake -+++ b/cmake/QuasselMacros.cmake -@@ -5,6 +5,9 @@ - # The qt4_use_modules function was taken from CMake's Qt4Macros.cmake: - # (C) 2005-2009 Kitware, Inc. - # -+# The qt5_use_modules function was taken from Qt 5.10.1 (and modified): -+# (C) 2005-2011 Kitware, Inc. -+# - # Redistribution and use is allowed according to the terms of the BSD license. - # For details see the accompanying COPYING-CMAKE-SCRIPTS file. - -@@ -43,6 +46,41 @@ function(qt4_use_modules _target _link_type) - endforeach() - endfunction() - -+# Qt 5.11 removed the qt5_use_modules function, so we need to provide it until we can switch to a modern CMake version. -+# If present, the Qt-provided version will be used automatically instead. -+function(qt5_use_modules _target _link_type) -+ if (NOT TARGET ${_target}) -+ message(FATAL_ERROR "The first argument to qt5_use_modules must be an existing target.") -+ endif() -+ if ("${_link_type}" STREQUAL "LINK_PUBLIC" OR "${_link_type}" STREQUAL "LINK_PRIVATE" ) -+ set(_qt5_modules ${ARGN}) -+ set(_qt5_link_type ${_link_type}) -+ else() -+ set(_qt5_modules ${_link_type} ${ARGN}) -+ endif() -+ -+ if ("${_qt5_modules}" STREQUAL "") -+ message(FATAL_ERROR "qt5_use_modules requires at least one Qt module to use.") -+ endif() -+ foreach(_module ${_qt5_modules}) -+ if (NOT Qt5${_module}_FOUND) -+ find_package(Qt5${_module} PATHS "${_Qt5_COMPONENT_PATH}" NO_DEFAULT_PATH) -+ if (NOT Qt5${_module}_FOUND) -+ message(FATAL_ERROR "Can not use \"${_module}\" module which has not yet been found.") -+ endif() -+ endif() -+ target_link_libraries(${_target} ${_qt5_link_type} ${Qt5${_module}_LIBRARIES}) -+ set_property(TARGET ${_target} APPEND PROPERTY INCLUDE_DIRECTORIES ${Qt5${_module}_INCLUDE_DIRS}) -+ set_property(TARGET ${_target} APPEND PROPERTY COMPILE_DEFINITIONS ${Qt5${_module}_COMPILE_DEFINITIONS}) -+ if (Qt5_POSITION_INDEPENDENT_CODE -+ AND (CMAKE_VERSION VERSION_LESS 2.8.12 -+ AND (NOT CMAKE_CXX_COMPILER_ID STREQUAL "GNU" -+ OR CMAKE_CXX_COMPILER_VERSION VERSION_LESS 5.0))) -+ set_property(TARGET ${_target} PROPERTY POSITION_INDEPENDENT_CODE ${Qt5_POSITION_INDEPENDENT_CODE}) -+ endif() -+ endforeach() -+endfunction() -+ - # Some wrappers for simplifying dual-Qt support - - function(qt_use_modules) -- cgit v1.2.3 From 5193ae64ca0c3322364163d356a6d69173c3d233 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 28 Jul 2018 11:00:49 +0200 Subject: gnu: mariadb: Work around GCC ICE on armhf-linux. * gnu/packages/patches/mariadb-gcc-ice.patch: New file. * gnu/packages/databases.scm (mariadb)[arguments]: Conditionally add 'apply-patch' phase. [native-inputs]: Conditionally add "gcc-ice-patch" input. --- gnu/local.mk | 1 + gnu/packages/databases.scm | 19 +++++++++++++++++-- gnu/packages/patches/mariadb-gcc-ice.patch | 24 ++++++++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/mariadb-gcc-ice.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 612304bad9..80ffb9d8b8 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -926,6 +926,7 @@ dist_patch_DATA = \ %D%/packages/patches/mailutils-uninitialized-memory.patch \ %D%/packages/patches/make-glibc-compat.patch \ %D%/packages/patches/make-impure-dirs.patch \ + %D%/packages/patches/mariadb-gcc-ice.patch \ %D%/packages/patches/mars-install.patch \ %D%/packages/patches/mars-sfml-2.3.patch \ %D%/packages/patches/maxima-defsystem-mkdir.patch \ diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 382c74cfd9..1433ca59c6 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -638,7 +638,7 @@ (define-public mariadb "0bax748j4srsyhw5cs5jvwigndh0zwmf4r2cjvhja31ckx8jqccl")))) (build-system cmake-build-system) (arguments - '(#:configure-flags + `(#:configure-flags '("-DBUILD_CONFIG=mysql_release" ;; Linking with libarchive fails, like this: @@ -665,6 +665,18 @@ (define-public mariadb "-DINSTALL_SHAREDIR=share/mysql") #:phases (modify-phases %standard-phases + + ;; Apply this patch that's only needed on ARM. + ,@(if (and (not (%current-target-system)) + (string=? "armhf-linux" (%current-system))) + `((add-after 'unpack 'apply-patch + (lambda* (#:key inputs #:allow-other-keys) + (let ((patch (assoc-ref inputs "gcc-ice-patch"))) + (invoke "patch" "-p1" "--force" + "--input" patch) + #t)))) + '()) + (add-before 'configure 'pre-configure (lambda _ @@ -686,7 +698,10 @@ (define-public mariadb #t)))))) (native-inputs `(("bison" ,bison) - ("perl" ,perl))) + ("perl" ,perl) + ,@(if (string=? "armhf-linux" (%current-system)) + `(("gcc-ice-patch" ,(search-patch "mariadb-gcc-ice.patch"))) + '()))) (inputs `(("jemalloc" ,jemalloc) ("libaio" ,libaio) diff --git a/gnu/packages/patches/mariadb-gcc-ice.patch b/gnu/packages/patches/mariadb-gcc-ice.patch new file mode 100644 index 0000000000..59b188f45a --- /dev/null +++ b/gnu/packages/patches/mariadb-gcc-ice.patch @@ -0,0 +1,24 @@ +Work around this GCC ICE: . It shows up +only when doing native compiles on armhf-linux. + +--- mariadb-10.1.33/plugin/semisync/semisync_master.cc 2018-07-28 02:13:12.604020250 +0200 ++++ mariadb-10.1.33/plugin/semisync/semisync_master.cc 2018-07-28 02:14:11.907753417 +0200 +@@ -847,6 +847,8 @@ + return function_exit(kWho, 0); + } + ++volatile const void *kSyncHeaderPtr = &ReplSemiSyncMaster::kSyncHeader; ++ + int ReplSemiSyncMaster::reserveSyncHeader(unsigned char *header, + unsigned long size) + { +@@ -873,7 +875,7 @@ + /* Set the magic number and the sync status. By default, no sync + * is required. + */ +- memcpy(header, kSyncHeader, sizeof(kSyncHeader)); ++ memcpy(header, (void *)kSyncHeaderPtr, sizeof(kSyncHeader)); + hlen= sizeof(kSyncHeader); + } + return function_exit(kWho, hlen); + -- cgit v1.2.3 From c95c9032b4be9952ae0c848e4df865347b9bf08c Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 28 Jul 2018 11:25:27 +0200 Subject: gnu: x265: Fix compilation on ARMv7. * gnu/packages/patches/x265-arm-asm-primitives.patch: New file. * gnu/packages/video.scm (x265)[sources](patches): Add it. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/patches/x265-arm-asm-primitives.patch | 360 +++++++++++++++++++++ gnu/packages/video.scm | 3 +- 3 files changed, 363 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/x265-arm-asm-primitives.patch (limited to 'gnu/packages/patches') diff --git a/gnu/local.mk b/gnu/local.mk index 80ffb9d8b8..af25477466 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1215,6 +1215,7 @@ dist_patch_DATA = \ %D%/packages/patches/wpa-supplicant-fix-nonce-reuse.patch \ %D%/packages/patches/wpa-supplicant-krack-followups.patch \ %D%/packages/patches/wxmaxima-do-not-use-old-gnuplot-parameters.patch \ + %D%/packages/patches/x265-arm-asm-primitives.patch \ %D%/packages/patches/x265-fix-ppc64le-build.patch \ %D%/packages/patches/xapian-revert-5489fb2f8.patch \ %D%/packages/patches/xboing-CVE-2004-0149.patch \ diff --git a/gnu/packages/patches/x265-arm-asm-primitives.patch b/gnu/packages/patches/x265-arm-asm-primitives.patch new file mode 100644 index 0000000000..f49aafe577 --- /dev/null +++ b/gnu/packages/patches/x265-arm-asm-primitives.patch @@ -0,0 +1,360 @@ +From . +This fixes build errors like: + + cd /tmp/guix-build-x265-2.8.drv-0/x265_2.8/build/encoder && /gnu/store/cd5q2pni1d95fs3cdabbclyh9hqhw2nq-gcc-5.5.0/bin/c++ -DEXPORT_C_API=1 -DHAVE_ARMV6=1 -DHAVE_INT_TYPES_H=1 -DHAVE_NEON -DHIGH_BIT_DEPTH=0 -DX265_ARCH_ARM=1 -DX265_DEPTH=8 -DX265_NS=x265 -D__STDC_LIMIT_MACROS=1 -I/tmp/guix-build-x265-2.8.drv-0/x265_2.8/source/. -I/tmp/guix-build-x265-2.8.drv-0/x265_2.8/source/common -I/tmp/guix-build-x265-2.8.drv-0/x265_2.8/source/encoder -I/tmp/guix-build-x265-2.8.drv-0/x265_2.8/build -O2 -g -DNDEBUG -Wall -Wextra -Wshadow -std=gnu++98 -fPIC -mcpu=native -mfloat-abi=hard -mfpu=neon -marm -fPIC -Wno-array-bounds -ffast-math -fno-exceptions -Wno-uninitialized -o CMakeFiles/encoder.dir/search.cpp.o -c /tmp/guix-build-x265-2.8.drv-0/x265_2.8/source/encoder/search.cpp + /tmp/guix-build-x265-2.8.drv-0/x265_2.8/source/common/arm/asm-primitives.cpp:437:38: error: incompatible types in assignment of ?void(const pixel*, intptr_t, int16_t*, intptr_t) {aka void(const unsigned char*, int, short int*, int)}? to ?void (* [2])(const pixel*, intptr_t, int16_t*, intptr_t) {aka void (* [2])(const unsigned char*, int, short int*, int)}? + p.pu[LUMA_64x48].convert_p2s = PFX(filterPixelToShort_64x48_neon); + ^ + +Downloaded from upstream bug report: +https://bitbucket.org/multicoreware/x265/issues/406 + +Signed-off-by: Bernd Kuhls + +--- ./source/common/arm/asm-primitives.cpp.orig 2018-05-21 02:33:10.000000000 -0600 ++++ ./source/common/arm/asm-primitives.cpp 2018-05-28 20:38:37.302378303 -0600 +@@ -48,77 +48,77 @@ void setupAssemblyPrimitives(EncoderPrim + p.ssim_4x4x2_core = PFX(ssim_4x4x2_core_neon); + + // addAvg +- p.pu[LUMA_4x4].addAvg = PFX(addAvg_4x4_neon); +- p.pu[LUMA_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.pu[LUMA_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.pu[LUMA_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.pu[LUMA_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.pu[LUMA_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.pu[LUMA_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.pu[LUMA_12x16].addAvg = PFX(addAvg_12x16_neon); +- p.pu[LUMA_16x4].addAvg = PFX(addAvg_16x4_neon); +- p.pu[LUMA_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.pu[LUMA_16x12].addAvg = PFX(addAvg_16x12_neon); +- p.pu[LUMA_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.pu[LUMA_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.pu[LUMA_16x64].addAvg = PFX(addAvg_16x64_neon); +- p.pu[LUMA_24x32].addAvg = PFX(addAvg_24x32_neon); +- p.pu[LUMA_32x8].addAvg = PFX(addAvg_32x8_neon); +- p.pu[LUMA_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.pu[LUMA_32x24].addAvg = PFX(addAvg_32x24_neon); +- p.pu[LUMA_32x32].addAvg = PFX(addAvg_32x32_neon); +- p.pu[LUMA_32x64].addAvg = PFX(addAvg_32x64_neon); +- p.pu[LUMA_48x64].addAvg = PFX(addAvg_48x64_neon); +- p.pu[LUMA_64x16].addAvg = PFX(addAvg_64x16_neon); +- p.pu[LUMA_64x32].addAvg = PFX(addAvg_64x32_neon); +- p.pu[LUMA_64x48].addAvg = PFX(addAvg_64x48_neon); +- p.pu[LUMA_64x64].addAvg = PFX(addAvg_64x64_neon); ++ p.pu[LUMA_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); ++ p.pu[LUMA_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.pu[LUMA_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.pu[LUMA_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.pu[LUMA_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.pu[LUMA_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.pu[LUMA_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.pu[LUMA_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); ++ p.pu[LUMA_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); ++ p.pu[LUMA_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.pu[LUMA_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); ++ p.pu[LUMA_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.pu[LUMA_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.pu[LUMA_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); ++ p.pu[LUMA_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); ++ p.pu[LUMA_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); ++ p.pu[LUMA_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.pu[LUMA_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); ++ p.pu[LUMA_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ p.pu[LUMA_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); ++ p.pu[LUMA_48x64].addAvg[ALIGNED] = PFX(addAvg_48x64_neon); ++ p.pu[LUMA_64x16].addAvg[ALIGNED] = PFX(addAvg_64x16_neon); ++ p.pu[LUMA_64x32].addAvg[ALIGNED] = PFX(addAvg_64x32_neon); ++ p.pu[LUMA_64x48].addAvg[ALIGNED] = PFX(addAvg_64x48_neon); ++ p.pu[LUMA_64x64].addAvg[ALIGNED] = PFX(addAvg_64x64_neon); + + // chroma addAvg +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg = PFX(addAvg_4x2_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg = PFX(addAvg_4x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg = PFX(addAvg_6x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg = PFX(addAvg_8x2_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg = PFX(addAvg_8x6_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg = PFX(addAvg_12x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg = PFX(addAvg_16x4_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg = PFX(addAvg_16x12_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg = PFX(addAvg_24x32_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg = PFX(addAvg_32x8_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg = PFX(addAvg_32x24_neon); +- p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg = PFX(addAvg_32x32_neon); +- +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg = PFX(addAvg_4x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg = PFX(addAvg_4x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg = PFX(addAvg_4x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg = PFX(addAvg_6x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg = PFX(addAvg_8x4_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg = PFX(addAvg_8x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg = PFX(addAvg_8x12_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg = PFX(addAvg_8x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg = PFX(addAvg_8x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg = PFX(addAvg_8x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg = PFX(addAvg_12x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg = PFX(addAvg_16x8_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg = PFX(addAvg_16x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg = PFX(addAvg_16x24_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg = PFX(addAvg_16x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg = PFX(addAvg_16x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg = PFX(addAvg_24x64_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg = PFX(addAvg_32x16_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg = PFX(addAvg_32x32_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg = PFX(addAvg_32x48_neon); +- p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg = PFX(addAvg_32x64_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x2].addAvg[ALIGNED] = PFX(addAvg_4x2_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x4].addAvg[ALIGNED] = PFX(addAvg_4x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_6x8].addAvg[ALIGNED] = PFX(addAvg_6x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x2].addAvg[ALIGNED] = PFX(addAvg_8x2_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x6].addAvg[ALIGNED] = PFX(addAvg_8x6_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_12x16].addAvg[ALIGNED] = PFX(addAvg_12x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x4].addAvg[ALIGNED] = PFX(addAvg_16x4_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x12].addAvg[ALIGNED] = PFX(addAvg_16x12_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_24x32].addAvg[ALIGNED] = PFX(addAvg_24x32_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x8].addAvg[ALIGNED] = PFX(addAvg_32x8_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x24].addAvg[ALIGNED] = PFX(addAvg_32x24_neon); ++ p.chroma[X265_CSP_I420].pu[CHROMA_420_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x8].addAvg[ALIGNED] = PFX(addAvg_4x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x16].addAvg[ALIGNED] = PFX(addAvg_4x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_4x32].addAvg[ALIGNED] = PFX(addAvg_4x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_6x16].addAvg[ALIGNED] = PFX(addAvg_6x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x4].addAvg[ALIGNED] = PFX(addAvg_8x4_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x8].addAvg[ALIGNED] = PFX(addAvg_8x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x12].addAvg[ALIGNED] = PFX(addAvg_8x12_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x16].addAvg[ALIGNED] = PFX(addAvg_8x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x32].addAvg[ALIGNED] = PFX(addAvg_8x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_8x64].addAvg[ALIGNED] = PFX(addAvg_8x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_12x32].addAvg[ALIGNED] = PFX(addAvg_12x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x8].addAvg[ALIGNED] = PFX(addAvg_16x8_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x16].addAvg[ALIGNED] = PFX(addAvg_16x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x24].addAvg[ALIGNED] = PFX(addAvg_16x24_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x32].addAvg[ALIGNED] = PFX(addAvg_16x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_16x64].addAvg[ALIGNED] = PFX(addAvg_16x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_24x64].addAvg[ALIGNED] = PFX(addAvg_24x64_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x16].addAvg[ALIGNED] = PFX(addAvg_32x16_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x32].addAvg[ALIGNED] = PFX(addAvg_32x32_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x48].addAvg[ALIGNED] = PFX(addAvg_32x48_neon); ++ p.chroma[X265_CSP_I422].pu[CHROMA_422_32x64].addAvg[ALIGNED] = PFX(addAvg_32x64_neon); + + // quant + p.quant = PFX(quant_neon); +@@ -402,7 +402,7 @@ void setupAssemblyPrimitives(EncoderPrim + p.scale2D_64to32 = PFX(scale2D_64to32_neon); + + // scale1D_128to64 +- p.scale1D_128to64 = PFX(scale1D_128to64_neon); ++ p.scale1D_128to64[ALIGNED] = PFX(scale1D_128to64_neon); + + // copy_count + p.cu[BLOCK_4x4].copy_cnt = PFX(copy_cnt_4_neon); +@@ -411,37 +411,37 @@ void setupAssemblyPrimitives(EncoderPrim + p.cu[BLOCK_32x32].copy_cnt = PFX(copy_cnt_32_neon); + + // filterPixelToShort +- p.pu[LUMA_4x4].convert_p2s = PFX(filterPixelToShort_4x4_neon); +- p.pu[LUMA_4x8].convert_p2s = PFX(filterPixelToShort_4x8_neon); +- p.pu[LUMA_4x16].convert_p2s = PFX(filterPixelToShort_4x16_neon); +- p.pu[LUMA_8x4].convert_p2s = PFX(filterPixelToShort_8x4_neon); +- p.pu[LUMA_8x8].convert_p2s = PFX(filterPixelToShort_8x8_neon); +- p.pu[LUMA_8x16].convert_p2s = PFX(filterPixelToShort_8x16_neon); +- p.pu[LUMA_8x32].convert_p2s = PFX(filterPixelToShort_8x32_neon); +- p.pu[LUMA_12x16].convert_p2s = PFX(filterPixelToShort_12x16_neon); +- p.pu[LUMA_16x4].convert_p2s = PFX(filterPixelToShort_16x4_neon); +- p.pu[LUMA_16x8].convert_p2s = PFX(filterPixelToShort_16x8_neon); +- p.pu[LUMA_16x12].convert_p2s = PFX(filterPixelToShort_16x12_neon); +- p.pu[LUMA_16x16].convert_p2s = PFX(filterPixelToShort_16x16_neon); +- p.pu[LUMA_16x32].convert_p2s = PFX(filterPixelToShort_16x32_neon); +- p.pu[LUMA_16x64].convert_p2s = PFX(filterPixelToShort_16x64_neon); +- p.pu[LUMA_24x32].convert_p2s = PFX(filterPixelToShort_24x32_neon); +- p.pu[LUMA_32x8].convert_p2s = PFX(filterPixelToShort_32x8_neon); +- p.pu[LUMA_32x16].convert_p2s = PFX(filterPixelToShort_32x16_neon); +- p.pu[LUMA_32x24].convert_p2s = PFX(filterPixelToShort_32x24_neon); +- p.pu[LUMA_32x32].convert_p2s = PFX(filterPixelToShort_32x32_neon); +- p.pu[LUMA_32x64].convert_p2s = PFX(filterPixelToShort_32x64_neon); +- p.pu[LUMA_48x64].convert_p2s = PFX(filterPixelToShort_48x64_neon); +- p.pu[LUMA_64x16].convert_p2s = PFX(filterPixelToShort_64x16_neon); +- p.pu[LUMA_64x32].convert_p2s = PFX(filterPixelToShort_64x32_neon); +- p.pu[LUMA_64x48].convert_p2s = PFX(filterPixelToShort_64x48_neon); +- p.pu[LUMA_64x64].convert_p2s = PFX(filterPixelToShort_64x64_neon); ++ p.pu[LUMA_4x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x4_neon); ++ p.pu[LUMA_4x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x8_neon); ++ p.pu[LUMA_4x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_4x16_neon); ++ p.pu[LUMA_8x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x4_neon); ++ p.pu[LUMA_8x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x8_neon); ++ p.pu[LUMA_8x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x16_neon); ++ p.pu[LUMA_8x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_8x32_neon); ++ p.pu[LUMA_12x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_12x16_neon); ++ p.pu[LUMA_16x4].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x4_neon); ++ p.pu[LUMA_16x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x8_neon); ++ p.pu[LUMA_16x12].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x12_neon); ++ p.pu[LUMA_16x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x16_neon); ++ p.pu[LUMA_16x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x32_neon); ++ p.pu[LUMA_16x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_16x64_neon); ++ p.pu[LUMA_24x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_24x32_neon); ++ p.pu[LUMA_32x8].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x8_neon); ++ p.pu[LUMA_32x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x16_neon); ++ p.pu[LUMA_32x24].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x24_neon); ++ p.pu[LUMA_32x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x32_neon); ++ p.pu[LUMA_32x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_32x64_neon); ++ p.pu[LUMA_48x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_48x64_neon); ++ p.pu[LUMA_64x16].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x16_neon); ++ p.pu[LUMA_64x32].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x32_neon); ++ p.pu[LUMA_64x48].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x48_neon); ++ p.pu[LUMA_64x64].convert_p2s[ALIGNED] = PFX(filterPixelToShort_64x64_neon); + + // Block_fill +- p.cu[BLOCK_4x4].blockfill_s = PFX(blockfill_s_4x4_neon); +- p.cu[BLOCK_8x8].blockfill_s = PFX(blockfill_s_8x8_neon); +- p.cu[BLOCK_16x16].blockfill_s = PFX(blockfill_s_16x16_neon); +- p.cu[BLOCK_32x32].blockfill_s = PFX(blockfill_s_32x32_neon); ++ p.cu[BLOCK_4x4].blockfill_s[ALIGNED] = PFX(blockfill_s_4x4_neon); ++ p.cu[BLOCK_8x8].blockfill_s[ALIGNED] = PFX(blockfill_s_8x8_neon); ++ p.cu[BLOCK_16x16].blockfill_s[ALIGNED] = PFX(blockfill_s_16x16_neon); ++ p.cu[BLOCK_32x32].blockfill_s[ALIGNED] = PFX(blockfill_s_32x32_neon); + + // Blockcopy_ss + p.cu[BLOCK_4x4].copy_ss = PFX(blockcopy_ss_4x4_neon); +@@ -495,21 +495,21 @@ void setupAssemblyPrimitives(EncoderPrim + p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].copy_sp = PFX(blockcopy_sp_32x64_neon); + + // pixel_add_ps +- p.cu[BLOCK_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); +- p.cu[BLOCK_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); +- p.cu[BLOCK_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); +- p.cu[BLOCK_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); +- p.cu[BLOCK_64x64].add_ps = PFX(pixel_add_ps_64x64_neon); ++ p.cu[BLOCK_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); ++ p.cu[BLOCK_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); ++ p.cu[BLOCK_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); ++ p.cu[BLOCK_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); ++ p.cu[BLOCK_64x64].add_ps[ALIGNED] = PFX(pixel_add_ps_64x64_neon); + + // chroma add_ps +- p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps = PFX(pixel_add_ps_4x4_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps = PFX(pixel_add_ps_8x8_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps = PFX(pixel_add_ps_16x16_neon); +- p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps = PFX(pixel_add_ps_32x32_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps = PFX(pixel_add_ps_4x8_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps = PFX(pixel_add_ps_8x16_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps = PFX(pixel_add_ps_16x32_neon); +- p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps = PFX(pixel_add_ps_32x64_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_4x4].add_ps[ALIGNED] = PFX(pixel_add_ps_4x4_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_8x8].add_ps[ALIGNED] = PFX(pixel_add_ps_8x8_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_16x16].add_ps[ALIGNED] = PFX(pixel_add_ps_16x16_neon); ++ p.chroma[X265_CSP_I420].cu[BLOCK_420_32x32].add_ps[ALIGNED] = PFX(pixel_add_ps_32x32_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_4x8].add_ps[ALIGNED] = PFX(pixel_add_ps_4x8_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_8x16].add_ps[ALIGNED] = PFX(pixel_add_ps_8x16_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_16x32].add_ps[ALIGNED] = PFX(pixel_add_ps_16x32_neon); ++ p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].add_ps[ALIGNED] = PFX(pixel_add_ps_32x64_neon); + + // cpy2Dto1D_shr + p.cu[BLOCK_4x4].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_4x4_neon); +@@ -518,10 +518,10 @@ void setupAssemblyPrimitives(EncoderPrim + p.cu[BLOCK_32x32].cpy2Dto1D_shr = PFX(cpy2Dto1D_shr_32x32_neon); + + // ssd_s +- p.cu[BLOCK_4x4].ssd_s = PFX(pixel_ssd_s_4x4_neon); +- p.cu[BLOCK_8x8].ssd_s = PFX(pixel_ssd_s_8x8_neon); +- p.cu[BLOCK_16x16].ssd_s = PFX(pixel_ssd_s_16x16_neon); +- p.cu[BLOCK_32x32].ssd_s = PFX(pixel_ssd_s_32x32_neon); ++ p.cu[BLOCK_4x4].ssd_s[ALIGNED] = PFX(pixel_ssd_s_4x4_neon); ++ p.cu[BLOCK_8x8].ssd_s[ALIGNED] = PFX(pixel_ssd_s_8x8_neon); ++ p.cu[BLOCK_16x16].ssd_s[ALIGNED] = PFX(pixel_ssd_s_16x16_neon); ++ p.cu[BLOCK_32x32].ssd_s[ALIGNED] = PFX(pixel_ssd_s_32x32_neon); + + // sse_ss + p.cu[BLOCK_4x4].sse_ss = PFX(pixel_sse_ss_4x4_neon); +@@ -548,10 +548,10 @@ void setupAssemblyPrimitives(EncoderPrim + p.chroma[X265_CSP_I422].cu[BLOCK_422_32x64].sub_ps = PFX(pixel_sub_ps_32x64_neon); + + // calc_Residual +- p.cu[BLOCK_4x4].calcresidual = PFX(getResidual4_neon); +- p.cu[BLOCK_8x8].calcresidual = PFX(getResidual8_neon); +- p.cu[BLOCK_16x16].calcresidual = PFX(getResidual16_neon); +- p.cu[BLOCK_32x32].calcresidual = PFX(getResidual32_neon); ++ p.cu[BLOCK_4x4].calcresidual[ALIGNED] = PFX(getResidual4_neon); ++ p.cu[BLOCK_8x8].calcresidual[ALIGNED] = PFX(getResidual8_neon); ++ p.cu[BLOCK_16x16].calcresidual[ALIGNED] = PFX(getResidual16_neon); ++ p.cu[BLOCK_32x32].calcresidual[ALIGNED] = PFX(getResidual32_neon); + + // sse_pp + p.cu[BLOCK_4x4].sse_pp = PFX(pixel_sse_pp_4x4_neon); +@@ -722,31 +722,31 @@ void setupAssemblyPrimitives(EncoderPrim + p.pu[LUMA_64x64].sad_x4 = PFX(sad_x4_64x64_neon); + + // pixel_avg_pp +- p.pu[LUMA_4x4].pixelavg_pp = PFX(pixel_avg_pp_4x4_neon); +- p.pu[LUMA_4x8].pixelavg_pp = PFX(pixel_avg_pp_4x8_neon); +- p.pu[LUMA_4x16].pixelavg_pp = PFX(pixel_avg_pp_4x16_neon); +- p.pu[LUMA_8x4].pixelavg_pp = PFX(pixel_avg_pp_8x4_neon); +- p.pu[LUMA_8x8].pixelavg_pp = PFX(pixel_avg_pp_8x8_neon); +- p.pu[LUMA_8x16].pixelavg_pp = PFX(pixel_avg_pp_8x16_neon); +- p.pu[LUMA_8x32].pixelavg_pp = PFX(pixel_avg_pp_8x32_neon); +- p.pu[LUMA_12x16].pixelavg_pp = PFX(pixel_avg_pp_12x16_neon); +- p.pu[LUMA_16x4].pixelavg_pp = PFX(pixel_avg_pp_16x4_neon); +- p.pu[LUMA_16x8].pixelavg_pp = PFX(pixel_avg_pp_16x8_neon); +- p.pu[LUMA_16x12].pixelavg_pp = PFX(pixel_avg_pp_16x12_neon); +- p.pu[LUMA_16x16].pixelavg_pp = PFX(pixel_avg_pp_16x16_neon); +- p.pu[LUMA_16x32].pixelavg_pp = PFX(pixel_avg_pp_16x32_neon); +- p.pu[LUMA_16x64].pixelavg_pp = PFX(pixel_avg_pp_16x64_neon); +- p.pu[LUMA_24x32].pixelavg_pp = PFX(pixel_avg_pp_24x32_neon); +- p.pu[LUMA_32x8].pixelavg_pp = PFX(pixel_avg_pp_32x8_neon); +- p.pu[LUMA_32x16].pixelavg_pp = PFX(pixel_avg_pp_32x16_neon); +- p.pu[LUMA_32x24].pixelavg_pp = PFX(pixel_avg_pp_32x24_neon); +- p.pu[LUMA_32x32].pixelavg_pp = PFX(pixel_avg_pp_32x32_neon); +- p.pu[LUMA_32x64].pixelavg_pp = PFX(pixel_avg_pp_32x64_neon); +- p.pu[LUMA_48x64].pixelavg_pp = PFX(pixel_avg_pp_48x64_neon); +- p.pu[LUMA_64x16].pixelavg_pp = PFX(pixel_avg_pp_64x16_neon); +- p.pu[LUMA_64x32].pixelavg_pp = PFX(pixel_avg_pp_64x32_neon); +- p.pu[LUMA_64x48].pixelavg_pp = PFX(pixel_avg_pp_64x48_neon); +- p.pu[LUMA_64x64].pixelavg_pp = PFX(pixel_avg_pp_64x64_neon); ++ p.pu[LUMA_4x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x4_neon); ++ p.pu[LUMA_4x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x8_neon); ++ p.pu[LUMA_4x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_4x16_neon); ++ p.pu[LUMA_8x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x4_neon); ++ p.pu[LUMA_8x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x8_neon); ++ p.pu[LUMA_8x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x16_neon); ++ p.pu[LUMA_8x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_8x32_neon); ++ p.pu[LUMA_12x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_12x16_neon); ++ p.pu[LUMA_16x4].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x4_neon); ++ p.pu[LUMA_16x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x8_neon); ++ p.pu[LUMA_16x12].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x12_neon); ++ p.pu[LUMA_16x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x16_neon); ++ p.pu[LUMA_16x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x32_neon); ++ p.pu[LUMA_16x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_16x64_neon); ++ p.pu[LUMA_24x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_24x32_neon); ++ p.pu[LUMA_32x8].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x8_neon); ++ p.pu[LUMA_32x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x16_neon); ++ p.pu[LUMA_32x24].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x24_neon); ++ p.pu[LUMA_32x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x32_neon); ++ p.pu[LUMA_32x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_32x64_neon); ++ p.pu[LUMA_48x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_48x64_neon); ++ p.pu[LUMA_64x16].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x16_neon); ++ p.pu[LUMA_64x32].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x32_neon); ++ p.pu[LUMA_64x48].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x48_neon); ++ p.pu[LUMA_64x64].pixelavg_pp[ALIGNED] = PFX(pixel_avg_pp_64x64_neon); + + // planecopy + p.planecopy_cp = PFX(pixel_planecopy_cp_neon); diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 24bf5b4ed9..930f83a3e5 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -397,7 +397,8 @@ (define-public x265 (sha256 (base32 "0qx8mavwdzdpkkby7n29i9av7zsnklavacwfz537mf62q2pzjnbf")) - (patches (search-patches "x265-fix-ppc64le-build.patch")) + (patches (search-patches "x265-fix-ppc64le-build.patch" + "x265-arm-asm-primitives.patch")) (modules '((guix build utils))) (snippet '(begin (delete-file-recursively "source/compat/getopt") -- cgit v1.2.3