old_contents: from toolchain import Recipe, shprint
  from os.path import join
  import sh
  
  
  arch_mapper = {'i386': 'darwin-i386-cc',
                 'x86_64': 'darwin64-x86_64-cc',
                 'armv7': 'iphoneos-cross',
                 'arm64': 'iphoneos-cross'}
  
  
  class OpensslRecipe(Recipe):
      version = "1.0.2f"
      url = "http://www.openssl.org/source/openssl-{version}.tar.gz"
      libraries = ["libssl.a", "libcrypto.a"]
      include_dir = "include"
      include_per_arch = True
  
      def build_arch(self, arch):
          options_iphoneos = (
              "-isysroot {}".format(arch.sysroot),
              "-DOPENSSL_THREADS",
              "-D_REENTRANT",
              "-DDSO_DLFCN",
              "-DHAVE_DLFCN_H",
              "-fomit-frame-pointer",
              "-fno-common",
              "-O3"
          )
          build_env = arch.get_env()
          target = arch_mapper[arch.arch]
          shprint(sh.env, _env=build_env)
          sh.perl(join(self.build_dir, "Configure"),
                  target,
                  _env=build_env)
          if target == 'iphoneos-cross':
              sh.sed("-ie", "s!^CFLAG=.*!CFLAG={} {}!".format(build_env['CFLAGS'],
                     " ".join(options_iphoneos)),
                     "Makefile")
              sh.sed("-ie", "s!static volatile sig_atomic_t intr_signal;!static volatile intr_signal;! ",
                     "crypto/ui/ui_openssl.c")
          else:
              sh.sed("-ie", "s!^CFLAG=!CFLAG={} !".format(build_env['CFLAGS']),
                     "Makefile")
          shprint(sh.make, "clean")
          shprint(sh.make, "-j4", "build_libs")
  
  recipe = OpensslRecipe()
  
new_contents: from toolchain import Recipe, shprint
  from os.path import join
  import sh
  
  
  arch_mapper = {'i386': 'darwin-i386-cc',
                 'x86_64': 'darwin64-x86_64-cc',
                 'armv7': 'iphoneos-cross',
                 'arm64': 'iphoneos-cross'}
  
  
  class OpensslRecipe(Recipe):
      version = "1.0.2g"
      url = "http://www.openssl.org/source/openssl-{version}.tar.gz"
      libraries = ["libssl.a", "libcrypto.a"]
      include_dir = "include"
      include_per_arch = True
  
      def build_arch(self, arch):
          options_iphoneos = (
              "-isysroot {}".format(arch.sysroot),
              "-DOPENSSL_THREADS",
              "-D_REENTRANT",
              "-DDSO_DLFCN",
              "-DHAVE_DLFCN_H",
              "-fomit-frame-pointer",
              "-fno-common",
              "-O3"
          )
          build_env = arch.get_env()
          target = arch_mapper[arch.arch]
          shprint(sh.env, _env=build_env)
          sh.perl(join(self.build_dir, "Configure"),
                  target,
                  _env=build_env)
          if target == 'iphoneos-cross':
              sh.sed("-ie", "s!^CFLAG=.*!CFLAG={} {}!".format(build_env['CFLAGS'],
                     " ".join(options_iphoneos)),
                     "Makefile")
              sh.sed("-ie", "s!static volatile sig_atomic_t intr_signal;!static volatile intr_signal;! ",
                     "crypto/ui/ui_openssl.c")
          else:
              sh.sed("-ie", "s!^CFLAG=!CFLAG={} !".format(build_env['CFLAGS']),
                     "Makefile")
          shprint(sh.make, "clean")
          shprint(sh.make, "-j4", "build_libs")
  
  recipe = OpensslRecipe()
  
subject: Update openssl version