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: Fri, 08 Apr 2022 06:45:33 +0200	[thread overview]
Message-ID: <20220408044533.0QuuNKc67BhJiKkEt3mAE_WERE-T3UVUpoO81fCFkvQ@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: 1586 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/cmake.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: 8443 bytes --]

From 7675bbdef801109f0cb88ad58a86244aa445f9b7 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/cmake.patch          | 125 +++++++++++++++++++
 srcpkgs/hobbits/patches/python_version.patch |  11 --
 srcpkgs/hobbits/template                     |  43 +++++--
 3 files changed, 160 insertions(+), 19 deletions(-)
 create mode 100644 srcpkgs/hobbits/patches/cmake.patch
 delete mode 100644 srcpkgs/hobbits/patches/python_version.patch

diff --git a/srcpkgs/hobbits/patches/cmake.patch b/srcpkgs/hobbits/patches/cmake.patch
new file mode 100644
index 000000000000..e0b92c4ac1b0
--- /dev/null
+++ b/srcpkgs/hobbits/patches/cmake.patch
@@ -0,0 +1,125 @@
+From f4683e308793221d54640300bf9d3eadb7a685ea Mon Sep 17 00:00:00 2001
+From: classabbyamp <dev@placeviolette.net>
+Date: Thu, 7 Apr 2022 19:16:13 -0400
+Subject: [PATCH 1/4] cmake/PackExternalDeps.cmake: fix endfunction name
+
+---
+ cmake/PackExternalDeps.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hobbits-0.53.1/cmake/PackExternalDeps.cmake b/hobbits-0.53.1/cmake/PackExternalDeps.cmake
+index 4be07c7..330be03 100644
+--- a/hobbits-0.53.1/cmake/PackExternalDeps.cmake
++++ b/hobbits-0.53.1/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)
+
+From d239b55b805122617d9dd41930140e317653c8aa Mon Sep 17 00:00:00 2001
+From: classabbyamp <dev@placeviolette.net>
+Date: Thu, 7 Apr 2022 19:17:19 -0400
+Subject: [PATCH 2/4] CMakeLists.txt: remove EXACT option for finding python
+
+without this, cmake will accept Python >=3.9
+---
+ CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/hobbits-0.53.1/CMakeLists.txt b/hobbits-0.53.1/CMakeLists.txt
+index 1cc283d..b95d6e6 100644
+--- a/hobbits-0.53.1/CMakeLists.txt
++++ b/hobbits-0.53.1/CMakeLists.txt
+@@ -124,7 +124,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}")
+ 
+ #
+
+From a9a4d40eca079f4b197849cf3d00f3f11069c482 Mon Sep 17 00:00:00 2001
+From: classabbyamp <dev@placeviolette.net>
+Date: Thu, 7 Apr 2022 19:19:54 -0400
+Subject: [PATCH 3/4] CMakeLists.txt: allow specifying VERSION_STRING with
+ -DBUILD_VERSION
+
+this will make it easier for distros to specify the version without
+writing to .version
+---
+ CMakeLists.txt | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/hobbits-0.53.1/CMakeLists.txt b/hobbits-0.53.1/CMakeLists.txt
+index b95d6e6..7e766b2 100644
+--- a/hobbits-0.53.1/CMakeLists.txt
++++ b/hobbits-0.53.1/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}")
+
+From b72cb09edd3850f4c2fe7d0ca693766704121f97 Mon Sep 17 00:00:00 2001
+From: classabbyamp <dev@placeviolette.net>
+Date: Thu, 7 Apr 2022 20:55:02 -0400
+Subject: [PATCH 4/4] Add pffft as a submodule and include cmake build files
+ for it
+
+---
+
+diff --git a/hobbits-0.53.1/CMakeLists.txt b/hobbits-0.53.1/CMakeLists.txt
+index 7e766b2..993eeb6 100644
+--- a/hobbits-0.53.1/CMakeLists.txt
++++ b/hobbits-0.53.1/CMakeLists.txt
+@@ -109,7 +109,7 @@ else()
+ 	endif()
+ 
+ 	# PFFFT
+-	find_package(PFFFT REQUIRED)
++	add_subdirectory(external)
+ 
+ endif()
+ 
+diff --git a/hobbits-0.53.1/external/CMakeLists.txt b/hobbits-0.53.1/external/CMakeLists.txt
+new file mode 100644
+index 0000000..668fff4
+--- /dev/null
++++ b/hobbits-0.53.1/external/CMakeLists.txt
+@@ -0,0 +1,22 @@
++option(USE_SYSTEM_PFFFT "Use a system-provided version of pffft" OFF)
++# can't assume the target system has the required SIMD instructions
++option(PFFFT_ENABLE_SIMD "Enable SIMD support for pffft" OFF)
++
++if(USE_SYSTEM_PFFFT)
++    message(STATUS "Using system pffft")
++    find_package(PFFFT REQUIRED)
++else()
++    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)
++endif()
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..3d30778f9e44 100644
--- a/srcpkgs/hobbits/template
+++ b/srcpkgs/hobbits/template
@@ -1,28 +1,55 @@
 # 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}"
 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"
 
 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
+case "$XBPS_TARGET_MACHINE" in
+	aarch64*)
+		configure_args+=" -DPFFFT_ENABLE_SIMD=ON"
+		;;
+	ppc64*)
+		configure_args+=" -DPFFFT_ENABLE_SIMD=ON"
+		;;
+	x86_64*|i686*)
+		configure_args+=" -DPFFFT_ENABLE_SIMD=ON"
+		;;
+	*) # don't use SIMD on unsupported platforms
+		;;
+esac
+
+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-08  4:45 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 [this message]
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 ` [PR PATCH] [Updated] " classabbyamp
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=20220408044533.0QuuNKc67BhJiKkEt3mAE_WERE-T3UVUpoO81fCFkvQ@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).