Skip to content

Commit f8c4adc

Browse files
authored
Merge pull request #134 from sigiesec/include-mac-native-binaries
Include Mac OS X native binaries in repository and nuget packages
2 parents 91cc351 + 1385f4a commit f8c4adc

File tree

7 files changed

+69
-33
lines changed

7 files changed

+69
-33
lines changed

.travis.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ matrix:
1212
osx_image: xcode7.3
1313
mono: latest
1414

15+
before_install:
16+
- chmod a+x ./install_deps.sh
17+
install:
18+
- ./install_deps.sh
19+
1520
before_script:
1621
- chmod a+x ./build.sh
1722
script:

ZeroMQ.VS.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,12 @@
129129
<None Include="i386\libzmq.so">
130130
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
131131
</None>
132+
<None Include="amd64\libzmq.dylib">
133+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
134+
</None>
135+
<None Include="i386\libzmq.dylib">
136+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
137+
</None>
132138
<None Include="README.md" />
133139
<None Include="ZeroMQ.snk" />
134140
</ItemGroup>

ZeroMQ.mono.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,9 @@
120120
<Content Include="amd64\libzmq.so">
121121
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
122122
</Content>
123+
<Content Include="amd64\libzmq.dylib">
124+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
125+
</Content>
123126
<Content Include="i386\libsodium.dll">
124127
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
125128
</Content>
@@ -129,5 +132,8 @@
129132
<Content Include="i386\libzmq.so">
130133
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
131134
</Content>
135+
<Content Include="i386\libzmq.dylib">
136+
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
137+
</Content>
132138
</ItemGroup>
133139
</Project>

amd64/libzmq.dylib

1010 KB
Binary file not shown.

build.sh

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,39 +9,6 @@ if [ -d $artifactsFolder ]; then
99
rm -R $artifactsFolder
1010
fi
1111

12-
if [ "$(uname)" == "Darwin" ] ; then
13-
# homebrew has zeromq only as x64 as of 2017-06-29, so we must use macports (see also https://github.com/travis-ci/travis-ci/issues/5640)
14-
#brew install zeromq --universal
15-
wget --retry-connrefused --waitretry=1 -O /tmp/macports.pkg https://github.com/macports/macports-base/releases/download/v2.4.1/MacPorts-2.4.1-10.11-ElCapitan.pkg
16-
sudo installer -pkg /tmp/macports.pkg -target /
17-
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
18-
sudo rm /opt/local/etc/macports/archive_sites.conf
19-
echo "name macports_archives" >archive_sites.conf
20-
echo "name local_archives" >>archive_sites.conf
21-
echo "urls http://packages.macports.org/ http://nue.de.packages.macports.org/" >>archive_sites.conf
22-
sudo cp archive_sites.conf /opt/local/etc/macports/
23-
sudo port -v install zmq +universal || true # ignore errors, since this seems to always fail with "Updating database of binaries failed"
24-
file /usr/local/lib/*mq*.dylib
25-
file /opt/local/lib/*mq*.dylib
26-
find /usr/local -name '*zmq*' # DEBUG
27-
find /usr/local -name '*zeromq*' # DEBUG
28-
29-
DYLD_LIBRARY_PATH=/opt/local/lib:$DYLD_LIBRARY_PATH
30-
echo LD_LIBRARY_PATH=$LD_LIBRARY_PATH
31-
echo DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH
32-
echo DYLD_FALLBACK_LIBRARY_PATH=$DYLD_FALLBACK_LIBRARY_PATH
33-
else
34-
# assume that we are on Ubuntu (which is used on Travis-CI.org)
35-
curl http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/xUbuntu_14.04/Release.key >Release.key
36-
sudo apt-key add Release.key
37-
sudo add-apt-repository "deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/xUbuntu_14.04 ./"
38-
sudo apt-get update
39-
sudo apt-get install libzmq3-dev
40-
fi
41-
42-
nuget install NUnit.ConsoleRunner -Version 3.6.1 -OutputDirectory testrunner
43-
# nuget install coveralls.net -Version 0.7.0 -OutputDirectory tools
44-
4512
xbuild /p:Configuration=Release clrzmq4.mono.sln
4613

4714
export MONO_TRACE_LISTENER=Console.Out

i386/libzmq.dylib

1010 KB
Binary file not shown.

install_deps.sh

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
#!/usr/bin/env bash
2+
3+
#exit if any command fails
4+
set -e
5+
6+
# the used libzmq can be configured using different values for INSTALL_LIBZMQ_MACOS
7+
# values: empty = do not install libzmq, but use repository binaries; brew = install via homebrew; port = install via macports
8+
# homebrew has zeromq only as x64 as of 2017-06-29, so it cannot be used (see also https://github.com/travis-ci/travis-ci/issues/5640)
9+
10+
if [ "$(uname)" == "Darwin" ] ; then
11+
# DIAGNOSTICS
12+
otool -L amd64/libzmq.dylib
13+
otool -L i386/libzmq.dylib
14+
15+
if [ "INSTALL_LIBZMQ_MACOS" == "brew" ] ; then
16+
brew install zeromq --universal
17+
18+
file /usr/local/lib/*mq*.dylib # DIAGNOSTICS
19+
20+
cp /usr/local/lib/libzmq.dylib amd64
21+
cp /usr/local/lib/libzmq.dylib i386
22+
elif [ "INSTALL_LIBZMQ_MACOS" == "port" ] ; then
23+
wget --retry-connrefused --waitretry=1 -O /tmp/macports.pkg https://github.com/macports/macports-base/releases/download/v2.4.1/MacPorts-2.4.1-10.11-ElCapitan.pkg
24+
sudo installer -pkg /tmp/macports.pkg -target /
25+
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
26+
sudo rm /opt/local/etc/macports/archive_sites.conf
27+
echo "name macports_archives" >archive_sites.conf
28+
echo "name local_archives" >>archive_sites.conf
29+
echo "urls http://packages.macports.org/ http://nue.de.packages.macports.org/" >>archive_sites.conf
30+
sudo cp archive_sites.conf /opt/local/etc/macports/
31+
32+
# ignore errors on call to port, since this seems to always fail with "Updating database of binaries failed"
33+
while (sudo port -v install zmq +universal || true) | grep "Error: Port zmq not found" ; do echo "port install zmq failed, retrying" ; done
34+
35+
file /opt/local/lib/*mq*.dylib # DIAGNOSTICS
36+
37+
cp /opt/local/lib/libzmq.dylib amd64
38+
cp /opt/local/lib/libzmq.dylib i386
39+
fi
40+
else
41+
# assume that we are on Ubuntu (which is used on Travis-CI.org)
42+
curl http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/xUbuntu_14.04/Release.key >Release.key
43+
sudo apt-key add Release.key
44+
sudo add-apt-repository "deb http://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-stable/xUbuntu_14.04 ./"
45+
sudo apt-get update
46+
sudo apt-get install libzmq3-dev
47+
fi
48+
49+
nuget restore clrzmq4.mono.sln
50+
nuget install NUnit.ConsoleRunner -Version 3.6.1 -OutputDirectory testrunner
51+
# nuget install coveralls.net -Version 0.7.0 -OutputDirectory tools
52+

0 commit comments

Comments
 (0)