From f4c85cb8a7847f3a9b4580c35d1ccb5bccc44dfa Mon Sep 17 00:00:00 2001 From: B Stack Date: Thu, 14 Feb 2019 17:21:18 -0500 Subject: split palemoon spec into normal and custom The actual spec files are the same except the stackrpms_custom variable. The logic is the same in each one for consistency. If stackrpms_custom is set, it will add my custom patches and prefs.js file. Otherwise, build the officially-endorsed build for Fedora. --- palemoon/palemoon-stackrpms.spec | 280 +++++++++++++++++++++++++++++++++++++++ palemoon/palemoon.spec | 19 ++- 2 files changed, 295 insertions(+), 4 deletions(-) create mode 100644 palemoon/palemoon-stackrpms.spec diff --git a/palemoon/palemoon-stackrpms.spec b/palemoon/palemoon-stackrpms.spec new file mode 100644 index 0000000..2493c1b --- /dev/null +++ b/palemoon/palemoon-stackrpms.spec @@ -0,0 +1,280 @@ +%global tarballdir UXP-PM%{version}_Release +%global dummy_package 0 +%global pkgname palemoon +%global prettyname Pale Moon Web Browser +%global stackrpms_custom 1 + +# additional repos to get python27 and devtoolset-7 +# for el6 and el7: Software Collection;, for x86_64 only +# http://mirror.centos.org/centos/6/sclo/x86_64/rh/ +# http://mirror.centos.org/centos/6/sclo/x86_64/sclo/ +# for el6.i386: +# https://copr-be.cloud.fedoraproject.org/results/ewdurbin/pythons-el6/epel-6-$basearch/ +# https://copr-be.cloud.fedoraproject.org/results/mlampe/devtoolset-7/epel-6-$basearch/ +%define scl_env %{nil} +%define scl_buildreq coreutils +%if 0%{?el6} + %define scl_buildreq python27, devtoolset-7-toolchain + %ifarch x86_64 + %define scl_env python27 devtoolset-7 + %endif + %ifarch i386 || i686 || i586 + %define scl_env devtoolset-7 + %endif +%endif +%if 0%{?el7} + %define scl_env devtoolset-7 + %define scl_buildreq devtoolset-7-toolchain +%endif + +%if 0%{stackrpms_custom} +Name: palemoon-stackrpms +Summary: Pale Moon web browser with stackrpm customization +%else +Name: palemoon +Summary: Pale Moon web browser +%endif +Version: 28.3.1 +Release: 2 + +Group: Networking/Web +License: MPLv2.0 +URL: http://linux.palemoon.org/ +Source0: https://github.com/MoonchildProductions/UXP/archive/PM%{version}_Release.tar.gz +Source1: palemoon-mozconfig +Source2: palemoon.desktop +Source3: palemoon-mimeinfo.xml +%if 0%{stackrpms_custom} +Source4: bgstack15-prefs.js +Patch0: small-icons.patch +%endif +Packager: Bgstack15 + +%if "%{?scl_env}" != "" +BuildRequires: %{scl_buildreq} +%endif +BuildRequires: alsa-lib-devel +BuildRequires: autoconf213 +BuildRequires: bzip2-devel +BuildRequires: dbus-glib-devel +BuildRequires: desktop-file-utils +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: GConf2-devel +BuildRequires: glib2-devel +BuildRequires: gtk2-devel +BuildRequires: libXt-devel +BuildRequires: mesa-libGL-devel +BuildRequires: notification-daemon +BuildRequires: openssl-devel +BuildRequires: pkgconfig +BuildRequires: pkgconfig(gtk+-2.0) +BuildRequires: pulseaudio-libs-devel +BuildRequires: sqlite-devel +BuildRequires: unzip +BuildRequires: yasm +BuildRequires: zip +BuildRequires: zlib-devel +BuildRoot: %{_tmppath}/%{name}-%{version} +Provides: mimehandler(application/x-xpinstall) +Provides: palemoon +Provides: webclient +%if 0%{stackrpms_custom} +Conflicts: palemoon +%else +Conflicts: palemoon-stackrpms +%endif + +%description +Pale Moon offers you a browsing experience in a browser completely built +from its own, independently developed source that has been forked off from +Firefox/Mozilla code, with carefully selected features and optimizations to +improve the browser's speed*, resource use, stability and user experience, +while offering full customization and a growing collection of extensions +and themes to make the browser truly your own. + +%global debug_package %{nil} +%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g') + +%prep +%setup -q -n %{tarballdir} +%{__cp} %{SOURCE1} ./.mozconfig + +%if 0%{stackrpms_custom} +%patch0 -p1 +%endif + +%build +%if "%{?scl_env}" != "" + thispwd=$( pwd ) + scl enable %{scl_env} /bin/bash << EOF + pushd $thispwd +%endif +%if !%{dummy_package} + ./mach build +%endif +%if "%{?scl_env}" != "" + popd || : +EOF +%endif + +%install +rm -rf %{buildroot} + +%if "%{?scl_env}" != "" + thispwd=$( pwd ) + scl enable %{scl_env} /bin/bash << EOF + pushd $thispwd +%endif +%if !%{dummy_package} + make -f client.mk \ + DESTDIR=%{buildroot} \ + idldir=%{_datadir}/idl/%{name} \ + includedir=%{_includedir}/%{name} \ + installdir=%{_libdir}/%{name} \ + sdkdir=%{_libdir}/%{name}-devel \ + install +%endif +%if "%{?scl_env}" != "" + popd || : +EOF +%endif + +# cleanup +%{__rm} -rf %{buildroot}%{_datadir}/idl/%{pkgname} \ + %{buildroot}%{_includedir}/%{pkgname} \ + %{buildroot}%{_libdir}/%{pkgname}-devel + +# desktop files +%{__mkdir_p} %{buildroot}%{_datadir}/applications +desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE2} + +%{__sed} -i -r -e "s/@NAME@/%{prettyname}/;" \ + -e "s/@EXEC@/%{pkgname}/;" \ + -e "s/@ICON@/%{pkgname}/;" \ + %{buildroot}%{_datadir}/applications/%{pkgname}.desktop + +# application start script +# none + +# man pages +# none + +# mimetypes +%{__install} -Dm0644 %{SOURCE3} \ + %{buildroot}%{_datadir}/mime/packages/%{pkgname}.xml + +# icons +%{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/symbolic/apps +for s in 16 22 24 32 48 256 ; +do + %{__mkdir_p} %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps + %{__cp} -p application/%{pkgname}/branding/official/default${s}.png \ + %{buildroot}%{_datadir}/icons/hicolor/${s}x${s}/apps/%{pkgname}.png +done + +# Register as an application to be visible in the software center +# EXPERIMENTAL +mkdir -p %{buildroot}%{_datadir}/appdata +cat > %{buildroot}%{_datadir}/appdata/%{pkgname}.appdata.xml < + + + %{pkgname}.desktop + CC0-1.0 + +

+ Pale Moon offers you a browsing experience in a browser completely built from its own, independently developed source that has been forked off from Firefox/Mozilla code a number of years ago, with carefully selected features and optimizations to improve the browser stability and user experience, while offering full customization and a growing collection of extensions and themes to make the browser truly your own. +

+
+ http://www.palemoon.org/ + + http://www.palemoon.org/images/screenshots/Win10-start-portal.png + + +
+EOF + +# Add distribution.ini +# skipped + +# filelist lifted straight from https://build.opensuse.org/package/view_file/network/palemoon/palemoon.spec?expand=1 +# get a list of files +# $2 - dirlist +# $3 - dir of fileslist +# $4 - excludelist +filelist() { + filelist=$PWD/$1 + pushd %{buildroot} + find ./ | while read list; do + if [ -n "$4" ]; then + ! echo $list | grep "$4" || continue + fi + _file=$(echo $list | sed 's/[^/]//') + _dir=$(dirname $_file) + if echo $_dir | grep "$2"; then + grep -xqs "\%dir\ $_dir" $filelist || echo "%dir $_dir" >> $filelist + fi + if echo $_file | grep "$3"; then + [ -d "$list" ] || echo $_file >> $filelist + fi + done + popd +} + +%if 0%{stackrpms_custom} +%{__install} -d %{buildroot}%{_libdir}/%{pkgname}/browser/defaults/preferences/ +%{__install} -Dm0644 %{SOURCE4} \ + %{buildroot}%{_libdir}/%{pkgname}/browser/defaults/preferences/ +%endif + +filelist file.lst %{pkgname} usr langpack + +%clean +%{__rm} -rf %{buildroot} || : + +%post +touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : +update-desktop-database &> /dev/null || : + +%preun +# is it a final removal? +#if test "$1" = "0" ; +#then +#fi + +%postun +update-desktop-database &> /dev/null || : +if test "$1" = "0" ; +then + touch --no-create %{_datadir}/icons/hicolor &>/dev/null + gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : +fi + +%posttrans +gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : + +%files -f file.lst +%defattr(-,root,root) +%doc AUTHORS LICENSE + +%changelog +* Wed Jan 23 2019 B Stack 28.3.1-1 +- update version + +* Tue Jan 15 2019 B Stack 28.3.0-1 +- update version + +* Mon Dec 10 2018 B Stack 28.2.2-1 +- update version + +* Thu Sep 20 2018 B Stack 28.1.0-1 +- update version + +* Thu Sep 13 2018 B Stack 28.0.1-1 +- update version + +* Wed Sep 05 2018 B Stack 28.0.0-1 +- rpm spec updated diff --git a/palemoon/palemoon.spec b/palemoon/palemoon.spec index 46ce8c1..52040d1 100644 --- a/palemoon/palemoon.spec +++ b/palemoon/palemoon.spec @@ -2,7 +2,7 @@ %global dummy_package 0 %global pkgname palemoon %global prettyname Pale Moon Web Browser -%global stackrpms_custom 1 +%global stackrpms_custom 0 # additional repos to get python27 and devtoolset-7 # for el6 and el7: Software Collection;, for x86_64 only @@ -27,10 +27,15 @@ %define scl_buildreq devtoolset-7-toolchain %endif -Name: palemoon -Version: 28.3.1 -Release: 1 +%if 0%{stackrpms_custom} +Name: palemoon-stackrpms +Summary: Pale Moon web browser with stackrpm customization +%else +Name: palemoon Summary: Pale Moon web browser +%endif +Version: 28.3.1 +Release: 2 Group: Networking/Web License: MPLv2.0 @@ -72,7 +77,13 @@ BuildRequires: zip BuildRequires: zlib-devel BuildRoot: %{_tmppath}/%{name}-%{version} Provides: mimehandler(application/x-xpinstall) +Provides: palemoon Provides: webclient +%if 0%{stackrpms_custom} +Conflicts: palemoon +%else +Conflicts: palemoon-stackrpms +%endif %description Pale Moon offers you a browsing experience in a browser completely built -- cgit