22 Commits

Author SHA1 Message Date
Alex Chernyakhovsky 62869ae55f Rename VERSION to VERSION.stamp
-I$(top_srcdir) is not usable on macOS due to a conflicting C++ header
 `version`.
2023-07-30 17:03:40 -04:00
Alex Chernyakhovsky 4cd2da5202 Switch macOS multi-arch to x86_64+arm64
The previous CI attemtped to use Homebrew for builds, but
unfortunately Homebrew has dropped support for universal packages aka
multiarch (fat) binaries. This means that in order to build an arm64 +
x86_64 package, macports has to be used instead of homebrew.

Unlike Homebrew, MacPorts is not installed by default on the GitHub
Actions runners, so we need to install it ourselves. This means
managing our own instance of the cache, which itself produces
challenges as the `gtar` binary run by the action doesn't have enough
permissions to restore the MacPorts checkout. So we have to shim gtar
with a sudo wrapper.

With this commit, we produce a Mosh package that works on macOS 11.0
and newer, on both arm64 and x86_64 architectures. The protobuf
library is statically linked, but all other libraries are provided by
the system.
2022-08-03 13:52:18 -10:00
John Hood 9ba07296f9 Fix Homebrew failure on Travis.
As predicted, 'brew unlink python' is no longer needed.
2018-08-02 21:42:49 -04:00
John Hood 60859e9d09 Fix/workaround Homebrew failure on Travis MacOS XCode 9.1 image.
The 'brew unlink python' can probably be removed for later images.
2018-04-12 13:25:05 -04:00
John Hood 78ba5fddb6 macosx/build.sh: build-a-bottle option changed 2016-12-29 16:33:22 -05:00
Ashish Gupta 3ba5a29758 Clarify that -p does not affect SSH port 2016-11-19 18:16:01 -05:00
John Hood 73b4ab21ad OS X package build on Travis
This builds an OS X package and deploys it to a GitHub release when a
tag is pushed.  It also generates a tarball reporting the build
environment and configuration.  The build log is still separate.

This is not yet final, it deploys to cgull/mosh and not
mobile-shell/mosh.

It should not affect Linux or OS X CI builds (other than the change to
the Travis Xcode 7.1 image).

Included changes:

The Travis Xcode 7 image seems to have added tmux while we were gone,
breaking our Homebrew setup.

There seems to be no clean reliable way to determine whether a
Homebrew package is installed or needs updating.  Reinstalling is less
efficient but seems to work reliably.

The OS X build is now split between four files:

.travis.yml contains Travis-specific CI/release build configuration.

macosx/brew.sh contains Homebrew-specific package manager installs and
reporting.

macosx/osx-xcode.sh contains Apple-specific OS/X and Xcode reporting.

macosx/build.sh does the actual package build.
2016-11-12 19:57:50 -05:00
Anders Kaseorg 8a8f2b29ca Fix most shell hygiene issues found by shellcheck
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-04 03:15:03 -04:00
Keith Winstein a09381d161 http -> https links for mosh.org 2016-08-12 00:11:47 -07:00
Keith Winstein ca2750dd03 Update website location (mosh.mit.edu -> mosh.org) 2016-08-12 00:10:53 -07:00
John Hood e89c4fcb65 update .gitignores 2016-05-24 18:43:51 -04:00
John Hood 0eb614809a Add configurable support for Apple Common Crypto and Nettle libraries. 2015-10-16 19:00:42 -04:00
John Hood a099638603 macosx: Make build more portable and general
This broadens the OS X build support to include old and current OS
X/Xcode, and Homebrew/MacPorts.

Support pkgbuild/productbuild + metadata from Mosh-1.2.4-3 package
Search for protobufs in /{usr,opt}/local
Make build select pkgbuild if available, PackageMaker if not
Make PackageBuilder build work on OS X 10.5, XCode 3.1, Macports
Do version substitution
Use generic names for c/c++/cpp
Make build script arch-indepdendent
Changes install dir from /usr to /usr/local

Closes #633.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-21 16:20:11 -04:00
John Hood 83bfae7cf2 Add contents of mosh-1.2.4-3.pkg, except Payload
This is the base for new package builds using
pkgbuild and productbuild.

Signed-off-by: John Hood <cgull@glup.org>
2015-06-21 16:16:38 -04:00
Geoffrey Thomas f4a93fbf26 macosx: Stop setting ac_cv_poll_pty, since it was removed in bb651581. 2015-06-04 23:47:32 -04:00
Andrew Chin d8711618c9 Set MACOSX_DEPLOYMENT_TARGET so that older macs can run the mosh binaries
Closes #424
2013-07-01 02:59:30 -04:00
Andrew Chin fbd2d184fb In the OSX build script, link with system libs.
Previously, mosh was linking with macports-provided libs in
/opt/local/lib, which was not portable to users without macports

Closes #411
2013-04-15 14:36:01 -04:00
Peter Iannucci 93507a7195 macosx: builds a universal package for i386, x86_64. 2012-10-29 15:08:14 -04:00
Keegan McAllister bb651581a7 Remove unused poll(2) emulation
Closes #235.
2012-05-16 00:00:27 -04:00
Keith Winstein 460c6c24d9 Update copyright information for third/poll 2012-04-25 02:47:51 -04:00
Keith Winstein d37b1c4387 Tweaks to Mac OS X build script to run 2012-04-09 15:51:26 -04:00
Peter Iannucci 4012348ec7 Packaging script for Mac OS X .pkg. 2012-04-09 15:51:26 -04:00