From aab2adb64319a80ab087d842205ad513186344893e03a732984b7add8ab5d168 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Br=C3=BCns?= Date: Sat, 10 Aug 2019 13:59:47 +0000 Subject: [PATCH] Accepting request 722078 from home:StefanBruens:branches:electronics Update to 5.1.4 Please wait for release announcement until forwarding to Factory. OBS-URL: https://build.opensuse.org/request/show/722078 OBS-URL: https://build.opensuse.org/package/show/electronics/kicad?expand=0&rev=67 --- fix_build_with_lto.patch | 148 +++++++++++++++++++++++++++++++++++++++ kicad-5.1.2.tar.xz | 3 - kicad-5.1.4.tar.xz | 3 + kicad.changes | 6 ++ kicad.spec | 7 +- 5 files changed, 163 insertions(+), 4 deletions(-) create mode 100644 fix_build_with_lto.patch delete mode 100644 kicad-5.1.2.tar.xz create mode 100644 kicad-5.1.4.tar.xz diff --git a/fix_build_with_lto.patch b/fix_build_with_lto.patch new file mode 100644 index 0000000..641b541 --- /dev/null +++ b/fix_build_with_lto.patch @@ -0,0 +1,148 @@ +--- kicad-5.0.0/common/system/libcontext.cpp.orig 2018-07-13 21:53:52.000000000 +0200 ++++ kicad-5.0.0/common/system/libcontext.cpp 2018-08-12 12:01:30.930309888 +0200 +@@ -258,12 +258,10 @@ + #endif + + #if defined(LIBCONTEXT_PLATFORM_linux_i386) && defined(LIBCONTEXT_COMPILER_gcc) ++intptr_t LIBCONTEXT_CALL_CONVENTION libcontext::jump_fcontext( libcontext::fcontext_t* ofc, libcontext::fcontext_t nfc, ++ intptr_t vp, bool preserve_fpu ) ++{ + __asm ( +-".text\n" +-".globl jump_fcontext\n" +-".align 2\n" +-".type jump_fcontext,@function\n" +-"jump_fcontext:\n" + " movl 0x10(%esp), %ecx\n" + " pushl %ebp \n" + " pushl %ebx \n" +@@ -293,19 +291,16 @@ + " popl %edx\n" + " movl %eax, 0x4(%esp)\n" + " jmp *%edx\n" +-".size jump_fcontext,.-jump_fcontext\n" +-".section .note.GNU-stack,\"\",%progbits\n" + ); ++} + + #endif + + #if defined(LIBCONTEXT_PLATFORM_linux_i386) && defined(LIBCONTEXT_COMPILER_gcc) ++libcontext::fcontext_t LIBCONTEXT_CALL_CONVENTION libcontext::make_fcontext( void* sp, size_t size, ++ void (* fn)( intptr_t ) ) ++{ + __asm ( +-".text\n" +-".globl make_fcontext\n" +-".align 2\n" +-".type make_fcontext,@function\n" +-"make_fcontext:\n" + " movl 0x4(%esp), %eax\n" + " leal -0x8(%eax), %eax\n" + " andl $-16, %eax\n" +@@ -327,19 +322,16 @@ + " movl %eax, (%esp)\n" + " call _exit@PLT\n" + " hlt\n" +-".size make_fcontext,.-make_fcontext\n" +-".section .note.GNU-stack,\"\",%progbits\n" + ); ++} + + #endif + + #if defined(LIBCONTEXT_PLATFORM_linux_x86_64) && defined(LIBCONTEXT_COMPILER_gcc) ++intptr_t LIBCONTEXT_CALL_CONVENTION libcontext::jump_fcontext( libcontext::fcontext_t* ofc, libcontext::fcontext_t nfc, ++ intptr_t vp, bool preserve_fpu ) ++{ + __asm ( +-".text\n" +-".globl jump_fcontext\n" +-".type jump_fcontext,@function\n" +-".align 16\n" +-"jump_fcontext:\n" + " pushq %rbp \n" + " pushq %rbx \n" + " pushq %r15 \n" +@@ -370,19 +362,16 @@ + " movq %rdx, %rax\n" + " movq %rdx, %rdi\n" + " jmp *%r8\n" +-".size jump_fcontext,.-jump_fcontext\n" +-".section .note.GNU-stack,\"\",%progbits\n" + ); ++} + + #endif + + #if defined(LIBCONTEXT_PLATFORM_linux_x86_64) && defined(LIBCONTEXT_COMPILER_gcc) ++libcontext::fcontext_t LIBCONTEXT_CALL_CONVENTION libcontext::make_fcontext( void* sp, size_t size, ++ void (* fn)( intptr_t ) ) ++{ + __asm ( +-".text\n" +-".globl make_fcontext\n" +-".type make_fcontext,@function\n" +-".align 16\n" +-"make_fcontext:\n" + " movq %rdi, %rax\n" + " andq $-16, %rax\n" + " leaq -0x48(%rax), %rax\n" +@@ -396,9 +385,8 @@ + " xorq %rdi, %rdi\n" + " call _exit@PLT\n" + " hlt\n" +-".size make_fcontext,.-make_fcontext\n" +-".section .note.GNU-stack,\"\",%progbits\n" + ); ++} + + #endif + +--- kicad-5.1.0/include/system/libcontext.h.orig 2019-03-08 13:31:50.000000000 +0100 ++++ kicad-5.1.0/include/system/libcontext.h 2019-03-15 22:51:14.620823853 +0100 +@@ -30,15 +30,19 @@ + #if defined(__x86_64__) || defined(__amd64__) + #define LIBCONTEXT_PLATFORM_linux_x86_64 + #define LIBCONTEXT_CALL_CONVENTION ++ #define LIBCONTEXT_FUNCTION_ALIGN 16 + #elif __i386__ + #define LIBCONTEXT_PLATFORM_linux_i386 + #define LIBCONTEXT_CALL_CONVENTION ++ #define LIBCONTEXT_FUNCTION_ALIGN 2 + #elif __arm__ + #define LIBCONTEXT_PLATFORM_linux_arm32 + #define LIBCONTEXT_CALL_CONVENTION ++ #define LIBCONTEXT_FUNCTION_ALIGN 2 + #elif __aarch64__ + #define LIBCONTEXT_PLATFORM_linux_arm64 + #define LIBCONTEXT_CALL_CONVENTION ++ #define LIBCONTEXT_FUNCTION_ALIGN 2 + #elif (__mips__ && _MIPS_SIM == _ABI64) + #define LIBCONTEXT_PLATFORM_linux_mips_n64 + #define LIBCONTEXT_CALL_CONVENTION +@@ -85,22 +89,15 @@ + + typedef void* fcontext_t; + +-#ifdef __cplusplus +-extern "C" { +-#endif + + + intptr_t LIBCONTEXT_CALL_CONVENTION jump_fcontext( fcontext_t* ofc, fcontext_t nfc, +- intptr_t vp, bool preserve_fpu = true ); ++ intptr_t vp, bool preserve_fpu = true ) __attribute__ ((naked, aligned(LIBCONTEXT_FUNCTION_ALIGN) )); + fcontext_t LIBCONTEXT_CALL_CONVENTION make_fcontext( void* sp, size_t size, +- void (* fn)( intptr_t ) ); ++ void (* fn)( intptr_t ) ) __attribute__ ((naked, aligned(LIBCONTEXT_FUNCTION_ALIGN) )); + + #ifdef __cplusplus + } // namespace + #endif + +-#ifdef __cplusplus +-} // extern "C" +-#endif +- + #endif diff --git a/kicad-5.1.2.tar.xz b/kicad-5.1.2.tar.xz deleted file mode 100644 index ae717bd..0000000 --- a/kicad-5.1.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:84376c50b436a1aec985d3de94e6f445ea5c1e5c75c04a239c9837a1ab40778a -size 14191500 diff --git a/kicad-5.1.4.tar.xz b/kicad-5.1.4.tar.xz new file mode 100644 index 0000000..faac7ad --- /dev/null +++ b/kicad-5.1.4.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52cca2672e33197ae9ca4c36d73c9a8c580bfeecfe56cd03be8b2a65e06bc0e4 +size 14198672 diff --git a/kicad.changes b/kicad.changes index 2eaefb5..4e3eb2d 100644 --- a/kicad.changes +++ b/kicad.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Aug 7 16:39:35 UTC 2019 - Stefan Brüns + +- Update to minor release 5.1.4 + See http://kicad-pcb.org/blog/2019/08/KiCad-5.1.4-Release/ for details. + ------------------------------------------------------------------- Thu Apr 25 13:40:29 UTC 2019 - Stefan Brüns diff --git a/kicad.spec b/kicad.spec index aafc59d..3cb2357 100644 --- a/kicad.spec +++ b/kicad.spec @@ -20,7 +20,7 @@ # symbol libraries from version 5.0.0 %define compatversion 5.0.0 Name: kicad -Version: 5.1.2 +Version: 5.1.4 Release: 0 Summary: EDA software suite for the creation of schematics and PCB License: GPL-3.0-or-later AND AGPL-3.0-or-later @@ -32,6 +32,8 @@ Patch1: kicad-user-library.patch # PATCH-FIX-OPENSUSE davejplater@gmail.com -kicad-suse-help-path.patch - kicad looks in /usr/share/doc/kicad for help files and doesn't find them. # this patch adds packges/ befor kicad and enables help to function. Patch3: kicad-suse-help-path.patch +# PATCH-FIX-OTHER http://git.pld-linux.org/?p=packages/kicad.git;a=blob_plain;f=lto.patch;h=ad2c2f023eb7ffeefef2c1fd4cff1fdc9f6b3156;hb=HEAD +Patch4: fix_build_with_lto.patch %if 0%{?suse_version} >= 1500 BuildRequires: libboost_filesystem-devel @@ -94,6 +96,9 @@ KiCad includes a project manager and four main independent software tools: %setup -q -n kicad-%{version} %patch1 -p0 %patch3 +%if 0 +%patch4 -p1 +%endif %build # -DKICAD_PLUGINS:PATH=%%{_libdir}/kicad/plugins \