Meteor - HVboom/HowTo-DigitalOcean GitHub Wiki

Description

THE FASTEST WAY TO BUILD JAVASCRIPT APPS

Meteor is an open source platform for web, mobile, and desktop.

:speech_balloon: copied from home page

Setup Meteor on FreeBSD

Install all dependency packages

Install Meteor

Because FreeBSD is not official supported by Meteor you have to adjust some platform specific settings. I found a starting point on unibia.com for these adjustments, but had to change them to be compatible with the current Meteor version.

fetch https://raw.githubusercontent.com/tuaris/meteor-freebsd/master/install.sh 

Manual adjustments

  1. Allow FreeBSD as supported platform in tools/utils/archinfo.js based on commit 2fa38bd

    ...
    
    // Valid architectures that Meteor officially supports.
    export const VALID_ARCHITECTURES = {
      "os.osx.x86_64": true,
      "os.linux.x86_64": true,
      "os.linux.x86_32": true,
      "os.windows.x86_64": true,
      "os.windows.x86_32": true,
      // add freebsd
      "os.freebsd.x86_64": true,
    };
    
    ...
    
        // change condition to allow freebsd too
        else if (_.contains(["linux", "freebsd"], platform)) {
          var machine = run('uname', '-m');
          if (_.contains(["i386", "i686", "x86"], machine)) {
            _host = "os." + platform + "x86_32";
          } else if (_.contains(["x86_64", "amd64", "ia64"], machine)) {
            _host = "os." + platform + "x86_64";
          } else {
            throw new Error("Unsupported architecture: " + machine);
          }
        }
    
    ...
    
  2. Allow FreeBSD as supported platform in meteor based on commit e8612e5

    ...
    
    UNAME=$(uname)
    # allow FreeBSD
    if [ "$UNAME" != "Linux" -a "$UNAME" != "FreeBSD" -a "$UNAME" != "Darwin" ] ; then
        echo "Sorry, this OS is not supported."
        exit 1
    fi
    
    ...
    
    # allow FreeBSD
    elif [ "$UNAME" = "Linux" -o "$UNAME" != "FreeBSD" ] ; then
        ARCH="$(uname -m)"
        # allow amd64
        if [ "$ARCH" = "amd64" ] ; then
            ARCH="x86_64"
        fi
        if [ "$ARCH" != "i686" -a "$ARCH" != "x86_64" ] ; then
            echo "Unsupported architecture: $ARCH"
            echo "Meteor only supports i686 and x86_64 for now."
            exit 1
        fi
    fi
    PLATFORM="${UNAME}_${ARCH}"
    
    ...