commit: 3e2cceff9553d594e46f5be9e77dded1c2541641 Author: Huang Rui <vowstar <AT> gmail <DOT> com> AuthorDate: Tue Aug 18 10:04:53 2020 +0000 Commit: Rui Huang <vowstar <AT> gmail <DOT> com> CommitDate: Tue Aug 18 10:04:53 2020 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=3e2cceff
sci-electronics/dsview: new package DSView is an GUI programe for supporting various instruments. The patches under ${FILESDIR} pushed to upstream: https://github.com/DreamSourceLab/DSView/pull/335 Package-Manager: Portage-3.0.3, Repoman-3.0.0 Signed-off-by: Huang Rui <vowstar <AT> gmail.com> sci-electronics/dsview/Manifest | 1 + sci-electronics/dsview/dsview-1.12.ebuild | 98 ++++++++++++++++++++++ .../dsview/files/dsview-1.01-viewport.patch | 10 +++ .../dsview/files/dsview-1.12-cmake.patch | 26 ++++++ .../dsview/files/dsview-1.12-desktop.patch | 20 +++++ sci-electronics/dsview/metadata.xml | 20 +++++ 6 files changed, 175 insertions(+) diff --git a/sci-electronics/dsview/Manifest b/sci-electronics/dsview/Manifest new file mode 100644 index 0000000..61e0d4c --- /dev/null +++ b/sci-electronics/dsview/Manifest @@ -0,0 +1 @@ +DIST dsview-1.12.tar.gz 8150237 BLAKE2B 0f746d0691f006d368cf9f40bf0c1b91223a7f6011d0ce55bdded7924ef940ecb18eec4bfe4cf842eea7eda85e97f3516a6f07e7e361eff991191e6d8bf7628c SHA512 a0b90d654ea64121540815627e8559c147a0b3bb77d10b65d98587b1f67dc3c0ed4d1c022cd686c31aab2879ee602eade69a02f32c5c9947a3bbdf1e7ab475dd diff --git a/sci-electronics/dsview/dsview-1.12.ebuild b/sci-electronics/dsview/dsview-1.12.ebuild new file mode 100644 index 0000000..9cd110b --- /dev/null +++ b/sci-electronics/dsview/dsview-1.12.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6,7,8,9} ) +GITHUB_PN="DSView" + +inherit autotools cmake python-r1 xdg + +DESCRIPTION="An open source multi-function instrument" +HOMEPAGE=" + https://www.dreamsourcelab.com + https://github.com/DreamSourceLab/DSView +" + +if [[ ${PV} == "9999" ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/DreamSourceLab/${GITHUB_PN}.git" +else + SRC_URI="https://github.com/DreamSourceLab/${GITHUB_PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~m68k ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" + S="${WORKDIR}/${GITHUB_PN}-${PV}" +fi + +LICENSE="GPL-3" +SLOT="0" + +RDEPEND=" + dev-cpp/glibmm:2 + dev-libs/boost + dev-libs/glib + dev-libs/libzip + dev-qt/qtcore:5 + dev-qt/qtgui:5 + dev-qt/qtwidgets:5 + dev-qt/qtsvg:5 + sci-libs/fftw:3.0 + virtual/libusb:1 +" + +DEPEND=" + ${RDEPEND} +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.01-viewport.patch + "${FILESDIR}"/${PN}-1.12-desktop.patch + "${FILESDIR}"/${PN}-1.12-cmake.patch +) + +src_prepare() { + default + + local LIBDIR="/usr/$(get_libdir)" + + grep -rl "/usr/local/lib" "${S}" | xargs sed -i "s@/usr/local/lib@${LIBDIR}@g" || die + grep -rl "/usr/local" "${S}" | xargs sed -i "s@/usr/local@/usr@g" || die + cd "${S}/libsigrok4DSL" || die + sh ./autogen.sh || die + cd "${S}/libsigrokdecode4DSL" || die + sh ./autogen.sh || die +} + +src_configure() { + local LIBDIR="/usr/$(get_libdir)" + + cd "${S}/libsigrok4DSL" || die + sh ./configure --libdir=${LIBDIR} --prefix=/usr || die + cd "${S}/libsigrokdecode4DSL" || die + sh ./configure --libdir=${LIBDIR} --prefix=/usr || die +} + +src_compile() { + cd "${S}/libsigrok4DSL" || die + emake DESTDIR="${D}" + cd "${S}/libsigrokdecode4DSL" || die + emake DESTDIR="${D}" + cd "${S}" +} + +src_install() { + local LIBDIR="/usr/$(get_libdir)" + + cd "${S}/libsigrok4DSL" || die + emake DESTDIR="${D}" install + cd "${S}/libsigrokdecode4DSL" || die + emake DESTDIR="${D}" install + cd "${S}/DSView" || die + + DESTDIR="${D}" \ + PKG_CONFIG_PATH="${D}${LIBDIR}/pkgconfig" \ + CFLAGS="-I${D}/usr/include" \ + CXXFLAGS="-I${D}/usr/include" \ + LDFLAGS="-L${D}${LIBDIR}" \ + cmake -DCMAKE_INSTALL_PREFIX=/usr . || die + emake DESTDIR="${D}" install +} diff --git a/sci-electronics/dsview/files/dsview-1.01-viewport.patch b/sci-electronics/dsview/files/dsview-1.01-viewport.patch new file mode 100644 index 0000000..6f8f49d --- /dev/null +++ b/sci-electronics/dsview/files/dsview-1.01-viewport.patch @@ -0,0 +1,10 @@ +--- a/DSView/pv/view/viewport.cpp ++++ b/DSView/pv/view/viewport.cpp +@@ -37,7 +37,7 @@ + + #include <QMouseEvent> + #include <QStyleOption> +- ++#include <QPainterPath> + + #include <math.h> diff --git a/sci-electronics/dsview/files/dsview-1.12-cmake.patch b/sci-electronics/dsview/files/dsview-1.12-cmake.patch new file mode 100644 index 0000000..4b01365 --- /dev/null +++ b/sci-electronics/dsview/files/dsview-1.12-cmake.patch @@ -0,0 +1,26 @@ +diff --git a/DSView/CMakeLists.txt b/DSView/CMakeLists.txt +index 29f848d..554952f 100755 +--- a/DSView/CMakeLists.txt ++++ b/DSView/CMakeLists.txt +@@ -420,15 +420,17 @@ set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_ + #------------------------------------------------------------------------------- + + # Install the executable. +-install(TARGETS ${PROJECT_NAME} DESTINATION bin/) ++install(TARGETS ${PROJECT_NAME} DESTINATION bin) + install(DIRECTORY res DESTINATION share/${PROJECT_NAME}) + install(FILES icons/logo.svg DESTINATION share/${PROJECT_NAME} RENAME logo.svg) ++install(FILES icons/logo.svg DESTINATION share/icons/hicolor/scalable/apps RENAME dsview.svg) ++install(FILES icons/logo.svg DESTINATION share/pixmaps RENAME dsview.svg) + install(FILES ../NEWS25 DESTINATION share/${PROJECT_NAME} RENAME NEWS25) + install(FILES ../NEWS31 DESTINATION share/${PROJECT_NAME} RENAME NEWS31) + install(FILES ../ug25.pdf DESTINATION share/${PROJECT_NAME} RENAME ug25.pdf) + install(FILES ../ug31.pdf DESTINATION share/${PROJECT_NAME} RENAME ug31.pdf) +-install(FILES DreamSourceLab.rules DESTINATION /etc/udev/rules.d/) +-install(FILES DSView.desktop DESTINATION /usr/share/applications/) ++install(FILES DreamSourceLab.rules DESTINATION /lib/udev/rules.d RENAME 60-dreamsourcelab.rules) ++install(FILES DSView.desktop DESTINATION /usr/share/applications RENAME dsview.desktop) + + #=============================================================================== + #= Packaging (handled by CPack) + \ No newline at end of file diff --git a/sci-electronics/dsview/files/dsview-1.12-desktop.patch b/sci-electronics/dsview/files/dsview-1.12-desktop.patch new file mode 100644 index 0000000..92e267e --- /dev/null +++ b/sci-electronics/dsview/files/dsview-1.12-desktop.patch @@ -0,0 +1,20 @@ +diff --git a/DSView/DSView.desktop b/DSView/DSView.desktop +index fba3202..e114324 100755 +--- a/DSView/DSView.desktop ++++ b/DSView/DSView.desktop +@@ -1,9 +1,10 @@ + [Desktop Entry] +-Version=0.96 +-Exec=/usr/local/bin/DSView ++Type=Application ++Encoding=UTF-8 + Name=DSView + Comment=GUI Program for DreamSourceLab USB-based Instruments +-Icon=/usr/local/share/DSView/logo.png +-Type=Application ++TryExec=DSView ++Exec=DSView ++Icon=dsview + Terminal=false +-Categories=Development ++Categories=Development;Electronics;Qt; diff --git a/sci-electronics/dsview/metadata.xml b/sci-electronics/dsview/metadata.xml new file mode 100644 index 0000000..c58b17b --- /dev/null +++ b/sci-electronics/dsview/metadata.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>vows...@gmail.com</email> + <name>Huang Rui</name> + </maintainer> + <upstream> + <remote-id type="github">DreamSourceLab/DSView</remote-id> + </upstream> + <longdescription lang="en"> + DSView is an GUI programe for supporting various instruments from + DreamSourceLab, including logic analyzer, oscilloscope, etc. DSView is based + on sigrok project. + The sigrok project aims at creating a portable, cross-platform, + Free/Libre/Open-Source signal analysis software suite that supports various + device types (such as logic analyzers, oscilloscopes, multimeters, and + more). + </longdescription> +</pkgmetadata>