You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mxe/src/file.mk

43 lines
1.5 KiB

# This file is part of MXE.
# See index.html for further information.
PKG := file
$(PKG)_IGNORE :=
10 years ago
$(PKG)_VERSION := 5.20
$(PKG)_CHECKSUM := 4e93e9ae915f1812b05cc6012ae968fdb6416f8f
$(PKG)_SUBDIR := file-$($(PKG)_VERSION)
$(PKG)_FILE := file-$($(PKG)_VERSION).tar.gz
add http mirrors to packages hosted at FTP see http://lists.nongnu.org/archive/html/mingw-cross-env-list/2014-07/msg00002.html Many FTP servers block connections from Tor and some VPN servers. HTTP servers don't do this normally. Example of failed FTP download attempt of binutils-2.24.tar.bz: $ torsocks wget ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.24.tar.bz2 --2014-07-20 13:26:48-- ftp://ftp.gnu.org/pub/gnu/binutils/binutils-2.24.tar.bz2 => `binutils-2.24.tar.bz2' Resolving ftp.gnu.org (ftp.gnu.org)... 208.118.235.20 Connecting to ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:21... connected. Logging in as anonymous ... Logged in! ==> SYST ... done. ==> PWD ... done. ==> TYPE I ... done. ==> CWD (1) /pub/gnu/binutils ... done. ==> SIZE binutils-2.24.tar.bz2 ... 22716802 ==> PASV ... done. ==> RETR binutils-2.24.tar.bz2 ... Error in server response, closing control connection. Retrying. Same package was downloaded via HTTP successfully: $ torsocks wget http://ftp.gnu.org/pub/gnu/binutils/binutils-2.24.tar.bz2 --2014-07-20 13:32:37-- http://ftp.gnu.org/pub/gnu/binutils/binutils-2.24.tar.bz2 Resolving ftp.gnu.org (ftp.gnu.org)... 208.118.235.20 Connecting to ftp.gnu.org (ftp.gnu.org)|208.118.235.20|:80... connected. HTTP request sent, awaiting response... 200 OK Length: 22716802 (22M) [application/x-bzip2] Saving to: `binutils-2.24.tar.bz2' 100%[=================>] 22,716,802 721K/s in 24s 2014-07-20 13:33:03 (915 KB/s) - `binutils-2.24.tar.bz2' saved [22716802/22716802] Trying download from Tor Browser, I get error message: 425 Security: Bad IP connecting. HTTP URLs were added to FTP URLs-only packages. In many cases, ftp://ftp.gnu.org can be accessed from http://ftp.gnu.org If both URLs of a package are FTP, then one of them was replaced with HTTP. Command to check that those packages can be build successfully if behind Tor: $ torsocks make autoconf automake binutils bison cloog coreutils file freetds gcc gdb gettext gmp gnutls gperf isl libbluray libffi libgcrypt libgpg_error libidn libmicrohttpd libpng libxml2 libxslt m4 pthreads-w32 sed dcmtk mpfr I've run the test above successfully.
10 years ago
$(PKG)_URL := http://ftp.cross-lfs.org/pub/clfs/conglomeration/file/$($(PKG)_FILE)
$(PKG)_URL_2 := ftp://ftp.astron.com/pub/file/$($(PKG)_FILE)
$(PKG)_DEPS := gcc libgnurx
define $(PKG)_UPDATE
$(WGET) -q -O- 'ftp://ftp.astron.com/pub/file/' | \
grep 'file-' | \
$(SED) -n 's,.*file-\([0-9][^>]*\)\.tar.*,\1,p' | \
tail -1
endef
define $(PKG)_BUILD
# "file" needs a runnable version of the "file" utility
# itself. This must match the source code regarding its
# version. Therefore we build a native one ourselves first.
cp -Rp '$(1)' '$(1).native'
10 years ago
cd '$(1).native' && autoreconf -fi
cd '$(1).native' && ./configure \
--disable-shared
$(MAKE) -C '$(1).native/src' -j '$(JOBS)' file
cd '$(1)' && ./configure \
$(MXE_CONFIGURE_OPTS) \
CFLAGS=-DHAVE_PREAD
$(MAKE) -C '$(1)' -j '$(JOBS)' bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS= FILE_COMPILE='$(1).native/src/file'
$(MAKE) -C '$(1)' -j 1 install bin_PROGRAMS= sbin_PROGRAMS= noinst_PROGRAMS= man_MANS=
'$(TARGET)-gcc' \
-W -Wall -Werror -ansi -pedantic \
'$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-file.exe' \
-lmagic -lgnurx -lshlwapi
endef