PKGBUILDs/extra/erlang/PKGBUILD

98 lines
3.7 KiB
Bash
Raw Normal View History

2018-07-11 13:50:46 +00:00
# Maintainer: Alexander F. Rødseth <xyproto@archlinux.org>
2021-01-11 15:00:25 +00:00
# Contributor: loqs
2018-07-11 13:50:46 +00:00
# Contributor: Lukas Fleischer <lfleischer@archlinux.org>
# Contributor: Vesa Kaihlavirta <vesa@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor: Tom Burdick <thomas.burdick@wrightwoodtech.com>
# Contributor: Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - configure with --disable-pgo to fix ARM FTBFS
pkgbase=erlang
2018-11-27 13:31:01 +00:00
pkgname=(erlang erlang-unixodbc)
2024-03-12 12:49:25 +00:00
pkgver=26.2.3
2023-12-16 23:49:41 +00:00
pkgrel=1
2023-09-22 12:49:56 +00:00
_docver=26.1
2023-12-16 23:49:41 +00:00
# https://github.com/erlang/otp/tags
2024-03-12 12:49:25 +00:00
_commit=928d03e6da416208fce7b9a7dbbfbb4f25d26c37 # OTP-26.2.3
2018-11-27 13:31:01 +00:00
arch=(x86_64)
2021-05-12 20:23:49 +00:00
url='https://erlang.org'
2019-03-13 19:43:03 +00:00
license=(Apache)
2022-07-15 00:20:47 +00:00
makedepends=(fop git glu java-environment libxslt lksctp-tools mesa perl unixodbc wxwidgets-gtk3)
2022-01-26 13:56:42 +00:00
options=(staticlibs)
2021-05-12 20:23:49 +00:00
source=(epmd.conf
2020-12-22 16:18:25 +00:00
epmd.service
2021-05-12 20:23:49 +00:00
epmd.socket
"$url/download/otp_doc_man_$_docver.tar.gz"
2023-12-16 23:49:41 +00:00
"git+https://github.com/erlang/otp#commit=$_commit")
2021-05-12 20:23:49 +00:00
b2sums=('1675ac9bf948ab19e8b63077d870ccf356fcdbce14de2777f00b3488aa1ce34a5e0a5cdc0428707f744dee5940b12653a44e0ded0554de95ebb31bce4676ff87'
'1f765318bcd322ce697a48c064ccdb1bd107b4a84e164a87f62678391cb82a9ab17a397d679cf266e037a5a2d91772b85f7a97f9cc5478c0f18118743b30045f'
'c37706f5f6e2d49100104fb442ebf15edd6ee0a1e8038d0364794cf34fd3f02a61b9ad2706228b3327b85b0cadcd11aac6087e7c98408eae2d307a09191b6553'
2023-09-22 12:49:56 +00:00
'2eed8963d425fe5ff3cd02eeacfd0eb86051225578613e374b71818a91e4f0b6953c4297a06ee59803d9421730c93871660ce66150a13d808f122a6f84f74f2a'
2021-05-12 20:23:49 +00:00
'SKIP')
2018-07-11 13:50:46 +00:00
prepare() {
2022-01-26 01:50:42 +00:00
# adjust how LDFLAGS are handled
2023-03-17 21:22:35 +00:00
sed -i 's/^LDFLAGS = /LDFLAGS += /g' otp/lib/{odbc/c_src,megaco/src/flex}/Makefile.in
2023-12-07 19:01:15 +00:00
# let the Java bindings support version 11 or later, ref https://gitlab.archlinux.org/archlinux/packaging/packages/erlang/-/issues/1
sed -i 's/^JAVA_OPTIONS =/JAVA_OPTIONS = --release 11/g' otp/lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
2018-07-11 13:50:46 +00:00
}
build() {
2022-01-26 13:56:42 +00:00
#export CFLAGS+=' -ffat-lto-objects'
2021-05-12 20:23:49 +00:00
cd otp
./otp_build autoconf
2018-07-11 13:50:46 +00:00
./configure \
2023-06-12 12:28:16 +00:00
--enable-threads \
--enable-shared-zlib \
--enable-ssl=dynamic-ssl-lib \
2021-05-12 20:23:49 +00:00
--prefix=/usr \
2019-03-13 19:43:03 +00:00
--with-odbc \
2018-07-11 13:50:46 +00:00
--disable-pgo
2024-03-12 12:49:25 +00:00
DOC_TARGETS=chunks make all
DOC_TARGETS=chunks make docs
2018-07-11 13:50:46 +00:00
}
package_erlang() {
pkgdesc='General-purpose concurrent functional programming language developed by Ericsson'
2022-07-15 00:20:47 +00:00
depends=(glu ncurses openssl webkit2gtk wxwidgets-gtk3)
2018-07-11 13:50:46 +00:00
optdepends=('erlang-unixodbc: database support'
'java-environment: for Java support'
'lksctp-tools: for SCTP support')
2019-03-13 19:43:03 +00:00
provides=(erlang-nox)
conflicts=(erlang-nox)
2018-07-11 13:50:46 +00:00
2020-12-22 16:18:25 +00:00
export PATH="$srcdir/bin:$PATH"
2023-02-03 00:03:25 +00:00
make -C otp DESTDIR="$pkgdir" DOC_TARGETS=chunks install install-docs
2018-07-11 13:50:46 +00:00
# move files that belong to the erlang-unixodbc package
mkdir -p unixodbc
mv "$pkgdir/usr/lib/erlang/lib/odbc"* "$srcdir/unixodbc/"
# services and configuration
install -Dm644 epmd.service "$pkgdir/usr/lib/systemd/system/epmd.service"
install -Dm644 epmd.socket "$pkgdir/usr/lib/systemd/system/epmd.socket"
install -Dm644 epmd.conf "$pkgdir/etc/conf.d/epmd"
# readme and licenses
install -Dm644 otp/README.md "$pkgdir/usr/share/doc/$pkgname/README.md"
install -Dm644 otp/LICENSE.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
2021-04-06 13:00:32 +00:00
install -Dm644 otp/CONTRIBUTING.md "$pkgdir/usr/share/doc/$pkgname/CONTRIBUTING.md"
install -Dm644 otp/AUTHORS "$pkgdir/usr/share/doc/$pkgname/AUTHORS"
2018-07-11 13:50:46 +00:00
# man pages
2022-07-31 14:40:25 +00:00
cp -r -v man "$pkgdir/usr/lib/erlang/"
2018-07-11 13:50:46 +00:00
}
package_erlang-unixodbc() {
pkgdesc='Unixodbc support for Erlang'
2020-09-26 00:16:15 +00:00
depends=(erlang-nox unixodbc)
2018-07-11 13:50:46 +00:00
install -d "$pkgdir/usr/lib/erlang/lib"
mv unixodbc/* "$pkgdir/usr/lib/erlang/lib/"
install -Dm644 otp/LICENSE.txt \
"$pkgdir/usr/share/licenses/$pkgname/LICENCE.txt"
}