DESCR

Libarchive is a programming library that can create and read several
different streaming archive formats, including most popular tar variants
and several cpio formats. It can also write shar archives and read
ISO9660 CDROM images.

Makefile

# $NetBSD: Makefile,v 1.26 2008/05/25 19:50:05 joerg Exp $
#

DISTNAME= libarchive-2.5.4b
CATEGORIES= archivers
MASTER_SITES= http://people.freebsd.org/~kientzle/libarchive/src/
DISTFILES= # empty

NO_CHECKSUM= yes

MAINTAINER= joerg@NetBSD.org
HOMEPAGE= http://people.freebsd.org/~kientzle/libarchive/
COMMENT= Library to read/create different archive formats

PKG_DESTDIR_SUPPORT= user-destdir

GNU_CONFIGURE= yes
USE_LIBTOOL= yes

CONFIGURE_ARGS+= --disable-bsdtar

do-extract:
${CP} -r ${FILESDIR} ${WRKSRC}

.include "../../archivers/bzip2/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"

PLIST

@comment $NetBSD: PLIST,v 1.6 2007/11/30 21:32:27 joerg Exp $
include/archive.h
include/archive_entry.h
lib/libarchive.la
man/man3/archive_entry.3
man/man3/archive_read.3
man/man3/archive_util.3
man/man3/archive_write.3
man/man3/archive_write_disk.3
man/man3/libarchive_internals.3
man/man3/libarchive.3
man/man5/cpio.5
man/man5/libarchive-formats.5
man/man5/mtree.5
man/man5/tar.5

buildlink3.mk

# $NetBSD: buildlink3.mk,v 1.2 2007/07/29 17:35:14 joerg Exp $

BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH}+
LIBARCHIVE_BUILDLINK3_MK:= ${LIBARCHIVE_BUILDLINK3_MK}+

.if ${BUILDLINK_DEPTH} == "+"
BUILDLINK_DEPENDS+= libarchive
.endif

BUILDLINK_PACKAGES:= ${BUILDLINK_PACKAGES:Nlibarchive}
BUILDLINK_PACKAGES+= libarchive
BUILDLINK_ORDER:= ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}libarchive

.if ${LIBARCHIVE_BUILDLINK3_MK} == "+"
BUILDLINK_API_DEPENDS.libarchive+= libarchive>=2.2
BUILDLINK_PKGSRCDIR.libarchive?= ../../archivers/libarchive
.endif # LIBARCHIVE_BUILDLINK3_MK

.include "../../archivers/bzip2/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"

BUILDLINK_DEPTH:= ${BUILDLINK_DEPTH:S/+$//}

builtin.mk

# $NetBSD: builtin.mk,v 1.2 2008/04/11 20:37:06 joerg Exp $

BUILTIN_PKG:= libarchive

BUILTIN_FIND_FILES_VAR:= H_ARCHIVE
BUILTIN_FIND_FILES.H_ARCHIVE= /usr/include/archive.h

.include "../../mk/buildlink3/bsd.builtin.mk"

###
### Determine if there is a built-in implementation of the package and
### set IS_BUILTIN. appropriately ("yes" or "no").
###
.if !defined(IS_BUILTIN.libarchive)
IS_BUILTIN.libarchive= no
. if empty(H_ARCHIVE:M__nonexistent__) && empty(H_ARCHIVE:M${LOCALBASE}/*)
IS_BUILTIN.libarchive= yes
. endif
.endif
MAKEVARS+= IS_BUILTIN.libarchive

###
### If there is a built-in implementation, then set BUILTIN_PKG. to
### a package name to represent the built-in package.
###
.if !defined(BUILTIN_PKG.libarchive) && \
!empty(IS_BUILTIN.libarchive:M[yY][eE][sS]) && \
empty(H_ARCHIVE:M__nonexistent__)
BUILTIN_VERSION.libarchive!= \
${AWK} '/\#define[ ]*ARCHIVE_LIBRARY_VERSION/ { \
lib_vers = $$4; \
gsub("\"", "", lib_vers); \
if (found == 0) \
found=1; \
} \
/\#define[ ]*ARCHIVE_VERSION_STRING/ { \
vers_str = $$4; \
gsub("\"", "", vers_str); \
found=2; \
} \
END { \
if (!found) \
print; \
else if (found == 1) \
print lib_vers; \
else if (found == 2) \
print vers_str; \
} \
' ${H_ARCHIVE:Q}
. if !empty(BUILTIN_VERSION.libarchive)
BUILTIN_PKG.libarchive= libarchive-${BUILTIN_VERSION.libarchive}
. else
IS_BUILTIN.libarchive= no
. endif
.endif
MAKEVARS+= BUILTIN_PKG.libarchive

###
### Determine whether we should use the built-in implementation if it
### exists, and set USE_BUILTIN. appropriate ("yes" or "no").
###
.if !defined(USE_BUILTIN.libarchive)
. if ${PREFER.libarchive} == "pkgsrc"
USE_BUILTIN.libarchive= no
. else
USE_BUILTIN.libarchive= ${IS_BUILTIN.libarchive}
. if defined(BUILTIN_PKG.libarchive) && \
!empty(IS_BUILTIN.libarchive:M[yY][eE][sS])
USE_BUILTIN.libarchive= yes
. for _dep_ in ${BUILDLINK_API_DEPENDS.libarchive}
. if !empty(USE_BUILTIN.libarchive:M[yY][eE][sS])
USE_BUILTIN.libarchive!= \
if ${PKG_ADMIN} pmatch ${_dep_:Q} ${BUILTIN_PKG.libarchive:Q}; then \
${ECHO} yes; \
else \
${ECHO} no; \
fi
. endif
. endfor
. endif
. endif # PREFER.libarchive
.endif
MAKEVARS+= USE_BUILTIN.libarchive