Github messages for voidlinux
 help / color / mirror / Atom feed
From: classabbyamp <classabbyamp@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] hobbits: update to 0.53.1.
Date: Sun, 10 Apr 2022 18:30:31 +0200	[thread overview]
Message-ID: <20220410163031.S_nA7xVbP740uslvSOTKkbKTnkZ2BXzNzYto93aTtgc@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-36490@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1590 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/classabbyamp/void-packages hobbits-0.53.0
https://github.com/void-linux/void-packages/pull/36490

hobbits: update to 0.53.1.
<!-- Uncomment relevant sections and delete options which are not applicable -->

This version of hobbits switched from fftw to pffft for fft functionality. This library is extremely small and unreleased, so vendoring it is probably the best way to deal with it. I have sent a patch upstream that makes vendoring much easier for us, Mahlet-Inc/hobbits#143, and included those changes as `patches/backports.patch`.

#### Testing the changes
- I tested the changes in this PR: **YES**

<!--
#### New package
- This new package conforms to the [quality requirements](https://github.com/void-linux/void-packages/blob/master/Manual.md#quality-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!-- 
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/36490.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-hobbits-0.53.0-36490.patch --]
[-- Type: text/x-diff, Size: 6705 bytes --]

From f7da3135ff64e0359dded707e3e60f756bed6b3e Mon Sep 17 00:00:00 2001
From: classabbyamp <dev@placeviolette.net>
Date: Sun, 3 Apr 2022 00:58:37 -0400
Subject: [PATCH] hobbits: update to 0.53.1.

---
 srcpkgs/hobbits/patches/backports.patch      | 78 ++++++++++++++++++++
 srcpkgs/hobbits/patches/python_version.patch | 11 ---
 srcpkgs/hobbits/template                     | 39 ++++++++--
 3 files changed, 109 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/hobbits/patches/backports.patch
 delete mode 100644 srcpkgs/hobbits/patches/python_version.patch

diff --git a/srcpkgs/hobbits/patches/backports.patch b/srcpkgs/hobbits/patches/backports.patch
new file mode 100644
index 000000000000..3348b37ae5f2
--- /dev/null
+++ b/srcpkgs/hobbits/patches/backports.patch
@@ -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)
diff --git a/srcpkgs/hobbits/patches/python_version.patch b/srcpkgs/hobbits/patches/python_version.patch
deleted file mode 100644
index 47b1490c4b0a..000000000000
--- a/srcpkgs/hobbits/patches/python_version.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/CMakeLists.txt	2021-10-07 11:31:22.000000000 -0400
-+++ b/CMakeLists.txt	2021-10-25 21:16:59.429406408 -0400
-@@ -124,7 +124,7 @@
- 	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/srcpkgs/hobbits/template b/srcpkgs/hobbits/template
index fe6c7f5adda7..8260fa1988d0 100644
--- a/srcpkgs/hobbits/template
+++ b/srcpkgs/hobbits/template
@@ -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
 }

  parent reply	other threads:[~2022-04-10 16:30 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-03  4:59 [PR PATCH] " classabbyamp
2022-04-03  5:04 ` [PR PATCH] [Updated] " classabbyamp
2022-04-03  5:13 ` classabbyamp
2022-04-03  5:14 ` classabbyamp
2022-04-03  5:39 ` classabbyamp
2022-04-03  6:05 ` classabbyamp
2022-04-03  6:09 ` classabbyamp
2022-04-03  6:23 ` classabbyamp
2022-04-03  6:27 ` classabbyamp
2022-04-03 17:10 ` classabbyamp
2022-04-06  7:30 ` classabbyamp
2022-04-06 17:27 ` [PR REVIEW] " paper42
2022-04-06 17:27 ` paper42
2022-04-06 17:27 ` paper42
2022-04-06 17:28 ` paper42
2022-04-06 17:28 ` paper42
2022-04-06 17:33 ` [PR PATCH] [Updated] " classabbyamp
2022-04-06 17:34 ` [PR REVIEW] " classabbyamp
2022-04-06 18:10 ` [PR PATCH] [Updated] " classabbyamp
2022-04-08  3:33 ` classabbyamp
2022-04-08  4:45 ` classabbyamp
2022-04-08  5:05 ` classabbyamp
2022-04-08  5:13 ` classabbyamp
2022-04-08  5:24 ` classabbyamp
2022-04-10  1:32 ` classabbyamp
2022-04-10  8:54 ` [PR REVIEW] " paper42
2022-04-10 16:30 ` classabbyamp [this message]
2022-04-11 21:16 ` [PR PATCH] [Merged]: " paper42

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220410163031.S_nA7xVbP740uslvSOTKkbKTnkZ2BXzNzYto93aTtgc@z \
    --to=classabbyamp@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).