Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
*~
*.gz
*.zip
*.whl
/quickfix
47 changes: 47 additions & 0 deletions install-python.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/bin/bash
set -e
if [ -z "$1" ]
then
echo "No argument supplied for python executable path"
exit 1
fi
echo "Installing QuickFix for Python: $1"

rm -rf quickfix

git clone --depth 1 https://github.com/quickfix/quickfix.git
rm -rf quickfix/.git

#Clean up the build environment
rm -rf quickfix-python/C++
rm -rf quickfix-python/spec
rm -rf quickfix-python/quickfix*.py
rm -rf quickfix-python/doc
rm -rf quickfix-python/LICENSE

mkdir quickfix-python/C++
mkdir quickfix-python/spec

#Move the source into the folder at hand
cp quickfix/LICENSE quickfix-python

cp quickfix/src/python3/*.py quickfix-python
cp quickfix/src/C++/*.h quickfix-python/C++
cp quickfix/src/C++/*.hpp quickfix-python/C++
cp quickfix/src/C++/*.cpp quickfix-python/C++
cp -R quickfix/src/C++/double-conversion quickfix-python/C++
cp quickfix/src/python3/QuickfixPython.cpp quickfix-python/C++
cp quickfix/src/python3/QuickfixPython.h quickfix-python/C++

cp quickfix/spec/FIX*.xml quickfix-python/spec

#Satisfy empty headers
touch quickfix-python/C++/config.h
touch quickfix-python/C++/config_windows.h
touch quickfix-python/C++/Allocator.h
rm -f quickfix-python/C++/stdafx.*

#Do the build for the active python
pushd quickfix-python
CFLAGS="-I \"$(pwd)/C++\"" $1 setup.py install
popd
3 changes: 3 additions & 0 deletions package-python-wheels.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/bash
docker run --rm -v `pwd`:/io quay.io/pypa/manylinux1_x86_64 /io/quickfix-python-wheels/manylinux.sh
docker run --rm -v `pwd`:/io quay.io/pypa/manylinux1_i686 linux32 /io/quickfix-python-wheels/manylinux.sh
5 changes: 5 additions & 0 deletions package-python.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
rm -rf quickfix
git clone --depth 1 https://github.com/quickfix/quickfix.git
rm -rf quickfix/.git

rm -rf quickfix-python/C++
rm -rf quickfix-python/spec
rm -rf quickfix-python/quickfix*.py
Expand All @@ -21,6 +25,7 @@ cp quickfix/spec/FIX*.xml quickfix-python/spec

touch quickfix-python/C++/config.h
touch quickfix-python/C++/config_windows.h
touch quickfix-python/C++/Allocator.h
rm -f quickfix-python/C++/stdafx.*

pushd quickfix-python
Expand Down
54 changes: 54 additions & 0 deletions quickfix-python-wheels/manylinux.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
#!/bin/bash

rm -rf quickfix

git clone --depth 1 https://github.com/quickfix/quickfix.git
rm -rf quickfix/.git

#Install for the python at hand
rm -rf quickfix-python
cp -r /io/quickfix-python ./quickfix-python
rm -rf quickfix-python/C++
rm -rf quickfix-python/spec
rm -rf quickfix-python/quickfix*.py
rm -rf quickfix-python/doc
rm -rf quickfix-python/LICENSE

mkdir quickfix-python/C++
mkdir quickfix-python/spec

cp quickfix/LICENSE quickfix-python

cp quickfix/src/python3/*.py quickfix-python
cp quickfix/src/C++/*.h quickfix-python/C++
cp quickfix/src/C++/*.hpp quickfix-python/C++
cp quickfix/src/C++/*.cpp quickfix-python/C++
cp -R quickfix/src/C++/double-conversion quickfix-python/C++
cp quickfix/src/python3/QuickfixPython.cpp quickfix-python/C++
cp quickfix/src/python3/QuickfixPython.h quickfix-python/C++

cp quickfix/spec/FIX*.xml quickfix-python/spec

touch quickfix-python/C++/config.h
touch quickfix-python/C++/config_windows.h
touch quickfix-python/C++/Allocator.h
rm -f quickfix-python/C++/stdafx.*

pushd quickfix-python
for PYBIN in /opt/python/*/bin/; do
echo "$PYBIN"
"${PYBIN}/pip" wheel . -w quickfix-python-wheels
done
for whl in quickfix-python-wheels/*.whl; do
auditwheel repair "$whl" -w /io/quickfix-python-wheels/
done
popd

#pushd quickfix
# ./bootstrap
# ./configure --with-python2
# make
# pushd src/python2
# make check
# popd
#popd