summary refs log tree commit diff
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2019-11-29 02:51:41 +0000
committerGitHub <noreply@github.com>2019-11-29 02:51:41 +0000
commit6687a4a727818aa18a1fee5a50fa3621a332d9a8 (patch)
treea1d5b8f61f9a7475c383eab4a82493ed6f0846e6
parenta79ca1e141d7474db612c1406c2ddb9984ce8ed2 (diff)
parent417d6354c8d6f895a1b39d2eb06d26ba405fdf1c (diff)
downloadnixpkgs-6687a4a727818aa18a1fee5a50fa3621a332d9a8.tar
nixpkgs-6687a4a727818aa18a1fee5a50fa3621a332d9a8.tar.gz
nixpkgs-6687a4a727818aa18a1fee5a50fa3621a332d9a8.tar.bz2
nixpkgs-6687a4a727818aa18a1fee5a50fa3621a332d9a8.tar.lz
nixpkgs-6687a4a727818aa18a1fee5a50fa3621a332d9a8.tar.xz
nixpkgs-6687a4a727818aa18a1fee5a50fa3621a332d9a8.tar.zst
nixpkgs-6687a4a727818aa18a1fee5a50fa3621a332d9a8.zip
Merge pull request #74265 from worldofpeace/next-fix
next: Fix #74258
-rw-r--r--pkgs/applications/networking/browsers/next-gtk-webkit/default.nix25
-rw-r--r--pkgs/applications/networking/browsers/next/default.nix150
-rw-r--r--pkgs/applications/networking/browsers/next/next-gtk-webkit.nix50
-rw-r--r--pkgs/top-level/all-packages.nix2
4 files changed, 127 insertions, 100 deletions
diff --git a/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix b/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix
deleted file mode 100644
index 6ab53376310..00000000000
--- a/pkgs/applications/networking/browsers/next-gtk-webkit/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ stdenv, gcc7, pkg-config
-, next
-, webkitgtk, gsettings-desktop-schemas
-}:
-
-stdenv.mkDerivation rec {
-  pname = "next-gtk-webkit";
-  inherit (next) src version;
-
-  makeFlags = [ "gtk-webkit" "PREFIX=$(out)" ];
-  installTargets = "install-gtk-webkit";
-
-  nativeBuildInputs = [ gcc7 pkg-config ];
-  buildInputs = [
-    webkitgtk
-    gsettings-desktop-schemas
-  ];
-  meta = with stdenv.lib; {
-    description = "Infinitely extensible web-browser (user interface only)";
-    homepage = https://next.atlas.engineer;
-    license = licenses.bsd3;
-    maintainers = [ maintainers.lewo ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/networking/browsers/next/default.nix b/pkgs/applications/networking/browsers/next/default.nix
index 9b537c55337..97c65fc12ef 100644
--- a/pkgs/applications/networking/browsers/next/default.nix
+++ b/pkgs/applications/networking/browsers/next/default.nix
@@ -1,86 +1,90 @@
-{ pkgs, stdenv, fetchFromGitHub
-, gcc7, pkg-config, makeWrapper
-, glib-networking
-, next-gtk-webkit
+{ stdenv
+, fetchFromGitHub
 , lispPackages
 , sbcl
+, callPackage
 }:
 
-stdenv.mkDerivation rec {
-    pname = "next";
-    version = "1.3.4";
+let
+
+  # This is the wrapped webkitgtk platform port that we hardcode into the Lisp Core.
+  # See https://github.com/atlas-engineer/next/tree/master/ports#next-platform-ports
+  next-gtk-webkit = callPackage ./next-gtk-webkit.nix {};
 
-    src = fetchFromGitHub {
-      owner = "atlas-engineer";
-      repo = "next";
-      rev = version;
-      sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
-    };
+in
+
+stdenv.mkDerivation rec {
+  pname = "next";
+  version = "1.3.4";
 
-    # Stripping destroys the generated SBCL image
-    dontStrip = true;
+  src = fetchFromGitHub {
+    owner = "atlas-engineer";
+    repo = "next";
+    rev = version;
+    sha256 = "00iqv4xarabl98gdl1rzqkc5v0vfljx1nawsxqsx9x3a9mnxmgxi";
+  };
 
-    prePatch = ''
-      substituteInPlace source/ports/gtk-webkit.lisp \
-        --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
-    '';
+  nativeBuildInputs = [
+    sbcl
+  ] ++ (with lispPackages; [
+    prove-asdf
+    trivial-features
+  ]);
 
-    nativeBuildInputs =
-      [ sbcl makeWrapper ] ++ (with lispPackages;
-      [ prove-asdf trivial-features ]);
+  buildInputs = with lispPackages; [
+    alexandria
+    bordeaux-threads
+    cl-annot
+    cl-ansi-text
+    cl-css
+    cl-hooks
+    cl-json
+    cl-markup
+    cl-ppcre
+    cl-ppcre-unicode
+    cl-prevalence
+    closer-mop
+    dbus
+    dexador
+    ironclad
+    local-time
+    log4cl
+    lparallel
+    mk-string-metrics
+    parenscript
+    quri
+    sqlite
+    str
+    swank
+    trivia
+    trivial-clipboard
+    unix-opts
+  ];
 
-    buildInputs = with lispPackages; [
-      alexandria
-      bordeaux-threads
-      cl-annot
-      cl-ansi-text
-      cl-css
-      cl-hooks
-      cl-json
-      cl-markup
-      cl-ppcre
-      cl-ppcre-unicode
-      cl-prevalence
-      closer-mop
-      dbus
-      dexador
-      ironclad
-      local-time
-      log4cl
-      lparallel
-      mk-string-metrics
-      parenscript
-      quri
-      sqlite
-      str
-      swank
-      trivia
-      trivial-clipboard
-      unix-opts
-    ];
-    propagatedBuildInputs = [ next-gtk-webkit ];
+  prePatch = ''
+    substituteInPlace source/ports/gtk-webkit.lisp \
+      --replace "next-gtk-webkit" "${next-gtk-webkit}/bin/next-gtk-webkit"
+  '';
 
-    buildPhase = ''
-      common-lisp.sh --eval "(require :asdf)" \
-                     --eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
-                     --eval '(asdf:make :next)' \
-                     --quit
-    '';
+  buildPhase = ''
+    common-lisp.sh --eval "(require :asdf)" \
+                   --eval "(asdf:load-asd (truename \"next.asd\") :name \"next\")" \
+                   --eval '(asdf:make :next)' \
+                   --quit
+  '';
 
-    installPhase = ''
-      install -D -m0755 next $out/bin/next
-    '';
+  installPhase = ''
+    install -D -m0755 next $out/bin/next
+  '';
 
-    preFixup = ''
-      wrapProgram $out/bin/next \
-        --prefix GIO_EXTRA_MODULES : "${glib-networking.out}/lib/gio/modules"
-    '';
+  # Stripping destroys the generated SBCL image
+  dontStrip = true;
 
-    meta = with stdenv.lib; {
-      description = "Infinitely extensible web-browser (with Lisp development files)";
-      homepage = https://next.atlas.engineer;
-      license = licenses.bsd3;
-      maintainers = [ maintainers.lewo ];
-      platforms = [ "x86_64-linux" ];
-    };
-  }
+  meta = with stdenv.lib; {
+    description = "Infinitely extensible web-browser (with Lisp development files using WebKitGTK platform port)";
+    homepage = https://next.atlas.engineer;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.lewo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix b/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
new file mode 100644
index 00000000000..a71583ffbec
--- /dev/null
+++ b/pkgs/applications/networking/browsers/next/next-gtk-webkit.nix
@@ -0,0 +1,50 @@
+# https://github.com/atlas-engineer/next/tree/master/ports/gtk-webkit
+
+{ stdenv
+, pkg-config
+, next
+, webkitgtk
+, gtk3
+, glib
+, gsettings-desktop-schemas
+, glib-networking
+, gst_all_1
+, wrapGAppsHook
+}:
+
+stdenv.mkDerivation rec {
+  pname = "next-gtk-webkit";
+  inherit (next) src version;
+
+  nativeBuildInputs = [
+    pkg-config
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    glib
+    glib-networking
+    gsettings-desktop-schemas
+    gtk3
+    webkitgtk
+    gst_all_1.gst-plugins-base
+    gst_all_1.gstreamer
+  ];
+
+  makeFlags = [
+    "gtk-webkit"
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  installTargets =  [
+    "install-gtk-webkit"
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Infinitely extensible web-browser (user interface only)";
+    homepage = https://next.atlas.engineer;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.lewo ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 85e22c3e6af..ec80061329e 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -4563,8 +4563,6 @@ in
 
   next = callPackage ../applications/networking/browsers/next { };
 
-  next-gtk-webkit = callPackage ../applications/networking/browsers/next-gtk-webkit { };
-
   nfpm = callPackage ../tools/package-management/nfpm { };
 
   nginx-config-formatter = callPackage ../tools/misc/nginx-config-formatter { };