#!/bin/sh
cat > /tmp/noop.c << EOF
void cupsGetOption(void){return;}
void cupsLastError(void){return;}
void cupsFreeDests(void){return;}
void cupsGetDests2(void){return;}
void cupsGetDests(void){return;}
void cupsGetDest(void){return;}
void cupsGetNamedDest(void){return;}
void cupsGetPPD2(void){return;}
void httpError(void){return;}
void cupsGetPPD(void){return;}
void httpConnectEncrypt(void){return;}
void httpClose(void){return;}
void httpBlocking(void){return;}
void ppdOpenFile(void){return;}
void ppdMarkDefaults(void){return;}
void ppdLastError(void){return;}
void ppdErrorString(void){return;}
void cupsParseOptions(void){return;}
void cupsMarkOptions(void){return;}
void cupsFreeOptions(void){return;}
void ppdFindMarkedChoice(void){return;}
void ppdFindOption(void){return;}
void ppdFindChoice(void){return;}
void ppdFindAttr(void){return;}
void ppdClose(void){return;}
//
void ppdOpen(void){return;}
//
void ppdOpenFd(void){return;}
//nwjs
void cupsFreeJobs(void){return;}
void cupsGetJobs2(void){return;}
void cupsGetJobs(void){return;}
void cupsPrintFile2(void){return;}
void cupsPrintFile(void){return;}
//nwjs 055
void cupsLastErrorString(void){return;}
//electron-9b6
void httpConnect2(void){return;}
//electron-14 (no idea)
void cupsEnumDests(void){return;}
void cupsCopyDest(void){return;}
void cupsRemoveDest(void){return;}
EOFgcc -s -shared -fpic -march=native -O2 -pipe -Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,relro -Wl,-z,now -Wl,--hash-style=gnu -Wl,--no-copy-dt-needed-entries -Wall -Wextra /tmp/noop.c -olibcups.so.2
mv -v libcups.so.2 /lib64/libcups.so.2
chmod a+rX /lib64/libcups.so.2
rm -v /tmp/noop.c