building cntlm from subversion using macports
Why do it the easy way?
Update: I originally wrote this post because of an overflow bug which caused files over 2GB to fail silently, and the fix hadn’t yet been released. Well, the fix has now been released, so it’s probably a better idea to use that version, since this portfile does not work properly with selfupdate.
Instructions
Install and configure macports. Note that selfupdate doesn’t work from svn.
Create a local repository:
mkdir -p ~/ports/net/cntlm/files
Copy the Portfile and patch to the repository (contents below):
cp /path/to/Portfile ~/ports/net/cntlm cp /path/to/patch-trunk-Makefile.diff ~/ports/net/cntlm/files
Configure the local repository. Add the following line to /opt/local/etc/macports/sources.conf, then sync the repository:
file:///Users/localadmin/ports
sudo port -d sync
Install cntlm:
sudo port -v install cntlm
Portfile
# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
# $Id$
PortSystem 1.0
name cntlm
version HEAD
license gpl
categories net
platforms darwin
maintainers xs4all.nl:hbruinsma
homepage http://cntlm.sourceforge.net/
description Cntlm is an NTLM / NTLM Session Response / NTLMv2 authenticating HTTP proxy
svn.url https://cntlm.svn.sourceforge.net/svnroot/cntlm/cntlm/trunk
svn.revision HEAD
fetch.type svn
worksrcdir trunk
patchfiles patch-trunk-Makefile.diff
depends_lib port:coreutils
build.target {}
build.args SYSCONFDIR=/opt/local/etc BINDIR=/opt/local/sbin \
MANDIR=/opt/local/man
destroot.args SYSCONFDIR=/opt/local/etc BINDIR=/opt/local/sbin \
MANDIR=/opt/local/man
startupitem.create yes
startupitem.name cntlm
startupitem.executable "${prefix}/sbin/cntlm"
patch-trunk-Makefile.diff
-- Makefile 2011-10-14 19:45:26.000000000 +0800
+++ Makefile.old 2011-12-06 17:11:08.000000000 +0800
@@ -44,10 +44,10 @@
install -M 644 -f $(MANDIR)/man1 doc/$(NAME).1; \
install -M 600 -c $(SYSCONFDIR) doc/$(NAME).conf; \
else \
- install -D -m 755 -s $(NAME) $(BINDIR)/$(NAME); \
- install -D -m 644 doc/$(NAME).1 $(MANDIR)/man1/$(NAME).1; \
+ install -m 755 -s $(NAME) $(BINDIR)/$(NAME); \
+ install -m 644 doc/$(NAME).1 $(MANDIR)/man1/$(NAME).1; \
[ -f $(SYSCONFDIR)/$(NAME).conf -o -z "$(SYSCONFDIR)" ] \
- || install -D -m 600 doc/$(NAME).conf $(SYSCONFDIR)/$(NAME).conf; \
+ || install -m 600 doc/$(NAME).conf $(SYSCONFDIR)/$(NAME).conf; \
fi
@echo; echo "Cntlm will look for configuration in $(SYSCONFDIR)/$(NAME).conf"
Note that macports does not recommend building from subversion, since the results will not be reproducible. However, for testing, it should work fine.