Add debian package

This commit is contained in:
Jonas Kvinge 2018-07-12 17:10:38 +02:00
parent 56f47909f4
commit 70db0a33d1
7 changed files with 143 additions and 4 deletions

View File

@ -98,6 +98,7 @@ endif()
if(X11_FOUND)
set(HAVE_X11 ON)
endif()
find_package(OpenGL REQUIRED)
pkg_check_modules(GSTREAMER gstreamer-1.0)
pkg_check_modules(GSTREAMER_BASE gstreamer-base-1.0)
pkg_check_modules(GSTREAMER_AUDIO gstreamer-audio-1.0)
@ -107,7 +108,6 @@ pkg_check_modules(LIBXINE libxine)
pkg_check_modules(LIBVLC libvlc)
pkg_check_modules(PHONON phonon4qt5)
pkg_check_modules(SQLITE REQUIRED sqlite3>=3.7)
find_package(OpenGL REQUIRED)
pkg_check_modules(CHROMAPRINT REQUIRED libchromaprint)
pkg_check_modules(LIBPULSE libpulse)
pkg_check_modules(LIBGPOD libgpod-1.0>=0.7.92)

View File

@ -22,7 +22,8 @@ if(STRAWBERRY_VERSION_PRERELEASE)
set(STRAWBERRY_VERSION_PACKAGE "${STRAWBERRY_VERSION_PACKAGE}${STRAWBERRY_VERSION_PRERELEASE}")
endif(STRAWBERRY_VERSION_PRERELEASE)
if(INCLUDE_GIT_REVISION)
if(INCLUDE_GIT_REVISION AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
find_program(GIT_EXECUTABLE git)
if(GIT_EXECUTABLE-NOTFOUND)
@ -48,6 +49,14 @@ if(INCLUDE_GIT_REVISION)
ERROR_QUIET
)
endif()
if(FORCE_GIT_REVISION)
set(GIT_REVISION ${FORCE_GIT_REVISION})
endif()
if(GIT_REVISION)
if(NOT ${GIT_CMD_RESULT_REVISION} EQUAL 0)
message(FATAL_ERROR "GIT command failed to get revision string '${GIT_REVISION}'")
endif()

5
dist/CMakeLists.txt vendored
View File

@ -1,9 +1,10 @@
set(ENV{LC_ALL} "en_US.utf8")
execute_process(COMMAND date "+%a %b %d %Y" OUTPUT_VARIABLE RPM_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND env LC_ALL="en_US.utf8" date "+%a %b %d %Y" OUTPUT_VARIABLE RPM_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND env LC_ALL=C date "+%a, %-d %b %Y %H:%M:%S %z" OUTPUT_VARIABLE DEB_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/maketarball.sh.in ${CMAKE_CURRENT_SOURCE_DIR}/scripts/maketarball.sh @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/opensuse/strawberry.spec.in ${CMAKE_CURRENT_SOURCE_DIR}/opensuse/strawberry.spec @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/fedora/strawberry.spec.in ${CMAKE_CURRENT_SOURCE_DIR}/fedora/strawberry.spec @ONLY)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/debian/changelog.in ${CMAKE_CURRENT_SOURCE_DIR}/debian/changelog)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/macos/Info.plist.in ${CMAKE_CURRENT_SOURCE_DIR}/macos/Info.plist)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/windows/strawberry.nsi.in ${CMAKE_CURRENT_SOURCE_DIR}/windows/strawberry.nsi @ONLY)

5
dist/debian/changelog.in vendored Normal file
View File

@ -0,0 +1,5 @@
strawberry (${STRAWBERRY_VERSION_DISPLAY}) unstable; urgency=low
* Version ${STRAWBERRY_VERSION_DISPLAY}
-- Jonas Kvinge <jonas@jkvinge.net> ${DEB_DATE}

1
dist/debian/compat vendored Normal file
View File

@ -0,0 +1 @@
9

62
dist/debian/control vendored Normal file
View File

@ -0,0 +1,62 @@
Source: strawberry
Section: sound
Priority: optional
Maintainer: "Jonas Kvinge" <jonas@jkvinge.net>
Build-Depends: debhelper (>= 7),
make,
cmake,
gcc,
protobuf-compiler,
libprotobuf-dev,
libboost-dev,
libdbus-1-dev,
libsqlite3-dev,
libasound2-dev,
libpulse-dev,
libtag1-dev,
libqt5-dev,
qtbase5-dev,
qtbase5-dev-tools,
qtbase5-private-dev,
qt5-dev-tools,
libqt5opengl5-dev,
libqt5x11extras5-dev,
libgstreamer1.0-dev,
libgstreamer-plugins-base1.0-dev,
libxine2-dev,
libvlc-dev,
libphonon4qt5-dev,
libcdio-cdda1,
libgpod-dev,
libimobiledevice-dev,
libmtp-dev,
libplist-dev,
libusbmuxd-dev,
libchromaprint-dev,
liblastfm5-dev
Standards-Version: 3.9.8
Package: strawberry
Architecture: any
Depends: ${shlibs:Depends},
${misc:Depends},
libsqlite3-0,
gstreamer1.0-plugins-base,
gstreamer1.0-plugins-good,
gstreamer1.0-alsa,
gstreamer1.0-pulseaudio
Homepage: http://www.strawbs.org/
Description: Audio player and music collection organizer
Strawberry is a audio player especially aimed at audiophiles.
.
Features:
- Play and organize music
- Native desktop notifications
- Playlists in multiple formats
- Edit tags on music files
- Fetch tags from MusicBrainz
- Album cover art from Lastfm, Musicbrainz, Discogs and Amazon
- Transfer music to iPod, iPhone, MTP or mass-storage USB player
- Support for multiple backends
.
It is a fork of Clementine. The name is inspired by the band Strawbs.

61
dist/debian/rules vendored Executable file
View File

@ -0,0 +1,61 @@
#!/usr/bin/make -f
# -*- makefile -*-
MY_MAKEFLAGS=
ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
NUMJOBS=$(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
MY_MAKEFLAGS=-j$(NUMJOBS)
endif
configure: configure-stamp
configure-stamp:
dh_testdir
cmake .. \
-DCMAKE_INSTALL_PREFIX=$(CURDIR)/debian/strawberry/usr
touch configure-stamp
build: build-stamp
build-stamp: configure-stamp
dh_testdir
make $(MY_MAKEFLAGS)
touch $@
clean:
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
-make clean
-rm Makefile src/Makefile
dh_clean
install: build
dh_testdir
dh_testroot
dh_prep
dh_installdirs
make install
binary-indep: install
binary-arch: install
dh_testdir
dh_testroot
dh_installchangelogs
dh_installmenu
dh_installdocs
dh_gconf
dh_link
dh_strip
dh_compress
dh_fixperms
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure