blob: 34691e2dadc4148abde568d00ed3a93e29ebe5a9 [file] [log] [blame]
Matúš Kukan16aa0732012-11-21 22:36:34 +01001# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
2#
3# This file is part of the LibreOffice project.
4#
5# This Source Code Form is subject to the terms of the Mozilla Public
6# License, v. 2.0. If a copy of the MPL was not distributed with this
7# file, You can obtain one at http://mozilla.org/MPL/2.0/.
8#
9
10fetch_LOGFILE := $(TARFILE_LOCATION)/fetch.log
11
12ifneq (,$(WGET))
13define fetch_Download__wget_command
Michael Stahlba626612019-08-28 17:37:20 +020014&& $(WGET) --no-check-certificate --progress=dot:mega -Q 0 -P "." -l 0 -nd -nH -N $1/$2 2>&1 | tee -a $(fetch_LOGFILE) && [ $$PIPESTATUS -eq 0 ]
Matúš Kukan16aa0732012-11-21 22:36:34 +010015endef
16
17else
18define fetch_Download__wget_command
Christian Lohmaier1e002d82012-11-28 22:47:58 +010019&& echo fetching $2 && $(CURL) -O $1/$2 2>&1 | tee -a $(fetch_LOGFILE) && [ $$PIPESTATUS -eq 0 ]
Matúš Kukan16aa0732012-11-21 22:36:34 +010020endef
21
22endif
23
24ifneq (,$(MD5SUM))
25define fetch_Download__checksum_command
26&& SUM=`$(MD5SUM) $1 | sed "s/ .*//"` \
27&& if test "$$SUM" != "$2"; then \
28 echo ERROR: expected checksum for $1 is $2 2>&1 | tee -a $(fetch_LOGFILE); \
29 false; \
30fi
31endef
32
33else
34fetch_Download__checksum_command :=
35
36endif
37
Matúš Kukandf50d2d2012-11-23 12:54:15 +010038# fetch__Download_item url tarball-name md5sum
39define fetch__Download_item
Matúš Kukan16aa0732012-11-21 22:36:34 +010040$(if $(wildcard $(TARFILE_LOCATION)/$2),, \
41cd $(TARFILE_LOCATION)/tmp \
42$(call fetch_Download__wget_command,$1,$2) \
Matúš Kukandf50d2d2012-11-23 12:54:15 +010043$(if $3,$(call fetch_Download__checksum_command,$2,$3)) \
Matúš Kukan16aa0732012-11-21 22:36:34 +010044&& mv $2 ../ \
45)
46
47endef
48
Matúš Kukandf50d2d2012-11-23 12:54:15 +010049# fetch_Download_item url tarball-name no-sum?
50define fetch_Download_item
51$(call fetch__Download_item,$1,$2,$(if $3,,$(firstword $(subst -, ,$2))))
52
53endef
54
55# fetch_Download_item_special url variable-name
56define fetch_Download_item_special
57$(if $($(subst _TARBALL,_MD5SUM,$(2))),,$(error "fetch_Download_item_special: $2_MD5SUM can't be empty"))
58$(call fetch__Download_item,$1,$($2),$($(subst _TARBALL,_MD5SUM,$(2))))
59
60endef
61
Matúš Kukancb3fc7f2012-11-22 19:15:18 +010062fetch_BUILD_TYPE := $(sort $(BUILD_TYPE))
63ifeq ($(CROSS_COMPILING),YES)
64fetch_BUILD_TYPE := $(sort $(fetch_BUILD_TYPE) $(shell . $(SRCDIR)/bin/get_config_variables --build BUILD_TYPE && echo $$BUILD_TYPE))
65endif
66
Matúš Kukan6d69a502012-11-22 11:21:58 +010067define fetch_Optional
Matúš Kukancb3fc7f2012-11-22 19:15:18 +010068$(if $(filter ALL,$(DO_FETCH_TARBALLS))$(filter $1,$(fetch_BUILD_TYPE)),$2)
Matúš Kukan6d69a502012-11-22 11:21:58 +010069endef
70
Matúš Kukan3051f8b2012-11-29 10:04:31 +010071download: $(WORKDIR)/download
Matúš Kukan42606e32012-11-26 14:17:18 +010072
Luboš Luňákc8c056f2012-12-11 15:39:49 +010073$(WORKDIR)/download: $(BUILDDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR)/Makefile.fetch
Tor Lillqvist3c15eda2013-07-24 20:44:52 +030074 -@mkdir -p $(TARFILE_LOCATION)/tmp
Matúš Kukan42606e32012-11-26 14:17:18 +010075 @date >> $(fetch_LOGFILE)
Matúš Kukan16aa0732012-11-21 22:36:34 +010076 $(foreach item, \
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +010077 $(call fetch_Optional,LIBATOMIC_OPS,LIBATOMIC_OPS_TARBALL) \
Fridrich Štrba5a21b3e2014-01-13 17:01:32 +010078 $(call fetch_Optional,ABW,ABW_TARBALL) \
Matúš Kukandf50d2d2012-11-23 12:54:15 +010079 $(call fetch_Optional,CDR,CDR_TARBALL) \
Michael Stahlb16eed42015-07-01 00:04:32 +020080 $(call fetch_Optional,CURL,CURL_TARBALL) \
David Tardon316be1b2013-11-09 15:52:36 +010081 $(call fetch_Optional,EBOOK,EBOOK_TARBALL) \
Fridrich Štrba67153d72013-10-31 12:42:50 +010082 $(call fetch_Optional,FREEHAND,FREEHAND_TARBALL) \
David Tardon08ca3e42013-10-24 16:46:49 +020083 $(call fetch_Optional,ETONYEK,ETONYEK_TARBALL) \
David Tardon02550b52016-07-08 13:28:10 +020084 $(call fetch_Optional,EXPAT,EXPAT_TARBALL) \
Andrzej J.R. Hunt0f16fa02013-06-14 14:55:22 +010085 $(call fetch_Optional,FIREBIRD,FIREBIRD_TARBALL) \
David Tardon1d880312017-06-15 16:02:48 +020086 $(call fetch_Optional,GRAPHITE,GRAPHITE_TARBALL) \
Khaled Hosny3bd7d552013-08-17 14:47:55 +020087 $(call fetch_Optional,HARFBUZZ,HARFBUZZ_TARBALL) \
David Tardon49a4d362013-11-12 16:44:40 +010088 $(call fetch_Optional,LIBEOT,LIBEOT_TARBALL) \
Eike Rathkea33662b2014-04-10 14:16:25 +020089 $(call fetch_Optional,LIBLANGTAG,LANGTAGREG_TARBALL) \
Matúš Kukandf50d2d2012-11-23 12:54:15 +010090 $(call fetch_Optional,MSPUB,MSPUB_TARBALL) \
Fridrich Štrba790a36d2013-03-11 12:38:12 +010091 $(call fetch_Optional,MWAW,MWAW_TARBALL) \
Michael Stahlee59ea82017-04-20 22:19:45 +020092 $(call fetch_Optional,NSS,NSS_TARBALL) \
Thorsten Behrens25f4fa92018-04-30 14:33:09 +020093 $(call fetch_Optional,OPENSSL,OPENSSL_TARBALL) \
David Tardon0aa668e2013-10-22 16:08:01 +020094 $(call fetch_Optional,ODFGEN,ODFGEN_TARBALL) \
Thorsten Behrens5cedc9f2018-09-02 23:57:55 +020095 $(call fetch_Optional,LIBPNG,PNG_TARBALL) \
Thomas Arnholdfebcdaf2014-05-12 16:13:30 +020096 $(call fetch_Optional,PYTHON,PYTHON_TARBALL) \
David Tardonf50aa622014-05-24 08:39:54 +020097 $(call fetch_Optional,REVENGE,REVENGE_TARBALL) \
Matúš Kukandf50d2d2012-11-23 12:54:15 +010098 $(call fetch_Optional,VISIO,VISIO_TARBALL) \
David Tardon1aab46a2017-01-31 22:35:37 +010099 $(call fetch_Optional,ZLIB,ZLIB_TARBALL) \
Michael Stahl3f4d30f2017-09-05 16:55:50 +0200100 $(call fetch_Optional,LIBXSLT,LIBXSLT_TARBALL) \
Michael Stahl0ae9be42017-09-05 17:24:14 +0200101 $(call fetch_Optional,LIBXML2,LIBXML_TARBALL) \
Thorsten Behrens4090eb52018-05-15 14:27:40 +0200102 ,$(call fetch_Download_item_special,https://dev-www.libreoffice.org/src,$(item)))
Matúš Kukandf50d2d2012-11-23 12:54:15 +0100103 $(foreach item, \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100104 $(call fetch_Optional,AFMS,$(AFMS_TARBALL)) \
105 $(call fetch_Optional,APACHE_COMMONS,$(APACHE_COMMONS_CODEC_TARBALL)) \
106 $(call fetch_Optional,APACHE_COMMONS,$(APACHE_COMMONS_HTTPCLIENT_TARBALL)) \
107 $(call fetch_Optional,APACHE_COMMONS,$(APACHE_COMMONS_LANG_TARBALL)) \
108 $(call fetch_Optional,APACHE_COMMONS,$(APACHE_COMMONS_LOGGING_TARBALL)) \
109 $(call fetch_Optional,BOOST,$(BOOST_TARBALL)) \
110 $(call fetch_Optional,BSH,$(BSH_TARBALL)) \
111 $(call fetch_Optional,CAIRO,$(CAIRO_TARBALL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100112 $(call fetch_Optional,CLUCENE,$(CLUCENE_TARBALL)) \
113 $(call fetch_Optional,CMIS,$(CMIS_TARBALL)) \
114 $(call fetch_Optional,CPPUNIT,$(CPPUNIT_TARBALL)) \
115 $(call fetch_Optional,CT2N,$(CT2N_TARBALL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100116 $(call fetch_Optional,EPM,$(EPM_TARBALL)) \
Fridrich Štrbacad422a2013-03-06 16:33:07 +0100117 $(call fetch_Optional,MARIADB,$(MARIADB_TARBALL)) \
Caolán McNamara4da1e312013-10-24 09:56:49 +0100118 $(call fetch_Optional,MORE_FONTS,$(FONT_CALADEA_TARBALL)) \
119 $(call fetch_Optional,MORE_FONTS,$(FONT_CARLITO_TARBALL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100120 $(call fetch_Optional,MORE_FONTS,$(FONT_DEJAVU_TARBALL)) \
121 $(call fetch_Optional,MORE_FONTS,$(FONT_GENTIUM_TARBALL)) \
122 $(call fetch_Optional,MORE_FONTS,$(FONT_LIBERATION_NARROW_TARBALL)) \
123 $(call fetch_Optional,MORE_FONTS,$(FONT_LIBERATION_TARBALL)) \
124 $(call fetch_Optional,MORE_FONTS,$(FONT_LINLIBERTINEG_TARBALL)) \
125 $(call fetch_Optional,MORE_FONTS,$(FONT_PTSERIF_TARBALL)) \
126 $(call fetch_Optional,MORE_FONTS,$(FONT_OPENSANS_TARBALL)) \
127 $(call fetch_Optional,MORE_FONTS,$(FONT_SOURCESANS_TARBALL)) \
128 $(call fetch_Optional,MORE_FONTS,$(FONT_SOURCECODE_TARBALL)) \
129 $(call fetch_Optional,FONTCONFIG,$(FONTCONFIG_TARBALL)) \
130 $(call fetch_Optional,FREETYPE,$(FREETYPE_TARBALL)) \
Matúš Kukan16aa0732012-11-21 22:36:34 +0100131 $(GOOGLE_DOCS_EXTENSION_PACK) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100132 $(call fetch_Optional,HSQLDB,$(HSQLDB_TARBALL)) \
133 $(call fetch_Optional,HUNSPELL,$(HUNSPELL_TARBALL)) \
134 $(call fetch_Optional,HYPHEN,$(HYPHEN_TARBALL)) \
135 $(call fetch_Optional,ICU,$(ICU_TARBALL)) \
Eike Rathkebc205572013-05-06 16:56:28 +0200136 $(call fetch_Optional,ICU,$(ICU_51_LAYOUT_FIX_TARBALL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100137 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_FLOW_ENGINE_TARBALL)) \
138 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_FLUTE_TARBALL)) \
139 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBBASE_TARBALL)) \
140 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBFONTS_TARBALL)) \
141 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBFORMULA_TARBALL)) \
142 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBLAYOUT_TARBALL)) \
143 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBLOADER_TARBALL)) \
144 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBREPOSITORY_TARBALL)) \
145 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBSERIALIZER_TARBALL)) \
146 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBXML_TARBALL)) \
147 $(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_SAC_TARBALL)) \
148 $(call fetch_Optional,JPEG,$(JPEG_TARBALL)) \
149 $(call fetch_Optional,LANGUAGETOOL,$(LANGUAGETOOL_TARBALL)) \
150 $(call fetch_Optional,LCMS2,$(LCMS2_TARBALL)) \
151 $(call fetch_Optional,LIBEXTTEXTCAT,$(LIBEXTTEXTCAT_TARBALL)) \
152 $(call fetch_Optional,LIBLANGTAG,$(LIBLANGTAG_TARBALL)) \
Matúš Kukan16aa0732012-11-21 22:36:34 +0100153 $(LIBXMLSEC_TARBALL) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100154 $(call fetch_Optional,LPSOLVE,$(LPSOLVE_TARBALL)) \
155 $(call fetch_Optional,MDDS,$(MDDS_TARBALL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100156 $(call fetch_Optional,MYSQLCPPCONN,$(MYSQLCPPCONN_TARBALL)) \
157 $(call fetch_Optional,MYTHES,$(MYTHES_TARBALL)) \
158 $(call fetch_Optional,NEON,$(NEON_TARBALL)) \
Andras Timar56da3f22012-12-06 22:07:53 +0100159 $(NUMBERTEXT_EXTENSION_PACK) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100160 $(call fetch_Optional,OPENLDAP,$(OPENLDAP_TARBALL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100161 $(call fetch_Optional,ORCUS,$(ORCUS_TARBALL)) \
162 $(call fetch_Optional,CAIRO,$(PIXMAN_TARBALL)) \
Fridrich Štrbaeb276d12013-07-08 14:01:17 +0200163 $(call fetch_Optional,POPPLER,$(POPPLER_TARBALL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100164 $(call fetch_Optional,POSTGRESQL,$(POSTGRESQL_TARBALL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100165 $(call fetch_Optional,REDLAND,$(RAPTOR_TARBALL)) \
166 $(call fetch_Optional,REDLAND,$(RASQAL_TARBALL)) \
167 $(call fetch_Optional,REDLAND,$(REDLAND_TARBALL)) \
168 $(call fetch_Optional,RHINO,$(RHINO_TARBALL)) \
169 $(call fetch_Optional,RHINO,$(SWING_TARBALL)) \
170 $(call fetch_Optional,TOMCAT,$(TOMCAT_TARBALL)) \
171 $(call fetch_Optional,UCPP,$(UCPP_TARBALL)) \
172 $(call fetch_Optional,VIGRA,$(VIGRA_TARBALL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100173 $(call fetch_Optional,WPD,$(WPD_TARBALL)) \
174 $(call fetch_Optional,WPG,$(WPG_TARBALL)) \
175 $(call fetch_Optional,WPS,$(WPS_TARBALL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100176 $(call fetch_Optional,XSLTML,$(XSLTML_TARBALL)) \
Thorsten Behrens4090eb52018-05-15 14:27:40 +0200177 ,$(call fetch_Download_item,https://dev-www.libreoffice.org/src,$(item)))
Matúš Kukan16aa0732012-11-21 22:36:34 +0100178 $(foreach item, \
David Tardonbcb69312012-12-25 10:56:41 +0100179 $(call fetch_Optional,DBGHELP,$(DBGHELP_DLL)) \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100180 $(call fetch_Optional,ODK,$(UNOWINREG_DLL)) \
Thorsten Behrens4090eb52018-05-15 14:27:40 +0200181 ,$(call fetch_Download_item,https://dev-www.libreoffice.org/extern,$(item)))
Matúš Kukan16aa0732012-11-21 22:36:34 +0100182 $(foreach item, \
183 $(BARCODE_EXTENSION_PACK) \
184 $(DIAGRAM_EXTENSION_PACK) \
185 $(HUNART_EXTENSION_PACK) \
Matúš Kukan16aa0732012-11-21 22:36:34 +0100186 $(OOOP_FONTS_PACK) \
187 $(OOOP_GALLERY_PACK) \
188 $(OOOP_SAMPLES_PACK) \
189 $(OOOP_TEMPLATES_PACK) \
Matúš Kukan16aa0732012-11-21 22:36:34 +0100190 $(SUNTEMPLATES_DE_PACK) \
191 $(SUNTEMPLATES_EN_US_PACK) \
192 $(SUNTEMPLATES_ES_PACK) \
193 $(SUNTEMPLATES_FR_PACK) \
194 $(SUNTEMPLATES_HU_PACK) \
195 $(SUNTEMPLATES_IT_PACK) \
196 $(TYPO_EXTENSION_PACK) \
197 $(VALIDATOR_EXTENSION_PACK) \
198 $(WATCH_WINDOW_EXTENSION_PACK) \
199 ,$(call fetch_Download_item,http://ooo.itc.hu/oxygenoffice/download/libreoffice,$(item)))
200 $(foreach item, \
Matúš Kukan6d69a502012-11-22 11:21:58 +0100201 $(call fetch_Optional,MOZ,$(MOZ_ZIP_INC)) \
202 $(call fetch_Optional,MOZ,$(MOZ_ZIP_LIB)) \
203 $(call fetch_Optional,MOZ,$(MOZ_ZIP_RUNTIME)) \
Thorsten Behrens4090eb52018-05-15 14:27:40 +0200204 ,$(call fetch_Download_item,https://dev-www.libreoffice.org/mozilla,$(item),no-sum))
Matúš Kukan3051f8b2012-11-29 10:04:31 +0100205 @mkdir -p $(dir $@) && touch $@
Matúš Kukan16aa0732012-11-21 22:36:34 +0100206
207# vim: set noet sw=4 ts=4: