summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB Stack <bgstack15@gmail.com>2019-02-14 17:21:18 -0500
committerB Stack <bgstack15@gmail.com>2019-02-14 17:21:18 -0500
commitf4c85cb8a7847f3a9b4580c35d1ccb5bccc44dfa (patch)
tree429db3c962d86db55968fc93f3f20e2860f1c373
parentpalemoon spec use _libdir for prefs.js (diff)
downloadstackrpms-f4c85cb8a7847f3a9b4580c35d1ccb5bccc44dfa.tar.gz
stackrpms-f4c85cb8a7847f3a9b4580c35d1ccb5bccc44dfa.tar.bz2
stackrpms-f4c85cb8a7847f3a9b4580c35d1ccb5bccc44dfa.zip
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.
-rw-r--r--palemoon/palemoon-stackrpms.spec280
-rw-r--r--palemoon/palemoon.spec19
2 files changed, 295 insertions, 4 deletions
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 <bgstack15@gmail.com>
+
+%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 <<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Adapted from content by Richard Hughes <richard-at-hughsie-dot-com> -->
+<application>
+ <id type="desktop">%{pkgname}.desktop</id>
+ <metadata_license>CC0-1.0</metadata_license>
+ <description>
+ <p>
+ 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.
+ </p>
+ </description>
+ <url type="homepage">http://www.palemoon.org/</url>
+ <screenshots>
+ <screenshot type="default">http://www.palemoon.org/images/screenshots/Win10-start-portal.png</screenshot>
+ </screenshots>
+ <!-- FIXME: change this to an upstream email address for spec updates
+ <updatecontact>someone_who_cares@upstream_project.org</updatecontact>
+ -->
+</application>
+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 <bgstack15@gmail.com> 28.3.1-1
+- update version
+
+* Tue Jan 15 2019 B Stack <bgstack15@gmail.com> 28.3.0-1
+- update version
+
+* Mon Dec 10 2018 B Stack <bgstack15@gmail.com> 28.2.2-1
+- update version
+
+* Thu Sep 20 2018 B Stack <bgstack15@gmail.com> 28.1.0-1
+- update version
+
+* Thu Sep 13 2018 B Stack <bgstack15@gmail.com> 28.0.1-1
+- update version
+
+* Wed Sep 05 2018 B Stack <bgstack15@gmail.com> 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
bgstack15