- 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/
This commit is contained in:
Dmitry Marakasov 2013-01-25 00:41:19 +00:00
parent c86aff0737
commit ee59afdf39
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=310955
7 changed files with 260 additions and 0 deletions

View file

@ -641,6 +641,7 @@
SUBDIR += p5-ZConf-Cron
SUBDIR += p5-arclog
SUBDIR += p5-reslog
SUBDIR += pacman
SUBDIR += paicc
SUBDIR += pam_mount
SUBDIR += parallel

102
sysutils/pacman/Makefile Normal file
View file

@ -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>

2
sysutils/pacman/distinfo Normal file
View file

@ -0,0 +1,2 @@
SHA256 (pacman-4.0.3.tar.gz) = a48696ae51aaccf31a69ea7916ba9b06e7836eb933b8a281c666729c9d55ce25
SIZE (pacman-4.0.3.tar.gz) = 1961839

View file

@ -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

View file

@ -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

12
sysutils/pacman/pkg-descr Normal file
View file

@ -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/

120
sysutils/pacman/pkg-plist Normal file
View file

@ -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