blob: 24be93d9308d18e982ee954e21a0a0dd92ed9839 [file] [log] [blame]
# Maintainer: Renato Silva <br.renatosilva@gmail.com>
_realname='nsis'
pkgbase="mingw-w64-${_realname}"
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=3.06.1
pkgrel=1
url='https://nsis.sourceforge.io/'
pkgdesc='Windows installer development tool (mingw-w64)'
license=(ZLIB)
arch=(any)
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
depends=(${MINGW_PACKAGE_PREFIX}-zlib
${MINGW_PACKAGE_PREFIX}-gcc-libs
${MINGW_PACKAGE_PREFIX}-libwinpthread)
makedepends=(${MINGW_PACKAGE_PREFIX}-gcc
'dos2unix'
'scons>=2.3.4-3'
rsync)
source=("https://sourceforge.net/projects/nsis/files/NSIS%203/${pkgver}/${_realname}-${pkgver}-src.tar.bz2"
001-fhs-directory-structure.patch
002-compile-fixes.patch
003-remove-redundant-architecture-suffix.patch
004-fix-jump-to-label-error.patch
005-fix-call-to-non-constexpr-function.patch
py3-fixes.patch)
sha256sums=('9b5d68bf1874a7b393432410c7e8c376f174d2602179883845d2508152153ff0'
'a2719915676106bc0c545fca6d5871c96044c7e4ba8c95ea5ca03a0a49b2b6e3'
'4b94e5f5979ea13e19a37606ec5861dfdc0004b9e4eaf984e4aae4a7fe5e85b7'
'f43af517d7821084335a38bce15c7644cc114c71cf6f8ab860aa4d9322795343'
'44d854b1d54befeb381ec8712a8baf624d08b014bdf1f1da18a8af2f77d4b8f4'
'c07e7c13ebcfe38495dfdb886f2cea363e5a8a1c17bd786ece0f15625ac3f864'
'b3a31606df9dbce9fd0b4e6b3f4b2655f8695f945bb391be35a90bd39e109a02')
# Circumvent problem where makepkg will add the exe extension to some files
# when compressing the 64-bit package
options=('!strip')
consolidate() {
msg2 'Converting to unix line breaks'
find -name 'SConstruct' | xargs dos2unix --quiet
find -name 'SConscript' | xargs dos2unix --quiet
find -name '*.[ch]' | xargs dos2unix --quiet
find -name '*.cpp' | xargs dos2unix --quiet
find -name '*.py' | xargs dos2unix --quiet
}
prepare() {
cd "${srcdir}/${_realname}-${pkgver}-src"
consolidate
patch -p1 -i "${srcdir}"/001-fhs-directory-structure.patch
patch -p1 -i "${srcdir}"/002-compile-fixes.patch
patch -p1 -i "${srcdir}"/003-remove-redundant-architecture-suffix.patch
#patch -p1 -i "${srcdir}"/004-fix-jump-to-label-error.patch
patch -p1 -i "${srcdir}"/005-fix-call-to-non-constexpr-function.patch
patch -p1 -i "${srcdir}"/py3-fixes.patch
}
_build() {
local target_arch="${CARCH/i686/x86}"
target_arch="${target_arch/x86_64/amd64}"
local arrVer=(${pkgver//./ })
local arrLen=${#arrVer[@]}
local major_version=${arrVer[0]}
local minor_version=${arrVer[1]}
local revision_version='0'
local build_version='0'
if ((arrLen > 2)); then
revision_version=${arrVer[2]}
if ((arrLen > 3)); then
build_version=${arrVer[3]}
fi
fi
minor_version="${minor_version%%[a-z]*}"
msg2 "Version parts ${arrLen}"
msg2 "Major version defined as ${major_version}"
msg2 "Minor version defined as ${minor_version}"
msg2 "Revision version defined as ${revision_version}"
msg2 "Build version defined as ${build_version}"
cd "${srcdir}/build-${CARCH}-${_realname}-${pkgver}"
scons \
TARGET_ARCH="${target_arch}" \
PREFIX="${MINGW_PREFIX}" \
VERSION="${pkgver}" \
VER_MAJOR="${major_version}" \
VER_MINOR="${minor_version}" \
VER_REVISION="${revision_version}" \
VER_BUILD="${build_version}" \
UNICODE='yes' \
NSIS_MAX_STRLEN='8192' \
NSIS_CONFIG_CONST_DATA_PATH='no' \
SKIPUTILS='NSIS Menu,SubStart' \
PREFIX_DEST="${PREFIX_DEST}" \
NSIS_CONFIG_LOG='yes' \
${target}
}
build() {
msg2 'Synchronizing build directory'
rsync --recursive --times "${srcdir}/${_realname}-${pkgver}-src"/* "${srcdir}/build-${CARCH}-${_realname}-${pkgver}"
_build
}
package() {
PREFIX_DEST="${pkgdir}" target='install' _build
install -Dm644 "${pkgdir}${MINGW_PREFIX}/share/doc/nsis/COPYING" "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
rm "${pkgdir}${MINGW_PREFIX}/share/doc/nsis/COPYING"
}