[arch-commits] Commit in ponyc/repos (3 files)
Felix Yan
felixonmars at gemini.archlinux.org
Thu Jul 15 15:09:26 UTC 2021
Date: Thursday, July 15, 2021 @ 15:09:26
Author: felixonmars
Revision: 977358
archrelease: copy trunk to community-testing-x86_64
Added:
ponyc/repos/community-testing-x86_64/
ponyc/repos/community-testing-x86_64/PKGBUILD
(from rev 977357, ponyc/trunk/PKGBUILD)
ponyc/repos/community-testing-x86_64/shared-libs.patch
(from rev 977357, ponyc/trunk/shared-libs.patch)
-------------------+
PKGBUILD | 74 ++++++++++++++++++++++++++++++
shared-libs.patch | 128 ++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 202 insertions(+)
Copied: ponyc/repos/community-testing-x86_64/PKGBUILD (from rev 977357, ponyc/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2021-07-15 15:09:26 UTC (rev 977358)
@@ -0,0 +1,74 @@
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+
+pkgname=ponyc
+pkgver=0.43.0
+pkgrel=1
+pkgdesc='An actor model, capabilities, high performance programming language'
+url='https://ponylang.org/'
+arch=('x86_64')
+license=('BSD')
+depends=('llvm-libs') # 'libb2'
+makedepends=('benchmark' 'cmake' 'gtest' 'llvm')
+checkdepends=('pcre2')
+options=('!strip')
+optdepends=('pcre2: Needed for the regex package')
+source=("https://github.com/ponylang/ponyc/archive/$pkgver/$pkgname-$pkgver.tar.gz"
+ shared-libs.patch)
+sha512sums=('5b3bf863f0eb794c835a22edc1373bc4b96be4ca4390bfc30c5516542da54f2d87774d1fd70c93e9c7cce6162e222db9420d70f8d8e3a706bb6608a846b27f22'
+ '7dc4591d5e3ff7d321f4397f382d700e3778b984df3d1dc95ace1689ce3f7fe63d2b35c4986aea11cf15cfa34f53b96782eebe2cc8a729f47de45f72302ea594')
+
+prepare() {
+ cd ponyc-$pkgver
+
+ patch -p2 -i ../shared-libs.patch
+
+ # Use system gmock/gtest/gbenchmark, remove -Werror (https://github.com/ponylang/ponyc/issues/3806)
+ sed -i 's|NO_DEFAULT_PATH||;s/-Werror //' CMakeLists.txt
+
+ # Don't build libponyc-standalone.a
+ # sed -i 's/else()/elseif(FALSE)/' src/libponyc/CMakeLists.txt
+
+ # System b2 - disabled: *** stack smashing detected ***: terminated
+ # sed -i 's/blake2/b2/' src/ponyc/CMakeLists.txt test/libponyc/CMakeLists.txt benchmark/libponyc/CMakeLists.txt
+ # Arguments ordering changed
+ # sed -i 's|blake2b(buf, SIGNATURE_LENGTH, array.ptr, array.size, NULL, 0);|blake2b(buf, array.ptr, NULL, SIGNATURE_LENGTH, array.size, 0);|' src/libponyc/pkg/package.c
+
+ # Missing LLVM components
+ sed -i 's/demangle/demangle amdgpucodegen avrcodegen bpfcodegen codegen hexagoncodegen lanaicodegen mipscodegen msp430codegen nativecodegen nvptxcodegen powerpccodegen riscvcodegen sparccodegen systemzcodegen webassemblycodegen xcorecodegen amdgpuasmparser asmparser avrasmparser bpfasmparser hexagonasmparser lanaiasmparser mipsasmparser msp430asmparser powerpcasmparser riscvasmparser sparcasmparser systemzasmparser webassemblyasmparser/' CMakeLists.txt
+}
+
+build() {
+ cd ponyc-$pkgver
+ make config=release prefix=/usr arch=x86-64 libs
+ make config=release prefix=/usr arch=x86-64 configure
+ make config=release prefix=/usr arch=x86-64 build
+
+ mkdir docs
+ build/release/ponyc packages/stdlib -rexpr -g -o docs
+}
+
+check() {
+ cd ponyc-$pkgver
+ make config=release prefix=/usr arch=x86-64 test
+}
+
+package() {
+ cd ponyc-$pkgver
+ make config=release arch= DESTDIR="$pkgdir"/usr/lib/pony install
+
+ install -dm755 "$pkgdir"/usr/{bin,lib,include/pony/detail}
+ ln -sf /usr/lib/pony/bin/ponyc "$pkgdir"/usr/bin/
+ for _lib in {libponyc,libponyrt,libponyrt-pic}.a; do
+ ln -sf /usr/lib/pony/lib/$_lib "$pkgdir"/usr/lib/
+ done
+ ln -sf /usr/lib/pony/include/pony.h "$pkgdir"/usr/include/
+ ln -sf /usr/lib/pony/include/pony/detail/atomics.h "$pkgdir"/usr/include/pony/detail/
+
+ # Let's include the examples as documentation is scarce.
+ install -dm755 "$pkgdir"/usr/share/doc/pony
+ cp -dr --no-preserve=ownership examples "$pkgdir"/usr/share/doc/pony
+
+ cp -dr docs/* "$pkgdir"/usr/share/doc/pony
+
+ install -Dm644 LICENSE "$pkgdir"/usr/share/licenses/"$pkgname"/LICENSE
+}
Copied: ponyc/repos/community-testing-x86_64/shared-libs.patch (from rev 977357, ponyc/trunk/shared-libs.patch)
===================================================================
--- community-testing-x86_64/shared-libs.patch (rev 0)
+++ community-testing-x86_64/shared-libs.patch 2021-07-15 15:09:26 UTC (rev 977358)
@@ -0,0 +1,128 @@
+--- src/ponyc-0.43.0/lib/CMakeLists.txt.orig 2021-07-15 22:58:52.411387604 +0800
++++ src/ponyc-0.43.0/lib/CMakeLists.txt 2021-07-15 22:59:13.877217631 +0800
+@@ -5,25 +5,6 @@
+
+ include(ExternalProject)
+
+-if(NOT DEFINED PONYC_LIBS_BUILD_TYPE)
+- set(PONYC_LIBS_BUILD_TYPE Release)
+-endif()
+-
+-set(PONYC_GBENCHMARK_URL https://github.com/google/benchmark/archive/v1.5.4.tar.gz)
+-if(${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+- set(PONYC_GBENCHMARK_URL https://github.com/google/benchmark/archive/v1.5.3.tar.gz)
+-endif()
+-
+-ExternalProject_Add(gbenchmark
+- URL ${PONYC_GBENCHMARK_URL}
+- CMAKE_ARGS -DCMAKE_BUILD_TYPE=${PONYC_LIBS_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DBENCHMARK_ENABLE_GTEST_TESTS=OFF -DCMAKE_CXX_FLAGS=-fpic --no-warn-unused-cli
+-)
+-
+-ExternalProject_Add(googletest
+- URL https://github.com/google/googletest/archive/release-1.10.0.tar.gz
+- CMAKE_ARGS -DCMAKE_BUILD_TYPE=${PONYC_LIBS_BUILD_TYPE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_CXX_FLAGS=-fpic -Dgtest_force_shared_crt=ON --no-warn-unused-cli
+-)
+-
+ add_library(blake2 STATIC blake2/blake2b-ref.c)
+ set_property(TARGET blake2 PROPERTY POSITION_INDEPENDENT_CODE ON)
+
+@@ -32,99 +13,3 @@
+ LIBRARY DESTINATION lib
+ COMPONENT library
+ )
+-
+-find_package(Git)
+-
+-set(LLVM_DESIRED_HASH "fed41342a82f5a3a9201819a82bf7a48313e296b")
+-set(PATCHES_DESIRED_HASH "3a655193262fd9b2e87340e096efcbd96726a07fe6dd42a263f3a4fc2dc0192e")
+-
+-if(GIT_FOUND)
+- if(EXISTS "${PROJECT_SOURCE_DIR}/../.git")
+- # Update submodules as needed
+- option(GIT_SUBMODULE "Check submodules during build" ON)
+- if(GIT_SUBMODULE)
+- message(STATUS "Updating submodules...")
+- execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive --depth 1
+- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- RESULT_VARIABLE git_submod_result)
+- #message("git_submod_result ${git_submod_result}")
+- if(NOT git_submod_result EQUAL "0")
+- message(FATAL_ERROR "git submodule update --init --recursive --depth 1 failed with ${git_submod_result}, please checkout submodules")
+- endif()
+-
+- # we check to make sure the submodule hash matches
+- # the reason the submodule hash is in this file is to be able to use this file as a key for caching the libs in CI
+- execute_process(COMMAND ${GIT_EXECUTABLE} submodule status
+- WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+- OUTPUT_VARIABLE git_submod_output)
+- #message("git_submod_output ${git_submod_output}")
+- string(FIND "${git_submod_output}" "${LLVM_DESIRED_HASH}" LLVM_SUBMOD_POS)
+- if(LLVM_SUBMOD_POS EQUAL "-1")
+- message(FATAL_ERROR "Expecting the lib/llvm/src submodule to be at hash '${LLVM_DESIRED_HASH}'; found '${git_submod_output}'; update the LLVM_DESIRED_HASH variable in lib/CMakeLists.txt if you've updated the submodule.")
+- endif()
+- endif()
+- endif()
+-
+- # Apply patches
+- message("Applying patches...")
+- file(GLOB PONY_LLVM_PATCHES "${PROJECT_SOURCE_DIR}/llvm/patches/*.diff")
+-
+- # check to see if the patch hashes match
+- message("Checking patches ${PONY_LLVM_PATCHES}")
+- set(PATCHES_ACTUAL_HASH "")
+- foreach (PATCH ${PONY_LLVM_PATCHES})
+- file(STRINGS ${PATCH} patch_file NEWLINE_CONSUME)
+- string(REPLACE "\n" " " patch_file ${patch_file})
+- string(SHA256 patch_file_hash ${patch_file})
+- # message("${PATCH}: '${patch_file_hash}'")
+- string(CONCAT PATCHES_ACTUAL_HASH ${PATCHES_ACTUAL_HASH} ${patch_file_hash})
+- # message("concat is '${PATCHES_ACTUAL_HASH}'")
+- endforeach()
+- string(SHA256 PATCHES_ACTUAL_HASH ${PATCHES_ACTUAL_HASH})
+- # message("Desired hash ${PATCHES_DESIRED_HASH}")
+- # message("Actual hash ${PATCHES_ACTUAL_HASH}")
+- if(NOT PATCHES_ACTUAL_HASH EQUAL "${PATCHES_DESIRED_HASH}")
+- message(FATAL_ERROR "Patch hash actual ${PATCHES_ACTUAL_HASH} does not match desired ${PATCHES_DESIRED_HASH}")
+- endif()
+-
+- foreach (PATCH ${PONY_LLVM_PATCHES})
+- message(" Checking ${PATCH}")
+- execute_process(COMMAND ${GIT_EXECUTABLE} apply --check -p 1 --ignore-whitespace --whitespace=nowarn ${PATCH}
+- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/llvm/src"
+- ERROR_VARIABLE _err_out
+- RESULT_VARIABLE git_apply_check_result)
+- if(git_apply_check_result EQUAL "0")
+- message(" Applying ${PATCH}")
+- execute_process(COMMAND ${GIT_EXECUTABLE} apply -p 1 --ignore-whitespace --whitespace=nowarn ${PATCH}
+- WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}/llvm/src"
+- RESULT_VARIABLE git_apply_result)
+- if(NOT git_apply_result EQUAL "0")
+- message(FATAL_ERROR "Unable to apply ${PATCH}")
+- endif()
+- else()
+- message(" Already applied ${PATCH}")
+- endif()
+- endforeach()
+-else()
+- message(FATAL_ERROR "Git not found!")
+-endif()
+-
+-message("Building targets: ${LLVM_TARGETS_TO_BUILD}")
+-
+-set(LLVM_ENABLE_BINDINGS OFF)
+-set(LLVM_ENABLE_OCAMLDOC OFF)
+-set(LLVM_ENABLE_PIC OFF)
+-set(LLVM_ENABLE_TERMINFO OFF)
+-set(LLVM_ENABLE_WARNINGS OFF)
+-set(LLVM_ENABLE_Z3_SOLVER OFF)
+-set(LLVM_INCLUDE_BENCHMARKS OFF)
+-set(LLVM_INCLUDE_TESTS OFF)
+-set(LLVM_TOOL_REMARKS_SHLIB_BUILD OFF)
+-set(LLVM_ENABLE_ZLIB OFF)
+-
+-if(${CMAKE_HOST_SYSTEM_NAME} MATCHES "Darwin")
+- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mmacosx-version-min=10.14 -DUSE_SCHEDULER_SCALING_PTHREADS")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -mmacosx-version-min=10.14")
+-endif()
+-
+-add_subdirectory(llvm/src/llvm)
More information about the arch-commits
mailing list