Skip to content
Snippets Groups Projects
Commit 7fac35ad authored by akiraohgaki's avatar akiraohgaki Committed by GitHub
Browse files

Merge pull request #27 from xdgurl/development

Development
parents de6bbc38 c25746f4
No related branches found
No related tags found
No related merge requests found
...@@ -2,20 +2,25 @@ language: cpp ...@@ -2,20 +2,25 @@ language: cpp
sudo: required sudo: required
dist: trusty dist: trusty
os: linux
before_install: before_install:
- sudo add-apt-repository --yes ppa:beineri/opt-qt57-trusty - sudo add-apt-repository -y ppa:beineri/opt-qt57-trusty
- sudo apt-get update -qq - sudo apt-get update -qq
- curl https://transfer.sh/DHN4B/linuxdeployqt-799f704-x86-64.appimage -o linuxdeployqt.appimage
install: install:
- sudo apt-get -y install binutils qt57base qt57quickcontrols qt57quickcontrols2 qt57svg desktop-file-utils - sudo apt-get -y install build-essential fuse zsync desktop-file-utils
- sudo install -m 755 -p linuxdeployqt.appimage /usr/local/bin/linuxdeployqt.appimage - sudo apt-get -y install qt57base qt57svg qt57quickcontrols qt57quickcontrols2
- rm linuxdeployqt.appimage # Replace linuxdeployqt download URL to official download URL when the stable version released
- curl -L -o linuxdeployqt https://dl.dropboxusercontent.com/u/150776/temp/linuxdeployqt-799f704-x86-64.appimage
- sudo install -m 755 -p linuxdeployqt /usr/local/bin/linuxdeployqt
- rm linuxdeployqt
script: before_script:
- sudo modprobe fuse
- source /opt/qt57/bin/qt57-env.sh - source /opt/qt57/bin/qt57-env.sh
- sh pkg/build.sh appimage
- AI=$(ls pkg/build/xdgurl-release-*.AppImage) script:
- curl --upload-file "$AI" "https://transfer.sh/$AI" - sh ./pkg/build.sh appimage
after_script:
- appimage_file="$(ls ./pkg/build/*.AppImage)"
- [ -f "${appimage_file}" ] && curl -T "${appimage_file}" "https://transfer.sh/${appimage_file}"
# Maintainer: Akira Ohgaki <akiraohgaki@gmail.com> # Maintainer: Akira Ohgaki <akiraohgaki@gmail.com>
pkgname=xdgurl pkgname='xdgurl'
pkgver=2.0.0 pkgver='2.0.0'
pkgrel=1 pkgrel='1'
pkgdesc="An install helper program for desktop stuff." pkgdesc='An install helper program for desktop stuff.'
arch=('i686' 'x86_64') arch=('i686' 'x86_64')
url="https://github.com/xdgurl/xdgurl" url='https://github.com/xdgurl/xdgurl'
license=('GPL3') license=('GPL3')
depends=('qt5-base>=5.3.0' 'qt5-svg>=5.3.0' 'qt5-declarative>=5.3.0' 'qt5-quickcontrols>=5.3.0') depends=('qt5-base>=5.3.0' 'qt5-svg>=5.3.0' 'qt5-declarative>=5.3.0' 'qt5-quickcontrols>=5.3.0')
#source=("https://github.com/xdgurl/xdgurl/archive/release-$pkgver.tar.gz") #source=("https://github.com/xdgurl/xdgurl/archive/release-${pkgver}.tar.gz")
source=("$pkgname.tar.gz") source=("${pkgname}.tar.gz")
md5sums=() #autofill using updpkgsums md5sums=() #autofill using updpkgsums
build() { build() {
#cd "$pkgname-release-$pkgver" #cd "${pkgname}-release-${pkgver}"
cd $pkgname cd "${pkgname}"
qmake PREFIX="/usr" qmake PREFIX='/usr'
make make
} }
package() { package() {
#cd "$pkgname-release-$pkgver" #cd "${pkgname}-release-${pkgver}"
cd $pkgname cd "${pkgname}"
make INSTALL_ROOT="$pkgdir" install make INSTALL_ROOT="${pkgdir}" install
} }
#!/bin/sh #!/bin/bash
TMPDIR=/tmp PKGNAME='xdgurl'
PKGDIR=`cd $(dirname $0) && pwd`
BUILDDIR=$PKGDIR/build PROJDIR="$(cd "$(dirname "${0}")/../" && pwd)"
PROJDIR=`dirname $PKGDIR`
PROJNAME=`basename $PROJDIR` BUILDDIR="${PROJDIR}/pkg/build"
PARENTDIR=`dirname $PROJDIR`
BUILDTYPE=''
if [ "${1}" ]; then
BUILDTYPE="${1}"
fi
TREEISH='HEAD'
if [ "${2}" ]; then
TREEISH="${2}"
fi
export_source() {
destdir="${BUILDDIR}"
if [ "${1}" ]; then
destdir="${1}"
fi
$(cd "${PROJDIR}" && git archive --prefix="${PKGNAME}/" --output="${destdir}/${PKGNAME}.tar.gz" "${TREEISH}")
}
build_ubuntu() { build_ubuntu() {
#sudo apt install build-essential qt5-default libqt5svg5-dev qtdeclarative5-dev devscripts debhelper fakeroot #sudo apt install build-essential qt5-default libqt5svg5-dev qtdeclarative5-dev devscripts debhelper fakeroot
cd $PARENTDIR cd "${PROJDIR}"
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
mkdir $BUILDDIR mkdir -p "${BUILDDIR}"
export_source "${BUILDDIR}"
tar -xzvf "${BUILDDIR}/${PKGNAME}.tar.gz" -C "${BUILDDIR}"
cp -r "${PROJDIR}/pkg/ubuntu/debian" "${BUILDDIR}/${PKGNAME}"
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR cd "${BUILDDIR}/${PKGNAME}"
tar -xzvf $BUILDDIR/$PROJNAME.tar.gz -C $BUILDDIR
cp -r $PKGDIR/ubuntu/debian $BUILDDIR/$PROJNAME
cd $BUILDDIR/$PROJNAME
debuild -uc -us -b debuild -uc -us -b
} }
build_fedora() { build_fedora() {
#sudo dnf install make automake gcc gcc-c++ libtool qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel rpm-build #sudo dnf install make automake gcc gcc-c++ libtool qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel rpm-build
cd $PARENTDIR cd "${PROJDIR}"
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
mkdir $BUILDDIR
mkdir $BUILDDIR/SOURCES
mkdir $BUILDDIR/SPECS
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR/SOURCES mkdir -p "${BUILDDIR}"
cp $PKGDIR/fedora/xdgurl.spec $BUILDDIR/SPECS mkdir "${BUILDDIR}/SOURCES"
mkdir "${BUILDDIR}/SPECS"
export_source "${BUILDDIR}/SOURCES"
cp "${PROJDIR}/pkg/fedora/xdgurl.spec" "${BUILDDIR}/SPECS"
rpmbuild --define "_topdir $BUILDDIR" -bb $BUILDDIR/SPECS/xdgurl.spec rpmbuild --define "_topdir ${BUILDDIR}" -bb "${BUILDDIR}/SPECS/xdgurl.spec"
} }
build_arch() { build_arch() {
#sudo pacman -S base-devel qt5-base qt5-svg qt5-declarative qt5-quickcontrols #sudo pacman -S base-devel qt5-base qt5-svg qt5-declarative qt5-quickcontrols
cd $PARENTDIR cd "${PROJDIR}"
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
mkdir $BUILDDIR mkdir -p "${BUILDDIR}"
export_source "${BUILDDIR}"
cp "${PROJDIR}/pkg/arch/PKGBUILD" "${BUILDDIR}"
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR cd "${BUILDDIR}"
cp $PKGDIR/arch/PKGBUILD $BUILDDIR
cd $BUILDDIR
updpkgsums updpkgsums
makepkg -s makepkg -s
} }
...@@ -58,57 +69,52 @@ build_arch() { ...@@ -58,57 +69,52 @@ build_arch() {
build_appimage() { build_appimage() {
#sudo add-apt-repository ppa:beineri/opt-qt57-xenial #sudo add-apt-repository ppa:beineri/opt-qt57-xenial
#sudo apt update #sudo apt update
#sudo apt install build-essential fuse desktop-file-utils
#sudo apt install build-essential fuse zsync desktop-file-utils
#sudo apt install qt57base qt57svg qt57quickcontrols qt57quickcontrols2 #sudo apt install qt57base qt57svg qt57quickcontrols qt57quickcontrols2
#curl https://transfer.sh/DHN4B/linuxdeployqt-799f704-x86-64.appimage -o linuxdeployqt.appimage # Replace linuxdeployqt download URL to official download URL when the stable version released
#sudo install -m 755 -p linuxdeployqt.appimage /usr/local/bin/linuxdeployqt.appimage #curl -L -o linuxdeployqt https://dl.dropboxusercontent.com/u/150776/temp/linuxdeployqt-799f704-x86-64.appimage
#sudo install -m 755 -p linuxdeployqt /usr/local/bin/linuxdeployqt
#sudo modprobe fuse #sudo modprobe fuse
#source /opt/qt57/bin/qt57-env.sh #source /opt/qt57/bin/qt57-env.sh
cd $PROJDIR cd "${PROJDIR}"
export VERSION=$(git describe --always)
cd $PARENTDIR
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
mkdir $BUILDDIR
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR export VERSION="$(git describe --always)"
tar -xzvf $BUILDDIR/$PROJNAME.tar.gz -C $BUILDDIR mkdir -p "${BUILDDIR}"
export_source "${BUILDDIR}"
tar -xzvf "${BUILDDIR}/${PKGNAME}.tar.gz" -C "${BUILDDIR}"
cd $BUILDDIR/$PROJNAME cd "${BUILDDIR}/${PKGNAME}"
/opt/qt57/bin/qmake /opt/qt57/bin/qmake
make make
strip xdgurl strip ./xdgurl
cd $BUILDDIR cd "${BUILDDIR}"
mkdir -p "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin"
mkdir -p $BUILDDIR/xdgurl.AppDir/usr/bin install -m 755 -p "${BUILDDIR}/${PKGNAME}/xdgurl" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl"
install -m 755 -p $BUILDDIR/$PROJNAME/xdgurl $BUILDDIR/xdgurl.AppDir/xdgurl install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/xdgurl.desktop" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl.desktop"
install -m 644 -p $BUILDDIR/$PROJNAME/src/desktop/xdgurl.desktop $BUILDDIR/xdgurl.AppDir/xdgurl.desktop install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/xdgurl.svg" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl.svg"
install -m 644 -p $BUILDDIR/$PROJNAME/src/desktop/xdgurl.svg $BUILDDIR/xdgurl.AppDir/xdgurl.svg install -m 755 -p /usr/bin/update-desktop-database "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/update-desktop-database"
install -m 755 -p /usr/bin/update-desktop-database $BUILDDIR/xdgurl.AppDir/usr/bin/update-desktop-database install -m 755 -p /usr/bin/desktop-file-validate "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/desktop-file-validate"
install -m 755 -p /usr/bin/desktop-file-validate $BUILDDIR/xdgurl.AppDir/usr/bin/desktop-file-validate install -m 755 -p /usr/bin/desktop-file-install "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/desktop-file-install"
install -m 755 -p /usr/bin/desktop-file-install $BUILDDIR/xdgurl.AppDir/usr/bin/desktop-file-install linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # https://github.com/probonopd/linuxdeployqt/issues/25
linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # twice because of #25
linuxdeployqt.appimage $BUILDDIR/xdgurl.AppDir/xdgurl -qmldir=$BUILDDIR/$PROJNAME/src/app/qml -verbose=2 -bundle-non-qt-libs # https://github.com/probonopd/linuxdeployqt/issues/25 rm "${BUILDDIR}/${PKGNAME}.AppDir/AppRun"
linuxdeployqt.appimage $BUILDDIR/xdgurl.AppDir/xdgurl -qmldir=$BUILDDIR/$PROJNAME/src/app/qml -verbose=2 -bundle-non-qt-libs # twice because of #25 install -m 755 -p "${BUILDDIR}/${PKGNAME}/src/desktop/appimage-desktopintegration" "${BUILDDIR}/${PKGNAME}.AppDir/AppRun"
linuxdeployqt --appimage-extract
rm $BUILDDIR/xdgurl.AppDir/AppRun ./squashfs-root/usr/bin/appimagetool "${BUILDDIR}/${PKGNAME}.AppDir"
install -m 755 -p $BUILDDIR/$PROJNAME/src/desktop/appimage-desktopintegration $BUILDDIR/xdgurl.AppDir/AppRun
linuxdeployqt.appimage --appimage-extract
./squashfs-root/usr/bin/appimagetool $BUILDDIR/xdgurl.AppDir
} }
if [ $1 ] && [ $1 = 'ubuntu' ]; then if [ "${BUILDTYPE}" = 'ubuntu' ]; then
build_ubuntu build_ubuntu
elif [ $1 ] && [ $1 = 'fedora' ]; then elif [ "${BUILDTYPE}" = 'fedora' ]; then
build_fedora build_fedora
elif [ $1 ] && [ $1 = 'arch' ]; then elif [ "${BUILDTYPE}" = 'arch' ]; then
build_arch build_arch
elif [ $1 ] && [ $1 = 'appimage' ]; then elif [ "${BUILDTYPE}" = 'appimage' ]; then
build_appimage build_appimage
else else
echo 'sh build.sh [ubuntu|fedora|arch|appimage]' echo "sh $(basename "${0}") [ubuntu|fedora|arch|appimage] [tree_ish]"
fi fi
...@@ -21,7 +21,7 @@ An install helper program for desktop stuff. ...@@ -21,7 +21,7 @@ An install helper program for desktop stuff.
%build %build
%define debug_package %{nil} %define debug_package %{nil}
qmake-qt5 PREFIX="/usr" qmake-qt5 PREFIX='/usr'
make make
%install %install
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
dh $@ dh $@
override_dh_auto_configure: override_dh_auto_configure:
qmake PREFIX="/usr" qmake PREFIX='/usr'
override_dh_auto_install: override_dh_auto_install:
make INSTALL_ROOT="$(CURDIR)/debian/tmp" install make INSTALL_ROOT="$(CURDIR)/debian/tmp" install
......
...@@ -5,7 +5,6 @@ TEMPLATE = app ...@@ -5,7 +5,6 @@ TEMPLATE = app
QT += \ QT += \
core \ core \
gui \ gui \
widgets \
qml \ qml \
quick \ quick \
svg \ svg \
...@@ -37,6 +36,8 @@ RESOURCES += \ ...@@ -37,6 +36,8 @@ RESOURCES += \
DISTFILES += \ DISTFILES += \
README.md \ README.md \
src/desktop/xdgurl.desktop \
src/desktop/appimage-desktopintegration \
pkg/build.sh \ pkg/build.sh \
pkg/ubuntu/debian/changelog \ pkg/ubuntu/debian/changelog \
pkg/ubuntu/debian/compat \ pkg/ubuntu/debian/compat \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment