[{"data":1,"prerenderedAt":481},["ShallowReactive",2],{"navigation_docs_en":3,"\u002Fen\u002Fguides\u002Fmulti-source":85,"\u002Fen\u002Fguides\u002Fmulti-source-surround":476},[4,19,41,75],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":18},"Getting started","i-lucide-book-open","\u002Fen\u002Fgetting-started","en\u002F1.getting-started",[10,14],{"title":11,"path":12,"stem":13},"Installation","\u002Fen\u002Fgetting-started\u002Finstallation","en\u002F1.getting-started\u002F1.installation",{"title":15,"path":16,"stem":17},"Your first Pin","\u002Fen\u002Fgetting-started\u002Ffirst-pin","en\u002F1.getting-started\u002F2.first-pin",false,{"title":20,"icon":21,"path":22,"stem":23,"children":24,"page":18},"Guides","i-lucide-route","\u002Fen\u002Fguides","en\u002F2.guides",[25,29,33,37],{"title":26,"path":27,"stem":28},"Updating and selecting Pins","\u002Fen\u002Fguides\u002Fupdating","en\u002F2.guides\u002F1.updating",{"title":30,"path":31,"stem":32},"Combining Checkers and Fetchers","\u002Fen\u002Fguides\u002Fcombinations","en\u002F2.guides\u002F2.combinations",{"title":34,"path":35,"stem":36},"Multiple Sources and patches","\u002Fen\u002Fguides\u002Fmulti-source","en\u002F2.guides\u002F3.multi-source",{"title":38,"path":39,"stem":40},"Packages and dependency hashes","\u002Fen\u002Fguides\u002Fdependencies","en\u002F2.guides\u002F4.dependencies",{"title":42,"icon":43,"path":44,"stem":45,"children":46,"page":18},"Reference","i-lucide-code","\u002Fen\u002Freference","en\u002F3.reference",[47,51,55,59,63,67,71],{"title":48,"path":49,"stem":50},"CLI","\u002Fen\u002Freference\u002Fcli","en\u002F3.reference\u002F1.cli",{"title":52,"path":53,"stem":54},"Runtime configuration","\u002Fen\u002Freference\u002Fconfiguration","en\u002F3.reference\u002F2.configuration",{"title":56,"path":57,"stem":58},"Pin declarations","\u002Fen\u002Freference\u002Fpins","en\u002F3.reference\u002F3.pins",{"title":60,"path":61,"stem":62},"Checkers","\u002Fen\u002Freference\u002Fcheckers","en\u002F3.reference\u002F4.checkers",{"title":64,"path":65,"stem":66},"Fetchers","\u002Fen\u002Freference\u002Ffetchers","en\u002F3.reference\u002F5.fetchers",{"title":68,"path":69,"stem":70},"Package Builders","\u002Fen\u002Freference\u002Fbuilders","en\u002F3.reference\u002F6.builders",{"title":72,"path":73,"stem":74},"Reader and Pins File","\u002Fen\u002Freference\u002Freader","en\u002F3.reference\u002F7.reader",{"title":76,"icon":77,"path":78,"stem":79,"children":80,"page":18},"Troubleshooting","i-lucide-wrench","\u002Fen\u002Ftroubleshooting","en\u002F4.troubleshooting",[81],{"title":82,"path":83,"stem":84},"Common errors","\u002Fen\u002Ftroubleshooting\u002Fcommon-errors","en\u002F4.troubleshooting\u002F1.common-errors",{"id":86,"title":34,"body":87,"description":469,"extension":470,"links":471,"meta":472,"navigation":473,"path":35,"seo":474,"stem":36,"__hash__":475},"docs_en\u002Fen\u002F2.guides\u002F3.multi-source.md",{"type":88,"value":89,"toc":466},"minimark",[90,94,325,336,341,355,429,452,462],[91,92,93],"p",{},"A Pin has one Checker and one Version, but can declare multiple Sources. You choose each Source's name. Each has its own Fetcher, source Hash, and Packages.",[95,96,101],"pre",{"className":97,"code":98,"language":99,"meta":100,"style":100},"language-nix shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{ pin }: {\n  patchelf = pin.mk {\n    checker = pin.checker.github { target = \"NixOS\u002Fpatchelf\"; };\n    sources = {\n      archive = {\n        fetcher = pin.fetcher.github { target = \"NixOS\u002Fpatchelf\"; };\n      };\n      checkout = {\n        fetcher = pin.fetcher.git {\n          target = \"https:\u002F\u002Fgithub.com\u002FNixOS\u002Fpatchelf.git\";\n        };\n      };\n    };\n  };\n}\n","nix","",[102,103,104,123,143,187,197,207,242,248,258,278,296,302,307,313,319],"code",{"__ignoreMap":100},[105,106,109,113,117,120],"span",{"class":107,"line":108},"line",1,[105,110,112],{"class":111},"sMK4o","{",[105,114,116],{"class":115},"sHdIc"," pin",[105,118,119],{"class":111}," }:",[105,121,122],{"class":111}," {\n",[105,124,126,130,133,135,138,141],{"class":107,"line":125},2,[105,127,129],{"class":128},"spNyl","  patchelf",[105,131,132],{"class":111}," =",[105,134,116],{"class":115},[105,136,137],{"class":111},".",[105,139,140],{"class":115},"mk",[105,142,122],{"class":111},[105,144,146,149,151,153,155,158,160,163,166,169,171,174,178,181,184],{"class":107,"line":145},3,[105,147,148],{"class":128},"    checker",[105,150,132],{"class":111},[105,152,116],{"class":115},[105,154,137],{"class":111},[105,156,157],{"class":115},"checker",[105,159,137],{"class":111},[105,161,162],{"class":115},"github",[105,164,165],{"class":111}," {",[105,167,168],{"class":128}," target",[105,170,132],{"class":111},[105,172,173],{"class":111}," \"",[105,175,177],{"class":176},"sfazB","NixOS\u002Fpatchelf",[105,179,180],{"class":111},"\"",[105,182,183],{"class":111},";",[105,185,186],{"class":111}," };\n",[105,188,190,193,195],{"class":107,"line":189},4,[105,191,192],{"class":128},"    sources",[105,194,132],{"class":111},[105,196,122],{"class":111},[105,198,200,203,205],{"class":107,"line":199},5,[105,201,202],{"class":128},"      archive",[105,204,132],{"class":111},[105,206,122],{"class":111},[105,208,210,213,215,217,219,222,224,226,228,230,232,234,236,238,240],{"class":107,"line":209},6,[105,211,212],{"class":128},"        fetcher",[105,214,132],{"class":111},[105,216,116],{"class":115},[105,218,137],{"class":111},[105,220,221],{"class":115},"fetcher",[105,223,137],{"class":111},[105,225,162],{"class":115},[105,227,165],{"class":111},[105,229,168],{"class":128},[105,231,132],{"class":111},[105,233,173],{"class":111},[105,235,177],{"class":176},[105,237,180],{"class":111},[105,239,183],{"class":111},[105,241,186],{"class":111},[105,243,245],{"class":107,"line":244},7,[105,246,247],{"class":111},"      };\n",[105,249,251,254,256],{"class":107,"line":250},8,[105,252,253],{"class":128},"      checkout",[105,255,132],{"class":111},[105,257,122],{"class":111},[105,259,261,263,265,267,269,271,273,276],{"class":107,"line":260},9,[105,262,212],{"class":128},[105,264,132],{"class":111},[105,266,116],{"class":115},[105,268,137],{"class":111},[105,270,221],{"class":115},[105,272,137],{"class":111},[105,274,275],{"class":115},"git",[105,277,122],{"class":111},[105,279,281,284,286,288,291,293],{"class":107,"line":280},10,[105,282,283],{"class":128},"          target",[105,285,132],{"class":111},[105,287,173],{"class":111},[105,289,290],{"class":176},"https:\u002F\u002Fgithub.com\u002FNixOS\u002Fpatchelf.git",[105,292,180],{"class":111},[105,294,295],{"class":111},";\n",[105,297,299],{"class":107,"line":298},11,[105,300,301],{"class":111},"        };\n",[105,303,305],{"class":107,"line":304},12,[105,306,247],{"class":111},[105,308,310],{"class":107,"line":309},13,[105,311,312],{"class":111},"    };\n",[105,314,316],{"class":107,"line":315},14,[105,317,318],{"class":111},"  };\n",[105,320,322],{"class":107,"line":321},15,[105,323,324],{"class":111},"}\n",[91,326,327,328,331,332,335],{},"The Reader paths are ",[102,329,330],{},"pins.patchelf.sources.archive.src"," and ",[102,333,334],{},"pins.patchelf.sources.checkout.src",". Both Sources share the same release Version. If either fails, the entire Pin keeps its previous result.",[337,338,340],"h2",{"id":339},"patch-each-source","Patch each Source",[91,342,343,344,331,347,350,351,354],{},"A Source can configure ",[102,345,346],{},"patches",[102,348,349],{},"postPatch",". With the single-Source shorthand, these fields can also be set directly on ",[102,352,353],{},"pin.mk"," or a convenience constructor:",[95,356,358],{"className":97,"code":357,"language":99,"meta":100,"style":100},"{ pin }: {\n  patchelf = pin.github {\n    target = \"NixOS\u002Fpatchelf\";\n    postPatch = ''\n      test -f README.md\n    '';\n  };\n}\n",[102,359,360,370,384,399,409,414,421,425],{"__ignoreMap":100},[105,361,362,364,366,368],{"class":107,"line":108},[105,363,112],{"class":111},[105,365,116],{"class":115},[105,367,119],{"class":111},[105,369,122],{"class":111},[105,371,372,374,376,378,380,382],{"class":107,"line":125},[105,373,129],{"class":128},[105,375,132],{"class":111},[105,377,116],{"class":115},[105,379,137],{"class":111},[105,381,162],{"class":115},[105,383,122],{"class":111},[105,385,386,389,391,393,395,397],{"class":107,"line":145},[105,387,388],{"class":128},"    target",[105,390,132],{"class":111},[105,392,173],{"class":111},[105,394,177],{"class":176},[105,396,180],{"class":111},[105,398,295],{"class":111},[105,400,401,404,406],{"class":107,"line":189},[105,402,403],{"class":128},"    postPatch",[105,405,132],{"class":111},[105,407,408],{"class":111}," ''\n",[105,410,411],{"class":107,"line":199},[105,412,413],{"class":176},"      test -f README.md\n",[105,415,416,419],{"class":107,"line":209},[105,417,418],{"class":111},"    ''",[105,420,295],{"class":111},[105,422,423],{"class":107,"line":244},[105,424,318],{"class":111},[105,426,427],{"class":107,"line":250},[105,428,324],{"class":111},[91,430,431,432,435,436,439,440,443,444,448,449,451],{},"The source ",[102,433,434],{},"hash"," covers the original Fetcher contents. The patched ",[102,437,438],{},"src"," is used by Packages and by the Reader when a configuration is supplied. To have the Reader apply these patches, pass ",[102,441,442],{},"config"," as well; see ",[445,446,447],"a",{"href":73},"Reader",". Patches and ",[102,450,349],{}," come from trusted Nix configuration.",[91,453,454,455,458,459,461],{},"When using ",[102,456,457],{},"sources",", put the complete declaration in each Source. Do not also rely on the top-level single-Source shorthand: explicit ",[102,460,457],{}," takes precedence.",[463,464,465],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sHdIc, html code.shiki .sHdIc{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#EEFFFF;--shiki-default-font-style:italic;--shiki-dark:#BABED8;--shiki-dark-font-style:italic}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":100,"searchDepth":125,"depth":125,"links":467},[468],{"id":339,"depth":125,"text":340},"Lock several named Sources to one Version, with separate patches and Packages for each Source.","md",null,{},true,{"title":34,"description":469},"iIi0RN7yZCIW4arrraonR9qai9zGSQpy0FBrZ7lax7I",[477,479],{"title":30,"path":31,"stem":32,"description":478,"children":-1},"Select versions from registries, Git, or custom commands and choose how to download them independently.",{"title":38,"path":39,"stem":40,"description":480,"children":-1},"Prepare Go, npm, and pnpm dependency artifacts while leaving application builds to downstream projects.",1791031184174]