-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Writing this as a note here because it's a lot of extraneous details for our docs, plus it should eventually be resolved upstream. Basically, due to xmlsec/python-xmlsec#252 / xmlsec/python-xmlsec#254 pipenv install invenio-saml
will fail when it tries to build the C extensions for the xmlsec
dependency of invenio-saml. xmlsec
says to brew install pkg-config libxmlsec1 libxml2
(libxml2 is a dep of libxmlsec1 so it's not needed) but it's not compatible with the libxmlsec1 > 1.3 that's in homebrew. So we need to install an older libxmlsec1 with the steps below.
First, open App Store, start installing XCode. [email protected] requires a full XCode and not just the command line tools to build. While that's happening...
brew install pkg-config
brew tap homebrew/core # core may not be tapped under new brew JSON APIs
brew install libxmlsec1
brew tap-brew $USER/local # create temporary tap, $USER can also just be random string
brew extract --version=1.2.37 libxmlsec1 $USER/local
brew rm libxmlsec1
brew edit $USER/local/libxmlsec1
# change download url to https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-1.2.37.tar.gz
brew install --overwrite $USER/local/[email protected]
pipenv install invenio-saml==1.0.0a4
After that's done, brew update
commands will throw an error because the $USER/local
tap lacks a remote. You can brew rm [email protected] && brew untap $USER/local
if you won't need to reinstall invenio-saml.