mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-21 04:49:01 +02:00
Adding Pipelight via patch from Sven Keidel and some cleanup
This commit is contained in:
parent
9424ab11c6
commit
eee6f5a004
98
pkgs/tools/misc/pipelight/default.nix
Normal file
98
pkgs/tools/misc/pipelight/default.nix
Normal file
|
@ -0,0 +1,98 @@
|
|||
{ stdenv, fetchurl, fetchgit, autoconf, automake, wineUnstable, perl, xlibs
|
||||
, gnupg, gcc48_multi, mesa, curl, bash, cacert, cabextract, utillinux, attr
|
||||
}:
|
||||
|
||||
let
|
||||
wine_patches_version = "1.7.28";
|
||||
wine_hash = "04r3zk3dz2vzly2a4nqbcvppjs5iy3lq5ibx3wfrf877p5bz3hv7";
|
||||
|
||||
wine_patches = fetchgit {
|
||||
url = "git://github.com/compholio/wine-compholio.git";
|
||||
rev = "refs/tags/v${wine_patches_version}";
|
||||
sha256 = "17f1wmxbx6ly1ws4p528ijf9b4yvmnmap5k7npw9icvkyaky5xi9";
|
||||
};
|
||||
|
||||
wine_custom =
|
||||
stdenv.lib.overrideDerivation wineUnstable (args: rec {
|
||||
name = "wine-${wine_patches_version}";
|
||||
src = null;
|
||||
srcs = [
|
||||
(fetchurl {
|
||||
url = "mirror://sourceforge/wine/${name}.tar.bz2";
|
||||
sha256 = wine_hash;
|
||||
})
|
||||
wine_patches ];
|
||||
sourceRoot = "./${name}";
|
||||
buildInputs = args.buildInputs ++ [
|
||||
autoconf perl utillinux automake attr
|
||||
];
|
||||
nativeBuildInputs = args.nativeBuildInputs ++ [
|
||||
autoconf perl utillinux automake attr
|
||||
];
|
||||
postPatch = ''
|
||||
export wineDir=$(pwd)
|
||||
patchShebangs $wineDir/tools/
|
||||
chmod u+w $wineDir/../git-export/debian/tools/
|
||||
patchShebangs $wineDir/../git-export/debian/tools/
|
||||
chmod -R +rwx ../git-export/
|
||||
make -C ../git-export/patches DESTDIR=$wineDir install
|
||||
'';
|
||||
});
|
||||
|
||||
mozillaPluginPath = "/lib/mozilla/plugins";
|
||||
|
||||
fixupPatch = ./pipelight-fixup.patch;
|
||||
|
||||
in stdenv.mkDerivation rec {
|
||||
|
||||
version = "0.2.7.2";
|
||||
|
||||
name = "pipelight-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://bitbucket.org/mmueller2012/pipelight/get/v${version}.tar.gz";
|
||||
sha256 = "02132151091f1f62d7409a537649efc86deb0eb4a323fd66907fc22947e2cfbd";
|
||||
};
|
||||
|
||||
buildInputs = [ wine_custom xlibs.libX11 gcc48_multi mesa curl ];
|
||||
propagatedbuildInputs = [ curl cabextract ];
|
||||
|
||||
patches = [ ./pipelight.patch ];
|
||||
|
||||
configurePhase = ''
|
||||
./configure \
|
||||
--prefix=$out \
|
||||
--moz-plugin-path=$out/${mozillaPluginPath} \
|
||||
--wine-path=${wine_custom} \
|
||||
--gpg-exec=${gnupg}/bin/gpg2 \
|
||||
--bash-interp=${bash}/bin/bash \
|
||||
--downloader=${curl}/bin/curl
|
||||
$configureFlags
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
mozillaPlugin = mozillaPluginPath;
|
||||
wine = wine_custom;
|
||||
};
|
||||
|
||||
postInstall = ''
|
||||
$out/bin/pipelight-plugin --update
|
||||
$out/bin/pipelight-plugin --create-mozilla-plugins
|
||||
'';
|
||||
|
||||
preFixup = ''
|
||||
patch -d $out -p1 <${fixupPatch}
|
||||
substituteInPlace $out/share/pipelight/install-dependency \
|
||||
--replace cabextract ${cabextract}/bin/cabextract
|
||||
'';
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
homepage = "http://pipelight.net/";
|
||||
licenses = with stdenv.lib.licenses; [ mpl11 gpl2 lgpl21 ];
|
||||
description = "A wrapper for using Windows plugins in Linux browsers";
|
||||
maintainers = with stdenv.lib.maintainers; [skeidel];
|
||||
platforms = with stdenv.lib.platforms; linux;
|
||||
};
|
||||
}
|
54
pkgs/tools/misc/pipelight/pipelight-fixup.patch
Normal file
54
pkgs/tools/misc/pipelight/pipelight-fixup.patch
Normal file
|
@ -0,0 +1,54 @@
|
|||
diff -urN pipelight2.old/share/pipelight/install-dependency pipelight2.new/share/pipelight/install-dependency
|
||||
--- pipelight2.old/share/pipelight/install-dependency 2014-07-27 01:38:39.806379602 +0200
|
||||
+++ pipelight2.new/share/pipelight/install-dependency 2014-07-27 01:40:08.689861556 +0200
|
||||
@@ -734,42 +734,14 @@
|
||||
return 0
|
||||
}
|
||||
|
||||
-# Use fetch on FreeBSD if wget is not available
|
||||
-if command -v wget >/dev/null 2>&1; then
|
||||
- download_file()
|
||||
- {
|
||||
- wget -O "$1" "$2"
|
||||
- }
|
||||
- get_download_size()
|
||||
- {
|
||||
- local filesize="$(wget -O- "$1" --spider --server-response 2>&1 | sed -ne '/Content-Length/{s/.*: //;p}')"
|
||||
- local re='^[0-9]+$'
|
||||
- if [[ "$filesize" -ne "0" ]] && [[ "$filesize" =~ $re ]]; then
|
||||
- echo "$(($filesize/(1024*1024)))"
|
||||
- else
|
||||
- echo "N/A"
|
||||
- fi
|
||||
- }
|
||||
-elif command -v fetch >/dev/null 2>&1; then
|
||||
- download_file()
|
||||
- {
|
||||
- fetch -o "$1" "$2"
|
||||
- }
|
||||
- get_download_size()
|
||||
- {
|
||||
- echo "N/A"
|
||||
- }
|
||||
-else
|
||||
- download_file()
|
||||
- {
|
||||
- echo "ERROR: Could neither find wget nor fetch. Unable to download file!" >&2
|
||||
- return 1
|
||||
- }
|
||||
- get_download_size()
|
||||
- {
|
||||
- echo "N/A"
|
||||
- }
|
||||
-fi
|
||||
+download_file()
|
||||
+{
|
||||
+ curl --cacert /etc/ssl/certs/ca-bundle.crt -o "$1" "$2"
|
||||
+}
|
||||
+get_download_size()
|
||||
+{
|
||||
+ echo "N/A"
|
||||
+}
|
||||
|
||||
# Use shasum instead of sha256sum on MacOS / *BSD
|
||||
if ! command -v sha256sum >/dev/null 2>&1 && command -v shasum >/dev/null 2>&1; then
|
149
pkgs/tools/misc/pipelight/pipelight.patch
Normal file
149
pkgs/tools/misc/pipelight/pipelight.patch
Normal file
|
@ -0,0 +1,149 @@
|
|||
diff -urN pipelight.old/bin/pipelight-plugin.in pipelight.new/bin/pipelight-plugin.in
|
||||
--- pipelight.old/bin/pipelight-plugin.in 2014-07-19 22:53:02.000000000 +0200
|
||||
+++ pipelight.new/bin/pipelight-plugin.in 2014-07-27 00:02:39.275834030 +0200
|
||||
@@ -92,7 +92,7 @@
|
||||
PLUGIN_PATH=$(realpath "$PLUGIN_PATH")
|
||||
|
||||
# Global installation
|
||||
- if [ $(/usr/bin/id -u) -eq 0 ]; then
|
||||
+ if [ $(id -u) -eq 0 ]; then
|
||||
INSTALLDIR="$PLUGIN_PATH"
|
||||
|
||||
# Use environment variable (only if it doesn't point to the global directory)
|
||||
@@ -594,7 +594,7 @@
|
||||
fi
|
||||
|
||||
# Ensure the signature is valid, extract the content
|
||||
- if ! @@GPG@@ --batch --no-default-keyring --keyring "$PIPELIGHT_SHARE_PATH/sig-install-dependency.gpg" --decrypt "$tmpfile" > "$decfile"; then
|
||||
+ if ! @@GPG@@ --homedir /tmp --batch --no-default-keyring --keyring "$PIPELIGHT_SHARE_PATH/sig-install-dependency.gpg" --decrypt "$tmpfile" > "$decfile"; then
|
||||
rm "$tmpfile"
|
||||
rm "$decfile"
|
||||
echo ""
|
||||
@@ -630,24 +630,10 @@
|
||||
return 0
|
||||
}
|
||||
|
||||
-# Use fetch on FreeBSD if wget is not available
|
||||
-if command -v wget >/dev/null 2>&1; then
|
||||
- download_file()
|
||||
- {
|
||||
- wget -O "$1" "$2"
|
||||
- }
|
||||
-elif command -v fetch >/dev/null 2>&1; then
|
||||
- download_file()
|
||||
- {
|
||||
- fetch -o "$1" "$2"
|
||||
- }
|
||||
-else
|
||||
- download_file()
|
||||
- {
|
||||
- echo "ERROR: Could neither find wget nor fetch. Unable to download file!" >&2
|
||||
- return 1
|
||||
- }
|
||||
-fi
|
||||
+download_file()
|
||||
+{
|
||||
+ curl --cacert /etc/ssl/certs/ca-bundle.crt -o "$1" "$2"
|
||||
+}
|
||||
|
||||
# Use shasum instead of sha256sum on MacOS / *BSD
|
||||
if ! command -v sha256sum >/dev/null 2>&1 && command -v shasum >/dev/null 2>&1; then
|
||||
diff -urN pipelight.old/configure pipelight.new/configure
|
||||
--- pipelight.old/configure 2014-07-19 22:53:02.000000000 +0200
|
||||
+++ pipelight.new/configure 2014-07-26 23:52:13.690881447 +0200
|
||||
@@ -66,12 +66,8 @@
|
||||
datadir=""
|
||||
libdir=""
|
||||
mandir=""
|
||||
-bash_interp="$(which bash)"
|
||||
-if which gpg &> /dev/null; then
|
||||
- gpg_exec="$(which gpg)"
|
||||
-else
|
||||
- gpg_exec="/usr/bin/gpg"
|
||||
-fi
|
||||
+bash_interp=bash
|
||||
+gpg_exec=gpg2
|
||||
moz_plugin_path=""
|
||||
gcc_runtime_dlls=""
|
||||
so_mode="0644"
|
||||
diff -urN pipelight.old/Makefile pipelight.new/Makefile
|
||||
--- pipelight.old/Makefile 2014-07-19 22:53:02.000000000 +0200
|
||||
+++ pipelight.new/Makefile 2014-07-26 23:25:22.020707765 +0200
|
||||
@@ -29,7 +29,7 @@
|
||||
-e 's|@@BINDIR@@|$(bindir)|g' \
|
||||
-e 's|@@DATADIR@@|$(datadir)|g' \
|
||||
-e 's|@@GCC_RUNTIME_DLLS@@|$(gcc_runtime_dlls)|g' \
|
||||
- -e 's|@@GPG@@|$(gpgexec)|g' \
|
||||
+ -e 's|@@GPG@@|$(gpg_exec)|g' \
|
||||
-e 's|@@LIBDIR@@|$(libdir)|g' \
|
||||
-e 's|@@MANDIR@@|$(mandir)|g' \
|
||||
-e 's|@@MOZ_PLUGIN_PATH@@|$(moz_plugin_path)|g' \
|
||||
@@ -69,12 +69,12 @@
|
||||
|
||||
.PHONY: prebuilt32
|
||||
prebuilt32: config.make pluginloader-$(git_commit).tar.gz pluginloader-$(git_commit).tar.gz.sig
|
||||
- $(gpgexec) --batch --no-default-keyring --keyring "share/sig-pluginloader.gpg" --verify "pluginloader-$(git_commit).tar.gz.sig"
|
||||
+ $(gpg_exec) --batch --no-default-keyring --keyring "share/sig-pluginloader.gpg" --verify "pluginloader-$(git_commit).tar.gz.sig"
|
||||
tar -xvf "pluginloader-$(git_commit).tar.gz" src/windows/pluginloader.exe src/winecheck/winecheck.exe
|
||||
|
||||
.PHONY: prebuilt64
|
||||
prebuilt64: config.make pluginloader-$(git_commit).tar.gz pluginloader-$(git_commit).tar.gz.sig
|
||||
- $(gpgexec) --batch --no-default-keyring --keyring "share/sig-pluginloader.gpg" --verify "pluginloader-$(git_commit).tar.gz.sig"
|
||||
+ $(gpg_exec) --batch --no-default-keyring --keyring "share/sig-pluginloader.gpg" --verify "pluginloader-$(git_commit).tar.gz.sig"
|
||||
tar -xvf "pluginloader-$(git_commit).tar.gz" src/windows/pluginloader64.exe src/winecheck/winecheck64.exe
|
||||
|
||||
.PHONY: pluginloader32
|
||||
diff -urN pipelight.old/share/install-dependency pipelight.new/share/install-dependency
|
||||
--- pipelight.old/share/install-dependency 2014-07-19 22:53:02.000000000 +0200
|
||||
+++ pipelight.new/share/install-dependency 2014-07-26 23:26:18.431938546 +0200
|
||||
@@ -734,42 +734,14 @@
|
||||
return 0
|
||||
}
|
||||
|
||||
-# Use fetch on FreeBSD if wget is not available
|
||||
-if command -v wget >/dev/null 2>&1; then
|
||||
- download_file()
|
||||
- {
|
||||
- wget -O "$1" "$2"
|
||||
- }
|
||||
- get_download_size()
|
||||
- {
|
||||
- local filesize="$(wget -O- "$1" --spider --server-response 2>&1 | sed -ne '/Content-Length/{s/.*: //;p}')"
|
||||
- local re='^[0-9]+$'
|
||||
- if [[ "$filesize" -ne "0" ]] && [[ "$filesize" =~ $re ]]; then
|
||||
- echo "$(($filesize/(1024*1024)))"
|
||||
- else
|
||||
- echo "N/A"
|
||||
- fi
|
||||
- }
|
||||
-elif command -v fetch >/dev/null 2>&1; then
|
||||
- download_file()
|
||||
- {
|
||||
- fetch -o "$1" "$2"
|
||||
- }
|
||||
- get_download_size()
|
||||
- {
|
||||
- echo "N/A"
|
||||
- }
|
||||
-else
|
||||
- download_file()
|
||||
- {
|
||||
- echo "ERROR: Could neither find wget nor fetch. Unable to download file!" >&2
|
||||
- return 1
|
||||
- }
|
||||
- get_download_size()
|
||||
- {
|
||||
- echo "N/A"
|
||||
- }
|
||||
-fi
|
||||
+download_file()
|
||||
+{
|
||||
+ curl --cacert /etc/ssl/certs/ca-bundle.crt -o "$1" "$2"
|
||||
+}
|
||||
+get_download_size()
|
||||
+{
|
||||
+ echo "N/A"
|
||||
+}
|
||||
|
||||
# Use shasum instead of sha256sum on MacOS / *BSD
|
||||
if ! command -v sha256sum >/dev/null 2>&1 && command -v shasum >/dev/null 2>&1; then
|
|
@ -6328,6 +6328,8 @@ let
|
|||
|
||||
physfs = callPackage ../development/libraries/physfs { };
|
||||
|
||||
pipelight = callPackage ../tools/misc/pipelight { };
|
||||
|
||||
pkcs11helper = callPackage ../development/libraries/pkcs11helper { };
|
||||
|
||||
plib = callPackage ../development/libraries/plib { };
|
||||
|
|
12309
pkgs/top-level/all-packages.nix.orig
Normal file
12309
pkgs/top-level/all-packages.nix.orig
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue