Sign in Join
Wiki copytemporary

Haiku specific Release Engineering: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Haiku specific Release Engineering

OldNewLine
1+#### Creating a package for Haiku's package management system
2+
3+The goal is to have a package already available from HaikuDepot, the application that list available applications and can download them to your computer. Once the package is downloaded, you can launch your application directly (no lengthy install process under Haiku ;-)
4+
5+! Work in progress...
6+
7+For sometime, recipes are available to create an fpc package for Haiku's package management system (see <https://github.com/haikuports/haikuports/tree/master/dev-lang/fpc>). Those recipes were quite simple and not complete. At least, it was a first step to bootstrap : a package is required to build FreePascal from source. Those packages are build using existing binaries in the official distribution and do not need an existing compiler package to be build : <https://freepascal.org/down/i386/haiku.var>.
8+
9+The second step is to generate packages from source, using official fpcbuild's sources package (from <https://sourceforge.net/projects/freepascal/files/Source/3.0.2/> for example)
10+
11+#### Getting fpcbuild repository
12+
13+Get sources, download the fpcbuild from ftp and extract it or use a command like:
14+
15+` svn export `[`http://svn.freepascal.org/svn/fpcbuild/tags/release_2_4_0`](http://svn.freepascal.org/svn/fpcbuild/tags/release_2_4_0)` fpcbuild`
16+
17+Currently, it might be difficult to get the whole tree in one shot under Haiku. The root cause is not yet known (Haiku ? Subversion ? the network ?).
18+
19+An alternative is to checkout the fpcbuild repository. It will consume more disk space, but you can update the tree in case of partial download.
20+
21+#### Getting binaries for debugging support in the IDE
22+
23+At the time of writing, a package containing the needed files is available here : <http://olivier.coursiere.free.fr/download/libgdb-6.3-i386-haiku.zip>
24+
25+Extract this file in fpcbuild/fpcsrc/.
26+
27+On recent versions of Haiku (aka with package management), it might be necessary to install some development package in order to link with above GDB libraries :
28+
29+- libncurses_devel
30+
31+##### Instructions used to compile above gdb libraries for Freepascal (probably deprecated)
32+
33+Keep for reference of required libraries under Haiku with package management.
34+
35+While you can compile gdb on your own, the easiest way (by far) under Haiku is to build Haiku yourself. Instructions are available at <http://www.haiku-os.org/development>.
36+
37+Then, you can collect all the needed files in the build tree :
38+
39+- **libgdb.a** in `generated/objects/haiku/x86/release/bin/gdb/gdb`
40+- **libbfd.a** in `generated/objects/haiku/x86/release/bin/gdb/bfd`
41+- **libiberty.a** in `generated/objects/haiku/x86/release/bin/gdb/libiberty`
42+- **libopcodes.a** in `generated/objects/haiku/x86/release/bin/gdb/opcodes`
43+- **libreadline.a** in `generated/objects/haiku/x86/release/bin/gdb/readline`
44+
45+- **libintl.a** in `generated/objects/haiku/x86/release/bin/gawk/intl/`
46+
47+- **libgcc.a** in `/boot/develop/abi/x86/gcc2/tools/gcc-2.95.3-haiku-081024/lib/gcc-lib/i586-pc-haiku/2.95.3-haiku-081024` (you may have to adapt the path to the installed gcc version on your machine).
48+
49+Put those files in a libgdb subfolder in fpcsrc (in the corresponding \<system\>/\<architecture\> folders) :
50+
51+`fpcbuild/fpcsrc/libgdb/haiku/i386`
52+
53+#### Getting documentation
54+
55+Get the most recent docs package from the ftp site, it's called doc-pdf.tar.gz and copy it into the `fpcbuild/` directory. You should put this file in the root directory of the source repository, aka in fpcbuild.
56+
57+In case of an official release candidate or final version, you should ask the file to the release coordinator.
58+
59+#### Building packages
60+
61+Change into `fpcbuild/`, then execute
62+
63+` install/makepack`
64+
65+##### Build under older version of Haiku (before hrev46213)
66+
67+**pre-2.4.0 specific** : if haiku is not in the UNIXs variable at the begining of Makefile, you will have to regenerate them with fpcmake (at least from r14324). If not, the install script adapted for Haiku will not fully work. Here is the command line to do so :
68+
69+` fpcmake -Tall -r`
70+
71+Haiku is unix like enough to use the Freepascal's unix scripts to generate a binary distribution. Unfortunately, there is no `/usr/bin` path under Haiku. So, the usual shebang will not work. A workaround is to execute the script with `sh` directly.
72+
73+Change into `fpcbuild/`, then execute
74+
75+` sh install/makepack`
76+
77+---
78+*From the Free Pascal wiki, page "Haiku specific Release Engineering", as it stood on 2020-08-06 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history