vzh / minipack Goto Github PK
View Code? Open in Web Editor NEWThis project forked from peter-b/minipack
Automated cross-compiling build tool, mostly for building gEDA for Windows.
License: GNU General Public License v3.0
This project forked from peter-b/minipack
Automated cross-compiling build tool, mostly for building gEDA for Windows.
License: GNU General Public License v3.0
======== 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!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.