aboutsummaryrefslogtreecommitdiffstats
path: root/build-scripts
diff options
context:
space:
mode:
Diffstat (limited to 'build-scripts')
-rwxr-xr-xbuild-scripts/build-mac7
-rwxr-xr-xbuild-scripts/build-windows3
-rwxr-xr-xbuild-scripts/download-external-libs56
-rwxr-xr-xbuild-scripts/make-distfiles2
4 files changed, 63 insertions, 5 deletions
diff --git a/build-scripts/build-mac b/build-scripts/build-mac
index 96d900bb..eb41f817 100755
--- a/build-scripts/build-mac
+++ b/build-scripts/build-mac
@@ -1,8 +1,9 @@
#!/bin/bash
set -ex
-curl -L https://github.com/qpdf/qpdf/raw/external-libs/jpegsrc.v9c.tar.gz -o jpegsrc.v9c.tar.gz
-tar xzf jpegsrc.v9c.tar.gz
-cd jpeg-9c
+cd $(dirname $0)/..
+unzip qpdf-external-libs-src.zip
+tar xzf external-libs-src/jpegsrc*
+cd jpeg-*
./configure
make -k
sudo make install
diff --git a/build-scripts/build-windows b/build-scripts/build-windows
index 2ec6a500..f67b8f2e 100755
--- a/build-scripts/build-windows
+++ b/build-scripts/build-windows
@@ -23,14 +23,13 @@ fi
if [ -f distfiles/distfiles.zip ]; then
unzip distfiles/distfiles.zip
fi
-curl -L https://github.com/qpdf/qpdf/raw/external-libs/qpdf-external-libs-bin.zip -o qpdf-external-libs-bin.zip
unzip qpdf-external-libs-bin.zip
cwd=`pwd`
PATH=$cwd/libqpdf/build:$PATH
installdir=install-$tool$wordsize
rm -rf $installdir
-./config-$tool --enable-show-failed-test-output --disable-crypto-gnutls --disable-crypto-openssl
+./config-$tool --enable-show-failed-test-output
make -j$(nproc) -k
make -k check
make install
diff --git a/build-scripts/download-external-libs b/build-scripts/download-external-libs
new file mode 100755
index 00000000..94d3ff52
--- /dev/null
+++ b/build-scripts/download-external-libs
@@ -0,0 +1,56 @@
+#!/usr/bin/env python3
+import json
+import os
+import requests
+import sys
+from zipfile import ZipFile
+from operator import itemgetter
+
+
+def warn(*args, **kwargs):
+ print(*args, **kwargs, file=sys.stderr)
+
+
+def download_file(url, local_filename):
+ # From https://stackoverflow.com/questions/16694907/
+ # download-large-file-in-python-with-requests
+ if os.path.exists(local_filename):
+ warn('Using existing', local_filename)
+ return
+ warn('Downloading', local_filename)
+ with requests.get(url, stream=True) as r:
+ r.raise_for_status()
+ with open(local_filename, 'wb') as f:
+ for chunk in r.iter_content(chunk_size=8192):
+ f.write(chunk)
+ return local_filename
+
+
+bin_name = 'qpdf-external-libs-bin.zip'
+src_name = 'qpdf-external-libs-src.zip'
+dir_name = 'external-libs-dist'
+os.makedirs(dir_name, exist_ok=True)
+
+r = requests.get(
+ 'https://api.github.com/repos/qpdf/external-libs/releases')
+releases = json.loads(r.text)
+by_tag = sorted(
+ [(r['tag_name'], r) for r in releases
+ if r['prerelease'] is False],
+ reverse=True)
+latest = by_tag[0][1]
+bin_url = None
+src_url = None
+for i in latest['assets']:
+ if i['name'] == bin_name:
+ bin_url = i['browser_download_url']
+ elif i['name'] == src_name:
+ src_url = i['browser_download_url']
+print(bin_url)
+download_file(bin_url, f'{dir_name}/{bin_name}')
+download_file(src_url, f'{dir_name}/{src_name}')
+
+print('\n** external library information **')
+with ZipFile(f'{dir_name}/{src_name}') as z1:
+ with z1.open('external-libs-src/versions') as z2:
+ print(z2.read().decode())
diff --git a/build-scripts/make-distfiles b/build-scripts/make-distfiles
index 6a074aee..26ef161d 100755
--- a/build-scripts/make-distfiles
+++ b/build-scripts/make-distfiles
@@ -1,4 +1,5 @@
#!/bin/bash
+cd $(dirname $0)/..
set -ex
sudo apt-get update
sudo apt-get -y install \
@@ -6,3 +7,4 @@ sudo apt-get -y install \
docbook-xsl fop xsltproc libxml2-utils inkscape imagemagick
./configure --enable-doc-maintenance
make -j$(nproc) distfiles.zip
+build-scripts/download-external-libs