aboutsummaryrefslogtreecommitdiff
path: root/network/tor/tor.build
diff options
context:
space:
mode:
Diffstat (limited to 'network/tor/tor.build')
-rwxr-xr-xnetwork/tor/tor.build153
1 files changed, 153 insertions, 0 deletions
diff --git a/network/tor/tor.build b/network/tor/tor.build
new file mode 100755
index 0000000..7ff6314
--- /dev/null
+++ b/network/tor/tor.build
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+# Maintainer: Deposite Pirate <ofni.sknuplatem@etaripd>
+
+source /usr/src/ports/Build/build.sh
+
+NAME=tor
+VERSION=0.2.4.21
+BUILD=1
+DEPENDS=('libevent >= 2.0.21-1' 'openssl >= 1.0.1g-1')
+
+# Description
+
+cat > ${PKG}/install/slack-desc <<EOF
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+$(padd)|-----handy-ruler------------------------------------------------------|
+${NAME}: tor (The Onion Router)
+${NAME}:
+${NAME}: Tor protects you by bouncing your communications around a distributed
+${NAME}: network of relays run by volunteers all around the world: it prevents
+${NAME}: somebody watching your Internet connection from learning what sites
+${NAME}: you visit, and it prevents the sites you visit from learning your
+${NAME}: physical location. Tor works with many of your existing applications,
+${NAME}: including web browsers, instant messaging clients, remote login, and
+${NAME}: other applications based on the TCP protocol.
+${NAME}:
+${NAME}: Homepage: https://www.torproject.org
+EOF
+
+cat >> ${PKG}/install/doinst.sh <<EOF
+#!/bin/sh
+
+config() {
+ NEW="\$1"
+ OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r \$OLD ]; then
+ mv \$NEW \$OLD
+ elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then
+ # toss the redundant copy
+ rm \$NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+preserve_perms() {
+ NEW="\$1"
+ OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
+ if [ -e \$OLD ]; then
+ cp -a \$OLD \${NEW}.incoming
+ cat \$NEW > \${NEW}.incoming
+ mv \${NEW}.incoming \$NEW
+ fi
+ config \$NEW
+}
+
+preserve_perms etc/rc.d/rc.tor.new
+config etc/logrotate.d/tor.new
+config etc/tor/torrc.new
+config etc/tor/torsocks.conf.new
+
+# If the tor users/groups don't exist add them
+
+if grep "^tor:x:" etc/passwd 1> /dev/null 2> /dev/null ; then
+ true
+else
+ echo "tor:x:44:44:tor:/:/bin/false" >> etc/passwd
+fi
+if grep "^tor::" etc/group 1> /dev/null 2> /dev/null ; then
+ true
+else
+ echo "tor::44:tor" >> etc/group
+fi
+if grep "^tor:" etc/shadow 1> /dev/null 2> /dev/null ; then
+ true
+else
+ echo "tor:*:9797:0:::::" >> etc/shadow
+fi
+
+chown tor.tor var/lib/tor
+chmod 0700 var/lib/tor
+EOF
+
+# Sources
+
+SRCNAME[0]=${NAME}
+SRCVERS[0]=${VERSION}
+SRCPACK[0]=https://www.torproject.org/dist/${SRCNAME[0]}-${SRCVERS[0]}.tar.gz
+
+build0()
+{
+CPPFLAGS="-I${SYS_DIR[include]}/event" \
+CFLAGS="${FLAGS}" CXXFLAGS="${FLAGS}" \
+./configure \
+ --build="${ARCH}-slackware-linux" \
+ --disable-dependency-tracking \
+ --disable-silent-rules \
+ --prefix="${SYS_DIR[usr]}" \
+ --mandir="${SYS_DIR[man]}" \
+ --sysconfdir="${SYS_DIR[etc]}" \
+ --libdir="${SYS_DIR[lib]}" \
+ --localstatedir="${SYS_DIR[var]}"
+# --enable-upnp
+# --enable-nat-pmp
+# --with-syslog-facility="LOG_DAEMON"
+make ${JOBS} V=1
+make install DESTDIR="${PKG}"
+changelog ReleaseNotes
+license LICENSE
+install -m 0700 -d ${PKG}${SYS_DIR[var]}/lib/tor
+install.dir ${PKG}${SYS_DIR[systemdsystemunitdir]}
+install.dat tor.service ${PKG}${SYS_DIR[systemdsystemunitdir]}
+install.cfg torrc ${PKG}${SYS_DIR[etc]}/tor
+install.dir ${PKG}${SYS_DIR[etc]}/{rc,logrotate}.d
+install.bin rc.tor ${PKG}${SYS_DIR[etc]}/rc.d/rc.tor.new
+install.dat tor.logrotate ${PKG}${SYS_DIR[etc]}/logrotate.d/tor.new
+config ${PKG}${SYS_DIR[etc]}/tor/tor{rc,-tsocks.conf}
+rm -rf ${PKG}${SYS_DIR[doc]}/tor
+}
+
+SRCNAME[1]=torsocks
+SRCVERS[1]=2.0.0.$(date +%Y%m%d)
+SRCPACK[1]=git://git.torproject.org/torsocks.git
+SRCCOPY[1]="GPL2"
+
+build1()
+{
+./autogen.sh
+CFLAGS="${FLAGS}" CXXFLAGS="${FLAGS}" \
+./configure \
+ --build="${ARCH}-slackware-linux" \
+ --disable-dependency-tracking \
+ --disable-silent-rules \
+ --enable-static=no \
+ --enable-shared=yes \
+ --prefix="${SYS_DIR[usr]}" \
+ --mandir="${SYS_DIR[man]}" \
+ --sysconfdir="${SYS_DIR[etc]}" \
+ --libdir="${SYS_DIR[lib]}" \
+ --localstatedir="${SYS_DIR[var]}" \
+ --datadir="${SYS_DIR[doc]}/torsocks"
+make ${JOBS} V=1
+make install DESTDIR="${PKG}"
+changelog ChangeLog
+config ${PKG}${SYS_DIR[etc]}/tor/torsocks.conf
+rm -rf ${PKG}${SYS_DIR[doc]}/torsocks
+}