summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrien Nader <adrien@notk.org>2015-02-22 21:23:12 +0100
committerAdrien Nader <adrien@notk.org>2015-02-22 21:23:12 +0100
commitafcd495795648c0b2db3f98acebb0e3fffedc54a (patch)
treedb643d05081877ff6f3d47f4ac43fc5830fe7a72
parentc9acbff09a07a4f8ff3655c9e8d4fcf986dbb7ab (diff)
doc: rm; t's better in dokuwiki.
-rw-r--r--doc/Makefile28
-rw-r--r--doc/linux.txt298
-rw-r--r--doc/msys-cygwin.txt114
-rw-r--r--doc/packaging.txt220
4 files changed, 0 insertions, 660 deletions
diff --git a/doc/Makefile b/doc/Makefile
deleted file mode 100644
index 30ef52c..0000000
--- a/doc/Makefile
+++ /dev/null
@@ -1,28 +0,0 @@
-include ../Makefile.data
-
-DOCS := packaging msys-cygwin linux
-DOCS_TXT := $(DOCS:%=%.txt)
-DOCS_HTML := $(DOCS:%=%.html)
-
-version.config: ../Makefile.data Makefile
- echo '[blockdef-listing]' > $@
- echo 'subs=specialcharacters,callouts,replacements' >> $@
- echo '[replacements]' >> $@
- echo '@@VERSION@@=$(VERSION)' >> $@
- echo '@@VERSION@@=$(VERSION)' >> $@
- echo '@@MIRROR@@=$(MIRROR)' >> $@
-
-%.html: %.txt version.config
- a2x -f xhtml \
- --stylesheet="docbook-xsl.css style.css" \
- --resource=../web \
- --asciidoc-opts="--conf-file version.config" \
- $<
-
-doc: $(DOCS_HTML)
-
-doc-upload: doc
- rsync -avLP $(DOCS_HTML) $(DOCS_TXT) docbook-xsl.css ../web/style.css "$(WEB)/$(VERSION)/"
-
-clean:
- rm -f $(DOCS_HTML)
diff --git a/doc/linux.txt b/doc/linux.txt
deleted file mode 100644
index 8698c57..0000000
--- a/doc/linux.txt
+++ /dev/null
@@ -1,298 +0,0 @@
-= Linux installation =
-
-No Linux binaries are provided because of the differences between
-distributions. The usual approach is to build the cross-compiler on the
-host system and then re-use the pre-built windows packages (since they
-are independent of the system used to build).
-
-There are three steps:
-
-* build yypkg
-* build the cross-compiler
-* acquire or build the windows binaries
-
-The packages are split into three series: "native", "cross_toolchain" and
-"windows":
-
-* "native" adds native tools which must be of a specific version; for instance,
- it installs EFL because the cross-compilation of EFL needs to run tools
- which must be of the exact same version;
-* "cross_toolchain" builds the cross-compilation toolchain;
-* "windows" cross-compiles the binaries that will run on windows
-
-Building takes a fairly large amount of space: up to 2GB for
-"native_toolchain", 2GB for "cross_toolchain_*" and 7.5GB for "windows_*"
-(but this series can be retrieved instead of being built).
-Around 90% of this space is made up of temporary files in 'tmp' directories.
-At _peak_ it can also use a lot of memory, having 2GB of memory available
-(swap excluded) is advised.
-
-== Dependencies ==
-
-The per-distributions package lists below are here to help you get all the
-dependencies easily. The Debian/Ubuntu list is exhaustive and is the
-reference. For other distributions, if you are able to complete the lists with
-the right package name, please send it either on the
-link:/support.html[users mailing list] or on the link:/bugs[bug tracker].
-
-[[Debian]]
-=== Debian (squeeze or wheezy) and Ubuntu (>= 12.04) ===
-
-------------------------------------------------------------------------
-apt-get install ocaml-nox ocaml-findlib libarchive-dev bsdtar texinfo \
-libudev-dev intltool libpng-dev gtk-doc-tools tcl8.5 libgdk-pixbuf2.0-dev yasm \
-autotools-dev autopoint automake flex bison libdbus-1-dev libgmp-dev \
-libmpfr-dev libmpc-dev xutils-dev git libgtk2.0-bin texi2html cmake texinfo \
-librsvg2-bin imagemagick liblzma5 liblzma-dev gperf libreadline6-dev
-apt-get build-dep libelementary-dev
-------------------------------------------------------------------------
-
-There are several issues when building on older Debian and Ubuntu versions.
-You will avoid all of them but two if you re-use the pre-built packages from
-win-builds.org but you may encounter them when building your own software.
-Upgrading your distribution is strongly advised.
-
-* Debian wheezy and Ubuntu 12.04 have an ocamlfind version that is too old to
- build yypkg. You can safely
-link:http://projects.camlcity.org/projects/findlib.html[install a new version
-by hand] on top of the system one.
-
-* Debian wheezy and Ubuntu 12.04 have an old 'autoreconf' that generates
-bad code; avoid calling it when developing, use a backport or migrate.
-Build scripts do their best to avoid calling it but it is needed for some
-packages (madplay, libtheora and libxml2 [can be commented out]) which can
-therefore not be rebuilt on vanilla Debian wheezy and Ubuntu 12.04.
-
-* Debian wheezy has old yasm which x264 doesn't handle; disable x264's
-build and its use in ffmpeg (link:#_build_script_configuration[edit build
-script config] and link:#_modify_the_package_lists[remove x264 from the
-dependency list of ffmpeg]), use a backport or migrate.
-
-* Qt doesn't build on debian wheezy for 32b; cause is not known. This prevents
- building with Qt tools ('qmake', 'moc', etc.).
-
-=== Arch Linux ===
-
-Install the following from the main repositories:
-------------------------------------------------------------------------
-intltool ocaml ocaml-findlib wget
-------------------------------------------------------------------------
-
-Install the following from AUR:
-------------------------------------------------------------------------
-makedepend
-------------------------------------------------------------------------
-
-You might also have to read and adapt the list in the <<Debian,Debian>>
-section to fit Arch Linux.
-
-=== Exherbo ===
-
-List below is incomplete: read and adapt the list in the <<Debian,Debian>>
-section to fit Exherbo.
-
-------------------------------------------------------------------------
-cave resolve -x dev-ocaml/findlib dev-lang/ocaml '>=app-arch/libarchive-3.1.2-r2'
-------------------------------------------------------------------------
-
-=== Slackware ===
-
-A default slackware install ships almost everything needed. The only
-exceptions are
-link:http://slackbuilds.org/repository/14.1/development/ocaml/[OCaml] and
-link:http://slackbuilds.org/repository/14.1/libraries/ocaml-findlib/[ocaml-findlib]
-(both on http://slackbuilds.org).
-
-They can be installed through sbopkg with the following command:
-------------------------------------------------------------------------
-sbopkg -i "ocaml ocaml-findlib"
-------------------------------------------------------------------------
-
-Slackware -current as of September 2014 has proper software for the build and
-is the main development platform for win-builds.
-
-Previous Slackware versions have some components that are too old. Overall
-they should work except for their older version of automake which can be an
-issue for madplay, libtheora and libxml2 (see the <<Debian,section on the
-topic in the documentation for Debian>>). It is strongly advised to migrate to
--current (or any release more recent than 14.1) if rebuilding these packages
-is wanted.
-
-== Retrieve sources ==
-Run the following to get all the source files:
-
-------------------------------------------------------------------------
-for repo in win-builds mingw slackware64-current slackbuilds.org; do
- git clone http://git.notk.org/gitolite/win-builds/${repo}.git
-done
-
-------------------------------------------------------------------------
-
-NOTE: this can fail with git 1.7.2 and is fixed in git 1.8.0 (commit "http: fix
-segfault in handle_curl_result").
-
-When the build runs, if some source tarball is not available on disk or has a
-SHA1 which doesn't match, it will be downloaded from the source mirror at
-@@MIRROR@@, overwriting any existing file.
-
-== Yypkg ==
-
-Build of yypkg and its dependencies is automated; run
-
-------------------------------------------------------------------------
-make -C win-builds/yypkg
-------------------------------------------------------------------------
-
-Then, install as root (it copies a single executable to /usr/local/bin), run:
-------------------------------------------------------------------------
-make -C win-builds/yypkg install
-------------------------------------------------------------------------
-
-To install to a different location, set the BINDIR variable:
-------------------------------------------------------------------------
-make -C win-builds/yypkg install BINDIR=/usr/local/bin
-------------------------------------------------------------------------
-
-== Build the cross-compiler ==
-
-Building the packages requires a root environment (for chown and umask);
-such an environment can also be emulated through fakeroot for convenience.
-
-Everything will be installed inside `/opt`. The reason is that it is available
-on all systems and binaries tend to store paths, making them not portable if
-paths change. If you intend to rebuild all packages on your machine
-anyway, you can edit `build/config.ml`, look for `/opt/` and replace it with
-the value you wish.
-
-If a build fails, you should look at the log file stored as
-`@@VERSION@@/logs/<series>/<package_name>`.
-
-* As root:
-
-------------------------------------------------------------------------
-make -C win-builds NATIVE_TOOLCHAIN=all CROSS_TOOLCHAIN=all
-------------------------------------------------------------------------
-
-* Or, using fakeroot:
-
-First create the needed directories as root and chown them to yourself;
-symlinks will work just fine:
-
-------------------------------------------------------------------------
-mkdir opt
-for d in native_toolchain cross_toolchain_{32,64} windows_{32,64}; do
- mkdir $(pwd)/opt/${d}
- sudo ln -s $(pwd)/opt/${d} /opt/${d}
-done
-------------------------------------------------------------------------
-
-Then:
-
-------------------------------------------------------------------------
-fakeroot make -C win-builds NATIVE_TOOLCHAIN=all CROSS_TOOLCHAIN=all
-------------------------------------------------------------------------
-
-== Get the Windows binaries ==
-
-There are two approaches possible:
-
-* Download package (a couple minutes of download (2*110MB)):
-
-------------------------------------------------------------------------
-make -C win-builds WINDOWS=download
-------------------------------------------------------------------------
-
-A few commands will try to run at the very end of the installation and will
-fail. These can be safely ignored.
-
-* Build the packages yourself (a few hours of CPU time):
-
-------------------------------------------------------------------------
-make -C win-builds WINDOWS=all
-------------------------------------------------------------------------
-
-== Customization (optional) ==
-
-=== Selective rebuilds ===
-
-Chosing which packages are to be built is done through environment variables.
-There are 7 of them:
-
-* WINDOWS_32, WINDOWS_64: packages which executables will run on Windows for
- 32 or 64 bits
-* WINDOWS: short-hand: 'WINDOWS=foo' is equivalent to 'WINDOWS_32=foo
- WINDOWS_64=foo'
-* CROSS_TOOLCHAIN_32, CROSS_TOOLCHAIN_64: the cross-compilation toolchain
- which runs on your current system and targets Windows for 32 or 64 bits
-* CROSS_TOOLCHAIN: short-hand: 'CROSS_TOOLCHAIN=foo' is equivalent to
- 'CROSS_TOOLCHAIN_32=foo CROSS_TOOLCHAIN_64=foo'
-* NATIVE_TOOLCHAIN: some build-time dependencies for packages above; they are
- either common but required to be at a specific version or uncommon
-
-The value of these environment variables is the list of packages to build.
-As an example, to build only the "cross_toolchain" and "windows" series,
-one would run:
-
--------------------------------------------------------------------------
-make -C win-builds CROSS_TOOLCHAIN=all WINDOWS=all
-------------------------------------------------------------------------
-
-The package "all" is virtual and selects every stable package from the series.
-
-When a package has variants (several configuration presets), the identifier is
-of the form '$\{package\}:$\{preset\}'.
-
-NOTE: cross-series dependencies are not handled meaning that in this specific
-example, you need to have built the NATIVE_TOOLCHAIN series first.
-
-Last, if you want to build a specific set of packages, you need to call make
-as such:
-
-------------------------------------------------------------------------
-make -C win-builds WINDOWS=libjpeg,libpng,lua
-------------------------------------------------------------------------
-
-Packages will only get rebuilt if at least one of their sources is more recent
-than the output package. However, the rebuild of a package doesn't trigger the
-rebuild of packages that depend on it in order to avoid excessive rebuilds
-(unless for specific cases, this isn't a problem thanks to the use of shared
-libraries in win-builds).
-
-=== Build script configuration ===
-
-The configuration for most packages is stored directly inside the build
-scripts. The packages which have variants have their configuration in a
-separate file in the same directory as the build script and named
-'config-$\{variant}'.
-
-=== Modify the package lists ===
-
-The list of packages to build is stored inside three files:
-'win-builds/native_toolchain.ml', 'win-builds/cross_toolchain.ml',
-'win-builds/windows.ml' as straightforward OCaml code.
-
-A package description is made of a name, a variant (which is mostly useful for
-bootstrapping a minimal version of a package before being able to build the
-full one), a directory where its sources are stored, its dependencies,
-version, build number and sources.
-
-Below is the description for the freetype package from the windows series:
-
-------------------------------------------------------------------------
-let freetype = add ("freetype", None)
- ~dir:"slackware64-current/l"
- ~dependencies:[ zlib; libpng ]
- ~version:"2.5.0.1"
- ~build:1
- ~sources:[
- "freetype-${VERSION}.tar.xz";
- "freetype.illadvisederror.diff.gz";
- "freetype.subpixel.rendering.diff.gz";
- ]
-in
-------------------------------------------------------------------------
-
-The package is named "freetype", doesn't have a variant ("None" in the code),
-is stored inside the "slackware64-current/l" directory, depends on zlib
-and libpng, is at version 2.5.0.1, first build, and has three package-specific
-sources: its source tarball and two patches.
diff --git a/doc/msys-cygwin.txt b/doc/msys-cygwin.txt
deleted file mode 100644
index c961a19..0000000
--- a/doc/msys-cygwin.txt
+++ /dev/null
@@ -1,114 +0,0 @@
-= Installation For Use With MSYS or Cygwin =
-
-This tutorial will guide you through a typical installation of Win-builds with
-MSYS or Cygwin. Most of it has been contributed by Vincent Torri.
-
-== Installation of a POSIX-like environment ==
-
-The sections below explain how to install Cygwin and MSYS. Only one of them is
-needed; in doubt, install Cygwin rather than MSYS since the latter has a few
-specifics which are hard to guess.
-
-=== Cygwin Installation ===
-1. Download either link:http://cygwin.com/setup-x86.exe[setup-x86.exe] or
-link:http://cygwin.com/setup-x86_64.exe[setup-x86_64.exe] (setup-x86.exe will
-work fine on both 32b and 64b systems).
-
-2. Run the installer. In the examples below, Cygwin is supposed to have been
-installed in 'C:/Cygwin'.
-
-3. When prompted for the list of packages to install, chose at least one of
-'mingw-w64-i686-gcc-g\+\+' or 'mingw-w64-x86_64-gcc-g++' which are located in
-the 'Devel' category along with 'pkg-config' from the same category.
-You are of course free to install more packages to satisfy the needs of your
-projects.
-
-4. Proceed until the end of the installation (downloading takes some time).
-
-=== MSYS Installation ===
-1. Download
-link:http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download[mingw-get-setup.exe]
-and run it.
-
-2. Click on 'Install'.
-
-3. Click on 'Change' to chose another installation directory, go to 'C:/' and
-make a new directory named 'win_builds' and validate. You are free to install
-anywhere else but remember to keep the various paths consistent.
-
-4. Click on 'Continue'.
-
-5. Once the progress reaches 100%, click on 'Next'.
-
-6. In the new window, select 'All packages' and then 'MSYS Base System'.
-
-7. On the right of the window, right-click on 'msys-base' and select 'Mark for
-installation'. Do the same for 'msys-bash'.
-
-8. Now click on 'Installation' in the menu bar at the top of the window and
-then 'Apply Changes'.
-
-9. In the new window, click on 'Apply'. Once everything is installed, use the
-'Close' button and exit the installer.
-
-10. Go to 'C:/win_builds/msys/1.0/' , right-click on 'msys.bat', hover over
-'Send To' and chose 'Desktop (create shortcut)'.
-
-== Win-builds Installation ==
-
-link:win-builds-@@VERSION@@.exe[Download the installer], extract it and run
-bin/yypkg-@@VERSION@@.exe. Select one of Cygwin or MSYS, set the architecture
-for which to install binaries (64b host is required to use the 64b toolchain)
-and provide their installation path. Run the installer a second time if you
-want to install for a second architecture.
-
-== Change toolchain on-the-fly ==
-
-The 'win-builds-switch' script takes care of everything; source it in your
-shell:
-
-------------------------------------------------------------------------
-# To switch to the i686 toolchain
-source /opt/windows_32/bin/win-builds-switch
-# To switch to the x86_64 toolchain
-source /opt/windows_64/bin/win-builds-switch
-------------------------------------------------------------------------
-
-== Set a default toolchain (optional) ==
-
-The easiest way to set a toolchain by default is to add its selection to the
-user's profile. The command will be executed each time an interactive shell is
-started and will be valid for everything started from them.
-
-------------------------------------------------------------------------
-echo 'source /opt/windows_32/bin/win-builds-switch' >> ~/.profile
-------------------------------------------------------------------------
-
-== Check gcc works ==
-
-First, copy and paste the following to a file name 'gtk_hello_world.c':
-
-------------------------------------------------------------------------
-#include <gtk/gtk.h>
-
-int main(int argc, char *argv[]) {
- GtkWidget *window;
- gtk_init (&argc, &argv);
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_widget_show (window);
- gtk_main ();
- return 0;
-}
-------------------------------------------------------------------------
-
-Then run the following commands in order to test each toolchain:
-
-------------------------------------------------------------------------
-# First, the 32 bits toolchain
-source /opt/windows_32/bin/win-builds-switch
-i686-w64-mingw32-gcc -o gtk_hello_world.exe gtk_hello_world.c $(pkg-config --cflags --libs gtk+-2.0)
-
-# Then, the 64 bits toolchain
-source /opt/windows_64/bin/win-builds-switch
-x86_64-w64-mingw32-gcc -o gtk_hello_world.exe gtk_hello_world.c $(pkg-config --cflags --libs gtk+-2.0)
-------------------------------------------------------------------------
diff --git a/doc/packaging.txt b/doc/packaging.txt
deleted file mode 100644
index 2f3784d..0000000
--- a/doc/packaging.txt
+++ /dev/null
@@ -1,220 +0,0 @@
-= Packaging =
-
-== Environment ==
-If you haven't already, build the packages that already exist. This will
-ensure you have everything needed and working; you can check
-link:linux.html[the corresponding documentation].
-
-== Be ready to ask questions ==
-Packaging is usually an experience with many issues and dirty work-arounds.
-Some of these are quite common and easy to spot for someone who has already
-seen similar issues so don't hesitate to hit link:/support.html[one of the
-support channels] ans ask questions.
-
-The questions will help build documentation. For issues that have already been
-solved elsewhere in the project the answers will be easy; the difficult part
-is in making the list of possible issues. Again, don't hesitate to ask.
-
-== Check whether a Linux build script already exists ==
-
-There is a fairly large number of slackware build scripts, either
-- In one of the subdirectory (a "series") of
- link:http://cgit.notk.org/adrien/slackware-git-track/slackware64-current.ext.git/tree/slackware64-current/source[slackware]
-- On link:http://slackbuilds.org[slackbuilds.org] (community repository of
- build scripts) which full repository is in the "`slackbuilds.org`" directory.
-
-If such a build script exist, read <<Existing>>. Otherwise, read <<New>>.
-
-[[Existing]]
-== Port an existing build script ==
-=== Copy the build script ===
-For slackbuilds.org all the files are already there. For slackware64-current,
-you need to copy them first. For example, libgcrypt is inside
-"`slackware64-current/n`" so you'd run a command similar to this one:
-
-------------------------------------------------------------------------
-cd slackware64-current/n
-lftp -c 'connect http://mirrors.slackware.com/slackware/slackware64-current/source/n; mirror libgcrypt'
-------------------------------------------------------------------------
-
-=== Port the build script (mostly search-replace) ===
-* Add a '.yypkg.script' file to the package directory; if you have nothing
- specific to set for the packaging (by far the usual case), you only have to
- "`cp`" another one; any will do except gcc's; don't forget to name it after
- the package however. For instance:
-+
-------------------------------------------------------------------------
-cp ../../l/libjpeg.yypkg.script newpackage.yypkg.script
-------------------------------------------------------------------------
-
-* Update the values for "`packager_email`" and "`packager_name`" in the
- '.yypkg.script' file.
-
-* Replace all occurrences of "`usr`" with "`${PREFIX}`" (verbatim: don't
- expand the variable). This means "`/usr/`" becomes "`${PREFIX}`".
-
-* Delete the block of code that sets `SLKCFLAGS` and `LIBDIRSUFFIX`; it starts
-like this:
-+
-------------------------------------------------------------------------
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
-------------------------------------------------------------------------
-
-* Replace occurrences of "`$SLKCFLAGS`" with "`-O2`"
-* Add "`--host=${HOST_TRIPLET}`" to the configure invocation. If this involves
- adding a newline in a configure call, don't forget to escape it with "`\`"
- right before it.
-
-* Locate the "`strip`" invocation; it looks like:
-+
-------------------------------------------------------------------------
-find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
- | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-------------------------------------------------------------------------
-+
-Replace "`grep ELF`" with "`grep ${HOST_EXE_FORMAT}`" and "`xargs strip`" with
-"`xargs ${HOST_STRIP}`".
-
-* Go near the end of the file and replace:
-+
-------------------------------------------------------------------------
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
-------------------------------------------------------------------------
-+
-with
-+
-------------------------------------------------------------------------
-cat ${CWD}/${PKGNAM}.yypkg.script | sed \
- -e "s/%{PKG}/${PKGNAM}/" \
- -e "s/%{HST}/${HOST_TRIPLET}/" \
- -e "s/%{TGT}//" \
- -e "s/%{VER}/${VERSION}/" \
- -e "s/%{BUILD}/${BUILD}/" \
- -e "s/%{DESCR}/${DESCR:-"No description"}/" \
- | yypkg --makepkg -o ${YYOUTPUT} --script - --directory "${PKG}/${PREFIX}"
-------------------------------------------------------------------------
-+
-Some packages don't set the 'PKGNAM' variable but instead hardcode the
-package name throughout the script; in that case, use the package name
-instead of "`${PKGNAM}`".
-
-* If there are many source files, replace the 'find + chmod'
- commands which are used to reset file permissions to sane default with:
-+
-------------------------------------------------------------------------
-chmod -R u+w,go+r-w,a-s .
-------------------------------------------------------------------------
-
-[[New]]
-== Or, start from a similar package ==
-Create a new directory for your package inside "`mingw/`" and copy an existing
-build script that is similar:
-
-* for autotools-based systems, copy
- "`slackware64-current/n/libgcrypt.SlackBuild`" and
- "`slackware64-current/n/libgcrypt.yypkg.script`"
-* for cmake-based systems, copy
- "`slackbuilds.org/libraries/openjpeg.SlackBuild`" and
- "`slackbuilds.org/libraries/openjpeg.yypkg.script`"
-
-CMake-based build systems are much less friendly for cross-compilation and
-especially to Windows compared to autotools ones and "`openjpeg.SlackBuild`"
-has more kludges but they can't be easily avoided for cmake-based systems.
-
-You will probably have to add package-specific bits. This is why having
-references in the form of native linux build scripts can help a lot.
-
-== Download the sources ==
-You will have to download the sources in the same directory as your build
-script.
-
-Also note that the extension of the sources can matter: slackbuilds
-unfortunately tend to assume one such as in the following snippet (assumes
-`".bz2"`) and you'll need to ensure the build script matches the tarball
-extension.
-
-------------------------------------------------------------------------
-rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
-cd $PKGNAM-$VERSION
-------------------------------------------------------------------------
-
-== Add your package to the list ==
-Before building you need to let the builer know about your package. In the
-'win-builds' git repository, edit "`build/windows.ml`". You need to add an
-entry after all the package dependencies. The list is written in OCaml but
-you only need to understand the basic syntax.
-
-For instance, `libgcrypt` depends on `libgpg-error` and needs to be added
-below it so that it can reference it.
-------------------------------------------------------------------------
-(* defines a new variable: libgcrypt
- * it is the result of a call to the "add" function with 6 arguments:
- * - ("libgcrypt", None): the package name is "libgcrypt" and there no
- * so-called "variant" for it
- * - ~dir: the directory containing the package; the full path will be
- * "slackware64-current/n/libgcrypt"
- * - ~dependencies: the list of dependencies, separated by ';' and enclosed
- * between '[' and ']'.
- * - ~version: the package version as a string
- * - ~build: the package build number, as an integer
- * - ~sources: the list of sources which are not tracked in git (i.e. large
- * binaries); each entry is made of the filename followed by the SHA1 of the
- * file; the filename can contain ${PACKAGE} and ${VERSION} to not repeat
- * the values given as ~version and in the first argument to the "add"
- * function.
-*)
-let libgcrypt = add ("libgcrypt", None)
- ~dir:"slackware64-current/n"
- ~dependencies:[ libgpg_error ]
- ~version:"1.6.1"
- ~build:1
- ~sources:[
- "${PACKAGE}-${VERSION}.tar.bz2", "d9b63ac3b17a6972fc11150d136925b702f02";
- ]
-in
-------------------------------------------------------------------------
-
-Note the trailing "`in`": the OCaml construct is "`let ... in`" and the syntax
-requires that "`in`" after each new variable creation.
-
-== Test your package ==
-You can now build your package like any other package, i.e. with a command
-similar to:
-
-------------------------------------------------------------------------
-make -C win-builds WINDOWS=your_package
-------------------------------------------------------------------------
-
-This will build your package for windows for both 32b and 64b. The logs will
-be stored inside "`@@VERSION@@/logs/windows_??/your_package`".
-
-You will most likely have to build, check the logs and change your build
-script several times.
-
-Remember you can build for only one architecture at once. This will save CPU
-time and allow iterating faster. The syntax is:
-
-------------------------------------------------------------------------
-make -C win-builds WINDOWS_64=your_package
-------------------------------------------------------------------------
-
-=== devshell feature ===
-
-While developing you might want to have a shell. To do so, simply append
-"`:devshell`" to your target:
-
-------------------------------------------------------------------------
-make -C win-builds WINDOWS_64=your_package:devshell
-------------------------------------------------------------------------
-
-It will give you a shell configured just like the shell used to run the
-SlackBuild except that it will try to use your own shell and not necessarily
-bash. You can then play the build script by hand to see what is going wrong.