aboutsummaryrefslogtreecommitdiffstats
path: root/sysutils
diff options
context:
space:
mode:
authoramdmi3 <amdmi3@FreeBSD.org>2013-01-25 08:41:19 +0800
committeramdmi3 <amdmi3@FreeBSD.org>2013-01-25 08:41:19 +0800
commit465310621798bb0e9deeba05f26aa2a232f69b43 (patch)
tree9cab6e45feedc549d1fb25561c9d5a5e256af8cf /sysutils
parent7ceb44213bcee11e68c68f1b1b72cb8d5fdd9b05 (diff)
downloadfreebsd-ports-gnome-465310621798bb0e9deeba05f26aa2a232f69b43.tar.gz
freebsd-ports-gnome-465310621798bb0e9deeba05f26aa2a232f69b43.tar.zst
freebsd-ports-gnome-465310621798bb0e9deeba05f26aa2a232f69b43.zip
- Add pacman, Arch linux package manager.
pacman is a utility which manages software packages in Linux. It uses simple compressed files as a package format, and maintains a text-based package database (more of a hierarchy), just in case some hand tweaking is necessary. pacman does not strive to "do everything." It will add, remove and upgrade packages in the system, and it will allow you to query the package database for installed packages, files and owners. It also attempts to handle dependencies automatically and can download packages from a remote server. WWW: https://www.archlinux.org/pacman/
Diffstat (limited to 'sysutils')
-rw-r--r--sysutils/Makefile1
-rw-r--r--sysutils/pacman/Makefile102
-rw-r--r--sysutils/pacman/distinfo2
-rw-r--r--sysutils/pacman/files/pkg-message.in8
-rw-r--r--sysutils/pacman/pkg-deinstall15
-rw-r--r--sysutils/pacman/pkg-descr12
-rw-r--r--sysutils/pacman/pkg-plist120
7 files changed, 260 insertions, 0 deletions
diff --git a/sysutils/Makefile b/sysutils/Makefile
index 92c6cebf34be..75d5a600b5fd 100644
--- a/sysutils/Makefile
+++ b/sysutils/Makefile
@@ -641,6 +641,7 @@
SUBDIR += p5-ZConf-Cron
SUBDIR += p5-arclog
SUBDIR += p5-reslog
+ SUBDIR += pacman
SUBDIR += paicc
SUBDIR += pam_mount
SUBDIR += parallel
diff --git a/sysutils/pacman/Makefile b/sysutils/pacman/Makefile
new file mode 100644
index 000000000000..a0ef72269ade
--- /dev/null
+++ b/sysutils/pacman/Makefile
@@ -0,0 +1,102 @@
+# Created by: Dmitry Marakasov <amdmi3@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME= pacman
+PORTVERSION= 4.0.3
+CATEGORIES= sysutils
+MASTER_SITES= ftp://ftp.archlinux.org/other/pacman/ \
+ http://mirror.amdmi3.ru/distfiles/
+
+MAINTAINER= amdmi3@FreeBSD.org
+COMMENT= Package manager from ArchLinux
+
+LICENSE= GPLv2
+LICENSE_FILE= ${WRKSRC}/COPYING
+
+BUILD_DEPENDS= asciidoc:${PORTSDIR}/textproc/asciidoc \
+ gm4:${PORTSDIR}/devel/m4
+
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+MAKE_JOBS_SAFE= yes
+CONFIGURE_ARGS= --with-root-dir="${PACMAN_ROOT}" \
+ --localstatedir=/var
+USE_LDCONFIG= yes
+
+CFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+
+SUB_FILES= pkg-message
+SUB_LIST= PACMAN_ROOT="${PACMAN_ROOT}"
+PLIST_SUB= PACMAN_ROOT="${PACMAN_ROOT}"
+
+PACMAN_ROOT?= "${PREFIX}/pacman"
+
+PORTEXAMPLES= *
+
+MAN3= libalpm.3
+MAN5= PKGBUILD.5 makepkg.conf.5 pacman.conf.5
+MAN8= makepkg.8 pacman-key.8 pacman.8 pkgdelta.8 repo-add.8 vercmp.8
+MLINKS= repo-add.8 repo-remove.8
+
+OPTIONS_DEFINE= CURL GPGME EXAMPLES NLS
+OPTIONS_DEFAULT=CURL GPGME EXAMPLES NLS
+CURL_DESC= Use libcurl fetcher instead of external curl/wget
+GPGME_DESC= Use GPGME for PGP signature verification
+
+.include <bsd.port.options.mk>
+
+.if ${OSVERSION} < 800000
+IGNORE= does not build on < 8.x
+.endif
+
+.if ${PORT_OPTIONS:MCURL}
+CONFIGURE_ARGS+=--with-libcurl=${LOCALBASE}
+LIB_DEPENDS+= curl:${PORTSDIR}/ftp/curl
+.else
+CONFIGURE_ARGS+=--without-libcurl
+.endif
+
+.if ${PORT_OPTIONS:MGPGME}
+CONFIGURE_ARGS+=--with-gpgme
+LIB_DEPENDS+= gpgme:${PORTSDIR}/security/gpgme
+CFLAGS+= -I${LOCALBASE}/include/gpgme
+.endif
+
+.if ${PORT_OPTIONS:MNLS}
+USE_GETTEXT= yes
+PLIST_SUB+= NLS=""
+.else
+CONFIGURE_ARGS+=--disable-nls
+PLIST_SUB+= NLS="@comment "
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|m4|gm4|' ${WRKSRC}/scripts/Makefile.in
+ @${REINPLACE_CMD} -e '/INSTALL_DATA.*sysconfdir/ d' ${WRKSRC}/etc/Makefile.in
+.for tool in curl wget rsync lftpget
+ @${REINPLACE_CMD} -e 's|/usr/bin/${tool}|${LOCALBASE}/bin/${tool}|' \
+ ${WRKSRC}/etc/pacman.conf.in ${WRKSRC}/etc/makepkg.conf.in
+.endfor
+.if ${ARCH} == "i386"
+ @${REINPLACE_CMD} -e '/^Architecture/ s|auto|i686|' ${WRKSRC}/etc/pacman.conf.in
+.endif
+.if ${ARCH} == "amd64"
+ @${REINPLACE_CMD} -e '/^Architecture/ s|auto|x86_64|' ${WRKSRC}/etc/pacman.conf.in
+.endif
+
+post-install:
+.for f in makepkg.conf pacman.conf
+ ${INSTALL_DATA} ${WRKSRC}/etc/${f} ${PREFIX}/etc/${f}.dist
+ if [ ! -f ${PREFIX}/etc/${f} ]; then \
+ ${INSTALL_DATA} ${PREFIX}/etc/${f}.dist ${PREFIX}/etc/${f}; \
+ fi
+.endfor
+.if ${PORT_OPTIONS:MEXAMPLES}
+ ${MKDIR} ${EXAMPLESDIR}
+ ${INSTALL_DATA} ${WRKSRC}/doc/PKGBUILD-example.txt ${EXAMPLESDIR}/
+.endif
+ ${MKDIR} ${PACMAN_ROOT}
+ ${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.mk>
diff --git a/sysutils/pacman/distinfo b/sysutils/pacman/distinfo
new file mode 100644
index 000000000000..3de8194ad057
--- /dev/null
+++ b/sysutils/pacman/distinfo
@@ -0,0 +1,2 @@
+SHA256 (pacman-4.0.3.tar.gz) = a48696ae51aaccf31a69ea7916ba9b06e7836eb933b8a281c666729c9d55ce25
+SIZE (pacman-4.0.3.tar.gz) = 1961839
diff --git a/sysutils/pacman/files/pkg-message.in b/sysutils/pacman/files/pkg-message.in
new file mode 100644
index 000000000000..12e67c71134e
--- /dev/null
+++ b/sysutils/pacman/files/pkg-message.in
@@ -0,0 +1,8 @@
+Default pacman root directory (the one it will install packages into) is
+
+ %%PACMAN_ROOT%%
+
+To change it (and to define package repositories to use), see
+
+ %%PREFIX%%/etc/pacman.conf
+
diff --git a/sysutils/pacman/pkg-deinstall b/sysutils/pacman/pkg-deinstall
new file mode 100644
index 000000000000..d63c68edb5c9
--- /dev/null
+++ b/sysutils/pacman/pkg-deinstall
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+case $2 in
+DEINSTALL)
+ echo ""
+ echo "To completely remove the port, please remove the following"
+ echo "directories and the content manualy:"
+ echo ""
+ echo "/var/lib/pacman prefix/var/cache/pacman"
+ echo ""
+ ;;
+esac
diff --git a/sysutils/pacman/pkg-descr b/sysutils/pacman/pkg-descr
new file mode 100644
index 000000000000..6aaac9b75541
--- /dev/null
+++ b/sysutils/pacman/pkg-descr
@@ -0,0 +1,12 @@
+pacman is a utility which manages software packages in Linux. It
+uses simple compressed files as a package format, and maintains a
+text-based package database (more of a hierarchy), just in case
+some hand tweaking is necessary.
+
+pacman does not strive to "do everything." It will add, remove and
+upgrade packages in the system, and it will allow you to query the
+package database for installed packages, files and owners. It also
+attempts to handle dependencies automatically and can download
+packages from a remote server.
+
+WWW: https://www.archlinux.org/pacman/
diff --git a/sysutils/pacman/pkg-plist b/sysutils/pacman/pkg-plist
new file mode 100644
index 000000000000..7ac9102bc76f
--- /dev/null
+++ b/sysutils/pacman/pkg-plist
@@ -0,0 +1,120 @@
+bin/cleanupdelta
+bin/makepkg
+bin/pacman
+bin/pacman-db-upgrade
+bin/pacman-key
+bin/pacman-optimize
+bin/pacsort
+bin/pactree
+bin/pkgdelta
+bin/rankmirrors
+bin/repo-add
+bin/repo-elephant
+bin/repo-remove
+bin/testdb
+bin/testpkg
+bin/vercmp
+@unexec if cmp -s %D/etc/makepkg.conf.dist %D/etc/makepkg.conf; then rm -f %D/etc/makepkg.conf; fi
+etc/makepkg.conf.dist
+@exec if [ ! -f %B/makepkg.conf ]; then cp -p %D/%F %B/makepkg.conf; fi
+@unexec if cmp -s %D/etc/pacman.conf.dist %D/etc/pacman.conf; then rm -f %D/etc/pacman.conf; fi
+etc/pacman.conf.dist
+@exec if [ ! -f %B/pacman.conf ]; then cp -p %D/%F %B/pacman.conf; fi
+include/alpm.h
+include/alpm_list.h
+lib/libalpm.a
+lib/libalpm.la
+lib/libalpm.so
+lib/libalpm.so.7
+%%NLS%%share/locale/ca/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/ca/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/ca/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/cs/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/da/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/da/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/da/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/de/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/de/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/de/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/el/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/el/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/el/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/en_GB/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/en_GB/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/en_GB/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/es/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/es/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/es/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/fi/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/fr/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/hu/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/hu/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/hu/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/it/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/it/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/it/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/kk/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/kk/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/kk/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/lt/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/nb/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/nb/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/nb/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/pl/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/pt/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/pt_BR/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/ro/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/ru/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/sk/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/sk/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/sk/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/sr/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/sr@latin/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/sr@latin/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/sr@latin/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/sv/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/tr/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/uk/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/zh_CN/LC_MESSAGES/pacman.mo
+%%NLS%%share/locale/zh_TW/LC_MESSAGES/libalpm.mo
+%%NLS%%share/locale/zh_TW/LC_MESSAGES/pacman-scripts.mo
+%%NLS%%share/locale/zh_TW/LC_MESSAGES/pacman.mo
+%%NLS%%@dirrm share/locale/sr@latin/LC_MESSAGES
+%%NLS%%@dirrm share/locale/sr@latin
+%%NLS%%@dirrm share/locale/kk/LC_MESSAGES
+%%NLS%%@dirrm share/locale/kk
+%%DATADIR%%/ChangeLog.proto
+%%DATADIR%%/PKGBUILD-split.proto
+%%DATADIR%%/PKGBUILD.proto
+%%DATADIR%%/proto.install
+@dirrm %%DATADIR%%
+@exec mkdir -p %%PACMAN_ROOT%%
+@unexec rmdir %%PACMAN_ROOT%% 2>/dev/null || true