init
This commit is contained in:
commit
ade2887205
14 changed files with 626 additions and 0 deletions
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
*/src
|
||||||
|
*/pkg
|
||||||
|
*/*.tar
|
||||||
|
*/*.gz
|
||||||
|
*/*.bz2
|
||||||
|
*/*.xz
|
19
README.md
Normal file
19
README.md
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
here are some PKGBUILDs i've either modified or written over the years.
|
||||||
|
some of them are for Arch Linux, some of them are for MSYS2,
|
||||||
|
some of them work with both.
|
||||||
|
heads up: these are likely to be out of date.
|
||||||
|
|
||||||
|
### mingw-w64-nim-git
|
||||||
|
|
||||||
|
patches nim to compile with MSYS2, and use MSYS2 paths/DLLs.
|
||||||
|
a few things aren't working yet, but the core functionality is there.
|
||||||
|
|
||||||
|
### mingw-w64-tbox
|
||||||
|
|
||||||
|
patches tbox to compile/run with MSYS2.
|
||||||
|
*a lot of stuff* isn't working yet.
|
||||||
|
|
||||||
|
### xml2
|
||||||
|
|
||||||
|
modified to download from a mirror.
|
||||||
|
the original URL is offline.
|
4
mingw-w64-nim-git/.gitignore
vendored
Normal file
4
mingw-w64-nim-git/.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
Nim
|
||||||
|
nimble
|
||||||
|
nimsuggest
|
||||||
|
csources
|
|
@ -0,0 +1,29 @@
|
||||||
|
From 9f3ebed8efebc45b74fa3baf2a4295352465ade9 Mon Sep 17 00:00:00 2001
|
||||||
|
From: David Macek <david.macek.0@gmail.com>
|
||||||
|
Date: Tue, 13 Jan 2015 17:48:53 +0100
|
||||||
|
Subject: [PATCH] Use unixy filenames even on Windows
|
||||||
|
|
||||||
|
---
|
||||||
|
compiler/platform.nim | 6 +++---
|
||||||
|
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/compiler/platform.nim b/compiler/platform.nim
|
||||||
|
index c6cb3d2..b0e0862 100644
|
||||||
|
--- a/compiler/platform.nim
|
||||||
|
+++ b/compiler/platform.nim
|
||||||
|
@@ -43,9 +43,9 @@ const
|
||||||
|
parDir: "..", dllFrmt: "$1.dll", altDirSep: "/", objExt: ".obj",
|
||||||
|
newLine: "\x0D\x0A", pathSep: ";", dirSep: "\\", scriptExt: ".bat",
|
||||||
|
curDir: ".", exeExt: ".exe", extSep: ".", props: {ospCaseInsensitive}),
|
||||||
|
- (name: "Windows", parDir: "..", dllFrmt: "$1.dll", altDirSep: "/",
|
||||||
|
- objExt: ".obj", newLine: "\x0D\x0A", pathSep: ";", dirSep: "\\",
|
||||||
|
- scriptExt: ".bat", curDir: ".", exeExt: ".exe", extSep: ".",
|
||||||
|
+ (name: "Windows", parDir: "..", dllFrmt: "lib$1.dll", altDirSep: "/",
|
||||||
|
+ objExt: ".a", newLine: "\x0D\x0A", pathSep: ";", dirSep: "\\",
|
||||||
|
+ scriptExt: ".cmd", curDir: ".", exeExt: ".exe", extSep: ".",
|
||||||
|
props: {ospCaseInsensitive}),
|
||||||
|
(name: "OS2", parDir: "..",
|
||||||
|
dllFrmt: "$1.dll", altDirSep: "/",
|
||||||
|
--
|
||||||
|
1.9.4.msysgit.2
|
||||||
|
|
13
mingw-w64-nim-git/0002-Always-look-in-unix-paths.patch
Normal file
13
mingw-w64-nim-git/0002-Always-look-in-unix-paths.patch
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
diff --git a/compiler/nimconf.nim b/compiler/nimconf.nim
|
||||||
|
index 808159b..12e0b49 100644
|
||||||
|
--- a/compiler/nimconf.nim
|
||||||
|
+++ b/compiler/nimconf.nim
|
||||||
|
@@ -221,7 +221,7 @@ proc getSystemConfigPath(filename: string): string =
|
||||||
|
# the UNIX way)
|
||||||
|
let p = getPrefixDir()
|
||||||
|
result = joinPath([p, "config", filename])
|
||||||
|
- when defined(unix):
|
||||||
|
+ when true:
|
||||||
|
if not existsFile(result): result = joinPath([p, "etc", filename])
|
||||||
|
if not existsFile(result): result = "/etc/" & filename
|
||||||
|
|
15
mingw-w64-nim-git/0003-Check-lib-nim-subdirectory.patch
Normal file
15
mingw-w64-nim-git/0003-Check-lib-nim-subdirectory.patch
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
diff --git a/compiler/options.nim b/compiler/options.nim
|
||||||
|
index 6372cdd..1354da0 100644
|
||||||
|
--- a/compiler/options.nim
|
||||||
|
+++ b/compiler/options.nim
|
||||||
|
@@ -229,6 +229,10 @@ proc setDefaultLibpath*() =
|
||||||
|
else: libpath = joinPath(prefix, "lib")
|
||||||
|
else: libpath = joinPath(prefix, "lib")
|
||||||
|
|
||||||
|
+ if not fileExists(libpath / "system.nim") and
|
||||||
|
+ fileExists(libpath / "nim" / "system.nim"):
|
||||||
|
+ libpath = libpath / "nim"
|
||||||
|
+
|
||||||
|
# Special rule to support other tools (nimble) which import the compiler
|
||||||
|
# modules and make use of them.
|
||||||
|
let realNimPath = findExe("nim")
|
52
mingw-w64-nim-git/0004-Use-nimOldDlls.patch
Normal file
52
mingw-w64-nim-git/0004-Use-nimOldDlls.patch
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
diff --git a/lib/wrappers/openssl.nim b/lib/wrappers/openssl.nim
|
||||||
|
index 5521476..2453c16 100644
|
||||||
|
--- a/lib/wrappers/openssl.nim
|
||||||
|
+++ b/lib/wrappers/openssl.nim
|
||||||
|
@@ -14,7 +14,7 @@
|
||||||
|
const useWinVersion = defined(Windows) or defined(nimdoc)
|
||||||
|
|
||||||
|
when useWinVersion:
|
||||||
|
- when not defined(nimOldDlls) and defined(cpu64):
|
||||||
|
+ when not true and defined(cpu64):
|
||||||
|
const
|
||||||
|
DLLSSLName = "(ssleay64|libssl64).dll"
|
||||||
|
DLLUtilName = "libeay64.dll"
|
||||||
|
diff --git a/lib/wrappers/pcre.nim b/lib/wrappers/pcre.nim
|
||||||
|
index 6c7088b..8b0e7f6 100644
|
||||||
|
--- a/lib/wrappers/pcre.nim
|
||||||
|
+++ b/lib/wrappers/pcre.nim
|
||||||
|
@@ -310,7 +310,7 @@ type
|
||||||
|
|
||||||
|
when not defined(usePcreHeader):
|
||||||
|
when hostOS == "windows":
|
||||||
|
- when defined(nimOldDlls):
|
||||||
|
+ when true:
|
||||||
|
const pcreDll = "pcre.dll"
|
||||||
|
elif defined(cpu64):
|
||||||
|
const pcreDll = "pcre64.dll"
|
||||||
|
diff --git a/lib/wrappers/pdcurses.nim b/lib/wrappers/pdcurses.nim
|
||||||
|
index 2d64ac9..a46134c 100644
|
||||||
|
--- a/lib/wrappers/pdcurses.nim
|
||||||
|
+++ b/lib/wrappers/pdcurses.nim
|
||||||
|
@@ -42,7 +42,7 @@ pdcwin.h:
|
||||||
|
when defined(windows):
|
||||||
|
import windows
|
||||||
|
|
||||||
|
- when defined(nimOldDlls):
|
||||||
|
+ when true:
|
||||||
|
const pdcursesdll = "pdcurses.dll"
|
||||||
|
elif defined(cpu64):
|
||||||
|
const pdcursesdll = "pdcurses64.dll"
|
||||||
|
diff --git a/lib/wrappers/sqlite3.nim b/lib/wrappers/sqlite3.nim
|
||||||
|
index a129458..5e84a9b 100644
|
||||||
|
--- a/lib/wrappers/sqlite3.nim
|
||||||
|
+++ b/lib/wrappers/sqlite3.nim
|
||||||
|
@@ -9,7 +9,7 @@
|
||||||
|
|
||||||
|
{.deadCodeElim: on.}
|
||||||
|
when defined(windows):
|
||||||
|
- when defined(nimOldDlls):
|
||||||
|
+ when true:
|
||||||
|
const Lib = "sqlite3.dll"
|
||||||
|
elif defined(cpu64):
|
||||||
|
const Lib = "sqlite3_64.dll"
|
131
mingw-w64-nim-git/PKGBUILD
Normal file
131
mingw-w64-nim-git/PKGBUILD
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
pkgbase=mingw-w64-nim-git
|
||||||
|
pkgname=("${MINGW_PACKAGE_PREFIX}-nim-git")
|
||||||
|
pkgver=20170404
|
||||||
|
pkgrel=1
|
||||||
|
arch=('i686' 'x86_64')
|
||||||
|
groups=('nim')
|
||||||
|
depends=("${MINGW_PACKAGE_PREFIX}-openssl")
|
||||||
|
makedepends=('git')
|
||||||
|
source=(git+https://github.com/nim-lang/Nim
|
||||||
|
git+https://github.com/nim-lang/csources
|
||||||
|
git+https://github.com/nim-lang/nimble
|
||||||
|
git+https://github.com/nim-lang/nimsuggest
|
||||||
|
"0001-Use-unixy-filenames-even-on-Windows.patch"
|
||||||
|
"0002-Always-look-in-unix-paths.patch"
|
||||||
|
"0003-Check-lib-nim-subdirectory.patch"
|
||||||
|
"0004-Use-nimOldDlls.patch")
|
||||||
|
sha256sums=('SKIP' 'SKIP' 'SKIP' 'SKIP'
|
||||||
|
'3010acbe7769ea214dd51f5889e3a26b44925001905deb04b060beaede2578f4'
|
||||||
|
'fac04c8caa29a545275cd19a0fac597649c8ad9e7556fe65802e28c88c8905ac'
|
||||||
|
'3cfe161bd1e19f621e2ff824a59362e4f3d4d2a4d27a2653bae1d83ba23ab9b1'
|
||||||
|
'bbfa440d05cc2788caabd94623e35275519f0692f6ddfa00a7afcdddbb274888')
|
||||||
|
|
||||||
|
pkgver() {
|
||||||
|
cd "$srcdir/Nim"
|
||||||
|
git log -1 --format="%cd" --date=short | sed "s|-||g"
|
||||||
|
}
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd "$srcdir/Nim"
|
||||||
|
|
||||||
|
msg2 'Cloning csources...'
|
||||||
|
[ -d csources ] && rm -rf csources
|
||||||
|
git clone --local "$srcdir/csources"
|
||||||
|
|
||||||
|
patch -p1 -i "${srcdir}/0001-Use-unixy-filenames-even-on-Windows.patch"
|
||||||
|
patch -p1 -i "${srcdir}/0002-Always-look-in-unix-paths.patch"
|
||||||
|
patch -p1 -i "${srcdir}/0003-Check-lib-nim-subdirectory.patch"
|
||||||
|
patch -p1 -i "${srcdir}/0004-Use-nimOldDlls.patch"
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "$srcdir/Nim"
|
||||||
|
|
||||||
|
msg2 'Building csources...'
|
||||||
|
pushd csources
|
||||||
|
sh build.sh
|
||||||
|
popd
|
||||||
|
|
||||||
|
msg2 'Building Nim...'
|
||||||
|
./bin/nim c -d:release koch
|
||||||
|
./koch boot -d:release -d:nativeStacktrace -d:useGnuReadline
|
||||||
|
|
||||||
|
msg2 'Building Nimble...'
|
||||||
|
./koch nimble
|
||||||
|
|
||||||
|
msg2 'Building nimgrep and nimsuggest...'
|
||||||
|
./koch tools
|
||||||
|
|
||||||
|
msg2 'Building libnimrtl...'
|
||||||
|
pushd lib
|
||||||
|
../bin/nim c --app:lib -d:createNimRtl -d:release nimrtl.nim
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
pkgdesc="Compiled, garbage-collected systems programming language which has an excellent productivity/performance ratio"
|
||||||
|
url="https://github.com/nim-lang/Nim"
|
||||||
|
license=('MIT')
|
||||||
|
options=('!emptydirs')
|
||||||
|
provides=('nim' 'nimble')
|
||||||
|
conflicts=('nim' 'nimble')
|
||||||
|
|
||||||
|
cd "$srcdir/Nim"
|
||||||
|
|
||||||
|
msg2 'Installing Nim license...'
|
||||||
|
install -Dm 644 "copying.txt" -t "$pkgdir$MINGW_PREFIX/share/licenses/nim"
|
||||||
|
|
||||||
|
msg2 'Installing Nim documentation...'
|
||||||
|
install -dm 755 "$pkgdir$MINGW_PREFIX/share/doc/nim"
|
||||||
|
cp -dpr --no-preserve=ownership examples web doc/* "$pkgdir$MINGW_PREFIX/share/doc/nim"
|
||||||
|
|
||||||
|
msg2 'Installing Nim...'
|
||||||
|
./koch install "$pkgdir"
|
||||||
|
install -Dm 755 bin/{nim,nimgrep} -t "$pkgdir$MINGW_PREFIX/bin"
|
||||||
|
|
||||||
|
cd "$pkgdir/nim"
|
||||||
|
install -dm 755 "$pkgdir$MINGW_PREFIX/etc" "$pkgdir$MINGW_PREFIX/lib/nim"
|
||||||
|
find lib -mindepth 1 -maxdepth 1 -exec \
|
||||||
|
cp -dpr --no-preserve=ownership '{}' "$pkgdir$MINGW_PREFIX/lib/nim" \;
|
||||||
|
find config -mindepth 1 -maxdepth 1 -exec \
|
||||||
|
cp -dpr --no-preserve=ownership '{}' "$pkgdir$MINGW_PREFIX/etc/" \;
|
||||||
|
cp -dpr --no-preserve=ownership "$srcdir/Nim/lib/packages" \
|
||||||
|
"$pkgdir$MINGW_PREFIX/lib/nim"
|
||||||
|
|
||||||
|
# https://bugs.archlinux.org/task/50252
|
||||||
|
msg2 'Fixing unusual placement of header files...'
|
||||||
|
install -dm 755 "$pkgdir$MINGW_PREFIX/include"
|
||||||
|
for _header in cycle nimbase; do
|
||||||
|
cp "$pkgdir$MINGW_PREFIX/lib/nim/${_header}.h" "$pkgdir$MINGW_PREFIX/include/${_header}.h"
|
||||||
|
done
|
||||||
|
|
||||||
|
msg2 'Fixing unusual placement of shared object files...'
|
||||||
|
cp "$pkgdir$MINGW_PREFIX/lib/nim/libnimrtl.dll" "$pkgdir$MINGW_PREFIX/lib/libnimrtl.dll"
|
||||||
|
|
||||||
|
msg2 'Cleaning up pkgdir...'
|
||||||
|
find "$pkgdir" -type d -name .git -exec rm -r '{}' +
|
||||||
|
find "$pkgdir" -type f -name .gitignore -exec rm -r '{}' +
|
||||||
|
rm -rf "$pkgdir/nim"
|
||||||
|
|
||||||
|
# nimble
|
||||||
|
|
||||||
|
cd "$srcdir/nimble"
|
||||||
|
|
||||||
|
msg2 'Installing Nimble license...'
|
||||||
|
install -Dm 644 license.txt -t "$pkgdir$MINGW_PREFIX/share/licenses/nimble"
|
||||||
|
|
||||||
|
msg2 'Installing Nimble documentation...'
|
||||||
|
install -Dm 644 *.markdown -t "$pkgdir$MINGW_PREFIX/share/doc/nimble"
|
||||||
|
|
||||||
|
msg2 'Installing Nimble...'
|
||||||
|
install -Dm 755 "$srcdir/Nim/bin/nimble" -t "$pkgdir$MINGW_PREFIX/bin"
|
||||||
|
|
||||||
|
# Nimble looks for nimscriptapi.nim in /usr/bin/nimblepkg/, of all places.
|
||||||
|
install -dm 755 "$pkgdir$MINGW_PREFIX/share/nimble"
|
||||||
|
cp -dpr --no-preserve=ownership src/nimblepkg "$pkgdir$MINGW_PREFIX/share/nimble"
|
||||||
|
cp -dpr --no-preserve=ownership "$pkgdir$MINGW_PREFIX/share/nimble" "$pkgdir$MINGW_PREFIX/bin/nimblepkg"
|
||||||
|
|
||||||
|
msg2 'Installing Nimble bash completion...'
|
||||||
|
install -Dm 644 nimble.bash-completion \
|
||||||
|
"$pkgdir$MINGW_PREFIX/share/bash-completion/completions/nimble"
|
||||||
|
}
|
51
mingw-w64-tbox/PKGBUILD
Normal file
51
mingw-w64-tbox/PKGBUILD
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
_pkgname=tbox
|
||||||
|
pkgbase="mingw-w64-${_pkgname}"
|
||||||
|
pkgname="${MINGW_PACKAGE_PREFIX}-${_pkgname}"
|
||||||
|
pkgver=1.6.1
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="A glib-like multi-platform C library"
|
||||||
|
arch=('i686' 'x86_64')
|
||||||
|
url="https://github.com/tboox/tbox"
|
||||||
|
license=('Apache')
|
||||||
|
depends=("${MINGW_PACKAGE_PREFIX}-gcc-libs"
|
||||||
|
"${MINGW_PACKAGE_PREFIX}-openssl"
|
||||||
|
"${MINGW_PACKAGE_PREFIX}-pcre"
|
||||||
|
"${MINGW_PACKAGE_PREFIX}-sqlite3"
|
||||||
|
"${MINGW_PACKAGE_PREFIX}-winpthreads-git"
|
||||||
|
"${MINGW_PACKAGE_PREFIX}-zlib")
|
||||||
|
# NOTE: xmake isn't available for msys2 yet,
|
||||||
|
# so instead, I recommend that you download it from
|
||||||
|
# https://github.com/tboox/xmake/releases
|
||||||
|
# and put it to your PATH.
|
||||||
|
#makedepends=('xmake')
|
||||||
|
source=("${pkgname}.zip::https://github.com/tboox/tbox/archive/v${pkgver}.zip"
|
||||||
|
"msys2.patch"
|
||||||
|
"context_x86.obj" # sorry for including assembled object files,
|
||||||
|
"context_x64.obj") # but this avoids depending on MASM for now.
|
||||||
|
sha256sums=('d389027f63c11d3170b09fb51a9b75b55c34a7f0fb82de49d7c5be17c8cb3239'
|
||||||
|
'ca4a70de41338fea3422cb7957c2249cfb7e7464e5f9b12120751574965a128d'
|
||||||
|
'd5a3dddee337f0aad5912cfc4271f2ea46b0093ee2cd1fcc037a3ad2788a4744'
|
||||||
|
'44eb2adb0f5abb86c4fdb70868be3d91d94a4f73841a625de47dae99a532dc33')
|
||||||
|
|
||||||
|
prepare() {
|
||||||
|
cd "${srcdir}/${_pkgname}-${pkgver}"
|
||||||
|
patch -p2 -i "${srcdir}/msys2.patch"
|
||||||
|
|
||||||
|
cp "${srcdir}/context_x86.obj" src/tbox/platform/arch/x86/context.o
|
||||||
|
cp "${srcdir}/context_x64.obj" src/tbox/platform/arch/x64/context.o
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "${srcdir}/${_pkgname}-${pkgver}"
|
||||||
|
[ "${MSYSTEM}" == "MINGW64" ] && arch=x86_64 || arch=i386
|
||||||
|
xmake config -c -p mingw -a "${arch}"
|
||||||
|
xmake build
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "${srcdir}/${_pkgname}-${pkgver}"
|
||||||
|
mkdir -p "${pkgdir}${MINGW_PREFIX}/lib"
|
||||||
|
mkdir -p "${pkgdir}${MINGW_PREFIX}/share/tbox"
|
||||||
|
cp "build/libtbox.a" "${pkgdir}${MINGW_PREFIX}/lib/"
|
||||||
|
cp "build/demo.exe" "${pkgdir}${MINGW_PREFIX}/share/tbox/"
|
||||||
|
}
|
BIN
mingw-w64-tbox/context_x64.obj
Normal file
BIN
mingw-w64-tbox/context_x64.obj
Normal file
Binary file not shown.
BIN
mingw-w64-tbox/context_x86.obj
Normal file
BIN
mingw-w64-tbox/context_x86.obj
Normal file
Binary file not shown.
109
mingw-w64-tbox/msys2.patch
Normal file
109
mingw-w64-tbox/msys2.patch
Normal file
|
@ -0,0 +1,109 @@
|
||||||
|
diff --git a/tbox-1.6.1/src/tbox/network/impl/ssl/openssl.c b/tbox-1.6.1-msys2/src/tbox/network/impl/ssl/openssl.c
|
||||||
|
index f5ca14d..f1f5163 100644
|
||||||
|
--- a/tbox-1.6.1/src/tbox/network/impl/ssl/openssl.c
|
||||||
|
+++ b/tbox-1.6.1-msys2/src/tbox/network/impl/ssl/openssl.c
|
||||||
|
@@ -27,6 +27,7 @@
|
||||||
|
/* //////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
* includes
|
||||||
|
*/
|
||||||
|
+#include <winsock2.h>
|
||||||
|
#include "prefix.h"
|
||||||
|
#include "openssl/openssl.h"
|
||||||
|
#include "../../../utils/utils.h"
|
||||||
|
@@ -80,7 +81,7 @@ static tb_int_t tb_ssl_bio_method_init(BIO* bio);
|
||||||
|
static tb_int_t tb_ssl_bio_method_exit(BIO* bio);
|
||||||
|
static tb_int_t tb_ssl_bio_method_read(BIO* bio, tb_char_t* data, tb_int_t size);
|
||||||
|
static tb_int_t tb_ssl_bio_method_writ(BIO* bio, tb_char_t const* data, tb_int_t size);
|
||||||
|
-static tb_long_t tb_ssl_bio_method_ctrl(BIO* bio, tb_int_t cmd, tb_long_t num, tb_pointer_t ptr);
|
||||||
|
+static long tb_ssl_bio_method_ctrl(BIO* bio, tb_int_t cmd, long num, tb_pointer_t ptr);
|
||||||
|
static tb_int_t tb_ssl_bio_method_puts(BIO* bio, tb_char_t const* data);
|
||||||
|
static tb_int_t tb_ssl_bio_method_gets(BIO* bio, tb_char_t* data, tb_int_t size);
|
||||||
|
|
||||||
|
@@ -296,7 +297,7 @@ static tb_int_t tb_ssl_bio_method_writ(BIO* bio, tb_char_t const* data, tb_int_t
|
||||||
|
// ok?
|
||||||
|
return (tb_int_t)real;
|
||||||
|
}
|
||||||
|
-static tb_long_t tb_ssl_bio_method_ctrl(BIO* bio, tb_int_t cmd, tb_long_t num, tb_pointer_t ptr)
|
||||||
|
+static long tb_ssl_bio_method_ctrl(BIO* bio, tb_int_t cmd, long num, tb_pointer_t ptr)
|
||||||
|
{
|
||||||
|
// check
|
||||||
|
tb_assert_and_check_return_val(bio, -1);
|
||||||
|
diff --git a/tbox-1.6.1/src/tbox/platform/arch/x64/context.S b/tbox-1.6.1-msys2/src/tbox/platform/arch/x64/context.S
|
||||||
|
index 1f3e7f0..258a05b 100644
|
||||||
|
--- a/tbox-1.6.1/src/tbox/platform/arch/x64/context.S
|
||||||
|
+++ b/tbox-1.6.1-msys2/src/tbox/platform/arch/x64/context.S
|
||||||
|
@@ -109,7 +109,7 @@ __end:
|
||||||
|
#ifdef TB_ARCH_ELF
|
||||||
|
call _exit@PLT
|
||||||
|
#else
|
||||||
|
- call __exit
|
||||||
|
+ call _exit
|
||||||
|
#endif
|
||||||
|
hlt
|
||||||
|
|
||||||
|
diff --git a/tbox-1.6.1/src/tbox/platform/windows/ifaddrs.c b/tbox-1.6.1-msys2/src/tbox/platform/windows/ifaddrs.c
|
||||||
|
index 69c25e0..b2f39b4 100644
|
||||||
|
--- a/tbox-1.6.1/src/tbox/platform/windows/ifaddrs.c
|
||||||
|
+++ b/tbox-1.6.1-msys2/src/tbox/platform/windows/ifaddrs.c
|
||||||
|
@@ -29,6 +29,10 @@
|
||||||
|
#include "../posix/sockaddr.h"
|
||||||
|
#include "interface/interface.h"
|
||||||
|
|
||||||
|
+#ifdef interface
|
||||||
|
+#undef interface
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/* //////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
* private implementation
|
||||||
|
*/
|
||||||
|
diff --git a/tbox-1.6.1/src/tbox/prefix/type.h b/tbox-1.6.1-msys2/src/tbox/prefix/type.h
|
||||||
|
index e4a108c..13f00f0 100644
|
||||||
|
--- a/tbox-1.6.1/src/tbox/prefix/type.h
|
||||||
|
+++ b/tbox-1.6.1-msys2/src/tbox/prefix/type.h
|
||||||
|
@@ -109,9 +109,9 @@ typedef tb_int32_t tb_wchar_t;
|
||||||
|
#if defined(TB_COMPILER_IS_MSVC)
|
||||||
|
typedef __int64 tb_int64_t;
|
||||||
|
typedef unsigned __int64 tb_uint64_t;
|
||||||
|
-#elif (TB_CPU_BITSIZE == 64)
|
||||||
|
-typedef signed long tb_int64_t;
|
||||||
|
-typedef unsigned long tb_uint64_t;
|
||||||
|
+//#elif (TB_CPU_BITSIZE == 64)
|
||||||
|
+//typedef signed long tb_int64_t;
|
||||||
|
+//typedef unsigned long tb_uint64_t;
|
||||||
|
#else
|
||||||
|
typedef signed long long tb_int64_t;
|
||||||
|
typedef unsigned long long tb_uint64_t;
|
||||||
|
diff --git a/tbox-1.6.1/src/tbox/prefix/x86/prefix.S b/tbox-1.6.1-msys2/src/tbox/prefix/x86/prefix.S
|
||||||
|
index 0866baa..60225cb 100644
|
||||||
|
--- a/tbox-1.6.1/src/tbox/prefix/x86/prefix.S
|
||||||
|
+++ b/tbox-1.6.1-msys2/src/tbox/prefix/x86/prefix.S
|
||||||
|
@@ -45,8 +45,8 @@ name:
|
||||||
|
# define function(name) \
|
||||||
|
.text ;\
|
||||||
|
.align TB_CPU_BITBYTE ; \
|
||||||
|
- .global _##name ;\
|
||||||
|
-_##name:
|
||||||
|
+ .global name ;\
|
||||||
|
+name:
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// end function
|
||||||
|
diff --git a/tbox-1.6.1/src/tbox/xmake.lua b/tbox-1.6.1-msys2/src/tbox/xmake.lua
|
||||||
|
index e2bb8ee..745a77e 100644
|
||||||
|
--- a/tbox-1.6.1/src/tbox/xmake.lua
|
||||||
|
+++ b/tbox-1.6.1-msys2/src/tbox/xmake.lua
|
||||||
|
@@ -85,10 +85,10 @@ target("tbox")
|
||||||
|
-- add the source files for the coroutine module
|
||||||
|
if is_option("coroutine") then
|
||||||
|
add_files("platform/context.c")
|
||||||
|
- if is_plat("windows") then
|
||||||
|
- add_files("platform/arch/$(arch)/context.asm")
|
||||||
|
- else
|
||||||
|
- add_files("platform/arch/context.S")
|
||||||
|
+ if is_arch("x86_64") then
|
||||||
|
+ add_files("platform/arch/x64/context.o")
|
||||||
|
+ elseif is_arch("i386") then
|
||||||
|
+ add_files("platform/arch/x86/context.o")
|
||||||
|
end
|
||||||
|
add_files("coroutine/**.c")
|
||||||
|
end
|
169
mingw-w64-tbox/testall
Normal file
169
mingw-w64-tbox/testall
Normal file
|
@ -0,0 +1,169 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# known not to work
|
||||||
|
failing=(
|
||||||
|
# coroutine_echo_client
|
||||||
|
# coroutine_echo_server
|
||||||
|
# coroutine_file_client
|
||||||
|
# coroutine_file_server
|
||||||
|
# coroutine_http_server
|
||||||
|
coroutine_lock
|
||||||
|
memory_check
|
||||||
|
platform_lock
|
||||||
|
platform_thread_pool
|
||||||
|
platform_timer
|
||||||
|
stream_cache
|
||||||
|
stream_charset
|
||||||
|
stream_null
|
||||||
|
stream_zip
|
||||||
|
)
|
||||||
|
|
||||||
|
# probably expecting input or arguments
|
||||||
|
stalling=(
|
||||||
|
# lo_coroutine_echo_client
|
||||||
|
# lo_coroutine_echo_server
|
||||||
|
# lo_coroutine_file_client
|
||||||
|
# lo_coroutine_file_server
|
||||||
|
# lo_coroutine_http_server
|
||||||
|
network_whois
|
||||||
|
platform_event
|
||||||
|
platform_ltimer
|
||||||
|
platform_semaphore
|
||||||
|
platform_thread
|
||||||
|
platform_thread_local
|
||||||
|
)
|
||||||
|
|
||||||
|
# and finally, the stuff that works
|
||||||
|
# TODO: pass arguments to those that expect them (e.g. stream)
|
||||||
|
running=(
|
||||||
|
algorithm_find
|
||||||
|
algorithm_sort
|
||||||
|
container_bloom_filter
|
||||||
|
container_circle_queue
|
||||||
|
container_hash_map
|
||||||
|
container_hash_set
|
||||||
|
container_heap
|
||||||
|
container_list
|
||||||
|
container_list_entry
|
||||||
|
container_queue
|
||||||
|
container_single_list
|
||||||
|
container_single_list_entry
|
||||||
|
container_stack
|
||||||
|
container_vector
|
||||||
|
coroutine_channel
|
||||||
|
coroutine_nest
|
||||||
|
coroutine_semaphore
|
||||||
|
coroutine_sleep
|
||||||
|
coroutine_spider
|
||||||
|
coroutine_switch
|
||||||
|
database_sql
|
||||||
|
hash_adler32
|
||||||
|
hash_benchmark
|
||||||
|
hash_crc16
|
||||||
|
hash_crc32
|
||||||
|
hash_crc8
|
||||||
|
hash_djb2
|
||||||
|
hash_fnv32
|
||||||
|
hash_fnv64
|
||||||
|
hash_md5
|
||||||
|
hash_sdbm
|
||||||
|
hash_sha
|
||||||
|
hash_uuid
|
||||||
|
libc_mbstowcs
|
||||||
|
libc_stdlib
|
||||||
|
libc_string
|
||||||
|
libc_time
|
||||||
|
libc_wchar
|
||||||
|
libc_wcstombs
|
||||||
|
libm_double
|
||||||
|
libm_float
|
||||||
|
libm_integer
|
||||||
|
lo_coroutine_lock
|
||||||
|
lo_coroutine_nest
|
||||||
|
lo_coroutine_sleep
|
||||||
|
lo_coroutine_switch
|
||||||
|
math_fixed
|
||||||
|
math_random
|
||||||
|
memory_buffer
|
||||||
|
memory_default_allocator
|
||||||
|
memory_fixed_pool
|
||||||
|
memory_impl_static_fixed_pool
|
||||||
|
memory_large_allocator
|
||||||
|
memory_memops
|
||||||
|
memory_queue_buffer
|
||||||
|
memory_small_allocator
|
||||||
|
memory_static_buffer
|
||||||
|
memory_string_pool
|
||||||
|
network_cookies
|
||||||
|
network_dns
|
||||||
|
network_http
|
||||||
|
network_hwaddr
|
||||||
|
network_impl_date
|
||||||
|
network_ipaddr
|
||||||
|
network_ipv4
|
||||||
|
network_ipv6
|
||||||
|
network_url
|
||||||
|
object_bin
|
||||||
|
object_bplist
|
||||||
|
object_dump
|
||||||
|
object_jcat
|
||||||
|
object_json
|
||||||
|
object_xml
|
||||||
|
object_xplist
|
||||||
|
other_charset
|
||||||
|
other_test
|
||||||
|
platform_addrinfo
|
||||||
|
platform_atomic
|
||||||
|
platform_atomic64
|
||||||
|
platform_backtrace
|
||||||
|
platform_barrier
|
||||||
|
platform_cache_time
|
||||||
|
platform_context
|
||||||
|
platform_directory
|
||||||
|
platform_environment
|
||||||
|
platform_file
|
||||||
|
platform_hostname
|
||||||
|
platform_ifaddrs
|
||||||
|
platform_path
|
||||||
|
platform_process
|
||||||
|
platform_processor
|
||||||
|
platform_utils
|
||||||
|
regex
|
||||||
|
stream
|
||||||
|
string_static_string
|
||||||
|
string_string
|
||||||
|
utils_base32
|
||||||
|
utils_base64
|
||||||
|
utils_bits
|
||||||
|
utils_dump
|
||||||
|
utils_option
|
||||||
|
utils_url
|
||||||
|
xml_document
|
||||||
|
xml_reader
|
||||||
|
xml_writer
|
||||||
|
)
|
||||||
|
|
||||||
|
testall() {
|
||||||
|
local demo="$1"
|
||||||
|
shift || { echo "expected path to demo program" >&2; return -1; }
|
||||||
|
local ret=0
|
||||||
|
|
||||||
|
for d in "${running[@]}"; do
|
||||||
|
echo "testing: $d" >&2
|
||||||
|
fail=0
|
||||||
|
"$demo" "$d" > /tmp/demo_stdout || fail=1
|
||||||
|
if [ $fail -eq 1 ]; then
|
||||||
|
cat /tmp/demo_stdout
|
||||||
|
echo "TEST FAILED: $d" >&2
|
||||||
|
let ret++
|
||||||
|
#break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
rm /tmp/demo_stdout
|
||||||
|
|
||||||
|
return $ret
|
||||||
|
}
|
||||||
|
|
||||||
|
testall "$@"
|
28
xml2/PKGBUILD
Normal file
28
xml2/PKGBUILD
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
# Contributor: Sergej Pupykin <pupykin.s+arch@gmail.com>
|
||||||
|
# Contributor: Orivej Desh <masecretaire@gmx.fr>
|
||||||
|
|
||||||
|
pkgname=xml2
|
||||||
|
pkgver=0.5
|
||||||
|
pkgrel=1
|
||||||
|
pkgdesc="XML/Unix Processing Tools to convert XML and HTML to and from a line-oriented format more amenable to processing by classic Unix pipeline processing tools"
|
||||||
|
arch=("i686" "x86_64")
|
||||||
|
url="http://www.ofb.net/~egnor/xml2/"
|
||||||
|
license=("GPL")
|
||||||
|
depends=("libxml2")
|
||||||
|
source=("http://pkgs.fedoraproject.org/repo/pkgs/xml2/xml2-0.5.tar.gz/48eacf64b01ca3a4a5afb1a36f5906e6/xml2-0.5.tar.gz")
|
||||||
|
md5sums=('48eacf64b01ca3a4a5afb1a36f5906e6')
|
||||||
|
|
||||||
|
build() {
|
||||||
|
cd "$srcdir/$pkgname-$pkgver"
|
||||||
|
./configure --prefix=/usr
|
||||||
|
make
|
||||||
|
}
|
||||||
|
|
||||||
|
package() {
|
||||||
|
cd "$srcdir/$pkgname-$pkgver"
|
||||||
|
make DESTDIR="$pkgdir" install
|
||||||
|
cd "$pkgdir/usr/bin"
|
||||||
|
rm html2 2html
|
||||||
|
ln -s xml2 html2
|
||||||
|
ln -s 2xml 2html
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue