Hi,
minimal needed code change to convert the autoconf to client.mk build of
Firefox “products”:
Index: package/www/seamonkey/mozilla-conf.in
===================================================================
--- package/www/seamonkey/mozilla-conf.in (revision 43909)
+++ package/www/seamonkey/mozilla-conf.in (working copy)
@@ -101,7 +101,7 @@
}
mozilla_ver() {
- moz_ver=`sed -n 's/MOZ_APP_VERSION *= *//p' config/autoconf.mk`
+ moz_ver="`sed -n 's/MOZ_APP_VERSION *= *//p' config/autoconf.mk ||
true`"
moz_ver=${moz_ver:-$ver}
}
Index: package/www/seamonkey/seamonkey.conf
===================================================================
--- package/www/seamonkey/seamonkey.conf (revision 43909)
+++ package/www/seamonkey/seamonkey.conf (working copy)
@@ -18,8 +18,8 @@
set_confopt
fi
-hook_add preconf 8 "mkdir -p objdir; cd objdir; configscript=../configure"
-var_remove makeopt ' ' '-f client.mk build'
+#hook_add preconf 8 "mkdir -p objdir; cd objdir; configscript=../configure"
+#var_remove makeopt ' ' '-f client.mk build'
mozilla_config() {
cat >> .mozconfig <<-EOT
On Jan 30, 2015, at 23:46, Barry Kauler <[email protected]> wrote:
> On 1/31/15, René Rebe <[email protected]> wrote:
>> Hi,
>>
>>
>> Does this “client.mk” thing also apply to firefox and thunderbird? That is
>> “cover” bugs due to this “new-style-configure”?
>>
>> While I took a brief look at this, I noticed the T2 “mozilla” packages have
>> support for this “old-style” client.mk. However, all these package opt not
>> to build this way, but use the “more modern” configure/make cycle, …
>>
>>
>
> Rene,
> This time I got a successful compile in T2.
>
> I created a .conf file without custmain(), just hooks.
>
> I used Linux From Scratch as my guide. They use "make -f client.mk"
> and as far as I know this is still the recommended method, it is not
> an "old way".
>
> (if you have information contrary to this, please let me know, with a link!)
>
> So, this code is not required:
>
> hook_add preconf 8 "mkdir -p objdir; cd objdir; configscript=../configure"
> var_remove makeopt ' ' '-f client.mk build'
>
> As LFS points out, seamonkey has a bug, the only thing that you have
> to do before
> running "make -f client.mk" is create this folder:
>
> mkdir mozilla/objdir-sm-release
>
> ...or, whatever name you have given to the build folder. In my case:
> mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sm-release
>
> I removed the include of 'mozilla-conf.in', and here is my .conf.
> However, this is just for the experiment and you can probably just
> roll your existing seamonkey.conf back to using 'client.mk'.
>
> For reference, my .conf:
>
> runconf=0
> autogen=0
>
> sm_fix_pre()
> {
> #create mozconfig:
> echo "mk_add_options MOZ_MAKE_FLAGS='-j1'
> mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-sm-release
> mk_add_options MOZ_CO_PROJECT=suite
> ac_add_options --enable-application=suite
> ac_add_options --enable-system-hunspell
> ac_add_options --localstatedir=/var
> ac_add_options --sysconfdir=/etc
> ac_add_options --prefix=/usr
> ac_add_options --host=${arch_target}
> ac_add_options --disable-dbus
> ac_add_options --disable-accessibility
> ac_add_options --with-system-bz2
> ac_add_options --disable-updater
> ac_add_options --disable-parental-controls
> ac_add_options --enable-places
> ac_add_options --disable-gnomevfs
> ac_add_options --enable-system-sqlite
> ac_add_options --enable-system-cairo
> ac_add_options --enable-strip
> ac_add_options --without-system-jpeg
> ac_add_options --with-system-zlib
> ac_add_options --enable-libxul
> ac_add_options --enable-storage
> ac_add_options --disable-tests
> ac_add_options --with-default-mozilla-five-home=${libdir}/seamonkey
> ac_add_options --enable-jsd
> ac_add_options --enable-default-toolkit=cairo-gtk2
> ac_add_options --disable-crashreporter
> ac_add_options --disable-libnotify
> ac_add_options --with-system-libvpx
> ac_add_options --enable-gio
> ac_add_options --enable-chrome-format=omni
> ac_add_options --disable-necko-wifi
> ac_add_options --disable-gconf
> ac_add_options --with-system-nspr
> ac_add_options --with-system-nss
> ac_add_options --enable-shared-js
> ac_add_options --enable-gstreamer
> ac_add_options --disable-ldap
> ac_add_options --disable-angle
> ac_add_options --with-system-icu
> ac_add_options --disable-pulseaudio
> ac_add_options --enable-system-ffi
> ac_add_options --disable-gnomeui
> ac_add_options --with-pthreads
> ac_add_options --enable-system-pixman
> ac_add_options --disable-logging
> ac_add_options --disable-debug
> ac_add_options --disable-profilesharing
> ac_add_options --enable-mathml
> ac_add_options --enable-crypto
> ac_add_options --with-system-icu
> ac_add_options --with-system-libevent
> ac_add_options --enable-optimize='-Os'" > mozconfig
>
> #have to do this due to a bug...
> mkdir mozilla/objdir-sm-release
>
> if [[ $libdir == *lib64 ]];then
> export LDFLAGS='-L/usr/X11R7/lib64'
> else
> export LDFLAGS='-L/usr/X11R7/lib'
> fi
> export CPLUS_INCLUDE_PATH=/usr/X11R7/include
> export C_INCLUDE_PATH=/usr/X11R7/include
> }
> hook_add premake 5 'sm_fix_pre'
>
> makeopt='-f client.mk'
> makeinstopt=''
>
> sm_fix_post()
> {
> #the usual way of installing is broken, do it the long way:
> mkdir -p $root${libdir}/seamonkey-${ver}
> cp -a -L -f --remove-destination objdir-sm-release/dist/bin/*
> $root${libdir}/seamonkey-${ver}/
> ln -snf seamonkey-${ver} $root${libdir}/seamonkey
> #and development files:
> mkdir -p $root${libdir}/seamonkey-devel-${ver}
> cp -a -L -f --remove-destination objdir-sm-release/dist/sdk
> $root${libdir}/seamonkey-devel-${ver}/
> ln -snf ../seamonkey-${ver} $root${libdir}/seamonkey-devel-${ver}/bin
> ln -snf ../../include/seamonkey-${ver}
> $root${libdir}/seamonkey-devel-${ver}/include
> ln -snf sdk/lib $root${libdir}/seamonkey-devel-${ver}/lib
> cp -a -L -f --remove-destination
> objdir-sm-release/dist/include/xpcom-config.h
> $root${libdir}/seamonkey-devel-${ver}/
> mkdir -p $root/usr/include/seamonkey-${ver}
> cp -a -L -f --remove-destination objdir-sm-release/dist/include/*
> $root/usr/include/seamonkey-${ver}/
> ln -snf seamonkey-${ver} $root/usr/include/seamonkey
> mkdir -p $root/usr/share/idl/seamonkey-${ver}
> cp -a -L -f --remove-destination objdir-sm-release/dist/idl/*
> $root/usr/share/idl/seamonkey-${ver}/
> ln -snf ../../share/idl/seamonkey-${ver}
> $root${libdir}/seamonkey-devel-${ver}/idl
> mkdir -p $root/usr/bin
> ln -snf ../..${libdir}/seamonkey/seamonkey $root/usr/bin/seamonkey
> }
> hook_add postmake 6 'sm_fix_post'
>
> check_shared=0
>
> Note that mine builds with ldap disabled, which I think you reported
> before is a problem. But, I built 2.32.
>
> I don't know about firefox and thunderbird. I just checked the LFS
> page for firefox, and they are using client.mk:
> http://www.linuxfromscratch.org/blfs/view/svn/xsoft/firefox.html
>
> Regards,
> Barry
>
> -----------------------------------------------------------
> If you wish to unsubscribe from this mailing, send mail to
> [email protected] with a subject of: unsubscribe t2
--
ExactCODE GmbH, Lietzenburger Str. 42, DE-10789 Berlin
DE Legal: Amtsgericht Berlin (Charlottenburg) HRB 105123B, Tax-ID#: DE251602478
Managing Director: René Rebe
http://exactcode.com | http://exactscan.com | http://ocrkit.com |
http://t2-project.org | http://rene.rebe.de
-----------------------------------------------------------
If you wish to unsubscribe from this mailing, send mail to
[email protected] with a subject of: unsubscribe t2