commit ff3ec8e26af6ad26c35dbde556c4383903b18709 Author: EnumDev Date: Wed Jul 8 17:05:02 2026 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..9d96df7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# Ignore BPM archives and signatures +*.bpm +*.bpm.sig diff --git a/check-version.sh b/check-version.sh new file mode 100644 index 0000000..4e7863f --- /dev/null +++ b/check-version.sh @@ -0,0 +1,9 @@ +#!/bin/bash + +# Github repository +REPO="dscharrer/innoextract" + +# Get tag name using Github Rest API +TAG_NAME=$(curl -s -L -H "X-GitHub-Api-Version: 2022-11-28" -H "Authorization: token ${GITHUB_API_TOKEN}" https://api.github.com/repos/"$REPO"/releases/latest | jq -r '.tag_name') + +echo "$TAG_NAME" diff --git a/info.yml b/info.yml new file mode 100644 index 0000000..8ba85bc --- /dev/null +++ b/info.yml @@ -0,0 +1,20 @@ +name: innoextract +description: A tool to extract installers created by Inno Setup +version: "1.9" +revision: 1 +url: https://constexpr.org/innoextract/ +license: Zlib +maintainers: + - enumdev@enumerated.dev +architecture: any +type: source +downloads: + - url: https://github.com/dscharrer/innoextract/archive/refs/tags/${BPM_PKG_VERSION}.tar.gz + extract_to: ${BPM_SOURCE} + extract_strip_components: 1 + checksum: 576657932e92835343a829c3be1baefc34593d1f84309df93eb1d39a8bb51510 +depends: + - boost + - xz-utils +make_depends: + - cmake diff --git a/recipe.sh b/recipe.sh new file mode 100644 index 0000000..eee89e6 --- /dev/null +++ b/recipe.sh @@ -0,0 +1,34 @@ +# This is the recipe.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +# The prepare function is executed in the root of the temp directory +# This function is used for putting downloaded files to the correct location or applying patches +prepare() { + cd "$BPM_SOURCE" + patch -Np1 -i "$BPM_WORKDIR"/264c2fe6.patch + patch -Np1 -i "$BPM_WORKDIR"/boost-1.89.patch +} + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + export CMAKE_POLICY_VERSION_MINIMUM=3.5 + cmake -B build -DCMAKE_INSTALL_PREFIX=/usr -DBoost_NO_BOOST_CMAKE=ON + cmake --build build +} + +# The check function is executed in the source directory +# This function is used to run tests to verify the package has been compiled correctly +check() { + ctest --test-dir build +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + DESTDIR="$BPM_OUTPUT" cmake --install build + + # Install package license + install -Dm644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/innoextract/LICENSE +} diff --git a/source-files/264c2fe6.patch b/source-files/264c2fe6.patch new file mode 100644 index 0000000..ed3dc09 --- /dev/null +++ b/source-files/264c2fe6.patch @@ -0,0 +1,24 @@ +From 264c2fe6b84f90f6290c670e5f676660ec7b2387 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Bernhard=20Rosenkr=C3=A4nzer?= +Date: Thu, 28 Mar 2024 15:11:40 +0100 +Subject: [PATCH] Fix build with boost 1.85 + +As of boost 1.85-beta1, boost/filesystem/directory.hpp is no longer +implicitly included by boost/filesystem/operations.hpp. Include it +explicitly. +--- + src/stream/slice.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/stream/slice.cpp b/src/stream/slice.cpp +index 12468a38..f7ebe0e5 100644 +--- a/src/stream/slice.cpp ++++ b/src/stream/slice.cpp +@@ -27,6 +27,7 @@ + #include + #include + #include ++#include + #include + + #include "util/console.hpp" diff --git a/source-files/boost-1.89.patch b/source-files/boost-1.89.patch new file mode 100644 index 0000000..765d46f --- /dev/null +++ b/source-files/boost-1.89.patch @@ -0,0 +1,11 @@ +diff -ru innoextract-1.9.orig/CMakeLists.txt innoextract-1.9/CMakeLists.txt +--- innoextract-1.9.orig/CMakeLists.txt 2025-10-17 19:49:01.137657381 +0200 ++++ innoextract-1.9/CMakeLists.txt 2025-10-17 19:49:15.233104679 +0200 +@@ -155,7 +155,6 @@ + iostreams + filesystem + date_time +- system + program_options + ) + list(APPEND LIBRARIES ${Boost_LIBRARIES})