mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-09 00:17:31 +00:00
554 lines
12 KiB
Bash
554 lines
12 KiB
Bash
# Maintainer: Alexander F. Rødseth <xyproto@archlinux.org>
|
|
# Contributor: loqs
|
|
# 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
|
|
pkgname=(
|
|
erlang
|
|
erlang-core
|
|
erlang-asn1
|
|
erlang-common_test
|
|
erlang-debugger
|
|
erlang-dialyzer
|
|
erlang-diameter
|
|
erlang-edoc
|
|
erlang-eldap
|
|
erlang-erl_interface
|
|
erlang-et
|
|
erlang-eunit
|
|
erlang-ftp
|
|
erlang-inets
|
|
erlang-jinterface
|
|
erlang-megaco
|
|
erlang-mnesia
|
|
erlang-observer
|
|
erlang-odbc
|
|
erlang-os_mon
|
|
erlang-parsetools
|
|
erlang-public_key
|
|
erlang-reltool
|
|
erlang-runtime_tools
|
|
erlang-sasl
|
|
erlang-snmp
|
|
erlang-ssh
|
|
erlang-ssl
|
|
erlang-syntax_tools
|
|
erlang-tftp
|
|
erlang-tools
|
|
erlang-wx
|
|
erlang-xmerl
|
|
)
|
|
pkgver=27.2.4
|
|
pkgrel=1
|
|
pkgdesc='General-purpose concurrent functional programming language developed by Ericsson'
|
|
arch=(x86_64)
|
|
url='https://erlang.org/'
|
|
license=(Apache-2.0)
|
|
makedepends=(
|
|
gcc-libs
|
|
git
|
|
glib2
|
|
glibc
|
|
glu
|
|
java-environment
|
|
libglvnd
|
|
libxslt
|
|
lksctp-tools
|
|
mesa
|
|
ncurses
|
|
openssl
|
|
perl
|
|
unixodbc
|
|
webkit2gtk-4.1
|
|
wxwidgets-common
|
|
wxwidgets-gtk3
|
|
zlib
|
|
)
|
|
conflicts=(erlang-nox)
|
|
options=(staticlibs)
|
|
source=(
|
|
"git+https://github.com/erlang/otp#tag=OTP-$pkgver"
|
|
epmd.conf
|
|
epmd.service
|
|
epmd.socket
|
|
)
|
|
b2sums=('b4afb10d31918bdce40dc71acae4fd0fc872166730f1fa72eec4fb31a933248622500578405b8da25c43e81040de714449aa5783bd848958799266f72db47219'
|
|
'1675ac9bf948ab19e8b63077d870ccf356fcdbce14de2777f00b3488aa1ce34a5e0a5cdc0428707f744dee5940b12653a44e0ded0554de95ebb31bce4676ff87'
|
|
'1f765318bcd322ce697a48c064ccdb1bd107b4a84e164a87f62678391cb82a9ab17a397d679cf266e037a5a2d91772b85f7a97f9cc5478c0f18118743b30045f'
|
|
'c37706f5f6e2d49100104fb442ebf15edd6ee0a1e8038d0364794cf34fd3f02a61b9ad2706228b3327b85b0cadcd11aac6087e7c98408eae2d307a09191b6553')
|
|
|
|
prepare() {
|
|
cd otp
|
|
sed -i 's/^LDFLAGS = /LDFLAGS += /g' \
|
|
lib/megaco/src/flex/Makefile.in \
|
|
lib/odbc/c_src/Makefile.in
|
|
# 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' \
|
|
lib/jinterface/java_src/com/ericsson/otp/erlang/Makefile
|
|
}
|
|
|
|
build() {
|
|
cd otp
|
|
#export CFLAGS+=' -ffat-lto-objects'
|
|
./configure \
|
|
--enable-threads \
|
|
--enable-shared-zlib \
|
|
--enable-ssl=dynamic-ssl-lib \
|
|
--with-ssl-rpath=/usr/lib \
|
|
--prefix=/usr \
|
|
--disable-pgo
|
|
|
|
make all
|
|
make DOC_TARGETS="chunks man" docs
|
|
}
|
|
|
|
_pick() {
|
|
local dest="$1"
|
|
shift
|
|
for obj in "$@"; do
|
|
mkdir -p "$dest/$(dirname "$obj")/"
|
|
mv -v -t "$dest/$(dirname "$obj")/" "$obj"
|
|
done
|
|
}
|
|
|
|
package_erlang() {
|
|
depends=(
|
|
erlang-asn1
|
|
erlang-common_test
|
|
erlang-core
|
|
erlang-debugger
|
|
erlang-dialyzer
|
|
erlang-diameter
|
|
erlang-edoc
|
|
erlang-eldap
|
|
erlang-erl_interface
|
|
erlang-et
|
|
erlang-eunit
|
|
erlang-ftp
|
|
erlang-inets
|
|
erlang-jinterface
|
|
erlang-megaco
|
|
erlang-mnesia
|
|
erlang-observer
|
|
erlang-odbc
|
|
erlang-os_mon
|
|
erlang-parsetools
|
|
erlang-public_key
|
|
erlang-reltool
|
|
erlang-runtime_tools
|
|
erlang-sasl
|
|
erlang-snmp
|
|
erlang-ssh
|
|
erlang-ssl
|
|
erlang-syntax_tools
|
|
erlang-tftp
|
|
erlang-tools
|
|
erlang-wx
|
|
erlang-xmerl
|
|
)
|
|
}
|
|
|
|
package_erlang-core() {
|
|
pkgdesc='Erlang core compenents (compiler, crypto, erts, kernel, stdlib)'
|
|
depends=(
|
|
gcc-libs
|
|
glibc
|
|
lksctp-tools
|
|
ncurses
|
|
openssl
|
|
zlib
|
|
)
|
|
provides=(
|
|
erlang-compiler
|
|
erlang-crypto
|
|
erlang-erts
|
|
erlang-kernel
|
|
erlang-stdlib
|
|
)
|
|
|
|
install -vDm644 -t "$pkgdir/usr/lib/systemd/system" epmd.service epmd.socket
|
|
install -vDm644 epmd.conf "$pkgdir/etc/conf.d/epmd"
|
|
|
|
cd otp
|
|
make DESTDIR="$pkgdir" install install-docs \
|
|
DOC_TARGETS="chunks man" \
|
|
RELSYS_MANDIR="$pkgdir/usr/share/man"
|
|
install -vDm644 -t "$pkgdir/usr/share/doc/$pkgbase" \
|
|
AUTHORS CONTRIBUTING.md README.md
|
|
|
|
# Remove unwanted files
|
|
rm -v \
|
|
"$pkgdir/usr/lib/erlang/Install" \
|
|
"$pkgdir/usr/share/man/man1/.gitignore" \
|
|
"$pkgdir/usr/lib/erlang/misc/format_man_pages" \
|
|
"$pkgdir/usr/share/man/man1/erlsrv.1" \
|
|
"$pkgdir/usr/share/man/man1/werl.1"
|
|
|
|
cd "$pkgdir"
|
|
_pick "$srcdir/erlang-asn1" usr/lib/erlang/lib/asn1-*
|
|
_pick "$srcdir/erlang-common_test" \
|
|
usr/bin/ct_run \
|
|
usr/lib/erlang/bin/ct_run \
|
|
usr/lib/erlang/erts-*/bin/ct_run \
|
|
usr/lib/erlang/lib/common_test-* \
|
|
usr/share/man/man1/ct_run.1
|
|
_pick "$srcdir/erlang-debugger" usr/lib/erlang/lib/debugger-*
|
|
_pick "$srcdir/erlang-diameter" \
|
|
usr/lib/erlang/lib/diameter-* \
|
|
usr/share/man/man1/diameterc.1
|
|
_pick "$srcdir/erlang-dialyzer" \
|
|
usr/bin/dialyzer \
|
|
usr/bin/typer \
|
|
usr/lib/erlang/bin/dialyzer \
|
|
usr/lib/erlang/bin/typer \
|
|
usr/lib/erlang/erts-*/bin/dialyzer \
|
|
usr/lib/erlang/erts-*/bin/typer \
|
|
usr/lib/erlang/lib/dialyzer-* \
|
|
usr/share/man/man1/typer.1
|
|
_pick "$srcdir/erlang-edoc" \
|
|
usr/lib/erlang/lib/edoc-* \
|
|
usr/share/man/man1/edoc.1
|
|
_pick "$srcdir/erlang-eldap" usr/lib/erlang/lib/eldap-*
|
|
_pick "$srcdir/erlang-erl_interface" \
|
|
usr/lib/erlang/lib/erl_interface-* \
|
|
usr/lib/erlang/bin/erl_call \
|
|
usr/lib/erlang/erts-*/bin/erl_call \
|
|
usr/share/man/man1/erl_call.1
|
|
_pick "$srcdir/erlang-et" usr/lib/erlang/lib/et-*
|
|
_pick "$srcdir/erlang-eunit" usr/lib/erlang/lib/eunit-*
|
|
_pick "$srcdir/erlang-ftp" usr/lib/erlang/lib/ftp-*
|
|
_pick "$srcdir/erlang-inets" usr/lib/erlang/lib/inets-*
|
|
_pick "$srcdir/erlang-jinterface" usr/lib/erlang/lib/jinterface-*
|
|
_pick "$srcdir/erlang-megaco" usr/lib/erlang/lib/megaco-*
|
|
_pick "$srcdir/erlang-mnesia" usr/lib/erlang/lib/mnesia-*
|
|
_pick "$srcdir/erlang-observer" \
|
|
usr/lib/erlang/lib/observer-* \
|
|
usr/share/man/man1/cdv.1
|
|
_pick "$srcdir/erlang-odbc" usr/lib/erlang/lib/odbc-*
|
|
_pick "$srcdir/erlang-os_mon" usr/lib/erlang/lib/os_mon-*
|
|
_pick "$srcdir/erlang-parsetools" usr/lib/erlang/lib/parsetools-*
|
|
_pick "$srcdir/erlang-public_key" usr/lib/erlang/lib/public_key-*
|
|
_pick "$srcdir/erlang-reltool" usr/lib/erlang/lib/reltool-*
|
|
_pick "$srcdir/erlang-runtime_tools" usr/lib/erlang/lib/runtime_tools-*
|
|
_pick "$srcdir/erlang-sasl" usr/lib/erlang/lib/sasl-*
|
|
_pick "$srcdir/erlang-snmp" \
|
|
usr/lib/erlang/lib/snmp-* \
|
|
usr/share/man/man1/snmpc.1
|
|
_pick "$srcdir/erlang-ssh" usr/lib/erlang/lib/ssh-*
|
|
_pick "$srcdir/erlang-ssl" usr/lib/erlang/lib/ssl-*
|
|
_pick "$srcdir/erlang-syntax_tools" usr/lib/erlang/lib/syntax_tools-*
|
|
_pick "$srcdir/erlang-tftp" usr/lib/erlang/lib/tftp-*
|
|
_pick "$srcdir/erlang-tools" usr/lib/erlang/lib/tools-*
|
|
_pick "$srcdir/erlang-wx" usr/lib/erlang/lib/wx-*
|
|
_pick "$srcdir/erlang-xmerl" usr/lib/erlang/lib/xmerl-*
|
|
}
|
|
|
|
package_erlang-asn1() {
|
|
pkgdesc='Provides support for Abstract Syntax Notation One'
|
|
depends=(
|
|
erlang-core
|
|
glibc
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-common_test() {
|
|
pkgdesc='A portable framework for automatic testing'
|
|
depends=(
|
|
erlang-core
|
|
erlang-debugger
|
|
erlang-inets
|
|
erlang-observer
|
|
erlang-runtime_tools
|
|
erlang-sasl
|
|
erlang-snmp
|
|
erlang-ssh
|
|
erlang-syntax_tools
|
|
erlang-tools
|
|
erlang-xmerl
|
|
glibc
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-debugger() {
|
|
pkgdesc='A debugger for debugging and testing of Erlang programs'
|
|
depends=(
|
|
erlang-core
|
|
erlang-wx
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-dialyzer() {
|
|
pkgdesc='A DIscrepancy AnaLYZer for ERlang programs'
|
|
depends=(
|
|
erlang-core
|
|
erlang-syntax_tools
|
|
erlang-wx
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-diameter() {
|
|
pkgdesc='Diameter (RFC 3588) library'
|
|
depends=(
|
|
erlang-core
|
|
erlang-runtime_tools
|
|
erlang-ssl
|
|
erlang-syntax_tools
|
|
glibc
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-edoc() {
|
|
pkgdesc='A utility used to generate documentation out of tags in source files'
|
|
depends=(
|
|
erlang-core
|
|
erlang-inets
|
|
erlang-syntax_tools
|
|
erlang-xmerl
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-eldap() {
|
|
pkgdesc='Erlang LDAP library'
|
|
depends=(
|
|
erlang-asn1
|
|
erlang-core
|
|
erlang-ssl
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-erl_interface() {
|
|
pkgdesc='Low level interface to C'
|
|
depends=(
|
|
erlang-core
|
|
glibc
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-et() {
|
|
pkgdesc='An event tracer for Erlang programs'
|
|
depends=(
|
|
erlang-core
|
|
erlang-runtime_tools
|
|
erlang-wx
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-eunit() {
|
|
pkgdesc='Support for unit testing'
|
|
depends=(erlang-core)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-ftp() {
|
|
pkgdesc='FTP client'
|
|
depends=(erlang-core)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-inets() {
|
|
pkgdesc='A set of services such as a Web server and a HTTP client etc'
|
|
depends=(
|
|
erlang-core
|
|
erlang-mnesia
|
|
erlang-runtime_tools
|
|
erlang-ssl
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-jinterface() {
|
|
pkgdesc='A library for accessing Java from Erlang'
|
|
depends=(
|
|
erlang-core
|
|
java-runtime
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-megaco() {
|
|
pkgdesc='Megaco/H.248 support library'
|
|
depends=(
|
|
erlang-asn1
|
|
erlang-core
|
|
erlang-debugger
|
|
erlang-et
|
|
erlang-runtime_tools
|
|
glibc
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-mnesia() {
|
|
pkgdesc='A heavy duty real-time distributed database'
|
|
depends=(erlang-core)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-observer() {
|
|
pkgdesc='A set of tools for tracing and investigation of distributed systems'
|
|
depends=(
|
|
erlang-core
|
|
erlang-et
|
|
erlang-inets
|
|
erlang-runtime_tools
|
|
erlang-wx
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-odbc() {
|
|
pkgdesc='A library for unixODBC support in Erlang'
|
|
depends=(
|
|
erlang-core
|
|
glibc
|
|
unixodbc
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-os_mon() {
|
|
pkgdesc='A monitor which allows inspection of the underlying operating system'
|
|
depends=(
|
|
erlang-core
|
|
erlang-mnesia
|
|
erlang-sasl
|
|
erlang-snmp
|
|
glibc
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-parsetools() {
|
|
pkgdesc='A set of parsing and lexical analysis tools'
|
|
depends=(erlang-core)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-public_key() {
|
|
pkgdesc='API to public key infrastructure'
|
|
depends=(
|
|
erlang-asn1
|
|
erlang-core
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-reltool() {
|
|
pkgdesc='A release management tool'
|
|
depends=(
|
|
erlang-core
|
|
erlang-sasl
|
|
erlang-tools
|
|
erlang-wx
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-runtime_tools() {
|
|
pkgdesc='A set of tools to include in a production system'
|
|
depends=(
|
|
erlang-core
|
|
erlang-mnesia
|
|
glibc
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-sasl() {
|
|
pkgdesc='The System Architecture Support Libraries'
|
|
depends=(
|
|
erlang-core
|
|
erlang-tools
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-snmp() {
|
|
pkgdesc='Simple Network Management Protocol (SNMP) support'
|
|
depends=(
|
|
erlang-core
|
|
erlang-mnesia
|
|
erlang-runtime_tools
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-ssh() {
|
|
pkgdesc='Secure Shell application with sftp and ssh support'
|
|
depends=(
|
|
erlang-core
|
|
erlang-public_key
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-ssl() {
|
|
pkgdesc='Secure Socket Layer support'
|
|
depends=(
|
|
erlang-core
|
|
erlang-inets
|
|
erlang-public_key
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-syntax_tools() {
|
|
pkgdesc='A set of tools for dealing with erlang sources'
|
|
depends=(erlang-core)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-tftp() {
|
|
pkgdesc='TFTP client'
|
|
depends=(erlang-core)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-tools() {
|
|
pkgdesc='A set of programming tools including a coverage analyzer etc'
|
|
depends=(
|
|
erlang-core
|
|
erlang-inets
|
|
erlang-runtime_tools
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-wx() {
|
|
pkgdesc='A library for wxWidgets support in Erlang'
|
|
depends=(
|
|
erlang-core
|
|
gcc-libs
|
|
glib2
|
|
glibc
|
|
glu
|
|
libglvnd
|
|
webkit2gtk-4.1
|
|
wxwidgets-common
|
|
wxwidgets-gtk3
|
|
)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|
|
|
|
package_erlang-xmerl() {
|
|
pkgdesc='Provides support for XML 1.0'
|
|
depends=(erlang-core)
|
|
cp -va -t "$pkgdir" "$pkgname/"*
|
|
}
|