Skip to content

Instantly share code, notes, and snippets.

@LeifW
Created January 26, 2019 22:40
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LeifW/ba67140025984eeb1e6e192440faeaf9 to your computer and use it in GitHub Desktop.
Save LeifW/ba67140025984eeb1e6e192440faeaf9 to your computer and use it in GitHub Desktop.
Patch for gtk3 package .gir file
#!/usr/local/bin/#pxsl
stylesheet -version=1.0 -xmlns:xsl=http://www.w3.org/1999/XSL/Transform
output -indent=yes
template -match=<<*[@name = 'get_row_header_cells' or @name = 'get_column_header_cells']>>
template @*|node()
copy
apply-templates @*|node()
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:template match="*[@name = 'get_row_header_cells' or @name = 'get_column_header_cells']"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
@LeifW
Copy link
Author

LeifW commented Feb 9, 2019

Run:
xsltproc gtk_patch.xslt /usr/share/gir-1.0/Gtk-3.0.gir > out.xml
sudo cp out.xml /usr/share/gir-1.0/Gtk-3.0.gir

@cjordan
Copy link

cjordan commented Feb 11, 2019

Hey, thanks for the instructions, but taffybar still refuses to build:

$ stack build                                      
taffybar-3.1.2: configure (lib + exe)
taffybar-3.1.2: build (lib + exe)
Progress 1/2

--  While building package taffybar-3.1.2 using:
      /home/chj/.stack/setup-exe-cache/x86_64-linux-tinfo6/Cabal-simple_mPHDZzAJ_2.4.0.1_ghc-8.6.3 --builddir=.stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1 build lib:taffybar exe:taffybar --ghc-options " -ddump-hi -ddump-to-file -fdiagnostics-color=always"
    Process exited with code: ExitFailure 1
    Logs have been written to: /home/chj/.config/taffybar/.stack-work/logs/taffybar-3.1.2.log

    Configuring taffybar-3.1.2...
    Preprocessing library for taffybar-3.1.2..
    Building library for taffybar-3.1.2..
    [ 4 of 62] Compiling System.Taffybar.DBus.Client.UPowerDevice ( src/System/Taffybar/DBus/Client/UPowerDevice.hs, .stack-work/dist/x86_64-linux-tinfo6/Cabal-2.4.0.1/build/System/Taffybar/DBus/Client/UPowerDevice.o )
    <command line>: can't load .so/.DLL for: /home/chj/.config/taffybar/.stack-work/install/x86_64-linux-tinfo6/lts-13.2/8.6.3/lib/x86_64-linux-ghc-8.6.3/libHSgi-gtk-3.0.26-LjLVwoI3aQ22AiYqvyX2Za-ghc8.6.3.so (/home/chj/.config/taffybar/.stack-work/install/x86_64-linux-tinfo6/lts-13.2/8.6.3/lib/x86_64-linux-ghc-8.6.3/libHSgi-gtk-3.0.26-LjLVwoI3aQ22AiYqvyX2Za-ghc8.6.3.so: undefined symbol: gtk_cell_accessible_parent_get_row_header_cells)

I followed your instructions exactly. Is the pxsl file actually used? I'm not sure what else to do.

@phuhl
Copy link

phuhl commented Feb 11, 2019

Hey @cjordan, for me it worked nicely... Did you delete .stack-work in your working directory? That helped for me...

@cjordan
Copy link

cjordan commented Feb 11, 2019

That definitely helped! I'm now struggling with some extra-deps, but I think I can work that out on my own -- thanks for the tip!

@LeifW
Copy link
Author

LeifW commented Feb 25, 2019

Sorry, it seems GitHub doesn't notify me for comments on gists. The pxsl file isn't used, it's just the source file for the .xslt file in a more convenient syntax. The pxsl tool converts that into the xslt xml: https://github.com/tmoertel/pxsl-tools

@LeifW
Copy link
Author

LeifW commented Feb 25, 2019

It just says to delete every element with a name="get_row_header_cells" or aname="get_column_header_cells" attribute - you could do that with a text editor instead if you like.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment