diff options
Diffstat (limited to 'pkg/transmission/gen.lua')
| -rw-r--r-- | pkg/transmission/gen.lua | 168 |
1 files changed, 168 insertions, 0 deletions
diff --git a/pkg/transmission/gen.lua b/pkg/transmission/gen.lua new file mode 100644 index 00000000..1338a327 --- /dev/null +++ b/pkg/transmission/gen.lua @@ -0,0 +1,168 @@ +sub('libnatpmp.ninja', function() + cflags{'-D ENABLE_STRNATPMPERR'} + lib('libnatpmp.a', 'third-party/libnatpmp/(getgateway.c natpmp.c wingettimeofday.c)') +end) +sub('libminiupnp.ninja', function() + cflags{ + '-D _GNU_SOURCE', + '-I $outdir/miniupnp', + '-idirafter pkg/openbsd/src/sys', + } + + build('sed', '$outdir/miniupnp/miniupnpcstrings.h', '$srcdir/third-party/miniupnp/miniupnpcstrings.h.in', { + expr='-e s,OS/version,Linux, -e s,version,,', + }) + + lib('libminiupnp.a', [[ + third-party/miniupnp/( + connecthostport.c + igd_desc_parse.c + minisoap.c + minissdpc.c + miniupnpc.c + miniwget.c + minixml.c + portlistingparse.c + receivedata.c + upnpcommands.c + upnpreplyparse.c + ) + ]], {'$outdir/miniupnp/miniupnpcstrings.h', '$builddir/pkg/openbsd/fetch.stamp'}) +end) +sub('libutp.ninja', function() + set('cc', '$cxx') + set('cflags', { + '$cxxflags', + '-fno-exceptions', + '-fno-rtti', + '-ansi', + '-D POSIX', + '-I $srcdir/third-party/libutp', + }) + + lib('libutp.a', 'third-party/libutp/(utp.cpp utp_utils.cpp)') +end) + +cflags{ + '-D __TRANSMISSION__', + '-I $builddir/pkg/curl/include', + '-I $builddir/pkg/libevent/include', + '-I $builddir/pkg/libressl/include', + '-I $builddir/pkg/zlib/include', + '-I $dir', + '-I $srcdir', + '-I $srcdir/third-party', + '-I $srcdir/third-party/libb64', + '-I $srcdir/third-party/libnatpmp', + '-I $srcdir/third-party/libutp', + '-I pkg/libevent/src/include', + '-I include', + '-idirafter pkg/openbsd/src/sys', + '-include config.h', +} + +pkg.deps = { + 'pkg/curl/headers', + 'pkg/libevent/headers', + 'pkg/libressl/headers', + 'pkg/zlib/headers', + '$builddir/pkg/openbsd/fetch.stamp', +} + +lib('libtransmission.a', [[ + libtransmission/( + announcer.c + announcer-http.c + announcer-udp.c + bandwidth.c + bitfield.c + blocklist.c + cache.c + clients.c + completion.c + ConvertUTF.c + crypto.c + crypto-utils.c + crypto-utils-fallback.c + error.c + fdlimit.c + file.c + handshake.c + history.c + inout.c + list.c + log.c + magnet.c + makemeta.c + metainfo.c + natpmp.c + net.c + peer-io.c + peer-mgr.c + peer-msgs.c + platform.c + platform-quota.c + port-forwarding.c + ptrarray.c + quark.c + resume.c + rpcimpl.c + rpc-server.c + session.c + stats.c + torrent.c + torrent-ctor.c + torrent-magnet.c + tr-dht.c + tr-lpd.c + tr-udp.c + tr-utp.c + tr-getopt.c + trevent.c + upnp.c + utils.c + variant.c + variant-benc.c + variant-json.c + verify.c + watchdir.c + watchdir-generic.c + web.c + webseed.c + wildmat.c + + watchdir-inotify.c + file-posix.c + crypto-utils-openssl.c + ) + libb64.a libdht.a libminiupnp.a libnatpmp.a libutp.a + $builddir/pkg/( + curl/libcurl.a.d + libevent/libevent.a + libressl/libcrypto.a.d + zlib/libz.a + ) +]]) + +lib('libb64.a', {'third-party/libb64/cdecode.c', 'third-party/libb64/cencode.c'}) +lib('libdht.a', {'third-party/dht/dht.c'}) + +exe('transmission-daemon', { + 'daemon/daemon.c', + 'daemon/daemon-posix.c', + 'libtransmission.a.d', +}) +file('bin/transmission-daemon', '755', '$outdir/transmission-daemon') +man{'daemon/transmission-daemon.1'} + +exe('transmission-remote', {'daemon/remote.c', 'libtransmission.a.d'}) +file('bin/transmission-remote', '755', '$outdir/transmission-remote') +man{'daemon/transmission-remote.1'} + +for _, tool in ipairs{'create', 'edit', 'show'} do + exe('transmission-'..tool, {'utils/'..tool..'.c', 'libtransmission.a.d'}) + file('bin/transmission-'..tool, '755', '$outdir/transmission-'..tool) + man{'utils/transmission-'..tool..'.1'} +end + +fetch 'curl' |
