RPM + tito + copr support

This commit is contained in:
Marvin W 2017-03-23 21:44:27 +01:00
parent b63e5f5f9f
commit f4334732da
No known key found for this signature in database
GPG Key ID: 072E9235DB996F2A
5 changed files with 129 additions and 5 deletions

3
.tito/packages/.readme Normal file
View File

@ -0,0 +1,3 @@
the .tito/packages directory contains metadata files
named after their packages. Each file has the latest tagged
version and the project's relative directory.

5
.tito/tito.props Normal file
View File

@ -0,0 +1,5 @@
[buildconfig]
builder = tito.builder.Builder
tagger = tito.tagger.VersionTagger
changelog_do_not_remove_cherrypick = 0
changelog_format = %s (%ae)

View File

@ -67,8 +67,8 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
find_package(Vala 0.30 REQUIRED)
if(VALA_VERSION VERSION_EQUAL "0.36.0")
# Due to a bug on 0.36.0, we need to disable FAST_VAPI
if(VALA_VERSION VERSION_GREATER "0.34.90" AND VALA_VERSION VERSION_LESS "0.36.1")
# Due to a bug on 0.36.0 (and pre-releases), we need to disable FAST_VAPI
set(DISABLE_FAST_VAPI yes)
endif()

7
configure vendored
View File

@ -59,7 +59,7 @@ done
if [ -d ".git" ]; then
git submodule update --init 2>/dev/null
elif [ -x $(which git) ]; then
else
tmp=0
for i in $(cat .gitmodules | grep -n submodule | awk -F ':' '{print $1}') $(wc -l .gitmodules | awk '{print $1}'); do
if ! [ $tmp -eq 0 ]; then
@ -70,7 +70,8 @@ elif [ -x $(which git) ]; then
branch=$(echo "$def" | grep '^branch=' | awk -F '=' '{print $2}')
if ! ls "$path"/* >/dev/null 2>/dev/null; then
if ! [ -x $(which git) ]; then
git=$(which git)
if ! [ $? -eq 0 ] || ! [ -x $git ]; then
echo "Failed retrieving missing files"
exit 5
fi
@ -150,7 +151,7 @@ mkdir -p build
cd build
echo "$cmake_type" > .cmake_type
cmake -G "$cmake_type" -DCMAKE_INSTALL_PREFIX="$PREFIX" -DENABLED_PLUGINS="$ENABLED_PLUGINS" -DDISABLED_PLUGINS="$DISABLED_PLUGINS" -DVALA_EXECUTABLE="$VALA_EXECUTABLE" -DCMAKE_VALA_FLAGS="$VALAC_FLAGS" -DDISABLE_FAST_VAPI="$DISABLE_FAST_VAPI" -DLIB_SUFFIX="$LIB_SUFFIX" -DNO_DEBUG="$NO_DEBUG" ..
cmake -G "$cmake_type" -DCMAKE_INSTALL_PREFIX="$PREFIX" -DENABLED_PLUGINS="$ENABLED_PLUGINS" -DDISABLED_PLUGINS="$DISABLED_PLUGINS" -DVALA_EXECUTABLE="$VALA_EXECUTABLE" -DCMAKE_VALA_FLAGS="$VALAC_FLAGS" -DDISABLE_FAST_VAPI="$DISABLE_FAST_VAPI" -DLIB_SUFFIX="$LIB_SUFFIX" -DNO_DEBUG="$NO_DEBUG" .. || exit 9
if [ "$cmake_type" == "Ninja" ]
then

115
dino.spec Normal file
View File

@ -0,0 +1,115 @@
# To build current git tree into RPM using tito:
# - Run `tito build --rpm --test`
# To build latest tagged release from git into RPM using tito:
# - Run `tito build --rpm`
# To build older tagged release from git into RPM using tito:
# - Run `tito build --rpm --tag=vVERSION`
# To build a tagged release from git into RPM using rpmbuild:
# - Put version number into Version
# - Run `spectool -g -R dino.spec`
# - Run `rpmbuild -bb dino.spec`
# To build a specific git commit into RPM using rpmbuild:
# - Put commit id into COMMIT_ID_HERE
# - Use second (currently commented) line for Release, Source0 and %setup
# - Run `spectool -g -R dino.spec`
# - Run `rpmbuild -bb dino.spec`
%global commit COMMIT_ID_HERE
%global shortcommit %(c=%{commit}; echo ${c:0:7})
Name: dino
Version: 0
Release: 0%{?dist}
#Release: 0.git.%{shortcommit}%{?dist}
Summary: Modern Jabber/XMPP Client using GTK+/Vala
License: GPLv3
URL: https://github.com/dino/dino
Source0: https://github.com/dino/dino/archive/v%{version}.zip
#Source0: https://github.com/dino/dino/archive/%{commit}.zip
BuildRequires: vala >= 0.30
BuildRequires: vala-tools >= 0.30
BuildRequires: cmake
BuildRequires: git
BuildRequires: ninja-build
BuildRequires: desktop-file-utils
BuildRequires: pkgconfig(gthread-2.0)
BuildRequires: pkgconfig(glib-2.0) >= 2.38
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gtk+-3.0) >= 3.22
BuildRequires: pkgconfig(gee-0.8) >= 0.10
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(openssl)
BuildRequires: gpgme-devel
Requires: hicolor-icon-theme
%description
Dino is an instant messaging client for the Jabber/XMPP network,
providing a unique and modern user experience based on the latest
technology from the GNOME project. Dino is still in early
development and has limited features, but already has basic support
for XMPP's latest encryption features. Future versions will provide
a plug-in API, so that developers can easily add new optional
features.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing plugins for %{name}.
%prep
%setup -n "dino-v%{version}"
#%setup -n "dino-%{commit}"
%build
./configure --prefix="%{buildroot}%{_prefix}" --valac="%{_bindir}/valac%{?vala_version_suffix}" --lib-suffix="%{_lib}"
make
%install
make install
desktop-file-validate %{buildroot}%{_datadir}/applications/dino.desktop
%post
update-desktop-database &>/dev/null || :
touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
%postun
update-desktop-database &> /dev/null || :
if [ $1 -eq 0 ] ; then
touch --no-create %{_datadir}/icons/hicolor &>/dev/null
gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor &>/dev/null || :
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
fi
%posttrans
gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor &>/dev/null || :
glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
%files
%license LICENSE
%doc README.md
%{_bindir}/dino
%{_libdir}/libdino.so
%{_libdir}/libqlite.so
%{_libdir}/libxmpp-vala.so
%{_datadir}/dino
%{_datadir}/applications/dino.desktop
%{_datadir}/glib-2.0/schemas/dino.gschema.xml
%{_datadir}/icons/hicolor/*/apps/dino.*
%{_datadir}/icons/hicolor/*/apps/dino-*
%{_datadir}/icons/hicolor/*/status/dino-*
%files devel
%{_includedir}/*
%{_datadir}/vala/vapi
%changelog
* Fri Mar 24 2017 - 0.0
- Initial version