From f922bf7b8856dc088dcf3e5716a08b6438efb5ff Mon Sep 17 00:00:00 2001 From: Stephen Gaito Date: Tue, 2 Jun 2020 10:47:40 +0000 Subject: [PATCH 01/10] test travis 1 --- .travis.yml | 95 ++++++------------------ .travis.yml.macos.20200602 | 111 +++++++++++++++++++++++++++++ buildScripts/travisLinuxAptDoItAll | 14 ++-- 3 files changed, 137 insertions(+), 83 deletions(-) create mode 100644 .travis.yml.macos.20200602 diff --git a/.travis.yml b/.travis.yml index fee06ac..8f44dd7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,5 @@ language: cpp -sudo: true - # for windows *test* of AppImage # see https://docs.travis-ci.com/user/build-matrix/#using-different-programming-languages-per-job # and https://discourse.appimage.org/t/run-appimage-on-windows/177 @@ -14,85 +12,32 @@ branches: except: # do not build tags that we create using the upload.sh script - /^(?i:continuous.*)$/ -# apt: -# update: true -# packages: -# # build tools -# - git -# - pkg-config -# - ruby -# - autoconf -# - libtool -# - cmake -# - make -# - gcc -# - g++ -# - gettext -# - openjdk-8-jre-headless -# - tree -# # dev libraries -# - libcairo-dev -# - libspiro-dev -# - libpng-dev -# - libjpeg-dev -# - poppler-data -# - libpango1.0-dev -# - liblcms2-dev -# - libxml2-dev -# - libuninameslist-dev -# homebrew: -# packages: -# - pdf2html-new -# - 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 +#matrix: +# fast_finish: true # allow_failures: # - os: osx # Until the build passes, then re-enable. jobs: + fast_finish: true include: -# - stage: build-linux + - stage: build-linux + os: linux + env: + global: DOCKER_FROM="ubuntu:18.04" + services: + - docker + dist: bionic + script: ./buildScripts/travisLinuxAptDoItAll +# - stage: build-osx # os: -# - linux -# env: -# global: -# - DOCKER_FROM="ubuntu:18.04" -# services: -# - docker -# dist: bionic -# script: ./buildScripts/travisLinuxAptDoItAll - - stage: build-osx - os: - - osx - osx_image: xcode10.1 - addons: - homebrew: - update: true - script: - - ./buildScripts/travisHomeBrewDoItAll - - pdf2htmlEX --version +# - osx +# osx_image: xcode10.1 +# addons: +# homebrew: +# update: true +# script: +# - ./buildScripts/travisHomeBrewDoItAll +# - pdf2htmlEX --version # - stage: test # os: # - linux diff --git a/.travis.yml.macos.20200602 b/.travis.yml.macos.20200602 new file mode 100644 index 0000000..fee06ac --- /dev/null +++ b/.travis.yml.macos.20200602 @@ -0,0 +1,111 @@ +language: cpp + +sudo: true + +# for windows *test* of AppImage +# see https://docs.travis-ci.com/user/build-matrix/#using-different-programming-languages-per-job +# and https://discourse.appimage.org/t/run-appimage-on-windows/177 +# and https://docs.travis-ci.com/user/reference/windows/ +# why fuse is not possible on windows: https://superuser.com/questions/179436/is-it-possible-to-use-fuse-with-windows + +compiler: gcc + +branches: + except: # do not build tags that we create using the upload.sh script + - /^(?i:continuous.*)$/ + +# apt: +# update: true +# packages: +# # build tools +# - git +# - pkg-config +# - ruby +# - autoconf +# - libtool +# - cmake +# - make +# - gcc +# - g++ +# - gettext +# - openjdk-8-jre-headless +# - tree +# # dev libraries +# - libcairo-dev +# - libspiro-dev +# - libpng-dev +# - libjpeg-dev +# - poppler-data +# - libpango1.0-dev +# - liblcms2-dev +# - libxml2-dev +# - libuninameslist-dev +# homebrew: +# packages: +# - pdf2html-new +# - 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. + +jobs: + include: +# - stage: build-linux +# os: +# - linux +# env: +# global: +# - DOCKER_FROM="ubuntu:18.04" +# services: +# - docker +# dist: bionic +# script: ./buildScripts/travisLinuxAptDoItAll + - stage: build-osx + os: + - osx + osx_image: xcode10.1 + addons: + homebrew: + update: true + script: + - ./buildScripts/travisHomeBrewDoItAll + - pdf2htmlEX --version +# - stage: test +# os: +# - linux + #- osx + #- windows +# script: ./testScripts/doItAllTravis +#deploy: +# provider: releases +# api_key: +# secure: ALWKAkgeLSPS4ULyTtxU50ZmSICEafCirCQ1YmuVTqe9nrc8E9Jm+4QaBlab5k6v90EpzNvZBnMOiT8cT1Wp2lqJzcGdGMcG49mhRvirdYhXgWuHYnygVgkxEhgejXcQaEiaGPDV3Y1k9MuiAVr8ApjUvIMlY4Hg1y0r7/rqR2fYmen+f+6a87bp5PptwakC9bfoYb92651d0TbugFfKT6TGKlE2jGlQ6On1alzLQ2DXA8coUjwpp4NcDD8OhnYGN/VZWkqckaBrMrHwjJ5FTfy5MGBOqCLzNix8sCGLEeCKkKC8J0nniNJ7+KOu9LJ2uIezKYfaUOJV0kik7F9ErvxjbfSRieako2yaSOR8X39aicTtpbyoXPRSKDU4WYX56vt4Dx7aNrYtP5b/UwWGXZa9MK7rNGJ+hiMDO1AzuyXirzR4RaJXCyC8n5W9ahBZBHCMqd5gMg5sMGPNj3Rgt34+R+nGYssum5wvr+6IKNl57sIoZFCgqviBrw2gJOCqlgOcEk/4ZSehWnXPCk6Gzxvkqkt/dmp8pJLNyvMaWcEZ6CXNHDU8MZS7bASo8Z7eAYvmX0MMjVty8J47expVaJ8M3OFHu6lE6tU8wwfd+Igr2TlWcixqaa3hDMgS+ghwdiZbYuMdR1AyZnEqK3xwvXXPPXrqRsB9xHtczLibkjY= +# file: pdf2htmlEX-newBuildSystem-x86_64.AppImage +# skip_cleanup: true +# on: +# tags: true +# repo: stephengaito/pdf2htmlEX + diff --git a/buildScripts/travisLinuxAptDoItAll b/buildScripts/travisLinuxAptDoItAll index 1abfed3..fb9db48 100755 --- a/buildScripts/travisLinuxAptDoItAll +++ b/buildScripts/travisLinuxAptDoItAll @@ -9,17 +9,15 @@ export PDF2HTMLEX_BRANCH="$(git rev-parse --abbrev-ref HEAD)" ./buildScripts/versionEnvs || travis_terminate 1; ./buildScripts/reportEnvs || travis_terminate 1; -./buildScripts/getBuildTools || travis_terminate 1; -./buildScripts/getDevLibraries || travis_terminate 1; +./buildScripts/getBuildToolsApt || travis_terminate 1; +./buildScripts/getDevLibrariesApt || travis_terminate 1; ./buildScripts/getPoppler || travis_terminate 1; ./buildScripts/buildPoppler || travis_terminate 1; -./buildScripts/installPoppler || travis_terminate 1; ./buildScripts/getFontforge || travis_terminate 1; ./buildScripts/buildFontforge || travis_terminate 1; -./buildScripts/installFontforge || travis_terminate 1; ./buildScripts/buildPdf2htmlEX || travis_terminate 1; ./buildScripts/installPdf2htmlEX || travis_terminate 1; -./buildScripts/createAppImage || travis_terminate 1; -./buildScripts/createDockerImage || travis_terminate 1; -./buildScripts/uploadGitHubRelease || travis_terminate 1; -./buildScripts/uploadDockerImage || travis_terminate 1; +#./buildScripts/createAppImage || travis_terminate 1; +#./buildScripts/createDockerImage || travis_terminate 1; +#./buildScripts/uploadGitHubRelease || travis_terminate 1; +#./buildScripts/uploadDockerImage || travis_terminate 1; From aaf512d418e0ce1329b88a7ba27b73afef5fbd0a Mon Sep 17 00:00:00 2001 From: Stephen Gaito Date: Tue, 2 Jun 2020 11:19:52 +0000 Subject: [PATCH 02/10] updated buildPopper to explicitly enable or disable graphics packages used by pdf2htmlEX --- buildScripts/buildPoppler | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/buildScripts/buildPoppler b/buildScripts/buildPoppler index 08103ff..a80d1db 100755 --- a/buildScripts/buildPoppler +++ b/buildScripts/buildPoppler @@ -35,6 +35,11 @@ cmake \ -DBUILD_SHARED_LIBS=OFF \ -DRUN_GPERF_IF_PRESENT=OFF \ -DEXTRA_WARN=OFF \ + -DENABLE_JPEG=ON \ + -DENABLE_PNG=ON \ + -DENABLE_TIFF=OFF \ + -DENABLE_NSS=OFF \ + -DENABLE_Cairo=ON \ .. make $MAKE_PARALLEL @@ -91,3 +96,6 @@ make $MAKE_PARALLEL # GLIB is requrired by pdf2htmlEX # GObjectIntrospection is not needed by pdf2htmlEX? # Iconv is only used if ENABLE_CPP +# +# They can be explicitly DISABLED using ENABLE_XXXX:BOOL=OFF where XXXX is +# the package name From f1828789f6d806848d9ed74d532c4db203ab4218 Mon Sep 17 00:00:00 2001 From: Stephen Gaito Date: Tue, 2 Jun 2020 11:34:11 +0000 Subject: [PATCH 03/10] ensure important buildScripts have set ev --- buildScripts/buildFontforge | 2 ++ buildScripts/buildPdf2htmlEX | 2 ++ buildScripts/buildPoppler | 2 ++ buildScripts/getBuildToolsApt | 2 ++ buildScripts/getBuildToolsBrew | 2 ++ buildScripts/getDevLibrariesApt | 2 ++ buildScripts/getDevLibrariesBrew | 2 ++ buildScripts/getFontforge | 2 ++ buildScripts/getPoppler | 2 ++ buildScripts/installFontforge | 2 ++ buildScripts/installPdf2htmlEX | 2 ++ buildScripts/installPoppler | 2 ++ 12 files changed, 24 insertions(+) diff --git a/buildScripts/buildFontforge b/buildScripts/buildFontforge index 8fd39c5..638607d 100755 --- a/buildScripts/buildFontforge +++ b/buildScripts/buildFontforge @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script build FontForge source buildScripts/reSourceVersionEnvs diff --git a/buildScripts/buildPdf2htmlEX b/buildScripts/buildPdf2htmlEX index cf6dd00..0c855a5 100755 --- a/buildScripts/buildPdf2htmlEX +++ b/buildScripts/buildPdf2htmlEX @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script builds pdf2htmlEX echo "" diff --git a/buildScripts/buildPoppler b/buildScripts/buildPoppler index a80d1db..65015c3 100755 --- a/buildScripts/buildPoppler +++ b/buildScripts/buildPoppler @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script builds the latest poppler echo "" diff --git a/buildScripts/getBuildToolsApt b/buildScripts/getBuildToolsApt index 5295f60..8d59586 100755 --- a/buildScripts/getBuildToolsApt +++ b/buildScripts/getBuildToolsApt @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script automates getting the required build tools (apt install) # set the bash environment variable 'UNATTENDED' to '--assume-yes' for diff --git a/buildScripts/getBuildToolsBrew b/buildScripts/getBuildToolsBrew index b32069a..1b0aa8c 100755 --- a/buildScripts/getBuildToolsBrew +++ b/buildScripts/getBuildToolsBrew @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script automates getting the required build tools (brew install) echo "" diff --git a/buildScripts/getDevLibrariesApt b/buildScripts/getDevLibrariesApt index 91385cd..4e75ef2 100755 --- a/buildScripts/getDevLibrariesApt +++ b/buildScripts/getDevLibrariesApt @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script automates getting the development libraries required to # build poppler and fontforge diff --git a/buildScripts/getDevLibrariesBrew b/buildScripts/getDevLibrariesBrew index 6119573..d07256d 100755 --- a/buildScripts/getDevLibrariesBrew +++ b/buildScripts/getDevLibrariesBrew @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script automates getting the development libraries required to # build poppler and fontforge (using Home/Linux Brew) diff --git a/buildScripts/getFontforge b/buildScripts/getFontforge index 7059eea..443ff07 100755 --- a/buildScripts/getFontforge +++ b/buildScripts/getFontforge @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script gets and unpacks the latest fontforge AppImage source buildScripts/reSourceVersionEnvs diff --git a/buildScripts/getPoppler b/buildScripts/getPoppler index 6314ef8..93a7722 100755 --- a/buildScripts/getPoppler +++ b/buildScripts/getPoppler @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script gets and unpacks the latest Poppler source code source buildScripts/reSourceVersionEnvs diff --git a/buildScripts/installFontforge b/buildScripts/installFontforge index 1ea43f9..e7e1b20 100755 --- a/buildScripts/installFontforge +++ b/buildScripts/installFontforge @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + echo "" echo "-------------------------------------------------------------------" echo "INSTALLING FontForge locally" diff --git a/buildScripts/installPdf2htmlEX b/buildScripts/installPdf2htmlEX index cbe1023..3fb6b92 100755 --- a/buildScripts/installPdf2htmlEX +++ b/buildScripts/installPdf2htmlEX @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + echo "" echo "-------------------------------------------------------------------" echo "INSTALLING pdf2htmlEX locally" diff --git a/buildScripts/installPoppler b/buildScripts/installPoppler index 42ce6ce..da2fc43 100755 --- a/buildScripts/installPoppler +++ b/buildScripts/installPoppler @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script installs Poppler into the local system echo "" From 3e835a38e293fb034128dd3dae4373565d1ae3c9 Mon Sep 17 00:00:00 2001 From: Stephen Gaito Date: Tue, 2 Jun 2020 11:58:27 +0000 Subject: [PATCH 04/10] refactored use of set ev --- buildScripts/buildFontforge | 4 ++-- buildScripts/buildPdf2htmlEX | 5 +++-- buildScripts/buildPdf2htmlEXClang | 2 ++ buildScripts/buildPoppler | 14 +++++++------- buildScripts/cleanPdf2htmlEX | 1 - buildScripts/createAppImage | 2 ++ buildScripts/createDebianPackage | 2 ++ buildScripts/createDockerImage | 1 + buildScripts/createImages | 2 ++ buildScripts/getBuildToolsApt | 4 ++-- buildScripts/getBuildToolsBrew | 4 ++-- buildScripts/getDevLibrariesApt | 4 ++-- buildScripts/getDevLibrariesBrew | 4 ++-- buildScripts/getFontforge | 4 ++-- buildScripts/getPdf2htmlEXApt | 1 + buildScripts/getPdf2htmlEXBrew | 1 + buildScripts/getPoppler | 4 ++-- buildScripts/installFontforge | 4 ++-- buildScripts/installPdf2htmlEX | 4 ++-- buildScripts/installPoppler | 4 ++-- buildScripts/travisLinuxAptDoItAll | 30 ++++++++++++++++-------------- buildScripts/uploadImages | 2 ++ 22 files changed, 59 insertions(+), 44 deletions(-) diff --git a/buildScripts/buildFontforge b/buildScripts/buildFontforge index 638607d..26cf38a 100755 --- a/buildScripts/buildFontforge +++ b/buildScripts/buildFontforge @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - # This bash script build FontForge source buildScripts/reSourceVersionEnvs @@ -12,6 +10,8 @@ echo "BUILDING FontForge (using CMake)" echo "-------------------------------------------------------------------" echo "" +set -ev + cd fontforge mkdir build diff --git a/buildScripts/buildPdf2htmlEX b/buildScripts/buildPdf2htmlEX index 0c855a5..5a048bb 100755 --- a/buildScripts/buildPdf2htmlEX +++ b/buildScripts/buildPdf2htmlEX @@ -1,15 +1,16 @@ #!/bin/bash -set -ev - # This bash script builds pdf2htmlEX echo "" echo "-------------------------------------------------------------------" echo "BUILDING pdf2htmlEX (using gcc)" echo "-------------------------------------------------------------------" + echo "" +set -ev + cd pdf2htmlEX mkdir build cd build diff --git a/buildScripts/buildPdf2htmlEXClang b/buildScripts/buildPdf2htmlEXClang index eb65509..ab3fd6c 100755 --- a/buildScripts/buildPdf2htmlEXClang +++ b/buildScripts/buildPdf2htmlEXClang @@ -8,6 +8,8 @@ echo "BUILDING pdf2htmlEX (using CLang)" echo "-------------------------------------------------------------------" echo "" +set -ev + cd pdf2htmlEX mkdir build cd build diff --git a/buildScripts/buildPoppler b/buildScripts/buildPoppler index 65015c3..3253c75 100755 --- a/buildScripts/buildPoppler +++ b/buildScripts/buildPoppler @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - # This bash script builds the latest poppler echo "" @@ -10,6 +8,8 @@ echo "BUILDING Poppler (using CMake)" echo "-------------------------------------------------------------------" echo "" +set -ev + cd poppler mkdir build cd build @@ -37,11 +37,11 @@ cmake \ -DBUILD_SHARED_LIBS=OFF \ -DRUN_GPERF_IF_PRESENT=OFF \ -DEXTRA_WARN=OFF \ - -DENABLE_JPEG=ON \ - -DENABLE_PNG=ON \ - -DENABLE_TIFF=OFF \ - -DENABLE_NSS=OFF \ - -DENABLE_Cairo=ON \ + -DWITH_JPEG=ON \ + -DWITH_PNG=ON \ + -DWITH_TIFF=OFF \ + -DWITH_NSS=OFF \ + -DWITH_Cairo=ON \ .. make $MAKE_PARALLEL diff --git a/buildScripts/cleanPdf2htmlEX b/buildScripts/cleanPdf2htmlEX index 0b44a63..a01e378 100755 --- a/buildScripts/cleanPdf2htmlEX +++ b/buildScripts/cleanPdf2htmlEX @@ -2,6 +2,5 @@ # This bash script clean all pdf2htmlEX build products - cd pdf2htmlEX rm -rf build pdf2htmlEX.1 share/*.css share/*.js share/*.min.* src/pdf2htmlEX-config.h src/util/css_const.h diff --git a/buildScripts/createAppImage b/buildScripts/createAppImage index 90ff685..87f99f3 100755 --- a/buildScripts/createAppImage +++ b/buildScripts/createAppImage @@ -10,6 +10,8 @@ echo "CREATING pdf2htmlEX AppImage" echo "-------------------------------------------------------------------" echo "" +set -ev + # For appimage output plugin # export VERSION="$PDF2HTMLEX_BRANCH-$BUILD_TIME" diff --git a/buildScripts/createDebianPackage b/buildScripts/createDebianPackage index 47f72a3..47c9d8d 100755 --- a/buildScripts/createDebianPackage +++ b/buildScripts/createDebianPackage @@ -12,6 +12,8 @@ echo "" source /etc/lsb-release +set -ev + export DPKG_NAME="pdf2htmlEX-$PDF2HTMLEX_BRANCH-$BUILD_TIME-$MACHINE_ARCH-$DISTRIB_CODENAME.deb" echo "export DPKG_NAME=\"$DPKG_NAME\"" >> buildScripts/reSourceVersionEnvs diff --git a/buildScripts/createDockerImage b/buildScripts/createDockerImage index 06591da..8e4e5cf 100755 --- a/buildScripts/createDockerImage +++ b/buildScripts/createDockerImage @@ -14,6 +14,7 @@ source buildScripts/reSourceVersionEnvs source buildScripts/dockerFunctions +set -ev mkdir -p imageBuild/dockerDir diff --git a/buildScripts/createImages b/buildScripts/createImages index f67dd3e..e07911f 100755 --- a/buildScripts/createImages +++ b/buildScripts/createImages @@ -1,5 +1,7 @@ #!/bin/bash +set -ev + # This bash script creates the pdf2htmlEX AppImage and Docker Images ################# diff --git a/buildScripts/getBuildToolsApt b/buildScripts/getBuildToolsApt index 8d59586..41a9b7e 100755 --- a/buildScripts/getBuildToolsApt +++ b/buildScripts/getBuildToolsApt @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - # This bash script automates getting the required build tools (apt install) # set the bash environment variable 'UNATTENDED' to '--assume-yes' for @@ -14,6 +12,8 @@ echo " (UNATTENDED: [$UNATTENDED])" echo "-------------------------------------------------------------------" echo "" +set -ev + sudo apt-get update sudo apt-get $UNATTENDED install \ aptitude \ diff --git a/buildScripts/getBuildToolsBrew b/buildScripts/getBuildToolsBrew index 1b0aa8c..1191b46 100755 --- a/buildScripts/getBuildToolsBrew +++ b/buildScripts/getBuildToolsBrew @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - # This bash script automates getting the required build tools (brew install) echo "" @@ -10,6 +8,8 @@ echo "INSTALLING Build Tools (using Home/Linux Brew)" echo "-------------------------------------------------------------------" echo "" +set -ev + brew update brew install \ git \ diff --git a/buildScripts/getDevLibrariesApt b/buildScripts/getDevLibrariesApt index 4e75ef2..b19f8a7 100755 --- a/buildScripts/getDevLibrariesApt +++ b/buildScripts/getDevLibrariesApt @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - # This bash script automates getting the development libraries required to # build poppler and fontforge @@ -15,6 +13,8 @@ echo " (UNATTENDED: [$UNATTENDED])" echo "-------------------------------------------------------------------" echo "" +set -ev + sudo apt-get update sudo apt-get $UNATTENDED install \ libcairo-dev \ diff --git a/buildScripts/getDevLibrariesBrew b/buildScripts/getDevLibrariesBrew index d07256d..252b2f0 100755 --- a/buildScripts/getDevLibrariesBrew +++ b/buildScripts/getDevLibrariesBrew @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - # This bash script automates getting the development libraries required to # build poppler and fontforge (using Home/Linux Brew) @@ -11,6 +9,8 @@ echo "INSTALLING development libraries (using Home/Linux Brew)" echo "-------------------------------------------------------------------" echo "" +set -ev + brew update brew install \ cairo \ diff --git a/buildScripts/getFontforge b/buildScripts/getFontforge index 443ff07..c947a20 100755 --- a/buildScripts/getFontforge +++ b/buildScripts/getFontforge @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - # This bash script gets and unpacks the latest fontforge AppImage source buildScripts/reSourceVersionEnvs @@ -13,6 +11,8 @@ echo " (FONTFORGE_VERSION: [$FONTFORGE_VERSION])" echo "-------------------------------------------------------------------" echo "" +set -ev + FONTFORGE_SRC=$FONTFORGE_VERSION.tar.gz rm -rf $FONTFORGE_SRC diff --git a/buildScripts/getPdf2htmlEXApt b/buildScripts/getPdf2htmlEXApt index abc7e18..3084d1a 100755 --- a/buildScripts/getPdf2htmlEXApt +++ b/buildScripts/getPdf2htmlEXApt @@ -12,6 +12,7 @@ echo " (PDF2HTMLEX_BRANCH: [$PDF2HTMLEX_BRANCH])" echo "-------------------------------------------------------------------" echo "" +set -ev wget https://codeload.github.com/stephengaito/pdf2htmlEX/zip/$PDF2HTMLEX_BRANCH diff --git a/buildScripts/getPdf2htmlEXBrew b/buildScripts/getPdf2htmlEXBrew index 4754fe0..52a567f 100755 --- a/buildScripts/getPdf2htmlEXBrew +++ b/buildScripts/getPdf2htmlEXBrew @@ -12,6 +12,7 @@ echo " (PDF2HTMLEX_BRANCH: [$PDF2HTMLEX_BRANCH])" echo "-------------------------------------------------------------------" echo "" +set -ev wget https://codeload.github.com/stephengaito/pdf2htmlEX/zip/$PDF2HTMLEX_BRANCH diff --git a/buildScripts/getPoppler b/buildScripts/getPoppler index 93a7722..b5d9403 100755 --- a/buildScripts/getPoppler +++ b/buildScripts/getPoppler @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - # This bash script gets and unpacks the latest Poppler source code source buildScripts/reSourceVersionEnvs @@ -21,6 +19,8 @@ rm -rf poppler rm -rf poppler-data-0.4.9.tar.gz rm -rf poppler-data +set -ev + wget https://poppler.freedesktop.org/$POPPLER_VERSION.tar.xz tar xvf $POPPLER_VERSION.tar.xz diff --git a/buildScripts/installFontforge b/buildScripts/installFontforge index e7e1b20..6ce6a50 100755 --- a/buildScripts/installFontforge +++ b/buildScripts/installFontforge @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - echo "" echo "-------------------------------------------------------------------" echo "INSTALLING FontForge locally" @@ -21,6 +19,8 @@ if [ -z "$UNATTENDED" ] ; then read -p "Type anything else to continue: " fi +set -ev + cd fontforge sudo make install sudo ldconfig; diff --git a/buildScripts/installPdf2htmlEX b/buildScripts/installPdf2htmlEX index 3fb6b92..5ed22aa 100755 --- a/buildScripts/installPdf2htmlEX +++ b/buildScripts/installPdf2htmlEX @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - echo "" echo "-------------------------------------------------------------------" echo "INSTALLING pdf2htmlEX locally" @@ -19,6 +17,8 @@ if [ -z "$UNATTENDED" ] ; then fi +set -ev + cd pdf2htmlEX/build sudo make install diff --git a/buildScripts/installPoppler b/buildScripts/installPoppler index da2fc43..9461094 100755 --- a/buildScripts/installPoppler +++ b/buildScripts/installPoppler @@ -1,7 +1,5 @@ #!/bin/bash -set -ev - # This bash script installs Poppler into the local system echo "" @@ -23,6 +21,8 @@ if [ -z "$UNATTENDED" ] ; then read -p "Type anything else to continue: " fi +set -ev + cd poppler/build sudo make install diff --git a/buildScripts/travisLinuxAptDoItAll b/buildScripts/travisLinuxAptDoItAll index fb9db48..060ed49 100755 --- a/buildScripts/travisLinuxAptDoItAll +++ b/buildScripts/travisLinuxAptDoItAll @@ -2,22 +2,24 @@ # This bash script builds everyting on an TravisCI Linux (Ubunutu) worker +set -ev + export UNATTENDED="--assume-yes" export MAKE_PARALLEL="-j $(nproc)" export PDF2HTMLEX_BRANCH="$(git rev-parse --abbrev-ref HEAD)" -./buildScripts/versionEnvs || travis_terminate 1; -./buildScripts/reportEnvs || travis_terminate 1; -./buildScripts/getBuildToolsApt || travis_terminate 1; -./buildScripts/getDevLibrariesApt || travis_terminate 1; -./buildScripts/getPoppler || travis_terminate 1; -./buildScripts/buildPoppler || travis_terminate 1; -./buildScripts/getFontforge || travis_terminate 1; -./buildScripts/buildFontforge || travis_terminate 1; -./buildScripts/buildPdf2htmlEX || travis_terminate 1; -./buildScripts/installPdf2htmlEX || travis_terminate 1; -#./buildScripts/createAppImage || travis_terminate 1; -#./buildScripts/createDockerImage || travis_terminate 1; -#./buildScripts/uploadGitHubRelease || travis_terminate 1; -#./buildScripts/uploadDockerImage || travis_terminate 1; +./buildScripts/versionEnvs +./buildScripts/reportEnvs +./buildScripts/getBuildToolsApt +./buildScripts/getDevLibrariesApt +./buildScripts/getPoppler +./buildScripts/buildPoppler +./buildScripts/getFontforge +./buildScripts/buildFontforge +./buildScripts/buildPdf2htmlEX +./buildScripts/installPdf2htmlEX +#./buildScripts/createAppImage +#./buildScripts/createDockerImage +#./buildScripts/uploadGitHubRelease +#./buildScripts/uploadDockerImage diff --git a/buildScripts/uploadImages b/buildScripts/uploadImages index 63b3b30..7adbe9c 100755 --- a/buildScripts/uploadImages +++ b/buildScripts/uploadImages @@ -6,6 +6,8 @@ ################ # do the uploads +set -ev + ./buildScripts/reportEnvs || { echo 'reportEnvs FAILED' ; exit 1 ; } ./buildScripts/uploadGitHubRelease || { echo 'uploadGitHubRelease FAILED' ; exit 1 ; } From 2904663ad2b12c6a9219a1a1dee4b4e118f8e88b Mon Sep 17 00:00:00 2001 From: Stephen Gaito Date: Tue, 2 Jun 2020 13:28:36 +0000 Subject: [PATCH 05/10] started work on macos travis builds --- .travis.yml | 34 ++++++------- buildScripts/travisHomeBrewDoItAll | 82 ++++++++---------------------- 2 files changed, 38 insertions(+), 78 deletions(-) diff --git a/.travis.yml b/.travis.yml index 8f44dd7..ebf58c0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,23 +20,23 @@ branches: jobs: fast_finish: true include: - - stage: build-linux - os: linux - env: - global: DOCKER_FROM="ubuntu:18.04" - services: - - docker - dist: bionic - script: ./buildScripts/travisLinuxAptDoItAll -# - stage: build-osx -# os: -# - osx -# osx_image: xcode10.1 -# addons: -# homebrew: -# update: true -# script: -# - ./buildScripts/travisHomeBrewDoItAll +# - stage: build-linux +# os: linux +# env: +# global: DOCKER_FROM="ubuntu:18.04" +# services: +# - docker +# dist: bionic +# script: ./buildScripts/travisLinuxAptDoItAll + - stage: build-osx + os: + - osx + osx_image: xcode10.1 + addons: + homebrew: + update: true + script: + - ./buildScripts/travisHomeBrewDoItAll # - pdf2htmlEX --version # - stage: test # os: diff --git a/buildScripts/travisHomeBrewDoItAll b/buildScripts/travisHomeBrewDoItAll index d04f76d..ef9ef3e 100755 --- a/buildScripts/travisHomeBrewDoItAll +++ b/buildScripts/travisHomeBrewDoItAll @@ -6,64 +6,24 @@ # https://docs.travis-ci.com/user/installing-dependencies/#using-homebrew-without-addon-on-older-macos-images # For details on obtaining/using the correct ruby version for homebrew. -echo "-------------------------------------------------" -echo $PATH -echo $LDFLAGS -echo $CPPFLAGS -which clang -echo "-------------------------------------------------" -brew tap pdf2htmlEX/homebrew-brewTap -echo "-------------------------------------------------" -echo $PATH -echo $LDFLAGS -echo $CPPFLAGS -which clang -echo "-------------------------------------------------" -brew update -echo "-------------------------------------------------" -echo $PATH -echo $LDFLAGS -echo $CPPFLAGS -which clang -echo "-------------------------------------------------" -#brew install llvm -#brew install -v python@2 -#brew install jq -echo "-------------------------------------------------" -echo $PATH -echo $LDFLAGS -echo $CPPFLAGS -which clang -#export llvmVersion=$(brew info --json=v1 llvm | jq '.[].installed[].version' | tr -d '"') -echo $llvmVersion -#export python2Version=$(brew info --json=v1 python@2 | jq '.[].installed[].version' | tr -d '"') -echo $python2Version -echo "-------------------------------------------------" -#brew info llvm -#brew switch llvm $llvmVersion -#brew info python@2 -#brew switch python@2 $python2Version -echo "-------------------------------------------------" -echo $PATH -echo $LDFLAGS -echo $CPPFLAGS -which clang -ls -la $(which clang) -which python -ls -la $(which python) -python --version -echo "-------------------------------------------------" -brew install -v pdf2htmlex-new -echo "-------------------------------------------------" -echo $PATH -echo $LDFLAGS -echo $CPPFLAGS -which clang -ls -la $(which clang) -which python -ls -la $(which python) -python --version -which pdf2htmlEX -ls -la $(which pdf2htmlEX) -pdf2htmlEX --version -echo "-------------------------------------------------" +set -ev + +export UNATTENDED="--assume-yes" +export MAKE_PARALLEL="-j $(nproc)" + +export PDF2HTMLEX_BRANCH="$(git rev-parse --abbrev-ref HEAD)" + +./buildScripts/versionEnvs +./buildScripts/reportEnvs +./buildScripts/getBuildToolsBrew +./buildScripts/getDevLibrariesBrew +./buildScripts/getPoppler +./buildScripts/buildPoppler +./buildScripts/getFontforge +./buildScripts/buildFontforge +./buildScripts/buildPdf2htmlEX +./buildScripts/installPdf2htmlEX +#./buildScripts/createAppImage +#./buildScripts/createDockerImage +#./buildScripts/uploadGitHubRelease +#./buildScripts/uploadDockerImage From 5941fb40c47bd6bcfa7fc6ab0cb37a39e0424a1d Mon Sep 17 00:00:00 2001 From: Stephen Gaito Date: Tue, 2 Jun 2020 13:45:26 +0000 Subject: [PATCH 06/10] corrected brew installs for travis homebrew --- buildScripts/getBuildToolsHomeBrew | 28 +++++++++++++++++++ ...tBuildToolsBrew => getBuildToolsLinuxBrew} | 0 buildScripts/travisHomeBrewDoItAll | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100755 buildScripts/getBuildToolsHomeBrew rename buildScripts/{getBuildToolsBrew => getBuildToolsLinuxBrew} (100%) diff --git a/buildScripts/getBuildToolsHomeBrew b/buildScripts/getBuildToolsHomeBrew new file mode 100755 index 0000000..b46ed47 --- /dev/null +++ b/buildScripts/getBuildToolsHomeBrew @@ -0,0 +1,28 @@ +#!/bin/bash + +# This bash script automates getting the required build tools (brew install) + +echo "" +echo "-------------------------------------------------------------------" +echo "INSTALLING Build Tools (using Home/Linux Brew)" +echo "-------------------------------------------------------------------" +echo "" + +set -ev + +brew update +brew install \ + autoconf \ + libtool \ + make \ + gettext \ + openjdk \ + jq \ + tree + +# Removed the following for homeBrew (macos on travis) +# git \ +# pkg-config \ +# cmake \ +# ruby \ +# gcc \ diff --git a/buildScripts/getBuildToolsBrew b/buildScripts/getBuildToolsLinuxBrew similarity index 100% rename from buildScripts/getBuildToolsBrew rename to buildScripts/getBuildToolsLinuxBrew diff --git a/buildScripts/travisHomeBrewDoItAll b/buildScripts/travisHomeBrewDoItAll index ef9ef3e..3469cfe 100755 --- a/buildScripts/travisHomeBrewDoItAll +++ b/buildScripts/travisHomeBrewDoItAll @@ -15,7 +15,7 @@ export PDF2HTMLEX_BRANCH="$(git rev-parse --abbrev-ref HEAD)" ./buildScripts/versionEnvs ./buildScripts/reportEnvs -./buildScripts/getBuildToolsBrew +./buildScripts/getBuildToolsHomeBrew ./buildScripts/getDevLibrariesBrew ./buildScripts/getPoppler ./buildScripts/buildPoppler From 3f6d39e71f43cc003314eccf97a8a12b2a3ef1c1 Mon Sep 17 00:00:00 2001 From: Stephen Gaito Date: Tue, 2 Jun 2020 14:02:30 +0000 Subject: [PATCH 07/10] move brew install into .travis.yml --- .travis.yml | 19 +++++++++++++++++++ buildScripts/travisHomeBrewDoItAll | 4 ++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index ebf58c0..60e314a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,6 +35,25 @@ jobs: addons: homebrew: update: true + packages: + # taken from getBuildToolsLinuxBrew + - git + - pkg-config + - ruby + - autoconf + - libtool + - cmake + - make + - gcc + - gettext + - openjdk + - jq + - tree + # taken from getDevLibrariesBrew + - cairo + - libpng + - jpeg + - libxml2 script: - ./buildScripts/travisHomeBrewDoItAll # - pdf2htmlEX --version diff --git a/buildScripts/travisHomeBrewDoItAll b/buildScripts/travisHomeBrewDoItAll index 3469cfe..8c05c97 100755 --- a/buildScripts/travisHomeBrewDoItAll +++ b/buildScripts/travisHomeBrewDoItAll @@ -15,8 +15,8 @@ export PDF2HTMLEX_BRANCH="$(git rev-parse --abbrev-ref HEAD)" ./buildScripts/versionEnvs ./buildScripts/reportEnvs -./buildScripts/getBuildToolsHomeBrew -./buildScripts/getDevLibrariesBrew +#./buildScripts/getBuildToolsHomeBrew +#./buildScripts/getDevLibrariesBrew ./buildScripts/getPoppler ./buildScripts/buildPoppler ./buildScripts/getFontforge From 91c11637212ef2f66be6b0529c23fcd4dc8bf6d9 Mon Sep 17 00:00:00 2001 From: Stephen Gaito Date: Tue, 2 Jun 2020 15:54:32 +0000 Subject: [PATCH 08/10] begun cleaning up buildScripts to remove brew --- .travis.yml | 56 +++---------- .travis.yml.macos.20200602 | 111 ------------------------ .travis.yml.orig20190930 | 130 ----------------------------- .travisScripts/buildPoppler.sh | 25 ------ .travisScripts/copyScriptsToBin | 11 --- .travisScripts/installPoppler.sh | 28 ------- .travisScripts/setupTests.sh | 13 --- buildScripts/travisHomeBrewDoItAll | 29 ------- buildScripts/travisLinuxAptDoItAll | 5 ++ 9 files changed, 16 insertions(+), 392 deletions(-) delete mode 100644 .travis.yml.macos.20200602 delete mode 100644 .travis.yml.orig20190930 delete mode 100755 .travisScripts/buildPoppler.sh delete mode 100755 .travisScripts/copyScriptsToBin delete mode 100755 .travisScripts/installPoppler.sh delete mode 100755 .travisScripts/setupTests.sh delete mode 100755 buildScripts/travisHomeBrewDoItAll diff --git a/.travis.yml b/.travis.yml index 60e314a..ebedf85 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,12 @@ language: cpp -# for windows *test* of AppImage -# see https://docs.travis-ci.com/user/build-matrix/#using-different-programming-languages-per-job -# and https://discourse.appimage.org/t/run-appimage-on-windows/177 -# and https://docs.travis-ci.com/user/reference/windows/ -# why fuse is not possible on windows: https://superuser.com/questions/179436/is-it-possible-to-use-fuse-with-windows +# NOTE: Since we do not have direct access to either MacOS or Windows +# machines on which to develop WE DO NOT support building on MacOS or +# Windows. + +# For Windows, it is known that the more recent Windows 10 versions are +# able to use either the debian archive OR AppImage (as Windows 10 now +# allows FUSE). compiler: gcc @@ -12,56 +14,20 @@ branches: except: # do not build tags that we create using the upload.sh script - /^(?i:continuous.*)$/ -#matrix: -# fast_finish: true -# allow_failures: -# - os: osx # Until the build passes, then re-enable. - jobs: fast_finish: true include: -# - stage: build-linux -# os: linux + - stage: build-linux + os: linux # env: # global: DOCKER_FROM="ubuntu:18.04" # services: # - docker -# dist: bionic -# script: ./buildScripts/travisLinuxAptDoItAll - - stage: build-osx - os: - - osx - osx_image: xcode10.1 - addons: - homebrew: - update: true - packages: - # taken from getBuildToolsLinuxBrew - - git - - pkg-config - - ruby - - autoconf - - libtool - - cmake - - make - - gcc - - gettext - - openjdk - - jq - - tree - # taken from getDevLibrariesBrew - - cairo - - libpng - - jpeg - - libxml2 - script: - - ./buildScripts/travisHomeBrewDoItAll -# - pdf2htmlEX --version + dist: bionic + script: ./buildScripts/travisLinuxAptDoItAll # - stage: test # os: # - linux - #- osx - #- windows # script: ./testScripts/doItAllTravis #deploy: # provider: releases diff --git a/.travis.yml.macos.20200602 b/.travis.yml.macos.20200602 deleted file mode 100644 index fee06ac..0000000 --- a/.travis.yml.macos.20200602 +++ /dev/null @@ -1,111 +0,0 @@ -language: cpp - -sudo: true - -# for windows *test* of AppImage -# see https://docs.travis-ci.com/user/build-matrix/#using-different-programming-languages-per-job -# and https://discourse.appimage.org/t/run-appimage-on-windows/177 -# and https://docs.travis-ci.com/user/reference/windows/ -# why fuse is not possible on windows: https://superuser.com/questions/179436/is-it-possible-to-use-fuse-with-windows - -compiler: gcc - -branches: - except: # do not build tags that we create using the upload.sh script - - /^(?i:continuous.*)$/ - -# apt: -# update: true -# packages: -# # build tools -# - git -# - pkg-config -# - ruby -# - autoconf -# - libtool -# - cmake -# - make -# - gcc -# - g++ -# - gettext -# - openjdk-8-jre-headless -# - tree -# # dev libraries -# - libcairo-dev -# - libspiro-dev -# - libpng-dev -# - libjpeg-dev -# - poppler-data -# - libpango1.0-dev -# - liblcms2-dev -# - libxml2-dev -# - libuninameslist-dev -# homebrew: -# packages: -# - pdf2html-new -# - 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. - -jobs: - include: -# - stage: build-linux -# os: -# - linux -# env: -# global: -# - DOCKER_FROM="ubuntu:18.04" -# services: -# - docker -# dist: bionic -# script: ./buildScripts/travisLinuxAptDoItAll - - stage: build-osx - os: - - osx - osx_image: xcode10.1 - addons: - homebrew: - update: true - script: - - ./buildScripts/travisHomeBrewDoItAll - - pdf2htmlEX --version -# - stage: test -# os: -# - linux - #- osx - #- windows -# script: ./testScripts/doItAllTravis -#deploy: -# provider: releases -# api_key: -# secure: ALWKAkgeLSPS4ULyTtxU50ZmSICEafCirCQ1YmuVTqe9nrc8E9Jm+4QaBlab5k6v90EpzNvZBnMOiT8cT1Wp2lqJzcGdGMcG49mhRvirdYhXgWuHYnygVgkxEhgejXcQaEiaGPDV3Y1k9MuiAVr8ApjUvIMlY4Hg1y0r7/rqR2fYmen+f+6a87bp5PptwakC9bfoYb92651d0TbugFfKT6TGKlE2jGlQ6On1alzLQ2DXA8coUjwpp4NcDD8OhnYGN/VZWkqckaBrMrHwjJ5FTfy5MGBOqCLzNix8sCGLEeCKkKC8J0nniNJ7+KOu9LJ2uIezKYfaUOJV0kik7F9ErvxjbfSRieako2yaSOR8X39aicTtpbyoXPRSKDU4WYX56vt4Dx7aNrYtP5b/UwWGXZa9MK7rNGJ+hiMDO1AzuyXirzR4RaJXCyC8n5W9ahBZBHCMqd5gMg5sMGPNj3Rgt34+R+nGYssum5wvr+6IKNl57sIoZFCgqviBrw2gJOCqlgOcEk/4ZSehWnXPCk6Gzxvkqkt/dmp8pJLNyvMaWcEZ6CXNHDU8MZS7bASo8Z7eAYvmX0MMjVty8J47expVaJ8M3OFHu6lE6tU8wwfd+Igr2TlWcixqaa3hDMgS+ghwdiZbYuMdR1AyZnEqK3xwvXXPPXrqRsB9xHtczLibkjY= -# file: pdf2htmlEX-newBuildSystem-x86_64.AppImage -# skip_cleanup: true -# on: -# tags: true -# repo: stephengaito/pdf2htmlEX - diff --git a/.travis.yml.orig20190930 b/.travis.yml.orig20190930 deleted file mode 100644 index c48cdd9..0000000 --- a/.travis.yml.orig20190930 +++ /dev/null @@ -1,130 +0,0 @@ -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 diff --git a/.travisScripts/buildPoppler.sh b/.travisScripts/buildPoppler.sh deleted file mode 100755 index f0a0924..0000000 --- a/.travisScripts/buildPoppler.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/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} - -git branch - -mkdir build - -cd build - -cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr \ - -DENABLE_XPDF_HEADERS=ON -DENABLE_LIBOPENJPEG=none .. - -make - - diff --git a/.travisScripts/copyScriptsToBin b/.travisScripts/copyScriptsToBin deleted file mode 100755 index ec882bd..0000000 --- a/.travisScripts/copyScriptsToBin +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# This bash script copies the various scripts in the .travisScripts to the -# /home/travis/bin directory to ensure the current scripts are not lost -# when we checkout different versions of pdf2htmlEX - -cp .travisScripts/* $HOME/bin - -cp dobuild $HOME/bin -cp doinstall $HOME/bin - diff --git a/.travisScripts/installPoppler.sh b/.travisScripts/installPoppler.sh deleted file mode 100755 index 4d97481..0000000 --- a/.travisScripts/installPoppler.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# This bash scripts **installs** poppler - -# See: https://github.com/pdf2htmlEX/buildAndPackagingTools/blob/master/building/awsEC2/scripts/doinstallPoppler - -pushd poppler/build - -sudo make install - -popd - -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/.travisScripts/setupTests.sh b/.travisScripts/setupTests.sh deleted file mode 100755 index 8c0eac1..0000000 --- a/.travisScripts/setupTests.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/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/buildScripts/travisHomeBrewDoItAll b/buildScripts/travisHomeBrewDoItAll deleted file mode 100755 index 8c05c97..0000000 --- a/buildScripts/travisHomeBrewDoItAll +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash - -# This bash script builds everyting on an TravisCI Mac OSx worker - -# See: -# https://docs.travis-ci.com/user/installing-dependencies/#using-homebrew-without-addon-on-older-macos-images -# For details on obtaining/using the correct ruby version for homebrew. - -set -ev - -export UNATTENDED="--assume-yes" -export MAKE_PARALLEL="-j $(nproc)" - -export PDF2HTMLEX_BRANCH="$(git rev-parse --abbrev-ref HEAD)" - -./buildScripts/versionEnvs -./buildScripts/reportEnvs -#./buildScripts/getBuildToolsHomeBrew -#./buildScripts/getDevLibrariesBrew -./buildScripts/getPoppler -./buildScripts/buildPoppler -./buildScripts/getFontforge -./buildScripts/buildFontforge -./buildScripts/buildPdf2htmlEX -./buildScripts/installPdf2htmlEX -#./buildScripts/createAppImage -#./buildScripts/createDockerImage -#./buildScripts/uploadGitHubRelease -#./buildScripts/uploadDockerImage diff --git a/buildScripts/travisLinuxAptDoItAll b/buildScripts/travisLinuxAptDoItAll index 060ed49..5b1c5f2 100755 --- a/buildScripts/travisLinuxAptDoItAll +++ b/buildScripts/travisLinuxAptDoItAll @@ -9,6 +9,11 @@ export MAKE_PARALLEL="-j $(nproc)" export PDF2HTMLEX_BRANCH="$(git rev-parse --abbrev-ref HEAD)" +export PDF2HTMLEX_PREFIX=/usr/local + +################ +# do the build + ./buildScripts/versionEnvs ./buildScripts/reportEnvs ./buildScripts/getBuildToolsApt From f33ec28d898b0898706f4d6ac3ddbe7d094d9f66 Mon Sep 17 00:00:00 2001 From: Stephen Gaito Date: Tue, 2 Jun 2020 18:41:10 +0000 Subject: [PATCH 09/10] removed all brew related build scripts as well as install poppler and fontforge --- ...dInstallLocallyApt => buildInstallLocally} | 0 buildScripts/buildInstallLocallyBrew | 47 ------------------ buildScripts/buildPdf2htmlEXClang | 17 ------- .../{getBuildToolsApt => getBuildTools} | 0 buildScripts/getBuildToolsHomeBrew | 28 ----------- buildScripts/getBuildToolsLinuxBrew | 26 ---------- .../{getDevLibrariesApt => getDevLibraries} | 0 buildScripts/getDevLibrariesBrew | 24 --------- .../{getPdf2htmlEXApt => getPdf2htmlEX} | 0 buildScripts/getPdf2htmlEXBrew | 25 ---------- buildScripts/installFontforge | 26 ---------- buildScripts/installPoppler | 49 ------------------- buildScripts/travisLinuxBrewDoItAll | 11 ----- ...avisLinuxAptDoItAll => travisLinuxDoItAll} | 0 14 files changed, 253 deletions(-) rename buildScripts/{buildInstallLocallyApt => buildInstallLocally} (100%) delete mode 100755 buildScripts/buildInstallLocallyBrew delete mode 100755 buildScripts/buildPdf2htmlEXClang rename buildScripts/{getBuildToolsApt => getBuildTools} (100%) delete mode 100755 buildScripts/getBuildToolsHomeBrew delete mode 100755 buildScripts/getBuildToolsLinuxBrew rename buildScripts/{getDevLibrariesApt => getDevLibraries} (100%) delete mode 100755 buildScripts/getDevLibrariesBrew rename buildScripts/{getPdf2htmlEXApt => getPdf2htmlEX} (100%) delete mode 100755 buildScripts/getPdf2htmlEXBrew delete mode 100755 buildScripts/installFontforge delete mode 100755 buildScripts/installPoppler delete mode 100755 buildScripts/travisLinuxBrewDoItAll rename buildScripts/{travisLinuxAptDoItAll => travisLinuxDoItAll} (100%) diff --git a/buildScripts/buildInstallLocallyApt b/buildScripts/buildInstallLocally similarity index 100% rename from buildScripts/buildInstallLocallyApt rename to buildScripts/buildInstallLocally diff --git a/buildScripts/buildInstallLocallyBrew b/buildScripts/buildInstallLocallyBrew deleted file mode 100755 index 23caa20..0000000 --- a/buildScripts/buildInstallLocallyBrew +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/bash - -# This bash script builds the complete pdf2htmlEX application LOCALLY -# (It does not create the AppImage or Docker images) - -# Adjust the following two environment variables to suit your needs -# -export UNATTENDED="--assume-yes" -export MAKE_PARALLEL="-j $(nproc)" - -# choose one of the following... -# -# export PDF2HTMLEX_BRANCH="<>" -export PDF2HTMLEX_BRANCH="$(git rev-parse --abbrev-ref HEAD)" - -# The following environment variable determines where the poppler, -# poppler-data, fontforge and pdf2htmlEX packages are installed. -# CHANGE IT TO SUIT YOUR NEEDS: -# -export PDF2HTMLEX_PREFIX=/home/linuxbrew/.linuxbrew - -################ -# do the build - -# The following is used by the pdf2htmlEX CMakeLists.txt file -# -export USING_BREW=1 - -./buildScripts/versionEnvs || { echo 'versionEnvs FAILED' ; exit 1 ; } - -./buildScripts/reportEnvs || { echo 'reportEnvs FAILED' ; exit 1 ; } - -./buildScripts/getBuildToolsBrew || { echo 'getBuildToolsBrew FAILED' ; exit 1 ; } - -./buildScripts/getDevLibrariesBrew || { echo 'getDevLibrariesBrew FAILED' ; exit 1 ; } - -./buildScripts/getPoppler || { echo 'getPoppler FAILED' ; exit 1 ; } - -./buildScripts/buildPoppler || { echo 'buildPoppler FAILED' ; exit 1 ; } - -./buildScripts/getFontforge || { echo 'getFontforge FAILED' ; exit 1 ; } - -./buildScripts/buildFontforge || { echo 'buildFontforge FAILED' ; exit 1 ; } - -./buildScripts/buildPdf2htmlEX || { echo 'buildPdf2htmlEX FAILED' ; exit 1 ; } - -./buildScripts/installPdf2htmlEX || { echo 'installPdf2htmlEX FAILED' ; exit 1 ; } diff --git a/buildScripts/buildPdf2htmlEXClang b/buildScripts/buildPdf2htmlEXClang deleted file mode 100755 index ab3fd6c..0000000 --- a/buildScripts/buildPdf2htmlEXClang +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/bash - -# This bash script builds pdf2htmlEX using Clang (if it is installed) - -echo "" -echo "-------------------------------------------------------------------" -echo "BUILDING pdf2htmlEX (using CLang)" -echo "-------------------------------------------------------------------" -echo "" - -set -ev - -cd pdf2htmlEX -mkdir build -cd build -CC=clang CXX=clang++ cmake -DCMAKE_INSTALL_PREFIX=$PDF2HTMLEX_PREFIX .. -make $MAKE_PARALLEL diff --git a/buildScripts/getBuildToolsApt b/buildScripts/getBuildTools similarity index 100% rename from buildScripts/getBuildToolsApt rename to buildScripts/getBuildTools diff --git a/buildScripts/getBuildToolsHomeBrew b/buildScripts/getBuildToolsHomeBrew deleted file mode 100755 index b46ed47..0000000 --- a/buildScripts/getBuildToolsHomeBrew +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/bash - -# This bash script automates getting the required build tools (brew install) - -echo "" -echo "-------------------------------------------------------------------" -echo "INSTALLING Build Tools (using Home/Linux Brew)" -echo "-------------------------------------------------------------------" -echo "" - -set -ev - -brew update -brew install \ - autoconf \ - libtool \ - make \ - gettext \ - openjdk \ - jq \ - tree - -# Removed the following for homeBrew (macos on travis) -# git \ -# pkg-config \ -# cmake \ -# ruby \ -# gcc \ diff --git a/buildScripts/getBuildToolsLinuxBrew b/buildScripts/getBuildToolsLinuxBrew deleted file mode 100755 index 1191b46..0000000 --- a/buildScripts/getBuildToolsLinuxBrew +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# This bash script automates getting the required build tools (brew install) - -echo "" -echo "-------------------------------------------------------------------" -echo "INSTALLING Build Tools (using Home/Linux Brew)" -echo "-------------------------------------------------------------------" -echo "" - -set -ev - -brew update -brew install \ - git \ - pkg-config \ - ruby \ - autoconf \ - libtool \ - cmake \ - make \ - gcc \ - gettext \ - openjdk \ - jq \ - tree diff --git a/buildScripts/getDevLibrariesApt b/buildScripts/getDevLibraries similarity index 100% rename from buildScripts/getDevLibrariesApt rename to buildScripts/getDevLibraries diff --git a/buildScripts/getDevLibrariesBrew b/buildScripts/getDevLibrariesBrew deleted file mode 100755 index 252b2f0..0000000 --- a/buildScripts/getDevLibrariesBrew +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# This bash script automates getting the development libraries required to -# build poppler and fontforge (using Home/Linux Brew) - -echo "" -echo "-------------------------------------------------------------------" -echo "INSTALLING development libraries (using Home/Linux Brew)" -echo "-------------------------------------------------------------------" -echo "" - -set -ev - -brew update -brew install \ - cairo \ - libpng \ - jpeg \ - libxml2 \ - -# libspiro \ -# pango \ -# little-cms2 \ -# libuninameslist \ diff --git a/buildScripts/getPdf2htmlEXApt b/buildScripts/getPdf2htmlEX similarity index 100% rename from buildScripts/getPdf2htmlEXApt rename to buildScripts/getPdf2htmlEX diff --git a/buildScripts/getPdf2htmlEXBrew b/buildScripts/getPdf2htmlEXBrew deleted file mode 100755 index 52a567f..0000000 --- a/buildScripts/getPdf2htmlEXBrew +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# This bash script automates the process of getting the original pdf2htmlEX -# source - -PDF2HTMLEX_BRANCH=update-poppler - -echo "" -echo "-------------------------------------------------------------------" -echo "GETTING pdf2htmlEX sources (using wget)" -echo " (PDF2HTMLEX_BRANCH: [$PDF2HTMLEX_BRANCH])" -echo "-------------------------------------------------------------------" -echo "" - -set -ev - -wget https://codeload.github.com/stephengaito/pdf2htmlEX/zip/$PDF2HTMLEX_BRANCH - -mv $PDF2HTMLEX_BRANCH $PDF2HTMLEX_BRANCH.zip - -brew install unzip - -unzip $PDF2HTMLEX_BRANCH.zip - -mv pdf2htmlEX-$PDF2HTMLEX_BRANCH pdf2htmlEX diff --git a/buildScripts/installFontforge b/buildScripts/installFontforge deleted file mode 100755 index 6ce6a50..0000000 --- a/buildScripts/installFontforge +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -echo "" -echo "-------------------------------------------------------------------" -echo "INSTALLING FontForge locally" -echo " (UNATTENDED: [$UNATTENDED])" -echo "-------------------------------------------------------------------" -echo "" - - -if [ -z "$UNATTENDED" ] ; then - echo "WARNING: this may over-write any existing" - echo "FontForge version you have installed on your system." - echo "This may break other packages/applications." - echo "" - echo "This installation assumes you have 'sudo' privileges." - echo "" - echo "Type ctrl-c now if DO NOT want to continue" - read -p "Type anything else to continue: " -fi - -set -ev - -cd fontforge -sudo make install -sudo ldconfig; diff --git a/buildScripts/installPoppler b/buildScripts/installPoppler deleted file mode 100755 index 9461094..0000000 --- a/buildScripts/installPoppler +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash - -# This bash script installs Poppler into the local system - -echo "" -echo "-------------------------------------------------------------------" -echo "INSTALLING Poppler locally" -echo " (UNATTENDED: [$UNATTENDED])" -echo "-------------------------------------------------------------------" -echo "" - - -if [ -z "$UNATTENDED" ] ; then - echo "WARNING: this may over-write any existing" - echo "Poppler version you have installed on your system." - echo "This may break other packages/applications." - echo "" - echo "This installation assumes you have 'sudo' privileges." - echo "" - echo "Type ctrl-c now if DO NOT want to continue" - read -p "Type anything else to continue: " -fi - -set -ev - -cd poppler/build -sudo make install - -cd .. - -sudo mkdir -p $PDF2HTMLEX_PREFIX/include/poppler -sudo cp poppler/*.h $PDF2HTMLEX_PREFIX/include/poppler - -sudo mkdir -p $PDF2HTMLEX_PREFIX/include/poppler/goo -sudo cp goo/*.h $PDF2HTMLEX_PREFIX/include/poppler/goo - -sudo mkdir -p $PDF2HTMLEX_PREFIX/include/poppler/fofi -sudo cp fofi/*.h $PDF2HTMLEX_PREFIX/include/poppler/fofi - -sudo mkdir -p $PDF2HTMLEX_PREFIX/include/poppler/splash -sudo cp splash/*.h $PDF2HTMLEX_PREFIX/include/poppler/splash - -sudo cp build/poppler/poppler-config.h \ - $PDF2HTMLEX_PREFIX/include/poppler - -cd ../poppler-data - -sudo make install prefix=$PDF2HTMLEX_PREFIX - diff --git a/buildScripts/travisLinuxBrewDoItAll b/buildScripts/travisLinuxBrewDoItAll deleted file mode 100755 index f8fa8e1..0000000 --- a/buildScripts/travisLinuxBrewDoItAll +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -# This bash script builds everyting on an TravisCI Mac OSx worker - -# See: -# https://docs.travis-ci.com/user/installing-dependencies/#using-homebrew-without-addon-on-older-macos-images -# For details on obtaining/using the correct ruby version for homebrew. - -brew update -brew tap pdf2htmlEX/homebrew-brewTap -brew install pdf2htmlex-new diff --git a/buildScripts/travisLinuxAptDoItAll b/buildScripts/travisLinuxDoItAll similarity index 100% rename from buildScripts/travisLinuxAptDoItAll rename to buildScripts/travisLinuxDoItAll From d7da59ba128eef2b502ba136fa7dedfd60388467 Mon Sep 17 00:00:00 2001 From: Stephen Gaito Date: Tue, 2 Jun 2020 18:45:29 +0000 Subject: [PATCH 10/10] cleaned up references to apt build scripts --- .travis.yml | 2 +- buildScripts/buildInstallLocally | 30 ++++++++++++++++++++---------- buildScripts/travisLinuxDoItAll | 4 ++-- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index ebedf85..48580d3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,7 +24,7 @@ jobs: # services: # - docker dist: bionic - script: ./buildScripts/travisLinuxAptDoItAll + script: ./buildScripts/travisLinuxDoItAll # - stage: test # os: # - linux diff --git a/buildScripts/buildInstallLocally b/buildScripts/buildInstallLocally index 63b7688..7091d2c 100755 --- a/buildScripts/buildInstallLocally +++ b/buildScripts/buildInstallLocally @@ -19,25 +19,35 @@ export PDF2HTMLEX_BRANCH="$(git rev-parse --abbrev-ref HEAD)" # export PDF2HTMLEX_PREFIX=/usr/local +set -ev + ################ # do the build -./buildScripts/versionEnvs || { echo 'versionEnvs FAILED' ; exit 1 ; } +./buildScripts/versionEnvs -./buildScripts/reportEnvs || { echo 'reportEnvs FAILED' ; exit 1 ; } +./buildScripts/reportEnvs -./buildScripts/getBuildToolsApt || { echo 'getBuildToolsApt FAILED' ; exit 1 ; } +./buildScripts/getBuildTools -./buildScripts/getDevLibrariesApt || { echo 'getDevLibrariesApt FAILED' ; exit 1 ; } +./buildScripts/getDevLibraries -./buildScripts/getPoppler || { echo 'getPoppler FAILED' ; exit 1 ; } +./buildScripts/getPoppler -./buildScripts/buildPoppler || { echo 'buildPoppler FAILED' ; exit 1 ; } +./buildScripts/buildPoppler -./buildScripts/getFontforge || { echo 'getFontforge FAILED' ; exit 1 ; } +./buildScripts/getFontforge -./buildScripts/buildFontforge || { echo 'buildFontforge FAILED' ; exit 1 ; } +./buildScripts/buildFontforge -./buildScripts/buildPdf2htmlEX || { echo 'buildPdf2htmlEX FAILED' ; exit 1 ; } +./buildScripts/buildPdf2htmlEX -./buildScripts/installPdf2htmlEX || { echo 'installPdf2htmlEX FAILED' ; exit 1 ; } +./buildScripts/installPdf2htmlEX + +#./buildScripts/createAppImage + +#./buildScripts/createDockerImage + +#./buildScripts/uploadGitHubRelease + +#./buildScripts/uploadDockerImage diff --git a/buildScripts/travisLinuxDoItAll b/buildScripts/travisLinuxDoItAll index 5b1c5f2..3953b28 100755 --- a/buildScripts/travisLinuxDoItAll +++ b/buildScripts/travisLinuxDoItAll @@ -16,8 +16,8 @@ export PDF2HTMLEX_PREFIX=/usr/local ./buildScripts/versionEnvs ./buildScripts/reportEnvs -./buildScripts/getBuildToolsApt -./buildScripts/getDevLibrariesApt +./buildScripts/getBuildTools +./buildScripts/getDevLibraries ./buildScripts/getPoppler ./buildScripts/buildPoppler ./buildScripts/getFontforge