# Maintainer: Eli Schwartz <eschwartz@archlinux.org>
# Contributor: Alexandre Filgueira <alexfilgueira@antergos.com>

pkgbase=nemo-extensions
pkgname=('nemo-fileroller'
         'nemo-image-converter'
         'nemo-preview'
         'nemo-python'
         'nemo-seahorse'
         'nemo-share'
         'nemo-terminal')
        #'nemo-audio-tab'
        #'nemo-compare'
        #'nemo-dropbox'
        #'nemo-emblems'
        #'nemo-gtkhash'
        #'nemo-media-columns'
        #'nemo-pastebin'
        #'nemo-repairer'
pkgver=4.2.0
pkgrel=1
pkgdesc="Various extensions for Nemo"
arch=('x86_64')
license=('GPL2')
url="https://github.com/linuxmint/nemo-extensions"
depends=('nemo')
_preview_deps=('cjs' 'clutter-gtk' 'clutter-gst' 'libmusicbrainz5' 'gtksourceview3' 'xreader')
_python_deps=('python-gobject')
_seahorse_deps=('libcryptui' 'libgnome-keyring')
makedepends=('intltool' 'gobject-introspection' 'meson')
makedepends+=("${_preview_deps[@]}" "${_python_deps[@]}" "${_seahorse_deps[@]}")
options=('!emptydirs')
source=("${pkgbase}-${pkgver}.tar.gz::${url}/archive/${pkgver}.tar.gz")
sha256sums=('8ee8698c6058762965635d8233c18a4019437f73752e2085087d812aa46c0fe5')
b2sums=('95181563fa7fce7d20e93e97150473a5b704ef0ee103b6e4c1e7d3b949e771ef74c939e765238d217943c5e9c6b4b261e74035639df8e99316be129fa99f042d')

prepare() {
    cd "${srcdir}"/${pkgbase}-${pkgver}

    # Delete deprecated gnome-common macros, even their standard autoconf-archive replacements are
    # annoying to people who actually set $C(XX)?FLAGS. This drops the unneeded dependency on gnome-common
    sed -i '/^GNOME_/d' nemo-image-converter/configure.ac

    for _dir in "${pkgname[@]}"; do
        if ! [[ -f ${_dir}/configure.ac || -f ${_dir}/configure.in ]]; then
            continue
        fi
        pushd ${_dir}
        autoreconf -fi
        popd
    done
}

build() {
    cd "${srcdir}"/${pkgbase}-${pkgver}

    for _dir in "${pkgname[@]}"; do
        if ! [[ -f ${_dir}/configure ]]; then
            continue
        fi
        pushd ${_dir}
        ./configure --prefix=/usr \
                    --sysconfdir=/etc \
                    --localstatedir=/var \
                    --libexecdir=/usr/lib/${_dir} \
                    --disable-schemas-compile
        sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0 /g' -e 's/    if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then/      func_append compile_command " -Wl,-O1,--as-needed"\n      func_append finalize_command " -Wl,-O1,--as-needed"\n\0/' libtool
        make
        popd
    done

    mkdir -p nemo-python/build
    pushd nemo-python/build
    meson --prefix=/usr --buildtype=plain ..
    ninja

    # # nemo-pastebin
    # cd nemo-pastebin
    # python2 ./setup.py build --build-base ${srcdir}/build/ || return 1
    # cd ..

  	# nemo-media-columns
  	# Nothing to do here
  	# Required python2-pypdf from AUR
}

package_nemo-fileroller(){
    pkgdesc="File archiver extension for Nemo"
    depends+=('file-roller')
    optdepends=('cinnamon-translations: i18n')

    cd "${srcdir}"/${pkgbase}-${pkgver}/${pkgname}
    make DESTDIR="${pkgdir}" install
}

package_nemo-image-converter(){
    pkgdesc="Nemo extension to rotate/resize image files"
    depends+=('imagemagick')
    optdepends=('cinnamon-translations: i18n')

    cd "${srcdir}"/${pkgbase}-${pkgver}/${pkgname}
    make DESTDIR="${pkgdir}" install
}

package_nemo-preview(){
    pkgdesc="Quick file previewer for Nemo"
    depends+=("${_preview_deps[@]}")
    optdepends=('cinnamon-translations: i18n')

    cd "${srcdir}"/${pkgbase}-${pkgver}/${pkgname}
    make DESTDIR="${pkgdir}" install
}

package_nemo-python() {
    pkgdesc="Python3 binding for Nemo components"
    depends+=("${_python_deps[@]}")

    cd "${srcdir}"/${pkgbase}-${pkgver}/${pkgname}/build
    DESTDIR="${pkgdir}" ninja install
}

package_nemo-seahorse(){
    pkgdesc="PGP encryption and signing extension for Nemo"
    depends+=("${_seahorse_deps[@]}")
    optdepends=('cinnamon-translations: i18n')

    cd "${srcdir}"/${pkgbase}-${pkgver}/${pkgname}
    make DESTDIR="${pkgdir}" install
}

package_nemo-share(){
    pkgdesc="Samba extension for Nemo"
    depends+=('samba')
    optdepends=('cinnamon-translations: i18n')

    cd "${srcdir}"/${pkgbase}-${pkgver}/${pkgname}
    make DESTDIR="${pkgdir}" install
}

package_nemo-terminal(){
    pkgdesc="Embedded terminal window for Nemo"
    depends=('nemo-python' 'vte3')

    cd "${srcdir}"/${pkgbase}-${pkgver}/${pkgname}
    install -Dm644 src/nemo_terminal.py \
        "${pkgdir}"/usr/share/nemo-python/extensions/nemo_terminal.py
    install -Dm755 src/nemo-terminal-prefs.py \
        "${pkgdir}"/usr/bin/nemo-terminal-prefs
    install -Dm644 src/org.nemo.extensions.nemo-terminal.gschema.xml \
        "${pkgdir}"/usr/share/glib-2.0/schemas/org.nemo.extensions.nemo-terminal.gschema.xml
    install -Dm644 pixmap/logo_120x120.png \
        "${pkgdir}"/usr/share/nemo-terminal/logo_120x120.png
}

## missing kaa-base in the repos
#package_nemo-media-columns(){
#    pkgdesc=("A Nemo extension to display music/EXIF and PDF metadata info in the Nemo List View")
#    depends=('nemo-python' 'mutagen' 'python2-exiv2' 'python2-kaa-base' 'python2-pillow' 'python2-pypdf')
#
#    cd "${srcdir}"/${pkgbase}-${pkgver}/${pkgname}
#    install -Dm644 nemo-media-columns.py \
#        "${pkgdir}"/usr/share/nemo-python/extensions/nemo-media-columns.py
#}

# package_nemo-pastebin(){
# 	cd ${pkgbase}-${pkgver}/nemo-pastebin

# 	pkgdesc="Nemo extension to send files to a pastebin"
# 	arch=(any)
# 	depends=(nemo pastebinit nemo-python)

# 	python2 ./setup.py install --prefix=/usr --root=${pkgdir} \
# 		--no-compile -O0
# }

## no clue what any of this does
# package_nemo-compare() {
#   cd ${pkgbase}-${pkgver}/nemo-compare

#   pkgdesc="Context menu comparison extension for Nemo file manager"
#   depends=(python2 python2-xdg meld nemo-python)

#   install -d ${pkgdir}/usr/share/applications/
#   install -d ${pkgdir}/usr/share/nemo-compare/

#   install -Dm755 ${srcdir}/data/nemo-compare-preferences.desktop \
#                   /usr/share/applications/nemo-compare-preferences.desktop
#   install -Dm755 ${srcdir}/data/nemo-compare-notification \
#                   /usr/share/nemo-compare/nemo-compare-notification
#   install -Dm755 ${srcdir}/src/nemo-compare.py \
#                   /usr/share/nemo-compare/nemo-compare.py
#   install -Dm755 ${srcdir}/src/utils.py \
#                   /usr/share/nemo-compare/utils.py
#   install -Dm755 ${srcdir}/src/nemo-compare-preferences.py \
#                   /usr/share/nemo-compare/nemo-compare-preferences.py

# }
