summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shvetsov <alexxy@gentoo.org>2024-02-01 15:14:01 +0300
committerAlexey Shvetsov <alexxy@gentoo.org>2024-02-01 16:02:14 +0300
commit5fbfd251026407e1f93c7542e3828bafce981a52 (patch)
tree01e00b4bb38d16ca8a8a9d69e3b846336c498f48 /dev-libs/heatshrink
parentdev-gap/io: backport fix for assertion failure (diff)
downloadgentoo-5fbfd251026407e1f93c7542e3828bafce981a52.tar.gz
gentoo-5fbfd251026407e1f93c7542e3828bafce981a52.tar.bz2
gentoo-5fbfd251026407e1f93c7542e3828bafce981a52.zip
dev-libs/heatshrink: new package, add 0.4.1
Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
Diffstat (limited to 'dev-libs/heatshrink')
-rw-r--r--dev-libs/heatshrink/Manifest1
-rw-r--r--dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch108
-rw-r--r--dev-libs/heatshrink/heatshrink-0.4.1.ebuild16
-rw-r--r--dev-libs/heatshrink/metadata.xml16
4 files changed, 141 insertions, 0 deletions
diff --git a/dev-libs/heatshrink/Manifest b/dev-libs/heatshrink/Manifest
new file mode 100644
index 000000000000..b2379309357b
--- /dev/null
+++ b/dev-libs/heatshrink/Manifest
@@ -0,0 +1 @@
+DIST heatshrink-0.4.1.tar.gz 36945 BLAKE2B 526e3f88ddaec8116e5eef1a73a4450454ca808545dfe4a36069be8a0d771ca92c850c51f9b3c3e73f244454ba17d03da8fb0be4849728300c7eb8181e39651e SHA512 bb9610b963da0762b1ac21d0907f3801b525431abff495b66cadc244a2b2b334441de2b14442b722bfeb56cb4459fe4021eae0d0454f9e26a80e6efa11f079d2
diff --git a/dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch b/dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch
new file mode 100644
index 000000000000..3230949b84bf
--- /dev/null
+++ b/dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch
@@ -0,0 +1,108 @@
+diff -urN heatshrink-0.4.1.orig/CMakeLists.txt heatshrink-0.4.1/CMakeLists.txt
+--- heatshrink-0.4.1.orig/CMakeLists.txt 1970-01-01 03:00:00.000000000 +0300
++++ heatshrink-0.4.1/CMakeLists.txt 2024-02-01 15:11:32.356696150 +0300
+@@ -0,0 +1,93 @@
++cmake_minimum_required(VERSION 3.10)
++
++project(heatshrink LANGUAGES C VERSION 0.4.1)
++
++set(CMAKE_C_STANDARD 99)
++set(CMAKE_C_STANDARD_REQUIRED ON)
++set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON)
++
++add_library(${PROJECT_NAME} heatshrink_decoder.c heatshrink_encoder.c)
++add_library(${PROJECT_NAME}_dynalloc heatshrink_decoder.c heatshrink_encoder.c)
++
++find_library(MATH_LIBRARY m) # Business as usual
++if(MATH_LIBRARY)
++ target_link_libraries(${PROJECT_NAME} PUBLIC ${MATH_LIBRARY})
++endif()
++
++target_include_directories(${PROJECT_NAME} PUBLIC $<INSTALL_INTERFACE:include>)
++target_include_directories(${PROJECT_NAME}_dynalloc PUBLIC $<INSTALL_INTERFACE:include>)
++
++target_compile_definitions(${PROJECT_NAME} PUBLIC HEATSHRINK_DYNAMIC_ALLOC=0)
++target_compile_definitions(${PROJECT_NAME}_dynalloc PUBLIC HEATSHRINK_DYNAMIC_ALLOC=1)
++
++if (UNIX)
++ add_executable(${PROJECT_NAME}_cmd heatshrink.c)
++ target_link_libraries(${PROJECT_NAME}_cmd ${PROJECT_NAME}_dynalloc)
++ set_target_properties(${PROJECT_NAME}_cmd PROPERTIES OUTPUT_NAME ${PROJECT_NAME})
++endif ()
++
++foreach (tgt ${PROJECT_NAME} ${PROJECT_NAME}_dynalloc)
++ set_target_properties(${tgt}
++ PROPERTIES
++ VERSION ${PROJECT_VERSION}
++ SOVERSION ${PROJECT_VERSION})
++endforeach()
++
++# Installation and export:
++
++include(CMakePackageConfigHelpers)
++
++write_basic_package_version_file(
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
++ VERSION ${PROJECT_VERSION}
++ COMPATIBILITY AnyNewerVersion
++)
++
++set(_exported_targets ${PROJECT_NAME} ${PROJECT_NAME}_dynalloc)
++if (UNIX)
++ list(APPEND _exported_targets ${PROJECT_NAME}_cmd)
++endif ()
++
++install(TARGETS ${_exported_targets}
++ EXPORT ${PROJECT_NAME}Targets
++)
++
++export(EXPORT ${PROJECT_NAME}Targets
++ FILE "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake"
++ NAMESPACE ${PROJECT_NAME}::
++)
++
++include(GNUInstallDirs)
++set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME})
++
++configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/Config.cmake.in
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
++ INSTALL_DESTINATION ${ConfigPackageLocation}
++)
++
++install(
++ FILES
++ heatshrink_common.h
++ heatshrink_config.h
++ heatshrink_encoder.h
++ heatshrink_decoder.h
++ DESTINATION
++ include/${PROJECT_NAME}
++ )
++
++install(EXPORT ${PROJECT_NAME}Targets
++ FILE
++ ${PROJECT_NAME}Targets.cmake
++ NAMESPACE
++ ${PROJECT_NAME}::
++ DESTINATION
++ ${ConfigPackageLocation}
++)
++
++install(
++ FILES
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
++ "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
++ DESTINATION
++ ${ConfigPackageLocation}
++)
+\ В конце файла нет новой строки
+diff -urN heatshrink-0.4.1.orig/Config.cmake.in heatshrink-0.4.1/Config.cmake.in
+--- heatshrink-0.4.1.orig/Config.cmake.in 1970-01-01 03:00:00.000000000 +0300
++++ heatshrink-0.4.1/Config.cmake.in 2024-02-01 15:11:32.356696150 +0300
+@@ -0,0 +1,5 @@
++@PACKAGE_INIT@
++
++if (EXISTS ${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake)
++ include("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
++endif ()
+\ В конце файла нет новой строки
diff --git a/dev-libs/heatshrink/heatshrink-0.4.1.ebuild b/dev-libs/heatshrink/heatshrink-0.4.1.ebuild
new file mode 100644
index 000000000000..172cf6a7e44c
--- /dev/null
+++ b/dev-libs/heatshrink/heatshrink-0.4.1.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A data compression/decompression library for embedded/real-time systems"
+HOMEPAGE="https://github.com/atomicobject/heatshrink"
+SRC_URI="https://github.com/atomicobject/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+PATCHES=( "${FILESDIR}/${P}-cmake.patch" )
diff --git a/dev-libs/heatshrink/metadata.xml b/dev-libs/heatshrink/metadata.xml
new file mode 100644
index 000000000000..df9f753c622a
--- /dev/null
+++ b/dev-libs/heatshrink/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>3dprint@gentoo.org</email>
+ <name>Gentoo 3D Printer Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://github.com/atomicobject/heatshrink/issues</bugs-to>
+ <remote-id type="github">atomicobject/heatshrink</remote-id>
+ </upstream>
+</pkgmetadata>