archrelease: copy trunk to community-any
[ArchLinux/community.git] / inn / trunk / PKGBUILD
blob33012fc721e3a23d3fc7b68a41bc69b4fa4ce709
1 # Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
2 # Maintainer: Edward Tjörnhammar <xhemi@cube2.se>
3 # Contributor: Edward Tjörnhammar <xhemi@cube2.se>
5 pkgname=inn
6 pkgver=2.7.1
7 pkgrel=1
8 pkgdesc="Complete open source Usenet system. De facto standard for handling news routing, news spool and serving the spool to customers."
9 url="https://www.isc.org/othersoftware/"
10 arch=('x86_64')
11 license=("custom:INN")
12 depends=('openssl' 'perl-mime-tools' 'perl-gd' 'pam' 'db5.3')
13 makedepends=('make' 'bison' 'python' 'gcc' 'smtp-forwarder' 'libsasl' 'sqlite')
14 optdepends=('python' 'libsasl'
15             'sqlite: ovsqlite-server')
16 options=(emptydirs docs zipman)
17 install=inn.install
18 backup=(etc/inn/innwatch.ctl
19         etc/inn/innfeed.conf
20         etc/inn/moderators
21         etc/inn/news2mail.cf
22         etc/inn/innshellvars.tcl.local
23         etc/inn/buffindexed.conf
24         etc/inn/newsfeeds
25         etc/inn/storage.conf
26         etc/inn/innshellvars.local
27         etc/inn/inn-radius.conf
28         etc/inn/nntpsend.ctl
29         etc/inn/passwd.nntp
30         etc/inn/send-uucp.cf
31         etc/inn/cycbuff.conf
32         etc/inn/incoming.conf
33         etc/inn/control.ctl.local
34         etc/inn/actsync.ign
35         etc/inn/motd.innd.sample
36         etc/inn/distributions
37         etc/inn/innshellvars.pl.local
38         etc/inn/readers.conf
39         etc/inn/innreport.conf
40         etc/inn/actsync.cfg
41         etc/inn/nocem.ctl
42         etc/inn/control.ctl
43         etc/inn/subscriptions
44         etc/inn/motd.nnrpd.sample
45         etc/inn/inn.conf
46         etc/inn/ovdb.conf
47         etc/inn/localgroups
48         etc/inn/nnrpd.track
49         etc/inn/distrib.pats
50         etc/inn/expire.ctl
51         etc/inn/inn-secrets.conf
52         etc/inn/ovsqlite.conf
53         var/db/inn/active
54         var/db/inn/active.times
55         var/db/inn/history
56         var/db/inn/history.dir
57         var/db/inn/history.hash
58         var/db/inn/history.index
59         var/db/inn/newsgroups)
60 validpgpkeys=('E784364E8DDE7BB370FBD9EAD15D313882004173')
61 source=(https://ftp.isc.org/isc/inn/inn-$pkgver.tar.gz{,.asc}
62         innd.service
63         inn.tmpfiles
64         inn.sysusers)
65 sha256sums=('e8e0ca77f60f950f1747c82f72697dd7c2697bc691b46f7562056255795d93f4'
66             'SKIP'
67             'b8658c900f5bce5d0b09b595496137e5f3e93bbcdc1fb1f751783e6e2873de21'
68             'f58a06718396628bf110de21c052cf29c0d2e7bd0c7bd645d43b592b6ac549d4'
69             'a8c269bc006eb39a140af1538a0812c54ea11f444867c28f5e9792bfdd4df71a')
71 prepare() {
72   cd "$srcdir"/inn-$pkgver
73   # Override unreproducible hostname
74   sed -i 's/HOSTNAME=`hostname 2> \/dev\/null || uname -n`/HOSTNAME=archlinux/' configure
75   sed -i 's/-ldb/-ldb-5.3/g' configure
78 build() {
79   cd "$srcdir"/inn-$pkgver
80   CFLAGS+=' -fcommon' # https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common
81   PYTHON=/usr/bin/python ./configure --prefix=/usr \
82         --includedir=/usr/include/inn \
83         --sbindir=/usr/sbin \
84         --with-libtool \
85         --with-gnu-id \
86   --with-bdb-include=/usr/include/db5.3 \
87         --with-db-dir=/var/db/inn \
88         --sysconfdir=/etc/inn \
89         --with-spool-dir=/var/spool/news \
90         --with-log-dir=/var/log/inn \
91         --with-run-dir=/var/run/inn \
92         --with-tmp-dir=/var/spool/inn/tmp \
93         --enable-largefiles \
94         --with-openssl=/usr \
95         --with-perl \
96         --with-python \
97         --with-sendmail=/usr/bin/msmtp \
98         --with-sasl=/usr \
99         --with-news-user=9 \
100         --with-news-group=13
101   # See https://wiki.archlinux.org/index.php/DeveloperWiki:UID_/_GID_Database
102   test -f include/config.h
103   cat >>include/config.h <<EOF
104 #undef RUNASUSER
105 #define RUNASUSER "news"
106 #undef RUNASGROUP
107 #define RUNASGROUP "news"
109   make
112 package() {
113   cd "$srcdir"/inn-$pkgver
114   export LD_LIBRARY_PATH=.:"$pkgdir"/usr/lib:$LD_LIBRARY_PATH
116   make DESTDIR="$pkgdir" install
118   cd "$pkgdir"/usr/lib
119   for i in lib*.a; do
120         gcc -shared -o ${i%%.a}.so.2.0.0 $i
121         for j in 2.0 2; do
122             ln -s ${i%%a}so.2.0.0 ${i%%a}so.$j
123         done
124   done
126   touch "$pkgdir"/var/db/inn/history{.dir,.hash,.index,}
128   mkdir -p "$pkgdir"/usr/share/doc/inn "$pkgdir"/usr/share/inn/
129 #  mv "$pkgdir"/usr/share/man/man3/list.3 "$pkgdir"/usr/share/man/man3/list-inn.3
130   mv "$pkgdir"/usr/doc/* "$pkgdir"/usr/share/doc/inn/
131   mv "$pkgdir"/usr/http/* "$pkgdir"/usr/share/inn/
132   mv "$pkgdir"/usr/bin/archive "$pkgdir"/usr/bin/archive.inn
133   rm -rf "$pkgdir"/usr/doc "$pkgdir"/usr/http "$pkgdir"/var/run
134   install -D -m0644 "$srcdir"/inn-$pkgver/LICENSE "$pkgdir"/usr/share/licenses/inn/LICENSE
135   chown root:root "$pkgdir"/usr/bin/innbind
136   chmod 05555 "$pkgdir"/usr/bin/innbind
138   install -Dm0644 "$srcdir"/innd.service "$pkgdir"/usr/lib/systemd/system/innd.service
139   install -Dm0644 "$srcdir"/inn.sysusers "$pkgdir"/usr/lib/sysusers.d/inn.conf
140   install -Dm0644 "$srcdir"/inn.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/inn.conf