xulrunner/xulrunner.spec
changeset 879 3b986c9dbc5f
parent 670 0b1f7ee785d3
equal deleted inserted replaced
867:3af93b7e5e3d 879:3b986c9dbc5f
     1 #
     1 #
     2 # spec file for package xulrunner
     2 # spec file for package xulrunner
     3 #
     3 #
     4 # Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
     4 # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
     5 #               2006-2013 Wolfgang Rosenauer
     5 #               2006-2015 Wolfgang Rosenauer
     6 #
     6 #
     7 # All modifications and additions to the file contributed by third parties
     7 # All modifications and additions to the file contributed by third parties
     8 # remain the property of their copyright owners, unless otherwise agreed
     8 # remain the property of their copyright owners, unless otherwise agreed
     9 # upon. The license for this file, and modifications and additions to the
     9 # upon. The license for this file, and modifications and additions to the
    10 # file, is the same license as for the pristine package itself (unless the
    10 # file, is the same license as for the pristine package itself (unless the
    14 # published by the Open Source Initiative.
    14 # published by the Open Source Initiative.
    15 
    15 
    16 # Please submit bugfixes or comments via http://bugs.opensuse.org/
    16 # Please submit bugfixes or comments via http://bugs.opensuse.org/
    17 #
    17 #
    18 
    18 
    19 %if %suse_version > 1220
    19 
    20 %define gstreamer_ver 0.10
    20 %define version_internal 38.2.0
       
    21 %define apiversion 38
       
    22 %define uaweight 3820000
       
    23 %define releasedate 2015080900
       
    24 %define shared_js 0
       
    25 %define has_system_nspr  1
       
    26 %define has_system_nss   1
       
    27 %define has_system_cairo 0
       
    28 %define localize         0
       
    29 %ifarch aarch64 ppc ppc64 ppc64le s390 s390x ia64 %arm
       
    30 %define crashreporter    0
       
    31 %else
       
    32 %define crashreporter    0
       
    33 %endif
       
    34 %if %suse_version > 1210
       
    35 %if %suse_version > 1310
       
    36 %define gstreamer_ver 1.0
       
    37 %define gstreamer 1
    21 %else
    38 %else
    22 %define gstreamer_ver 0.10
    39 %define gstreamer_ver 0.10
       
    40 %endif
    23 %endif
    41 %endif
    24 
    42 
    25 Name:           xulrunner
    43 Name:           xulrunner
    26 BuildRequires:  Mesa-devel
    44 BuildRequires:  Mesa-devel
    27 BuildRequires:  autoconf213
    45 BuildRequires:  autoconf213
    31 BuildRequires:  hunspell-devel
    49 BuildRequires:  hunspell-devel
    32 BuildRequires:  libcurl-devel
    50 BuildRequires:  libcurl-devel
    33 BuildRequires:  libgnomeui-devel
    51 BuildRequires:  libgnomeui-devel
    34 BuildRequires:  libidl-devel
    52 BuildRequires:  libidl-devel
    35 BuildRequires:  libnotify-devel
    53 BuildRequires:  libnotify-devel
    36 BuildRequires:  nss-shared-helper-devel
    54 %if %suse_version > 1140
       
    55 BuildRequires:  makeinfo
       
    56 %endif
    37 BuildRequires:  pkg-config
    57 BuildRequires:  pkg-config
    38 BuildRequires:  python
    58 BuildRequires:  python
    39 BuildRequires:  startup-notification-devel
    59 BuildRequires:  startup-notification-devel
    40 BuildRequires:  unzip
    60 BuildRequires:  unzip
    41 BuildRequires:  xorg-x11-libXt-devel
    61 BuildRequires:  xorg-x11-libXt-devel
    45 BuildRequires:  libiw-devel
    65 BuildRequires:  libiw-devel
    46 BuildRequires:  libproxy-devel
    66 BuildRequires:  libproxy-devel
    47 %else
    67 %else
    48 BuildRequires:  wireless-tools
    68 BuildRequires:  wireless-tools
    49 %endif
    69 %endif
    50 BuildRequires:  mozilla-nspr-devel >= 4.10
    70 BuildRequires:  mozilla-nspr-devel >= 4.10.8
    51 BuildRequires:  mozilla-nss-devel >= 3.15.1
    71 BuildRequires:  mozilla-nss-devel >= 3.19.2
       
    72 BuildRequires:  pkgconfig(libpulse)
    52 %if %suse_version > 1210
    73 %if %suse_version > 1210
    53 BuildRequires:  pkgconfig(gstreamer-%gstreamer_ver)
    74 BuildRequires:  pkgconfig(gstreamer-%gstreamer_ver)
    54 BuildRequires:  pkgconfig(gstreamer-app-%gstreamer_ver)
    75 BuildRequires:  pkgconfig(gstreamer-app-%gstreamer_ver)
    55 BuildRequires:  pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
    76 BuildRequires:  pkgconfig(gstreamer-plugins-base-%gstreamer_ver)
    56 %endif
    77 %if 0%{?gstreamer} == 1
    57 Version:        24.0
    78 Requires:       libgstreamer-1_0-0
       
    79 Recommends:     gstreamer-fluendo-mp3
       
    80 Recommends:     gstreamer-plugin-libav
       
    81 %else
       
    82 Requires:       libgstreamer-0_10-0
       
    83 Recommends:     gstreamer-0_10-fluendo-mp3
       
    84 Recommends:     gstreamer-0_10-plugins-ffmpeg
       
    85 %endif
       
    86 %endif
       
    87 Version:        %{version_internal}
    58 Release:        0
    88 Release:        0
    59 %define         releasedate 2013091000
       
    60 %define         version_internal 24.0
       
    61 %define         apiversion 24
       
    62 %define         uaweight 2400000
       
    63 Summary:        Mozilla Runtime Environment
    89 Summary:        Mozilla Runtime Environment
    64 License:        MPL-2.0
    90 License:        MPL-2.0
    65 Group:          Productivity/Other
    91 Group:          Productivity/Other
    66 Url:            http://www.mozilla.org/
    92 Url:            http://www.mozilla.org/
    67 Provides:       gecko
    93 Provides:       gecko
    68 %ifarch %ix86
    94 %ifarch %ix86
    69 Provides:       xulrunner-32bit = %{version}-%{release}
    95 Provides:       xulrunner-32bit = %{version}-%{release}
    70 %endif
    96 %endif
    71 Source:         xulrunner-%{version}-source.tar.bz2
    97 Source:         xulrunner-%{version}-source.tar.xz
    72 Source1:        l10n-%{version}.tar.bz2
    98 Source1:        l10n-%{version}.tar.xz
    73 Source2:        find-external-requires.sh
    99 Source2:        find-external-requires.sh
    74 Source3:        %{name}-rpmlintrc
   100 Source3:        %{name}-rpmlintrc
    75 Source4:        xulrunner-openSUSE-prefs.js
   101 Source4:        xulrunner-openSUSE-prefs.js
    76 Source5:        add-plugins.sh.in
   102 Source5:        spellcheck.js
    77 Source6:        create-tar.sh
   103 Source6:        create-tar.sh
    78 Source7:        baselibs.conf
   104 Source7:        baselibs.conf
    79 Source8:        source-stamp.txt
   105 Source8:        source-stamp.txt
    80 Source9:        compare-locales.tar.bz2
   106 Source9:        compare-locales.tar.xz
    81 Patch1:         toolkit-download-folder.patch
   107 Patch1:         toolkit-download-folder.patch
    82 Patch2:         mozilla-pkgconfig.patch
   108 Patch2:         mozilla-pkgconfig.patch
    83 Patch3:         mozilla-idldir.patch
   109 Patch3:         mozilla-nongnome-proxies.patch
    84 Patch4:         mozilla-nongnome-proxies.patch
   110 Patch4:         mozilla-prefer_plugin_pref.patch
    85 Patch5:         mozilla-prefer_plugin_pref.patch
   111 Patch5:         mozilla-shared-nss-db.patch
    86 Patch6:         mozilla-language.patch
   112 Patch6:         mozilla-preferences.patch
    87 Patch7:         mozilla-ntlm-full-path.patch
   113 Patch7:         mozilla-language.patch
    88 Patch9:         mozilla-sle11.patch
   114 Patch8:         mozilla-ntlm-full-path.patch
    89 Patch10:        mozilla-ppc.patch
   115 Patch9:         mozilla-repo.patch
    90 Patch11:        mozilla-libproxy-compat.patch
   116 Patch10:        mozilla-icu-strncat.patch
       
   117 Patch11:        mozilla-arm-disable-edsp.patch
       
   118 Patch12:        mozilla-idldir.patch
       
   119 Patch13:        mozilla-skia-be-le.patch
       
   120 Patch14:        mozilla-bmo1005535.patch
       
   121 Patch15:        mozilla-add-glibcxx_use_cxx11_abi.patch
       
   122 Patch16:        mozilla-arm64-libjpeg-turbo.patch
    91 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
   123 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
       
   124 %if 0%{?shared_js} == 1
    92 Requires:       mozilla-js = %{version}
   125 Requires:       mozilla-js = %{version}
       
   126 %endif
    93 Requires(post):  update-alternatives coreutils
   127 Requires(post):  update-alternatives coreutils
    94 Requires(preun): update-alternatives coreutils
   128 Requires(preun): update-alternatives coreutils
    95 Provides:       xulrunner-esr = %{version}
   129 Provides:       xulrunner-esr = %{version}
    96 Obsoletes:      xulrunner-esr < 24.0
   130 Obsoletes:      xulrunner-esr < 24.0
    97 ### build configuration ###
       
    98 %define has_system_nspr  1
       
    99 %define has_system_nss   1
       
   100 %define has_system_cairo 0
       
   101 %define localize 1
       
   102 %ifarch ppc ppc64 s390 s390x ia64 %arm
       
   103 %define crashreporter    0
       
   104 %else
       
   105 %define crashreporter    1
       
   106 %endif
       
   107 ### configuration end ###
       
   108 %define _use_internal_dependency_generator 0
   131 %define _use_internal_dependency_generator 0
   109 %define __find_requires sh %{SOURCE2}
   132 %define __find_requires sh %{SOURCE2}
   110 %global provfind sh -c "grep -Ev 'mozsqlite3|dbusservice|unixprint' | %__find_provides"
   133 %global provfind sh -c "grep -Ev 'mozsqlite3|dbusservice|unixprint' | %__find_provides"
   111 %global __find_provides %provfind
   134 %global __find_provides %provfind
   112 %if %has_system_nspr
   135 %if %has_system_nspr
   119 %description
   142 %description
   120 XULRunner is a single installable package that can be used to bootstrap
   143 XULRunner is a single installable package that can be used to bootstrap
   121 multiple XUL+XPCOM applications that are as rich as Firefox and
   144 multiple XUL+XPCOM applications that are as rich as Firefox and
   122 Thunderbird.
   145 Thunderbird.
   123 
   146 
   124 
   147 %if 0%{?shared_js} == 1
   125 %package -n mozilla-js
   148 %package -n mozilla-js
   126 Summary:        Mozilla JS engine
   149 Summary:        Mozilla JS engine
   127 Group:          Productivity/Other
   150 Group:          Productivity/Other
   128 
   151 
   129 %description -n mozilla-js
   152 %description -n mozilla-js
   130 JavaScript is the Netscape-developed object scripting language used in millions
   153 JavaScript is the Netscape-developed object scripting language used in millions
   131 of web pages and server applications worldwide. Netscape's JavaScript is a
   154 of web pages and server applications worldwide. Netscape's JavaScript is a
   132 superset of the ECMA-262 Edition 3 (ECMAScript) standard scripting language,
   155 superset of the ECMA-262 Edition 3 (ECMAScript) standard scripting language,
   133 with only mild differences from the published standard.
   156 with only mild differences from the published standard.
   134 
   157 %endif
   135 
   158 
   136 %package devel
   159 %package devel
   137 Summary:        XULRunner/Gecko SDK
   160 Summary:        XULRunner/Gecko SDK
   138 Group:          Development/Libraries/Other
   161 Group:          Development/Libraries/Other
   139 %if %has_system_nspr
   162 %if %has_system_nspr
   146 
   169 
   147 %description devel
   170 %description devel
   148 Software Development Kit to embed XUL or Gecko into other applications.
   171 Software Development Kit to embed XUL or Gecko into other applications.
   149 
   172 
   150 %if %localize
   173 %if %localize
   151 
       
   152 %package translations-common
   174 %package translations-common
   153 Summary:        Common translations for XULRunner
   175 Summary:        Common translations for XULRunner
   154 Group:          System/Localization
   176 Group:          System/Localization
   155 Requires:       %{name} = %{version}
   177 Requires:       %{name} = %{version}
   156 Provides:       locale(%{name}:ar;ca;cs;da;de;el;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
   178 Provides:       locale(%{name}:ar;ca;cs;da;de;el;en_GB;es_AR;es_CL;es_ES;fi;fr;hu;it;ja;ko;nb_NO;nl;pl;pt_BR;pt_PT;ru;sv_SE;zh_CN;zh_TW)
   179 
   201 
   180 This package contains rarely used languages.
   202 This package contains rarely used languages.
   181 %endif
   203 %endif
   182 
   204 
   183 %if %crashreporter
   205 %if %crashreporter
   184 
       
   185 %package buildsymbols
   206 %package buildsymbols
   186 Summary:        Breakpad buildsymbols for %{name}
   207 Summary:        Breakpad buildsymbols for %{name}
   187 Group:          Development/Debug
   208 Group:          Development/Debug
   188 
   209 
   189 %description buildsymbols
   210 %description buildsymbols
   198 %patch3 -p1
   219 %patch3 -p1
   199 %patch4 -p1
   220 %patch4 -p1
   200 %patch5 -p1
   221 %patch5 -p1
   201 %patch6 -p1
   222 %patch6 -p1
   202 %patch7 -p1
   223 %patch7 -p1
   203 %if %suse_version < 1120
   224 %patch8 -p1
   204 %patch9 -p1
   225 %patch9 -p1
   205 %endif
       
   206 %patch10 -p1
   226 %patch10 -p1
   207 %patch11 -p1
   227 %patch11 -p1
       
   228 %patch12 -p1
       
   229 %patch13 -p1
       
   230 %patch14 -p1
       
   231 %patch15 -p1
       
   232 %patch16 -p1
   208 
   233 
   209 %build
   234 %build
   210 # no need to add build time to binaries
   235 # no need to add build time to binaries
   211 modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
   236 modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")"
   212 DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
   237 DATE="\"$(date -d "${modified}" "+%%b %%e %%Y")\""
   213 TIME="\"$(date -d "${modified}" "+%%R")\""
   238 TIME="\"$(date -d "${modified}" "+%%R")\""
   214 find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
   239 find . -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
   215 #
   240 #
   216 MOZ_APP_DIR=%{_libdir}/xulrunner-%{version_internal}
   241 MOZ_APP_DIR=%{_libdir}/xulrunner-%{version_internal}
       
   242 source %{SOURCE8}
   217 export MOZ_BUILD_DATE=%{releasedate}
   243 export MOZ_BUILD_DATE=%{releasedate}
   218 export CFLAGS="$RPM_OPT_FLAGS -Os -fno-strict-aliasing"
   244 export MOZ_SOURCE_STAMP=$REV
       
   245 export SOURCE_REPO=$REPO
       
   246 export source_repo=$REPO
       
   247 export MOZ_SOURCE_REPO=$REPO
       
   248 export MOZILLA_OFFICIAL=1
       
   249 export BUILD_OFFICIAL=1
       
   250 export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
       
   251 %ifarch %ix86
       
   252 export CFLAGS="${CFLAGS} -Os"
       
   253 %endif
   219 %ifarch ppc64
   254 %ifarch ppc64
   220 export CFLAGS="$CFLAGS -mminimal-toc"
   255 export CFLAGS="$CFLAGS -mminimal-toc"
   221 %endif
   256 %endif
   222 export LDFLAGS=" -Wl,-rpath -Wl,${MOZ_APP_DIR}"
   257 export LDFLAGS=" -Wl,-rpath -Wl,${MOZ_APP_DIR}"
   223 %ifarch %arm
   258 %ifarch %arm
   224 # debug symbols require too much memory during build
   259 # debug symbols require too much memory during build
   225 export CFLAGS="${CFLAGS/-g/}"
   260 export CFLAGS="${CFLAGS/-g / }"
       
   261 # Limit RAM usage during link
   226 LDFLAGS+="-Wl,--reduce-memory-overheads -Wl,--no-keep-memory"
   262 LDFLAGS+="-Wl,--reduce-memory-overheads -Wl,--no-keep-memory"
   227 %endif
   263 %endif
   228 export CXXFLAGS="$CFLAGS"
   264 export CXXFLAGS="$CFLAGS"
   229 export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
   265 export MOZCONFIG=$RPM_BUILD_DIR/mozconfig
   230 export MOZILLA_OFFICIAL=1
       
   231 export BUILD_OFFICIAL=1
       
   232 export MOZ_MILESTONE_RELEASE=1
   266 export MOZ_MILESTONE_RELEASE=1
   233 #
   267 #
   234 cat << EOF > $MOZCONFIG
   268 cat << EOF > $MOZCONFIG
   235 mk_add_options MOZILLA_OFFICIAL=1
   269 mk_add_options MOZILLA_OFFICIAL=1
   236 mk_add_options BUILD_OFFICIAL=1
   270 mk_add_options BUILD_OFFICIAL=1
   241 ac_add_options --prefix=%{_prefix}
   275 ac_add_options --prefix=%{_prefix}
   242 ac_add_options --libdir=%{_libdir}
   276 ac_add_options --libdir=%{_libdir}
   243 ac_add_options --sysconfdir=%{_sysconfdir}
   277 ac_add_options --sysconfdir=%{_sysconfdir}
   244 ac_add_options --mandir=%{_mandir}
   278 ac_add_options --mandir=%{_mandir}
   245 ac_add_options --includedir=%{_includedir}
   279 ac_add_options --includedir=%{_includedir}
   246 ac_add_options --enable-optimize
   280 ac_add_options --enable-release
       
   281 ac_add_options --enable-stdcxx-compat
       
   282 %ifarch %ix86
       
   283 %if 0%{?suse_version} > 1230
       
   284 ac_add_options --disable-optimize
       
   285 %endif
       
   286 %endif
       
   287 %ifnarch aarch64 ppc ppc64 ppc64le
       
   288 ac_add_options --enable-elf-hack
       
   289 %endif
   247 ac_add_options --enable-extensions=default
   290 ac_add_options --enable-extensions=default
   248 #ac_add_options --with-system-jpeg # mozilla uses internal libjpeg-turbo now
   291 #ac_add_options --with-system-jpeg # mozilla uses internal libjpeg-turbo now
   249 #ac_add_options --with-system-png  # no APNG support
   292 #ac_add_options --with-system-png  # no APNG support
   250 ac_add_options --with-system-zlib
   293 ac_add_options --with-system-zlib
   251 ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
   294 ac_add_options --with-l10n-base=$RPM_BUILD_DIR/l10n
   254 ac_add_options --disable-installer
   297 ac_add_options --disable-installer
   255 ac_add_options --disable-updater
   298 ac_add_options --disable-updater
   256 ac_add_options --disable-javaxpcom
   299 ac_add_options --disable-javaxpcom
   257 ac_add_options --enable-system-hunspell
   300 ac_add_options --enable-system-hunspell
   258 ac_add_options --enable-startup-notification
   301 ac_add_options --enable-startup-notification
       
   302 %if 0%{?shared_js} == 1
   259 ac_add_options --enable-shared-js
   303 ac_add_options --enable-shared-js
       
   304 %endif
   260 #ac_add_options --enable-debug
   305 #ac_add_options --enable-debug
   261 EOF
       
   262 %if %suse_version > 1130
   306 %if %suse_version > 1130
   263 cat << EOF >> $MOZCONFIG
       
   264 ac_add_options --disable-gnomevfs
   307 ac_add_options --disable-gnomevfs
   265 ac_add_options --enable-gio
   308 ac_add_options --enable-gio
   266 EOF
   309 %endif
       
   310 %if 0%{?gstreamer} == 1
       
   311 ac_add_options --enable-gstreamer=1.0
   267 %endif
   312 %endif
   268 %if %suse_version < 1220
   313 %if %suse_version < 1220
   269 cat << EOF >> $MOZCONFIG
       
   270 ac_add_options --disable-gstreamer
   314 ac_add_options --disable-gstreamer
   271 EOF
       
   272 %endif
   315 %endif
   273 %if %has_system_nspr
   316 %if %has_system_nspr
   274 cat << EOF >> $MOZCONFIG
       
   275 ac_add_options --with-system-nspr
   317 ac_add_options --with-system-nspr
   276 EOF
       
   277 %endif
   318 %endif
   278 %if %has_system_nss
   319 %if %has_system_nss
   279 cat << EOF >> $MOZCONFIG
       
   280 ac_add_options --with-system-nss
   320 ac_add_options --with-system-nss
   281 EOF
       
   282 %endif
   321 %endif
   283 %if %has_system_cairo
   322 %if %has_system_cairo
   284 cat << EOF >> $MOZCONFIG
       
   285 ac_add_options --enable-system-cairo
   323 ac_add_options --enable-system-cairo
   286 EOF
       
   287 %endif
   324 %endif
   288 %if %suse_version > 1110
   325 %if %suse_version > 1110
   289 cat << EOF >> $MOZCONFIG
       
   290 ac_add_options --enable-libproxy
   326 ac_add_options --enable-libproxy
   291 EOF
       
   292 %endif
   327 %endif
   293 %if ! %crashreporter
   328 %if ! %crashreporter
   294 cat << EOF >> $MOZCONFIG
       
   295 ac_add_options --disable-crashreporter
   329 ac_add_options --disable-crashreporter
   296 EOF
       
   297 %endif
   330 %endif
   298 # ARM
   331 # ARM
   299 %ifarch %arm
   332 %ifarch %arm
   300 cat << EOF >> $MOZCONFIG
       
   301 ac_add_options --disable-neon
   333 ac_add_options --disable-neon
       
   334 %endif
       
   335 %ifnarch %ix86 x86_64
       
   336 ac_add_options --disable-webrtc
       
   337 %endif
       
   338 # try to use OpenGL-ES on ARM
       
   339 %ifarch %arm
       
   340 ac_add_options --with-gl-provider=EGL
       
   341 %endif
   302 EOF
   342 EOF
   303 %endif
       
   304 %ifnarch %ix86 x86_64
       
   305 cat << EOF >> $MOZCONFIG
       
   306 ac_add_options --disable-webrtc
       
   307 EOF
       
   308 %endif
       
   309 make -f client.mk build
   343 make -f client.mk build
   310 
   344 
   311 %install
   345 %install
   312 cd ../obj
   346 cd ../obj
   313 # preferences (to package in omni.jar)
   347 # preferences (to package in omni.jar)
   314 cp %{SOURCE4} dist/bin/defaults/pref/all-openSUSE.js
   348 cp %{SOURCE4} dist/bin/defaults/pref/all-openSUSE.js
       
   349 cp %{SOURCE5} dist/bin/defaults/pref/
   315 %makeinstall STRIP=/bin/true
   350 %makeinstall STRIP=/bin/true
   316 # xpt.py is not executable
   351 # xpt.py is not executable
   317 chmod a+x $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/bin/*.py
   352 chmod a+x $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/bin/*.py
   318 # remove some executable permissions
   353 # remove some executable permissions
   319 find $RPM_BUILD_ROOT%{_includedir}/xulrunner-%{version_internal} \
   354 find $RPM_BUILD_ROOT%{_includedir}/xulrunner-%{version_internal} \
   323 # remove mkdir.done files from installed base
   358 # remove mkdir.done files from installed base
   324 #find $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal} -name ".mkdir.done" | xargs rm
   359 #find $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal} -name ".mkdir.done" | xargs rm
   325 mkdir -p $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions
   360 mkdir -p $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/extensions
   326 # fixing SDK dynamic libs (symlink instead of copy)
   361 # fixing SDK dynamic libs (symlink instead of copy)
   327 rm $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/*.so
   362 rm $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/*.so
       
   363 %if 0%{?shared_js} == 1
   328 ln -sf ../../../xulrunner-%{version_internal}/libmozjs.so \
   364 ln -sf ../../../xulrunner-%{version_internal}/libmozjs.so \
   329        $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
   365        $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
       
   366 %endif
   330 ln -sf ../../../xulrunner-%{version_internal}/libxul.so \
   367 ln -sf ../../../xulrunner-%{version_internal}/libxul.so \
   331        $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
   368        $RPM_BUILD_ROOT%{_libdir}/xulrunner-devel-%{version_internal}/sdk/lib/
   332 # include basic buildenv for xulapps to use
   369 # include basic buildenv for xulapps to use
   333 mkdir -p $RPM_BUILD_ROOT%{_datadir}/xulrunner-%{version_internal}
   370 mkdir -p $RPM_BUILD_ROOT%{_datadir}/xulrunner-%{version_internal}
   334 pushd ..
   371 pushd ..
   338     mozilla/configure.in mozilla/Makefile.in mozilla/client.py \
   375     mozilla/configure.in mozilla/Makefile.in mozilla/client.py \
   339     mozilla/config mozilla/client.mk mozilla/aclocal.m4 mozilla/build mozilla/js/src/* \
   376     mozilla/config mozilla/client.mk mozilla/aclocal.m4 mozilla/build mozilla/js/src/* \
   340     mozilla/testing mozilla/toolkit/mozapps/installer mozilla/probes mozilla/memory \
   377     mozilla/testing mozilla/toolkit/mozapps/installer mozilla/probes mozilla/memory \
   341     mozilla/toolkit/xre mozilla/nsprpub/config mozilla/tools mozilla/xpcom/build
   378     mozilla/toolkit/xre mozilla/nsprpub/config mozilla/tools mozilla/xpcom/build
   342 popd
   379 popd
   343 # install add-plugins.sh
       
   344 sed "s:%%PROGDIR:%{_libdir}/xulrunner-%{version_internal}:g" \
       
   345   %{SOURCE5} > $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh
       
   346 chmod 755 $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/add-plugins.sh
       
   347 # ghosts
   380 # ghosts
   348 touch $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/global.reginfo
   381 touch $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/global.reginfo
   349 # install additional locales
   382 # install additional locales
   350 %if %localize
   383 %if %localize
   351 rm -f %{_tmppath}/translations.*
   384 rm -f %{_tmppath}/translations.*
   392 rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/LICENSE
   425 rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/LICENSE
   393 rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/README.txt
   426 rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/README.txt
   394 rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/dictionaries/en-US*
   427 rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/dictionaries/en-US*
   395 rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/nspr-config
   428 rm -f $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/nspr-config
   396 rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/mozilla-plugin.pc
   429 rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/mozilla-plugin.pc
       
   430 rm -rf $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/gmp-fake/
       
   431 rm -rf $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/gmp-fakeopenh264/
   397 # fdupes
   432 # fdupes
   398 %fdupes $RPM_BUILD_ROOT%{_includedir}/xulrunner-%{version_internal}/
   433 %fdupes $RPM_BUILD_ROOT%{_includedir}/xulrunner-%{version_internal}/
   399 %fdupes $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/
   434 %fdupes $RPM_BUILD_ROOT%{_libdir}/xulrunner-%{version_internal}/
   400 # create breakpad debugsymbols
   435 # create breakpad debugsymbols
   401 %if %crashreporter
   436 %if %crashreporter
   417 %endif
   452 %endif
   418 
   453 
   419 %post
   454 %post
   420 /usr/sbin/update-alternatives --install %{_bindir}/xulrunner \
   455 /usr/sbin/update-alternatives --install %{_bindir}/xulrunner \
   421   xulrunner %{_libdir}/xulrunner-%{apiversion}/xulrunner %{uaweight} || :
   456   xulrunner %{_libdir}/xulrunner-%{apiversion}/xulrunner %{uaweight} || :
   422 %{_libdir}/xulrunner-%{apiversion}/add-plugins.sh > /dev/null 2>&1
       
   423 exit 0
   457 exit 0
   424 
   458 
   425 %posttrans
   459 %posttrans
   426 # needed for updates which transition directory to symlink
   460 # needed for updates which transition directory to symlink
   427 %if 0%{?ga_version:1}
   461 %if 0%{?ga_version:1}
   428 test -d %{_libdir}/xulrunner-%{ga_version} && rm -rf %{_libdir}/xulrunner-%{ga_version}
   462 test -d %{_libdir}/xulrunner-%{ga_version} && rm -rf %{_libdir}/xulrunner-%{ga_version}
   429 ln -sf xulrunner-%{version_internal} %{_libdir}/xulrunner-%{ga_version}
   463 ln -sf xulrunner-%{version_internal} %{_libdir}/xulrunner-%{ga_version}
   430 %endif
   464 %endif
   431 [ -e %{_libdir}/xulrunner-%{version_internal}/add-plugins.sh ] && \
       
   432   %{_libdir}/xulrunner-%{version_internal}/add-plugins.sh > /dev/null 2>&1
       
   433 exit 0
   465 exit 0
   434 
   466 
   435 %preun
   467 %preun
   436 if [ "$1" = "0" ]; then # deinstallation
   468 if [ "$1" = "0" ]; then # deinstallation
   437   # that's not quite nice since old versions should be removed on update as well
   469   # that's not quite nice since old versions should be removed on update as well
   438   # but that's problematic for updates w/o raising the version number
   470   # but that's problematic for updates w/o raising the version number
   439   /usr/sbin/update-alternatives --remove xulrunner %{_libdir}/xulrunner-%{apiversion}/xulrunner
   471   /usr/sbin/update-alternatives --remove xulrunner %{_libdir}/xulrunner-%{apiversion}/xulrunner
   440 fi
   472 fi
   441 rm -f %{_libdir}/xulrunner-%{version_internal}/dictionaries/*
       
   442 exit 0
       
   443 
       
   444 %triggerin -- myspell-dictionary
       
   445 %{_libdir}/xulrunner-%{version_internal}/add-plugins.sh > /dev/null 2>&1
       
   446 exit 0
       
   447 
       
   448 %triggerpostun -- myspell-dictionary
       
   449 %{_libdir}/xulrunner-%{version_internal}/add-plugins.sh > /dev/null 2>&1
       
   450 exit 0
   473 exit 0
   451 
   474 
   452 %files
   475 %files
   453 %defattr(-,root,root)
   476 %defattr(-,root,root)
   454 %dir %{_libdir}/xulrunner-%{version_internal}/
   477 %dir %{_libdir}/xulrunner-%{version_internal}/
   456 %dir %{_libdir}/xulrunner-%{version_internal}/dictionaries/
   479 %dir %{_libdir}/xulrunner-%{version_internal}/dictionaries/
   457 %dir %{_libdir}/xulrunner-%{version_internal}/extensions/
   480 %dir %{_libdir}/xulrunner-%{version_internal}/extensions/
   458 %{_libdir}/xulrunner-%{version_internal}/chrome/icons/
   481 %{_libdir}/xulrunner-%{version_internal}/chrome/icons/
   459 %{_libdir}/xulrunner-%{version_internal}/components/
   482 %{_libdir}/xulrunner-%{version_internal}/components/
   460 %{_libdir}/xulrunner-%{version_internal}/*.so
   483 %{_libdir}/xulrunner-%{version_internal}/*.so
       
   484 %{_libdir}/xulrunner-%{version_internal}/gmp-clearkey/
       
   485 %if 0%{?shared_js} == 1
   461 %exclude %{_libdir}/xulrunner-%{version_internal}/libmozjs.so
   486 %exclude %{_libdir}/xulrunner-%{version_internal}/libmozjs.so
   462 %{_libdir}/xulrunner-%{version_internal}/add-plugins.sh
   487 %endif
   463 %{_libdir}/xulrunner-%{version_internal}/chrome.manifest
   488 %{_libdir}/xulrunner-%{version_internal}/chrome.manifest
   464 %{_libdir}/xulrunner-%{version_internal}/dependentlibs.list
   489 %{_libdir}/xulrunner-%{version_internal}/dependentlibs.list
   465 %{_libdir}/xulrunner-%{version_internal}/mozilla-xremote-client
       
   466 %{_libdir}/xulrunner-%{version_internal}/plugin-container
   490 %{_libdir}/xulrunner-%{version_internal}/plugin-container
   467 %{_libdir}/xulrunner-%{version_internal}/xulrunner
   491 %{_libdir}/xulrunner-%{version_internal}/xulrunner
   468 %{_libdir}/xulrunner-%{version_internal}/xulrunner-stub
   492 %{_libdir}/xulrunner-%{version_internal}/xulrunner-stub
   469 %{_libdir}/xulrunner-%{version_internal}/platform.ini
   493 %{_libdir}/xulrunner-%{version_internal}/platform.ini
   470 %{_libdir}/xulrunner-%{version_internal}/omni.ja
   494 %{_libdir}/xulrunner-%{version_internal}/omni.ja
   479 %ghost %{_libdir}/xulrunner-%{version_internal}/global.reginfo
   503 %ghost %{_libdir}/xulrunner-%{version_internal}/global.reginfo
   480 %if %suse_version >= 1120
   504 %if %suse_version >= 1120
   481 %ghost %{_bindir}/xulrunner
   505 %ghost %{_bindir}/xulrunner
   482 %endif
   506 %endif
   483 # API symlink (already in mozilla-js)
   507 # API symlink (already in mozilla-js)
   484 #%{_libdir}/xulrunner-%{apiversion}
   508 %if 0%{?shared_js} == 0
       
   509 %{_libdir}/xulrunner-%{apiversion}
       
   510 %endif
   485 # compat symlinks
   511 # compat symlinks
   486 %if 0%{?ga_version:1}
   512 %if 0%{?ga_version:1}
   487 %ghost %{_libdir}/xulrunner-%{ga_version}
   513 %ghost %{_libdir}/xulrunner-%{ga_version}
   488 %endif
   514 %endif
   489 
   515 
       
   516 %if 0%{?shared_js} == 1
   490 %files -n mozilla-js
   517 %files -n mozilla-js
   491 %defattr(-,root,root)
   518 %defattr(-,root,root)
   492 %dir %{_libdir}/xulrunner-%{version_internal}/
   519 %dir %{_libdir}/xulrunner-%{version_internal}/
   493 %{_libdir}/xulrunner-%{apiversion}
   520 %{_libdir}/xulrunner-%{apiversion}
   494 %{_libdir}/xulrunner-%{version_internal}/libmozjs.so
   521 %{_libdir}/xulrunner-%{version_internal}/libmozjs.so
       
   522 %endif
   495 
   523 
   496 %files devel
   524 %files devel
   497 %defattr(-,root,root)
   525 %defattr(-,root,root)
   498 %{_libdir}/xulrunner-devel-%{version_internal}/
   526 %{_libdir}/xulrunner-devel-%{version_internal}/
   499 %{_libdir}/xulrunner-%{version_internal}/js-gdb.py
   527 %{_libdir}/xulrunner-%{version_internal}/js-gdb.py
   501 %attr(644,root,root) %{_libdir}/pkgconfig/*
   529 %attr(644,root,root) %{_libdir}/pkgconfig/*
   502 %{_includedir}/xulrunner-%{version_internal}/
   530 %{_includedir}/xulrunner-%{version_internal}/
   503 %{_datadir}/xulrunner-%{version_internal}/
   531 %{_datadir}/xulrunner-%{version_internal}/
   504 
   532 
   505 %if %localize
   533 %if %localize
   506 
       
   507 %files translations-common -f %{_tmppath}/translations.common
   534 %files translations-common -f %{_tmppath}/translations.common
   508 %defattr(-,root,root)
   535 %defattr(-,root,root)
   509 %dir %{_libdir}/xulrunner-%{version_internal}/
   536 %dir %{_libdir}/xulrunner-%{version_internal}/
   510 %dir %{_libdir}/xulrunner-%{version_internal}/chrome/
   537 %dir %{_libdir}/xulrunner-%{version_internal}/chrome/
   511 
   538 
   514 %dir %{_libdir}/xulrunner-%{version_internal}/
   541 %dir %{_libdir}/xulrunner-%{version_internal}/
   515 %dir %{_libdir}/xulrunner-%{version_internal}/chrome/
   542 %dir %{_libdir}/xulrunner-%{version_internal}/chrome/
   516 %endif
   543 %endif
   517 
   544 
   518 %if %crashreporter
   545 %if %crashreporter
   519 
       
   520 %files buildsymbols
   546 %files buildsymbols
   521 %defattr(-,root,root)
   547 %defattr(-,root,root)
   522 %{_datadir}/mozilla/
   548 %{_datadir}/mozilla/
   523 %endif
   549 %endif
   524 
   550