Never did end up following up on this.

Recently came back to the front of my mind because the AUR is cleaning up old packages and I might adopt the calibre-git package if I know exactly what needs doing.
(I did notice I need to checkout the calibre-translations.git repo as well, which was not immediately evident. Either the readme in translations/ needs to be updated, or maybe this should be a submodule or something.)
So running python2 setup.py resources errors in:
Code:
*
* Running resources
*
Creating scripts.pickle
Creating builtin_recipes.xml
Creating builtin_recipes.zip
Creating ebook-convert-complete.pickle
Traceback (most recent call last):
File "setup.py", line 99, in <module>
sys.exit(main())
File "setup.py", line 85, in main
command.run_all(opts)
File "/var/aur/calibre-git/src/calibre/setup/__init__.py", line 181, in run_all
self.run_cmd(self, opts)
File "/var/aur/calibre-git/src/calibre/setup/__init__.py", line 178, in run_cmd
cmd.run(opts)
File "/var/aur/calibre-git/src/calibre/setup/resources.py", line 283, in run
from calibre.ebooks.conversion.cli import create_option_parser
File "/var/aur/calibre-git/src/calibre/src/calibre/ebooks/conversion/cli.py", line 45, in <module>
''') + localize_user_manual_link('http://manual.calibre-ebook.com/conversion.html')
File "/var/aur/calibre-git/src/calibre/src/calibre/utils/localization.py", line 408, in localize_user_manual_link
lc = lang_as_iso639_1(get_lang())
File "/var/aur/calibre-git/src/calibre/src/calibre/utils/localization.py", line 393, in lang_as_iso639_1
code = canonicalize_lang(name_or_code)
File "/var/aur/calibre-git/src/calibre/src/calibre/utils/localization.py", line 344, in canonicalize_lang
iso639 = _load_iso639()
File "/var/aur/calibre-git/src/calibre/src/calibre/utils/localization.py", line 298, in _load_iso639
with open(ip, 'rb') as f:
IOError: [Errno 2] No such file or directory: '/var/aur/calibre-git/src/calibre/resources/localization/iso639.pickle'
Copying that in from the versioned tarball on the main website gets me a little further:
Code:
* Running resources
*
Creating ebook-convert-complete.pickle
Creating template-functions.json
Creating editor-functions.json
Traceback (most recent call last):
File "setup.py", line 99, in <module>
sys.exit(main())
File "setup.py", line 85, in main
command.run_all(opts)
File "/var/aur/calibre-git/src/calibre/setup/__init__.py", line 181, in run_all
self.run_cmd(self, opts)
File "/var/aur/calibre-git/src/calibre/setup/__init__.py", line 178, in run_cmd
cmd.run(opts)
File "/var/aur/calibre-git/src/calibre/setup/resources.py", line 319, in run
from calibre.gui2.tweak_book.function_replace import builtin_functions
File "/var/aur/calibre-git/src/calibre/src/calibre/gui2/tweak_book/__init__.py", line 13, in <module>
from calibre.spell.dictionary import Dictionaries, parse_lang_code
File "/var/aur/calibre-git/src/calibre/src/calibre/spell/dictionary.py", line 82, in <module>
ul = parse_lang_code(get_system_locale() or 'en-US')
File "/var/aur/calibre-git/src/calibre/src/calibre/spell/__init__.py", line 33, in parse_lang_code
ccodes, ccodemap = get_codes()[:2]
File "/var/aur/calibre-git/src/calibre/src/calibre/spell/__init__.py", line 21, in get_codes
data = cPickle.loads(P('localization/iso3166.pickle', allow_user_override=False, data=True))
File "/var/aur/calibre-git/src/calibre/src/calibre/utils/resources.py", line 71, in get_path
with open(fpath, 'rb') as f:
IOError: [Errno 2] No such file or directory: u'/var/aur/calibre-git/src/calibre/resources/localization/iso3166.pickle'
Ditto. Now:
Code:
* Running resources
*
Creating template-functions.json
Creating editor-functions.json
Traceback (most recent call last):
File "setup.py", line 99, in <module>
sys.exit(main())
File "setup.py", line 85, in main
command.run_all(opts)
File "/var/aur/calibre-git/src/calibre/setup/__init__.py", line 181, in run_all
self.run_cmd(self, opts)
File "/var/aur/calibre-git/src/calibre/setup/__init__.py", line 178, in run_cmd
cmd.run(opts)
File "/var/aur/calibre-git/src/calibre/setup/resources.py", line 319, in run
from calibre.gui2.tweak_book.function_replace import builtin_functions
File "/var/aur/calibre-git/src/calibre/src/calibre/gui2/tweak_book/function_replace.py", line 18, in <module>
from calibre.gui2.complete2 import EditWithComplete
File "/var/aur/calibre-git/src/calibre/src/calibre/gui2/complete2.py", line 20, in <module>
from calibre.gui2.widgets import EnComboBox, LineEditECM
File "/var/aur/calibre-git/src/calibre/src/calibre/gui2/widgets.py", line 17, in <module>
from calibre.gui2.filename_pattern_ui import Ui_Form
ImportError: No module named filename_pattern_ui
So, `python2 setup.py gui`
Then another message saying translation stats aren't around.
At this point building the translations works, and then resources finally completes.
Moral of the story -- the git sources are still not enough.
... on the other hand, it doesn't *seem* to be necessary at all if building from the tarballs, since it is all there already AFAICT. Also, on the
calibre website it actually says you only need to run `python2 setup.py install` from the source tarball.