ccache: add MSYS package

This commit is contained in:
mati865
2016-04-17 20:57:55 +02:00
parent 3a04652cf4
commit e7f2fd93e7
2 changed files with 84 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
diff -urN ccache-3.2.4.orig/ccache.h ccache-3.2.4/ccache.h
--- ccache-3.2.4.orig/ccache.h 2015-10-08 21:14:23.000000000 +0200
+++ ccache-3.2.4/ccache.h 2016-04-17 19:42:45.063373100 +0200
@@ -248,8 +248,9 @@
#endif
/* mkstemp() on some versions of cygwin don't handle binary files, so
- override */
-#ifdef __CYGWIN__
+ override,
+ however MSYS2 is fine */
+#if defined(__CYGWIN__) && !defined(__MSYS__)
#undef HAVE_MKSTEMP
#endif
diff -urN ccache-3.2.4.orig/lockfile.c ccache-3.2.4/lockfile.c
--- ccache-3.2.4.orig/lockfile.c 2015-10-08 21:14:23.000000000 +0200
+++ ccache-3.2.4/lockfile.c 2016-04-17 19:38:29.151513300 +0200
@@ -36,7 +36,7 @@
char *my_content = NULL, *content = NULL, *initial_content = NULL;
const char *hostname = get_hostname();
bool acquired = false;
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__MSYS__)
const size_t bufsize = 1024;
int fd, len;
#else
@@ -48,7 +48,7 @@
free(my_content);
my_content = format("%s:%d:%d", hostname, (int)getpid(), (int)time(NULL));
-#ifdef _WIN32
+#if defined(_WIN32) || defined(__MSYS__)
fd = open(lockfile, O_WRONLY|O_CREAT|O_EXCL|O_BINARY, 0666);
if (fd == -1) {
saved_errno = errno;

48
ccache/PKGBUILD Normal file
View File

@@ -0,0 +1,48 @@
# Maintainer: Mateusz Mikuła <mati865@gmail.com>
pkgname=ccache
pkgver=3.2.4
pkgrel=1
pkgdesc="A compiler cache (mingw-w64)"
arch=('i686' 'x86_64')
url="https://ccache.samba.org/"
license=("GPL3")
replaces=("${pkgname}-git")
makedepends=("gcc" "pkg-config")
depends=("gcc-libs" "zlib")
options=('staticlibs' 'strip')
source=(https://samba.org/ftp/ccache/${pkgname}-${pkgver}.tar.bz2{,.asc}
"MSYS2-dont-use-symlinks.patch")
sha256sums=('ffeb967edb549e67da0bd5f44f729a2022de9fdde65dfd80d2a7204d7f75332e'
'SKIP'
'a0d2ea2ef1c9e59d4e5fdd659d291a4c7f4afc48ad50b1bc00f77349337d3167')
prepare() {
cd ${pkgname}-${pkgver}
#./autogen.sh
patch -p1 -i ${srcdir}/MSYS2-dont-use-symlinks.patch
}
build() {
[[ -d build-${CHOST} ]] && rm -rf build-${CHOST}
mkdir -p build-${CHOST} && cd build-${CHOST}
../${pkgname}-${pkgver}/configure \
--prefix=/usr \
--build=${CHOST} \
--host=${CHOST} \
--target=${CHOST}
make
}
package() {
cd "${srcdir}/build-${CHOST}"
make DESTDIR="${pkgdir}" install
install -d ${pkgdir}/usr/lib/ccache/bin
cd ${pkgdir}/usr/lib/ccache/bin
scripts=(c++ cc cpp gcc g++ ${CARCH}-pc-msys-g++ ${CARCH}-pc-msys-c++ ${CARCH}-pc-msys-gcc)
for fn in ${scripts[*]}; do
echo -e '#!/bin/bash\n\nccache /usr/bin/'$fn' "$@"' > $fn
done
}