summaryrefslogtreecommitdiff
path: root/pkg/transmission/gen.lua
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/transmission/gen.lua')
-rw-r--r--pkg/transmission/gen.lua168
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'