Skip to content
/ minipack Public
forked from peter-b/minipack

Automated cross-compiling build tool, mostly for building gEDA for Windows.

License

Notifications You must be signed in to change notification settings

vzh/minipack

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

========
Minipack
========

Minipack is an automated build tool. Given a set of recipes and patches, it
downloads the sources, unpacks them, applies local patches, builds them and
installs them. Its primary use is for cross-compiling free software to
Windows, but minipack is more general-purpose than that.

To install, unpack it in any directory, and optionally set the PATH to it.

The tool can be run from anywhere, but it looks for a minipack.conf file
in the current directory or in a parent directory.

Some recipes for cross-compiling to Windows are included in the distribution:
* libraries: gtk+, glib, guile, mingw-libgnurx, gd, and their dependencies.
* applications: gEDA/gaf, PCB, gerbv.

See Makefile for a full list.

NOTE: Guile requires special treatment. Please see the Guile section below.

When cross-compiling, you need a suitable cross-compiler for the host you are
targeting. On Debian and derivatives, you can type 'sudo apt-get install mingw32'
to get a MinGW cross-compiler. You can also build your own by using the build
script provided by the MinGW project.

Modify the host setting in the minipack.conf file to reflect the cross-compiler
being used. It can be found as the prefix of the compiler, eg. i586-mingw32msvc.

Run 'make' to build all packages in one run, or the package you need using
'make package-name', e.g. 'make geda-gaf'.  Beware, some recipes require a
native version of pkg-config, others need the autotools and/or intltool as
well.

===============================
Using Makefile for installation
===============================

Some packages require installation of additional MinGW DLLs for work. Those
libraries are:
  libgcc_s_sjlj-1.dll

To install them, do as follows:
  cp /usr/lib/gcc/i686-w64-mingw32/4.9-win32/libgcc_s_sjlj-1.dll mingw-libs/
  make install prefix=/my_installation_directory

The path to the MinGW DLL's on your system may differ.

Use your own prefix or don't use it at all. In the latter case the
built programs will be installed into the ./install directory. (You can make
it symlink to an actual installation directory.)

=====
Guile
=====

In order to compile Guile, you have to have the same pre-compiled version of
Guile installed on your system, so first of all, you have to build it from
sources BEFORE compilation of all packages.  Remove all the Guile packages
installed on your system. Then do:
  ./mpk source guile
  cp -r sources/guile .
  cd guile/
  ./autogen.sh && ./configure && make && sudo make install

=======
  mpk
=======

The main (and only) tool of minipack is called mpk:
* mpk build <package>   - Download, unpack, and build a package.
* mpk unpack <package>  - Download and unpack a package.
* mpk source <package>  - Download a source package.
* mpk remove <package>  - Remove an installed package.
* mpk install <package> - Install a previously built package.
* mpk clean <package>   - Clean the build directory of a package.
* mpk shell [package]   - Enters a shell with a pre-defined environment.
* mpk --version         - Show the current Minipack version.
* mpk --help            - Show this screen.

A cache of downloaded sources is kept in the 'sources' directory.

To add more recipes to minipack, place the recipe in the 'recipes' directory
and place the patches in a subdirectory of the 'patches' directory.


========================================
Building development versions of packages
========================================

Suppose you want to build the development version of a package, not the
version shipped as a minipack recipe. The procedure is very similar as when
building a native (non-cross) development version:

1) Download the development source code.
  You can download a snapshot, if available, or directly from source control
  (cvs, svn, git, etc.)
2) Enter a minipack shell - mpk shell <package>
  This will initialize some variables useful for passing to configure and
  make, like prefix, host, build and compiler flags.
3) Generate the configure script, if needed.
  Usually, you run a script named autogen.sh.
4) Build the package.
  Usually, you run configure and make, like so:
  echo "$mpk_opt" | xargs ./configure
  make
5) Patch if necessary, run make again.
6) Run make install.

Have fun!

About

Automated cross-compiling build tool, mostly for building gEDA for Windows.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 52.7%
  • Makefile 45.1%
  • Batchfile 2.2%