summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorFabio Tardivo2019-07-07 23:38:50 +0200
committerFabio Tardivo2019-07-07 23:38:50 +0200
commitc8c64e28266b549ca9f8e090f9f5d25c1f2ae050 (patch)
treeca9cbdadcb11c4f66d241ecdd9112a5b7cff24c8
parent7d7a73d8e371082d66e7ab7b11abe2b24867903e (diff)
downloadaur-c8c64e28266b549ca9f8e090f9f5d25c1f2ae050.tar.gz
Improved build scripts
-rw-r--r--.SRCINFO18
-rw-r--r--PKGBUILD93
-rw-r--r--fzn-gecode-gist-lib-path.patch7
-rw-r--r--minizinc-ide.desktop6
-rw-r--r--minizinc-ide.install21
-rw-r--r--minizinc.pngbin2451 -> 0 bytes
6 files changed, 77 insertions, 68 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 4f66c047958c..9aa0d49ad765 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,23 +1,21 @@
pkgbase = minizinc-ide
pkgdesc = Simple IDE for writing and running MiniZinc models
pkgver = 2.3.0
- pkgrel = 1
+ pkgrel = 2
url = http://www.minizinc.org/ide/
+ install = minizinc-ide.install
arch = x86_64
- license = Mozilla Public License Version 2.0
- depends = libpng12
- depends = pcre
- depends = gstreamer
- depends = gst-plugins-base-libs
- depends = double-conversion
+ license = MPL2
provides = minizinc
conflicts = libminizinc
options = !strip
source = minizinc-ide.desktop
- source = minizinc.png
+ source = fzn-gecode-gist-lib-path.patch
+ source = https://raw.githubusercontent.com/MiniZinc/MiniZincIDE/master/resources/icon.png
source = https://github.com/MiniZinc/MiniZincIDE/releases/download/2.3.0/MiniZincIDE-2.3.0-bundle-linux-x86_64.tgz
- sha256sums = b86ef15b8ee1014342a2f38358d7f806a58b900bf1150101b535aecddaa122d1
- sha256sums = 1b9fa21e25c48e1080eaea2348eb98a45242e045b7ba94fe4723a9b01cbcdb2a
+ sha256sums = bf26b9e3cae148fb05ce131ef62076bda467ebd2ce9913525a5540f09435c2b6
+ sha256sums = 657090bd7d93d16648e12c8df14f65e858ee49c2384b137ff7e1abb61b291a6a
+ sha256sums = eaa69a6d1b8a3e307d1b400b74273995abb914fbe1246c65fc9b3955b2094023
sha256sums = 7d5091066a691041caf9dd38087aee71947304bde83477bc05e325f6c219f2a2
pkgname = minizinc-ide
diff --git a/PKGBUILD b/PKGBUILD
index aa7de8f3722f..b3e2cab02d66 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,62 +1,45 @@
-#Maintainer: Dimitris Pappas <mitsakosgr@gmail.com>
+# Maintainer: Dimitris Pappas <mitsakosgr at gmail dot com>
+# Contributor: Fabio Tardivo <x95a31x at gmail dot com>
pkgname=minizinc-ide
pkgver=2.3.0
-pkgrel=1
+pkgrel=2
pkgdesc="Simple IDE for writing and running MiniZinc models"
-arch=('x86_64')
-url="http://www.minizinc.org/ide/"
-license=('Mozilla Public License Version 2.0')
-provides=('minizinc')
-conflicts=('libminizinc')
-
-source=('minizinc-ide.desktop'
- 'minizinc.png'
- https://github.com/MiniZinc/MiniZincIDE/releases/download/"${pkgver}"/MiniZincIDE-"${pkgver}"-bundle-linux-x86_64.tgz)
-
-depends=('libpng12'
- 'pcre'
- 'gstreamer'
- 'gst-plugins-base-libs'
- 'double-conversion')
-
-sha256sums=('b86ef15b8ee1014342a2f38358d7f806a58b900bf1150101b535aecddaa122d1'
- '1b9fa21e25c48e1080eaea2348eb98a45242e045b7ba94fe4723a9b01cbcdb2a'
- '7d5091066a691041caf9dd38087aee71947304bde83477bc05e325f6c219f2a2')
-
+arch=(x86_64)
+url=http://www.minizinc.org/ide/
+license=(MPL2)
+provides=(minizinc)
options=(!strip)
+install=$pkgname.install
+conflicts=(libminizinc)
+source=(
+ minizinc-ide.desktop
+ fzn-gecode-gist-lib-path.patch
+ https://raw.githubusercontent.com/MiniZinc/MiniZincIDE/master/resources/icon.png
+ https://github.com/MiniZinc/MiniZincIDE/releases/download/$pkgver/MiniZincIDE-$pkgver-bundle-linux-x86_64.tgz
+)
+sha256sums=(
+ bf26b9e3cae148fb05ce131ef62076bda467ebd2ce9913525a5540f09435c2b6
+ 657090bd7d93d16648e12c8df14f65e858ee49c2384b137ff7e1abb61b291a6a
+ eaa69a6d1b8a3e307d1b400b74273995abb914fbe1246c65fc9b3955b2094023
+ 7d5091066a691041caf9dd38087aee71947304bde83477bc05e325f6c219f2a2
+)
+
+
+prepare() {
+ # Workaround for https://github.com/MiniZinc/MiniZincIDE/issues/90
+ cd $srcdir/MiniZincIDE-$pkgver-bundle-linux
+ patch --strip=0 --input=${srcdir}/fzn-gecode-gist-lib-path.patch
+}
-package() {
- if [ "${CARCH}" == "i686" ]; then
- _arch=32;
- else
- _arch=64;
- fi
-
- mkdir -p "${pkgdir}"/usr/share/applications
-
- # Move .desktop file to global applications folder
- install "${srcdir}/"minizinc-ide.desktop "${pkgdir}"/usr/share/applications/
-
- mkdir -p "${pkgdir}"/usr/share/"${pkgname}"
- mkdir -p "${pkgdir}"/usr/lib
+package() {
+ # Create MiniZinc directory
+ mkdir -p $pkgdir/opt/$pkgname
- # Move png to package
- install "${srcdir}/"minizinc.png "${pkgdir}"/usr/share/"${pkgname}"
-
- # Move uncompressed files to package
- mv "${srcdir}/"MiniZincIDE-"${pkgver}"-bundle-linux/* "${pkgdir}"/usr/share/"${pkgname}"
-
-
- # Rewrite MiniZincIDE.sh in order to change locations
- cd "$pkgdir"
-
- # Create links for minizinc programs.
- mkdir -p usr/bin
- #ln -s /usr/share/${pkgname}/MiniZincIDE.sh usr/bin/minizinc-ide
- ln -s /usr/share/${pkgname}/bin/MiniZincIDE usr/bin/minizinc-ide
- ln -s /usr/share/${pkgname}/bin/{flatzinc,fzn-gecode-gist,minizinc,mzn2doc,mzn-g12fd,mzn-g12mip} usr/bin
- ln -s /usr/share/${pkgname}/bin/{solns2dzn,fzn-gecode,mzn2fzn,mzn-g12lazy,mzn-gecode,solns2out} usr/bin/
-
- # Workaround for dependency resolver
- ln -s /usr/lib/libpcre16.so usr/lib/libpcre16.so.3
+ # Copy MiniZinc files
+ cp -r $srcdir/MiniZincIDE-$pkgver-bundle-linux/* $pkgdir/opt/$pkgname
+
+ # Copy MiniZinc launcher
+ mkdir -p $pkgdir/usr/share/applications
+ cp $srcdir/icon.png $pkgdir/opt/$pkgname/resources/icon.png
+ cp $srcdir/minizinc-ide.desktop $pkgdir/usr/share/applications/minizinc-ide.desktop
}
diff --git a/fzn-gecode-gist-lib-path.patch b/fzn-gecode-gist-lib-path.patch
new file mode 100644
index 000000000000..a8d8f12986d0
--- /dev/null
+++ b/fzn-gecode-gist-lib-path.patch
@@ -0,0 +1,7 @@
+--- bin/fzn-gecode-gist
++++ bin/fzn-gecode-gist
+@@ -1,3 +1,4 @@
+ #!/bin/bash
+ DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
++export LD_LIBRARY_PATH="$DIR"/../lib:$LD_LIBRARY_PATH
+ exec "$DIR"/fzn-gecode -mode gist "$@"
diff --git a/minizinc-ide.desktop b/minizinc-ide.desktop
index b51ce64b51ca..07afae7b626a 100644
--- a/minizinc-ide.desktop
+++ b/minizinc-ide.desktop
@@ -2,7 +2,7 @@
Type=Application
Name=MiniZinc IDE
Comment=Simple IDE for writing and running MiniZinc models
-Exec=minizinc-ide
-Icon=/usr/share/minizinc-ide/minizinc.png
+Icon=/opt/minizinc-ide/resources/icon.png
+Exec=/opt/minizinc-ide/MiniZincIDE.sh
Terminal=false
-Categories=Education;Development;IDE; \ No newline at end of file
+Categories=Development;IDE;
diff --git a/minizinc-ide.install b/minizinc-ide.install
new file mode 100644
index 000000000000..3ab979aa0d79
--- /dev/null
+++ b/minizinc-ide.install
@@ -0,0 +1,21 @@
+pkgname=minizinc-ide
+
+post_install() {
+ # Create links to MiniZinc executables
+ for e in $(find /opt/$pkgname/bin -type f -executable -printf "%P\n")
+ do
+ ln -s /opt/$pkgname/bin/$e /usr/bin/$e
+ done
+
+ ln -s /opt/$pkgname/MiniZincIDE.sh /usr/bin/minizinc-ide
+}
+
+pre_remove() {
+ # Remove links to MiniZinc executables
+ for e in $(find /opt/$pkgname/bin -type f -executable -printf "%P\n")
+ do
+ rm /usr/bin/$e
+ done
+
+ rm /usr/bin/minizinc-ide
+}
diff --git a/minizinc.png b/minizinc.png
deleted file mode 100644
index 7c3dfc0d26ba..000000000000
--- a/minizinc.png
+++ /dev/null
Binary files differ