diff --git a/macosx/Makefile b/macosx/Makefile index daff38cbe..9c50a1f02 100644 --- a/macosx/Makefile +++ b/macosx/Makefile @@ -29,7 +29,7 @@ NPING_STAGING_DIR = Nping NMAP_UPDATE_BUILD_DIR = nmap-update-build NMAP_UPDATE_STAGING_DIR = nmap-update -MACPORTS_PREFIX=$(HOME)/macports-10.5 +MACPORTS_PREFIX=$(HOME)/macports-10.8 PREFIX = /usr/local PACKAGEMAKER = /Developer/usr/bin/packagemaker @@ -49,10 +49,10 @@ UNIVERSAL_CXX = g++ # turn uses the arch value to decide which of its bootstrappers to # install. UNIVERSAL_ARCHFLAGS = -arch i386 -UNIVERSAL_CPPFLAGS = -isysroot /Developer/SDKs/MacOSX10.5.sdk -UNIVERSAL_CFLAGS = $(UNIVERSAL_CPPFLAGS) -mmacosx-version-min=10.5 $(UNIVERSAL_ARCHFLAGS) +UNIVERSAL_CPPFLAGS = -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk +UNIVERSAL_CFLAGS = $(UNIVERSAL_CPPFLAGS) -mmacosx-version-min=10.8 $(UNIVERSAL_ARCHFLAGS) UNIVERSAL_CXXFLAGS = $(UNIVERSAL_CFLAGS) -UNIVERSAL_LDFLAGS = -Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -mmacosx-version-min=10.5 $(UNIVERSAL_ARCHFLAGS) +UNIVERSAL_LDFLAGS = -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk -mmacosx-version-min=10.8 $(UNIVERSAL_ARCHFLAGS) CC = $(UNIVERSAL_CC) CXX = $(UNIVERSAL_CXX) @@ -63,7 +63,9 @@ CFLAGS += $(UNIVERSAL_CFLAGS) CXXFLAGS += $(UNIVERSAL_CXXFLAGS) LDFLAGS += $(UNIVERSAL_LDFLAGS) -PYTHON = /usr/bin/python +PYTHON = $(MACPORTS_PREFIX)/bin/python2.7 +SVN_STATIC = $(MACPORTS_PREFIX)/lib/libsvn_subr-1.a $(MACPORTS_PREFIX)/lib/libsvn_client-1.a $(MACPORTS_PREFIX)/lib/libapr-1.a +OPENSSL_STATIC = $(MACPORTS_PREFIX)/lib/libssl.a $(MACPORTS_PREFIX)/lib/libcrypto.a $(MACPORTS_PREFIX)/lib/libz.a $(IMAGE_NAME): $(IMAGE_STAGING_DIR)/$(PKG_NAME) rm -f $@ @@ -77,32 +79,29 @@ $(IMAGE_STAGING_DIR)/$(PKG_NAME): stage-nmap stage-ncat stage-ndiff stage-zenmap export-%: rm -rf $* # Using @BASE discards local changes. - svn export ..@BASE $* + svn export .. $* stage-nmap: export-$(NMAP_BUILD_DIR) cd $(NMAP_BUILD_DIR) && ./configure --without-zenmap --without-ncat --without-ndiff --without-nping --without-nmap-update --with-openssl="$(MACPORTS_PREFIX)" $(CONFIGURE_ARGS) - make -C $(NMAP_BUILD_DIR) OPENSSL_LIBS="$(MACPORTS_PREFIX)/lib/libssl.a $(MACPORTS_PREFIX)/lib/libcrypto.a $(MACPORTS_PREFIX)/lib/libz.a" + make -C $(NMAP_BUILD_DIR) OPENSSL_LIBS="$(OPENSSL_STATIC)" rm -rf $(NMAP_STAGING_DIR) make -C $(NMAP_BUILD_DIR) install DESTDIR="`pwd`/$(NMAP_STAGING_DIR)" stage-ncat: export-$(NCAT_BUILD_DIR) cd $(NCAT_BUILD_DIR) && ./configure --without-zenmap --with-ncat --without-ndiff --without-nping --without-nmap-update --with-openssl="$(MACPORTS_PREFIX)" $(CONFIGURE_ARGS) - make -C $(NCAT_BUILD_DIR) OPENSSL_LIBS="$(MACPORTS_PREFIX)/lib/libssl.a $(MACPORTS_PREFIX)/lib/libcrypto.a $(MACPORTS_PREFIX)/lib/libz.a" + make -d -C $(NCAT_BUILD_DIR) ncat_build OPENSSL_LIBS="$(OPENSSL_STATIC)" rm -rf $(NCAT_STAGING_DIR) - make -C $(NCAT_BUILD_DIR) install-ncat DESTDIR="`pwd`/$(NCAT_STAGING_DIR)" + make -d -C $(NCAT_BUILD_DIR) install-ncat DESTDIR="`pwd`/$(NCAT_STAGING_DIR)" stage-nping: export-$(NPING_BUILD_DIR) -# Link against the local MacPorts openssl because the 10.4u SDK doesn't -# have EVP_sha256, used by Nping. We let configure find the libraries -# dynamically, then link with the static libraries with "make". cd $(NPING_BUILD_DIR) && ./configure --without-zenmap --without-ncat --without-ndiff --with-nping --without-nmap-update --with-openssl="$(MACPORTS_PREFIX)" $(CONFIGURE_ARGS) - make -C $(NPING_BUILD_DIR) OPENSSL_LIBS="$(MACPORTS_PREFIX)/lib/libssl.a $(MACPORTS_PREFIX)/lib/libcrypto.a $(MACPORTS_PREFIX)/lib/libz.a" + make -C $(NPING_BUILD_DIR) build-nping OPENSSL_LIBS="$(OPENSSL_STATIC)" rm -rf $(NPING_STAGING_DIR) make -C $(NPING_BUILD_DIR) install-nping DESTDIR="`pwd`/$(NPING_STAGING_DIR)" stage-nmap-update: export-$(NMAP_UPDATE_BUILD_DIR) cd $(NMAP_UPDATE_BUILD_DIR) && ./configure --without-zenmap --without-ncat --without-ndiff --without-nping --with-nmap-update --with-apr=$(MACPORTS_PREFIX) --with-subversion=$(MACPORTS_PREFIX) --with-openssl="$(MACPORTS_PREFIX)" $(CONFIGURE_ARGS) - make -C $(NMAP_UPDATE_BUILD_DIR) OPENSSL_LIBS="$(MACPORTS_PREFIX)/lib/libssl.a $(MACPORTS_PREFIX)/lib/libcrypto.a $(MACPORTS_PREFIX)/lib/libz.a" + make -C $(NMAP_UPDATE_BUILD_DIR) build-nmap-update OPENSSL_LIBS="$(OPENSSL_STATIC)" rm -rf $(NMAP_UPDATE_STAGING_DIR) make -C $(NMAP_UPDATE_BUILD_DIR) install-nmap-update DESTDIR="`pwd`/$(NMAP_UPDATE_STAGING_DIR)" diff --git a/macosx/README b/macosx/README index 89d974c4a..3d2b92dad 100644 --- a/macosx/README +++ b/macosx/README @@ -1,6 +1,6 @@ Nmap is a free and open source utility for network exploration and security auditing. Zenmap is a multi-platform graphical frontend and results viewer for Nmap. Ncat is a general-purpose network sending and receiving utility, a reimplementation of Netcat. Ndiff is a an Nmap scan comparison utility. Nping is a tool for packet generation and sending. -This package contains Nmap, Zenmap, Ncat, Ndiff, and Nping. It is intended to work on Intel Macs running Mac OS X 10.6 or later. +This package contains Nmap, Zenmap, Ncat, Ndiff, and Nping. It is intended to work on Intel Macs running Mac OS X 10.8 or later. Installation of all packages is optional. Unselect Zenmap to get just the command-line tool. Unselect Nmap if you prefer to use a copy of Nmap that is already installed. Zenmap will not work without Nmap. diff --git a/zenmap/install_scripts/macosx/README b/zenmap/install_scripts/macosx/README index e08292bb1..1833eb081 100644 --- a/zenmap/install_scripts/macosx/README +++ b/zenmap/install_scripts/macosx/README @@ -40,14 +40,14 @@ The following instructions show how to make a 10.5-compatible environment suitable for building Zenmap packages. It will be a separate installation in $HOME/macports-10.5 that won't interfere with your normal MacPorts installation in /opt/local. These instructions were done -with MacPorts 2.0.3 on Mac OS X 10.6.8. +with MacPorts 2.3.3 on Mac OS X 10.9.5. 1. Install MacPorts. export PATH=/usr/bin:/bin:/usr/sbin:/sbin - export PREFIX=$HOME/macports-10.5 - tar xzvf MacPorts-2.1.1.tar.gz - cd MacPorts-2.1.1 - ./configure --with-no-root-privileges --prefix=$PREFIX --with-tclpackage=$PREFIX/Library/Tcl --with-applications-dir=$PREFIX/Applications + export PREFIX=$HOME/macports-10.8 + tar xzvf MacPorts-2.3.3.tar.gz + cd MacPorts-2.3.3 + ./configure --with-no-root-privileges --prefix=$PREFIX --with-applications-dir=$PREFIX/Applications make make install 2. Update the ports tree. @@ -56,7 +56,7 @@ with MacPorts 2.0.3 on Mac OS X 10.6.8. Uncomment the line build_arch i386 Add this line at the bottom: - macosx_deployment_target 10.5 + macosx_deployment_target 10.8 4. Make a local patched ports tree. cd $PREFIX mkdir ports @@ -71,14 +71,14 @@ with MacPorts 2.0.3 on Mac OS X 10.6.8. $PREFIX/bin/portindex 6. Edit the file $PREFIX/etc/macports/sources.conf. Add a line - file:///Users/user/macports-10.5/ports + file:///Users/user/macports-10.8/ports above the rsync line. (Replace "user" with your user name.) 7. Install the dependencies of Zenmap. $PREFIX/bin/port install py26-pygtk py26-py2app apr apr-util Here are instructions for updating the patch to keep up with MacPorts changes. First, sync the original ports tree. - $PREFIX/bin/port sync + $PREFIX/bin/port selfupdate -v Restore a pristine partial ports tree: cd $PREFIX rsync -rv --existing --delete --exclude=PortIndex ports.orig/ ports/ diff --git a/zenmap/install_scripts/macosx/make-bundle.sh b/zenmap/install_scripts/macosx/make-bundle.sh index 12474b2de..87aee8fde 100755 --- a/zenmap/install_scripts/macosx/make-bundle.sh +++ b/zenmap/install_scripts/macosx/make-bundle.sh @@ -25,8 +25,8 @@ # environment. You need to have installed the packages py26-gtk and # py26-py2app. -LIBPREFIX=$HOME/macports-10.5 -PYTHON=$LIBPREFIX/bin/python2.6 +LIBPREFIX=$HOME/macports-10.8 +PYTHON=$LIBPREFIX/bin/python2.7 PKG_CONFIG=$LIBPREFIX/bin/pkg-config APP_NAME=Zenmap BASE=dist/$APP_NAME.app/Contents