-
Notifications
You must be signed in to change notification settings - Fork 13
/
Dockerfile.build-static
98 lines (93 loc) · 2.44 KB
/
Dockerfile.build-static
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
FROM ubuntu:16.04
RUN apt-get update -yy && \
apt-get install -yy git make curl pkg-config
RUN curl -s https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz | tar -C /usr/local -xzf -
ENV GOPATH=/go
ENV PATH=$PATH:/usr/local/go/bin:/go/bin
RUN mkdir -p /go/bin
RUN curl -sL ftp://xmlsoft.org/libxml2/libxml2-2.9.4.tar.gz | tar -xzf - && \
cd /libxml2-2.9.4 && \
./configure \
--enable-static \
--disable-shared \
--without-gnu-ld \
--with-c14n \
--without-catalog \
--without-debug \
--without-docbook \
--without-fexceptions \
--without-ftp \
--without-history \
--without-html \
--without-http \
--without-iconv \
--without-icu \
--without-iso8859x \
--without-legacy \
--without-mem-debug \
--without-minimum \
--with-output \
--without-pattern \
--with-push \
--without-python \
--without-reader \
--without-readline \
--without-regexps \
--without-run-debug \
--with-sax1 \
--without-schemas \
--without-schematron \
--without-threads \
--without-thread-alloc \
--with-tree \
--without-valid \
--without-writer \
--without-xinclude \
--without-xpath \
--with-xptr \
--without-modules \
--without-zlib \
--without-lzma \
--without-coverage && \
make install
RUN \
curl -sL ftp://ftp.openssl.org/source/openssl-1.0.2j.tar.gz | tar -xzf - && \
cd openssl-1.0.2j && \
./config \
no-shared \
no-weak-ssl-ciphers \
no-ssl2 \
no-ssl3 \
no-comp \
no-idea \
no-dtls \
no-hw \
no-threads \
no-dso && \
make depend install
RUN curl -sL http://www.aleksey.com/xmlsec/download/xmlsec1-1.2.22.tar.gz | tar -xzf - && \
cd xmlsec1-1.2.22 && \
./configure \
--enable-static \
--disable-shared \
--disable-crypto-dl \
--disable-apps-crypto-dl \
--enable-static-linking \
--without-gnu-ld \
--with-default-crypto=openssl \
--with-openssl=/usr/local/ssl \
--with-libxml=/usr/local \
--without-nss \
--without-nspr \
--without-gcrypt \
--without-gnutls \
--without-libxslt && \
make -C src install && \
make -C include install && \
make install-pkgconfigDATA
ADD . /go/src/github.com/crewjam/go-xmlsec
WORKDIR /go/src/github.com/crewjam/go-xmlsec
RUN go get github.com/crewjam/errset
RUN go build -tags static -ldflags '-s -extldflags "-static"' -o /bin/xmldsig ./examples/xmldsig.go
RUN ldd /bin/xmldsig || true
RUN /bin/xmldsig --help || true