1. 22 Jul, 2018 4 commits
  2. 21 Jul, 2018 6 commits
    • Nirbheek Chauhan's avatar
      cerbero: Redownload tarball on another unpack error · 422541ee
      Nirbheek Chauhan authored
      Sometimes EOFError is raised, so handle that too.
      422541ee
    • Nirbheek Chauhan's avatar
      cerbero: CMake recipes call @modify_environment twice · 2af16912
      Nirbheek Chauhan authored
      So make the function a no-op if called twice for the same build step.
      This means you must not call `self.append_env` and friends inside
      @modify_environment and we now raise an exception if this is done
      instead of silently ignoring the modifications.
      2af16912
    • Nirbheek Chauhan's avatar
      cerbero: Don't try to remove non-existent downloads · bcd1bd14
      Nirbheek Chauhan authored
      Same code exists for wget and urllib2.
      bcd1bd14
    • Nirbheek Chauhan's avatar
      cerbero: Fix build failure message for universal recipes · e076b435
      Nirbheek Chauhan authored
      `arch` needs to be defined because it is used in exception handling.
      e076b435
    • Nirbheek Chauhan's avatar
      cerbero: Rework environment modification in recipes · 7462b065
      Nirbheek Chauhan authored
      
      
      Environment variable modification in a recipe used to be done with:
      
        self.append_env, self.prepend_env, or self.new_env
      
      All of these were dictionaries of {string:string} mappings, which
      means that if a recipe wanted to, say, append to `CFLAGS` from
      multiple places within the recipe (f.ex., `glib.recipe`), you had to
      carefully juggle `=` and `+=` in recipes, which was error-prone
      (f.ex., `gstreamer-1.0.recipe` `variants.nodebug` was broken).
      
      Now that we also conditionally use `self.append_env['CFLAGS']` in
      `cerbero/build/build.py` for bitcode support with make-based build
      systems, it's impossible to get this right in recipes. This was
      causing the cross-ios-universal builds to fail on recipes that
      directly set `self.append_env['CFLAGS'] = 'foo'` such as pixman.
      
      The dictionaries have now been replaced with the following functions:
      
        self.append_env(varname, value1, value2, ..., sep=separator)
        self.prepend_env(varname, value1, value2, ..., sep=separator)
        self.set_env(varname, value1, value2, ..., sep=separator)
      
      The separator is used to join value1, value2, etc and also while
      appending/prepending to the value in the env. It is optional, and
      defaults to ` ` (space).
      
      Most often the usage is very simple to translate:
      
        self.append_env['CFLAGS'] = ' -funroll-loops '
        =>
        self.append_env('CFLAGS', '-funroll-loops')
      
      If values are omitted with `self.set_env()`, the variable is unset:
      
        self.new_env['MAKEFLAGS'] = None
        =>
        self.set_env('MAKEFLAGS')
      
      An important intended feature is that multiple calls to these
      functions all take effect sequentially at build time for each build
      step. So, you can call append and prepend multiple times on the same
      variable, and the values will be appended and prepended in that order
      to the value at build time.
      
      Note that if you call `self.set_env()` on a variable, the variable will,
      of course, be set to that value and previous append/prepend
      declarations will be overriden.
      Reviewed-by: default avatarJan Schmidt <jan@centricular.com>
      7462b065
    • Nirbheek Chauhan's avatar
      cerbero: Ensure that deleted env vars are restored on return · 461803fe
      Nirbheek Chauhan authored
      Otherwise these variables will be gone for the rest of the build.
      
      This wasn't caught immediately because it only breaks when you build
      multiple recipes in a single run.
      461803fe
  3. 19 Jul, 2018 12 commits
  4. 13 Jul, 2018 3 commits
  5. 10 Jul, 2018 1 commit
  6. 05 Jul, 2018 1 commit
  7. 04 Jul, 2018 2 commits
  8. 03 Jul, 2018 2 commits
    • Nirbheek Chauhan's avatar
      cerbero: Fix VS env extraction with VS 2017 · 9b52d5b8
      Nirbheek Chauhan authored
      The VS 2017 batch files print message to stdout that mess up the
      environment extraction. Try to silence them, and ignore whatever else
      it decides to print unconditionally.
      9b52d5b8
    • Nirbheek Chauhan's avatar
      cerbero: Don't try to use curl on Windows · 331d7704
      Nirbheek Chauhan authored
      The curl that ships with the latest Windows 10 works fine, but people
      often have bad curl installations which can make bootstrap fail.
      Always Use urllib2 on Windows, and we should move to using it
      exclusively on all platforms.
      331d7704
  9. 30 Jun, 2018 1 commit
  10. 29 Jun, 2018 7 commits
  11. 28 Jun, 2018 1 commit