EnvironmentSetup/OpenBSD
From Wiki.ooo4kids.org
OpenBSD port
Back to EnvironmentSetup
: All build issues are now fixed since svn revision 1081
For the record, we created page containing the build issues (click me) we met.
Goals
Port OOo4Kids on OpenBSD
Mandatory (information received from #openbsd channel) :
- Read http://www.openbsd.org/porting.html
- use ports from the beginning
- provide a tarball of the sources
- (add other important requirements)
- Current work in progress : Makefile OpenBSD
making the port for OpenBSD
- -P
- Prune (remove) directories that are empty after being updated.(one that is void of revision-controlled files)
- -d
- CVS_root_directory.Overrides the setting of the CVSROOT environment variable.
- important
- The port tree is developed against -current; that means you need a -current base system and a check out of the -current port tree.
we don't support a -current port tree on a release or -stable base system. (quoted from ports tutorial page 8)
getting port
-
see anoncvs for a list of CVSROOT servers.
In /usr: cvs -d <CVSROOT_server> co -P ports
preparing your source files (if needed)
check you sources
- check that your program is compilable on OpenBSD (here OOo4Kids), with the last available version, and correct any possible problems.
clean your source
- Clean your source file from any svn/compiled files:
dmake clean
find ./OOo4Kids/ -name ".svn" -exec rm -rf {} \; //be sure to check what you will delete "rm -ri" before anything.
compress your files
tar -cvHzf OOo4kids-<VERSION>.tar.gz
Export your tar.gz file
- an ftp or alike, must be available (people might want to get the source file for compilation purpose or development)
preparing "port"
- See Port in preparation.
Building OOo4kids from source code
- option "-Ui"
- the "-U" option Update dependencies, the "-i" is in case of ambiguities.
Prerequisites
pkg_add -Ui openoffice pkg_add -Ui subversion pkg_add -Ui gmake pkg_add -Ui gtar pkg_add -Ui p5-Archive-Zip pkg_add -Ui zip pkg_add -Ui unzip
some of these package might be needed:
pkg_add -Ui python pkg_add -Ui bison pkg_add -Ui curl pkg_add -Ui cups pkg_add -Ui ccache pkg_add -Ui gcc pkg_add -Ui g++ pkg_add -Ui gperf pkg_add -Ui gtk+2 pkg_add -Ui gstreamer pkg_add -Ui libwpd pkg_add -Ui libxslt pkg_add -Ui gconf2
I'm working on simplifying which are needed.
Getting sources
svn co -r1100 svn://svn.adullact.net/svnroot/ooo4kids1/trunk OOo4Kids
Révision 1100 of OOo4Kids trunk is known to build correctly on OpenBSD, including the pre-installed version
Configure
-
The current configure command line is :
FIXME : cups workaround : ln -s /usr/local/include/cups /usr/include/cups
Please, DO NOT USE --with-system-stdlibs option !!!
IMPORTANT : in --with-lang option, you can replace fr with you locale. Available locales are : ar, de, es, fi, fr, it, nb, nl, pt, sl, ru, uk, zh-CN and zh-TW (en-US is default, means always built).
./configure --with-lang="en-US ${LANGS}" \
--with-OOo4Kids \
--enable-dbus \
--enable-cups \
--disable-gnome-vfs \
--with-OOo4Kids \
--disable-gtk \
--with-system-python \
--with-system-libxml \
--with-system-curl \
--with-system-zlib \
--with-system-expat \
--with-system-neon \
--with-system-db \
--with-system-boost \
--with-system-libwpd \
--with-system-openssl \
--with-system-redland \
--with-epm=internal \
--with-system-icu \
--with-alloc=system
Bootstrap
./bootstrap
Set the build environment
source OpenBSDEnv.set.sh
Build
classical machine
in OOo4kids/ ------------- dmake
multi-cores machine
If your machine is powerfull enough, you can think to use parallel build. e.g. on i7@920 + 6GB or tri-channel RAM + SSD, a cool command could be :
cd instsetoo_native
build --all -P6 -- -P6 -- -P6 -- -P6
At the end, everything is in instsetoo_native.
: explain archive installation.