diff --git a/.tarvisScripts/buildPoppler.sh b/.tarvisScripts/buildPoppler.sh new file mode 100755 index 0000000..a13f8e8 --- /dev/null +++ b/.tarvisScripts/buildPoppler.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +# This bash script clones and builds the specified poppler release + +# See: https://github.com/pdf2htmlEX/buildAndPackagingTools/blob/master/building/awsEC2/scripts/dobuildPoppler + +# Clone and build poppler +git clone ${POPPLER_SOURCE} + +cd poppler + +git checkout tags/${POPPLER_RELEASE} -b poppler-local + +mkdir build + +cd build + +cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \ + -DENABLE_XPDF_HEADERS=ON -DENABLE_LIBOPENJPEG=none .. + +make + + diff --git a/.tarvisScripts/installPoppler.sh b/.tarvisScripts/installPoppler.sh new file mode 100755 index 0000000..2aed836 --- /dev/null +++ b/.tarvisScripts/installPoppler.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# This bash scripts **installs** poppler + +# See: https://github.com/pdf2htmlEX/buildAndPackagingTools/blob/master/building/awsEC2/scripts/doinstallPoppler + +cd poppler/build + +sudo make install + +cd .. + +sudo mkdir -p /usr/include/poppler +sudo cp poppler/poppler/*.h /usr/include/poppler + +sudo mkdir -p /usr/include/poppler/goo +sudo cp poppler/goo/*.h /usr/include/poppler/goo + +sudo mkdir -p /usr/include/poppler/fofi +sudo cp poppler/fofi/*.h /usr/include/poppler/fofi + +sudo mkdir -p /usr/include/poppler/splash +sudo cp poppler/splash/*.h /usr/include/poppler/splash + +sudo cp poppler/build/poppler/poppler-config.h \ + /usr/include/poppler + + diff --git a/.tarvisScripts/setupTests.sh b/.tarvisScripts/setupTests.sh new file mode 100755 index 0000000..8c0eac1 --- /dev/null +++ b/.tarvisScripts/setupTests.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# This bash script sets up the test environment + +# Test setup +pip install --user Pillow selenium sauceclient +export DISPLAY=:99.0 +test/start_xvfb.sh +pushd / +python -m SimpleHTTPServer 8000 >/dev/null 2>&1 & +popd +sleep 5 + diff --git a/.travis.yml b/.travis.yml index c48cdd9..835723d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,15 +4,15 @@ sudo: true os: - linux - - osx +# - osx + +dist: bionic env: global: - - POPPLER_NAME="poppler-0.63.0" - POPPLER_SOURCE="https://gitlab.freedesktop.org/poppler/poppler.git" - - FONTFORGE_SOURCE="https://github.com/fontforge/fontforge.git" - - LIBUNINAMESLIST_SOURCE="https://github.com/fontforge/libuninameslist.git" - + matrix: + - POPPLER_RELEASE="poppler-0.81.0" compiler: gcc @@ -22,109 +22,62 @@ addons: packages: - build-essential - autoconf - - gcc - - pkg-config - git + - pkg-config - cmake - - ca-certificates - - libfreetype6-dev + - make + - gcc + - g++ + # - ca-certificates + # - libfreetype6-dev # Poppler-specific packages - - libfontconfig1-dev + - libfontforge-dev + - libfontconfig-dev - libjpeg-dev + - libpng-dev - libnss3-dev - # libuninameslist-specific packages - - automake - - libtool - # fontforge-specific packages - - libltdl-dev - - python-dev - - libglib2.0-dev - - libxml2-dev - - libspiro-dev - - gettext # pdf2htmlEX-specific packages - default-jre - - libcairo2-dev + - libcairo-dev + - libspiro-dev - libpango1.0-dev - homebrew: - packages: - - autoconf - - pkg-config - - git - - cmake - - freetype - # Poppler-specific packages - - fontconfig - - jpeg - - nss - # libuninameslist-specific packages - - automake - - libtool - # fontforge-specific packages - - python - - glib - - xml2 - - libspiro - - gettext - # pdf2htmlEX-specific packages - - cairo - - pango - sauce_connect: true + - poppler-data +# homebrew: +# packages: +# - autoconf +# - pkg-config +# - git +# - cmake +# - freetype +# # Poppler-specific packages +# - fontconfig +# - jpeg +# - nss +# # libuninameslist-specific packages +# - automake +# - libtool +# # fontforge-specific packages +# - python +# - glib +# - xml2 +# - libspiro +# - gettext +# # pdf2htmlEX-specific packages +# - cairo +# - pango +# sauce_connect: true matrix: fast_finish: true - allow_failures: - - os: osx # Until the build passes, then re-enable. +# allow_failures: +# - os: osx # Until the build passes, then re-enable. before_install: -# Clone and build poppler - - git clone ${POPPLER_SOURCE} - - cd poppler; - git checkout tags/${POPPLER_NAME} -b poppler-local; - cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/usr -DENABLE_XPDF_HEADERS=ON -DENABLE_LIBOPENJPEG=none .; - make; - make install - - cd ${TRAVIS_BUILD_DIR} - -# Install libuninameslist - - git clone ${LIBUNINAMESLIST_SOURCE} - - cd libuninameslist; - git checkout tags/20180701 -b libuninameslist-local; - autoreconf -i; - automake; - ./configure --prefix=${TRAVIS_BUILD_DIR}/usr; - make; - make install - - cd ${TRAVIS_BUILD_DIR} - -# Install fontforge - - git clone ${FONTFORGE_SOURCE} - - cd fontforge; - git checkout tags/20170731 -b fontforge-local; - ./bootstrap; - ./configure --disable-programs --disable-python-extension --disable-python-scripting --prefix=${TRAVIS_BUILD_DIR}/usr; - make; - make install; - sudo ldconfig - - cd ${TRAVIS_BUILD_DIR} - -# Test setup - - pip install --user Pillow selenium sauceclient - - export DISPLAY=:99.0 - - test/start_xvfb.sh - - pushd / - - python -m SimpleHTTPServer 8000 >/dev/null 2>&1 & - - popd - - sleep 5 - -before_script: - - export LD_LIBRARY_PATH=${TRAVIS_BUILD_DIR}/usr/lib:$LD_LIBRARY_PATH - - export PKG_CONFIG_PATH=${TRAVIS_BUILD_DIR}/usr/lib/pkgconfig:$PKG_CONFIG_PATH - - patch < CMakeLists.txt.patch - - mkdir build && cd build && cmake -DENABLE_SVG=ON -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/usr .. + - ./.travisScripts/buildPoppler.sh + - ./.travisScripts/installPoppler.sh + #- ./.travisScripts/setupTests.sh script: - - make - - P2H_TEST_REMOTE=1 ctest --output-on-failure --verbose - - make install - - ${TRAVIS_BUILD_DIR}/usr/bin/pdf2htmlEX -v + - ./dobuild + - ./doinstall + - /usr/bin/pdf2htmlEX -v diff --git a/.travis.yml.orig20190930 b/.travis.yml.orig20190930 new file mode 100644 index 0000000..c48cdd9 --- /dev/null +++ b/.travis.yml.orig20190930 @@ -0,0 +1,130 @@ +language: cpp + +sudo: true + +os: + - linux + - osx + +env: + global: + - POPPLER_NAME="poppler-0.63.0" + - POPPLER_SOURCE="https://gitlab.freedesktop.org/poppler/poppler.git" + - FONTFORGE_SOURCE="https://github.com/fontforge/fontforge.git" + - LIBUNINAMESLIST_SOURCE="https://github.com/fontforge/libuninameslist.git" + + +compiler: gcc + +addons: + apt: + update: true + packages: + - build-essential + - autoconf + - gcc + - pkg-config + - git + - cmake + - ca-certificates + - libfreetype6-dev + # Poppler-specific packages + - libfontconfig1-dev + - libjpeg-dev + - libnss3-dev + # libuninameslist-specific packages + - automake + - libtool + # fontforge-specific packages + - libltdl-dev + - python-dev + - libglib2.0-dev + - libxml2-dev + - libspiro-dev + - gettext + # pdf2htmlEX-specific packages + - default-jre + - libcairo2-dev + - libpango1.0-dev + homebrew: + packages: + - autoconf + - pkg-config + - git + - cmake + - freetype + # Poppler-specific packages + - fontconfig + - jpeg + - nss + # libuninameslist-specific packages + - automake + - libtool + # fontforge-specific packages + - python + - glib + - xml2 + - libspiro + - gettext + # pdf2htmlEX-specific packages + - cairo + - pango + sauce_connect: true + +matrix: + fast_finish: true + allow_failures: + - os: osx # Until the build passes, then re-enable. + +before_install: +# Clone and build poppler + - git clone ${POPPLER_SOURCE} + - cd poppler; + git checkout tags/${POPPLER_NAME} -b poppler-local; + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/usr -DENABLE_XPDF_HEADERS=ON -DENABLE_LIBOPENJPEG=none .; + make; + make install + - cd ${TRAVIS_BUILD_DIR} + +# Install libuninameslist + - git clone ${LIBUNINAMESLIST_SOURCE} + - cd libuninameslist; + git checkout tags/20180701 -b libuninameslist-local; + autoreconf -i; + automake; + ./configure --prefix=${TRAVIS_BUILD_DIR}/usr; + make; + make install + - cd ${TRAVIS_BUILD_DIR} + +# Install fontforge + - git clone ${FONTFORGE_SOURCE} + - cd fontforge; + git checkout tags/20170731 -b fontforge-local; + ./bootstrap; + ./configure --disable-programs --disable-python-extension --disable-python-scripting --prefix=${TRAVIS_BUILD_DIR}/usr; + make; + make install; + sudo ldconfig + - cd ${TRAVIS_BUILD_DIR} + +# Test setup + - pip install --user Pillow selenium sauceclient + - export DISPLAY=:99.0 + - test/start_xvfb.sh + - pushd / + - python -m SimpleHTTPServer 8000 >/dev/null 2>&1 & + - popd + - sleep 5 + +before_script: + - export LD_LIBRARY_PATH=${TRAVIS_BUILD_DIR}/usr/lib:$LD_LIBRARY_PATH + - export PKG_CONFIG_PATH=${TRAVIS_BUILD_DIR}/usr/lib/pkgconfig:$PKG_CONFIG_PATH + - patch < CMakeLists.txt.patch + - mkdir build && cd build && cmake -DENABLE_SVG=ON -DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/usr .. + +script: + - make + - P2H_TEST_REMOTE=1 ctest --output-on-failure --verbose + - make install + - ${TRAVIS_BUILD_DIR}/usr/bin/pdf2htmlEX -v