aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorchausner <15180557+chausner@users.noreply.github.com>2021-10-12 20:27:30 +0200
committerGitHub <noreply@github.com>2021-10-12 11:27:30 -0700
commit677eae74c020ff36842ce2fa1a8e50387a359038 (patch)
treed5a63d89b0a8ac54e7d28c673149106786bc07c5
parent0ab80cc66dd1cb051f30d61875f9c45a44199e9d (diff)
downloadvcpkg-677eae74c020ff36842ce2fa1a8e50387a359038.tar.gz
vcpkg-677eae74c020ff36842ce2fa1a8e50387a359038.zip
[pffft] new port (#20624)
* Add new port pffft * Add pffft to baseline Co-authored-by: chausner <chausner@users.noreply.github.com>
-rw-r--r--ports/pffft/CMakeLists.txt25
-rw-r--r--ports/pffft/copyright52
-rw-r--r--ports/pffft/portfile.cmake22
-rw-r--r--ports/pffft/vcpkg.json17
-rw-r--r--versions/baseline.json4
-rw-r--r--versions/p-/pffft.json9
6 files changed, 129 insertions, 0 deletions
diff --git a/ports/pffft/CMakeLists.txt b/ports/pffft/CMakeLists.txt
new file mode 100644
index 000000000..40f447ae5
--- /dev/null
+++ b/ports/pffft/CMakeLists.txt
@@ -0,0 +1,25 @@
+cmake_minimum_required(VERSION 3.12.4)
+project(pffft C)
+
+add_library(pffft pffft.c)
+
+if(MSVC)
+ target_compile_definitions(pffft PRIVATE _USE_MATH_DEFINES)
+endif()
+
+target_include_directories(pffft PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}> $<INSTALL_INTERFACE:include>)
+
+install(
+ TARGETS pffft
+ EXPORT pffft-config
+)
+
+install(
+ EXPORT pffft-config
+ NAMESPACE pffft::
+ DESTINATION share/pffft
+)
+
+if(NOT DISABLE_INSTALL_HEADERS)
+ install(FILES pffft.h DESTINATION include/pffft)
+endif() \ No newline at end of file
diff --git a/ports/pffft/copyright b/ports/pffft/copyright
new file mode 100644
index 000000000..871b42e83
--- /dev/null
+++ b/ports/pffft/copyright
@@ -0,0 +1,52 @@
+Copyright (c) 2013 Julien Pommier ( pommier@modartt.com )
+
+Based on original fortran 77 code from FFTPACKv4 from NETLIB
+(http://www.netlib.org/fftpack), authored by Dr Paul Swarztrauber
+of NCAR, in 1985.
+
+As confirmed by the NCAR fftpack software curators, the following
+FFTPACKv5 license applies to FFTPACKv4 sources. My changes are
+released under the same terms.
+
+FFTPACK license:
+
+http://www.cisl.ucar.edu/css/software/fftpack5/ftpk.html
+
+Copyright (c) 2004 the University Corporation for Atmospheric
+Research ("UCAR"). All rights reserved. Developed by NCAR's
+Computational and Information Systems Laboratory, UCAR,
+www.cisl.ucar.edu.
+
+Redistribution and use of the Software in source and binary forms,
+with or without modification, is permitted provided that the
+following conditions are met:
+
+- Neither the names of NCAR's Computational and Information Systems
+Laboratory, the University Corporation for Atmospheric Research,
+nor the names of its sponsors or contributors may be used to
+endorse or promote products derived from this Software without
+specific prior written permission.
+
+- Redistributions of source code must retain the above copyright
+notices, this list of conditions, and the disclaimer below.
+
+- Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions, and the disclaimer below in the
+documentation and/or other materials provided with the
+distribution.
+
+THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+
+PFFFT : a Pretty Fast FFT.
+
+This file is largerly based on the original FFTPACK implementation, modified in
+order to take advantage of SIMD instructions of modern CPUs.
diff --git a/ports/pffft/portfile.cmake b/ports/pffft/portfile.cmake
new file mode 100644
index 000000000..32d4f833f
--- /dev/null
+++ b/ports/pffft/portfile.cmake
@@ -0,0 +1,22 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_bitbucket(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO jpommier/pffft
+ REF ed78751d751e51bbd94c41d24f748b400f272d69
+ SHA512 44f65c7f7e5b71f549dca2e03d58b1fd64e698858f79e4c2833a9ae3dff8a835cf9d5e14be2341c6370f800012cb69b05b9226d6918b12e67f7f7e81ed8e9ad4
+ HEAD_REF master
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS_DEBUG
+ -DDISABLE_INSTALL_HEADERS=ON
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup()
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/copyright" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") \ No newline at end of file
diff --git a/ports/pffft/vcpkg.json b/ports/pffft/vcpkg.json
new file mode 100644
index 000000000..5ea7a3bd2
--- /dev/null
+++ b/ports/pffft/vcpkg.json
@@ -0,0 +1,17 @@
+{
+ "name": "pffft",
+ "version-date": "2021-10-09",
+ "description": "PFFFT, a pretty fast Fourier Transform.",
+ "homepage": "https://bitbucket.org/jpommier/pffft/",
+ "supports": "static",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}
diff --git a/versions/baseline.json b/versions/baseline.json
index 1aaaea54a..25a33f202 100644
--- a/versions/baseline.json
+++ b/versions/baseline.json
@@ -5096,6 +5096,10 @@
"baseline": "2.8.3",
"port-version": 1
},
+ "pffft": {
+ "baseline": "2021-10-09",
+ "port-version": 0
+ },
"pfring": {
"baseline": "2019-10-17",
"port-version": 3
diff --git a/versions/p-/pffft.json b/versions/p-/pffft.json
new file mode 100644
index 000000000..9defc0134
--- /dev/null
+++ b/versions/p-/pffft.json
@@ -0,0 +1,9 @@
+{
+ "versions": [
+ {
+ "git-tree": "c425b1091069b34450a9b7e524f1cad202e4e709",
+ "version-date": "2021-10-09",
+ "port-version": 0
+ }
+ ]
+}