nzbget: Add package
authorMarcel Dopita <m@rcel.cz>
Tue, 9 Jan 2018 17:54:15 +0000 (18:54 +0100)
committerFredrik Fornwall <fredrik@fornwall.net>
Fri, 12 Jan 2018 23:21:43 +0000 (00:21 +0100)
packages/nzbget/build.sh [new file with mode: 0644]
packages/nzbget/nzbget.cpp.patch [new file with mode: 0644]
packages/nzbget/options.cpp.patch [new file with mode: 0644]
packages/nzbget/thread.cpp.patch [new file with mode: 0644]

diff --git a/packages/nzbget/build.sh b/packages/nzbget/build.sh
new file mode 100644 (file)
index 0000000..8bb1510
--- /dev/null
@@ -0,0 +1,16 @@
+TERMUX_PKG_HOMEPAGE=https://nzbget.net/
+TERMUX_PKG_DESCRIPTION="The most efficient usenet downloader"
+TERMUX_PKG_VERSION=19.1
+TERMUX_PKG_SRCURL=https://github.com/nzbget/nzbget/releases/download/v${TERMUX_PKG_VERSION}/nzbget-${TERMUX_PKG_VERSION}-src.tar.gz
+TERMUX_PKG_SHA256=06df42356ac2d63bbc9f7861abe9c3216df56fa06802e09e8a50b05f4ad95ce6
+TERMUX_PKG_DEPENDS="libxml2, ncurses, openssl, unrar, p7zip"
+TERMUX_PKG_BUILD_IN_SRC=yes
+TERMUX_PKG_EXTRA_CONFIGURE_ARGS="ac_cv_c_bigendian=no"
+
+termux_step_create_debscripts () {
+       echo "#!$TERMUX_PREFIX/bin/sh" > postinst
+       echo "sed -e 's|^\(CertStore=\).*|\1$TERMUX_PREFIX/etc/tls/cert.pem|g" >> postinst
+       echo "s|^\(ControlPassword=\).*|\1|g' $TERMUX_PREFIX/share/nzbget/nzbget.conf > ~/.nzbget" >> postinst
+       echo "exit 0" >> postinst
+       chmod 0755 postinst
+}
diff --git a/packages/nzbget/nzbget.cpp.patch b/packages/nzbget/nzbget.cpp.patch
new file mode 100644 (file)
index 0000000..b4ec5fa
--- /dev/null
@@ -0,0 +1,22 @@
+diff --git a/daemon/main/nzbget.cpp b/daemon/main/nzbget.cpp
+index 1cfa105..b5cee58 100644
+--- a/daemon/main/nzbget.cpp
++++ b/daemon/main/nzbget.cpp
+@@ -19,6 +19,8 @@
+  */
++#include <sys/file.h>
++
+ #include "nzbget.h"
+ #include "ServerPool.h"
+ #include "Log.h"
+@@ -913,7 +915,7 @@ void NZBGet::Daemonize()
+                       error("Starting daemon failed: could not create lock-file %s", m_options->GetLockFile());
+                       exit(1);
+               }
+-              if (lockf(lfp, F_TLOCK, 0) < 0)
++              if (flock(lfp, LOCK_EX) < 0)
+               {
+                       error("Starting daemon failed: could not acquire lock on lock-file %s", m_options->GetLockFile());
+                       exit(1);
diff --git a/packages/nzbget/options.cpp.patch b/packages/nzbget/options.cpp.patch
new file mode 100644 (file)
index 0000000..37c1a2d
--- /dev/null
@@ -0,0 +1,16 @@
+diff --git a/daemon/main/Options.cpp b/daemon/main/Options.cpp
+index f41bd82..6a3dc0e 100644
+--- a/daemon/main/Options.cpp
++++ b/daemon/main/Options.cpp
+@@ -182,10 +182,7 @@ const int BoolCount = 12;
+ const char* PossibleConfigLocations[] =
+       {
+               "~/.nzbget",
+-              "/etc/nzbget.conf",
+-              "/usr/etc/nzbget.conf",
+-              "/usr/local/etc/nzbget.conf",
+-              "/opt/etc/nzbget.conf",
++              "@TERMUX_PREFIX@/etc/nzbget.conf",
+               nullptr
+       };
+ #endif
diff --git a/packages/nzbget/thread.cpp.patch b/packages/nzbget/thread.cpp.patch
new file mode 100644 (file)
index 0000000..115f691
--- /dev/null
@@ -0,0 +1,22 @@
+diff --git a/daemon/util/Thread.cpp b/daemon/util/Thread.cpp
+index 199005f..61b5bcb 100644
+--- a/daemon/util/Thread.cpp
++++ b/daemon/util/Thread.cpp
+@@ -111,7 +111,7 @@ void Thread::Start()
+       pthread_attr_t m_attr;
+       pthread_attr_init(&m_attr);
+       pthread_attr_setdetachstate(&m_attr, PTHREAD_CREATE_DETACHED);
+-      pthread_attr_setinheritsched(&m_attr, PTHREAD_INHERIT_SCHED);
++      //pthread_attr_setinheritsched(&m_attr, PTHREAD_INHERIT_SCHED);
+       m_running = !pthread_create(&m_threadObj, &m_attr, Thread::thread_handler, (void *) this);
+       pthread_attr_destroy(&m_attr);
+ #endif
+@@ -140,7 +140,7 @@ bool Thread::Kill()
+ #ifdef WIN32
+       bool terminated = TerminateThread(m_threadObj, 0) != 0;
+ #else
+-      bool terminated = pthread_cancel(m_threadObj) == 0;
++      bool terminated = pthread_kill(m_threadObj, 0) == 0;
+ #endif
+       if (terminated)