Sign in Join
Wiki copytemporary

Haiku specific Release Engineering: what changed

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

OldNewLine
11#### Creating a package for Haiku's package management system
22
33The 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 ;-)
44
55! Work in progress...
66
77For 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>.
88
99The 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)
1010
1111#### Getting fpcbuild repository
1212
1313Get sources, download the fpcbuild from ftp and extract it or use a command like:
1414
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`
15+```text
16+ svn export http://svn.freepascal.org/svn/fpcbuild/tags/release_2_4_0 fpcbuild
17+```
1618
1719Currently, 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 ?).
1820
1921An alternative is to checkout the fpcbuild repository. It will consume more disk space, but you can update the tree in case of partial download.
2022
2123#### Getting binaries for debugging support in the IDE
2224
2325At 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>
2426
2527Extract this file in fpcbuild/fpcsrc/.
2628
2729On 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 :
2830
2931- libncurses_devel
3032
3133##### Instructions used to compile above gdb libraries for Freepascal (probably deprecated)
3234
3335Keep for reference of required libraries under Haiku with package management.
3436
3537While 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>.
3638
3739Then, you can collect all the needed files in the build tree :
3840
3941- **libgdb.a** in `generated/objects/haiku/x86/release/bin/gdb/gdb`
4042- **libbfd.a** in `generated/objects/haiku/x86/release/bin/gdb/bfd`
4143- **libiberty.a** in `generated/objects/haiku/x86/release/bin/gdb/libiberty`
4244- **libopcodes.a** in `generated/objects/haiku/x86/release/bin/gdb/opcodes`
4345- **libreadline.a** in `generated/objects/haiku/x86/release/bin/gdb/readline`
4446
4547- **libintl.a** in `generated/objects/haiku/x86/release/bin/gawk/intl/`
4648
4749- **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).
4850
4951Put those files in a libgdb subfolder in fpcsrc (in the corresponding \<system\>/\<architecture\> folders) :
5052
51-`fpcbuild/fpcsrc/libgdb/haiku/i386`
53+```text
54+fpcbuild/fpcsrc/libgdb/haiku/i386
55+```
5256
5357#### Getting documentation
5458
5559Get 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.
5660
5761In case of an official release candidate or final version, you should ask the file to the release coordinator.
5862
5963#### Building packages
6064
6165Change into `fpcbuild/`, then execute
6266
63-` install/makepack`
67+```text
68+ install/makepack
69+```
6470
6571##### Build under older version of Haiku (before hrev46213)
6672
6773**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 :
6874
69-` fpcmake -Tall -r`
75+```text
76+ fpcmake -Tall -r
77+```
7078
7179Haiku 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.
7280
7381Change into `fpcbuild/`, then execute
7482
75-` sh install/makepack`
83+```text
84+ sh install/makepack
85+```
7686
7787---
7888*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