diff --git a/sci-electronics/dsview/Manifest b/sci-electronics/dsview/Manifest new file mode 100644 index 0000000000..61e0d4c872 --- /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 0000000000..318202f7c6 --- /dev/null +++ b/sci-electronics/dsview/dsview-1.12.ebuild @@ -0,0 +1,102 @@ +# 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 udev 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 ~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 +} + +pkg_postinst() { + udev_reload +} diff --git a/sci-electronics/dsview/dsview-9999.ebuild b/sci-electronics/dsview/dsview-9999.ebuild new file mode 100644 index 0000000000..318202f7c6 --- /dev/null +++ b/sci-electronics/dsview/dsview-9999.ebuild @@ -0,0 +1,102 @@ +# 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 udev 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 ~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 +} + +pkg_postinst() { + udev_reload +} 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 0000000000..6f8f49d695 --- /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 + #include +- ++#include + + #include 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 0000000000..4b01365347 --- /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 0000000000..92e267e82f --- /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 0000000000..c58b17b455 --- /dev/null +++ b/sci-electronics/dsview/metadata.xml @@ -0,0 +1,20 @@ + + + + + vowstar@gmail.com + Huang Rui + + + DreamSourceLab/DSView + + + 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). + +