Commit Graph

438 Commits

Author SHA1 Message Date
Tony Theodore b2d99407c0 Makefile: suppress messages in update-package 2017-03-19 12:51:54 +11:00
Tony Theodore 4ed90733c9 github: use `if` instead of `and` 2017-03-19 11:29:05 +11:00
Tony Theodore b4161379ee Makefile: add check-update-package-% target 2017-03-18 22:16:07 +11:00
Tony Theodore 96dd1ec4a0 add functions to standardise GitHub downloads and updates 2017-03-18 22:16:07 +11:00
Boris Nagaev 28e1101e65 Merge pull request #1660 from tonytheodore/cmake-conf
cmake: update and improve configuration with templates
2017-03-14 01:48:58 -07:00
Boris Nagaev a3ac9460ce use http version of gitlab.com backup
The rationale: bd2c77f4c2 (commitcomment-21229420)

> If you absolutely want to disable secure transport I think it'd be a
> better choice to use the http:// protocol instead, making the
> insecurity unambiguously visible in logs/screen output. (Not sure if
> GitLab supports it, but the first two does I think.)
2017-03-12 14:07:10 +01:00
Boris Nagaev 096c509099 no --no-check-certificate while updating packages
Regular downloads of packages are verified by checksums, so
--no-check-certificate doesn't compromise the build system,
but the checksums themselves are often updated with update-checksum-%
which in turn calls the regular package download mechanism, so there
is a possibility of downloading and sealing a poisoned file.

On the one hand, old systems may still rely on --no-check-certificate,
so it is not nice to completely disable it for regular downloads.
However keeping this option enabled for backup servers only is enough
to support such systems because of the fallback mechanism.
On the other hand, download from a backup doesn't make sense while
updating a package, because the package is definetely not in the backup yet.

So --no-check-certificate is now enabled only for backup servers
and backup servers are disabled while updating packages.

See https://github.com/mxe/mxe/pull/1694#issuecomment-285324739
2017-03-12 14:07:10 +01:00
Tony Theodore 24d37efa5d cmake: improve configuration with templates
- move cmake configuration from mxe-conf to cmake-conf
 - replace `echo` with templates for readability and maintenance
 - allow packages to set other dep files
 - set CMAKE_POLICY_DEFAULT_CMPNNNN in wrapper since
   `cmake_minimum_required` or `cmake_policy` can't be set in
   toolchain (closes #971)
2017-03-12 17:30:18 +11:00
Viktor Szakats 3166d4b715 add explicit protocol to backup urls 2017-03-10 22:17:46 +00:00
Viktor Szakats 45d34aaac7 more URL updates 2017-03-10 13:59:00 +00:00
Tony Theodore b8850b2bd0 Makefile: add [POSIX | WIN32]_THREADS variable 2017-02-07 14:52:48 +11:00
Tony Theodore 5da8168263 allow non-default exception handling targets 2017-02-07 14:33:26 +11:00
Tony Theodore 9bb609a73e Merge branch 'LuaAndC-levmar-ua' of https://github.com/tonytheodore/mxe into ua 2017-02-04 18:47:19 +11:00
Tony Theodore 48e792b9e7 Makefile: simplify setting default user agent 2017-01-21 16:49:18 +11:00
Tony Theodore 4fa1f12db8 Makefile: fix target validation checks
fixes #1497
2017-01-19 20:36:02 +11:00
Boris Nagaev ff36def5d3 add new packages backup: gitlab
See http://lists.nongnu.org/archive/html/mingw-cross-env-list/2017-01/msg00005.html
2017-01-08 03:17:31 +01:00
Boris Nagaev 2a9736d370 make core to be the first item of MXE_PLUGIN_DIRS
see https://github.com/mxe/mxe/issues/1614
2016-12-26 02:29:44 +01:00
Boris Nagaev 23c5e209d4 add descriptions and websites to packages.json
See https://github.com/mxe/mxe/issues/1422
2016-12-22 22:28:29 +01:00
Boris Nagaev 5d832ebf70 core packages are now a plugin
See https://github.com/mxe/mxe/issues/1422
2016-12-22 22:25:48 +01:00
Boris Nagaev f06ef1c01b mv docs/versions.json docs/packages.json
See https://github.com/mxe/mxe/issues/1422
2016-12-22 22:25:48 +01:00
Boris Nagaev f1a5deded9 fix detection of openssl in Debian Sid
$ openssl --help
Invalid command '--help'; type "help" for a list.
$ echo $?
1

$ openssl help
...
$ echo $?
0

fix https://github.com/mxe/mxe/issues/1593
2016-12-14 00:44:51 +01:00
Boris Nagaev f82e39dcef cleanup-deps-style: omit pkgs with derived deps
Do not touch lines like this:

  $(PKG)_DEPS     := $(patsubst $(TOP_DIR)/src/%.mk,%,\
  ...

(src/qt5.mk)
2016-12-05 09:40:54 +01:00
Boris Nagaev 1e9d757021 make cleanup-deps-style aware of plugins 2016-12-05 09:40:53 +01:00
Boris Nagaev 592c429875 fix updating docs/versions.json with plugins
fix https://github.com/mxe/mxe/issues/1580
2016-12-05 09:40:53 +01:00
Boris Nagaev 894608bf4d pkg download: do not append to previous attempt
Slow HTTP server with lag for tests:
https://gist.github.com/45472174f8bd97989c1eb9bc64d50468

Fix https://github.com/mxe/mxe/issues/1552
2016-12-05 09:39:36 +01:00
Boris Nagaev 634054b51d add MXE_PLUGIN_DIRS to autogenerated settings.mk 2016-11-19 01:15:43 +03:00
Boris Nagaev b826422ab8 add new variables: BUILD_CROSS, BUILD_NATIVE
They are useful for applying flags only to cross or only to native targets.
2016-10-29 13:07:41 +03:00
Tony Theodore c255ff8b5a Add options to strip toolchain, executables, and libs
Minimal implementation to strip the [largest files][lf-gist] by
default, mostly made up of gcc/binutils and test programs.

gdal and geos both produce large libraries, but the libs themselves
aren't worth stripping, it's the 20 odd programs produced by gdal
with those libs statically linked that consume the most space.

I'm leaving these undocumented as the defaults seems reasonable and
the interface may well change when we enable debug/release variants.

closes #985
closes #1249

[lf-gist]:https://github.com/mxe/mxe/issues/1249#issuecomment-193392038
2016-10-23 17:59:21 +03:00
Tony Theodore 08ea4ee0e6 Makefile: enable relative paths for SOURCE_TREE 2016-10-23 05:10:39 +04:00
Boris Nagaev 0420370efd allow to change User Agent; fix levmar download
Parameter $(PKG)_UA overrides default user agent used by wget to download
a package. It is needed, because download server www.ics.forth.gr from where
levmar is downloaded, crashes on default user agent Wget/1.13.4.
User agent for levmar was set to MXE. Now the server works.

see https://github.com/mxe/mxe/issues/1519
2016-10-17 23:55:47 +03:00
Boris Nagaev fa636a2eab print wget command to download logs
This command is useful for downloading problems debugging.
2016-10-16 23:55:47 +03:00
Boris Nagaev 4e8c132550 move CNAME to docs/
See https://github.com/mxe/mxe/issues/1500
2016-08-27 12:31:30 +03:00
Boris Nagaev 8e35c23242 move index.html to docs/
See https://github.com/mxe/mxe/issues/1500
2016-08-27 12:31:30 +03:00
Boris Nagaev cce8094fb0 add missing things
index.html: make docs/build-matrix.html a link
mxe-activate: add versions.json
add .PHONY for build-matrix.html
2016-08-27 12:31:30 +03:00
Boris Nagaev f5567f2c37 mv versions.json build-matrix.html assets docs/
See https://github.com/mxe/mxe/issues/1500
2016-08-27 12:31:30 +03:00
Boris Nagaev d0e424038e rename doc/ to docs/
See https://github.com/mxe/mxe/issues/1500
2016-08-27 12:31:30 +03:00
Boris Nagaev 6adb5ade12 Copyright headers: point to LICENSE.md and shorten
The following script was applied:

    sed ':a;/part of MXE.$/{N;s/\n//;ba}' -i $(git grep -l 'part of MXE')

    sed 's/\(part of MXE\).*\(See index.html\)/\1. \2/' -i \
        $(git grep -l 'part of MXE.*See index.html')

    before='This file is part of MXE. See index.html for further information.'
    after='This file is part of MXE. See LICENSE.md for licensing information.'
    sed "s/$before/$after/" -i $(git grep -l 'part of MXE')

Then git grep 'index.html for further information' revealed two other files.
One of them was patched manually (patch.mk). Makefile has text
"See index.html for further information" unrelated to licensing.

See https://github.com/mxe/mxe/issues/1500#issuecomment-241340792
2016-08-27 12:31:29 +03:00
Boris Nagaev d8543d104b fix MXE_GET_GITHUB_TAGS
Error message:

    $ make update-package-pire
    ...
    bash: -c: line 0: syntax error near unexpected token `|'
    ...

Overlooked in b52d3c0c9c
See https://github.com/mxe/mxe/pull/1439
2016-08-24 14:11:18 +03:00
Tony Theodore ca90832bd7 Makefile: enable local $(PKG)_SOURCE_TREE
This is very handy for testing against a local repo, especially when
upstream changes are happening quickly.

See also #183
2016-08-12 02:54:56 +10:00
Boris Nagaev 071e3062f0 remove trailing spaces from main log 2016-08-03 00:54:09 +03:00
Tony Theodore f88bbe7ffd Makefile: add BUILD_TYPE [debug | release] varaibles for pkg build rules 2016-07-17 00:26:09 +10:00
Boris Nagaev b52d3c0c9c refactor macro MXE_GET_GITHUB_ALL_TAGS
It is needed to get full list of tags and apply grep or sed manually.
2016-07-13 23:04:01 +03:00
Tony Theodore 5920eb8de3 Makefile: add `TEST_FILE` to variables for pkg build rules 2016-07-11 20:56:22 +10:00
Tony Theodore 1d75e1f353 Makefile: add SOURCE_DIR and BUILD_DIR variables
* use `*.build_` until all packages are converted

see #1159

This commit was amended by Boris Nagaev on Jul 11, 2016.
2016-07-11 09:27:22 +03:00
Tony Theodore a0a3340772 Makefile: allow packages to specify a list of zero or more patches 2016-07-05 16:26:15 +10:00
Boris Nagaev b791ffd4e7 Merge pull request #1417 from tonytheodore/make-target-specific
Makefile: note use of target-specific variables
2016-07-04 11:15:02 +04:00
Tony Theodore 0030112958 Makefile: note use of target-specific variables 2016-07-04 15:26:13 +10:00
Tony Theodore 85de732ad4 fix multiple downloads of same file
see #1415
fixes #1079
2016-07-04 14:26:12 +10:00
Boris Nagaev aab2b70253 create tmp-*/readonly instead of usr/readonly
Removing MXE directory with "rm -rf" used to fail on file
usr/readonly/.gitkeep because directory usr/readonly was readonly.
Now readonly directory is created in tmp-* directory and .gitkeep
is not created for it (because tmp-* is not under usr/).
Problems with removing MXE directory are fixed even in case
of interrupted build.

fix #1221
2016-06-12 02:08:38 +03:00
Tony Theodore 959bb5f85d fix native plugins when additional dirs are specified
When plugins are specified on the command line, automatic native plugins
are not included (for darwin and wheezy):

```
$ make gmsl-print-MXE_PLUGIN_DIRS MXE_PLUGIN_DIRS=plugins/apps/
MXE_PLUGIN_DIRS = plugins/apps/
```

https://www.gnu.org/software/make/manual/make.html#Override-Directive
https://github.com/mxe/mxe/issues/1259#issuecomment-217376756
2016-06-03 03:32:33 +10:00