Coder Social home page Coder Social logo

roblabla / mingwgitdevenv Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sschuberth/gfw-msys1-sdk

0.0 2.0 0.0 4.39 MB

An Inno Setup based wrapper around mingw-get (similar to mingw-get-inst) to install a development environment for building Git for Windows using MinGW.

Shell 80.44% Groovy 4.71% Visual Basic 5.41% Vim Script 9.44%

mingwgitdevenv's Introduction

Introduction

This is mingwGitDevEnv, an Inno Setup based wrapper around mingw-get (similar to mingw-get-inst) to install a development environment for building Git for Windows using MinGW.

Features

The installer strives to supersede the existing msysgit netinstall package with some improvements that hopefully make the life of both Git for Windows developers and users much easier. In particluar, the improvements include:

  • Real installer: Comes with an Inno Setup based installer with uninstall capabilities instead of just a self-extracting archive.

  • Package management: All required packages are installed via MinGW's new mingw-get tool. This means that the installed packages can be updated independently of updates to the mingwGitDevEnv installer, and in turn that there is no need to create a new mingwGitDevEnv installer just because of updates to packages. You have full access to all upstream MSYS / MinGW packages in addition to custom mingwGitDevEnv packages.

  • Custom packages: mingwGitDevEnv provides several updated and custom packages to improve the Git experience on Windows.

  • Execution of batch files: You can execute *.bat / *.cmd files right away without manually prefixing them with cmd.exe.

  • More consistent naming: The included Git executable is a native Windows application that has been compiled using MinGW, it is not an MSYS application using a Unix emulation layer. Only the shell environment and some tools Git depends on are provided by MSYS. This is also the case for the msysgit project, but as it contains "msys" in its name this has always been a source of confusion. Consequently, this project is called mingwGitDevEnv.

Download

Choose between the latest stable release or the latest snapshot release.

Getting involved

Setting up the environment

If you start from scratch without an existing MSYS environment (or Git client, for that matter) you have sort of a chicken-and-egg problem: In order to build the mingwGitDevEnv installer or create mingw-get packages (see the next section) you need various MSYS tools like curl or wget, sed, lzma, tar, unzip. The mingwGitDevEnv installer provides those tools, but you do not have the installer yet. The easiest way to solve this is by downloading an already existing snapshot release of the mingwGitDevEnv installer, run it to set up the development environment, and use that environment to work on mingwGitDevEnv itself. To do so, select Start the development environment on the installer's final page and type at the prompt:

$ git clone https://github.com/sschuberth/mingwGitDevEnv.git  # Clone the repository (or your fork of it)
$ cd mingwGitDevEnv                                           # Change to the working tree

Then, start hacking on mingwGitDevEnv! Everything in the root directory goes as-is to the installation directory as created by the mingwGitDevEnv installer. In particular, the mgwport / msysport and catalogue / package description files for our custom MinGW / MSYS packages are in the packages subdirectory. In case you would like to update one of the packages to a more recent version or create new package, that is the place to go.

When you are done, building an up-to-date mingwGitDevEnv installer is done by these steps:

$ ./update-mingw-get.sh  # Download the most recent catalogue / package description files
$ ./build-installer.sh   # Create the installer

If everything went fine you should now have a file matching mingwGitDevEnv-*.exe which you can use to install the Git Development Environment including your changes.

Creating mingw-get packages

Please see the separate mingwGitDevEnv-packages repository for details.

Getting in contact

We now have a mailing list for developers.

TODOs (roughly in order of priority)

  • Make git help -a work when built-ins are removed.
  • Make all Git tests pass, see the test results for the latest snapshot build.
  • Upgrade Perl (to a version that includes this patch)
  • Upgrade SVN libraries (requires new Perl)
  • Create a new "Git for Windows" installer which also comes with mingw-get package management.
  • Integrate Karsten Blees' Unicode patches (13, 14, 15, 16).
  • Create a 64-bit version of "Git for Windows".
  • Contribute patches to MSYS back upstream.
  • Capture the console output of mingw-get and show the progress in the mingwGitDevEnv GUI.

mingwgitdevenv's People

Contributors

sschuberth avatar t-b avatar patthoyts avatar dscho avatar roblabla avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.