diff --git a/contrib/scripts/install_prereq b/contrib/scripts/install_prereq
index dae8dee682ab1b3bfa051995689f6ad86fb706ab..e588d5cd14c49e9c4bd9cf59c69475312f2e892b 100755
--- a/contrib/scripts/install_prereq
+++ b/contrib/scripts/install_prereq
@@ -66,6 +66,22 @@ PACKAGES_SUSE="$PACKAGES_SUSE wget subversion"
 # Asterisk: for ./configure --with-pjproject-bundled:
 PACKAGES_SUSE="$PACKAGES_SUSE bzip2 patch python-devel"
 
+# Basic build system:
+PACKAGES_ARCH="make gcc pkg-config"
+# Asterisk: basic requirements:
+PACKAGES_ARCH="$PACKAGES_ARCH libedit jansson libutil-linux libxml2 sqlite"
+# Asterisk: for addons:
+PACKAGES_ARCH="$PACKAGES_ARCH speex speexdsp libogg libvorbis alsa-lib portaudio curl xmlstarlet bison flex"
+PACKAGES_ARCH="$PACKAGES_ARCH postgresql-libs unixodbc libtool neon gmime lua uriparser libxslt openssl"
+PACKAGES_ARCH="$PACKAGES_ARCH libmariadbclient bluez-libs radcli freetds bash"
+PACKAGES_ARCH="$PACKAGES_ARCH net-snmp libnewt popt libical spandsp"
+PACKAGES_ARCH="$PACKAGES_ARCH c-client binutils libsrtp gsm doxygen graphviz zlib libldap"
+PACKAGES_ARCH="$PACKAGES_ARCH fftw libsndfile unbound"
+# Asterisk: for the unpackaged below:
+PACKAGES_ARCH="$PACKAGES_ARCH wget subversion"
+# Asterisk: for ./configure --with-pjproject-bundled:
+PACKAGES_ARCH="$PACKAGES_ARCH bzip2 patch python2"
+
 # Basic build system:
 PACKAGES_NBSD="gmake pkg-config"
 # Asterisk: basic requirements:
@@ -163,6 +179,15 @@ check_installed_rpms() {
 	done
 }
 
+check_installed_pacman() {
+	for pack in "$@"
+	do
+		if ! pacman -Q --explicit $pack >/dev/null 2>/dev/null
+		then echo $pack
+		fi
+	done
+}
+
 check_installed_pkgs() {
 	for pack in "$@"
 	do
@@ -208,6 +233,13 @@ handle_rh() {
 	fi
 }
 
+handle_arch() {
+	extra_packs=`check_installed_pacman $PACKAGES_ARCH`
+	if [ x"$extra_packs" != "x" ] ; then
+		$testcmd pacman -S --asexplicit --noconfirm $extra_packs
+	fi
+}
+
 handle_nbsd() {
 	extra_packs=`check_installed_pkgs $PACKAGES_NBSD`
 	if [ x"$extra_packs" != "x" ] ; then
@@ -334,6 +366,10 @@ elif [ -f /etc/SuSE-release -o -f /etc/novell-release ]; then
 	handle_SUSE
 elif [ -f /etc/os-release ] && . /etc/os-release && [ "$ID" = "opensuse" ]; then
 	handle_SUSE
+elif [ -r /etc/arch-release ]; then
+	handle_arch
+elif [ -f /etc/os-release ] && . /etc/os-release && [ "$ID_LIKE" = "archlinux" ]; then
+	handle_arch # $ID=arch
 elif [ "$OS" = 'NetBSD' ]; then
 	handle_nbsd
 elif [ "$OS" = 'OpenBSD' ]; then