diff --git a/math/openlibm/Makefile b/math/openlibm/Makefile index 5544fbfc579e..807df24ea62e 100644 --- a/math/openlibm/Makefile +++ b/math/openlibm/Makefile @@ -1,40 +1,58 @@ PORTNAME= openlibm DISTVERSIONPREFIX= v -DISTVERSION= 0.8.4 +DISTVERSION= 0.8.6 CATEGORIES= math -MAINTAINER= ports@FreeBSD.org +MAINTAINER= laurent.chardon@gmail.com COMMENT= High quality system independent, portable, open source libm -WWW= http://julialang.org/openlibm/ +WWW= https://openlibm.org -LICENSE= MIT ISCL BSD2CLAUSE -LICENSE_COMB= multi -LICENSE_FILE= ${WRKSRC}/LICENSE.md +LICENSE= MIT ISCL BSD2CLAUSE LGPL21+ SUNPRO PD +LICENSE_COMB= multi +LICENSE_NAME_SUNPRO= SunPro License +LICENSE_FILE_SUNPRO= ${LICENSE_FILE} +LICENSE_FILE= ${WRKSRC}/LICENSE.md +LICENSE_PERMS_SUNPRO= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept BROKEN_armv6= fails to compile: a parameter list without types is only allowed in a function definition BROKEN_armv7= fails to compile: a parameter list without types is only allowed in a function definition USES= cmake USE_LDCONFIG= yes USE_GITHUB= yes GH_ACCOUNT= JuliaMath +do-test: + (cd ${WRKSRC}/test && ${SETENVI} ${CC} test-double.c -o test-double \ + ${CFLAGS} ${CPPFLAGS} -std=c99 ${LDFLAGS} \ + -I.. -I../include -I../${ARCH} -I../src -DASSEMBLER \ + -D__BSD_VISIBLE -fno-builtin -Wno-implicit-function-declaration \ + -L${BUILD_WRKSRC} -lopenlibm -Wl,-rpath=${BUILD_WRKSRC}) + (cd ${WRKSRC}/test && ${SETENVI} ${CC} test-float.c -o test-float \ + ${CFLAGS} ${CPPFLAGS} -std=c99 ${LDFLAGS} \ + -I.. -I../include -I../${ARCH} -I../src -DASSEMBLER \ + -D__BSD_VISIBLE -fno-builtin -Wno-implicit-function-declaration \ + -L${BUILD_WRKSRC} -lopenlibm -Wl,-rpath=${BUILD_WRKSRC}) + (cd ${WRKSRC}/test && ./test-double && ./test-float) + .include # Arch specific headers - +.if ${ARCH} == amd64 || ${ARCH} == i386 +PLIST_SUB+= X86="" +.else +PLIST_SUB+= X86="@comment " +.endif .if ${ARCH} == amd64 -PLIST_FILES= include/openlibm/bsd_asm.h \ - include/openlibm/bsd_fpu.h \ - include/openlibm/bsd_ieeefp.h +PLIST_SUB+= AMD64="" +.else +PLIST_SUB+= AMD64="@comment " .endif - .if ${ARCH} == i386 -PLIST_FILES= include/openlibm/bsd_asm.h \ - include/openlibm/bsd_ieeefp.h \ - include/openlibm/bsd_npx.h \ - include/openlibm/osx_asm.h +PLIST_SUB+= I386="" +.else +PLIST_SUB+= I386="@comment " .endif .include diff --git a/math/openlibm/distinfo b/math/openlibm/distinfo index cb40536beaf6..060e41582598 100644 --- a/math/openlibm/distinfo +++ b/math/openlibm/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1731740290 -SHA256 (JuliaMath-openlibm-v0.8.4_GH0.tar.gz) = c0bac12a6596f2315341790a7f386f9162a5b1f98db9ec40d883fce64e231942 -SIZE (JuliaMath-openlibm-v0.8.4_GH0.tar.gz) = 373409 +TIMESTAMP = 1741436572 +SHA256 (JuliaMath-openlibm-v0.8.6_GH0.tar.gz) = 347998968cfeb2f9b91de6a8e85d2ba92dec0915d53500a4bc483e056f85b94c +SIZE (JuliaMath-openlibm-v0.8.6_GH0.tar.gz) = 374461 diff --git a/math/openlibm/files/patch-CMakeLists.txt b/math/openlibm/files/patch-CMakeLists.txt index be7faf25e30a..6134b2c10868 100644 --- a/math/openlibm/files/patch-CMakeLists.txt +++ b/math/openlibm/files/patch-CMakeLists.txt @@ -1,63 +1,63 @@ --- CMakeLists.txt.orig 2024-11-09 13:40:26 UTC +++ CMakeLists.txt @@ -11,6 +11,7 @@ add_library("${PROJECT_NAME}") option(BUILD_SHARED_LIBS "Build using shared libraries" ON) add_library("${PROJECT_NAME}") -+set_target_properties(${PROJECT_NAME} PROPERTIES VERSION 0.8.4 SOVERSION 4) ++set_target_properties(${PROJECT_NAME} PROPERTIES VERSION 0.8.6 SOVERSION 0) # Find the relevant folder depending on the architecture set(OPENLIBM_ARCH_FOLDER ${CMAKE_SYSTEM_PROCESSOR}) @@ -22,7 +23,7 @@ elseif(${OPENLIBM_ARCH_FOLDER} STREQUAL "armv7-a") set(OPENLIBM_ARCH_FOLDER "aarch64") elseif(${OPENLIBM_ARCH_FOLDER} STREQUAL "armv7-a") set(OPENLIBM_ARCH_FOLDER "arm") -elseif(${OPENLIBM_ARCH_FOLDER} STREQUAL "x86" OR ${OPENLIBM_ARCH_FOLDER} STREQUAL "i686") +elseif(${OPENLIBM_ARCH_FOLDER} STREQUAL "x86" OR ${OPENLIBM_ARCH_FOLDER} STREQUAL "i686" OR ${OPENLIBM_ARCH_FOLDER} STREQUAL "i386") set(OPENLIBM_ARCH_FOLDER "i387") elseif(${OPENLIBM_ARCH_FOLDER} STREQUAL "powerpc") set(OPENLIBM_ARCH_FOLDER "powerpc") @@ -37,7 +38,7 @@ list(APPEND C_ASM_COMPILE_FLAGS "-Wall" "-Wno-implicit list(APPEND C_ASM_COMPILE_FLAGS "-ffp-contract=off" "-fno-fast-math" "-fno-rounding-math" "-fno-math-errno") list(APPEND C_ASM_COMPILE_FLAGS "-fPIC" "-std=c99" "-fno-builtin") list(APPEND C_ASM_COMPILE_FLAGS "-Wall" "-Wno-implicit-function-declaration") -list(APPEND C_ASM_COMPILE_FLAGS "-DASSEMBLER" "-D__BSD_VISIBLE" "-O3") +list(APPEND C_ASM_COMPILE_FLAGS "-DASSEMBLER" "-D__BSD_VISIBLE") # Compiler-specific compile flags if("${CMAKE_C_COMPILER_ID}" MATCHES "Clang") @@ -50,9 +51,9 @@ if(${OPENLIBM_ARCH_FOLDER} STREQUAL "i387") # Architecture-specific compile flags - take advantage of sse on x86 if(${OPENLIBM_ARCH_FOLDER} STREQUAL "i387") - list(APPEND C_ASM_COMPILE_FLAGS "-march=i686" "-m32" "-msse2" "-mfpmath=sse") -elseif(${OPENLIBM_ARCH_FOLDER} STREQUAL "amd64") - list(APPEND C_ASM_COMPILE_FLAGS "-m64" "-msse2" "-mfpmath=sse") +# list(APPEND C_ASM_COMPILE_FLAGS "-march=i686" "-m32" "-msse2" "-mfpmath=sse") +#elseif(${OPENLIBM_ARCH_FOLDER} STREQUAL "amd64") +# list(APPEND C_ASM_COMPILE_FLAGS "-m64" "-msse2" "-mfpmath=sse") endif() # Suppress warnings if requested @@ -560,7 +561,7 @@ set_target_properties("${PROJECT_NAME}" PROPERTIES PUB file(GLOB PUBLIC_HEADERS "*.h" "include/*.h" "${OPENLIBM_ARCH_FOLDER}/*.h" "src/*.h") set_target_properties("${PROJECT_NAME}" PROPERTIES PUBLIC_HEADER "${PUBLIC_HEADERS}") -install (TARGETS "${PROJECT_NAME}") +install (TARGETS "${PROJECT_NAME}" PUBLIC_HEADER DESTINATION include/openlibm) # Can't use configure_file because openlibm.pc.in uses $var instead of CMake configure @var's # Would rather string replace variables here instead of editing .pc.in, because editing .pc.in @@ -568,9 +569,9 @@ string(PREPEND PC_FILE "prefix=${CMAKE_INSTALL_PREFIX} file(READ "${PROJECT_SRC}/openlibm.pc.in" PC_FILE) string(REPLACE "\${version}" ${CMAKE_PROJECT_VERSION} PC_FILE ${PC_FILE}) string(PREPEND PC_FILE "prefix=${CMAKE_INSTALL_PREFIX} -includedir=\${prefix}/${CMAKE_INSTALL_INCLUDEDIR} -libdir=\${prefix}/${CMAKE_INSTALL_LIBDIR}\n +includedir=\${prefix}/include/openlibm +libdir=\${prefix}/lib\n ") file(WRITE "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc" ${PC_FILE}) install(FILES "${CMAKE_BINARY_DIR}/${PROJECT_NAME}.pc" - DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") + DESTINATION "${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig") diff --git a/math/openlibm/pkg-plist b/math/openlibm/pkg-plist index a7d6e7ab9484..9c9ff7fb9dd7 100644 --- a/math/openlibm/pkg-plist +++ b/math/openlibm/pkg-plist @@ -1,33 +1,39 @@ include/openlibm/aarch64_fpmath.h include/openlibm/amd64_fpmath.h +%%X86%%include/openlibm/bsd_asm.h include/openlibm/bsd_cdefs.h +%%I386%%include/openlibm/bsd_npx.h +%%AMD64%%include/openlibm/bsd_fpu.h +%%X86%%include/openlibm/bsd_ieeefp.h include/openlibm/cdefs-compat.h include/openlibm/fpmath.h include/openlibm/i386_fpmath.h include/openlibm/k_log.h include/openlibm/k_logf.h include/openlibm/loongarch64_fpmath.h include/openlibm/math_private.h include/openlibm/math_private_openbsd.h include/openlibm/mips_fpmath.h include/openlibm/openlibm.h include/openlibm/openlibm_complex.h include/openlibm/openlibm_defs.h include/openlibm/openlibm_fenv.h +include/openlibm/openlibm_fenv_aarch64.h include/openlibm/openlibm_fenv_amd64.h include/openlibm/openlibm_fenv_arm.h include/openlibm/openlibm_fenv_i387.h include/openlibm/openlibm_fenv_loongarch64.h include/openlibm/openlibm_fenv_mips.h include/openlibm/openlibm_fenv_powerpc.h include/openlibm/openlibm_fenv_riscv.h include/openlibm/openlibm_fenv_s390.h include/openlibm/openlibm_math.h +%%I386%%include/openlibm/osx_asm.h include/openlibm/powerpc_fpmath.h include/openlibm/riscv_fpmath.h include/openlibm/s390_fpmath.h include/openlibm/types-compat.h lib/libopenlibm.so -lib/libopenlibm.so.0.8.4 -lib/libopenlibm.so.4 +lib/libopenlibm.so.0 +lib/libopenlibm.so.0.8.6 libdata/pkgconfig/openlibm.pc