Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
97ffc20
commit 0533f99
Showing
3 changed files
with
109 additions
and
19 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,78 @@ | ||
Backports some changes sent upstream to better support plain cmake builds | ||
|
||
diff --git a/CMakeLists.txt b/CMakeLists.txt | ||
index 1cc283d..5795a97 100644 | ||
--- a/CMakeLists.txt | ||
+++ b/CMakeLists.txt | ||
@@ -15,7 +15,10 @@ if (UNIX AND NOT APPLE) | ||
set(LINUX TRUE) | ||
endif() | ||
|
||
-if (EXISTS "${CMAKE_SOURCE_DIR}/.version") | ||
+if (DEFINED BUILD_VERSION) | ||
+ message("Using build version from command-line") | ||
+ set(VERSION_STRING "${BUILD_VERSION}") | ||
+elseif (EXISTS "${CMAKE_SOURCE_DIR}/.version") | ||
message("Getting build version from .version file") | ||
file (STRINGS "${CMAKE_SOURCE_DIR}/.version" BUILD_VERSION) | ||
string(REGEX REPLACE "\n$" "" BUILD_VERSION "${BUILD_VERSION}") | ||
@@ -106,7 +143,13 @@ else() | ||
endif() | ||
|
||
# PFFFT | ||
- find_package(PFFFT REQUIRED) | ||
+ option(USE_SYSTEM_PFFFT "Use a system-provided version of pffft" OFF) | ||
+ if(USE_SYSTEM_PFFFT) | ||
+ message(STATUS "Using system pffft") | ||
+ find_package(PFFFT REQUIRED) | ||
+ else() | ||
+ add_subdirectory(external) | ||
+ endif() | ||
|
||
endif() | ||
|
||
@@ -124,7 +167,7 @@ elseif( MANUAL_PYTHON_PATH ) | ||
set ( Python3_ROOT_DIR "${MANUAL_PYTHON_PATH}" ) | ||
endif() | ||
|
||
-find_package (Python3 3.9 EXACT COMPONENTS Interpreter Development REQUIRED) | ||
+find_package (Python3 3.9 COMPONENTS Interpreter Development REQUIRED) | ||
message("Python3 Libs: ${Python3_LIBRARIES}") | ||
|
||
# | ||
diff --git a/cmake/PackExternalDeps.cmake b/cmake/PackExternalDeps.cmake | ||
index 4be07c7..330be03 100644 | ||
--- a/cmake/PackExternalDeps.cmake | ||
+++ b/cmake/PackExternalDeps.cmake | ||
@@ -145,7 +145,7 @@ endfunction(pack_python) | ||
function(pack_pffft) | ||
install(FILES ${PFFFT_LIBRARIES} | ||
DESTINATION "${CMAKE_INSTALL_LIBDIR}") | ||
-endfunction(pack_pcap) | ||
+endfunction(pack_pffft) | ||
|
||
function(pack_pcap) | ||
if (LINUX) | ||
diff --git a/external/CMakeLists.txt b/external/CMakeLists.txt | ||
new file mode 100644 | ||
index 0000000..ea1c9a3 | ||
--- /dev/null | ||
+++ b/external/CMakeLists.txt | ||
@@ -0,0 +1,17 @@ | ||
+ | ||
+# can't assume the target system has the required SIMD instructions | ||
+option(PFFFT_ENABLE_SIMD "Enable SIMD support for pffft" OFF) | ||
+ | ||
+message(STATUS "Using bundled pffft") | ||
+add_library(pffft STATIC pffft/pffft.c) | ||
+if(PFFFT_ENABLE_SIMD) | ||
+ message(STATUS "Enabling SIMD support for pffft") | ||
+else() | ||
+ message(STATUS "Disabling SIMD support for pffft") | ||
+ target_compile_definitions(pffft PUBLIC PFFFT_SIMD_DISABLE) | ||
+endif() | ||
+target_compile_options(pffft PUBLIC "${PFFFT_CFLAGS}") | ||
+target_link_libraries(pffft m) | ||
+target_include_directories(pffft INTERFACE pffft) | ||
+ | ||
+add_library(PFFFT::PFFFT ALIAS pffft) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,51 @@ | ||
# Template file for 'hobbits' | ||
pkgname=hobbits | ||
version=0.52.0 | ||
version=0.53.1 | ||
revision=1 | ||
_pffft_commit=7914df2127c206ae501a6cb2950ee65a94662215 | ||
_pffft_dir="jpommier-pffft-${_pffft_commit:0:12}" | ||
create_wrksrc=yes | ||
build_wrksrc="hobbits-${version}" | ||
build_style=cmake | ||
configure_args="-DBUILD_VERSION=${version} $(vopt_bool simd PFFFT_ENABLE_SIMD)" | ||
hostmakedepends="pkg-config qt5-host-tools qt5-qmake python3" | ||
makedepends="fftw-devel libusb-devel libpcap-devel python3-devel qt5-devel" | ||
makedepends="libusb-devel libpcap-devel python3-devel qt5-devel" | ||
short_desc="Multi-platform GUI for bit-based analysis, processing and visualization" | ||
maintainer="classabbyamp <void@placeviolette.net>" | ||
license="MIT, GPL-2.0-or-later" | ||
license="MIT, custom:FFTPACK" | ||
homepage="https://mahlet-inc.github.io" | ||
changelog="https://raw.githubusercontent.com/Mahlet-Inc/hobbits/master/CHANGELOG.md" | ||
distfiles="https://github.com/Mahlet-Inc/hobbits/archive/refs/tags/v${version}.tar.gz" | ||
checksum=3332e02380ab46649f0ec2066b63b6e0fb04b55cdca973d28880f1607ebbf27e | ||
distfiles="https://github.com/Mahlet-Inc/hobbits/archive/refs/tags/v${version}.tar.gz | ||
https://bitbucket.org/jpommier/pffft/get/${_pffft_commit}.tar.gz" | ||
checksum="e63c51228c3f00f56a2ebf79fec1975544b1c6c986d58dff69643da46148316b | ||
@0b9f0e99ace190e607961f72953394aa0f0387826d4e478027111d71d56839a8" | ||
patch_args="-Np1 --directory=${build_wrksrc}" | ||
|
||
build_options="simd" | ||
desc_option_simd="Enable SIMD support (SSE, Altivec, or NEON)" | ||
|
||
# by default, don't use SIMD on unsupported platforms | ||
# SSE, Altivec, or NEON support is needed to enable this | ||
case "$XBPS_TARGET_MACHINE" in | ||
aarch64*|ppc64*|x86_64*) build_options_default="simd" | ||
esac | ||
|
||
case "$XBPS_TARGET_MACHINE" in | ||
arm*|aarch64*|ppc*) CXXFLAGS+=" -fsigned-char" | ||
esac | ||
|
||
pre_configure() { | ||
# upstream provides no way to set the version through configure_args | ||
echo "${version}" > .version | ||
post_extract() { | ||
# until upstream merges Mahlet-Inc/hobbits#143 and releases a new version, | ||
# the directory must be added, instead of removing the submodule | ||
# rm -rf ${build_wrksrc}/external/pffft | ||
mkdir ${build_wrksrc}/external | ||
mv ${_pffft_dir} ${build_wrksrc}/external/pffft | ||
} | ||
|
||
post_install() { | ||
vinstall src/hobbits-gui/images/icons/HobbitsRingSmall.png 644 usr/share/pixmaps | ||
# capture the FFTPACK license from the header comment of pffft.c | ||
sed -E '/\*\//,$d; 1s/\/\* //; s/^[[:blank:]]+//' external/pffft/pffft.c > LICENSE.pffft | ||
vlicense LICENSE.pffft | ||
vlicense LICENSE.txt | ||
} |