How do you execute a cmd.script once the pre-requisite files have been downloaded?

I have a very simple use case that I'm trying to get going:

I need to download and install a few tar.gz source packages from the master and then run a script to compile and install all of them.

I realize this is probably a basic question, but any pointers will be appreciated.

/usr/local/src/source1.tar.gz:
  file.managed:
    - source: salt://sources/source1.tar.gz
    - user: root
    - group: root
    - mode: 644

/usr/local/src/source2.tar.gz:
  file.managed:
    - source: salt://sources/source2.tar.gz
    - user: root
    - group: root
    - mode: 644

/usr/local/src/source3.tar.gz:
  file.managed:
    - source: salt://sources/source3.tar.gz
    - user: root
    - group: root
    - mode: 644

//I need something like this, but am not sure how to do it
compile_and_install:
  - require: /usr/local/src/source1.tar.gz
  - require: /usr/local/src/source2.tar.gz
  - require: /usr/local/src/source3.tar.gz
  cmd.script:
    - source: salt://scripts/compile_and_install.sh
    - user: root
    - group: root
    - shell: /bin/bash

Figured it out, in case it helps someone in the future:

/usr/local/src/source1.tar.gz:
  file.managed:
    - source: salt://sources/source1.tar.gz
    - user: root
    - group: root
    - mode: 644

/usr/local/src/source2.tar.gz:
  file.managed:
    - source: salt://sources/source2.tar.gz
    - user: root
    - group: root
    - mode: 644

/usr/local/src/source3.tar.gz:
  file.managed:
    - source: salt://sources/source3.tar.gz
    - user: root
    - group: root
    - mode: 644

compile_and_install:
  cmd.script:
    - require:
      - file: /usr/local/src/source1.tar.gz
      - file: /usr/local/src/source2.tar.gz
      - file: /usr/local/src/source3.tar.gz
    - source: salt://scripts/compile_and_install.sh
    - user: root
    - group: root
    - shell: /bin/bash

Recent versions of salt have taken much of this pain away with State Auto Ordering on by default. http://docs.saltstack.com/ref/states/ordering.html#state-auto-ordering

That said, your solution is the better one of explicitly stating the requirement.