git.iko.soy/typeable/cabal2nix
on master help sign in
gstreamer packages: Fix name mappings and simplify overrides

Bjørn Forsman <bjorn.forsman@gmail.com> renamed the libraries in `nixpkgs` in 0591cd607b3bcb2af298d978c1cedf8c5d9a1328, so we first need to reflect the new convention. Then, because we need no longer worry with `gobjectIntrospection`, we can consolidate the expression that correctly maps those libraries to package entries into one parameterized `giGstLibOverrides`.

commit51161dbed997cb180846da9607750ff2a23abe7b authorMichael Alan Dorman <mdorman@ironicdesign.com> dateWed 1 Mar 2017, 07:58 (10 years ago) parent3de0b84
2 files changed+16−20
src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs+7−7 src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs+9−13
src/Distribution/Nixpkgs/Haskell/FromCabal/Name.hs+7−7
@@ -57,15 +57,15 @@ libNixName "gnome-vfs-2.0" = return "gnome_vfs"
5757libNixName "gnome-vfs-module-2.0" = return "gnome_vfs_module"
5858libNixName "gobject-2.0" = return "glib"
5959libNixName "gobject-introspection-1.0" = return "gobjectIntrospection"
60−libNixName "gstreamer-audio-0.10" = return "gst_plugins_base"
61−libNixName "gstreamer-audio-1.0" = return "gst_plugins_base"
62−libNixName "gstreamer-base-0.10" = return "gst_plugins_base"
63−libNixName "gstreamer-base-1.0" = return "gst_plugins_base"
60+libNixName "gstreamer-audio-0.10" = return "gst-plugins-base"
61+libNixName "gstreamer-audio-1.0" = return "gst-plugins-base"
62+libNixName "gstreamer-base-0.10" = return "gst-plugins-base"
63+libNixName "gstreamer-base-1.0" = return "gst-plugins-base"
6464libNixName "gstreamer-controller-0.10" = return "gstreamer"
6565libNixName "gstreamer-dataprotocol-0.10" = return "gstreamer"
66−libNixName "gstreamer-net-0.10" = return "gst_plugins_base"
67−libNixName "gstreamer-plugins-base-0.10" = return "gst_plugins_base"
68−libNixName "gstreamer-video-1.0" = return "gst_plugins_base"
66+libNixName "gstreamer-net-0.10" = return "gst-plugins-base"
67+libNixName "gstreamer-plugins-base-0.10" = return "gst-plugins-base"
68+libNixName "gstreamer-video-1.0" = return "gst-plugins-base"
6969libNixName "gthread-2.0" = return "glib"
7070libNixName "gtk+-2.0" = return "gtk2"
7171libNixName "gtk+-3.0" = return "gtk3"
src/Distribution/Nixpkgs/Haskell/FromCabal/PostProcess.hs+9−13
@@ -56,12 +56,12 @@ hooks =
5656 , ("gi-gio", giPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
5757 , ("gi-glib", giPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
5858 , ("gi-gobject", giPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
59− , ("gi-gst", gstLibOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
60− , ("gi-gstaudio", gstLibAudioOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
61− , ("gi-gstbase", gstLibAudioOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
62− , ("gi-gstvideo", gstLibAudioOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
6359 , ("gi-gtk", giGtkPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
6460 , ("gi-javascriptcore", giJavascriptCorePhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
61+ , ("gi-gst", giGstLibOverrides "gstreamer") -- https://github.com/haskell-gi/haskell-gi/issues/36
62+ , ("gi-gstaudio", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
63+ , ("gi-gstbase", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
64+ , ("gi-gstvideo", giGstLibOverrides "gst-plugins-base") -- https://github.com/haskell-gi/haskell-gi/issues/36
6565 , ("gi-pango", giCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
6666 , ("gi-pangocairo", giPangoCairoPhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
6767 , ("gi-webkit2", giWebkit2PhaseOverrides) -- https://github.com/haskell-gi/haskell-gi/issues/36
@@ -275,15 +275,6 @@ giGdkPhaseOverrides :: Derivation -> Derivation
275275giGdkPhaseOverrides
276276 = set phaseOverrides ("preConfigure = ''" ++ exportGirSearchPath ["gtk3.dev"] ++ "'';")
277277
278−gstLibOverrides :: Derivation -> Derivation
279−gstLibOverrides
280− = over (libraryDepends . pkgconfig) (replace (pkg "gstreamer") "gstreamer = pkgs.gst_all_1.gstreamer")
281−
282−gstLibAudioOverrides :: Derivation -> Derivation
283−gstLibAudioOverrides
284− = over (libraryDepends . pkgconfig) (replace (pkg "gst_plugins_base") "gst_plugins_base = pkgs.gst_all_1.gst-plugins-base")
285− . set (libraryDepends . system . contains (pkg "gobjectIntrospection")) True
286−
287278giGdkPixBufPhaseOverrides :: Derivation -> Derivation
288279giGdkPixBufPhaseOverrides
289280 = set phaseOverrides (unlines
@@ -294,6 +285,11 @@ giGdkPixBufPhaseOverrides
294285 ])
295286 . set (libraryDepends . pkgconfig . contains (pkg "gobjectIntrospection")) True
296287
288+-- Replace a binding for <package> to one to pkgs.gst_all_1.<package>
289+giGstLibOverrides :: String -> Derivation -> Derivation
290+giGstLibOverrides package
291+ = over (libraryDepends . pkgconfig) (replace (pkg (ident # package)) (binding # (ident # package, path # ["pkgs","gst_all_1", ident # package])))
292+
297293giGtkPhaseOverrides :: Derivation -> Derivation
298294giGtkPhaseOverrides
299295 = set phaseOverrides ("preConfigure = ''" ++ exportGirSearchPath ["gtk3.dev"] ++ "'';")