让msys2支持cygstart

发布时间:2019-06-17 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了让msys2支持cygstart脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

Cygwin中有一个很有用的工具,cygstart,可以使用默认的程序打开任意文件,以及使用超级管理员运行命令(cygstart --action=runas)等。但mSys2每个这个命令,使用超级管理员运行命令的功能几乎没有替代品。

但后来我想到既然msys2是从cygwin改的,应该也能编译出来cygstart,折腾一番后果然可以。

首先需要一个popt,PKGBUILD:

# Maintainer: Gore Liu <goreliu@126.COM>

pkgname=popt
pkgver=1.16
pkgrel=7
pkgdesc="A commandline option parser"
arch=('i686' 'x86_64')
url="http://rpm5.org"
license=('custom')
source=(http://rpm5.org/files/${pkgname}/${pkgname}-${pkgver}.tar.gz)
sha1sums=('cfe94a15a2404db85858a81ff8de27c8ff3e235e')

build() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  ./configure --prefix=/usr

  if [ $(grep '^static int$' poptconfig.c | wc -l) -ne 1 ]; then
      exit 1
  fi
  sed -i 's/^static int$/int/g' poptconfig.c

  make
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  make DESTDIR="${pkgdir}" install
  install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
}

然后就是包含cygstart的cygutils,PKGBUILD:

# Maintainer: Gore Liu <goreliu@126.com>

pkgname=cygutils
pkgver=1.4.14
pkgrel=1
pkgdesc="A collection of simple cygwin utilities"
arch=('i686' 'x86_64')
url="http://cygutils.fruitbat.org/cygutils-package/index.html"
license=('custom')
depends=('popt')
source=("http://mirror.bit.edu.cn/cygwin/x86_64/release/cygutils/${pkgname}-${pkgver}-1-src.tar.bz2")
sha1sums=('f9f5ae35ba61aa6efccf9581c2b019c26ea6671a')

build() {
  cd "${srcdir}"
  tar -xf ${pkgname}-${pkgver}.tar.xz
  cd ${pkgname}-${pkgver}
  ./configure --prefix=/usr
  sed -i 's/stricmp/strcasecmp/g' src/lpr/Printer.cc

  make
}

package() {
  cd "${srcdir}/${pkgname}-${pkgver}"
  make DESTDIR="${pkgdir}" install
  install -Dm644 COPYING "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
  for i in `find -name '*.exe'`; do
      cp $i "${pkgdir}"/usr/bin/
  done
}

依次保存为PKGBUILD文件,运行makepkg,然后使用pacman auto -U *.pkg.*就可以了。

更多的msys2包,https://github.com/goreliu/my...官方的repo对于msys2分支的PKGBUILD要求很苛刻,基本不收,之后自己维护了。如果有朋友有其他的PKGBUILD,可以一起维护。

付费解决 Windows、Linux、Shell、C、C++、AHK、Python、JavaScript、Lua 等领域相关问题,灵活定价,欢迎咨询,微信 ly50247。

脚本宝典总结

以上是脚本宝典为你收集整理的让msys2支持cygstart全部内容,希望文章能够帮你解决让msys2支持cygstart所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。