mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
dev-libs/heatshrink: new package, add 0.4.1
Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
This commit is contained in:
1
dev-libs/heatshrink/Manifest
Normal file
1
dev-libs/heatshrink/Manifest
Normal file
@@ -0,0 +1 @@
|
||||
DIST heatshrink-0.4.1.tar.gz 36945 BLAKE2B 526e3f88ddaec8116e5eef1a73a4450454ca808545dfe4a36069be8a0d771ca92c850c51f9b3c3e73f244454ba17d03da8fb0be4849728300c7eb8181e39651e SHA512 bb9610b963da0762b1ac21d0907f3801b525431abff495b66cadc244a2b2b334441de2b14442b722bfeb56cb4459fe4021eae0d0454f9e26a80e6efa11f079d2
|
||||
108
dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch
Normal file
108
dev-libs/heatshrink/files/heatshrink-0.4.1-cmake.patch
Normal file
@@ -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 ()
|
||||
\ В конце файла нет новой строки
|
||||
16
dev-libs/heatshrink/heatshrink-0.4.1.ebuild
Normal file
16
dev-libs/heatshrink/heatshrink-0.4.1.ebuild
Normal file
@@ -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" )
|
||||
16
dev-libs/heatshrink/metadata.xml
Normal file
16
dev-libs/heatshrink/metadata.xml
Normal file
@@ -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>
|
||||
Reference in New Issue
Block a user