commit:     5fbfd251026407e1f93c7542e3828bafce981a52
Author:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  1 12:14:01 2024 +0000
Commit:     Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
CommitDate: Thu Feb  1 13:02:14 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5fbfd251

dev-libs/heatshrink: new package, add 0.4.1

Signed-off-by: Alexey Shvetsov <alexxy <AT> gentoo.org>

 dev-libs/heatshrink/Manifest                       |   1 +
 .../heatshrink/files/heatshrink-0.4.1-cmake.patch  | 108 +++++++++++++++++++++
 dev-libs/heatshrink/heatshrink-0.4.1.ebuild        |  16 +++
 dev-libs/heatshrink/metadata.xml                   |  16 +++
 4 files changed, 141 insertions(+)

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>3dpr...@gentoo.org</email>
+               <name>Gentoo 3D Printer Project</name>
+       </maintainer>
+       <maintainer type="person">
+               <email>ale...@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>

Reply via email to