Tuesday, August 23, 2016

Compiling Git in Native MinGW-w64

** using gcc-5.3.0 mingw-builds **
** using gcc-5.3.1 dongsheng build **

export CPPFLAGS="-Ic:/programs/dev/git-w64/include"
export LDFLAGS="-Lc:/programs/dev/git-w64/lib"
export PATH="$PATH:/c/programs/git/bin:/c/programs/dev/git-w64/bin"
export PKG_CONFIG_PATH="/c/programs/dev/git-w64/lib/pkgconfig"
export PERL_PATH="c:/programs/perl/bin/perl.exe"

----------


libiconv-1.14
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

cd libiconv-1.14
./configure --prefix=c:/programs/dev/git-w64 --build=x86_64-w64-mingw32 --disable-static
make
make install


pcre-8.39
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.bz2

cd pcre-8.39
./configure --prefix=c:/programs/dev/git-w64 --build=x86_64-w64-mingw32 \
--enable-utf8 --enable-newline-is-anycrlf --disable-cpp --disable-static
make
make install


openssl-1.0.2h
http://www.openssl.org/source/openssl-1.0.2h.tar.gz
patch: openssl-1.0.2h_mingw.diff

cd openssl-1.0.2h
./configure --prefix=c:/programs/dev/git-w64 mingw64 no-zlib no-asm shared
sed -i 's# libcrypto.a##;s# libssl.a##' Makefile
make
make install


libssh2-1.7.0
http://www.libssh2.org/download/libssh2-1.7.0.tar.gz
deps: openssl

cd libssh2-1.7.0
./configure --prefix=c:/programs/dev/git-w64 --build=x86_64-w64-mingw32 \
--disable-examples-build --disable-static
make
make install


curl-7.50.1
http://curl.haxx.se/download/curl-7.50.1.tar.lzma
patch: curl-7.50.1_mingw.diff

cd curl-7.50.1
./configure --prefix=c:/programs/dev/git-w64 --build=x86_64-w64-mingw32 --without-zlib --disable-static
make V=1
make install


expat-2.2.0
http://sourceforge.net/projects/expat/files/expat/2.2.0/expat-2.2.0.tar.gz/download

cd expat-2.2.0
./configure --prefix=c:/programs/dev/git-w64 --build=x86_64-w64-mingw32 --disable-static
make
make install


tcl8.6.5
https://sourceforge.net/projects/tcl/files/Tcl/8.6.5/tcl-core8.6.5-src.tar.gz/download
patch: tcl8.6.5_mingw.diff

cd tcl8.6.5/win
./configure --prefix=c:/programs/dev/git-w64 --build=x86_64-w64-mingw32 --enable-64bit
make
make install
mv c:/programs/dev/git-w64/bin/tclsh*.exe c:/programs/dev/git-w64/bin/tclsh.exe


tk8.6.5
https://sourceforge.net/projects/tcl/files/Tcl/8.6.5/tk8.6.5-src.tar.gz/download
patch: tk8.6.5_mingw.diff

cd tk8.6.5/win
./configure --prefix=c:/programs/dev/git-w64 --build=x86_64-w64-mingw32 --enable-64bit
make
make install
mv c:/programs/dev/git-w64/bin/wish*.exe c:/programs/dev/git-w64/bin/wish.exe


zlib-1.2.8
http://zlib.net/zlib-1.2.8.tar.bz2

cd zlib-1.2.8
make -f win32/Makefile.gcc
cp -p zlib1.dll c:/programs/dev/git-w64/bin
cp -p zlib.h zconf.h c:/programs/dev/git-w64/include
cp -p libz.dll.a c:/programs/dev/git-w64/lib


git-2.9.3
https://www.kernel.org/pub/software/scm/git/git-2.9.3.tar.xz
patch: git-2.9.3-1_mingw.diff

cd git-2.9.3
./configure --prefix=/c/programs/git --build=x86_64-w64-mingw32
make V=1 strip
make install

----------

Downloads:

Git-2.9.3-1-shared-mingw-x86_64.7z
Git-2.9.3-1-static-mingw-x86_64.7z

Git-2.9.3-1-shared-mingw-i686.7z

Wednesday, December 17, 2014

PyWin32 (native MinGW)

PyWin32 is a python extension for windows.

* Updated on 09 August 2016 *

Build Notes:
------------

This module is to be used with Python built on MinGW, not the official build.

Built using Python {2.7.8, 3.4.5, 3.5.2} (MinGW native) and MinGW-w64 GCC {4.9.2-5.3.1}

These modules were not built;

[i686]
Requires Microsoft Platform SDK to build:
  Pythonwin, win32ui, win32uiole, dde

[x86_64]
Requires Microsoft Platform SDK to build:
  Pythonwin, win32ui, win32uiole, dde
Requires Microsoft Exchange SDK to build:
  exchange exchdapi

Needs some extra libs and headers;

[i686]
[from Microsoft Platform SDK v7.1A (x86)]
  ADSIid.Lib
  ActiveDS.Lib
  Bits.Lib
  Htmlhelp.Lib
  NtQuery.Lib
  Urlmon.Lib
  propsys.lib
[from Microsoft VC 9.0 (x86)]
  RunTmChk.lib

[x86_64]
[from Microsoft Platform SDK v7.1A (x64)]
  ADSIid.Lib
  Bits.Lib
  Htmlhelp.Lib
  NtQuery.Lib
  propsys.lib
[from Microsoft VC 9.0 (x64)]
  RunTmChk.lib

Headers:

  bits2_5.h
  bits3_0.h
  bits4_0.h

  addrlkup.h
  edkcfg.h
  edkmapi.h
  edkmdb.h
  edkguid.h
  edkutils.h
  mblogon.h

Had to add '.rc' creation routine in Python to automate '.mc' compilation using windmc.exe.

Many more patching to the sourcecode.

Use this module for testing purpose only.


Download:

i686 package
x86_64 package






Monday, December 15, 2014

Git

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.


Installation note:
1. Extract to your desired directory.
2. Make a link to the extracted git.exe by creating a file called 'git' in /usr/bin:
#! /bin/sh
exec '/c/programs/git/bin/git.exe' "$@"
3. Same goes for gitk:
#! /bin/sh
export PATH=/c/programs/git/bin
exec 'gitk' "$@"


Download:

Git-2.2.0-mingw-i686.7z

Friday, November 28, 2014

Subversion

Subversion is an open source version control system. Founded in 2000 by CollabNet, Inc., the Subversion project and software have seen incredible success over the past decade. Subversion has enjoyed and continues to enjoy widespread adoption in both the open source arena and the corporate world. Subversion is developed as a project of the Apache Software Foundation, and as such is part of a rich community of developers and users. We're always in need of individuals with a wide range of skills, and we invite you to participate in the development of Apache Subversion.

This is quite painful to compile.. Compiling Git is easier than this :)

Updates:

Subversion-1.8.10:
+ All libs were built as shared library.
+ Fix dynamic linking for MinGW target.
+ Binaries were linked against these libs:
apr-1.5.1
apr-util-1.5.4
expat-2.1.0
pcre-8.36
sqlite-autoconf-3071502
openssl-1.0.1j
zlib-1.2.8
cyrus-sasl-2.1.26
serf-1.3.8

Download:

Subversion-1.8.10-mingw-i686.7z



Saturday, November 8, 2014

Transmission-Qt

Transmission is a fast, easy, and free BitTorrent client. It comes in several flavors:
    * A native Mac OS X GUI application
    * GTK+ and Qt GUI applications for Linux, BSD, Windows, etc.
    * A headless daemon for servers and routers
    * A web UI for remote controlling any of the above

Transmission-Qt is an unofficial Windows build of Transmission, in fact a fork of that project with some corrections, many additions to support the use on Windows better, and modifications to enhance usability -- this means its not exactly Transmission-Qt as released. This project may even disappear when Transmission's own Windows support becomes official.

This release was built using MinGW-w64 GCC (v4.8.2) and Qt static (v4.8.6). No special enhancement were made to the GUI and libtransmission, except to make it compiles on MinGW-w64 and working under Windows (Vista is the minimum requirement). This unofficial build (of unofficial Transmission-Qt Windows build) were linked against these libs:
curl-7.38.0
dbus-1.9.0
expat-2.1.0
libevent-2.0.21
libmetalink-0.1.2
libssh2-1.4.3
openssl-1.0.1h
zlib-1.2.8
Most fixes and patches were stolen from René Berber (author of Transmission-Qt Win), folks at transmissionbt.com and some others from the web.

This package contains:
transmission-qt.exe
dbus-daemon.exe
transmission-daemon.exe (not tested)
transmission-remote.exe (not tested)

Installing procedure:
1. Extract the folder to somewhere like C:\Program Files or C:\Programs or anywhere you like.
2. Edit 'torrent.reg' & 'magnet.reg' (with your text editor) according to your installation path.
3. Edit the magnet protocol handling in your browser (example below is for Firefox).
4. Now you don't have to copy/paste the magnet link from your browser to Transmission-Qt.
5. Start downloading legal files.. :P


Downloads:

Transmission-Qt-2.84.14343-x86_64.7z