Date: Wednesday, March 22, 2023 @ 13:18:34
  Author: arojas
Revision: 1426910

archrelease: copy trunk to community-x86_64

Added:
  symengine/repos/community-x86_64/PKGBUILD
    (from rev 1426909, symengine/trunk/PKGBUILD)
  symengine/repos/community-x86_64/llvm-shared.patch
    (from rev 1426909, symengine/trunk/llvm-shared.patch)
  symengine/repos/community-x86_64/primesieve.patch
    (from rev 1426909, symengine/trunk/primesieve.patch)
Deleted:
  symengine/repos/community-x86_64/PKGBUILD
  symengine/repos/community-x86_64/llvm-shared.patch
  symengine/repos/community-x86_64/primesieve.patch

-------------------+
 PKGBUILD          |  102 ++++++++++++++++++++++++++--------------------------
 llvm-shared.patch |   80 +++++++++++++++++++++++++++++++++-------
 primesieve.patch  |   52 +++++++++++++-------------
 3 files changed, 143 insertions(+), 91 deletions(-)

Deleted: PKGBUILD
===================================================================
--- PKGBUILD    2023-03-22 13:18:22 UTC (rev 1426909)
+++ PKGBUILD    2023-03-22 13:18:34 UTC (rev 1426910)
@@ -1,51 +0,0 @@
-# Maintainer: Antonio Rojas <[email protected]>
-# Contributor: Michael Schubert <mschu.dev at gmail>
-
-pkgname=symengine
-pkgver=0.10.0
-pkgrel=2
-pkgdesc='Fast symbolic manipulation library, written in C++'
-url='http://sympy.org/'
-arch=(x86_64)
-license=(MIT)
-depends=(llvm-libs arb libmpc gmp-ecm primesieve gperftools)
-makedepends=(cmake boost llvm cereal)
-source=(https://github.com/symengine/symengine/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz
-        primesieve.patch
-        llvm-shared.patch)
-sha256sums=('27eae7982f010e4901a5922d44e0de4b81c3b8dd52c57b147a1994f0541da50e'
-            'f19af7885923a6fb80783796a24e045201014415e8b9f195b87443600864e7b1'
-            'beb7933867f5b1c607539ef665279f9907741013b64a8cd07ed500f5a8737471')
-
-prepare() {
-  patch -d $pkgname-$pkgver -p1 < primesieve.patch # Actually use primesieve
-  patch -d $pkgname-$pkgver -p1 < llvm-shared.patch # Use shared LLVM
-}
-
-build() {
-  cmake -B build -S $pkgname-$pkgver \
-    -DCMAKE_INSTALL_PREFIX=/usr \
-    -DBUILD_SHARED_LIBS=ON \
-    -DWITH_TCMALLOC=ON \
-    -DWITH_PTHREAD=ON \
-    -DWITH_SYMENGINE_THREAD_SAFE=ON \
-    -DWITH_ARB=ON \
-    -DWITH_ECM=ON \
-    -DWITH_LLVM=ON \
-    -DWITH_MPFR=ON \
-    -DWITH_MPC=ON \
-    -DWITH_PRIMESIEVE=ON \
-    -DWITH_BOOST=ON \
-    -DWITH_COTIRE=OFF \
-    -DWITH_SYSTEM_CEREAL=ON
-  cmake --build build
-}
-
-check() {
-  cmake --build build --target test
-}
-
-package() {
-  DESTDIR="$pkgdir" cmake --install build
-  install -Dm644 $pkgname-$pkgver/LICENSE -t 
"$pkgdir"/usr/share/licenses/$pkgname
-}

Copied: symengine/repos/community-x86_64/PKGBUILD (from rev 1426909, 
symengine/trunk/PKGBUILD)
===================================================================
--- PKGBUILD                            (rev 0)
+++ PKGBUILD    2023-03-22 13:18:34 UTC (rev 1426910)
@@ -0,0 +1,51 @@
+# Maintainer: Antonio Rojas <[email protected]>
+# Contributor: Michael Schubert <mschu.dev at gmail>
+
+pkgname=symengine
+pkgver=0.10.0
+pkgrel=3
+pkgdesc='Fast symbolic manipulation library, written in C++'
+url='http://sympy.org/'
+arch=(x86_64)
+license=(MIT)
+depends=(llvm-libs arb libmpc gmp-ecm primesieve gperftools)
+makedepends=(cmake boost llvm cereal)
+source=(https://github.com/symengine/symengine/releases/download/v$pkgver/$pkgname-$pkgver.tar.gz
+        primesieve.patch
+        llvm-shared.patch)
+sha256sums=('27eae7982f010e4901a5922d44e0de4b81c3b8dd52c57b147a1994f0541da50e'
+            'f19af7885923a6fb80783796a24e045201014415e8b9f195b87443600864e7b1'
+            'ef05a806139b35e0336f00cb6960ef6cf483f11b0041e436a99ab1f46bdcb11c')
+
+prepare() {
+  patch -d $pkgname-$pkgver -p1 < primesieve.patch # Actually use primesieve
+  patch -d $pkgname-$pkgver -p1 < llvm-shared.patch # Use shared LLVM (Gentoo)
+}
+
+build() {
+  cmake -B build -S $pkgname-$pkgver \
+    -DCMAKE_INSTALL_PREFIX=/usr \
+    -DBUILD_SHARED_LIBS=ON \
+    -DWITH_TCMALLOC=ON \
+    -DWITH_PTHREAD=ON \
+    -DWITH_SYMENGINE_THREAD_SAFE=ON \
+    -DWITH_ARB=ON \
+    -DWITH_ECM=ON \
+    -DWITH_LLVM=ON \
+    -DWITH_MPFR=ON \
+    -DWITH_MPC=ON \
+    -DWITH_PRIMESIEVE=ON \
+    -DWITH_BOOST=ON \
+    -DWITH_COTIRE=OFF \
+    -DWITH_SYSTEM_CEREAL=ON
+  cmake --build build
+}
+
+check() {
+  cmake --build build --target test
+}
+
+package() {
+  DESTDIR="$pkgdir" cmake --install build
+  install -Dm644 $pkgname-$pkgver/LICENSE -t 
"$pkgdir"/usr/share/licenses/$pkgname
+}

Deleted: llvm-shared.patch
===================================================================
--- llvm-shared.patch   2023-03-22 13:18:22 UTC (rev 1426909)
+++ llvm-shared.patch   2023-03-22 13:18:34 UTC (rev 1426910)
@@ -1,14 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index c81da8b5..967e7cb7 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -416,8 +416,7 @@ if (WITH_LLVM)
-     endforeach()
-     set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG")
- 
--    llvm_map_components_to_libnames(llvm_libs_direct 
${SYMENGINE_LLVM_COMPONENTS})
--    llvm_expand_dependencies(llvm_libs ${llvm_libs_direct})
-+    set (llvm_libs LLVM)
- 
-     if (BUILD_SHARED_LIBS)
-         set(SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT False)

Copied: symengine/repos/community-x86_64/llvm-shared.patch (from rev 1426909, 
symengine/trunk/llvm-shared.patch)
===================================================================
--- llvm-shared.patch                           (rev 0)
+++ llvm-shared.patch   2023-03-22 13:18:34 UTC (rev 1426910)
@@ -0,0 +1,66 @@
+From: Matthias Maier <[email protected]>
+Date: Sat, 11 Jun 2022 01:44:54 -0500
+Subject: [PATCH] Fix cmake configure for shared LLVM libraries
+
+Gentoo builds LLVM into a combined shared library. The CMake
+configuration shipped with LLVM is evidently broken in this case, see
+
+  https://github.com/llvm/llvm-project/issues/34593
+  https://bugs.gentoo.org/745915
+
+We work around this issue by simply linking against the monolithic
+"LLVM" target.
+---
+ CMakeLists.txt | 23 +----------------------
+ 1 file changed, 1 insertion(+), 22 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index cf5ab3b..dfa6605 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -402,28 +402,7 @@ if (WITH_LLVM)
+     endforeach()
+     set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DNDEBUG")
+ 
+-    llvm_map_components_to_libnames(llvm_libs_direct 
${SYMENGINE_LLVM_COMPONENTS})
+-    llvm_expand_dependencies(llvm_libs ${llvm_libs_direct})
+-
+-    if (BUILD_SHARED_LIBS)
+-        set(SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT False)
+-        foreach(LLVM_LIB ${llvm_libs})
+-            get_target_property(${LLVM_LIB}_IMPORT_LOCATION ${LLVM_LIB} 
LOCATION)
+-            if (NOT "${${LLVM_LIB}_IMPORT_LOCATION}" MATCHES "NOTFOUND")
+-                if (NOT "${${LLVM_LIB}_IMPORT_LOCATION}" MATCHES ".a$|.lib$")
+-                    set(SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT True)
+-                endif()
+-            endif()
+-        endforeach()
+-    else()
+-        set(SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT True)
+-    endif()
+-    set(SYMENGINE_LLVM_LINK_DOWNSTREAM 
${SYMENGINE_LLVM_LINK_DOWNSTREAM_DEFAULT}
+-        CACHE INTERNAL "Link to llvm in SymEngineConfig.cmake")
+-    if (NOT SYMENGINE_LLVM_LINK_DOWNSTREAM)
+-        unset(SYMENGINE_LLVM_COMPONENTS)
+-    endif ()
+-    set(LIBS ${LIBS} ${llvm_libs})
++    set(LIBS ${LIBS} LLVM)
+     include_directories(SYSTEM ${LLVM_INCLUDE_DIRS})
+     set(HAVE_SYMENGINE_LLVM yes)
+     set(PKGS ${PKGS} "LLVM")
+diff --git a/cmake/SymEngineConfig.cmake.in b/cmake/SymEngineConfig.cmake.in
+index b01ef9b..6d82c10 100644
+--- a/cmake/SymEngineConfig.cmake.in
++++ b/cmake/SymEngineConfig.cmake.in
+@@ -67,9 +67,7 @@ set(SYMENGINE_LLVM_COMPONENTS @SYMENGINE_LLVM_COMPONENTS@)
+ 
+ if (NOT "${SYMENGINE_LLVM_COMPONENTS}" STREQUAL "")
+     find_package(LLVM REQUIRED ${SYMENGINE_LLVM_COMPONENTS} HINTS @LLVM_DIR@)
+-    llvm_map_components_to_libnames(llvm_libs_direct 
${SYMENGINE_LLVM_COMPONENTS})
+-    llvm_expand_dependencies(llvm_libs ${llvm_libs_direct})
+-    set(SYMENGINE_LIBRARIES ${SYMENGINE_LIBRARIES} ${llvm_libs})
++    set(SYMENGINE_LIBRARIES ${SYMENGINE_LIBRARIES} LLVM)
+ else()
+     set(SYMENGINE_LLVM_INCLUDE_DIRS)
+ endif()
+-- 

Deleted: primesieve.patch
===================================================================
--- primesieve.patch    2023-03-22 13:18:22 UTC (rev 1426909)
+++ primesieve.patch    2023-03-22 13:18:34 UTC (rev 1426910)
@@ -1,26 +0,0 @@
-diff --git a/symengine/prime_sieve.h b/symengine/prime_sieve.h
-index e54a6185..61a02d43 100644
---- a/symengine/prime_sieve.h
-+++ b/symengine/prime_sieve.h
-@@ -2,6 +2,7 @@
- #define SYMENGINE_PRIME_SIEVE_H
- 
- #include <vector>
-+#include <symengine/symengine_config.h>
- 
- // Sieve class stores all the primes upto a limit. When a prime or a list of
- // prime
-diff --git a/symengine/prime_sieve.cpp b/symengine/prime_sieve.cpp
-index a5549d2b..22058a25 100644
---- a/symengine/prime_sieve.cpp
-+++ b/symengine/prime_sieve.cpp
-@@ -5,6 +5,9 @@
- #include <algorithm>
- #include <vector>
- #include <iterator>
-+#ifdef HAVE_SYMENGINE_PRIMESIEVE
-+#include <primesieve.hpp>
-+#endif
- 
- namespace SymEngine
- {

Copied: symengine/repos/community-x86_64/primesieve.patch (from rev 1426909, 
symengine/trunk/primesieve.patch)
===================================================================
--- primesieve.patch                            (rev 0)
+++ primesieve.patch    2023-03-22 13:18:34 UTC (rev 1426910)
@@ -0,0 +1,26 @@
+diff --git a/symengine/prime_sieve.h b/symengine/prime_sieve.h
+index e54a6185..61a02d43 100644
+--- a/symengine/prime_sieve.h
++++ b/symengine/prime_sieve.h
+@@ -2,6 +2,7 @@
+ #define SYMENGINE_PRIME_SIEVE_H
+ 
+ #include <vector>
++#include <symengine/symengine_config.h>
+ 
+ // Sieve class stores all the primes upto a limit. When a prime or a list of
+ // prime
+diff --git a/symengine/prime_sieve.cpp b/symengine/prime_sieve.cpp
+index a5549d2b..22058a25 100644
+--- a/symengine/prime_sieve.cpp
++++ b/symengine/prime_sieve.cpp
+@@ -5,6 +5,9 @@
+ #include <algorithm>
+ #include <vector>
+ #include <iterator>
++#ifdef HAVE_SYMENGINE_PRIMESIEVE
++#include <primesieve.hpp>
++#endif
+ 
+ namespace SymEngine
+ {

Reply via email to