aboutsummaryrefslogtreecommitdiffstats
path: root/sysutils/apt/Makefile
blob: 02c29d792160affb88b8d4b5be04b64a164326bb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# New ports collection makefile for:    apt
# Date created:     23 October 2006
# Whom:         Nick Barkas <snb@threerings.net>
#
# $FreeBSD$

PORTNAME=   apt
PORTVERSION=    0.6.46.4.1
PORTREVISION=   5
CATEGORIES= sysutils
MASTER_SITES=   ${MASTER_SITE_DEBIAN_POOL}
DISTNAME=   apt_0.6.46.4-0.1

MAINTAINER= snb@FreeBSD.org
COMMENT=    Advanced front-end for dpkg

BUILD_DEPENDS=  bash:${PORTSDIR}/shells/bash \
        ${LOCALBASE}/lib/libpub.a:${PORTSDIR}/devel/publib
RUN_DEPENDS=    ${BUILD_DEPENDS} \
        dpkg:${PORTSDIR}/archivers/dpkg \
        gpg:${PORTSDIR}/security/gnupg1
LIB_DEPENDS=    curl.6:${PORTSDIR}/ftp/curl

GNU_CONFIGURE=  yes
USE_GMAKE=  yes
USE_ICONV=  yes
USE_GETTEXT=    yes
USE_BDB=    44+
USE_LDCONFIG=   yes
NO_FILTER_SHLIBS=   yes
CPPFLAGS+=  -I${LOCALBASE}/include/db${BDB_VER} -I${LOCALBASE}/include
LDFLAGS+=   -L${LOCALBASE}/lib/db${BDB_VER} -L${LOCALBASE}/lib
CONFIGURE_ENV+= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
WRKSRC=     ${WRKDIR}/apt-${PORTVERSION}

MAN1=       apt-extracttemplates.1 apt-ftparchive.1 apt-sortpkgs.1
MAN5=       apt.conf.5 apt_preferences.5 sources.list.5
MAN8=       apt-cache.8 apt-cdrom.8 apt-config.8 apt-get.8 apt-key.8 apt-secure.8

DPKGDIR?=   /var/db/dpkg
APTDIR?=    /var/db/apt
PLIST_SUB+= APTDIR=${APTDIR:C,^/,,}

post-patch:
    ${CP} ${FILESDIR}/https.cc ${FILESDIR}/https.h ${WRKSRC}/methods/
    ${REINPLACE_CMD} -e 's|@PREFIX@|${PREFIX}|g' -e \
    's|@APTDIR@|${APTDIR}|g' -e 's|@DPKGDIR@|${DPKGDIR}|g' -e \
    's|@LOCALBASE@|${LOCALBASE}|g' \
        ${WRKSRC}/apt-pkg/deb/debsystem.cc \
        ${WRKSRC}/apt-pkg/init.cc \
        ${WRKSRC}/cmdline/apt-key \
        ${WRKSRC}/dselect/install \
        ${WRKSRC}/dselect/setup \
        ${WRKSRC}/dselect/update \
        ${WRKSRC}/methods/gpgv.cc

do-install:
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-cache ${PREFIX}/bin
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-cdrom ${PREFIX}/bin
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-config ${PREFIX}/bin
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-extracttemplates ${PREFIX}/bin
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-ftparchive ${PREFIX}/bin
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-get ${PREFIX}/bin
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/apt-sortpkgs ${PREFIX}/bin
    ${INSTALL_SCRIPT} ${WRKSRC}/bin/apt-key ${PREFIX}/bin

    ${INSTALL_DATA} ${WRKSRC}/bin/libapt-inst.so.1.1.0 ${PREFIX}/lib
    (cd ${PREFIX}/lib; ${LN} -sf libapt-inst.so.1.1.0 libapt-inst.so.1.1; ${LN} -sf libapt-inst.so.1.1.0 libapt-inst.so)
    ${INSTALL_DATA} ${WRKSRC}/bin/libapt-pkg.so.3.11.0 ${PREFIX}/lib
    (cd ${PREFIX}/lib; ${LN} -sf libapt-pkg.so.3.11.0 libapt-pkg.so.3.11; ${LN} -sf libapt-pkg.so.3.11.0 libapt-pkg.so)

    ${MKDIR} ${PREFIX}/share/apt/keyrings

    ${MKDIR} ${PREFIX}/libexec/apt/methods
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/cdrom ${PREFIX}/libexec/apt/methods
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/copy ${PREFIX}/libexec/apt/methods
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/file ${PREFIX}/libexec/apt/methods
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/ftp ${PREFIX}/libexec/apt/methods
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/gpgv ${PREFIX}/libexec/apt/methods
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/gzip ${PREFIX}/libexec/apt/methods
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/http ${PREFIX}/libexec/apt/methods
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/https ${PREFIX}/libexec/apt/methods
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/rred ${PREFIX}/libexec/apt/methods
    ${INSTALL_PROGRAM} ${WRKSRC}/bin/methods/rsh ${PREFIX}/libexec/apt/methods
    (cd ${PREFIX}/libexec/apt/methods; ${LN} -sf rsh ssh; ${LN} -sf gzip bzip2)

    ${MKDIR} ${PREFIX}/libexec/dpkg/methods/apt
    ${INSTALL_DATA} ${WRKSRC}/scripts/dselect/desc.apt ${PREFIX}/libexec/dpkg/methods/apt
    ${INSTALL_DATA} ${WRKSRC}/scripts/dselect/names ${PREFIX}/libexec/dpkg/methods/apt
    ${INSTALL_SCRIPT} ${WRKSRC}/scripts/dselect/install ${PREFIX}/libexec/dpkg/methods/apt
    ${INSTALL_SCRIPT} ${WRKSRC}/scripts/dselect/setup ${PREFIX}/libexec/dpkg/methods/apt
    ${INSTALL_SCRIPT} ${WRKSRC}/scripts/dselect/update ${PREFIX}/libexec/dpkg/methods/apt

    ${MKDIR} ${PREFIX}/include/apt-pkg
    for f in ${WRKSRC}/include/apt-pkg/*; do \
        ${INSTALL_DATA} $${f} ${PREFIX}/include/apt-pkg; \
    done

    ${INSTALL_MAN} ${WRKSRC}/docs/apt-extracttemplates.1 ${MANPREFIX}/man/man1
    ${INSTALL_MAN} ${WRKSRC}/docs/apt-ftparchive.1 ${MANPREFIX}/man/man1
    ${INSTALL_MAN} ${WRKSRC}/docs/apt-sortpkgs.1 ${MANPREFIX}/man/man1

    ${INSTALL_MAN} ${WRKSRC}/docs/apt.conf.5 ${MANPREFIX}/man/man5
    ${INSTALL_MAN} ${WRKSRC}/docs/apt_preferences.5 ${MANPREFIX}/man/man5
    ${INSTALL_MAN} ${WRKSRC}/docs/sources.list.5 ${MANPREFIX}/man/man5

    ${INSTALL_MAN} ${WRKSRC}/docs/apt-cache.8 ${MANPREFIX}/man/man8
    ${INSTALL_MAN} ${WRKSRC}/docs/apt-cdrom.8 ${MANPREFIX}/man/man8
    ${INSTALL_MAN} ${WRKSRC}/docs/apt-config.8 ${MANPREFIX}/man/man8
    ${INSTALL_MAN} ${WRKSRC}/docs/apt-get.8 ${MANPREFIX}/man/man8
    ${INSTALL_MAN} ${WRKSRC}/docs/apt-key.8 ${MANPREFIX}/man/man8
    ${INSTALL_MAN} ${WRKSRC}/docs/apt-secure.8 ${MANPREFIX}/man/man8

    ${MKDIR} ${PREFIX}/etc/apt/conf.d
    ${INSTALL_DATA} ${WRKSRC}/docs/examples/sources.list ${PREFIX}/etc/apt/sources.list.sample
    ${INSTALL_DATA} ${WRKSRC}/docs/examples/apt.conf ${PREFIX}/etc/apt/apt.conf.sample

    ${MKDIR} ${APTDIR}/cache/archives/partial
    ${MKDIR} ${APTDIR}/state/lists/partial

.if !defined(NOPORTDOCS)
    ${MKDIR} ${DOCSDIR}
    ${INSTALL_MAN} ${WRKSRC}/AUTHORS ${DOCSDIR}
    ${INSTALL_MAN} ${WRKSRC}/COPYING ${DOCSDIR}
    ${INSTALL_MAN} ${WRKSRC}/COPYING.GPL ${DOCSDIR}
    ${INSTALL_MAN} ${WRKSRC}/README.progress-reporting ${DOCSDIR}
    ${MKDIR} ${EXAMPLESDIR}
    for f in ${WRKSRC}/docs/examples/*; do \
        ${INSTALL_MAN} $${f} ${EXAMPLESDIR}; \
    done
.endif

post-install:
    if [ ! -f ${PREFIX}/etc/apt/sources.list ]; then \
        ${CP} -p ${PREFIX}/etc/apt/sources.list.sample ${PREFIX}/etc/apt/sources.list; \
    fi
    if [ ! -f ${PREFIX}/etc/apt/apt.conf ]; then \
        ${CP} -p ${PREFIX}/etc/apt/apt.conf.sample ${PREFIX}/etc/apt/apt.conf; \
    fi

.include <bsd.port.mk>