diff --git a/CMakeLists.txt b/CMakeLists.txt index d46ba8993..ea5eab5c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -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) diff --git a/cmake/Version.cmake b/cmake/Version.cmake index 72c42842b..c426fc15f 100644 --- a/cmake/Version.cmake +++ b/cmake/Version.cmake @@ -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() diff --git a/dist/CMakeLists.txt b/dist/CMakeLists.txt index a8c7e7e3e..2720eb13c 100644 --- a/dist/CMakeLists.txt +++ b/dist/CMakeLists.txt @@ -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) diff --git a/dist/debian/changelog.in b/dist/debian/changelog.in new file mode 100644 index 000000000..fcb12a535 --- /dev/null +++ b/dist/debian/changelog.in @@ -0,0 +1,5 @@ +strawberry (${STRAWBERRY_VERSION_DISPLAY}) unstable; urgency=low + + * Version ${STRAWBERRY_VERSION_DISPLAY} + + -- Jonas Kvinge ${DEB_DATE} diff --git a/dist/debian/compat b/dist/debian/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/dist/debian/compat @@ -0,0 +1 @@ +9 diff --git a/dist/debian/control b/dist/debian/control new file mode 100644 index 000000000..1a2116c78 --- /dev/null +++ b/dist/debian/control @@ -0,0 +1,62 @@ +Source: strawberry +Section: sound +Priority: optional +Maintainer: "Jonas Kvinge" +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. diff --git a/dist/debian/rules b/dist/debian/rules new file mode 100755 index 000000000..92826964c --- /dev/null +++ b/dist/debian/rules @@ -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