forked from pool/boinc-client
Accepting request 391382 from home:aaronpuchert
Second try for an update. The compiler errors have now been properly fixed. The main advantage of the new version is that it recognizes GPUs running on Mesa, so people can now use open source drivers with BOINC. The main disadvantage is that this doesn't compile any longer on older distros because of the new wxWidgets 3 needed to build. OBS-URL: https://build.opensuse.org/request/show/391382 OBS-URL: https://build.opensuse.org/package/show/network/boinc-client?expand=0&rev=47
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
#
|
||||
# spec file for package boinc-client
|
||||
#
|
||||
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||
# Copyright (c) 2016 by Aaron Puchert <aaronpuchert@alice-dsl.net>
|
||||
# Copyright (c) 2011 by Sascha Manns <saigkill@opensuse.org>
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
@@ -19,40 +20,22 @@
|
||||
|
||||
# Global definitions
|
||||
%define _use_internal_dependency_generator 0
|
||||
%define __find_requires %{wx_requires}
|
||||
%define soname 7
|
||||
%define boinc_dir %{_localstatedir}/lib/boinc
|
||||
Name: boinc-client
|
||||
Version: 7.2.42
|
||||
Version: 7.6.22
|
||||
Release: 0
|
||||
Summary: The BOINC client
|
||||
License: GPL-3.0+ or LGPL-3.0+
|
||||
Group: Productivity/Clustering/Computing
|
||||
Url: http://boinc.berkeley.edu/
|
||||
# There is no real tarball, hence I did
|
||||
#
|
||||
# git clone git://boinc.berkeley.edu/boinc.git
|
||||
# git checkout master
|
||||
# git checkout -t client_release/7.2/7.2.42
|
||||
#
|
||||
# then I created an archive via git
|
||||
#
|
||||
# git archive -v --format=tar --prefix=boinc-7.2.42/ \
|
||||
# client_release/7.2/7.2.42 | bzip2 >../boinc-7.2.42.tar.bz2
|
||||
Source0: boinc-%{version}.tar.bz2
|
||||
Source0: %{name}_release-7.6-%{version}.tar.gz
|
||||
Source1: boinc-icons.tar.bz2
|
||||
Source2: boinc-gui.desktop
|
||||
Source3: README.SUSE
|
||||
Source4: sysconfig.%{name}
|
||||
Source5: boinc-logrotate
|
||||
Source6: boinc-manager
|
||||
# The source for this package was pulled from upstream's vcs. Use the
|
||||
# following commands to generate the tarball:
|
||||
#
|
||||
# ./generate-tarball.sh boinc_core_release_VERSION
|
||||
#
|
||||
# Trim all binaries and other unnecessary things.
|
||||
Source8: generate-tarball.sh
|
||||
Source20: %{name}.service
|
||||
Source100: %{name}-rpmlintrc
|
||||
# PATCH-FIX-OPENSUSE boinc-guirpcauth.patch
|
||||
@@ -61,8 +44,6 @@ Source100: %{name}-rpmlintrc
|
||||
# This won't be probably upstreamed as it might be unsafe for common usage
|
||||
# without setting proper group ownership of the password file.
|
||||
Patch0: boinc-guirpcauth.patch
|
||||
# PATCH-FIX-OPENSUSE boinc-LC_MESSAGES.patch
|
||||
Patch2: boinc-LC_MESSAGES.patch
|
||||
# PATCH-FIX-OPENSUSE boinc-docbook2x.patch
|
||||
Patch4: boinc-docbook2x.patch
|
||||
# PATCH-FIX-OPENSUSE coolo - #error: am__fastdepOBJCXX does not appear in AM_CONDITIONAL
|
||||
@@ -71,6 +52,15 @@ Patch7: %{name}-AM_CONDITIONAL.patch
|
||||
# configure.ac:898: required file `test/version.inc.in' not found
|
||||
# configure.ac:898: required file `py/Boinc/version.py.in' not found
|
||||
Patch8: boinc-configure.patch
|
||||
# PATCH-FIX-UPSTREAM boinc-remove-dead-code.patch
|
||||
# This is a cherry-pick of commit 1c4f391 and removes dead code that wouldn't
|
||||
# compile on openSUSE
|
||||
Patch9: boinc-remove-dead-code.patch
|
||||
# PATCH-FIX-UPSTREAM boinc-use-wxstring.patch
|
||||
# This is a squashed cherry-pick of the commits 9604566, b7cc65a and 8c11cad.
|
||||
# This solves the remaining compiler errors on openSUSE by replacing naked
|
||||
# char* and wxChar* by wxStrings.
|
||||
Patch10: boinc-use-wxstring.patch
|
||||
BuildRequires: Mesa-devel
|
||||
BuildRequires: docbook2x
|
||||
BuildRequires: docbook_4
|
||||
@@ -84,21 +74,14 @@ BuildRequires: libjpeg-devel
|
||||
BuildRequires: libnotify-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: libxslt
|
||||
BuildRequires: mysql-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pkg-config
|
||||
BuildRequires: pwdutils
|
||||
BuildRequires: python-mysql
|
||||
BuildRequires: sqlite3-devel
|
||||
BuildRequires: systemd
|
||||
BuildRequires: update-desktop-files
|
||||
BuildRequires: wxWidgets-devel >= 2.8.0
|
||||
BuildRequires: wxWidgets-3_0-devel >= 3.0.2
|
||||
BuildRequires: xorg-x11-libXmu-devel
|
||||
### FIXME:
|
||||
## updating boinc-client or boinc-manager does not update libboinc6
|
||||
## hence we define this dependency
|
||||
## !! Do not remove this dependency !!
|
||||
Requires: libboinc%{soname} = %{version}-%{release}
|
||||
Recommends: boinc-client-lang = %{version}
|
||||
Recommends: logrotate
|
||||
Requires(pre): pwdutils
|
||||
@@ -146,7 +129,6 @@ in which all information and all control elements are available.
|
||||
Summary: Development files for boinc-client
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Requires: mysql-devel
|
||||
Requires: openssl-devel
|
||||
|
||||
%description devel
|
||||
@@ -172,30 +154,19 @@ BuildArch: noarch
|
||||
This package contains documentation files for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q -n boinc-%{version} -D -a 1
|
||||
%setup -q -n %{name}_release-7.6-%{version} -D -a 1
|
||||
%patch0
|
||||
%patch2
|
||||
%patch4
|
||||
%patch7
|
||||
%patch8
|
||||
%patch9 -p1
|
||||
%patch10 -p1
|
||||
|
||||
# Install user hints
|
||||
install -m0644 %{SOURCE3} README.SUSE
|
||||
|
||||
# Fix lang directories (refer patch2)
|
||||
mv locale/pt_PT locale/pt
|
||||
mv locale/sv_SE locale/sv
|
||||
|
||||
# fix warning: deprecated conversion from string constant to 'char*'
|
||||
pushd clientgui/common/
|
||||
sed -i 's/static char/static const char/g' wxFlatNotebookImages.h
|
||||
popd
|
||||
pushd clientgui/res/
|
||||
sed -i 's/static char/static const char/g' *.xpm
|
||||
popd
|
||||
pushd clientgui/res/skins/default/graphic/
|
||||
sed -i 's/static char/static const char/g' *.xpm
|
||||
popd
|
||||
|
||||
# fix utf8
|
||||
iconv -f ISO88591 -t UTF8 < checkin_notes_2005 > checkin_notes_2005.utf8
|
||||
@@ -214,13 +185,10 @@ mv checkin_notes_2010.utf8 checkin_notes_2010
|
||||
chmod 644 clientgui/{DlgItemProperties.h,AsyncRPC.cpp,DlgItemProperties.cpp}
|
||||
sed -i 's/\r//' clientgui/DlgItemProperties.cpp
|
||||
|
||||
### bnc#745656
|
||||
## remove files with questionable licenses
|
||||
# removing NVIDIA owned file that does not clearly allow redistribution or
|
||||
# modification
|
||||
rm coprocs/NVIDIA/include/nvapi.h
|
||||
# removing unnecessary APSL licensed files
|
||||
rm client/app_stats_mac.cpp
|
||||
|
||||
%build
|
||||
#remove run libtoolize and ./_autosetup
|
||||
@@ -228,6 +196,8 @@ rm client/app_stats_mac.cpp
|
||||
./_autosetup
|
||||
|
||||
%configure \
|
||||
--enable-optimize \
|
||||
--enable-shared \
|
||||
--disable-static \
|
||||
--enable-dynamic-client-linkage \
|
||||
--disable-server \
|
||||
@@ -247,22 +217,6 @@ make libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \
|
||||
CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT" \
|
||||
DESTDIR=%{_prefix} %{?_smp_mflags}
|
||||
|
||||
### hmm, boincmgr is not build by default (but stated in configure)
|
||||
# BOINC Default enable values
|
||||
# --enable-server --enable-client --enable-libraries
|
||||
# --enable-manager: builds server, client, and libraries
|
||||
#
|
||||
# hence we jump into clientgui and build it manually
|
||||
pushd clientgui
|
||||
make libboinc_la_LIBADD="-L%{_libdir} -lssl -ldl" \
|
||||
CFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \
|
||||
CXXFLAGS="%{optflags} -g -W -pipe -fno-strict-aliasing -D_REENTRANT -lgtk-x11-2.0" \
|
||||
DESTDIR=%{_prefix} %{?_smp_mflags}
|
||||
popd
|
||||
pushd locale
|
||||
make %{?_smp_mflags}
|
||||
popd
|
||||
|
||||
%install
|
||||
make DESTDIR=%{buildroot} install %{?_smp_mflags}
|
||||
for i in clientgui locale; do
|
||||
@@ -322,11 +276,6 @@ install -Dm0644 boinc-gui-32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/app
|
||||
install -Dm0644 boinc-gui-22.png %{buildroot}%{_datadir}/icons/hicolor/22x22/apps/boinc-gui.png
|
||||
install -Dm0644 boinc-gui-16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boinc-gui.png
|
||||
|
||||
# install icons
|
||||
install -m0644 clientgui/res/boincmgr.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/boincmanager.png
|
||||
install -m0644 clientgui/res/boincmgr.32x32.png %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/boincmanager.png
|
||||
install -m0644 clientgui/res/boincmgr.48x48.png %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/boincmanager.png
|
||||
|
||||
# Install *.desktop File
|
||||
%suse_update_desktop_file -i boinc-gui Utility
|
||||
|
||||
|
Reference in New Issue
Block a user